点饭的百度空间
银牌会员
     
积分 2315
发帖 2236
注册 2007-11-30
|
#1 【sudami原创】Anti-MicroPoint without Kill any process

WINDOWS内核疯狂爱好者 sudami
转自:http://hi.baidu.com/sudami/blog/ ... 21b6591038c222.html
文章时间:2008/05/21 晚上
微点发现此程序,并识别为病毒时间:2008/05/22 中午
[color=Green/********************************************************************************************************************
* 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. 系统重新启动后微点无法加载,当手动启动微点时,会显示"启动失败"
(最新的KV 2008)







参考资料:
(1) 微点在检测IFEO方面的脆弱
http://hi.baidu.com/sudami/blog/ ... e45da2d9335a9e.html
(2) inline hook KiInsertQueueApc
http://hi.baidu.com/sudami/blog/ ... 8a651a95ca6b9b.html
(3) 效果演示-GIF
http://hi.baidu.com/sudami/blog/ ... 6a76d0ad6e75bd.html
(4) WRK1.2 Windbg
后记:
驱动部分写得很烂,源码就不放出来了. 俺觉得思路比code更重要,写code只是体力活
若有人想参考这份很烂的源码,偶会放到Debugman去. 放这里很危险...
这里是完整的code.限制了下威望,防止被坏人利用:
http://www.debugman.com/read.php?tid=1319&page=1&toread=1
情人§
这样太暴力啦。。 不用驱动应该能搞定..
要和谐相处.
制作一个DLL..想办法仍到微点的安装目录 让他自己加载
SetWindowsHookEx(WH_CBT,CBTProc,NULL,GetCurrentThreadId());
HooK消息 WH_CBT 不想发生的就直接return 1;
MJ0011
又是古老技术大杂烩
要是被人拿去XX,楼主的罪过就大了。
天灾人祸当前,太不和谐了
simen521
啊哦 微点又要忙了。。
看不惯杀毒软件那种天下无敌的样子。。 
sudami
微点 开发部 的响应速度很快哦~~
已经被识别为特征码啦~~
-----------------------------------------------------------------------------------
他们为这个程序,忙活了一上午.然后我在虚拟机上发现,微点升级了,要求重启系统,然后再拿sudami.exe测试,发现被微点识别了.哈哈~~~
kanxue
上次微软聚会,有一位后来去了东方微点
sudami水平很高
|
※ ※ ※ 本文纯属【点饭的百度空间】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
|
 你的微笑 is 微点的骄傲!
http://hi.baidu.com/new/micropoint |
 |
|