提权之DLL注入

  • A+
所属分类:安全文章
DLL注入是一种允许攻击者在另一个进程的地址空间的上下文中运行任意代码的技术。如果进程中以过多的权限运行,那么可以会被攻击者加以利用,以便以DLL文件的形式执行恶意代码以提升权限。

手动注入

通过Metasploit的msfvenom创建DLL,该文件可以生成包含特定有效内容的DLL文件。应该注意的是,如果DLL被注入的进程是64位,那么应该使用64位有效负载。

提权之DLL注入

Msfvenom - DLL生成

下一步是设置metasploit监听,以便在将恶意DLL注入进程后接受连接。

提权之DLL注入

Metasploit监听配置


有许多可以执行DLL注入的工具,但最可靠的工具之一 就是使用CreateRemoteThread技术的Remote DLL Injector,它可以将DLL注入启用ASLR的进程。进程ID和DLL的路径是工具需要的两个参数:

提权之DLL注入

从Remote DLL Injector执行的那一刻起,为了实现DLL注入,将提供执行的完整步骤。

提权之DLL注入

Remote DLL Injector - DLL注入方法


如果DLL被成功注入,它将返回一个具有进程权限的更改会话。因此,具有比标准更高权限的进程可能会被滥用以进行特权升级。

提权之DLL注入

特权升级 - DLL注入


Metasploit注入

Metasploit框架具有执行DLL注入的特定模块。它只需要链接到一个传输器会话,并指定进程的PID和DLL的路径。

提权之DLL注入

Metasploit - DLL注入模块

提权之DLL注入

Metasploit - DLL注射


PowerSploit

通过DLL注入提升权限也可以与PowerSploit一起使用。msfvenom可以用于生成恶意DLL,然后通过任务管理器可以获得目标进程的PID。如果进程作为SYSTEM运行,则注入的DLL将以相同的权限运行。

提权之DLL注入

发现进程ID

Invoke-DLLInjection模块将执行DLL注入,如下所示:

提权之DLL注入

PowerSploit - DLL注入

DLL内的有效内容将被执行,并且将获得SYSTEM权限。

提权之DLL注入

DLL执行与系统特权


参考

  • https://clymb3r.wordpress.com/2013/04/06/reflective-dll-injection-with-powershell/

  • http://blog.opensecurityresearch.com/2013/01/windows-dll-injection-basics.html

  • https://disman.tl/2015/01/30/an-improved-reflective-dll-injection-technique.html

  • https://github.com/stephenfewer/ReflectiveDLLInjection

  • https://www.nettitude.co.uk/dll-injection-part-two/





扫描下方二维码学习更多WEB安全知识:

提权之DLL注入



提权之DLL注入
Ms08067安全实验室
专注于普及网络安全知识。团队已出版《Web安全攻防:渗透测试实战指南》,《内网安全攻防:渗透测试实战指南》,目前在编Python渗透测试,JAVA代码审计和二进制逆向方面的书籍。
团队公众号定期分享关于CTF靶场、内网渗透、APT方面技术干货,从零开始、以实战落地为主,致力于做一个实用的干货分享型公众号。
官方网站:www.ms08067.com

本文始发于微信公众号(Ms08067安全实验室):提权之DLL注入

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: