VT全绿-手动patch exe免杀

admin 2024年8月12日10:16:14评论63 views字数 1464阅读4分52秒阅读模式

一、前言

最近看了两篇文章可以过免杀,并且显示vt全绿,效果很好,于是兴致勃勃动手实验一下。

二、过程

文字介绍的过程很简单,是使用exe镂空的一种手法,直接替换函数的字节码为自己的shellcode,但是为了实现这个过程,遇到了很多坑。

1、字节码被修改

重定向表是什么?

VT全绿-手动patch exe免杀
0

通过ida确认资源地址

VT全绿-手动patch exe免杀
1

重定向表指向了一批地址,这批地址的对应的字节码是需要进行修改的。

那么系统如何寻找重定向的呢?

1、寻找模块地址偏移

VT全绿-手动patch exe免杀
2
VT全绿-手动patch exe免杀
3

rdata的区段起始地址为0x53000,而重定向表的地址为0x45339c,那么偏移实际为:

0x45339c - 0x5300

2、获取内存中的rdata模块地址

VT全绿-手动patch exe免杀
4

3、计算内存中的地址

0xbf3000 + (0x45339c - 0x5300)

VT全绿-手动patch exe免杀
5

4、系统直接修改内存中的字节码地址

通过ida来到引用的地址,看看如何重定向的,因为ida默认的地址为0x400000(0x401000为pe头),引用地址为0x401310,ollydbg的地址为:0xba0000(0xba1000为pe头),0xba0000 + 0x401310-0x4000就是最终地址了

VT全绿-手动patch exe免杀
6

然后会发现内存中的字节码和ida中的字节码不一样,因为系统会根据重定向表修改内存中的字节码。

VT全绿-手动patch exe免杀
7

对比下面字节码,68是push,后面四位地址是倒叙的地址,直接修改地址。

ida:68 9c 33 45 00 # 0x00 0x45 0x33 0x9c 
ollydbg: 68 9c 33 bf 00 # 0x00 0xbf 0x33 0x9c 

这个是对于exe本身的重定向,其他的函数调用也是一样的,call 的地址直接被修改。

快速过滤没有重定向

寻找没有这种下划线的

VT全绿-手动patch exe免杀
8
VT全绿-手动patch exe免杀
9

最终不会弹出告警的

VT全绿-手动patch exe免杀
10

2、shellcode空间不够

1、通过ida | edit | Segment | Rebase Program 设置跟ollydbg一样的基地址

2、通过ida的函数列表寻找函数长度大的函数(我生成的shellcode有903字节)

3、通过jmp跳转到大空间函数

找到4c6c80地址

VT全绿-手动patch exe免杀
11

确实有很大的空间,只要跳开前面一段

VT全绿-手动patch exe免杀
12

但是运行这个exe无法执行到这个函数,我们就可以直接jmp一下即可。

如何获取到ASLR后的这个函数地址呢?很简单,通过ebp地址即可。

VT全绿-手动patch exe免杀
13
mov eax,[ebp+4# 获取到0x4b9422函数地址,
mov eax,0xd85e  # 要跳转到0x4c6c80,计算0x4c6c80 - 0x4b9422地址差,所以这里要相加
jmp eax # 就可以跳转到目的地址了

3、修改后出现0x0000005报错

运行程序还是报错了,由于是快速闪退,我们可以通过系统日志查看报错的代码。0x0000005是c开发者以及玩pwn最常见的错误代码,通常往不可写的地址写就会报错。

VT全绿-手动patch exe免杀
14

但是我这段shellcode就是下载exe并且执行exe,为什么会报这种错误?于是我使用vs进行调试发现如果是在改内存。

VT全绿-手动patch exe免杀
15

发现之前的shellcode使用了编码器

VT全绿-手动patch exe免杀
16

最终替换不使用编码器的shellcode即可

VT全绿-手动patch exe免杀
17

即可正常运行。

4、最终效果

当然还是被杀,感觉这个并没有太大的作用,还是需要做反沙箱才行。

VT全绿-手动patch exe免杀
18

三、总结

个人觉得效果并不是很好,比较浪费时间而且操作复杂(需要自己重新写shellcode,以及加入反沙箱,做到这步就可以实现免杀了),自己搞一个开源产品编译,然后替换里面的资源以及签名也是一样的(主要是用来迷惑人工逆向)。

原文始发于微信公众号(lufeisec):“VT全绿”-手动patch exe免杀

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月12日10:16:14
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   VT全绿-手动patch exe免杀https://cn-sec.com/archives/3057347.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息