ShellSweepPlus 概述
ShellSweepPlus是一款开源工具,旨在帮助安全团队检测潜在的 Web Shell。它是 ShellSweep 的增强版
Webshell 的威胁
Web shell 对组织构成重大威胁,因为它们为攻击者提供了对受感染 Web 服务器的未经授权的访问和控制。攻击者可以利用这些 shell 来:
- 窃取敏感数据。
- 部署额外的恶意软件。
- 发动进一步的攻击。
及时检测潜在的 Web Shell 对于最大限度地减少漏洞的影响和防止进一步的损害至关重要。
ShellSweepPlus 如何增强威胁防御
ShellSweepPlus 通过增强现有安全工具的影响力为安全团队提供了巨大的价值。
通过将 ShellSweepPlus 集成到安全堆栈中,组织可以增强防御能力并更全面地了解其 Web 应用程序的安全状况。该工具的高级检测方法(例如熵分析、模式匹配和启发式分析)使安全专业人员能够高精度地识别潜在的 Web Shell,即使它们被严重混淆或采用了新技术。
此外,ShellSweepPlus 使安全团队能够识别可能被忽视的威胁。其详细的报告和警报功能可以快速响应潜在的 Web Shell 威胁,从而缩短检测到补救之间的时间。
通过主动搜寻异常和可疑文件,安全专家可以领先攻击者一步,并增强组织的整体安全弹性。
无论您是经验丰富的安全专家还是刚入行不久,ShellSweepPlus 都是一款不可或缺的模块化可配置工具。其多功能性、易用性和强大功能使其成为对抗 Web Shell 持续威胁的宝贵工具。
ShellSweepPlus:主要增强功能和特性
对于 ShellSweepPlus,我们引入了多项增强功能以增强其检测能力:
- 启发式分析:ShellSweepPlus 引入了“Perform-HeuristicAnalysis”功能,该功能采用高级启发式规则来识别异常并检测最难以捉摸的 Web Shell。此附加功能大大增强了该工具发现以前未知的威胁的能力。
- 增强的模式检测:已实施“Detect-WebshellPatterns”功能来识别已知的恶意模式,从而提供额外的保护层。通过利用一套全面的可疑模式,ShellSweepPlus 可以快速标记潜在的 Web Shell 文件。
- 熵和标准偏差集成:ShellSweepPlus 擅长计算每个文件扩展名的熵值的平均值和标准偏差。与预期熵范围有显著偏差的文件会被标记,从而实现精确而全面的检测。
- 混合模式检测:ShellSweepPlus 采用基于熵的检测、基于标准偏差的检测和混合模式检测(利用标准偏差和硬编码阈值)的协同混合。这种多方面的策略可确保全面覆盖并增强识别潜在 Web Shell 的可靠性。
- 静态代码分析:该工具采用复杂的基于模式的检测机制,静态分析代码以识别和标记已知的恶意模式。
虽然 ShellSweepPlus 引入了这些高级功能,但我们认识到基准测试和真正了解您的环境的重要性。ShellCSV和ShellScan等强调基准测试的工具仍然是 ShellSweepPlus 的重要伴侣,可让您了解系统的行为。
当我们深入研究 ShellSweepPlus 这一激动人心的新篇章时,请加入我们探索其增强的功能,并了解它如何增强您的 Web Shell 检测工作。
ShellSweepPlus 的新功能
在深入了解 ShellSweepPlus 的功能之前,重要的是要记住 ShellSweep 是一套协同工作的工具。
- 首先,使用 ShellScan 对你的服务器进行基准测试,以更新熵值。
- 通过修改扩展和熵值来调整 ShellSweepPlus 以适应您的服务器。
- 最后,设置 ShellSweep|Plus 并运行。
这些步骤在原始 ShellSweep 博客中有详细概述。
(ShellSweep 流程图,Splunk 2024)
现在,让我们看看我们添加的新功能。
关键词分析
我们最初尝试采用的方法之一是关键字匹配。为了实现这一点,我们编写了一个 PowerShell脚本,用于扫描大量 Web Shell 目录并检查文件中的单词。
我们的主要目标是确保只包含那些在多个 Web Shell 中一致出现的关键字。我们设置了 3 个阈值,这意味着一个单词必须出现在三个或更多文件中才能添加到哈希表中并随后输出。
下面是我们使用的脚本。它也可以在ShellSweep 存储库中找到。
# 该脚本用于从一组包含 webshell 文件的目录中提取关键字。
# 它读取每个文件,将内容拆分为单词,并在哈希表中更新每个单词的频率。
# 然后,它会过滤掉出现超过 3 次的单词,并将其视为可疑单词。
# 然后将可疑单词写入文件“suspiciousPatterns.txt”。
$webshellDirectoryPath = @(
'C:\Users\Administrator\Downloads\reGeorg-master\reGeorg-master',
'C:\Users\Administrator\Downloads\p0wny-shell-master',
'C:\Users\Administrator\Desktop\10684728197_human2_cisa_report',
'C:\Users\Administrator\Downloads\xl7dev\WebShell-master',
'C:\Users\Administrator\Downloads\webshells-master\webshells-