一种DLL劫持检测工具源码
2023-1-27 21:12:50 Author: MicroPest(查看原文) 阅读量:12 收藏

    长假即将结束,又要投入到工作中了。虽然七天假上了四天的班,但还是很爽的。

    近日,溜达时发现了一款DLL劫持检测的源码,仔细地看了下,还是很有创意的,源码在下面附上。当时咋一看时,有点懵,DLL劫持的很多东西都想不起来了,虽然以前也研究过。正好有点时间,就找到了当年“论剑”大会上讲课的PPT,时间显示是十年前的东西了,满满的记忆。印象中当年研究还是蛮深的,截几张

一、源码下载

https://github.com/cyberark/dllspy

二、编译好的下载

链接:https://pan.baidu.com/s/1PATSJQKo26MvmOLcB7x0uw 

提取码:jl05 

三、用法

DllSpy.exe -d -s -o result.csv -r 2

参数解释如下:

-d 动态,在所有正在运行的进程和服务中发现DLL劫持。

-s 静态,在当前运行的进程和服务的二进制文件中搜索DLL引用。

-o 输出的文件名。

-r 2 递归,搜索DLL引用在发现的DLL文件privous扫描。2是两层,可以是<5的层数。

四、实现原理

动态——首先,通过迭代进程加载的模块列表来扫描加载的模块。然后检查这些模块中是否有可能被劫持,方法是尝试写入它们在磁盘上的文件位置,并检查它们是否可以被覆盖。这是在复制explorer.exe的访问令牌之后完成的,这是一个弱令牌。我们这样做是为了测试我们作为普通用户是否具有对DLL位置和DLL本身的写权限。

静态——在运行进程的二进制文件中查找所有包含DLL名称或DLL路径的字符串。

递归——静态地扫描前面检查过的进程的所有dll。目标是找到由这些dll加载的更多dll,并查看它们是否容易被劫持。


文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NDcxMDQzNA==&mid=2247487598&idx=1&sn=dcdec6c8d494cc371137a262c69eca0d&chksm=a682c6a391f54fb54fe9e3faeea68573b1ad9bb365abe33682aaf046116e954f8a7e97807238#rd
如有侵权请联系:admin#unsafe.sh