面向C#后渗透工具的混淆工具概念验证。它将针对C# Visual Studio项目执行以下操作。
以下字符串候选不参与混淆
Console.WriteLine($"Hello, {name}! Today is {date.DayOfWeek}, it's {date:HH:mm} now.");)" => "的行,用于switch语句,需要是静态值is,因为比较的值必须是静态的'开头或结尾的字符串""'+ @""""""Encoding.Unicode.GetStringEncoding.Unicode.GetBytesEncoding.ASCII.GetBytes"开头、以")]结尾的行。这通常用于命令行开关,需要是静态值。-d, --directory - Visual Studio项目所在的目录-m, --method - 混淆方法 (base64, rot13, reverse)-n, --name - 新工具的名称-h, --help - 帮助菜单--version - 获取工具版本Base64字符串混淆
python InvisibilityCloak.py -d /path/to/project -n "TotallyLegitTool" -m base64
python InvisibilityCloak.py -d C:\path\to\project -n "TotallyLegitTool" -m base64
ROT13字符串混淆
python InvisibilityCloak.py -d /path/to/project -n "TotallyLegitTool" -m rot13
python InvisibilityCloak.py -d C:\path\to\project -n "TotallyLegitTool" -m rot13
反向字符串混淆
python InvisibilityCloak.py -d /path/to/project -n "TotallyLegitTool" -m reverse
python InvisibilityCloak.py -d C:\path\to\project -n "TotallyLegitTool" -m reverse
python InvisibilityCloak.py -d /path/to/project -n "TotallyLegitTool"
python InvisibilityCloak.py -d C:\path\to\project -n "TotallyLegitTool"
下表显示了使用InvisibilityCloak对20个流行的公共C#工具进行混淆前后的基于签名的检测统计。
此数据专门针对Microsoft Defender(免费版),截至2022年4月14日准确。
下表展示了20个流行的公共C#工具在使用InvisibilityCloak进行不同字符串混淆方法前后的文件大小。
| 工具 | 链接 | 未混淆 | 使用InvisibilityCloak混淆后 |
|---|
| 工具 | 链接 | 未混淆 | ROT13字符串混淆 | Base64字符串混淆 | 反向字符串混淆 |
|---|