开头
有段时间对免杀十分感兴趣,想了想好久没在公众号发东西了,一直以来都是写语雀(这可真是好东西啊),决定把以前学习别人项目的和自己试着做的免杀(已失效)的记录发出来凑一凑文章
项目分析
github:https://github.com/9emin1/charlotte
-
先正常执行一遍
-
发现过程有一个removing charlootte.cpp,去python文件里把删除cpp文件的代码给删了
-
重新执行一遍,有我们想看的文件了
-
内容全是随机字符串
-
打开模板文件template.cpp对比,首先确认一下工作模式
确认了template.cpp是模板文件,但是不全,其中有一部分都是由python生成后,插入到其中
在.py文件中可以看到,利用replace替换字符串的方式去实现随机字符串的生成
它会将敏感的字符串都进行xor混淆,当然也包括shellcode
要注意的是,xor为了避免可逆或者固定特征,采用的也是随机字符串
通过对比,可以看到
不单单是字符,函数也进行了随机
同时,使用了getprocaddress的方式隐藏了导入表
-
接下来可以抄一下代码,看看如何实现的
在python中,会将字符串进行xor后,替换到模板中
然后在生成的文件中,开头可以看到,这一串就是xor混淆后的CreateThread等字符
然后他会放到需要用的地方进行调用
类似以下代码(python版)
总结
项目涉及到的免杀方法
-
xor混淆shellcode+硬编码
-
函数名变量名随机字符串
-
隐藏导入表
原文始发于微信公众号(E条咸鱼):免杀项目学习-1
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论