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

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

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

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

工具目录

分类

查看所有分类
Loading categories
BruteShark — 网络分析工具 | Kitploit
工具/GitHubGitHub/odedshimon/bruteshark
数据包嗅探与分析密码破解网络映射哈希分析网络取证取证分析DNS 分析
GitHubodedshimon/bruteshark

BruteShark

网络分析工具

查看仓库
3.4k35784年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

badge GitHub release (latest by date) Github All Releases Donate Tweet Reddit User Karma

  • 关于
    • 它能做什么
    • 下载
  • 示例
  • 用法
    • BruteSharkDesktop
    • BruteSharkCli
    • 模块
  • 架构
  • 贡献

关于

BruteShark 是一款网络取证分析工具(NFAT),可对网络流量进行深度处理与检查(主要是 PCAP 文件,但也能直接从网络接口进行实时捕获)。其功能包括:提取密码、构建网络拓扑图、重建 TCP 会话、提取加密密码的哈希,甚至将它们转换为 Hashcat 格式,以便执行离线暴力破解攻击。

该项目的主要目标是为安全研究人员和网络管理员提供网络流量分析解决方案,帮助他们在分析网络流量时识别潜在攻击者可能利用的弱点,从而访问网络中的关键节点。

BruteShark 提供两个版本:基于 GUI 的应用程序(Windows)和命令行界面工具(Windows 和 Linux)。
解决方案中的各个项目也可以独立用作在 Linux 或 Windows 机器上分析网络流量的基础组件。更多细节请参阅“架构”部分。

这个项目是我在业余时间开发的,源于我的两大爱好:软件架构和网络数据分析。

我非常喜欢听取 BruteShark 用户的反馈,你的意见对我很重要! 欢迎通过 [email protected] 联系我,或创建新 issue。

如果这个项目对你有帮助,请给这个仓库点个 ⭐️!

另外,如果你慷慨解囊,可以请我喝杯咖啡

它能做什么

  • 提取并编码用户名和密码(HTTP、FTP、Telnet、IMAP、SMTP...)
  • 提取身份验证哈希,并使用 Hashcat 破解它们(Kerberos、NTLM、CRAM-MD5、HTTP-Digest...)
  • 构建可视化网络拓扑图(网络节点、开放端口、域用户)
  • 提取 DNS 查询
  • 重建所有 TCP 和 UDP 会话
  • 文件雕刻(File Carving)
  • 提取 VoIP 通话(SIP、RTP)

下载

Windows
  • 先决条件:
    • Npcap 驱动程序(Wireshark 默认会安装其中一个)
    • .NET Core Runtime(请注意,你必须根据自己的需求安装相应的运行时,即 BruteSharkDesktop 需要 .NET Core Desktop Runtime,BruteSharkCli 需要 .NET Core Runtime)。
  • 桌面版请下载 BruteSharkDesktop Windows Installer (64 Bit)。
  • CLI 版请下载 BruteSharkCli Windows 10 Executable。
Linux
  • 先决条件:libpcap 驱动程序
  • 下载 BruteSharkCli 并直接运行:
    root@kitploit:~
    wget https://github.com/odedshimon/BruteShark/releases/latest/download/BruteSharkCli
    ./BruteSharkCli
    

示例

视频

构建网络拓扑图
https://user-images.githubusercontent.com/18364847/131922221-5714f351-85f7-4490-bec9-8da4339b66b3.mp4
BruteSharkCli 使用示例 - 提取多个密码和哈希 (也可在 YouTube 上观看)
https://user-images.githubusercontent.com/18364847/131924013-8b2aa18b-0941-456e-a09d-799902554166.mp4

哈希提取

构建网络拓扑图

构建网络拓扑图

文件雕刻

密码提取

重建所有 TCP 会话

提取 VoIP 通话

Brute Shark CLI

用法

一般来说,建议先加载、运行,然后查看结果。
包含演示 BruteShark 所有功能的场景的示例 PCAP 文件可从此处下载。
请注意,分析网络流量是一项消耗时间和资源的操作,因此在加载大型文件时,建议只选择必要的模块。
应特别注意“Build TCP Sessions”/“Build UDP Sessions”选项。

BruteSharkDesktop

GUI 非常直观,只需加载所需文件,配置所需模块,然后点击运行按钮即可。

BruteSharkCli

BruteSharkCli 是 BruteShark 的 CLI 版本,适用于 Linux 和 Windows 用户。它具有 BruteSharkDesktop 的所有功能,并设计为从 shell 中操作。 作为一款经典的 CLI 工具,它的工作方式是获取所有相关的处理参数,然后将结果输出到 stdout 或文件。

打印帮助菜单:

root@kitploit:~
BruteSharkCli --help

从目录中的所有文件获取凭据(密码和哈希将打印到 stdout):

root@kitploit:~
 BruteSharkCli -m Credentials -d "C:\Users\King\Desktop\Pcap Files"

从目录中的所有文件获取凭据,并将提取到的哈希(如果找到)导出到 Hashcat 输入文件。

root@kitploit:~
 BruteSharkCli -m Credentials -d C:\Users\King\Desktop\Pcap_Examples -o C:\Users\King\Desktop\Results

对目录中的所有文件运行多个模块,并导出所有结果。

root@kitploit:~
 BruteSharkCli -m Credentials,NetworkMap,FileExtracting -d C:\Users\King\Desktop\Pcap_Examples -o C:\Users\King\Desktop\Results
 

嗅探名为“Wi-Fi”的接口,运行多个模块,并将所有结果导出到目录(只有在按 CTRL + C 停止嗅探后才会导出结果)。

root@kitploit:~
BruteSharkCli -l Wi-Fi -m Credentials,NetworkMap,FileExtracting,DNS -o C:\Users\King\Desktop\Test Export

模块

BruteShark 是一个模块化工具,专为扩展而设计。

凭据模块

该模块负责提取和编码用户名、密码以及身份验证哈希。实际上,该模块负责更新两个显示表:密码表和哈希表。用户名和密码可直接使用,而哈希通常用于更复杂的攻击,如传递哈希(pass-the-hash)或通过暴力破解获取密码。BruteShark 已与 Hashcat 集成,因此所有提取的哈希都可以转换为 Hashcat 输入文件。

网络拓扑模块

该模块通过识别网络中的组件以及它们之间的连接来构建网络拓扑图。网络拓扑图可以导出为两个 JSON 文件,其中一个文件包含网络中的所有连接,另一个包含所有端点及其相关信息(如开放端口、DNS 映射等)。这些文件可用于使用外部工具(如 Neo4j)进行分析。

文件提取模块

该模块尝试从 UDP / TCP 会话中提取文件(因此,请注意,要使该模块生效,应开启“Build TCP Sessions”/“Build UDP Sessions”)。目前,该模块支持经典的文件雕刻取证技术,通过“Header-Footer”算法,该算法对具有已知文件头和文件尾的文件(如 JPG、PNG、PDF)有效。

VoIP 通话模块

该模块从 SIP 和 RTP 协议中提取 VoIP 通话。提取的通话可以导出为原始音频文件,并可使用合适的音频播放器(如 Audacity)播放。

架构

所有 BruteShark 项目均使用 .Net Core 和 .Net Standard 实现,以支持现代和跨平台环境。 该解决方案采用三层架构设计,每一层包含一个或多个项目 - DAL、BLL 和 PL。 层与层之间的分离基于每个项目只引用自身对象这一原则。

PcapProcessor (DAL)

作为数据访问层,该项目负责使用适当的驱动程序(WinPcap、libpcap)和 Chris Morgan 开发的出色的封装库 SharpPcap 来读取原始 PCAP 文件。 可以同时分析一组文件,并提供附加功能,例如重建所有 TCP 会话(使用优秀的项目 TcpRecon)。

PcapAnalyzer (BLL)

业务逻辑层,负责分析网络信息(数据包、TCP 会话等),实现了可插拔机制。 每个插件基本上是一个实现 IModule 接口的类。所有插件都通过反射加载:

