第二种方法是在newifi3上刷Openwrt固件,再安装tcpdump进行抓包。
新路由3下刷入openwrt19.07固件,前提是已经刷入了Breed Web系统:
(1)准备好openwrt19.07固件
【2020.5.2更新】openwrt19.07.zip
固件地址:https://72k.us/dir/26725770-38748144-c6a638 密码:973552
(2)打开浏览器输入 192.168.1.1,进入 Breed Web 恢复控制台刷系统前只能通过有线连接的方式进行,因为进入 BreedWeb 恢复控制台后,无线功能是没有打开的。
(3)进入 Breed Web 恢复控制台后,先不要急着进行升级,先在控制台点击恢复出厂设置。路由如果从一个系统刷入另一个系统,最好先恢复出厂设置,这样也能保持在刷入系统之前是最初始状态。
(4)恢复出厂设置后,不需要进行任何操作,会自动跳到 BreedWeb 恢复控制台。然后在固件前面打勾,再点击”浏览”,跳出固件选择窗口。
(5)固件上传完成后,到 Breed Web 恢复控制台更新确认界面,点击更新。
下面开始在openwrt下安装tcpdump。输入http://192.168.2.1进入路由的管理界面,先打开ssh服务。
第三种方法是win10下建立WIFI热点,使用科来和wireshark进行抓包。
进入app,然后打开科来网络分析工具对wifi热点网卡进行抓包和重放。但经过测试,这种方法效果不是很好,会出现抓包不全的情况。
第四种方式是在ubuntu19.04下建立WIFI热点,使用tcpdump进行抓包,再通过sslsplit伪造CA证书,实现SSL中间人攻击。经过实际测试和几种方法的对比,这种方法的抓包效果最好。
SSLSplit的主要原理是以中间人的身份将证书插入到客户端和服务器中间,从而截断客户端和服务器之间的数据。之前我们大多数做的都是针对于80端口的欺骗,也就是说,只要是超越了80端口我们就会有点棘手:比如常用的443端口,比如465和587端口,这些都是通过SSL加密进行数据传输的,简单的80端口监听肯定是什么都拿不到的。这个时候,就体现出SSL证书劫持的作用了。
在ubuntu19.04下开启WIFI热点。
打开终端,输入命令进行WIFI设置:nm-connection-editor
//ubuntu19.04下面安装sslsplit。
工具简介:
工具的主要原理是以中间人的身份将证书插入到客户端和服务器中间,从而截断客户端和服务器之间的数据。之前我们大多数做的都是针对于80端口的欺骗,也就是说,只要是超越了80端口我们就会有点棘手:比如常用的443端口,比如465和587端口,这些都是通过SSL加密进行数据传输的,简单的80端口监听肯定是什么都拿不到的。这个时候,就体现出SSL证书劫持的作用了。
SSLSplit的git地址:https://github.com/droe/sslsplit
git clone https://github.com/droe/sslsplit.git /opt/sslsplit
cd /opt/sslsplit
apt-get install libssl-dev libevent-dev
make
make install
//根据提示搜索安装相应版本:
apt install pkgconf
aptitude search libpcap*
apt-get install libpcap-dev
aptitude search libnet*
apt install libnet-dev
sslsplit -h //安装成功后进行测试
cd /test2020
openssl genrsa -out ca.key 2048 //生成一个key文件
//自签名用生成的key生成公钥证书:
openssl req -new -x509 -days 1096 -key ca.key -out ca.crt
echo 1 > /proc/sys/net/ipv4/ip_forward //打开端口流量转发
//用iptables进行流量转发,需要把我们需要的端口进行转发:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT--to-ports 8080
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT--to-ports 8443
iptables -t nat -A PREROUTING -p tcp --dport 587 -j REDIRECT--to-ports 8443
iptables -t nat -A PREROUTING -p tcp --dport 465 -j REDIRECT--to-ports 8443
iptables -t nat -A PREROUTING -p tcp --dport 993 -j REDIRECT--to-ports 8443
iptables -t nat -A PREROUTING -p tcp --dport 995 -j REDIRECT--to-ports 8443
//查看iptables策略:
iptables -t nat -L
//启动sslsplit进行SSL分离抓包,将数据包日志保存在/test2020/log目录下面:
sslsplit -D -l connect.log -j /test2020 -S log/ -k ca.key -c ca.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080
//先启动APP,再使用tcpdump进行抓包,将监听的数据包存放在/test2020/tmp1.pcap
cd /test2020
tcpdump -i wlxe84e0615571b -U -c 300 -vvv -w tmp1.pcap
//ubuntu19.0.4下使用tcpreplay进行数据包重放:
apt install tcpreplay //安装tcpreplay
tcpreplay -V //查看安装版本
cd /test2020
tcpreplay -i wlxe84e0615571b tmp1.pcap
最后一种方法是,通过AP上面的DHCP SERVER功能。插座和APP应用在配网的时候,会提示输入路由器WIFI接入点名称和连接密码,通过AP上面的DHCP SERVER功能,可以将插座与android app的网关地址设为攻击机(ubuntu19.04)的IP地址,再使用tcpdump进行抓包,同时通过sslsplit伪造CA证书,实现SSL中间人攻击。
将插座与android app的网关地址设为攻击机(ubuntu19.04)的IP地址。
对SSLSplit的设置与方法四中的步骤相同,在此不再重复。
启动APP,再使用tcpdump进行抓包,将监听的数据包存放在/test2020/tmp1.pcap。