18

IoT设备网络数据包抓包改包环境搭建分享

 3 years ago
source link: https://www.freebuf.com/sectool/236902.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

一、路由器上进行抓包

这部分主要还是比较底层的抓包。这里就不过多的介绍了,毕竟好多大神的文章都写的很详细,主要内容还是以第三为主。

ssh 或者其他方式登陆openwrt的终端模式,

抓包命令大概这几条,

1.1基础 tcpdump -vv -i br-lan

 -vv 显示状态 显示抓了几条呀 都什么数据之类的。
 -i 指定网卡,比如wlan0 wifi,eth0 有线网卡,br-lan 一般都是指lan的网桥 就是包括wifi和lan部分。

1.2在基础上扩展:tcpdump -vv -s0 -i br-lan host 192.168.1.100 and tcp -w /tmp/1.cap

 -s 0 :不限制包的长度,也是抓取完整的包。
 host:抓取指定ip的数据包
 tcp:当然就是tcp包啦。
 -w 文件路径: 保存抓到的数据包到指定文件 这里方便后期导出来到wireshark里分析哈哈。

1.3数据包导出,windows下可以用winscp,linux麻 我还是习惯scp

二、苹果手机底层抓包

iot协议分析大多数都和app相关,所以有这部分小经验分享。

ios系统是支持直接抓包,但是有个前提条件 :必须用macos,或许是我没找到windows和linux下的对应工具吧。

2.1、天才宝贝第一步,usb数据线把手机和mac连接到一起 用访达查看手机的udid,复制出来(老mac用 itunes)

RrUBfej.jpg!web2.2、第二步,用rvictl -s udid 

yaQvErF.jpg!web

2.3、有请大白鲨登场 wireshark:

在界面里就能看到手机变成的虚拟网卡啦,用它进行抓包就好了。

reqa222.jpg!web

三、linux释放热点进行抓包代理

最近主要做iot设备的安全审计工作,iot设备好多都没操作界面,不像手机还能导入证书什么的。对于https这种加密协议不好进行抓取,该包什么的也不方便。

3.1 环境搭建

硬件:笔记本最好有两张网卡,不管无限还是有线吧!

操作系统:kali

需要安装的程序:apt-get install bridge-utils hostapd dnsmasq

3.2 网络环境:

N7rmIbB.jpg!web

笔记本电脑有线网卡接入网络,无线网卡释放信号做ap用,iot设备连接到wifi后通过笔记本电脑nat到路由器上,

这样能进行很多操作,可能有大佬要说,这个方式和用路由器又啥区别,其实没啥区别。只是burp suite用的比较方便,我能把更多精力放在其他工作上。

3.3 开启wifi热点

ifconfig wlan0 up

rfkill  list 看下wlan0 是否被blocked 如果被用rfkill list all

修改hostapd.conf(/etc/hostapd/hostapd.conf)

interface=wlan0 #无线设备名称,基本都是wlan0,可用iwconfig命令查看

#使用的网桥名称,如果是用DHCP+NAT方式可忽略此行

#bridge=br0

#hostapd 0.6.8或者更高版本唯一选择

driver=nl80211

#终端看到的wifi名称,请自行修改

ssid=iot

#指明要选用的无线传输协议,这里表示使用802.11g

hw_mode=g

#802.11b/g都至多只有三条互不干扰的信道,即1,6,11,一般填这三个其中一个

channel=1

#验证身份的算法,1表示只支持wpa,2表示只支持wep,3表示两者都支持,wep已经被淘汰了,请不要使用。

auth_algs=1

#wpa加密方式,1代表支持wpa,2代表支持wap2,3代表两者都支持。

wpa=1

#wifi密码,请自行修改

wpa_passphrase=12345678

#对所有用户进行同样的认证,不进行单独的认证,如果需要,请设置为WPA-EAP。

wpa_key_mgmt=WPA-PSK

#控制支持加密数据的秘钥,CCMP比TKIP更强

wpa_pairwise=CCMP

启动ap :

hostapd /etc/hostapd/hostapd.conf

这个时候能在手机看到iot这个ssid

能连上 但是获取不到ip地址

3.4 开启网桥

这里为啥要开启网桥,我的想法是反正都要配置环境了,我就把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

JZzyMny.jpg!web

7nmy2yN.jpg!web

3.5 开启dhcp和dns服务

这里需要配置dnsmasq

编辑/etc/dnsmasq.conf

listen-address=10.8.8.1      #网桥br-lan的IP

interface=br-lan

bind-interfaces

#这个是重要的东西,设置dhcp的ip发配range,就是你的dhcp服务器分配多少个ip出来,ip的范围从哪里到哪里,默认是c类网段,

#所以简略了掩码,后面增加一个租约时间,dhcp分配的ip是有租约的,租约过了是需要回收的。

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地址,这时手机还不能上网哦。

3.6 配置nat转发

sysctl -w net.ipv4.ip_forward=1

iptables -P FORWARD ACCEPT

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

到这一步用手机测试通过iot这个wifi是否能正常上网。

3.7:将80端口到流量和443端口到流量都转发到burp suite上 。这里提醒下不一定都是80和443哦,这里只是用常用的端口举例子,大家根据实际情况搞吧。

这里的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 透明代理。

6FvqErZ.jpg!web 首先设置下80端口的透明代理:

AJRfEzF.jpg!web 这里设置好了之后用手机打开一个80端口的http网站,观察下burp suite里是否有反应

这里说明下:这里不用在手机的wifi设置里设置代理了,因为上面已经通过iptables的命令做了指定端口的代理,只要是在iot这个wifi网络下都是走代理的

7zimaif.jpg!web

设置下443 的https 代理模式:

yiEV7jZ.jpg!web

下面这一步比之前的多一个勾选 Force use of TLS 这个步骤。

uUbUvq3.jpg!web

一样的方式测试下是否能抓到数据包。

nIZjQfa.jpg!web

出现这个页面是因为证书没导入。

3.9:ios burp suite证书导入

这里说下新版本的ios证书导入方式,打开burp suite的证书下载界面:我这里是开192.168.2.107:8080 就出现了。

rmQVRjy.jpg!web

这样就装好证书了,但是打开证书信任,新版本的ios藏在比较深的地方:

设置->通用设置->关于本机->证书设置(下拉到底)

2EJZ32M.jpg!web

关于本机

eENZ3qR.jpg!web

证书设置(下拉到底)

Armiqaa.jpg!web

点开信任的证书

ai26jiB.jpg!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK