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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/splunk/shellsweep
静态分析漏洞扫描器Web安全恶意软件分析学习与教育异常检测
GitHubsplunk/shellsweep

ShellSweep

ShellSweeping 清除邪恶。

查看仓库
1842081个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

ShellSweep

扫描网络中的邪恶

为什么选择 ShellSweep

"ShellSweep" 是一款基于 PowerShell/Python/Lua 的工具,旨在检测指定目录中的潜在 Web Shell 文件。

ShellSweep 及其工具套件通过计算文件内容的熵来估算文件成为 Web Shell 的可能性。高熵表明随机性更高,这是加密或混淆代码的特征,常见于 Web Shell 中。

  • 它只处理具有特定扩展名(.asp、.aspx、.asph、.php、.jsp)的文件,这些扩展名常用于 Web Shell。
  • 可以排除某些目录不进行扫描。
  • 在扫描过程中,可以忽略具有特定哈希值的文件。

ShellSweep 如何发现 Shell?

在信息论或数据科学背景下,熵是对一组数据不可预测性、随机性或混乱程度的度量。该概念由克劳德·香农在其1948年的论文《通信的数学理论》中提出。

当应用于文件或文本字符串时,熵有助于评估数据的随机性。其工作原理如下:

  • 如果文件由完全随机数据组成(每个字节的值在0到255之间的概率相等),则熵值较高,接近8(因为 log2(256) = 8)。
  • 如果文件由高度结构化的数据组成(例如,大多数字节为ASCII字符的文本文件),则熵值较低。

在寻找 Web Shell 或恶意文件的场景中,熵可以作为一个有用的指标:

  • 许多混淆脚本或加密载荷可能具有高熵,因为混淆或加密过程会使数据看起来随机。
  • 普通文本文件或 HTML 文件的熵通常较低,因为人类可读的文本具有模式和结构(特定字母更常见,单词通常由空格分隔等)。

因此,具有异常高熵的文件可能值得怀疑并需要进一步调查。然而,这并非万无一失的恶意指标——文件具有高熵可能有多种合理原因,而恶意软件也有多种方式避免产生高熵。它只是检测潜在威胁的更大工具箱中的一个工具。

ShellSweep 包含一个 Get-Entropy 函数,通过以下方式计算文件内容的熵:

  • 统计文件中每个字符出现的频率。
  • 使用这些频率计算每个字符的概率。
  • 对每个字符求和 -p*log2(p),其中 p 是该字符的概率。这就是信息论中熵的计算公式。

为什么选择 ShellSweepX?

ShellSweepX 将 ShellSweep 的核心功能提升到了新的水平,相比传统的 EDR(端点检测与响应)解决方案具有多项优势:

  1. 专精聚焦:与覆盖全面的 EDR 解决方案不同,ShellSweepX 专为检测 Web Shell 而设计。这种专精聚焦使其能够更准确、高效地检测此类特定威胁。

  2. 低资源开销:ShellSweepX 轻量级运行,无需像许多 EDR 解决方案那样持续占用后台进程或系统监控资源,从而减少对系统性能的影响。

  3. 可定制且透明:ShellSweepX 的开源特性使其检测方法完全透明。您可以轻松定制和微调检测参数,以适应特定环境。

  4. 无需依赖外部服务:ShellSweepX 在本地运行,不依赖云端分析或持续更新,确保敏感数据始终在您的控制范围内。

  5. 多层检测:ShellSweepX 采用多种检测方法,包括熵分析、模式匹配和启发式分析,提供全面的 Web Shell 检测手段。

  6. 详细报告:ShellSweepX 提供关于潜在威胁的深度信息,包括熵值、检测方法和置信度评分,从而支持更明智的决策。

  7. 跨平台兼容:提供 PowerShell、Python 和 Lua 版本,可在多种环境中部署。

虽然 ShellSweepX 不能完全替代成熟的 EDR 解决方案,但它是一款功能强大的专用工具,特别适用于 Web Shell 威胁严重的环境,是您安全武器库中的有力补充。

功能对比

ShellScan

ShellScan 能够扫描多个已知恶意的 Web Shell 目录,并按文件扩展名输出熵值的平均值、中位数、最小值和最大值。

将 ShellScan.ps1 指向任意规模的 Web Shell 目录集合。我使用了以下来源:

  • https://github.com/tennc/web shell
  • https://github.com/BlackArch/web shells
  • https://github.com/tarwich/jackal/blob/master/libraries/

这将提供一个合适的训练集,用于获取熵值。

输出示例:

root@kitploit:~
Statistics for .aspx files:
Average entropy: 4.94212121048115
Minimum entropy: 1.29348709979974
Maximum entropy: 6.09830238020383
Median entropy: 4.85437969842084
Statistics for .asp files:
Average entropy: 5.51268104400858
Minimum entropy: 0.732406213077191
Maximum entropy: 7.69241278153711
Median entropy: 5.57351177724806

ShellCSV

首先,我们来分解 ShellCSV 的用法以及它如何帮助识别磁盘上正常文件的熵值。其理念是,防御者可以在 Web 服务器上运行该工具,收集所有文件及其熵值,以更好地了解工作环境中哪些路径和扩展名最为常见。

请参阅 ShellCSV.csv 作为输出示例。

ShellSweep

博客文章:网络后壳中的幽灵:介绍 ShellSweep

首先,选择您偏好的版本:Python、PowerShell 或 Lua。

  • 根据 ShellScan 或 ShellCSV 的结果,按需修改熵值。
  • 按需修改文件扩展名。无需在非 ASPX 应用中查找 ASPX 文件。
  • 修改路径。我不建议直接扫描整个 C:\,因为需要过滤的内容太多。
  • 按需修改任何过滤器。
  • 运行脚本!

如果您已来到这里,那么就是反复调优的阶段。发现新的后门?收集熵值并相应修改。

ShellSweepPlus

博客文章:介绍 ShellSweepPlus:开源 Web Shell 检测工具

ShellSweepPlus 是一个高级 PowerShell 脚本,用于检测和分析 Web 环境中的潜在 Web Shell。它在 ShellSweep 核心功能基础上进行了增强,提供了更多功能和检测能力。

主要特性:

  1. 动态扫描:可自定义扫描参数,包括目录路径、排除项和哈希忽略。
  2. 精确熵阈值:利用复杂的嵌套哈希表为不同文件扩展名定制熵阈值。
  3. 多层检测:集成基于熵、基于标准差、混合模式以及基于启发式的检测方法,并动态调整权重。
  4. 高级静态代码分析:使用扩展的可疑模式列表进行深度检测。
  5. 熵分析:计算并分析文件内容熵,以识别潜在混淆或加密的恶意内容。
  6. 详细结果展示:将潜在威胁以结构化 JSON 格式输出,便于解析和分析。
  7. 全面日志记录:包括详细日志记录,提供对脚本操作的深入洞察。
  8. 启发式分析:实现基于启发式的检测,识别异常和潜在的零日 Web Shell。

用法:

  1. 在 $DirectoryPaths 变量中指定要扫描的目录。
  2. 根据需要自定义 $suspiciousPatterns。
  3. 使用 $excludePaths 跳过特定目录。
  4. 使用 $ignoreHashes 或 $ignoreHashesFilePath 排除已知的安全文件。
  5. 在 PowerShell 5.1 或更高版本中执行脚本。

输出示例:

root@kitploit:~
json
{
"TotalFilesScanned": 1000,
"Potential web shells": 5,
"ScanDuration": "00:05:30"
}

ShellSweepPlus 提供了强大而灵活的 Web Shell 检测解决方案,结合多种分析技术,提高准确率,甚至能捕获复杂威胁。

问题

欢迎打开 Git Issue 或查看 Wiki。

感谢

如果您喜欢这个项目,请给项目加星并与家人朋友分享。

下载工具
功能/方面ShellSweepShellSweepPlusShellSweepX
基线检测对特定文件扩展名使用硬编码熵值动态基线检测,实时计算熵值结合基于熵的检测与机器学习预测
文件扩展名处理扩展名为 .asp、.aspx、.asax、.jspx、.html、.ashx 的文件处理扩展名为 .asp、.ashx、.asax、.jspx、.html、.aspx 的文件通过 API 可配置的文件扩展名
熵计算计算文件内容的熵以检测潜在 Web Shell增强的基于熵的检测,与可疑关键词交叉引用基于分块的高级熵计算分析
排除功能可排除特定目录不进行扫描可排除特定目录不进行扫描通过 API 可配置的排除项
哈希忽略忽略具有特定哈希值的文件忽略具有特定哈希值的文件通过 API 可配置的哈希忽略
输出如果发现潜在 Web Shell,则输出文件名、熵值和哈希值。否则输出"今天没有发现邪恶。"如果发现潜在 Web Shell,则以 JSON 格式输出文件名、熵值、哈希值、最后修改日期、检测方法和置信度评分。否则输出"未检测到潜在 Web Shell。"详细的 JSON 输出,包括文件元数据、熵值、预测结果和 YARA 匹配项
熵与标准差使用熵值计算每种文件扩展名的熵值平均值和标准差为高级分析计算熵值和标准差
混合模式检测不存在结合基于熵的检测、基于标准差的检测以及混合模式检测(利用标准差配合硬编码阈值)结合基于熵的检测、机器学习预测和 YARA 规则匹配
静态代码分析不存在基于模式的检测机制,静态分析代码以识别并标记已知恶意模式利用 YARA 规则进行基于模式的检测
启发式分析不存在引入 Perform-HeuristicAnalysis 函数,基于启发式规则检测异常,增强零日 Web Shell 的检测能力实现基于机器学习的预测进行启发式分析
详细结果展示不存在以结构化 JSON 格式展示潜在威胁,包括文件路径、熵值、标准差、哈希值、最后修改日期、检测方法和置信度评分提供包含所有分析方法的综合结果,以结构化 JSON 格式呈现
全面日志记录不存在在脚本中集成 Write-Verbose 命令,实现详细日志记录和操作透明在代理和服务端组件中实现详细日志记录
置信度评分不存在基于检测方法计算置信度评分,并根据可疑模式的存在进行调整使用机器学习预测置信度,并与其他检测方法结合形成综合评分
模块化设计不存在为不同任务使用独立函数(如 Process-File、Create-ResultObject、Adjust-ConfidenceScore),提高代码复用性和可维护性高度模块化设计,包含独立的代理、服务端和分析组件
跨平台支持仅 PowerShell仅 PowerShell支持 PowerShell、Python 和 Bash 实现
API 集成不存在不存在全面的 API,支持配置、结果提交和管理
AI 驱动分析不存在不存在集成基于 AI 的分类和分析能力
YARA 规则管理不存在不存在支持通过 API 添加、更新和删除 YARA 规则
Web 界面不存在不存在提供基于 Web 的界面,用于结果可视化和分析