aDLL是一款功能强大的代码分析工具,可以帮助广大研究人员以自动化的方式识别并发现DLL劫持漏洞。该工具可以分析加载至内存中的源码镜像,并在加载过程中搜索DLL,并且利用了微软Detours代码库来拦截针对LoadLibrary/LoadLibraryEx函数的调用,然后分析在代码运行时过程中加载的DLL文件。
该工具的主要目标就是帮助广大研究人员搜索可执行程序所使用的DLL列表,并从中识别出潜在的DLL劫持漏洞。
DLL劫持指的是,病毒通过一些手段来劫持或者替换正常的DLL,欺骗正常程序加载预先准备好的恶意DLL。
首先我们要了解Windows为什么可以DLL劫持呢?主要是因为Windows的资源共享机制。为了尽可能多得安排资源共享,微软建议多个应用程序共享的任何模块应该放在Windows的系统目录中,如kernel32.dll,这样能够方便找到。但是随着时间的推移,安装程序会用旧文件或者未向后兼容的新文件来替换系统目录下的文件,这样会使一些其他的应用程序无法正确执行,因此,微软改变了策略,建议应用程序将所有文件放到自己的目录中去,而不要去碰系统目录下的任何东西。
为了提供这样的功能,在Window2000开始,微软加了一个特性,强制操作系统的加载程序首先从应用程序目录中加载模块,只有当加载程序无法在应用程序目录中找到文件,才搜索其他目录。利用系统的这个特性,就可以使应用程序强制加载我们指定的DLL做一些特殊的工作。
首先,我们需要使用下列命令将该项目源码克隆至本地:
接下来,我们就可以在项目的Binaries文件夹中找到已编译好的aDLL可执行文件了。我们建议广大用户使用版本架构(32为或64位)对应的版本来分析目标可执行文件。
为了保证该工具可以正常运行,我们必须将“hook32”、“hook64”、“informer*32”和“informer64”放置于“aDLL.exe”的相同目录下。
aDLL是在Windows 10操作系统平台上开发和测试的,如果你所使用的操作系统版本比较老,或者没有安装Visual Studio的话,那么工具在运行时可能会抛出例如“VCRUNTIME140.dll not found”之类的错误,此时我们就需要安装Visual C++ Redistributable更新了。【下载地址】
如需对项目代码进行修改或重新编译,建议使用Visual Studio 2015或更高版本。
该工具提供了一个-h选项,可以帮助我们获取aDLL全部可用的参数选项:
针对aDLL的使用,我们需要提供至少一个运行参数,即需要分析的可执行程序路径:
aDLL:【GitHub传送门】
2020年勒索病毒攻击比以往都来的更猛了一点,各种不同的勒索病毒黑客组织都似乎加大了这方面的投入,而且又有一些新的黑客组织加入进来,导致现在勒索病毒攻击越来越频繁了,最近几款流行的勒索病毒都非常活跃,经常有人通过各种渠道向我咨询勒索病毒相关的问题,勒索病毒攻击...
服务器安全勒索病毒
新手在使用阿里云过程中会遇到一个棘手的问题,就是不知道阿里云的远程登录的账号和密码,密码也容易被忘记掉。那么,如果阿里云服务器忘记密码怎么办?下面,小编就和大家说说如何重置阿里云服务器的密码。阿里云ECS密码重置教程首先要搞清楚的是阿里云账号密码和阿里云服务器...
阿里云服务器云服务器ECS忘记密码
第一步:点击应用程序-附件-终端(如图)第二步:打开命令终端,分别运行(如图)复制代码代码如下:echo nameserver 114.114.114.114 > /etc/resolv.confecho nameserver 114.114.115.1...
命令ubuntuDNS
分布式拒绝服务(DDoS)攻击是一种恶意攻击,它借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的为例。DDoS攻击通过大量合法的请求占用大量网络资源从而破坏常规网络流量,使得网络瘫痪。近年...
服务器安全DDOS防护DDosweb安全