探索远程控制软件:渗透测试中的深度利用技巧

DLL 劫持

DLL 简介

在 Windows 中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即 DLL 文件,放置于系统中。当我们执行某一个程序时,相应的 DLL 文件就会被调用。一个应用程序可使用多个 DLL 文件,一个 DLL 文件也可能被不同的应用程序使用,这样的 DLL 文件被称为共享 DLL 文件。

DLL 加载顺序

如果程序需要加载一个相对路径的 dll 文件,它将从当前目录下尝试查找,如果找不到,则按照如下顺序寻找:

windows xp sp2 之前

Windows 查找 DLL 的目录以及对应的顺序:

  • 进程对应的应用程序所在目录;
  • 当前目录(Current Directory);
  • 系统目录(通过 GetSystemDirectory 获取);
  • 16 位系统目录;
  • Windows 目录(通过 GetWindowsDirectory 获取);
  • PATH 环境变量中的各个目录;

windows xp sp2 之后

Windows 查找 DLL 的目录以及对应的顺序(SafeDllSearchMode 默认会被开启):

默认注册表为:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SafeDllSearchMode,其键值为 1

  • 进程对应的应用程序所在目录(可理解为程序安装目录比如 C:\ProgramFiles\uTorrent)
  • 系统目录(即 % windir% system32);
  • 16 位系统目录(即 % windir% system);
  • Windows 目录(即 % windir%);
  • 当前目录(运行的某个文件所在目录,比如 C:\Documents and Settings\Administrator\Desktop\test);
  • PATH 环境变量中的各个目录;

windows 7 以上版本

从 Windows7 之后,微软为了更进一步的防御系统的 DLL 被劫持,将一些容易被劫持的系统 DLL 写进了一个注册表项中,该项下的 DLL 文件就会被禁止从 EXE 自身所在的目录下调用,而只能从系统目录 SYSTEM32 目录下调用,其注册表位置:

图片[1]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
图片[2]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛

单个查找劫持

https://github.com/knight0x07/ImpulsiveDLLHijack

编译完成后,把 Prerequisites 文件夹里的内容拷贝至 ImpulsiveDLLHijack 项目里

图片[3]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛

PLAINTEXT

1ImpulsiveDLLHijack.exe -path xxx.
图片[4]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
图片[5]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
图片[6]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
图片[7]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
图片[8]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
图片[9]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
图片[10]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
图片[11]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
图片[12]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
图片[13]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
图片[14]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
图片[15]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
图片[16]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
图片[17]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
图片[18]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛

这时候我们可以使用 AheadLib 工具,使恶意的 DLL 将原有的函数转发到原 DLL 中并且释放恶意代码

打开工具导入 dll 文件,会生成相应的 cpp 文件

直接转发函数,我们只能控制 DllMain 即调用原 DLL 时触发的行为可控
即时调用函数,可以在处理加载 DLL 时,调用具体函数的时候行为可控,高度自定义触发点,也称用来 hook 某些函数,获取到参数值

图片[19]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
图片[20]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
图片[21]-探索远程控制软件:渗透测试中的深度利用技巧-山海云端论坛
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容