LightsOut是一款功能强大的DLL生成工具,该工具可以帮助广大研究人员轻松生成经过混淆处理的DLL。该工具专为红队研究人员设计,生成的DLL可以在研究人员尝试绕过反病毒产品时禁用AMSI和ETW,从而更好地测试目标系统的安全性。
该工具可以随机化DLL中所有的WinAPI函数使用、XOR编码字符串和基础的沙箱检测,并使用了Mingw-w64将经过混淆处理的C代码编译为DLL文件,然后再加载到任何有AMSI或ETW的进程中,例如PowerShell。
该工具旨在辅助研究人员进行红队渗透测试,以测试反病毒产品AV/EDR的安全检测能力。
当前版本的LightsOut提供了下列功能:
1、对字符串进行XOR编码;
2、WinAPI函数名称随机化;
3、支持多种沙箱环境检测选项;
4、提供硬件断点绕过选项;
当前版本的LightsOut仅支持在Linux操作系统上运行,且需要安装并配置好下列组件:
Python 3
Mingw-w64
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3.x环境。接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/icyguider/LightsOut.git
然后切换到项目目录中,直接运行工具主脚本即可:
cd LightsOut python3?lightsout.py
_______________________
| ??????????????????????|
| ??AMSI + ETW ?????????|
| ??????????????????????|
| ???????LIGHTS OUT ????|
| ???????_______ ???????|
| ??????|| ????|| ??????|
| ??????||_____|| ??????|
| ??????|/ ???/|| ??????|
| ??????/ ???/ || ??????|
| ?????/____/ /-' ??????|
| ?????|____|/ ?????????|
| ??????????????????????|
| ?????????@icyguider ??|
| ??????????????????????|
| ????????????????????RG|
`-----------------------'
usage: lightsout.py [-h] [-m <method>] [-s <option>] [-sa <value>] [-k <key>] [-o <outfile>] [-p <pid>]
?
Generate an obfuscated DLL that will disable AMSI & ETW
?
options:
??-h, --help ??????显示工具帮助信息和退出
??-m <method>, --method <method>
???????????????????要使用的绕过技术?(可选: patch, hwbp, remote_patch) (默认: patch)
??-s <option>, --sandbox <option>
???????????????????要使用的沙箱规避技术?(可选: mathsleep, username, hostname, domain) (默认: mathsleep)
??-sa <value>, --sandbox-arg <value>
????????????????????????沙箱规避技术参数选项?(例如: WIN10CO-DESKTOP, testlab.local)
??-k <key>, --key <key>
????????????????????????编码字符串所使用的密钥?(默认随机生成)
??-o <outfile>, --outfile <outfile>
????????????????????????存储输出DLL的文件路径
?
Remote options:
??-p <pid>, --pid <pid>
????????????????????????要修补的远程进程PID
我们可以直接将工具输出的DLL文件发送到目标系统中,然后通过多种方法将其加载进PowerShell中。比如说,我们可以通过LoadLibrary和P/Invoke实现加载:
或者更简单地操作,直接将PowerShell拷贝到一个任意位置,然后实现DLL测加载:
本项目的开发与发布遵循GPL-3.0开源许可证协议。
LightsOut:【GitHub传送门】
Memory Patching AMSI Bypass – Rasta Mouse