之前有一篇写了透明代理实现APP抓包的方法, 由于无线网卡不是十分的稳定, 就想利用无线路由器,改成不用无线网卡的方式。现分享一下:
一、虚拟机安装Kali
在配置我们的Kali Linux之前,我们需要配置VMWare和网络接口。在虚拟机设置中我们需要配置二块虚拟网卡并设置为桥接模式。
二、配置Kali Linux 为路由器
真机环境中我无线路由器IP:192.168.200.1。开始配置之前,我们需要先查看本机的网络接口。我们可以使用命令ifconfig查看插入USB适配器之前和之后的设备状态。
1.配置两个虚拟接口的IP
在创建监听网络之前,我们需要选择一个合适的网络地址和子网掩码。我们这里要选择一个与Kali所在网络IP范围(eth0)不同的地址空间,以此来确保受监控设备的IP地址不会跟我们的监控网络发生冲突。在我们的配置环境中,我们选择的是192.168.2.1/24。 在这里我们把eth0设置为192.168.200.254, eth1设置为192.168.2.1。
编辑 /etc/network/interfaces 文件,设置IP:
auto eth0
iface eth0 inet static
address 192.168.200.254
netmask 255.255.255.0
gateway 192.168.200.1
auto eth1
iface eth1 inet static
address 192.168.2.1
netmask 255.255.255.0
编辑 /etc/resolv.conf 文件,手动设置下DNS:
nameserver 114.114.114.114
2.配置代理规则
开启Linux内核的数据包转发
sudo sysctl -w net.ipv4.ip_forward=1
这样设置后,当前系统就能实现包转发,但下次启动计算机时将失效。为了使在下次启动计算机时仍然有效,需要将下面的行写入配置文件/etc/sysctl.conf,此配置文件内有许多规则,只需要把此行前面的#去掉便可。
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
给防火墙添加自动SNAT规则:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
由于kali默认不会保存iptables规则,重启后所有设置过的iptables会失效需要重新设置。解决方法是:设置好iptables规则后,使用iptables-save保存规则到文件;然后设置开机时使用iptables-restore导入这个文件:
iptables-save > /etc/iptables
然后编辑/etc/network/if-pre-up.d/iptables文件,如果不存在则新建:
#!/bin/sh
/sbin/iptables-restore < /etc/iptables
操作至此,就路由器部分配置完成。局域网内所有网关设置为192.168.2.1的IP理论上可以正常上网。测试无问题后接下来就可以配置HTTP+HTTPS截流并转发。
三、流量转发配置
1.HTTP + HTTPS截流并转发给BurpSuite
加入如下DNAT规则。将所有目标端口为80或者443的请求重定向到192.168.2.1:8080(mitmproxy监听的端口)。
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.2.1:8080
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to 192.168.2.1:8080
添加成功之后运行命令查看一下表,命令如下:
sudo iptables -t nat -L
这里要注意再次的导出一下iptables规则,以方便重启时自动导入:
iptables-save > /etc/iptables
四、BurpSuite配置
设置代理IP为0.0.0.0:8080,打开透明代理模式
导出der证书文件
将证书文件导入手机或PC,然后IP设置为192.168.2.X,网关指向192.168.2.1,即可愉快的抓包了。
原文链接:http://www.itawp.com/389.html,转载请注明出处。