Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
sslnuke — 解密 SSL 流量并输出 IRC 消息的透明代理。 | Kitploit
工具/GitHubGitHub/jtripper/sslnuke
数据包嗅探与分析Web代理与拦截IDS/IPS规避网络安全渗透测试红队
GitHubjtripper/sslnuke

sslnuke

解密 SSL 流量并输出 IRC 消息的透明代理。

查看仓库
771112年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

sslnuke —— 未经验证的 SSL 并不安全!


我们都不止一次地听说过,未经验证的 SSL 并不安全。 如果 SSL 连接没有使用缓存的证书进行验证,那么任何攻击者都可以轻易地劫持它。 因此,在 2013 年,人们可能会认为我们已经彻底解决了这个问题。 浏览器会缓存证书,并在站点提供自验证证书(不应被信任)时非常醒目地警告用户, 浏览器厂商基本上已经解决了这个问题。然而,HTTPS 并不是唯一使用 SSL 的协议。 不幸的是,许多其他协议的客户端默认不进行验证,即使它们进行了验证,也无法保证证书的安全传输。 毕竟,有多少人愿意为自己的 FTPS 服务器花 50 美元购买 SSL 证书呢?

IRC 是一种使用 SSL 但很少被验证的常见协议。 许多 IRC 客户端默认会进行验证,但大多数用户会关闭此功能,因为 IRC 服务器管理员 往往不会购买合法的 SSL 证书。一些流行的客户端甚至默认关闭 SSL 验证(例如 IRSSI)。 我们已经知道这样做是不明智的:位于用户和 IRC 服务器之间的任何攻击者都可以提供无效 证书,并解密用户的所有流量(其中可能包含敏感消息)。 大多数用户在连接到 SSL“安全”的 IRC 服务器时,甚至都不会考虑这一事实。

sslnuke 的目标是编写一个用于解密和拦截“安全”IRC 流量的工具。 现有的拦截 SSL 流量的工具已经有很多,但其中大多数是针对 HTTP 流量的。 sslnuke 直接针对 IRC,以演示拦截“安全”通信是多么容易。sslnuke 的使用很简单。

用法

首先,为 sslnuke 创建一个用于运行的用户账户,并添加 iptables 规则将流量重定向到它:

root@kitploit:~
# useradd -s /bin/bash -m sslnuke
# grep sslnuke /etc/passwd
sslnuke:x:1000:1000::/home/sslnuke:/bin/bash
# iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner 1000 -m tcp \
  --dport 6697 --tcp-flags FIN,SYN,RST,ACK SYN -j REDIRECT --to-ports 4444

最后,以 sslnuke 身份登录,编译并运行 sslnuke:

root@kitploit:~
# su -l sslnuke
# cd sslnuke
# make
# ./sslnuke

运行一个 IRC 客户端,并使用 SSL 登录你最喜欢的 IRC 网络, IRC 消息将打印到 sslnuke 的标准输出上。

root@kitploit:~
[*] Received connection from: 192.168.0.5:58007
[*] Opening connection to: 1.1.1.1:6697
[*] Connection Using SSL!
[*] irc.com -> AUTH (1.1.1.1): *** Looking up your hostname...
[*] irc.com -> AUTH (1.1.1.1): *** Found your hostname
[*] irc.com -> victim (1.1.1.1): *** You are connected to irc.vps-heaven.com with TLSv1.2-AES256-GCM-SHA384-256bits
[*] 192.168.0.5 -> nickserv (192.168.0.5): id hello
[*] [email protected] -> victim (1.1.1.1): Password accepted - you are now recognized.

sslnuke 会自动检测使用 SSL 的客户端,并判断是否使用 SSL。 该代码也可以轻松修改,以显示网站密码或 FTP 数据,凡是使用 SSL 的内容都可以。 要攻击网络上的用户,可以将 sslnuke 与 ARP 欺骗工具(例如 Blackhat Library 中的工具)配合使用,也可以将其部署在网关上。

可以在 ascii.io 上观看 sslnuke 的视频演示。

缓解措施

现在进入重要部分:我们如何验证 SSL 连接?第一步是 通过其他介质传输 SSL 证书,最好的方式是让管理员直接给你证书。 然而,如果这不可行,可以使用 openssl 从服务器下载证书:

root@kitploit:~
# openssl s_client -showcerts -connect irc.com:6697 </dev/null

将证书保存到 ~/.irssi/ssl/irc.com.crt。最好在与你所在网络不同的计算机上运行该命令,以防止此过程被拦截。 接下来,要配置 IRSSI 使用该证书,请保存一个网络:

root@kitploit:~
/network add irc
/server add -ssl_cafile ~/.irssi/ssl/irc.com.crt -network irc -port 6697 irc.com

如果 IRSSI 遇到无效证书,它会警告你并立即断开连接。然而, 对于真正偏执的人来说,应该使用 Tor 隐藏服务或 VPN。 要在 Linux 上配置自动 Tor 隐藏服务重定向,可以运行以下命令:

root@kitploit:~
# echo "VirtualAddrNetwork 10.192.0.0/10" >> /etc/tor/torrc
# echo "AutomapHostsOnResolve 1" >> /etc/tor/torrc
# echo "TransPort 9040" >> /etc/tor/torrc
# echo "DNSPort 5353" >> /etc/tor/torrc
# killall -HUP tor
# iptables -t nat -A OUTPUT -p tcp -d 10.192.0.0/10 -j REDIRECT --to-ports 9040
# iptables -t nat -A OUTPUT -p udp --dport 53 -j REDIRECT --to-ports 5353
# ncat xxxxxxxxxxxxxxx.onion 6667
:irc.com NOTICE AUTH :*** Looking up your hostname...
:irc.com NOTICE AUTH :*** Couldn't resolve your hostname; using your IP address instead
^C

最终,IRC 客户端应该使用类似 SSH 的密钥验证方式。在首次连接时,向用户展示 证书指纹,强制用户确认,然后缓存该证书。 如果下次证书发生变化,则不允许连接。

源代码

源代码可以在 Github 上下载。

致谢

  • jtripper -- [email protected]
  • Blackhat Library
  • Chokepoint
下载工具