IOT渗透测试:从信息收集到msf,ExploitDB攻击渗透思路实录分享
字数 3016 2025-08-29 22:41:01

IoT渗透测试实战指南:从信息收集到漏洞利用

一、信息收集与目标发现

1. 内网存活主机探测

arp-scan扫描

sudo arp-scan -l
  • 扫描本地网络接口的所有主机,返回IP和MAC地址
  • 仅适用于同一局域网(同一网段)
  • 示例输出显示3台活跃主机

arping探测

for i in {1..254}; do arping -c 2 192.168.52.$i; done
  • 发送ARP请求探测主机
  • 适用于局域网,跨网段无效

netdiscover工具

sudo netdiscover -r 192.168.52.0/24
  • 扫描指定网段内所有主机
  • 适用于有线和无线局域网

nmap主机发现

nmap -sn 192.168.52.0/24
  • -sn参数仅进行Ping扫描(主机发现)
  • -Pn关闭Ping检测,直接尝试端口扫描

fping批量探测

fping -g 192.168.52.0/24 -a -q
  • -g指定IP范围或网段
  • -a仅显示存活主机
  • -q静默模式(仅显示结果)

2. 基础服务探测

masscan快速扫描

masscan -p1-65535 192.168.52.2 --rate=1000
  • 比nmap更快的大范围端口扫描工具
  • -p1-65535扫描所有端口
  • --rate=1000设定扫描速率(可调整)
  • 默认使用SYN扫描,需要root权限

nmap详细扫描

全端口扫描

nmap -p- 192.168.52.2
  • -p-表示扫描全部端口(1-65535)
  • 初步发现目标开放端口

详细扫描已知端口

nmap -p22,53,80,548 -A 192.168.52.2
  • -A启用OS检测、版本检测、脚本扫描和traceroute
  • -sV进行服务版本探测

扫描方式比较

  • -sS(SYN扫描): 半开放扫描,隐蔽性好
  • -sT(TCP连接扫描): 建立完整TCP连接,无root权限时使用

防火墙绕过

nmap --script=firewalk --traceroute 192.168.52.2
  • firewalk脚本识别防火墙规则
  • traceroute追踪网络路径

二、Web服务安全评估

1. 指纹识别

whatweb工具

whatweb http://192.168.52.2
  • 识别Web服务技术栈
  • 示例输出显示目标运行OpenWrt的LuCI管理界面
  • 关键信息包括"PoweredBy[LuCI]"、"PasswordField[luci_password]"

2. 字典生成

cewl爬取关键词

cewl -d 2 -m 5 -w openwrt_dict.txt http://192.168.52.2
  • -d设置爬取深度
  • -m设置最小单词长度
  • 生成针对目标的专用字典

3. 路径枚举

gobuster扫描

gobuster dir -u http://192.168.52.2 -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x txt,php,html,jsp
  • -w指定字典文件
  • -x指定文件扩展名
  • -r启用递归扫描

dirsearch扫描

dirsearch -u http://192.168.52.2 -e php,html,js
  • 快速识别常见目录与文件路径

feroxbuster扫描

feroxbuster -u http://192.168.52.2 -w /usr/share/seclists/Discovery/Web-Content/common.txt
  • 速度快,并发性强

dirb扫描

dirb http://192.168.52.2 /usr/share/seclists/Discovery/Web-Content/common.txt
  • 使用常用字典探测隐藏路径

三、非Web服务安全评估

1. SSH服务(Dropbear sshd)

版本识别

nmap -p22 -sV 192.168.52.2
  • 识别SSH服务版本(Dropbear sshd protocol 2.0)
  • 分析加密算法和MAC算法安全性

ExploitDB漏洞检索

searchsploit dropbear

发现漏洞:

  1. Dropbear SSH 0.34 - Remote Code Execution (RCE)

    • 文件路径: exploits/linux/remote/387.c
    • 影响版本: 0.34
    • 漏洞编号: OSVDB-2429
  2. DropBearSSHD 2015.71 - Command Injection

    • 文件路径: exploits/linux/remote/40119.md
    • 影响版本: 2015.71
    • CVE: CVE-2016-3116
  3. Dropbear/OpenSSH - 'MAX_UNAUTH_CLIENTS' DoS

    • 文件路径: exploits/multiple/dos/1572.pl
    • CVE: CVE-2006-1206

Metasploit模块

msfconsole
use auxiliary/scanner/ssh/ssh_version
set RHOSTS 192.168.52.2
run

暴力破解

使用Hydra

hydra -l root -P passwd.txt ssh://192.168.52.2
  • 遇到算法不兼容时,修改SSH配置:
echo "HostkeyAlgorithms ssh-rsa" >> /etc/ssh/ssh_config

成功结果

  • 用户名: root
  • 密码: 1234
  • 耗时: 约3分钟

2. DNS服务(dnsmasq)

ExploitDB漏洞检索

