hacktricks/physical-attacks/firmware-analysis/bootloader-testing.md

3.1 KiB
Raw Blame History

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式

推荐以下步骤来修改设备启动配置和引导加载程序如U-boot

  1. 访问引导加载程序的解释器Shell
  • 在启动过程中,按下"0"、空格或其他已识别的"魔术代码"以访问引导加载程序的解释器Shell。
  1. 修改引导参数
  • 执行以下命令将 'init=/bin/sh' 追加到引导参数中允许执行shell命令 %%% #printenv #setenv bootargs=console=ttyS0,115200 mem=63M root=/dev/mtdblock3 mtdparts=sflash: rootfstype= hasEeprom=0 5srst=0 init=/bin/sh #saveenv #boot %%%
  1. 设置TFTP服务器
  • 配置TFTP服务器以通过本地网络加载镜像 %%% #setenv ipaddr 192.168.2.2 #设备的本地IP #setenv serverip 192.168.2.1 #TFTP服务器IP #saveenv #reset #ping 192.168.2.1 #检查网络访问 #tftp ${loadaddr} uImage-3.6.35 #loadaddr接受要加载文件的地址和TFTP服务器上镜像的文件名 %%%
  1. 使用 ubootwrite.py
  • 使用 ubootwrite.py 写入U-boot镜像并推送修改后的固件以获取root访问权限。
  1. 检查调试功能
  • 验证是否启用了调试功能,如详细日志记录、加载任意内核或从不受信任的来源引导。
  1. 谨慎的硬件干扰
  • 在设备启动过程中连接一个引脚到地线并与SPI或NAND闪存芯片交互时要小心特别是在内核解压缩之前。在短接引脚之前请参考NAND闪存芯片的数据表。
  1. 配置恶意DHCP服务器
  • 设置一个带有恶意参数的恶意DHCP服务器供设备在PXE引导期间摄取。利用诸如Metasploit的MSFDHCP辅助服务器之类的工具。修改'FILENAME'参数,使用命令注入命令,例如 'a";/bin/sh;#',以测试设备启动过程的输入验证。

注意:涉及与设备引脚进行物理交互的步骤(*用星号标记)应谨慎对待,以避免损坏设备。

参考资料