如果杀毒软件和 EDR 供应商变得越来越智能,那么红队和渗透测试人员用来保持领先地位的工具也同样如此。Shell3r是这套武器库中最新的武器之一——一款开源、高效的Shellcode 混淆器,旨在攻破基本的检测机制。
Shell3r 由yehia-mamdouh发布,它允许操作员对原始 shellcode 进行加密、编码和转换为不易检测的形式,而无需更大的 C2 框架的臃肿开销。
如果您需要一种快速的方法来使有效载荷更加隐蔽,而无需从头开始滚动混淆器,那么 Shell3r 正是您所需要的。
什么是 Shell3r?
Shell3r是一个模块化的 shellcode 混淆器,可以绕过基本和中级静态检测技术。
它可以:
- 使用 AES、XOR 或其他技术加密 shellcode
- 使用多阶段转换对有效载荷进行编码
- 将 shellcode 拆分为随机块
- 随机化解码例程
- 将有效载荷嵌入到 C 源代码模板中,以便于编译
简而言之,它使原始有效载荷看起来与原始签名完全不同,大大降低了静态 AV 或基本 EDR 捕获它们的机会。
Shell3r 是模块化的,用 Python 编写,因此可以轻松地使用加密或编码插件进行扩展。
主要特点
- AES 加密:使用随机密钥的 AES-128 或 AES-256 加密 shellcode。
- XOR 和多态编码:混淆基于签名的引擎喜欢标记的模式。
- 随机解码器生成:每个混淆的有效载荷都会生成略有不同的运行时解码器。
- C 源代码输出:可以将混淆的 shellcode 直接输出为 C 模板,以供手动或自动编译。
- 跨平台:适用于 Linux、Windows(通过 WSL 或原生 Python)和 MacOS。
- 轻量级且快速:没有不必要的依赖或框架。
真实用例
- 红队行动:在模拟攻击中部署有效载荷时逃避 AV/EDR。
- 渗透测试:无需完整的 C2 混淆框架,即可将自定义工具或加载器绕过基本防御。
- 漏洞开发:在概念验证测试期间安全地传递 shellcode,而不会泄露防御系统。
- CTF 竞赛:当您需要将有效载荷偷偷传送过基于启发式的评分引擎时。
Shell3r 非常适合现代攻击者的工具包 - 特别是当您在完全攻击性的 C2 基础设施之外工作并且需要轻量级、适应性强的混淆时。
项目地址:
https://github.com/yehia-mamdouh/Shell3er
Shell3er 逆向功能
Get-RandomProcessName 函数
Get-RandomProcessName 函数通过将“PS_”与新的 GUID 连接起来,生成一个随机进程名称。此方法用于创建唯一且看似随机的进程名称,从而增加可疑进程的识别难度。
Run-BackgroundTask 函数
Run-BackgroundTask 函数接受一个 ScriptBlock 和一个可选的 ProcessName 作为参数。然后,它会以随机作业名称启动一个新的后台作业,执行脚本块并检索输出。此函数的主要目的是在后台运行任务而不干扰主脚本。
下载和上传功能
下载和上传函数用于在客户端和服务器之间传输文件。它们使用 Base64 编码在网络上传输文件数据。如果在文件传输过程中遇到错误,则会将其发送回客户端。
持久性机制
该脚本使用两种不同的方法在目标系统上实现持久化。首先,它将自身复制到“C:ProgramData”文件夹,并修改注册表项“HKCU:SOFTWAREMicrosoftWindowsCurrentVersionRun”,以便在用户每次登录时启动该脚本。其次,它将脚本复制到用户的“启动”文件夹,确保该脚本在用户每次启动系统时运行。
Shell3er 在以下解决方案上进行了手动测试(Checkpoint EDR 版本 E85.40)(卡巴斯基全方位安全软件)(Widdows Defender)
原文始发于微信公众号(Ots安全):Shell3r – 强大的 Shellcode 混淆器,适用于攻击性安全
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论