1、免杀技术
加花指令:攻击者为程序添加了一段没有作用的指令,不影响程序的运行,程序的部分偏移便会受到影响,反病毒软件是靠特征码来判断文件是否有毒的,反病毒软件不能识别这段花指令,那么它检测特征码的偏移量会整体位移一段位置,自然也就无法正常检测木马了。
加壳:当运行加壳的程序时,系统首先会运行程序的“壳”,然后由壳将加密的程序逐步还原到内存中,最后运行程序。加壳之后的文件反病毒软件无法将其还原,那么特征码也就无法判断出来,无法正常检测到木马了。
修改特征码:反病毒软件是靠特征码来判断文件是否有毒的,那么通过修改特征码,使反病毒软件的特征库匹配不到,也就无法正常检测到木马。
2、特征码定位
工具:
定位特征码有三款非常不错的工具:MyCCL、CCL、MultiCCL
MyCCL 2.1
功能:
文件路径: 定位的文件路径
目录路径: 存放MyCCL分块文件的目录
分块数量: 分块文件的个数
单位长度: 填充的字符长度
填充: 十六进制字节数据填充
开始位置/结束位置: 开始填充位置/结束填充位置
分段长度: 填充字符的总长度
正向: 选择填充方向
复合定位: 定位多处特征码
单一定位: 定位一个特征码
原理:
假设一段病毒程序代码是如下(0代表NULL, ,a、b、c等代表特征码):
001h:XXXXXaXXXbXXXXXXXXXX
002h:XXXXXXXXcXXXXXxXXXXX
003h:XXXXXXXXXaXXXXXXXXXX
004h:XXXXXXXXXbXXXXXXXXXX
005h:XXXXXXXXXXXXcXXXXXXX
当文件同时包含a.b.c三种特征码的时候,反病毒软件就报毒啦。这就是所谓的复合特征码。当然杀软在定义复合特征码的时候可能有好几种组合,好几套特征码。这里手动用MyCCL来生成5个文件。
========File1=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:00000000000000000000
003h:00000000000000000000
004h:00000000000000000000
005h:00000000000000000000
========File2=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:XXXXXXXXcXXXXXxXXXXX
003h:00000000000000000000
004h:00000000000000000000
005h:00000000000000000000
========File3=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:XXXXXXXXcXXXXXxXXXXX
003h:XXXXXXXXXaXXXXXXXXXX
004h:00000000000000000000
005h:00000000000000000000
========File4=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:XXXXXXXXcXXXXXxXXXXX
003h:XXXXXXXXXaXXXXXXXXXX
004h:XXXXXXXXXbXXXXXXXXXX
005h:00000000000000000000
========File5=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:XXXXXXXXcXXXXXxXXXXX
003h:XXXXXXXXXaXXXXXXXXXX
004h:XXXXXXXXXbXXXXXXXXXX
005h:XXXXXXXXXXXXcXXXXXXX
=========================
从File2开始就有了abc特征码的组合,File2到File5就被杀了。被杀以后再用MyCCL,进行二次定位,这样我们就知道了特征码c的位置了。然后再把002h那行置0,再生成一次。
第二次生成5个文件:
========File1=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:00000000000000000000
003h:00000000000000000000
004h:00000000000000000000
005h:00000000000000000000
========File2=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:00000000000000000000
003h:00000000000000000000
004h:00000000000000000000
005h:00000000000000000000
========File3=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:00000000000000000000
003h:XXXXXXXXXaXXXXXXXXXX
004h:00000000000000000000
005h:00000000000000000000
========File4=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:00000000000000000000
003h:XXXXXXXXXaXXXXXXXXXX
004h:XXXXXXXXXbXXXXXXXXXX
005h:00000000000000000000
========File5=============
001h:XXXXXaXXXbXXXXXXXXXX
002h:00000000000000000000
003h:XXXXXXXXXaXXXXXXXXXX
004h:XXXXXXXXXbXXXXXXXXXX
005h:XXXXXXXXXXXXcXXXXXXX
=========================
因为002h被我们置0了,这里只有File5有abc特征码了,所以File5被杀,这时另一处c也暴露出来了,这样我们就把所有c特征码都定位出来了。
实操:
1)生成一个远控木马123.exe,利用MyCCL加载,分块数量分为20;
2)点击生成
3)点击yes,生成输入切块文件夹OUTPUT,并提示杀毒
4)打开360杀毒,并关闭实时防护及云引擎等,利用本地扫描进行扫描5)扫描出21个风险文件,1个为远控软件,20个为块文件,点击立即处理进行查杀,查杀完再利用MyCCL点击二次处理
6)程序提示已经找到一处特征码,可能还存在其他,是否继续进行,选择yes进行,并提示选择再次杀毒及二次处理,直到识别不到病毒文件,重复4、5、6的操作,杀毒完成后,点击MyCCL的特征区间,查看特征码
7)打开C32Asm,将123.exe托入其中,右键对应HEX编辑(即查看16进制)
8)再右键点击跳到,输入特征码
9)再右键点击对应汇编模式编辑,便到达了特征码的汇编代码处,便可以进行修改特征码了。
来源:freebuf.com 2019-04-12 20:28:13 by: 凯信特安全团队
请登录后发表评论
注册