这部分主要还是比较底层的抓包。这里就不过多的介绍了,毕竟好多大神的文章都写的很详细,主要内容还是以第三为主。
ssh 或者其他方式登陆openwrt的终端模式,
抓包命令大概这几条,
-vv 显示状态 显示抓了几条呀 都什么数据之类的。 -i 指定网卡,比如wlan0 wifi,eth0 有线网卡,br-lan 一般都是指lan的网桥 就是包括wifi和lan部分。
-s 0 :不限制包的长度,也是抓取完整的包。 host:抓取指定ip的数据包 tcp:当然就是tcp包啦。 -w 文件路径:保存抓到的数据包到指定文件 这里方便后期导出来到wireshark里分析哈哈。
iot协议分析大多数都和app相关,所以有这部分小经验分享。
ios系统是支持直接抓包,但是有个前提条件 :必须用macos,或许是我没找到windows和linux下的对应工具吧。
2.2、第二步,用rvictl -s udid
在界面里就能看到手机变成的虚拟网卡啦,用它进行抓包就好了。
最近主要做iot设备的安全审计工作,iot设备好多都没操作界面,不像手机还能导入证书什么的。对于https这种加密协议不好进行抓取,该包什么的也不方便。
硬件:笔记本最好有两张网卡,不管无限还是有线吧! 操作系统:kali 需要安装的程序:apt-get install bridge-utils hostapd dnsmasq
笔记本电脑有线网卡接入网络,无线网卡释放信号做ap用,iot设备连接到wifi后通过笔记本电脑nat到路由器上,
这样能进行很多操作,可能有大佬要说,这个方式和用路由器又啥区别,其实没啥区别。只是burp suite用的比较方便,我能把更多精力放在其他工作上。
ifconfig wlan0 up
rfkill list 看下wlan0 是否被blocked 如果被用rfkill list all
修改hostapd.conf(/etc/hostapd/hostapd.conf)
interface=wlan0 #无线设备名称,基本都是wlan0,可用iwconfig命令查看
driver=nl80211
ssid=iot
hw_mode=g
channel=1
auth_algs=1
wpa=1
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
启动ap :
hostapd /etc/hostapd/hostapd.conf
这个时候能在手机看到iot这个ssid
能连上 但是获取不到ip地址
这里为啥要开启网桥,我的想法是反正都要配置环境了,我就把usb有线网卡和wifi 都配置好,毕竟还是有的设备是通过网线上网哈哈。
brctl addbr br-lan //创建一个网桥 名字叫br-lan brctl addif br-lan eth1 //这个是我的usb网卡,大家不需要可以不加 brctl addif br-lan wlan0 //把无线网卡加入br-lan ip addr add 10.8.8.1/24 dev br-lan
这里需要配置dnsmasq
编辑/etc/dnsmasq.conf
listen-address=10.8.8.1 #网桥br-lan的IP
interface=br-lan
bind-interfaces
dhcp-range=10.8.8.100,10.8.8.200,12h
dhcp-option=6,144.144.144.144,8.8.4.4 #6→设置DNS服务器地址选项
port=5353 #设置端口
使用service dnsmasq restart 重启服务
这时手机连接热点iot试试看是否能正常获取ip地址,这时手机还不能上网哦。
sysctl -w net.ipv4.ip_forward=1
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
到这一步用手机测试通过iot这个wifi是否能正常上网。
这里的ip根据你自己的实际ip来写
$ iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.107:80
$ iptables -t nat -A PREROUTING -i br0 -p tcp --dport 443 -j DNAT --to-destination 192.168.2.107:443
3.8:配置burp suite 透明代理。
首先设置下80端口的透明代理:
这里设置好了之后用手机打开一个80端口的http网站,观察下burp suite里是否有反应
这里说明下:这里不用在手机的wifi设置里设置代理了,因为上面已经通过iptables的命令做了指定端口的代理,只要是在iot这个wifi网络下都是走代理的
设置下443 的https 代理模式:
下面这一步比之前的多一个勾选 Force use of TLS 这个步骤。
一样的方式测试下是否能抓到数据包。
出现这个页面是因为证书没导入。
这里说下新版本的ios证书导入方式,打开burp suite的证书下载界面:我这里是开192.168.2.107:8080 就出现了。
这样就装好证书了,但是打开证书信任,新版本的ios藏在比较深的地方:
设置->通用设置->关于本机->证书设置(下拉到底)
关于本机
证书设置(下拉到底)
点开信任的证书
为啥要那么麻烦做burp suite透明代理呢?其实我平时主要工作还是iot部分的安全测试为主,iot设备好多情况下都不能通过wifi去设置代理,所以只能走上面的步骤。现在越来越多iot设备开始走顶层协议来,比如http、websocket、mtqq。写的比较乱,希望大家谅解。有机会再分享下设备端的证书导入什么的。
*本文作者:question,来自FreeBuf.COM