ShellSweep -PowerShell/Python/LUA工具 旨在检测指定目录中的潜在Webshell文件

taibeihacker

Moderator
AVvXsEh_r7S9RPV3clM_d8OQhxoEBHghII39bcmc947dYC2Oo54t953WJpC1p7PilEn_y6GseDXD8joi1ymg9xMdIOJlN1imFAEfKEsh7YROkXrVWs9yLzym0RFL8v1sZGNCZeIXzamIwdbOGPRukwrIGoXL5XbON_UTXzGvBDPxesO5yG2N8H2vkrs1y-Ska9Ke=w640-h360

ShellSweep​


Why ShellSweep​

“ ShellSweep”是一种PowerShell/Python/LUA工具,旨在检测指定目录中潜在的Webshell文件。
ShellSheep及其套件的工具套件计算文件内容的熵,以估计文件是网络壳的可能性。高熵表示更多的随机性,这是在网络壳中经常发现的加密或混淆代码的特征。 - 它仅处理具有某些扩展名的文件(.asp,aspx,asph,php,jsp),这些文件通常在Webshells中使用。 - 某些目录可以排除在扫描之外。 - 在扫描过程中可以忽略具有某些哈希的文件。
在信息理论或数据科学的背景下,

How does ShellSweep find the shells?​

熵是一组数据中不可预测性,随机性或混乱的量度。这个概念是克劳德马云惹不起马云香农(Claude Shannon)在1948年的《交流数学理论》中引入的。
当应用于文件或文本字符串时,熵可以帮助评估数据的随机性。如果文件由完全随机的数据组成(每个字节都可能是0到255之间的任何值),则其工作方式为:则熵较高,接近8(因为log2(256)=8)。
如果文件由高度结构化的数据组成(例如,大多数字节是ASCII字符的文本文件),则熵较低。在查找Webshells或恶意文件的上下文中,熵可能是有用的指标:-许多混淆的脚本或加密的有效载荷可以具有较高的熵,因为混淆或加密过程使数据看起来随机。 - 普通的文本文件或HTML文件通常会具有较低的熵,因为人类可读的文本具有模式和结构(某些字母更常见,单词通常由空间等等等)。因此,一个异常高的熵的文件可能是可疑的,值得进一步调查。但是,这并不是恶意的确定指标- 文件可能具有很高的熵,并且恶意软件可能避免引起高熵。它只是用于检测潜在威胁的较大工具箱中的一个工具。
ShellSweep includes a Get-Entropy function that calculates the entropy of a file's contents by: - Counting how often each character appears in the file. - 使用这些频率来计算每个字符的概率。 - 对于每个字符,p*log2(p),其中p是字符的概率。这是信息理论熵的公式。

ShellScan​

ShellScan provides the ability to scan multiple known bad webshell directories and output the average, median, minimum and maximum entropy values by file extension.
通过ShellScan.ps1 Webshells的一些目录,设置任何尺寸。我用过:
https://github.com/tennc/webshell https://github.com/BlackArch/webshells https://github.com/tarwich/jackal/blob/master/libraries/This will give a decent training set to get entropy values.
输出示例:
.aspx文件的统计信息:
平均熵: 4.94212121048115
最小熵: 1.2934870997974
最大熵: 6.09830238020383
中值熵: 4.85437969842084
.asp文件的统计信息:
平均熵: 5.51268104400858
最小熵: 0.732406213077191
最大熵: 7.69241278153711
Median entropy: 5.57351177724806

ShellCSV​

First, let's break down the usage of ShellCSV and how it assists with identifying entropy of the good files on disk. The idea is that defenders can run this on web servers to gather all files and entropy values to better understand what paths and extensions are most prominent in their working environment.
请参见ShellCSV.CSV作为示例输出。

ShellSweep​

首先,选择您的Floaty: Python,PowerShell或Lua。
根据ShellScan或ShellCSV的结果,根据需要修改熵值。根据需要修改文件扩展名。无需在非ASPX应用程序上查找ASPX。修改路径。我不建议只扫描所有C: \,要过滤很多。修改所需的任何过滤器。运行!如果您在这里做到了,这是您迭代调整的部分。找到新的外壳?收集熵并根据需要进行修改。

Questions​

可以随意打开GIT问题。

Thank You​

如果您喜欢这个项目,请务必与家人和朋友分享该项目。
 
返回
上方