远控免杀从入门到实践(8)-shellcode免杀实践
郑重声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!
《远控免杀从入门到实践》系列文章目录:
1、远控免杀从入门到实践 (1)基础篇
2、远控免杀从入门到实践 (2)工具总结篇
3、远控免杀从入门到实践 (3)代码篇-C/C++
4、远控免杀从入门到实践 (4)代码篇-C#
5、远控免杀从入门到实践 (5)代码篇-Python
6、远控免杀从入门到实践 (6)代码篇-Powershell
7、远控免杀从入门到实践 (7)代码篇-Golang+Ruby
8、远控免杀从入门到实践(8)-shellcode免杀实践
前言
最近在研究shellcode的免杀技术,因本人以前主要是搞逆向的,shellcode免杀方面还是个小白,所以就想着去看一看我老师任晓珲写的《黑客免杀攻防》想从中寻找一些思路,但是也没有找到比较好实际运用的例子来进行实践。后来看了看卿先生的博客和拿破轮胎写的文章实践了一下里面的几种思路,感觉还挺有意思,特记录实践过程与大家分享一下,有写错的地方还请各位大佬斧正,当然啦,好的免杀方法一旦公布也就很快就不免杀了,网上搜索能得到的免杀方法也几乎都是炒冷饭,但是冷饭就没有营养可以汲取吗?所以说我们可以借鉴别人分享思路,发散思维打造自己的免杀方法。
一、直接生成可执行文件
目前网上有很多的自动生成免杀shellcode的工具,但是要知道杀毒软件检测某个免杀工具也是非常容易的,因为这些流行工具的指纹很容易被杀软公司搜集到然后加入特征库,这样就使得通过这个工具制作的shellcode免杀基本上就失灵了,工具就变得很容易过时,所以我们需要来自己制作免杀。
我们使用CS生成C语言形式的shellcode
用VS编写程序加载shellcode加载器直接生成木马程序可执行文件。
关于shellcode的加载器编写方式大家可以参考这篇文章:https://uknowsec.cn/posts/notes/shellcode%E5%8A%A0%E8%BD%BD%E6%80%BB%E7%BB%93.html
生成可执行文件后使用360静态查杀结果如下,这样直接生成可执行文件的形式有时候也可以躲避一些杀软的查杀。
点击我们直接生成的可执行文件,CS成功上线360未拦截(其余杀软请自行测试)。
二、加密shellcode后生成可执行文件
但是这种直接生成可执行文件的免杀效果有时候还是不太够,我们可以把shellcode进行加密存储,然后在执行的时候再解密出来执行,免杀