需求及硬件环境
模拟中间人攻击:
- mitmproxy软件作为中间人代理软件
- wireshark捕获流量 查看协议名称及版本
- 两台Vmware虚拟机,系统均为ubuntu20.04
- 两张无线网卡:
- 一张用于中间人设备,开启热点,做网关使用
- 一张用于客户端,连接热点,发起流量
中间人设备网络为桥接模式,需要开启热点。桥接时,宿主机(真实主机环境不能连接需要认证的WIFI,即学校的校园网WIFI不能连接,可连接使用密码口令的wifi)
客户端网络设置为NAT即可
客户端和中间人端配置无线网卡驱动
笔者的无线网卡是TP-LINK厂商的TL-WN726N免驱版,但免驱是对windows免驱,在ubuntu下并不免驱,因此需要下载驱动。
https://blog.csdn.net/zhou_438/article/details/116297868
安装驱动: https://github.com/McMCCRU/rtl8188gu
sudo apt-get install git
git clone https://github.com/McMCCRU/rtl8188gu
cd rtl8188gu
make
sudo make install
插入无线网卡,选择与虚拟机相连
中间人端
验证无线网卡是否可以开启热点
安装AP
https://github.com/lakinduakash/linux-wifi-hotspot
sudo add-apt-repository ppa:lakinduakash/lwh
sudo apt install linux-wifi-hotspot
开启热点
wihotspot
- SSID是热点名称
- password是密码
- wifiinterface是无线网卡的名称
- internet interface是虚拟机正常的网卡
- create hotspot开启热点
安装mitmproxy
中间人设备
https://blog.csdn.net/qq_39889867/article/details/83477480
安装依赖
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install libc6-dev gcc openssl
sudo apt-get install -y make build-essential zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm tk-dev
sudo apt-get update
安装mitmproxy
sudo pip3 install mitmproxy
使用
mitmproxy
(默认端口号8080,级相当于mitmproxy -p 8080)
测试是否安装成功
如果遇到一些代理https失败的情况,在启动指令mitmproxy -p 8080 后面加上 --ssl-insecure 会解决一些问题
mitmproxy报错时,查看事件日志: 从Mitmproxy控制台键入 :console.view.eventlog
mitmproxy配置透明代理
中间人设备
https://docs.mitmproxy.org/stable/howto-transparent/
sysctl -w net.ipv4.ip_forward=1
sysctl -w net.ipv6.conf.all.forwarding=1
sysctl -w net.ipv4.conf.all.send_redirects=0
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8080
ip6tables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
ip6tables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8080
mitmproxy --mode transparent --showhost
eth0是指定的网卡,开启热点后,指定的网卡应为无线网卡wlx18f22c620f72
Wireshark
客户端安装wireshark
https://www.cnblogs.com/or2-/p/7813446.html
sudo apt-get install libcap2-bin wireshark
sudo chgrp gmz /usr/bin/dumpcap
sudo chmod 750 /usr/bin/dumpcap
sudo setcap cap_net_raw,cap_net_admin+eip /usr/bin/dumpcap
客户端
客户端关闭NAT网络连接,选择热点连接
配置证书
打开浏览器输入mitm.it,选择linux
sudo mv mitmproxy-ca-cert.pem /usr/local/share/ca-certificates/mitmproxy.crt
sudo update-ca-certificates
测试是否成功
客户端 curl www.baidu.com
中间人查看是否捕获到
|