首页
社区
课程
招聘
如何判断一个dll是否可以被劫持
2016-9-19 08:34 6115

如何判断一个dll是否可以被劫持

2016-9-19 08:34
6115
在freebuf上面看到一个篇关dll劫持的文章,其中有这么一段

"遍历AdapterTroubleshooter.exe的导入表,找到一个可以被劫持的dll。其判断是否可被劫持的方法是调用ZwOpenSection函数,判断其返回值是否成功。如果ZwOpenSection返回成功,则该dll不可作为劫持dll"

我想请问一下为什么ZwOpenSection返回成功就代表这个dll不能被劫持

原文:http://www.freebuf.com/articles/system/112823.html

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 31
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
luobonic 2016-9-19 10:58
2
0
我猜他的意思是说,ZwOpenSection成功后才能向该dll添加导入表,这样才能通过加载目标dll把自己拉起来。

其实什么dll、exe都可以被劫持,只要你让这个dll能被call,这个dll又硬引用了自己的dll,都能达到劫持的目的。

xp32(或者xp64下的32位进程)里先搜目标进程文件夹下的dll,如果没有再去搜系统目录,你这时把目录里放一个同名dll,就达到劫持的目的了。

你这个文章里边的“用COM对象进行复制操作……避免……弹出UAC提示”这条是真的吗?

调用同名文件夹下dll需满足2个条件,关闭安全dll搜索&已知dll中没有该dll或在排除列表中
查看例子,注意任务管理器已经加载了的dll
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
吴平 2016-9-19 11:40
3
0
我就被搞过到现在我还没明白,
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
alexemail 2016-9-20 20:17
4
0
一、需要了解的概念,KnownDlls:
KnownDlls是windows下的一种用来缓存经常用到的DLL文件的机制。更准确地说,是被用来加快应用程序对DLL文件的加载速度的机制;也可以被当做是一种安全机制,因为它能够阻止恶意软件植入木马DLL。
knowndlls,顾名思义,是指系统目录默认加载的DLL,现在病毒伪装的马甲DLL置于文件启动目录之下伺机启动早已不是什么有创意的做法。应用程序启动前优先加载当前目录下的所需DLL,这就给木马的启动又多了一条途径,而knowndlls键值正是斩断这条传播通断的利剑,无论你在当前目录下有多少马甲DLL,应用程序都会从SYSTEM目录下去寻找,从而避免了马甲的毒害。

二、ZwOpenSection函数:
ZwOpenSection函数在指定对象不存在或不可访问时返回失败
ZwOpenSection返回值:
#define STATUS_SUCCESS                   ((NTSTATUS)0x00000000L)
#define STATUS_ACCESS_DENIED             ((NTSTATUS)0xC0000022L)
#define STATUS_INVALID_HANDLE            ((NTSTATUS)0xC0000008L)

三、汇编指令:
TEST        //仅是在逻辑与操作后,对标志位重新置位,不保留运算结果值。
SF        //符号标志,主要作用于JS/JNS指令
JS        条件转移指令,SF=1时跳转

四、解释
看http://www.freebuf.com/articles/system/112823.html 文中
“调用ZwOpenSection函数判断是否可以劫持的逻辑流程”图的汇编代码中ZwOpenSection返回0(成功),表示不可劫持,意思即如果是KnownDlls包含的dll是无法进行劫持的,这是对系统dll能够劫持进行判断的一种方法。
初看该文章不明白依据什么进行判断可否劫持,主要是因为作者在截图中缺少了一个对ZwOpenSection函数参数内容(KnownDlls\d3d9.dll)的截图

如果答案满意请给kx
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
dnspo 2017-3-18 23:05
5
0
求一位精通电脑的高手,可以劫持域名
雪    币: 288
活跃值: (901)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
青史无疆 1 2017-3-20 14:31
6
0
新知识Get
游客
登录 | 注册 方可回帖
返回