安全随笔之dll劫持

安全测试笔记之一

环境篇

以下是我的原生环境
  • macOS Big Sur
  • 16G+512G
环境准备
  • 虚拟机(Big Sur使用PD16正版,其他Mac版本VM,PD随意,毕竟省钱...)
  • Windows7或者Windows10 iso镜像(msdn下载即可)
  • phpstudy
  • Dvwa
  • ChkDllHiJack工具:输入exe位置以及dll列表,检测程序是否有dll注入漏洞
  • processexplorer工具:微软官方工具,可以查看exe运行时调用了哪些dll文件
  • 处理dll文件脚本

正式内容

1 虚拟机安装

https://msdn.itellyou.cn/ 下载需要的镜像

  • macOS>11,使用 PD16(Parallels Desktop)

  • macOs<11,VM,PD各个版本都可以

  • Windows,VM

注意:如果最新版MAC系统使用VM老版本,会直接无法使用;使用VM最新版本,vm tools可能会无法安装;使用PD老版本,无法使用


小知识点,虚拟机网络连接模式有三种:

  1. 桥接模式:跟宿主机是兄弟,同属于一个局域网
  2. NAT模式:跟宿主机是父子,处于宿主机的局域网下
  3. 仅主机模式:仅主机模式下的虚拟机同处一个局域网,无法访问宿主机

2 phpstudy+dvwa

  1. 虚拟机中window系统安装好之后,将phpstudy文件解压,安装;
  2. 运行phpstudy,将dvwa文件夹放在WWW文件夹下;
  3. 浏览器进127.0.0.1/dvwa,发现报错;
  4. 根据报错提示将dvwa文件下config文件备份并修改;
  5. 再次进入127.0.0.1/dvwa,发现OK
  6. 没有安装数据库的话提前安装数据库,反正我不安装,后期用docker

3 dll文件漏洞

这个就直接附上操作步骤好了,按照这个步骤去找对应的exe文件测试吧,cnvd我已经提了2个了,大佬们加油!

  1. 打开待测exe文件
  2. 用Process Explorer查看待测exe打开调用的dll
  3. ctrl+s保存文件,使用脚本文件处理,得到一个新的纯dll列表的文件
  4. 关闭待测软件,找到exe文件路径
  5. 打开chkDllhiJack,将待测exe文件路径以及dll列表填入相对应的位置,点击检测or运行
  6. 如果存在dll劫持漏洞,则输出框内出现对应的dll文件名;如果不存在,则提示no valid xxx;
  7. 复制payload.dll文件(打开计算器),改名为对应的dll文件名,放在exe文件同一路径下,双击exe文件,查看打开exe文件的同时是否开启了计算器。

原文地址:https://www.cnblogs.com/wlyhy/p/14088200.html