能力值:
( LV2,RANK:10 )
|
-
-
2 楼
我猜他的意思是说,ZwOpenSection成功后才能向该dll添加导入表,这样才能通过加载目标dll把自己拉起来。
其实什么dll、exe都可以被劫持,只要你让这个dll能被call,这个dll又硬引用了自己的dll,都能达到劫持的目的。
xp32(或者xp64下的32位进程)里先搜目标进程文件夹下的dll,如果没有再去搜系统目录,你这时把目录里放一个同名dll,就达到劫持的目的了。
你这个文章里边的“用COM对象进行复制操作……避免……弹出UAC提示”这条是真的吗?
调用同名文件夹下dll需满足2个条件,关闭安全dll搜索&已知dll中没有该dll或在排除列表中
查看例子,注意任务管理器已经加载了的dll
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
我就被搞过到现在我还没明白,
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
一、需要了解的概念,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
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
求一位精通电脑的高手,可以劫持域名
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
新知识Get
|
|
|