看我是如何利用QQ反弹shell

介绍

DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件。
DLL劫持是一种漏洞,这个漏洞存在于所有版本的Windows操作系统之中。当用户进行了非法操作时,就有可能触发这个漏洞。很多人认为,这是Windows操作系统的一个功能,而非一个漏洞。因为这一机制是由微软公司专门设计出来的。

简单来说,你可以创建一个自定义的恶意dll文件,并将这个文件与一个正常的文件一同放在一个目录下。当这个正常的文件被一个存在漏洞的应用程序打开之后,你自定义的dll文件将会被加载,你嵌入其中的代码将会被执行。我们必须针对每一款存在漏洞的应用程序来指定这种恶意dll文件专用的文件名。别担心,我们只要使用任何一款调试工具就可以轻易完成这一步操作。

测试环境

1、TIM2.3.2
2、劫持工具(backdoor-factory)
3、增强型任务管理器(Process Explorer)

测试过程

运行Process Explorer查询运行程序加载的dll。
调用的dll很多,对AFUtil.dll进行测试
使用backdoor-factory生成恶意的dll
一共就两个选项,如果1不行就选择2,我这里选择1

会在backdoored的目录下生成一个恶意的dll
替换原始的dll(先备份原始的dll)
进行msf的配置
运行TIM反弹shell

预防

1、DLL劫持利用系统未知DLL的搜索路径方式,使得程序加载当前目录下的系统同名DLL。所以可以告诉系统DLL的位置,改变加载系统DLL的顺序不是当前目录,而是直接到系统目录下查找。
这个想法可以通过修改注册表实现。
在注册表键值:>#####HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\KnownDLLs
是调用系统DLL的首要查找目录。例如里面有RE_SZ类型的"ntdll"="ntdll.dll"项,则系统载入"ntdll"时会直接从系统目录加载。
由此,添加"LPK"="LPK.DLL"即可防止LPK被劫持,同理可以阻止一些其他DLL被劫持,例如"USP10"。
在Windows NT系统,XP默认只有少数关键DLL在此键值下,Win7下面此键值已经相当齐全,在Win7系统下发生DLL劫持的概率要比XP小很多。 (借用百度的预防知识点)
2、还可以通过第三方工具进行dll劫持检测。DllHijackAuditor能够防止木马病毒劫持系统中的dll文件加载运行,是一款很不错的dll文件保护工具。
3、坚持从官方下载软件,拒绝第三方。万一有后门呢?
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,908评论 0 27
  • 胆大心细,不怕问题,稳! 遇到问题只能靠自己时,并发出的力量是很强大的。 故障的产生: 应该是电脑被我踢了...
    哈森森阅读 22,766评论 0 1
  • 听所有人的话,做自己的决定。 每天在于不断的和别人交流,成功者的犹豫取决于价值,而失败者的犹豫缺取决于我们是否螚承...
    若月雨阅读 382评论 0 0
  • 最近对推文关注的比较多,关注过一些写文案大咖的付费公众号,也听过一些培训课程。 昨天和同事听完一天的培训课程,回来...
    简单足迹阅读 246评论 0 0