searchsploit dnsmasq

发现漏洞:

  1. CVE-2017-14491: 堆溢出漏洞(RCE)
  2. CVE-2017-14492: 堆溢出漏洞
  3. CVE-2017-14493: 堆溢出漏洞
  4. CVE-2017-14494: 信息泄露漏洞
  5. CVE-2017-14495: 拒绝服务漏洞
  6. CVE-2017-14496: 整数下溢漏洞
  7. CVE-2020-25681至CVE-2020-25687(DNSpooq): 缓冲区溢出和DNS缓存投毒

Metasploit模块

use auxiliary/gather/enum_dns
set RHOSTS 192.168.52.2
run
  • 执行DNS查询(区域传输、反向查找、SRV记录爆破等)

3. AFP服务(Netatalk 3.1.11)

ExploitDB漏洞检索

searchsploit netatalk

发现漏洞:

  1. Netatalk 3.1.12 - 认证绕过(PoC)

    • Exploit ID: 46048
    • CVE: CVE-2018-1160
  2. Netatalk 3.1.12 - 认证绕过

    • Exploit ID: 46034
    • CVE: CVE-2018-1160
  3. QNAP Netatalk < 3.1.12 - 认证绕过

    • Exploit ID: 46675
    • CVE: CVE-2018-1160

漏洞利用尝试

python 46034.py -lv 192.168.52.2
  • -lv: 列出所有AFP共享卷
  • -lvc: 列出指定卷内容
  • -c: 读取文件
  • -w: 写入文件(限制144字节)
  • -df: 删除文件

四、渗透测试流程总结

  1. 信息收集阶段

    • 内网扫描: arp-scan, arping, netdiscover, nmap, fping
    • 服务探测: masscan(快速), nmap(详细)
    • Web评估: whatweb, cewl, gobuster, dirsearch, feroxbuster, dirb
  2. 漏洞分析阶段

    • 检索ExploitDB和Metasploit模块
    • 验证漏洞适用性(版本匹配、架构兼容)
    • 尝试多种攻击路径(认证绕过、命令注入、RCE等)
  3. 攻击实施阶段

    • 选择最有效的攻击方式(如暴力破解弱密码)
    • 绕过防御机制(修改加密算法、使用特定协议)
    • 获取系统权限(root:1234)
  4. 防御建议

    • 及时更新服务版本
    • 禁用不安全的加密算法
    • 设置强密码策略
    • 限制服务访问权限

五、关键工具清单

工具类别 工具名称 主要用途
主机发现 arp-scan, arping, netdiscover, nmap, fping 识别内网存活主机
端口扫描 masscan, nmap 探测开放端口和服务
Web评估 whatweb, cewl, gobuster, dirsearch, feroxbuster, dirb Web指纹识别和路径枚举
漏洞利用 ExploitDB, Metasploit 检索和利用已知漏洞
暴力破解 Hydra 尝试弱密码攻击

六、常见漏洞速查表

服务 漏洞类型 CVE编号 影响版本 利用难度
Dropbear sshd RCE OSVDB-2429 0.34
Dropbear sshd 命令注入 CVE-2016-3116 2015.71
dnsmasq 堆溢出 CVE-2017-14491 多版本
Netatalk 认证绕过 CVE-2018-1160 <3.1.12

通过本指南,您将掌握从信息收集到漏洞利用的完整IoT渗透测试流程,具备对OpenWrt等嵌入式系统的安全评估能力。

