《黑客免杀攻防》第八章 PE文件知识在免杀中的应用

通过上一章对PE结构如此详实的了解,现在是时候做点手脚来干扰一下2B的杀软了:


1PE文件与免杀思路

A移动PE文件头

判断PE文件有效性漏洞:

一般会认为Size Of Optional Header的必定是0xE0

导致有人未必读取它的值以确定实际的大小。

我们通过将其移动到Dos stub中,然后修改被忽略的Size Of Optional Header


B导入表移动免杀

通过修改指向导出表具体项目的ThunkValue并移动这个具体项目。


2PE文件与反启发式扫描

其它非与PE文件相关的启发式扫描请参考第16章“免杀技术前沿”内容。

A最后一个区段为代码段。这会引发“异常的入口点”。会引起启发式扫描引擎的注意。


B可疑的区段头部属性

代码段可写,数据段可执行。。。

蠕虫感染文件只有三种方案:

a增加新的可执行区段

b现在代码段插入恶意代码

c穿插到不同区段,并修改相应区段属性


C可疑的PE选项头的有效尺寸值

D可疑的代码节名称

E多个PE头部

F导入表项存在可疑导入

a无效导入表

b导入方式可疑:对于系统API使用基于序号的导入方式,or使用偏移调用API

c导入函数可疑,导入了完成某个特定恶意行为的API序列或程序内部包含有相关API函数的名称。


应对:使用自己实现的GetProcAddress函数,以便通过散列值等方法寻找并调用相关敏感API。


3隐藏导入表

A异或加密

B导入表单项移除(N种哈)

a对应IAT删掉(会导致其后所有的DLL导入函数失效)

b在启动初期用正确的值填充IAT(需要用到LoadLibrary和GetProcAddress这两个API函数,当然还有其它更复杂的办法不需要导入这两个API函数)

书中给出了浅显的例子和详尽的说明。P168


C重构导入表

D利用HOOK方式打乱其调用等



版权声明:本文为博主原创文章,未经博主允许不得转载。

你可能感兴趣的:(《黑客免杀攻防》第八章 PE文件知识在免杀中的应用)