家用路由器渗透过程总结

静态分析

  1. 拿到固件
  2. binwalk 解包(解密)
  3. firmwalker 查找关键信息(信息泄露)
  4. web 目录下确定开发语言和特征
  5. etc、etc_ro 目录下查找 sdk 的特征(ralink)

动态仿真/模拟

  1. 单个程序尝试模拟(httpd、goahead),打 patch
  2. 若模拟失败,进行 firmadyne 的模拟,尝试访问路由器的 ip(用 fat.py 改过的脚本)
  3. 进入 qemu-system 模式,进行单个程序的模拟(可以一开始就做这步)

漏洞挖掘

  1. 访问路由器界面,查找可控点,挂着 burp 让他抓链接,所以接口都访问一遍
  2. burp active 扫描
  3. 收集url,对参数进行 fuzz(命令执行、栈溢出,准备自己实现一个根据接口自动对 get、post 参数进行自动 fuzz 的脚本),可以 gdbserver 挂着,定位、收集报错信息
    在 target 处批量选择 url,右键导入...
  4. 目录扫描(cgi-bin、和未授权),用fuzzlists/vuln..discover字典扫描
  5. 使用插件测试未授权(待优化)
  6. 单个接口测试
  7. 端口渗透

fuzzing

  1. unifuzzer 单个文件fuzz?
  2. afl-unicorn?跑不起来?
  3. radamsa 生成样例,自己写 payload 脚本,将生成的 payload 喂给程序

fuzz 类型

  1. 长度 fuzz
  2. 类型fuzz(int <--> str)

https://www.ics-cert.org.cn/portal/page/133/cf6ae40284a9445098bc4876eaa701b1.html

TODO

  1. 理解fuzz原理,看源码
  2. afl-unicorn
  3. youtube视频
  4. 插件开发
  5. 寻找针对于 IOT 更好的漏洞挖掘方法

posted @ 2019-10-23 01:42  H4lo  阅读(...)  评论(... 编辑 收藏