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

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

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

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

工具目录

分类

查看所有分类
Loading categories
Egress-Assess — 多协议数据外泄测试工具,模拟基于FTP、HTTP、HTTPS、DNS、ICMP、SMB、SMTP和SFTP的真实出站场景,以验证检测能力。 | Kitploit
工具/GitHubGitHub/redsiege/egress-assess
数据泄露网络安全渗透测试红队
GitHubredsiege/egress-assess

Egress-Assess

多协议数据外泄测试工具,模拟基于FTP、HTTP、HTTPS、DNS、ICMP、SMB、SMTP和SFTP的真实出站场景,以验证检测能力。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Egress-Assess

Egress-Assess 是一款用于测试出站数据检测能力的工具。

设置

要设置,请运行附带的安装脚本,或执行以下操作:

  1. 安装 pyftpdlib
  2. 生成服务器证书,将其保存为 "server.pem",放在与 Egress-Assess 相同的目录级别。可以使用以下命令完成:

openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes

用法

相关博客文章可在此处获取:

  • https://www.christophertruncer.com/egress-assess-testing-egress-data-detection-capabilities/
  • https://www.christophertruncer.com/egress-assess-action-via-powershell/

Egress-Assess 的典型用法是将此工具复制到两个位置。一个位置充当服务器,另一个充当客户端。Egress-Assess 可以通过 FTP、HTTP 和 HTTPS 发送数据。

要通过 FTP 提取数据,首先需要启动 Egress-Assess 的 FTP 服务器,选择 --server ftp 并提供一个用户名和密码:

./Egress-Assess.py --server ftp --username testuser --password pass123

现在,要让客户端连接并向 FTP 服务器发送数据,可以运行...

./Egress-Assess.py --client ftp --username testuser --password pass123 --ip 192.168.63.149 --datatype ssn

此外,你也可以将 Egress-Assess 设置为 Web 服务器,运行...

./Egress-Assess.py --server https

然后,要向 FTP 服务器发送数据,并专门发送 15 兆的信用卡数据,运行以下命令...

./Egress-Assess.py --client https --data-size 15 --ip 192.168.63.149 --datatype cc

其他注意事项:

  • dns_complete 是 DNS 服务器模块的改进版本。使用 DNSLib,该模块可以监听并响应来自 TXT 和 A 记录的请求,使用正确格式解码请求,并将输出写入文件。
  • SMB 有一个选项用于启用或禁用 SMB2 支持。较新的 Windows 10 系统通常默认禁用 SMBv1。因此,SMBv2 是默认设置,你可以使用开关来禁用 SMBv2。

各协议尝试外传的方式

  • SMTP - 客户端创建一封邮件,将数据放在邮件正文中,如果是文件则作为附件。然后客户端尝试通过端口 25(或提供的备用端口)向 EgressAssess 服务器建立 SMTP 连接。SMTP 服务器不要求身份验证,接受传入连接并处理邮件。邮件的处理过程是从邮件正文或附件文件中提取数据。此测试不会尝试通过组织的邮件服务器发送邮件。

  • SMTP_Outlook – (此模块仅在 PowerShell 客户端中可用)。如果之前已配置好 Outlook 客户端,PowerShell 客户端会创建一个指向 Outlook 的 COM 对象(根据配置,可能需要用户提供身份验证)。然后 PowerShell 客户端将创建一封邮件,将数据放在邮件正文中,如果是文件则作为附件。邮件将从 Outlook 以之前配置的用户身份发送。(某些安全设置可能会通知用户有程序尝试在后台发送邮件,需要用户选择允许)。要使此模块工作,需要为 EgressAssess 服务器创建 MX 记录。EgressAssess SMTP 服务器接受发送到 MX 记录域名的所有邮件,并接收包含文件附件或正文中测试数据的邮件。 Invoke-EssessAgress -Client SMTPOutlook -IP <SMTP 服务器的域名> -NoPing -DataType "ssn"

  • ICMP - 数据被分解为字节并进行 base64 编码,通过 ICMP Type 8 ECHO 请求发送到网络中。数据被放置在数据包的数据字段中。ECHO 请求持续发送到 EgressAssess 服务器,服务器接收 ICMP 请求,收集数据并解码。

  • FTP - 数据和文件按照典型协议使用方式上传到 EgressAssess FTP 服务器。需要使用用户名和密码访问服务器。请参阅上面的示例。

  • SFTP - 数据和文件按照 SFTP 协议上传。需要使用用户名和密码访问服务器。

  • HTTP(S) - 数据和文件通过 POST Web 请求发送到 EgressAssess Web 服务器。对于 Python 客户端,数据被 POST 到 http(s)://<IP 或 FQDN>/post_data.php;对于 PowerShell 客户端,数据被 POST 到 http(s)://<IP 或 FQDN>/posh_file.php。

  • SMB - EgressAssess 服务器(使用 Impacket 的 SimpleSMBserver)创建一个 /TRANSFER SMB 共享。客户端系统无需身份验证即可连接到该共享并传输文件,就像连接到网络共享并复制文件一样。如果需要,也可以选择添加用户名和密码进行身份验证。如上所述,请根据您要出网的系统及其安全策略,确定是使用旧的有漏洞的 SMBv1 还是需要启用 SMBv2。

  • DNS_TXT - 数据和文件被分解为字节,然后转换为 base64,并分块为单独的 DNS TXT 查询,针对 IP 地址或域名进行查询。客户端尝试直接连接到 EgressAssess 服务器并发出 DNS TXT 查询。服务器随后从数据包中过滤出数据并解码。在 PowerShell 客户端中,有一个堆叠查询的选项。这会在每个 DNS 请求中向服务器发出最多 7 个 TXT 查询,从而提高数据外传的速度。

  • DNS_Resolved - 数据和文件被分解为字节,然后转换为 base64。数据随后被分块,并用作 DNS 请求的一部分来解析子域名:<编码数据>.domain.com。为此,需要为 EgressAssess 服务器设置一个该域名的 NS 记录。所有 DNS 请求都发送到系统设置的名字服务器,最终到达之前设置好的 EgressAssess 服务器。EgressAssess 服务器从每个请求中提取数据部分,并将文件重新组装起来。

下载工具