首页
社区
课程
招聘
[分享]Anti-MicroPoint without Kill any process
发表于: 2008-5-21 20:59 15174

[分享]Anti-MicroPoint without Kill any process

2008-5-21 20:59
15174
/********************************************************************************************************************
* AUTHOR : sudami [sudami@163.com]
* TIME : 2008/05/10
*
* Command:
*
* 最近对MicroPoint主动防御比较感兴趣,无聊时调试下它的驱动.发现一些有意思的东西.
* 写此程序主要目的在于锻炼自己.没有恶意.写的很搓,见笑啦.
* 纯属扯淡,菜鸟一个,自娱自乐.- -
*
*
* Description:
*
* ------ R3程序完成了部分功能 ------
* 1. 替换beep.sys加载驱动; (or other 'ws' artifices to load our driver)
* 2. 访问高端内存恢复SSDT;
* 3. 释放随机文件名XXXX操作HIVE写注册表.[开线程间隔2秒]
* 4. 文件占炕保护 beep.sys 和 sudami.exe
* 5. 感染部分文件 [待完成]
* 6. 利用WINDOWS的一个BUG,替换ntoskrnl.exe,让部分ARK失效; hook关机函数.关机前还原 [待完成]
* 7. 常规的autorun.inf伎俩
* 8. 扩展中...
*
* ------ R0程序完成了部分功能 ------
* 1. inline hook KiInsertQueueApc. 保护R3进程sudami.exe
* 2. hook POBJECT_TYPE->TypeInfo.ParseProcedure函数. 保护RunOnce键, 屏蔽MicroPoint键
* 3. inline hook ExMapHandleToPointerEx. 过滤MP的NtDeleteKey [暂放弃]
* 4. inline hook ObReferenceObjectByHandle. 过滤MP的NtDeleteKey
* 5. 修改IE首页为 http://hi.baidu.com/sudami ,开线程回写
* 6. 检测NtRestoreKey是否被hook: [待完成]
* 无hook --> 继续让R3进程循环restore HIVE写自启动项
* 有hook --> 尝试恢复hook.若有安全软件的DPC/系统线程保护.有3种选择
* a. 停掉其线程/干掉其DPC.然后让R3线程继续办事
* b. 开系统线程该IE首页、自启动项
* c.得到真实的NtRestoreKey地址, 在R0完成HIVE回写
* 7. 无趣的SSDT HOOK, 参考nvmini的code即可. 防止部分ARK驱动加载. 重点盯防"狙剑"(因为它自己解析注册表)
* 8. IFEO劫持MP. 微点会开线程反复检测自己是否被劫持. 故要有前面的功能做铺垫
* 9. 修改系统时间,绕过部分时间保护软件.参考以前的文章和code [待完成]
* 10.驱动感染部分核心杀软的sys [待完成]
* 11.FSD HOOK 隐藏部分文件。骗骗菜鸟还行~~~~
* 12.FSD Inline HOOK 禁止文件的删除和改名。[有一个小BUG,影响不大]
* 13.寻找mp110003.sys. 搜索其.data节,找到其EVENT,设置为受信状态,以停掉微点的检测线程. [待完成]
* 14.驱动加载后,检查sudami.exe是否启动;没有则投递APC启动之
* 15.attach过滤系统,驱动中监控移动设备,发现则拷贝sudami.exe 和 autorun.inf至其中.
* (R0中完成此功能更安全,尽管R3中很容易实现,但若进程被KILL,希望便破灭,寄托于驱动中) [待完成]
* 16.扩展中...
*
*
* Copyright (c) 2008 sudami.
* Freely distributable in source or binary for noncommercial purposes.
* This is not a virus, So take it easy, just for fun.
*
********************************************************************************************************************/

1.程序驱动部分的稳定性有待提高,可能在某些机器上会BSOD.故请勿在主机上测试.
2.此程序主要是针对但不限于 微点 和 部分ARK,(暂不考虑其他安全软件). 过不了HIPS,所以若开着EQ、SMM就不必测试了.
3.这个烂程序(V 1.0)加载驱动的主要思路是替换BEEP,微点内部版本MS已经封掉,丢出来只是看下普通用户在防御恶意程序时的状况. 若有时间,后续版本会在驱动加载上加强优化.

请在虚拟机上进行测试; 程序运行后,若电脑没有BSOD,你将会看到以下效果:


1. 部分文件被隐藏, 是FSD HOOK所至.
2. 微点的进程依然在,但主界面弹不出来,提示初始化错误.
3. 部分ARK: IS、狙剑、RKU、Wsyscheck、gmer无法正常运行,进程依然在,但用户不能对其进行任何操作,无显示界面. 不可对这些ARK进行改名 和 删除.
4. 注册表中增加部分键值,一些是和驱动进行交互用的,不过很脆弱. IFEO中增加2项 -- mpstart.exe、Download.exe。 这是劫持微点为C:\sudami.exe.
5. 注册表中的Run、Runonce、Advanced、 QQ、MICROPOINT...等键值无法打开.
6. 在各个盘符新增autorun.inf 和 sudami.exe. 无法对它们进行删除和改名操作
7. IE首页被修改为http://hi.baidu.com/sudami. 微点的注册表保护能进行拦截,但加了线程循环后,微点会不断的弹出提示框.(友情提醒:应该考虑像HIPS那样,加一个"以后一直拦截此操作"的选项,方便用户操作)
8. 若C;\sudami.exe被删,驱动部分会从TMP备份中拷贝一份sudami.exe到C盘根目录下. 若部分用户已经提前在C盘根目录下建立起 同名 不可删除文件" C:\sudami.exe 和C:\sudami.exe\hi...\", 驱动会发IRP删除畸形文件.再进行拷贝操作.
9. exe运行后,R3部分访问高端内存,SSDT被恢复.不过对微点这样注册了DPC或开了系统线程回写SSDT的无效. 此流程可有可无.不过对部分安全软件依然有效.
10. sudami.exe运行后, 任务管理器 和 所有已知ARK, 都不能结束其进程; 产生互斥量防止多个实例运行.
11.驱动部分加载后会监视进程的创建,当发现以下进程启动时,激活sudami.exe 和 记事本--
iexplore、任务管理器、QQ、WORD文档、regedit、1.exe、EXPLORER.
sudami.exe不需要自启动项,驱动部分在系统启动时,一旦检测到EXPLORER.EXE已启动,立即插APC启动R3程序.
12. 系统重新启动后微点无法加载,当手动启动微点时,会显示"启动失败"