IoT渗透测试实战指南:从信息收集到漏洞利用 一、信息收集与目标发现 1. 内网存活主机探测 arp-scan扫描 扫描本地网络接口的所有主机,返回IP和MAC地址 仅适用于同一局域网(同一网段) 示例输出显示3台活跃主机 arping探测 发送ARP请求探测主机 适用于局域网,跨网段无效 netdiscover工具 扫描指定网段内所有主机 适用于有线和无线局域网 nmap主机发现 -sn 参数仅进行Ping扫描(主机发现) -Pn 关闭Ping检测,直接尝试端口扫描 fping批量探测 -g 指定IP范围或网段 -a 仅显示存活主机 -q 静默模式(仅显示结果) 2. 基础服务探测 masscan快速扫描 比nmap更快的大范围端口扫描工具 -p1-65535 扫描所有端口 --rate=1000 设定扫描速率(可调整) 默认使用SYN扫描,需要root权限 nmap详细扫描 全端口扫描 -p- 表示扫描全部端口(1-65535) 初步发现目标开放端口 详细扫描已知端口 -A 启用OS检测、版本检测、脚本扫描和traceroute -sV 进行服务版本探测 扫描方式比较 -sS (SYN扫描): 半开放扫描,隐蔽性好 -sT (TCP连接扫描): 建立完整TCP连接,无root权限时使用 防火墙绕过 firewalk 脚本识别防火墙规则 traceroute 追踪网络路径 二、Web服务安全评估 1. 指纹识别 whatweb工具 识别Web服务技术栈 示例输出显示目标运行OpenWrt的LuCI管理界面 关键信息包括"PoweredBy[ LuCI]"、"PasswordField[ luci_ password ]" 2. 字典生成 cewl爬取关键词 -d 设置爬取深度 -m 设置最小单词长度 生成针对目标的专用字典 3. 路径枚举 gobuster扫描 -w 指定字典文件 -x 指定文件扩展名 -r 启用递归扫描 dirsearch扫描 快速识别常见目录与文件路径 feroxbuster扫描 速度快,并发性强 dirb扫描 使用常用字典探测隐藏路径 三、非Web服务安全评估 1. SSH服务(Dropbear sshd) 版本识别 识别SSH服务版本(Dropbear sshd protocol 2.0) 分析加密算法和MAC算法安全性 ExploitDB漏洞检索 发现漏洞: Dropbear SSH 0.34 - Remote Code Execution (RCE) 文件路径: exploits/linux/remote/387.c 影响版本: 0.34 漏洞编号: OSVDB-2429 DropBearSSHD 2015.71 - Command Injection 文件路径: exploits/linux/remote/40119.md 影响版本: 2015.71 CVE: CVE-2016-3116 Dropbear/OpenSSH - 'MAX_ UNAUTH_ CLIENTS' DoS 文件路径: exploits/multiple/dos/1572.pl CVE: CVE-2006-1206 Metasploit模块 暴力破解 使用Hydra 遇到算法不兼容时,修改SSH配置: 成功结果 用户名: root 密码: 1234 耗时: 约3分钟 2. DNS服务(dnsmasq) ExploitDB漏洞检索 发现漏洞: CVE-2017-14491: 堆溢出漏洞(RCE) CVE-2017-14492: 堆溢出漏洞 CVE-2017-14493: 堆溢出漏洞 CVE-2017-14494: 信息泄露漏洞 CVE-2017-14495: 拒绝服务漏洞 CVE-2017-14496: 整数下溢漏洞 CVE-2020-25681至CVE-2020-25687(DNSpooq): 缓冲区溢出和DNS缓存投毒 Metasploit模块 执行DNS查询(区域传输、反向查找、SRV记录爆破等) 3. AFP服务(Netatalk 3.1.11) ExploitDB漏洞检索 发现漏洞: Netatalk 3.1.12 - 认证绕过(PoC) Exploit ID: 46048 CVE: CVE-2018-1160 Netatalk 3.1.12 - 认证绕过 Exploit ID: 46034 CVE: CVE-2018-1160 QNAP Netatalk < 3.1.12 - 认证绕过 Exploit ID: 46675 CVE: CVE-2018-1160 漏洞利用尝试 -lv : 列出所有AFP共享卷 -lvc : 列出指定卷内容 -c : 读取文件 -w : 写入文件(限制144字节) -df : 删除文件 四、渗透测试流程总结 信息收集阶段 内网扫描: arp-scan, arping, netdiscover, nmap, fping 服务探测: masscan(快速), nmap(详细) Web评估: whatweb, cewl, gobuster, dirsearch, feroxbuster, dirb 漏洞分析阶段 检索ExploitDB和Metasploit模块 验证漏洞适用性(版本匹配、架构兼容) 尝试多种攻击路径(认证绕过、命令注入、RCE等) 攻击实施阶段 选择最有效的攻击方式(如暴力破解弱密码) 绕过防御机制(修改加密算法、使用特定协议) 获取系统权限(root:1234) 防御建议 及时更新服务版本 禁用不安全的加密算法 设置强密码策略 限制服务访问权限 五、关键工具清单 | 工具类别 | 工具名称 | 主要用途 | |---------|---------|---------| | 主机发现 | arp-scan, arping, netdiscover, nmap, fping | 识别内网存活主机 | | 端口扫描 | masscan, nmap | 探测开放端口和服务 | | Web评估 | whatweb, cewl, gobuster, dirsearch, feroxbuster, dirb | Web指纹识别和路径枚举 | | 漏洞利用 | ExploitDB, Metasploit | 检索和利用已知漏洞 | | 暴力破解 | Hydra | 尝试弱密码攻击 | 六、常见漏洞速查表 | 服务 | 漏洞类型 | CVE编号 | 影响版本 | 利用难度 | |------|---------|---------|----------|----------| | Dropbear sshd | RCE | OSVDB-2429 | 0.34 | 高 | | Dropbear sshd | 命令注入 | CVE-2016-3116 | 2015.71 | 中 | | dnsmasq | 堆溢出 | CVE-2017-14491 | 多版本 | 高 | | Netatalk | 认证绕过 | CVE-2018-1160 | <3.1.12 | 中 | 通过本指南,您将掌握从信息收集到漏洞利用的完整IoT渗透测试流程,具备对OpenWrt等嵌入式系统的安全评估能力。