《DLL劫持》技术当一个可执行文件运行时,Windows加载器将可执行模块映射到进程的地址空间中,加载器分析可执行模块的输入表,并设法找出任何需要的DLL,并将它们映射到进程的地址空间中。 -- 百度百科
寻找可劫持的DLL:
首先如果在程序所在目录下未寻找到DLL,一般会在SYSTEM32目录下寻找到,那么可能会存在DLL劫持,先去看看注册表{HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerKnownDLLs}
Windows操作系统通过“DLL路径搜索目录顺序”和“KnownDLLs注册表项”的机制来确定应用程序所要调用的DLL的路径,之后,应用程序就将DLL载入了自己的内存空间,执行相应的函数功能。
Process Monitor一款系统进程监视软件,总体来说,Process Monitor相当于Filemon+Regmon,其中的Filemon专门用来监视系统 中的任何文件操作过程,而Regmon用来监视注册表的读写操作过程。 有了Process Monitor,使用者就可以对系统中的任何文件和 注册表操作同时进行监视和记录,通过注册表和文件读写的变化, 对于帮助诊断系统故障或是发现恶意软件、病毒或木马来说,非常 有用。 这是一个高级的 Windows 系统和应用程序监视工具,由优秀的 Sysinternals 开发,并且目前已并入微软旗下,可靠性自不用说。通过Process Monitor找出一些可能容易被劫持的DLL,特征一般如下:
确保程序目录可读写,如果要劫持的DLL目录被操作系统限制了必须以管理员权限才可以读写,那么我们无法利用
msf生成
程序丢入目标目录
开启监听,特定用户启动,反弹相应会话