前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用LightsOut生成经过混淆处理的DLL

如何使用LightsOut生成经过混淆处理的DLL

作者头像
FB客服
发布2024-01-04 13:41:23
890
发布2024-01-04 13:41:23
举报
文章被收录于专栏:FreeBufFreeBuf

关于LightsOut

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操作系统上运行,且需要安装并配置好下列组件:

代码语言:javascript
复制
Python 3

Mingw-w64

工具下载

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3.x环境。接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/icyguider/LightsOut.git

然后切换到项目目录中,直接运行工具主脚本即可:

代码语言:javascript
复制
cd LightsOut

python3 lightsout.py

工具运行

代码语言:javascript
复制
_______________________

|                       |

|   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:

https://github.com/icyguider/LightsOu

https://rastamouse.me/memory-patching-amsi-bypass/ https://ethicalchaos.dev/2022/04/17/in-process-patchless-amsi-bypass/ https://github.com/rad9800/misc/tree/main/hooks

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-01-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (右滑查看更多)
相关产品与服务
网站渗透测试
网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档