--------------------------------------------------------------------------------

参考资料:
(1) 微点在检测IFEO方面的脆弱
(2) inline hook KiInsertQueueApc
(3) 效果演示-GIF
(4) WRK1.2 Windbg

后记:
驱动部分写得很烂,源码就不放出来了. 俺觉得思路比code更重要,写code只是体力活

若有人想参考这份很烂的源码,偶会放到Debugman去. 放这里很危险...

这里是完整的code.限制了下威望,防止被坏人利用:

http://www.debugman.com/read.php?tid=1319&page=1&toread=1

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

上传的附件:
收藏
免费 7
支持
分享
最新回复 (38)
雪    币: 8209
活跃值: (4458)
能力值: ( LV15,RANK:2459 )
在线值:
发帖
回帖
粉丝
2
学习,哦也。。。。
2008-5-21 21:01
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
3
同学同学.......
2008-5-21 21:07
0
雪    币: 7309
活跃值: (3778)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
4
第三楼,哦也
2008-5-21 21:07
0
雪    币: 615
活跃值: (1132)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
咯 咯 咯 咯 咯
2008-5-21 21:09
0
雪    币: 44229
活跃值: (19960)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
6
上次微软聚会,有一位后来去了东方微点

sudami水平很高
2008-5-21 21:13
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
7
俺菜鸟一个啊~~

见笑了
2008-5-21 21:18
0
雪    币: 8209
活跃值: (4458)
能力值: ( LV15,RANK:2459 )
在线值:
发帖
回帖
粉丝
8
我们说的水平是包括RP+技术的综合实力
2008-5-21 21:29
0
雪    币: 581
活跃值: (149)
能力值: ( LV12,RANK:600 )
在线值:
发帖
回帖
粉丝
9
虚拟机    蓝..
2008-5-21 21:41
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
10
那就是在查找NtSetValueKey的时候地址有错误.

这个问题俺没怎么太在意它~~~

BSOD的几率可能会很大~~~
2008-5-21 21:43
0
雪    币: 581
活跃值: (149)
能力值: ( LV12,RANK:600 )
在线值:
发帖
回帖
粉丝
11
那你再修改下...我确实很想看你这个驱动/////应该很帅
2008-5-21 21:47
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
12
驱动CV了啊....

稳定性不好. 汗,偶再改改~~~~
2008-5-21 21:49
0
雪    币: 581
活跃值: (149)
能力值: ( LV12,RANK:600 )
在线值:
发帖
回帖
粉丝
13
sudami兄...我虚拟机坏了....现在一开机就直接蓝.....安全模式也进不了....看来你那个驱动开机就直接运行啊.....
2008-5-21 21:50
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
14
很严重~~~

是2个函数地址在不同的内核里面 可能找到的不正确.导致BSOD的.
偶明天优化下算法,看能不能兼容~~~~

今天凌晨看 曼联 VS 切而西
2008-5-21 21:56
0
雪    币: 581
活跃值: (149)
能力值: ( LV12,RANK:600 )
在线值:
发帖
回帖
粉丝
15
汗...我现在这个虚拟机基本报销...有什么办法解决没...win pe又不行
2008-5-21 21:58
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
16
俺一般是有快照的... =.=|

你想办法把BEEP.sys删了就行了~~~~
2008-5-21 22:04
0
雪    币: 224
活跃值: (147)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
17
很久没看到好文了...
2008-5-21 22:21
0
雪    币: 1946
活跃值: (243)
能力值: (RANK:330 )
在线值:
发帖
回帖
粉丝
18
说话风格跟马甲越来越像了啊
2008-5-21 22:23
0
雪    币: 7309
活跃值: (3778)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
19
只用真身,不用马甲
2008-5-21 23:26
0
雪    币: 1946
活跃值: (243)
能力值: (RANK:330 )
在线值:
发帖
回帖
粉丝
20
我是指很猥琐的那个马甲
2008-5-21 23:30
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
21
那人马甲也太多了吧。。。
2008-5-21 23:31
0
雪    币: 154
活跃值: (75)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
22
技术不错
不过老一辈总是教导我们参考文献不要写一大堆自己的
2008-5-22 01:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
学习了,谢谢!
2008-5-22 02:21
0
雪    币: 451
活跃值: (78)
能力值: ( LV12,RANK:470 )
在线值:
发帖
回帖
粉丝
24
跟着来加一个哦也
2008-5-22 06:34
0
雪    币: 8865
活跃值: (2379)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
25
DebugMan我这里无法访问了~
2008-5-22 08:15
0
游客
登录 | 注册 方可回帖
返回
//