免杀项目学习-1

2022-10-27 14:59:58 浏览数 (3)

开头

有段时间对免杀十分感兴趣,想了想好久没在公众号发东西了,一直以来都是写语雀(这可真是好东西啊),决定把以前学习别人项目的和自己试着做的免杀(已失效)的记录发出来凑一凑文章

项目分析

github:https://github.com/9emin1/charlotte

  1. 先正常执行一遍
  1. 发现过程有一个removing charlootte.cpp,去python文件里把删除cpp文件的代码给删了
  1. 重新执行一遍,有我们想看的文件了
  1. 内容全是随机字符串
  1. 打开模板文件template.cpp对比,首先确认一下工作模式

确认了template.cpp是模板文件,但是不全,其中有一部分都是由python生成后,插入到其中

在.py文件中可以看到,利用replace替换字符串的方式去实现随机字符串的生成

它会将敏感的字符串都进行xor混淆,当然也包括shellcode 要注意的是,xor为了避免可逆或者固定特征,采用的也是随机字符串

通过对比,可以看到 不单单是字符,函数也进行了随机 同时,使用了getprocaddress的方式隐藏了导入表

  1. 接下来可以抄一下代码,看看如何实现的

在python中,会将字符串进行xor后,替换到模板中

然后在生成的文件中,开头可以看到,这一串就是xor混淆后的CreateThread等字符

然后他会放到需要用的地方进行调用

类似以下代码(python版)

总结

项目涉及到的免杀方法

  • xor混淆shellcode 硬编码
  • 函数名变量名随机字符串
  • 隐藏导入表

0 人点赞