darkPulse用于生成各种各样的shellcode loader的工具免杀火绒 360核晶等|免杀相关

admin 2024年7月30日17:25:16评论67 views字数 1898阅读6分19秒阅读模式

0x01 工具介绍

        darkPulse是一个用go编写的shellcode Packer,用于生成各种各样的shellcode loader,免杀火绒,360核晶等国内常见杀软!

darkPulse用于生成各种各样的shellcode loader的工具免杀火绒 360核晶等|免杀相关

下载地址在末尾

0x02 功能简介

  • 使用sgn编码,使用了 EgeBalci/sgn 提供的二进制文件。
  • 支持aes/xor加密,uuid/words混淆,支持间接syscall和unhook两种模式下的callback,fiber,earlybird三种加载方式。
  • 间接sysacll参考了SysWhispers3的项目,链接:klezVirus/SysWhispers3
  • unhook使用了 自定义跳转函数的unhook方法 文中所讲述的方法,文中提到的github仓库 trickster0/LdrLoadDll-Unhooking 只实现了64位下的demo,我在 LdrLoadDll-Unhooking-x86-x64 中完善了32位和64位通用的一段代码。
  • 由于采用了sgn对 shellcode 加密,再次使用 aes/xor 加密反而成了特征点,现在已经取消了后者的加密。
  • 由于rust在编译words混淆模板的时间过长(实测编译cs的shellcode要40min),且单纯的uuid混淆效果不好,现在采用的方式是前百分之10的shellcode由words混淆,其余的由uuid混淆,比例可以自行在源代码中调整,目前的编译时间大约是1min。
  • 其实模板的源文件也给大家了,大家完全可以自行修改规避静态查杀,也可以改成远程加载的方式

实现效果

7.25 对rust模板进行修改,可过核晶上线

darkPulse用于生成各种各样的shellcode loader的工具免杀火绒 360核晶等|免杀相关

5.20 新增Rust模板,测试如下:

darkPulse用于生成各种各样的shellcode loader的工具免杀火绒 360核晶等|免杀相关

darkPulse用于生成各种各样的shellcode loader的工具免杀火绒 360核晶等|免杀相关

5.1日师傅们的测试

darkPulse用于生成各种各样的shellcode loader的工具免杀火绒 360核晶等|免杀相关

微步云沙箱无检出

darkPulse用于生成各种各样的shellcode loader的工具免杀火绒 360核晶等|免杀相关

360(未开核晶):无检出

darkPulse用于生成各种各样的shellcode loader的工具免杀火绒 360核晶等|免杀相关

火绒:无检出

darkPulse用于生成各种各样的shellcode loader的工具免杀火绒 360核晶等|免杀相关

360(开启核晶):无检出(使用syscall和unhook两种方式生成的exe均成功绕过核晶)

darkPulse用于生成各种各样的shellcode loader的工具免杀火绒 360核晶等|免杀相关

0x03更新说明

2024.7.25 解决了部分bug,去除了对shellcode的加密,更改了rust混淆的方式,rust模板可过核晶,c模板可过火绒2024.5.20 解决了部分bug,新增 rust 模板,使用方法见上面说明2024.5.4 解决了部分bug,新增加 sgn 编码工具,增加静态规避效果2024.5.1 优化了错误提示,解决了部分bug,优化了unhook模板,新增debug模式,可以选择是否打印中间加密/混淆过程,新增加编译好的Mac可执行文件

0x04 使用介绍

C模板

首先要配好gcc的环境,命令行运行gcc -v 有反应

个人测试gcc版本

gcc version 8.1.0 (x86_64-posix-sjlj-rev0, Built by MinGW-W64 project)

如果不一样可能会出现bug

Rust模板

注意:目前Rust模板只支持Unhook选项。

配置环境参考文章 Windows 下使用MSYS2,GNU,非MSVC环境安装Rust方法 ,个人安装的是 nightly 版本,但是stable版本应该也可以。

https://zhuanlan.zhihu.com/p/613466378

个人工具链配置

C:>rustup toolchain listnightly-i686-pc-windows-gnunightly-x86_64-pc-windows-gnu (default)

其中 i686 是为了编译32位下目标设置的,可以使用rustup default nightly-x86_64-pc-windows-gnu调整默认工具链,工具使用时默认64位工具链就可以,但是如果需要编译32位loader需要安装 i686 的工具链,在上面的参考文章对应地方稍微改一下就行。

darkPulse用于生成各种各样的shellcode loader的工具免杀火绒 360核晶等|免杀相关

示例1

darkPulse用于生成各种各样的shellcode loader的工具免杀火绒 360核晶等|免杀相关

示例2

darkPulse用于生成各种各样的shellcode loader的工具免杀火绒 360核晶等|免杀相关

即在当前目录下生成 Program.exe

注意:syscall下的earlybird方式由于某些bug并没有使用间接syscall方式加载,尽量不要使用。

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月30日17:25:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   darkPulse用于生成各种各样的shellcode loader的工具免杀火绒 360核晶等|免杀相关https://cn-sec.com/archives/3013701.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息