root@kitploit:~
private void _initilyzeModulesList()
{
    // Create an instance for any available modules by looking for every class that 
    // implements IModule.
    this._modules = AppDomain.CurrentDomain.GetAssemblies()
                    .SelectMany(s => s.GetTypes())
                    .Where(p => typeof(IModule).IsAssignableFrom(p) && !p.IsInterface)
                    .Select(t => (IModule)Activator.CreateInstance(t))
                    .ToList();

    // Register to each module event.
    foreach(var m in _modules)
    {
        m.ParsedItemDetected += (s, e) => this.ParsedItemDetected(s, e);
    }
    
}
BruteSharkDesktop (PL)

基于 WinForms 的 Windows 桌面应用程序。 使用一个横切项目,因为它同时引用 DAL 和 BLL 层。 其实现方式是组合每一层,注册到它们的事件,当事件触发时,将事件对象转换为下一层对应的对象,并将其发送到下一层。

root@kitploit:~
public MainForm()
{
    InitializeComponent();

    _files = new HashSet<string>();

    // Create the DAL and BLL objects.
    _processor = new PcapProcessor.Processor();
    _analyzer = new PcapAnalyzer.Analyzer();
    _processor.BuildTcpSessions = true;

    // Create the user controls. 
    _networkMapUserControl = new NetworkMapUserControl();
    _networkMapUserControl.Dock = DockStyle.Fill;
    _sessionsExplorerUserControl = new SessionsExplorerUserControl();
    _sessionsExplorerUserControl.Dock = DockStyle.Fill;
    _hashesUserControl = new HashesUserControl();
    _hashesUserControl.Dock = DockStyle.Fill;
    _passwordsUserControl = new GenericTableUserControl();
    _passwordsUserControl.Dock = DockStyle.Fill;

    // Contract the events.
    _processor.TcpPacketArived += (s, e) => _analyzer.Analyze(Casting.CastProcessorTcpPacketToAnalyzerTcpPacket(e.Packet));
    _processor.TcpSessionArived += (s, e) => _analyzer.Analyze(Casting.CastProcessorTcpSessionToAnalyzerTcpSession(e.TcpSession));
    _processor.FileProcessingStarted += (s, e) => SwitchToMainThreadContext(() => OnFileProcessStart(s, e));
    _processor.FileProcessingEnded += (s, e) => SwitchToMainThreadContext(() => OnFileProcessEnd(s, e));
    _processor.ProcessingPrecentsChanged += (s, e) => SwitchToMainThreadContext(() => OnProcessingPrecentsChanged(s, e));
    _analyzer.ParsedItemDetected += (s, e) => SwitchToMainThreadContext(() => OnParsedItemDetected(s, e));
    _processor.TcpSessionArived += (s, e) => SwitchToMainThreadContext(() => OnSessionArived(Casting.CastProcessorTcpSessionToBruteSharkDesktopTcpSession(e.TcpSession)));
    _processor.ProcessingFinished += (s, e) => SwitchToMainThreadContext(() => OnProcessingFinished(s, e));

    InitilizeFilesIconsList();
    this.modulesTreeView.ExpandAll();
}

贡献

首先,感谢你抽出时间贡献!BruteShark 欢迎每个人贡献。

在向此仓库贡献之前,请先通过 issue 或电子邮件讨论你希望进行的更改。

你如何贡献?

  • 从 BruteShark Issues 中实现新功能,查找带有“good first issue”和“help wanted”标签的 issue。
  • 上传示例 PCAP 文件,尤其是内容有趣的文件。
  • 通过创建 Issue 提出新功能。
  • 通过创建 Issue 报告错误。
  • 讨论代码的当前状态。
  • 创建使用 BruteShark 的视频和示例教程。
下载工具
协议哈希类型Hascat 模式 (-m)
HTTPHTTP-Digest11400
SMTP\IMAPCRAM-MD516400
NTLM (e.g. SMB)NTLMv15500
NTLM (e.g. SMB)NTLMv25600
KerberosAS-REQ etype 237500
KerberosAS-REP etype 2318200
KerberosTGS-REP etype 2313100
Kerberos (AES128)TGS-REP etype 1719600
Kerberos (AES256)TGS-REP etype 1819700