Burpsite透明代理实现APP抓包方法2

之前有一篇写了透明代理实现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,转载请注明出处。

0
没有账号? 注册  忘记密码?