DLL劫持
本文参考借用UAC完成的提权思路分享
这里面有一个关键的点就是在通过UAC验证通过后的程序是被赋予了管理员权限的,所以可以完成提权操作!
本文全靠记忆,绝无抄袭!别人的知识,记住了就是自己的了!
基本的思路就是找到程序正常运行时调用的dll文件,然后对该dll文件进行劫持修改成我们自己的恶意文件执行恶意的代码。其中有一点技巧就是我们往往劫持的dll文件不是已经存在的,而是程序需要调用但系统中没有的这样劫持的痕迹就不会特别清楚,其二在选择劫持的程序的时候尽量选择那些需要从网络上下载安装资源的程序,这样的成功了高一些,其三为了保证我们的后门不会因为程序崩溃而结束,往往采取进程注入的方式来进行操作,也就是我们的dll文件的功能其实是讲我们的shellcode注入到另一个进程里面。
首先我们要做的事找一个不存在的dll文件,这里拿C:\windows\system32\CompMgmtLauncher.exe举例,我们使用procmon.exe来监控该程序读取dll文件的情况。
可以看到,太多了,我们不需要这么多,所以我们要设置一下过滤规则
首先我们过滤一下路径类型,有文件、进程、注册表、网络这一类的,我们只需要看文件相关的
这样就少很多了,但是还不够,我们继续设置过滤规则
点一下它,然后添加三天规则,process name is CompMgmtLauncher.exe | path contains system32 | result is NAMENOT FOUND
这样就筛选出来了该进程尝试访问但是不存在的dll文件
然后我们讲我们自己创建的dll文件改名称上图任意一个,然后放到对应的目录下面就可以了。
至于dll文件怎么编写,怎么制作,,,,请看原文,我自己也看的一脸懵,昨晚的实验还失败了!!!