首页 > 其他分享 >白利用-白文件patch免杀

白利用-白文件patch免杀

时间:2022-08-16 10:45:54浏览次数:74  
标签:文件 免杀 程序 patch CALL 执行 Shellcode

微步2022 攻防演习总结中https://mp.weixin.qq.com/s/8chNYrstha_dwuClJzyCNA 提到了一个比较新颖的攻击技术-白文件patch,发现很少有相关的资料就自己尝试构造并记录了一下构造的过程。

 

 

 

 

 

 

思路:
修改白文件的程序执行流程,找到合适的位置插入call patch 指令,patch中可以存放任意在恶意代码,在执行白文件的同时执行恶意代码

 

实现:

拿一个签名程序Everything举例

 

1.首先在程序中添加一个区段,可以借助studyPE,注意赋予可读可写可执行属性,到时候用来存放我们的Patch

 

 

2.od打开修改后的文件,查看M-内存布局,可以看到我们刚才添加的节

 

 

3.接下来我们只需要在Everything执行过程中找到一处不影响程序正常执行的位置,CALL到这个节的首地址

 

001F43C4这里连续有两个CALL,第二个CALL没有调用任何参

 

 我们把第二个CALL NOP掉 ,再试一下会不会影响程序正常执行

 

 NOP掉后程序可以正常执行

 

 

 OD重载程序再次找到刚才的位置把第二个call的地址改成CALL  Path的地址 及刚才添加的zaas节的首地址CALL 00305000

选中-复制到可执行文件-保存

 

 

 

再次加载新文件,在上次修改的call的地方填充自己准备好的Shellcode(可以是自己写好的经免杀处理的Shellcode,红队的童鞋们都懂的~我这里拿calc演示)

 

解析保存内容 选中-复制到可执行文件-保存

 

我们再次执行新文件,发现程序在正常打开的同时成功执行Shellcode

 

 

查看一下属性,跟原版相比少了些什么。由于文件被改动,数字签名已经失效

 

 我们可以再伪造一下数字签名,我这里用的是开源项目SigThief,具体使用方法大家自己看吧: https://github.com/secretsquirrel/SigThief

 

再次打开几乎和真正的程序一模一样,不看详细的签名信息是看不出来问题的

 

 

 

 

 至此,白文件Patch的免杀已制作完成!

 

标签:文件,免杀,程序,patch,CALL,执行,Shellcode
From: https://www.cnblogs.com/zhaoyixiang/p/16590550.html

相关文章