微点交流论坛
» 游客:  注册 | 登录 | 帮助

 

 11  1/2  1  2  > 
作者:
标题: 【shineastdh原创】玩玩微点之一:利用CreateEvent函数不让微点启动
点饭的百度空间
银牌会员




积分 2315
发帖 2236
注册 2007-11-30
#1  【shineastdh原创】玩玩微点之一:利用CreateEvent函数不让微点启动


资 料:
看雪软件安全论坛  西安交大shineast
男, 24岁
精华: 2
个人简介: 将漏洞挖掘进行到底!
我的理想就是做中国最好的杀毒软件,现在正在学习微点,虽然微点在技术上有很多问题,但是思想上已经是创新了。另外微点实现这个思想的时候方法、细节还是有点问题,绕过就是很头疼的问题。没办法,搞事业就要不断的遇到问题,能做好技术,解决好问题才是王道!


【原创】玩玩微点之一:利用CreateEvent函数不让微点启动

2008年07月16日 星期三 下午 08:38

今天看书,买了好久的好书——《Windows核心编程》。看到内核对象,3.3.4 节讲“终端服务器的名字空间”,内容是说:如果存在一个可供内核对象使用的全局名字空间,就意味着它可以供所有的客户程序会话访问。Windows中就有这样的全局名字空间:"Global\" ,将"Global\"置于对象名前面,就可以使命名对象进入全局名字空间。——你是否想到什么呢?

为了跨域进程边界来共享内核对象,微点无非就是那么几种办法,开始我以为用的是:可继承句柄或命名对象的方法。后来反了一下微点的主程序:MPStart.exe,发现貌似不是这样,当我看到下面的东西,我很坚定的相信微点用的是上面提到的全局名字空间的方法。哈哈!

.data:00408060 ; char Name[]
.data:00408060 Name            db 'Global\MPMon_6934D571-115B-4830-AC5C-02A0D08179C5',0


sub_401170 proc near
push    esi
push    edi
xor     edi, edi
push    offset Name     ; "Global\\MPMon_6934D571-115B-4830-AC5C-02"...
push    edi             ; bInitialState
push    edi             ; bManualReset
push    edi             ; lpEventAttributes
call    ds:CreateEventA
mov     esi, eax
call    ds:GetLastError
cmp     eax, 0B7h
jnz     short loc_401196
--------------------------------------------------------------------------------------------


.data:004080A4 ; char aGlobalRebootev[]
.data:004080A4 aGlobalRebootev db 'Global\REBOOTEVENT_6934D571-115B-4830-AC5C-02A0D08179C5',0


loc_401875:
push    esi
push    edi
xor     edi, edi
push    offset aGlobalRebootev ; "Global\\REBOOTEVENT_6934D571-115B-4830-A"...
push    1               ; bInitialState
lea     edx, [esp+20h+EventAttributes]
push    edi             ; bManualReset
push    edx             ; lpEventAttributes
call    ds:CreateEventA
mov     esi, eax
test    esi, esi
jz      short loc_4018AB


看到上面的东西,我的坏心眼出来啦!我们是不是可以在微点启动之前,或者微点没有启动的状态下,利用CreateEvent函数先微点一步,创建这个'Global\MPMon_6934D571-115B-4830-AC5C-02A0D08179C5'标识的内核对象,这样我估计微点八成是起不来了。

我写了一个小Demo,测试了一下,发现果然不出我所料,我先把微点关掉,然后运行我的demo:




这时候,你再去启动微点,微点是绝对启动不起来的,除非把我的程序先退出掉,或者释放掉上面创建的那个内核对象。哈哈!

当然了,大家会说,你这是一泡屎,人家微点就不退出,你根本没机会!——不一定吧,我要是写一个程序一直监视微点活着没,如果发现微点没在,我就赶紧创建上面那个内核对象,我看微点怎么办,要知道微点总会自动升级的,而且有时候自动升级完成后,会重启,这中间有大概3秒左右时间吧,够我创建一个内核对象了吧!哈哈!顺便说一下,我个人认为今后这样的智能木马才是大势所趋,那些野蛮的木马就是一泡屎!

好了就写到这里,声明下:本Demo没有恶意,只是学习、测试而已!

希望微点重视一下,我个人不推荐使用全局名字空间,而推荐使用可继承句柄的方法来在进程间共享内核对象。

Demo及源码下载:

我的空间:http://shineast.ys168.com/

play_MP
玩玩微点 >>编辑

利用CreateEvent函数不让微点启动.rar 69KB >>编辑

【炉子】这就是微点的不对了。。 创建匿名Event多好啊。。
或者是有其他原因么?

【shineastdh】可能是要进程间共享吧!

【炉子】噢 这样。
DuplicateHandle直接把句柄复制复制去也可以 呵呵。

【shineastdh】是啊!可惜人家貌似没用DuplicateHandle ~~~~~~~~~~

相关主题
【shineast】终于领悟了主动防御
http://bbs.micropoint.com.cn/sho ... 9%B6%C8%BF%D5%BC%E4

【shineast】东方微点注册表保护绕过及反绕过实现
http://bbs.micropoint.com.cn/sho ... 9%B6%C8%BF%D5%BC%E4

【shineast】偷梁换柱——再次实践了一个绕过微点所有监控的方法
http://bbs.micropoint.com.cn/sho ... 9%B6%C8%BF%D5%BC%E4

【shineast】再爆几个微点没设防的自启动或被动启动
http://bbs.micropoint.com.cn/sho ... 9%B6%C8%BF%D5%BC%E4

