如何寻找漏洞文件和处理方法插图

本文仅为日志记录,撰写于2020年,并已将所有样本上传,公示文件已经失效

一般的话建议到360软件管家取找白文件,因为那里的文件都是360认可的。

其他的文件即使找到了,也不容易利用。但如果你有幸找到了杀软的漏洞文件,那就稳定了一批。

检查exe文件的有效签名

安装后,我们直接看exe文件是否带有有效的签名,这很关键。如果是很久以前的文件,数字签名的效果可能会受到影响。

如何寻找漏洞文件和处理方法插图1

寻找调用独立DLL文件的exe文件

要一个一个尝试进去,直到找到可以利用的文件。

如何寻找漏洞文件和处理方法插图2

找到文件后的处理

那次机缘巧合,我找到了他。找到文件后,卸载掉源文件,避免运行环境影响。

编写自定义DLL文件

我之前写过一个DLL文件,将其放入系统目录并提取出来。代码基本上都是动态调用,不使用也没问题。

确定函数调用顺序

接下来要确定函数的调用顺序,是否能够调用DLL里的子程序。有些文件是有自校验的。我使用一个笨办法,在所有导出函数下写个信息框,调用后弹出信息框就知道是调用的哪个函数了。

编译和使用DLL文件

将编译好的DLL文件放到同一目录下,让exe文件调用。作者似乎在这里加入了延迟加载了DLL文件的机制。以前的话直接调用,现在要锁定这个函数并将其功能完全写入。

自己写服务项启动

你也可以自己写服务项启动。一般来说,写出来的黑DLL记得加壳,除非你有有效的数字签名。否则函数会直接暴露在杀软面前,到时候就会失效。

如何寻找漏洞文件和处理方法插图3

检查病毒和自签名

写完之后,记得查毒并打个自签名。这相当于起了一个忽悠用户和杀软的作用(或者说是幌子)。

上线测试

小马已经编译好并加密过了,直接上机。那么点击我们的白文件

360开机启动项和查毒

360直接默许了更改开机启动项,足以看出这玩意交了多少钱。查毒只要你的DLL不报毒,360就不会报警。

重启上线验证

已经写入启动项,等下重启测试。如果不上线的话,说明可能是DLL问题或者白文件的问题。有些白文件的权限不够高,或者数字签名等级不够高,要么自己提权,要么放弃不使用。比如说那个115player,权限级别不够写启动。

测试完成

重启后上线正常。