Project Icon

sslsplit

SSL/TLS加密流量拦截工具 支持网络取证与安全分析

SSLsplit是一款用于拦截和分析SSL/TLS加密网络流量的开源工具。它能够透明地终止重定向的连接,记录所有传输数据,并重新建立SSL/TLS连接。SSLsplit支持TCP、SSL、HTTP(S)等多种协议,兼容IPv4/v6和SNI。该工具可动态生成伪造证书,并实现多种规避检测机制。主要应用于网络取证、应用安全分析和渗透测试等领域。

SSLsplit - 透明SSL/TLS拦截

https://www.roe.ch/SSLsplit

构建状态 Gitter聊天

概述

SSLsplit是一种用于对SSL/TLS加密网络连接进行中间人攻击的工具。它旨在用于网络取证、应用安全分析和渗透测试。

SSLsplit设计用于透明地终止使用网络地址转换引擎重定向到它的连接。SSLsplit然后终止SSL/TLS并启动一个新的SSL/TLS连接到原始目标地址,同时记录所有传输的数据。除了基于NAT的操作外,SSLsplit还支持静态目标和使用SNI指示的服务器名称作为上游目标。SSLsplit纯粹是一个透明代理,不能作为浏览器中配置的HTTP或SOCKS代理。

SSLsplit支持IPv4和IPv6上的普通TCP、普通SSL、HTTP和HTTPS连接。它还能够动态地将普通TCP升级到SSL,以通用方式支持SMTP STARTTLS和类似的升级机制。SSLsplit完全支持服务器名称指示(SNI),并能够使用RSA、DSA和ECDSA密钥以及DHE和ECDHE密码套件。根据所构建的OpenSSL版本,SSLsplit支持SSL 3.0、TLS 1.0、TLS 1.1和TLS 1.2,也可选择支持SSL 2.0。

对于SSL和HTTPS连接,SSLsplit即时生成并签署伪造的X509v3证书,模仿原始服务器证书的主题DN、subjectAltName扩展和其他特征。SSLsplit能够使用现有的私钥可用的证书,而不是生成伪造的证书。SSLsplit支持NULL前缀CN证书,但不实现针对SSL/TLS堆栈中特定证书验证漏洞的利用。

SSLsplit实现了一些防御机制,以对抗通常会阻止MitM攻击或使其更加困难的机制。SSLsplit可以以通用方式拒绝OCSP请求。对于HTTP和HTTPS连接,SSLsplit会篡改头部以防止服务器指示的公钥固定(HPKP)、避免严格传输安全限制(HSTS)、避免证书透明度强制(Expect-CT)并防止切换到QUIC/SPDY、HTTP/2或WebSockets(Upgrade、Alternate Protocols)。HTTP压缩、编码和保持活动连接被禁用,以使日志更易读。

日志选项包括传统的SSLsplit连接和内容日志文件以及PCAP文件,并将解密的流量镜像到网络接口。此外,还可以记录证书、主密钥和本地进程信息。

有关使用SSLsplit和设置各种NAT引擎的详细信息,请参阅手册页sslsplit(1)。

要求

SSLsplit默认依赖于OpenSSL、libevent 2.x、libpcap和libnet 1.1.x库;如果省略镜像功能,则不需要libpcap和libnet。构建依赖于GNU make和PATH中的POSIX.2环境。如果可用,使用pkg-config来定位和配置依赖项。可选的单元测试依赖于check库。

SSLsplit目前支持以下操作系统和NAT机制:

  • FreeBSD:pf rdr和divert-to,ipfw fwd,ipfilter rdr
  • OpenBSD:pf rdr-to和divert-to
  • Linux:netfilter REDIRECT和TPROXY
  • Mac OS X:pf rdr和ipfw fwd

本地进程信息(-i)支持目前在Mac OS X和FreeBSD上可用。

SSL/TLS功能和兼容性在很大程度上取决于链接的OpenSSL版本。为获得最佳结果,请使用最新版本的OpenSSL或LibreSSL。

安装

在具备上述要求的情况下,运行:

make
make test       # 可选的单元测试
make sudotest   # 需要特权的可选单元测试
make install    # 可选安装

依赖项使用pkg-config自动配置。如果无法检测到依赖项,且修复PKG_CONFIG_PATH无效,您可以通过设置OPENSSL_BASELIBEVENT_BASELIBPCAP_BASELIBNET_BASE和/或CHECK_BASE来手动指定它们各自的位置。

您可以通过设置PREFIX来覆盖默认安装前缀(/usr/local)。有关更多构建选项和构建时默认值,请参见GNUmakefiledefaults.h

文档

用户文档请参阅手册页sslsplit(1)sslsplit.conf(5)。有关版本之间重大变更的发行说明,请参阅NEWS.md,有关安全漏洞披露的信息,请参阅SECURITY.md

许可

SSLsplit基于2条款BSD许可提供。 SSLsplit包含根据MIT和APSL许可的组件。 详情请参见LICENSELICENSE.contribLICENSE.third以及相应的源文件头。

致谢

贡献者列表请参见AUTHORS.md

SSLsplit的灵感来自Claes M. Nyberg的mitm-ssl和Moxie Marlinspike的sslsniff,但不与它们共享源代码。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号