【shineast】在微点的监控下复活病毒木马,小发现而已
http://bbs.micropoint.com.cn/sho ... 9%B6%C8%BF%D5%BC%E4

※ ※ ※ 本文纯属【点饭的百度空间】个人意见,与【 微点交流论坛 】立场无关※ ※ ※

你的微笑 is 微点的骄傲!
http://hi.baidu.com/new/micropoint
2008-7-17 10:25
查看资料  发送邮件  访问主页  发短消息   编辑帖子
qq200878
中级用户




积分 456
发帖 452
注册 2007-11-17
#2  

超版,来解决下

※ ※ ※ 本文纯属【qq200878】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2008-7-17 10:36
查看资料  发送邮件  发短消息   编辑帖子
snhao
银牌会员




积分 1791
发帖 1782
注册 2007-6-12
#3  

超版快来说句话,你这样沉默算什么?

※ ※ ※ 本文纯属【snhao】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2008-7-17 23:50
查看资料  发短消息   编辑帖子
Alpha_Boy
中级用户





积分 235
发帖 225
注册 2008-5-17
#4  

虽然我不懂真正的技术,不过我觉得此文中所提到的这个程序有个问题:

1、真的能在微点长期启动着的情况下,让IE或别的浏览器下载此文中提到的这个程序,并让它修改注册表——将自己设定为自启动进程,并且唱起启动着吗?

也许将来的微点会提供高严密的HIPS模式供用户切换,一启动IE默认就开启高严密HIPS模式,根本就禁止其在后台下载并偷偷安装此程序。

2、或者把该程序捆绑在一个软件的安装包中,让用户去下载并手动安装?

可是现在的盗链下载器(迅雷之类的)越来越多了,它会根据MD5等哈希验证的数据自动过滤掉一些被修改过的软件安装包,

如果此程序的作者没有破解MD5验证的其它相关技术手段的话(这种手段已经有了,但是还未普及),

那么他发不出来的被修改过的软件安装包是很难大面积传播的。

3、所以,我觉得这个漏洞或许很厉害,但是很难被大面积的应用吧?
------

4、也许将来的微点可以这样搞,一旦需要升级并关闭微点的主程序时,就自动启动一个后台辅助程序,

对系统进行高严密的HIPS模式下的保护,绝对禁止其它程序在那危险的3秒钟内对系统进行任何修改……

非专业人员的胡话,若不可行,大家看过之后一笑置之即可。

※ ※ ※ 本文纯属【Alpha_Boy】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2008-7-18 15:11
查看资料  发送邮件  发短消息   编辑帖子
微点专家
版主

Weizi


积分 11554
发帖 11458
注册 2006-8-27
来自 贵阳
#5  

看不懂,俺们水区那旮旯不是这个专业的。

※ ※ ※ 本文纯属【微点专家】个人意见,与【 微点交流论坛 】立场无关※ ※ ※

做个性的自己
2008-7-18 15:37
查看资料  发送邮件  访问主页  发短消息  QQ   编辑帖子
qq200878
中级用户




积分 456
发帖 452
注册 2007-11-17
#6  

这个漏洞没有实用价值是确定的,最主要一点,他监视微点进程,光这一点微点就会报警.但是本着对用户负责原则,还是要修复

※ ※ ※ 本文纯属【qq200878】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2008-7-19 15:48
查看资料  发送邮件  发短消息   编辑帖子
threeswords
中级用户





积分 400
发帖 387
注册 2008-3-25
#7  

遍历进程算不上危险行为,比如其他进程管理器,你加壳,微点认不出以后,照样不会报警。

不过这个漏洞要做成木马,应该就不能有窗口,没有窗口又在不停读取系统进程列表,不知道能否通过这点来判断是可疑。因为正常进程管理器工具至少会有个窗口在前台。

又或许木马做个1*1大小的窗口,显示在桌面左上角,那谁都不会注意。。。。。。

技术问题不是很懂,纯粹个人想法,呵呵

[ Last edited by threeswords on 2008-7-19 at 23:23 ]

※ ※ ※ 本文纯属【threeswords】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2008-7-19 23:21
查看资料  发短消息   编辑帖子
liushilong
高级用户




积分 987
发帖 992
注册 2008-1-23
来自 广东
#8  

这么专业的,高手啊

※ ※ ※ 本文纯属【liushilong】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2008-7-20 11:22
查看资料  发送邮件  访问主页  发短消息  QQ   编辑帖子
xiaosdsd
注册用户





积分 79
发帖 79
注册 2006-11-8
#9  

专业性太强,佩服。。。。。

※ ※ ※ 本文纯属【xiaosdsd】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2008-7-20 19:15
查看资料  发送邮件  发短消息   编辑帖子
飞天狐狸
新手上路





积分 38
发帖 38
注册 2008-7-19
#10  



  Quote:
Originally posted by qq200878 at 2008-7-19 15:48:
这个漏洞没有实用价值是确定的,最主要一点,他监视微点进程,光这一点微点就会报警.但是本着对用户负责原则,还是要修复

我看不懂楼主的,但是安装微点和咔吧微点先于咔吧启动,如果微点是针对咔吧的病毒呢?我觉得楼主思路狠有道理

※ ※ ※ 本文纯属【飞天狐狸】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2008-7-20 19:31
查看资料  发送邮件  发短消息   编辑帖子
 11  1/2  1  2  > 



论坛跳转:

可打印版本 | 推荐 | 订阅 | 收藏


[ 联系我们 - 东方微点 ]


北京东方微点信息技术有限责任公司 福建东方微点信息安全有限责任公司

闽ICP备05030815号