| veyond さんのプロフィールDINGDONGフォトブログリスト | ヘルプ |
|
DINGDONG叶子有叶子有风声,森林有森林的秋意,我不要只蜷缩在小小的叶片一角,寂寞的吐丝做茧 1月25日 国际接轨?接轨的那个国家你绝对想不到国际接轨? 接轨的那个国家你绝对想不到 震惊的答案:国际接轨--接轨的那个国家你绝对想不到。震惊的答案: 中国银行和国际接轨,跨行查询收费,接轨的那个国家你绝对想不到。 今天,听到在看电视上专家对备受关注的ATM跨行查询收费的讨论, 才知道,美国绝大多数的银行根本不存在什么所谓的跨行查询收费。 美国的绝大多数银行是股份制银行,这种自己突然规定跨行查询收费的只有在垄断银行才会发生。专家说, 如果国外只要有一个银行实行了跨行查询收费, 中国就会以和国际接轨为理由, 采用这种方式。 然后他们查阅了很多资料发现, 我们周围这些国家, 只有唯一一个巴基斯坦是跨行查询收费的。 看到这里我彻底晕了, 原来中国几家银行跨行查询收费的所谓和国际接轨, 居然是和巴基斯坦接轨啊。 政府制定政策的2大法宝: 有些决策者在制定政策的时候, 手里有两套法宝, 一套是“中国国情”, 一套是“与国际接轨”, 当制定不利于人民的政策时, 如房改,要求大家自己掏钱购买商品房, 就说是和“国际接轨”, 理由是, 人家外国都是自己买房子, 没有福利分房的说法, 但与此同时, 他们却恰恰忽略了人家外国土地私有这个关键因素, 中国人并不拥有土地的所有权, 土地都属于国家, 却要被迫付出昂贵的价钱购买一套只有使用权的商品房, 而当人们对此提出质疑的时候, 他们又会说这是中国特殊国情决定的。 又比如医改,教改,人家其他国家是免费医疗, 免费义务教育,但这一点他们又不与国际接轨了, 又强调中国国情了, 什么财力不堪重负啦之类, 结果导致大家看不起病, 上不起学。 又比如所谓“高薪养廉”, 据说是新加坡、香港的成功经验, 所以要和“国际接轨”, 所以五次三番地给公务员加薪。 但人家严格的监督制度, 对公务员近乎苛刻的约束, 廉政公署等等, 他们又不和国际接轨了,又强调中国国情了。 韩国首都汉城(现名首尔)只有14辆公务车, 这点他们就不愿意接轨, 中国现在一个乡镇政府14辆公车都不算多吧? 这就是中国国情。 美国有个燃油税,他们就要和“国际接轨”, 也要征燃油税, 但美国高速公路、大桥绝大多数是不收费的, 在美国养一辆车除汽油费外每年仅需170多美元, 这点他们又不和国际接轨了, 不仅养路费、车船税等等一大堆,而且到处设置关卡, 几乎路路收费。 全世界总共只有14万公里收费公路, 但就有10万公里在中国! 这就又是中国国情了. 美国格林斯潘加息了, 他们就要和“国际接轨”, 但美国购房享受退税, 购买第一套住房享受低利率, 对出租房屋屋主进行补贴以降低租金, 这些他们又不和国际接轨了, 又强调中国国情了, 不仅不对出租房屋进行补贴, 反而变本加厉地对出租屋提高税收, 导致这部分成本转嫁给租客,租金上涨。 世界绝大多数国家都是土地私有的, 人民买房的同时就买了地皮,具有永久所有权。 当然,他们在这一点上就不和国际接轨了, 因为中国国情特殊啊! 但是,当他们发现香港的使用权制度对自己比较有利后, 就立即和香港接轨了! 订了个70年使用权制度, 迫使人民祖祖辈辈不断花巨资购买有限使用权, 但香港是什么情况? 香港原先是殖民地啊! 英国只租用了99年啊,它搞个使用权无可厚非, 因为土地本不是它的,时间到了就要归还的, 你搞使用权到底是什么意思? 不是说中国是公有制吗? 不是全国人民拥有对一切生产资料的所有权吗? 但落实到的最后怎么变成绝大多数人都一无所有了呢? 怎么就变成必须购买本属于自己的土地使用权呢? 不懂吧! 但他们不管, 就因为对自己比较有利, 所以在这方面就和香港这个“殖民地”接轨, 就不和其他的国际接轨。 又比如, 油价要涨、电价要涨、水价要涨,理由还是和国际接轨, 说什么人家的都很贵,中国的油价水价电价便宜的很, 所以就该涨, 但说到人民的工资水平、福利水平、劳动保障制度, 就又不和国际接轨了, 就又强调中国的特殊国情了, 人家的工会都是工人选举产生, 实实在在代表工人权益, 这一点咱们就是不和人家接轨, 咱就是要让工会成为资本家压迫工人的帮凶, 原因还是:中国国情。 所以, 不要拿什么美国、英国的加息说事, 什么时候中国成为完全市场经济国家了, 国家官员民选产生了, 权力部门受公众严格监督了, 再说这些不迟! 11月8日 谈论 读大学到底是读什么?
引用 读大学到底是读什么? 11月6日 宋平与胡总亚洲时报在线邱鑫称,中共总书记胡锦涛的恩师宋平最近公开露面,为胡锦涛提倡的和谐社会路线打气。宋平过去大力提拔胡锦涛,据说在中共四中全会前宋平也有拔刀相助。中共五中全会将于10月8日召开,这次这位原中共政治局常委再度挺胡路线,格外让外界感到关注。
《山西日报》9月24日报道,9月16日至22日,中共中央政治局原常委宋平在山西省考察。据报道,在听取各方面的发言后,宋平表示,“要著眼于构建和谐社会,高度重视劳动力的再生产,把改善职工生活放在更加突出的位置,随著经济的发展,不断提高职工的收入水平,特别要重视和努力改善困难职工的生活,使其共享改革发展的成果;企业改制中要切实搞好富余人员的安置工作,确保职工生活和社会稳定;各级工会组织要在切实搞好对城市职工服务的同时,也要努力把农民工组织到工会中来,认真解决农民工的困难和问题,使其安心投身各地的经济建设。” 宋平在山西没有提及江泽民提出的“三个代表”,而相对胡锦涛的和谐社会,“三个代表”较著重吸纳社会的精英阶层。从宋平讲话的基本精神就是胡锦涛著重社会公平的路线可见,宋平这次公开露面就是为了挺胡路线而来的。 多年来,宋平一直大力支持胡锦涛。八十年代,三十九岁的胡锦涛得到宋平提拔,获选为共青团甘肃省委书记,自此之后,就跟共青团种下深厚关系。在1982年中共十二大前,当时的中共总书记胡耀邦决定对第十届共青团中央领导班子动大手术,来个人马大换血。胡锦涛通过宋平与胡耀邦的提拔,擢升为共青团第二书记。据传2002年中共十六大前,宋平还上书中央要求江泽民退下来,让位给胡锦涛。又据传胡锦涛在2004年中共四中全会能从江泽民手中接下军权,幕后也有宋平的助力。 宋平跟胡锦涛甚有渊源。三十年代,宋平曾就读清华大学,跟胡锦涛算是同校校友。1972年后宋平历任中共甘肃省委书记兼省革命委员会副主任、省委第一书记兼省革命委员会主任,甘肃省军区第一政委、兰州军区第二政委等职。在这段时间,胡锦涛在甘肃任建委主任,开始接触到宋平,并获宋平赏识。 1991年夏的北戴河会议就开始酝酿十四大中央决策层人选。人事安排小组由江泽民、李鹏、宋平以及中共元老薄一波组成。当时的江和李都是挂名,真正拍板定局的是邓小平和陈云,实际主持人是分管组织工作的政治局常委宋平。 宋平闻讯邓小平有意提拔胡锦涛进政治局常委后,大力推荐。据说,当时中央要提拔的候选人包括胡锦涛、李长春和吴邦国。最后胡锦涛能够出线,起关键作用的正是宋平。据指出,胡锦涛为人稳重谦虚,处事一向低调,这有点像宋平本人的性格。因此,宋平以中共十四大人事安排小组名义,向政治局常委并邓小平和陈云提出选拔胡锦涛为新一届政治局常委的建议。 据《山西日报》,宋平在山西期间,被视为“团派”的山西省委书记张宝顺,以及山西省委副书记、代省长于幼军,等先后陪同考察 宋平,1941-1946年在周恩来身边工作,任政治秘书。建国后,历任国家计委副主任、中共甘肃省委第一书记、国务委员、国家计委主任、中共中央组织部部长等职。1987年11月在中共十三大当选为中共中央政治局委员,1989年6月在中共十三届四中全会上当选为中共中央政治局常委。
宋平 原中共中央政治局常委,日照市莒县大罗庄人。1917年生,1934年就读于北平大学农学院,清华大学。1936年参加工作,1937年12月加入中国共产党,1938年入 延安中共中央党校、马列学院学习,此后相继任教务处干事组织科长,教务处处长,中央党务研究室研究员,中共中央南方局宣传部助理秘书,重庆新华日报社资料室主任、编辑部秘书主任、秘书长,新华社重庆、南京总分社负责人, 周恩来同志的政治秘书。1946年12月调任中共哈乐滨市顾乡区委副书记,市总工会公营企业部主任,组织部部长,1947年后历任哈尔滨警备大队政委,东北总工会文教部长、秘书长、副主席等职。1952年后,历任国家计委委员劳动工资计划局局长兼劳动部副部长,国家计委副主任,中共中央西北局委员,西北局计委主任,中共甘肃省委书记兼省革命委员会副主任,省委第一书记兼省革命委员会主任,甘肃省军区第一政委,兰州军区第二政委,国家计委第一副主任,主任,国务委员,中共中央组织部长等职。为中共十一、十二届中央委员,在中共十三届一中全会上当选为中央政治局委员。
11月5日 值得思考的支付宝无论是B2B、C2C…还是其它,我们经常会听到网络商业欺诈的故事,好象很多啊,听的耳朵都痛了。
于是“阿里巴巴”旗下的“支付宝公司”的“支付宝”业务应运而生。此业务一出,不仅是在“阿里巴巴”及其旗下的“淘宝网”得到广泛应用,也被许多网络商家追捧。今天在网络的许多角落你都可以看到“支付宝”“盾牌”的徽标,其火热程度真的可以用“红透了半边天”“炙手可热”来形容也不为过。 “支付宝”把商品买卖的商业过程分成了4个相互紧密联系的步骤,如图: 这4个步骤在今天最大程度的保证了互联网上的公平交易,在许多卖家或买家都为网络商务的安全性头痛的时候起到了“保驾护航”的作用,于是得到了广泛的应用。 不可否认,“支付宝”业务是目前互联网交易中最安全便捷的手段之一,因此其获得了“06年安全使用奖”等多项荣誉。 有了“支付宝”的盾牌在您家的门口没白天没黑夜“任劳任怨”的蹲着,您商务活动中的网络资金流动就真的是“高枕无忧”了吗?如果您仔细分析这4个连续的步骤的内涵与外延,您会发现这其中存在的一些深层次问题,这里给您掰着手指算算减法。 1、在这(1)(2)(3)(4)的步骤外是否存在着(5)呢???回答是肯定的!!! 以目前“支付宝”公司日流水3000万元人民币、以商家和客户每单商品结算周期为1周计算,那麽“支付宝”公司的帐面上将会有2亿元人民币左右的资金沉淀下来,这其中还不包括商家与用户因为产品质量等分歧将付诸法律诉讼等彻底解决分歧前被拒付的停留在“支付宝”公司帐户上的越积越多的资金(即便是问题商品卖家与买家间启动法律诉讼程序,那也将是一个漫长的过程)。当然这还不包括这2亿元资金给“支付宝”公司带来的长期“利息”收益(如年息按6%计算,2亿元人民币本金利息收益将达到1200万元人民币/年。呵呵,就这么轻松转手一“倒”就财源滚滚了,真正是“无本万利”的好生意啊)。 假设,如果,“支付宝”公司“挪用”客户交易资金或出现投资其它领域失败等资金链断裂现象,那涉及到2亿元以上资金是否安全的局部的“金融危机”的发生将是不可避免的。 2、目前的网络确实存在着鱼龙混杂商业欺诈等不确定因素,“支付宝”业务已经在防止网络商业欺诈起到了一定的作用。但,其目前出色的表现是停留在“防君子不防小人”层面上的。 为什么这样说?以在某B2B或C2C或B2C…网站买卖产品为例,假设某买家看上卖家的某产品,他将款项打到“支付宝”公司帐户后完成(1)至(2)阶段的交易过程,卖家销售寄出的自己的优质产品给买家完成(2)至(3)的过程,按照图中的交易顺序这时买家应该是通知“支付宝”公司付款给卖家来完成交易图中的最后一个步骤(3)至(4)就万事大吉皆大欢喜了。可假设此时买家翻脸疯狂的变成了“老赖”,这“老赖”“偷梁换柱”把卖家的合格产品调包为残次品(非危言耸听。例如说高档书籍等商品),并瞪着眼睛说收到的就是这样的次品并要求退货,这样流程图中的(3)到(4)将会是一个“遥遥无期”的漫长过程……,因此也就可能直接“短路”进入(5)。 3、当然也存在着卖家“以次充好”“滥芋充数”的情况。 一旦出现这样的情况卖家会承认吗?谁作这裁判啊?如何裁判啊?都是问题。即便是卖家承认了自己的产品有问题,从(3)至(4)的过程也难以在短期内完成,因为产销2方各在异地等原因,因为人们几乎不可能把问题产品发回产品寄出处,就是发回去了邮寄费用谁来承担?产品维修又多少时间后才可以邮寄返回到消费者的手中?凡此种种,很可能在传统店铺买卖中不是问题的“三包”“退货”等消费者起码应该享受的服务成为一纸空文,产品“三包”将可能仅是空话。这样问题就来了,打官司吧,呵呵,这官司要等到猴年马月才能完事,就是你精疲力尽的赢得了官司也不一定拿到自己的钞票,因为要上诉,因为执行也难啊。于是,这资金就这样“静悄悄”的“趴”在“支付宝公司”的帐户上了。 “支付宝”公司以第三方“公证人”的身份为避免网络上直接的商业欺诈作出了不可缺少的贡献,是开创性的前所未有的网络反“商业欺诈”“里程碑”式的进步,同时也获得了大量的流动资金。 尽管“支付宝公司”与“工商”、“建设”、“农业”等银行签定了战略合作协议,但其协议内容只是停留在企业经营层面上的“托管”而非“监管”。事实上这些银行对“支付宝”帐户上的资金是否“专款专用”并没有监督的权利和义务。这样就导致“支付宝”公司本身“类银行”或“财务公司”的相关业务行为目前所处的是监管真空的状态,从而会给广大的“支付宝”“在线商务”者的资金安全留下不能不说也不可不防的财务隐患,甚至可能是“深不见底”。当然我说这些的前提是完全相信“支付宝”公司的事业会蓬勃发展蒸蒸日上成为百年企业,但当年“安然”公司“轰然”倒下的前车之鉴我们也不能不说不能不防。 在没有详尽具体的监管措施下任何公司都不会让如此巨大的资金停留在自己的帐号上“无所事事”的无所作为,相信“支付宝公司”也会概莫能外,一定会把这笔数目巨大的资金用于“鸡生蛋蛋生鸡”的相关投资等财务运作中。为保证广大客户的资金安全,希望国家有关部门对于类似于“支付宝公司”这样的“准银行”或“类银行”的相关业务尽快制定有效的监管制度与配套手段(比如说是否可以借鉴目前在银行通用的“准备金制度”)。防微杜渐防患未然,只有国家监管才是此类财务行为商业运作唯一必须的有效安全保障。 进一步说:银行“坏帐”了有国家买单,因此也倒不了。可假如“支付宝公司”倒了由谁买单啊(呸,呸…,掌嘴!“如日中天”的“支付宝公司”怎麽可能倒阿?!哈哈,可万一呢…)? “支付宝”对如何进一步避免生意往来中类似于上述“老赖”式的商业欺诈并不能起到杜绝或防止的作用,起码目前是这样的。至于如何对付“老赖”式的商业欺诈,呵呵,做的好做的“天衣无缝”好象也不难,因为就我这笨笨的脑袋都知道如何去防止制止了,相信马云先生领导下的“阿里巴巴”集团的专业人士们解决起这样类似的“小”问题将会是“手到擒来”“易如反掌”的。 哈哈,除非“支付宝公司”不作为,因为那样就可以有大笔的资金“死帐”在“支付宝公司”的帐户上任凭“阿里巴巴”自己处置调遣差遣了。 嘿嘿,对于大名鼎鼎的“阿里巴巴”旗下的“支付宝公司”怎麽可以这样以“小人之心度君子之腹”啊?! 无论怎样,都是为你为我为大家好,也仅仅是“就事论事”,清醒着出事总比出事后清醒好很多,您就将就着“有则改之无则加勉”吧…… 有人可能要问:你说了“支付宝”这样多的“坏话”,你就不用“支付宝”吗?不用用什么啊?“矬子里面拔大个”,有的用总比没有强吧?毕竟“支付宝”是目前最方便快捷没有手续费的。 事实上,“支付宝”这宝贝和“支付宝公司”本身是很可爱的,不是吗?! 有了“50步”也一定要向“100步”努力迈进,因为没有最好只有更好。 愿“天下无贼”! 出处:邢台传媒 9月24日 注册表文件存放位置
%system%\system32\config目录下有这样一些文件 sam.* Security Account Manager,安全帐号管理器 default.* 默认注册表文件 security.* 安全性注册文件 system.* 系统注册文件 software.* 应用软件注册表文件
可以通过时间浏览器来查看。比如:.sav文件是在最近一次系统正常引导过程中保 存的,而.log文件则记录了注册表审核功能启用过程中对注册表所进行的修改。
间。
Win9X篇
svchost详解大家都要知道Svchost.exe,是系统必不可少的一个进程,很多服务都会多多少少用到它,但是我想大家也知道,由于它本身特殊性,高明的"黑客们"肯定是不会放过的,前段时间的Svchost.exe木马风波,大家应该是记忆犹新吧,而且现在还是有很多机器里都藏有此木马,因为它伪装和系统进程Svchost.exe一样,所以很多人分不清,那个是进程,那个是木马....
好的,还是让我们详尽了解一下Svchost.exe进程吧
1.多个服务共享一个 Svchost.exe进程利与弊 windows 系统服务分为独立进程和共享进程两种,在windows NT时只有服务器管理器SCM(Services.exe)有多个共享服务,随着系统内置服务的增加,在windows 2000中ms又把很多服务做成共享方式,由svchost.exe启动。windows 2000一般有2个svchost进程,一个是RPCSS(Remote Procedure Call)服务进程,另外一个则是由很多服务共享的一个svchost.exe。而在windows XP中,则一般有4个以上的svchost.exe服务进程,windows 2003 server中则更多,可以看出把更多的系统内置服务以共享进程方式由svchost启动是ms的一个趋势。这样做在一定程度上减少了系统资源的消耗,不过也带来一定的不稳定因素,因为任何一个共享进程的服务因为错误退出进程就会导致整个进程中的所有服务都退出。另外就是有一点安全隐患,首先要介绍一下svchost.exe的实现机制。
2. Svchost原理 Svchost本身只是作为服务宿主,并不实现任何服务功能,需要Svchost启动的服务以动态链接库形式实现,在安装这些服务时,把服务的可执行程序指向svchost,启动这些服务时由svchost调用相应服务的动态链接库来启动服务。
那么svchost如何知道某一服务是由哪个动态链接库负责呢?这不是由服务的可执行程序路径中的参数部分提供的,而是服务在注册表中的参数设置的,注册表中服务下边有一个Parameters子键其中的ServiceDll表明该服务由哪个动态链接库负责。并且所有这些服务动态链接库都必须要导出一个ServiceMain()函数,用来处理服务任务。 例如rpcss(Remote Procedure Call)在注册表中的位置是 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRpcSs,它的参数子键Parameters里有这样一项: "ServiceDll"=REG_EXPAND_SZ:"%SystemRoot%system32 pcss.dll"
当启动rpcss服务时,svchost就会调用rpcss.dll,并且执行其ServiceMain()函数执行具体服务。 既然这些服务是使用共享进程方式由svchost启动的,为什么系统中会有多个svchost进程呢?ms把这些服务分为几组,同组服务共享一个svchost进程,不同组服务使用多个svchost进程,组的区别是由服务的可执行程序后边的参数决定的。 例如rpcss在注册表中 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRpcSs 有这样一项: "ImagePath"=REG_EXPAND_SZ:"%SystemRoot%system32svchost -k rpcss"
因此rpcss就属于rpcss组,这在服务管理控制台也可以看到。
svchost的所有组和组内的所有服务都在注册表的如下位置: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSvchost,例如windows 2000共有4组rpcss、netsvcs、wugroup、BITSgroup,其中最多的就是netsvcs=REG_MULTI_SZ:EventSystem.Ias.Iprip.Irmon.Netman. Nwsapagent.Rasauto.Rasman.Remoteaccess.SENS.Sharedaccess.Tapisrv.Ntmssvc.wzcsvc.. 在启动一个svchost.exe负责的服务时,服务管理器如果遇到可执行程序内容ImagePath已经存在于服务管理器的映象库中,就不在启动第2个进程svchost,而是直接启动服务。这样就实现了多个服务共享一个svchost进程。 3. Svchost代码 现在我们基本清楚svchost的原理了,但是要自己写一个DLL形式的服务,由svchost来启动,仅有上边的信息还有些问题不是很清楚。比如我们在导出的ServiceMain()函数中接收的参数是ANSI还是Unicode?我们是否需要调用RegisterServiceCtrlHandler和StartServiceCtrlDispatcher来注册服务控制及调度函数?
这些问题要通过查看svchost代码获得。下边的代码是windows 2000+ service pack 4 的svchost反汇编片段,可以看出svchost程序还是很简单的。 主函数首先调用ProcCommandLine()对命令行进行分析,获得要启动的服务组,然后调用SvcHostOptions()查询该服务组的选项和服务组的所有服务,并使用一个数据结构 svcTable 来保存这些服务及其服务的DLL,然后调用PrepareSvcTable() 函数创建 SERVICE_TABLE_ENTRY 结构,把所有处理函数SERVICE_MAIN_FUNCTION 指向自己的一个函数FuncServiceMain(),最后调用API StartServiceCtrlDispatcher() 注册这些服务的调度函数。 ; =============================== Main Funcion ======================================= .text:010010B8 public start .text:010010B8 start proc near .text:010010B8 push esi .text:010010B9 push edi .text:010010BA push offset sub_1001EBA ; lpTopLevelExceptionFilter .text:010010BF xor edi, edi .text:010010C1 call ds:SetUnhandledExceptionFilter .text:010010C7 push 1 ; uMode .text:010010C9 call ds:SetErrorMode .text:010010CF call ds:GetProcessHeap .text:010010D5 push eax .text:010010D6 call sub_1001142 .text:010010DB mov eax, offset dword_1003018 .text:010010E0 push offset unk_1003000 ; lpCriticalSection .text:010010E5 mov dword_100301C, eax .text:010010EA mov dword_1003018, eax .text:010010EF call ds:InitializeCriticalSection .text:010010F5 call ds:GetCommandLineW .text:010010FB push eax ; lpString .text:010010FC call ProcCommandLine .text:01001101 mov esi, eax .text:01001103 test esi, esi .text:01001105 jz short lab_doservice .text:01001107 push esi .text:01001108 call SvcHostOptions .text:0100110D call PrepareSvcTable .text:01001112 mov edi, eax ; SERVICE_TABLE_ENTRY returned .text:01001114 test edi, edi .text:01001116 jz short loc_1001128 .text:01001118 mov eax, [esi+10h] .text:0100111B test eax, eax .text:0100111D jz short loc_1001128 .text:0100111F push dword ptr [esi+14h] ; dwCapabilities .text:01001122 push eax ; int .text:01001123 call InitializeSecurity .text:01001128 .text:01001128 loc_1001128: ; CODE XREF: start+5Ej .text:01001128 ; start+65j .text:01001128 push esi ; lpMem .text:01001129 call HeapFreeMem .text:0100112E .text:0100112E lab_doservice: ; CODE XREF: start+4Dj .text:0100112E test edi, edi .text:01001130 jz ExitProgram .text:01001136 push edi ; lpServiceStartTable .text:01001137 call ds:StartServiceCtrlDispatcherW .text:0100113D jmp ExitProgram .text:0100113D start endp ; =============================== Main Funcion end =========================================== 由于svchost为该组的所有服务都注册了svchost中的一个处理函数,因此每次启动任何一个服务时,服务管理器SCM都会调用FuncServiceMain() 这个函数。这个函数使用 svcTable 查询要启动的服务使用的DLL,调用DLL导出的ServiceMain()函数来启动服务,然后返回。 ; ============================== FuncServiceMain() =========================================== .text:01001504 FuncServiceMain proc near ; DATA XREF: PrepareSvcTable+44o .text:01001504 .text:01001504 arg_0 = dword ptr 8 .text:01001504 arg_4 = dword ptr 0Ch .text:01001504 .text:01001504 push ecx .text:01001505 mov eax, [esp+arg_4] .text:01001509 push ebx .text:0100150A push ebp .text:0100150B push esi .text:0100150C mov ebx, offset unk_1003000 .text:01001511 push edi .text:01001512 mov edi, [eax] .text:01001514 push ebx .text:01001515 xor ebp, ebp .text:01001517 call ds:EnterCriticalSection .text:0100151D xor esi, esi .text:0100151F cmp dwGroupSize, esi .text:01001525 jbe short loc_1001566 .text:01001527 and [esp+10h], esi .text:0100152B .text:0100152B loc_100152B: ; CODE XREF: FuncServiceMain+4Aj .text:0100152B mov eax, svcTable .text:01001530 mov ecx, [esp+10h] .text:01001534 push dword ptr [eax+ecx] .text:01001537 push edi .text:01001538 call ds:lstrcmpiW .text:0100153E test eax, eax .text:01001540 jz short StartThis .text:01001542 add dword ptr [esp+10h], 0Ch .text:01001547 inc esi .text:01001548 cmp esi, dwGroupSize .text:0100154E jb short loc_100152B .text:01001550 jmp short loc_1001566 .text:01001552 ; ================================================= .text:01001552
.text:01001552 StartThis: ; CODE XREF: FuncServiceMain+3Cj .text:01001552 mov ecx, svcTable .text:01001558 lea eax, [esi+esi*2] .text:0100155B lea eax, [ecx+eax*4] .text:0100155E push eax .text:0100155F call GetDLLServiceMain .text:01001564 mov ebp, eax ; dll ServiceMain Function address .text:01001566 .text:01001566 loc_1001566: ; CODE XREF: FuncServiceMain+21j .text:01001566 ; FuncServiceMain+4Cj .text:01001566 push ebx .text:01001567 call ds:LeaveCriticalSection .text:0100156D test ebp, ebp .text:0100156F jz short loc_100157B .text:01001571 push [esp+10h+arg_4] .text:01001575 push [esp+14h+arg_0] .text:01001579 call ebp .text:0100157B .text:0100157B loc_100157B: ; CODE XREF: FuncServiceMain+6Bj .text:0100157B pop edi .text:0100157C pop esi .text:0100157D pop ebp .text:0100157E pop ebx .text:0100157F pop ecx .text:01001580 retn 8 .text:01001580 FuncServiceMain endp ; sp = -8 ; ============================== FuncServiceMain() end ======================================== 由于svchost已经调用了StartServiceCtrlDispatcher来服务调度函数,因此我们在实现DLL实现时就不用了,这主要是因为一个进程只能调用一次StartServiceCtrlDispatcher API。但是需要用 RegisterServiceCtrlHandler 来注册响应控制请求的函数。最后我们的DLL接收的都是unicode字符串。 由于这种服务启动后由svchost加载,不增加新的进程,只是svchost的一个DLL,而且一般进行审计时都不会去HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSvchost 检查服务组是否变化,就算去检查,也不一定能发现异常,因此如果添加一个这样的DLL后门,伪装的好,是比较隐蔽的。 4. 安装服务与设置 要通过svchost调用来启动的服务,就一定要在HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSvchost下有该服务名,这可以通过如下方式来实现:
1) 添加一个新的服务组,在组里添加服务名
2) 在现有组里添加服务名 3) 直接使用现有服务组里的一个服务名,但本机没有安装的服务 4) 修改现有服务组里的现有服务,把它的ServiceDll指向自己 其中前两种可以被正常服务使用,如使用第1种方式,启动其服务要创建新的svchost进程;第2种方式如果该组服务已经运行,安装后不能立刻启动服务,因为svchost启动后已经把该组信息保存在内存里,并调用API StartServiceCtrlDispatcher() 为该组所有服务注册了调度处理函数,新增加的服务不能再注册调度处理函数,需要重起计算机或者该组的svchost进程。而后两种可能被后门使用,尤其是最后一种,没有添加服务,只是改了注册表里一项设置,从服务管理控制台又看不出来,如果作为后门还是很隐蔽的。比如EventSystem服务,缺省是指向es.dll,如果把ServiceDll改为EventSystem.dll就很难发现。 因此服务的安装除了调用CreateService()创建服务之外,还需要设置服务的ServiceDll,如果使用前2种还要设置svchost的注册表选项,在卸载时也最好删除增加的部分。 注: ImagePath 和ServiceDll 是ExpandString不是普通字符串。因此如果使用.reg文件安装时要注意。 5. DLL服务实现 DLL程序的编写比较简单,只要实现一个ServiceMain()函数和一个服务控制程序,在ServiceMain()函数里用RegisterServiceCtrlHandler()注册服务控制程序,并设置服务的运行状态就可以了。
另外,因为此种服务的安装除了正常的CreateService()之外,还要进行其他设置,因此最好实现安装和卸载函数。 为了方便安装,实现的代码提供了InstallService()函数进行安装,这个函数可以接收服务名作为参数(如果不提供参数,就使用缺省的iprip),如果要安装的服务不在svchost的netsvcs组里安装就会失败;如果要安装的服务已经存在,安装也会失败;安装成功后程序会配置服务的ServiceDll为当前Dll。提供的UninstallService()函数,可以删除任何函数而没有进行任何检查。 为了方便使用rundll32.exe进行安装,还提供了RundllInstallA()和RundllUninstallA()分别调用InstallService()及UninstallService()。因为rundll32.exe使用的函数原型是: void CALLBACK FunctionName(
HWND hwnd, // handle to owner window HINSTANCE hinst, // instance handle for the DLL LPTSTR lpCmdLine, // string the DLL will parse int nCmdShow // show state ); 对应的命令行是rundll32 DllName,FunctionName [Arguments] DLL服务本身只是创建一个进程,该程序命令行就是启动服务时提供的第一个参数,如果未指定就使用缺省的svchostdll.exe。启动服务时如果提供第二个参数,创建的进程就是和桌面交互的。 揭开SVCHOST.exe进程之谜
svchost.exe是nt核心系统的非常重要的进程,对于2000、xp来说,不可或缺。很多病毒、木马也会调用它。所以,深入了解这个程序,是玩电脑的必修课之一。 大家对windows操作系统一定不陌生,但你是否注意到系统中“svchost.exe”这个文件呢?细心的朋友会发现windows中存在多个 “svchost”进程(通过“ctrl+alt+del”键打开任务管理器,这里的“进程”标签中就可看到了),为什么会这样呢?下面就来揭开它神秘的面纱。 发现 在基于nt内核的windows操作系统家族中,不同版本的windows系统,存在不同数量的“svchost”进程,用户使用“任务管理器”可查看其进程数目。一般来说,win2000有两个svchost进程,winxp中则有四个或四个以上的svchost进程(以后看到系统中有多个这种进程,千万别立即判定系统有病毒了哟),而win2003 server中则更多。这些svchost进程提供很多系统服务,如:rpcss服务(remote procedure call)、dmserver服务(logical disk manager)、dhcp服务(dhcp client)等。 如果要了解每个svchost进程到底提供了多少系统服务,可以在win2000的命令提示符窗口中输入“tlist -s”命令来查看,该命令是win2000 support tools提供的。在winxp则使用“tasklist /svc”命令。 svchost中可以包含多个服务 深入 windows系统进程分为独立进程和共享进程两种,“svchost.exe”文件存在于“%systemroot% system32”目录下,它属于共享进程。随着windows系统服务不断增多,为了节省系统资源,微软把很多服务做成共享方式,交由 svchost.exe进程来启动。但svchost进程只作为服务宿主,并不能实现任何服务功能,即它只能提供条件让其他服务在这里被启动,而它自己却不能给用户提供任何服务。那这些服务是如何实现的呢? 原来这些系统服务是以动态链接库(dll)形式实现的,它们把可执行程序指向 svchost,由svchost调用相应服务的动态链接库来启动服务。那svchost又怎么知道某个系统服务该调用哪个动态链接库呢?这是通过系统服务在注册表中设置的参数来实现。下面就以rpcss(remote procedure call)服务为例,进行讲解。 从启动参数中可见服务是靠svchost来启动的。 实例 以windows xp为例,点击“开始”/“运行”,输入“services.msc”命令,弹出服务对话框,然后打开“remote procedure call”属性对话框,可以看到rpcss服务的可执行文件的路径为“c:\windows\system32\svchost -k rpcss”,这说明rpcss服务是依靠svchost调用“rpcss”参数来实现的,而参数的内容则是存放在系统注册表中的。 在运行对话框中输入“regedit.exe”后回车,打开注册表编辑器,找到[hkey_local_machine systemcurrentcontrolsetservicesrpcss]项,找到类型为“reg_expand_sz”的键“magepath”,其键值为“%systemroot%system32svchost -k rpcss”(这就是在服务窗口中看到的服务启动命令),另外在“parameters”子项中有个名为“servicedll”的键,其值为“% systemroot%system32rpcss.dll”,其中“rpcss.dll”就是rpcss服务要使用的动态链接库文件。这样 svchost进程通过读取“rpcss”服务注册表信息,就能启动该服务了。 解惑 因为svchost进程启动各种服务,所以病毒、木马也想尽办法来利用它,企图利用它的特性来迷惑用户,达到感染、入侵、破坏的目的(如冲击波变种病毒“w32.welchia.worm”)。但windows系统存在多个svchost进程是很正常的,在受感染的机器中到底哪个是病毒进程呢?这里仅举一例来说明。 假设windows xp系统被“w32.welchia.worm”感染了。正常的svchost文件存在于“c:\windows\system32”目录下,如果发现该文件出现在其他目录下就要小心了。“w32.welchia.worm”病毒存在于“c:\windows\system32wins”目录中,因此使用进程管理器查看svchost进程的执行文件路径就很容易发现系统是否感染了病毒。windows系统自带的任务管理器不能够查看进程的路径,可以使用第三方进程管理软件,如“windows优化大师”进程管理器,通过这些工具就可很容易地查看到所有的svchost进程的执行文件路径,一旦发现其执行路径为不平常的位置就应该马上进行检测和处理。 干掉Svchost.exe进程!??
1.错误的解决方法描述
当我们按下Alt+Ctrl+Del打开任务管理器,发现进程中出现多个Svchost.exe,则表明系统中毒,我们首先将所有的Svchost结束掉,然后使用相关的杀毒工具查杀病毒。
注:2003年的夏天,“冲击波”病毒横行的时候有一种说法就是Svchost.exe都是病毒,一看到就要删除。这种说法让电脑用户人心惶惶,因为每个使用 Windows XP系统的用户在按照文章中介绍的检查有无Svchost.exe的方法都可以找到几个Svchost.exe进程。 2.方案由来及后果 在很多人的印象中,每个应用程序一般只对应一个进程,如QQ对应QQ.EXE进程、记事本对应notepad.exe进程等。所以当看到系统有多个同样名字的进程时,总是会将其联想为病毒或者木马程序在作怪。如果不加思索,野蛮的将其中的某些Svchost.exe进程结束掉,会让系统的运行变得不稳定。
3.正确的解决办法 Windows 进程分为独立进程和共享进程两种,Svchost.exe属于后者。Windows XP为了节约系统资源,将很多个系统服务做为共享方式由Svchost.exe来启动。Svchost本身只是作为服务宿主,并不能实现任何服务功能, svchost通过调用相应服务的动态链接库(DLL)来启动该服务,而Windows将这些服务分为几个组,同组的服务共享一个Svchost进程,不同的组所指向的Svchost不同。通常情况下,Windows XP有4个由Svchost启动的服务组,也就是说Windows XP系统一般有4个Svchost.exe进程。当然某些应用程序或服务也有可能会调用Svchost,所以当你看到系统中有多余4个的 Svchost.exe进程,也不要盲目判断系统中了病毒。实际上Svchost.exe进程的个数跟是否中毒无直接关系。
小提示: ★ 笔者做了下面一个非常有趣的测试:打开任务管理器,切换到“进程”选项卡,首先手动结束掉由上到下的第三个Svchost.exe进程,结束完后系统会马上重新建立该进程,接下来我们手动结束掉由上到下的最后一个Svchost.exe进程,系统会出现一个类似中了冲击波病毒的对话窗口,并倒计时关机,这是由于该Svchost.exe进程引导RPC服务,终止该进程则导致RPC服务中断,系统自然会重新启动了。
★Windows 2000中一般有两个Svchost.exe进程,Windows Server 2003则非常多,一般有6个。
既然系统中Svchost.exe进程数与是否中毒无关,我们究竟如何区别正常的和病毒伪造的Svchost进程呢? 我们可以使用下面两种方法来鉴别:
方法一:
在系统所在分区进行搜索,如果发现多个Svchost.exe文件,则系统很有可能中毒。正常的Svchost.exe位于%windir%\\ system32目录下,如果发现其它目录中有Svchost.exe文件,你就要小心了。例如冲击波的变种Win32.Welchia.Worm会在% windir%\\system32\\wins目录种下Svchost.exe文件。
方法二: 察看Svchost.exe进程对应文件的路径。
Windows XP自带的任务管理器中无法察看,我们需要借助第三方工具,例如Windows优化大师自带的进程管理工具,运行它后定位到Svchost.exe进程,可以看到它对应的运行文件的真实路径。
小提示: ★不少木马程序会采用将自己伪装成跟常见进程相似的文件名或者相同的文件名但扩展名不相同,如果你在任务管理器中看到Scvhost.exe、Svch0st.exe等进程,肯定有木马已经植入你的系统。
★ 很多朋友在查看CPU占用率时,一个叫做“System Idle Process”的进程常常会显示为90-99%。不必担心,实际上恰恰相反的是这里的90-99%是CPU资源空闲了出来的资源。这里的数字越大表示 CPU可用资源越多,数字越小则表示CPU资源越紧张。
其它错误的说法和方案 1.在安装Windows XP后,删除C:\\Windows\\System32\\Dllcache下的所有文件,可以节约大概200MB的磁盘空间。
点评:该文件夹里保存的是系统备份的dll文件,Windows在安装驱动、软件、升级的时候可能会用到里面的文件,如果将其删除会给我们带来更大的不便。
2. 由于系统空间比较宝贵,很多朋友将软件安装在其它分区,但每次安装软件时提示的默认安装路径都是C:\\Program Files,我们可以打开注册表,定位到“[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\ CurrentVersion]”,将右边窗口中的ProgramFilesDir字符串值修改为我们想要的路径。
点评:这样设置确实让我们方便不少。但它带来很多弊端,比如打开Outlook Express时,会报告C盘磁盘已满或者内存不足的错误,并提示“MSOE.dll无法初始化”,另外还可以引起Media Player等系统程序的运行故障。
方法二: 察看Svchost.exe进程对应文件的路径。
Windows XP自带的任务管理器中无法察看,我们需要借助第三方工具,例如Windows优化大师自带的进程管理工具,运行它后定位到Svchost.exe进程,可以看到它对应的运行文件的真实路径。
小提示: ★不少木马程序会采用将自己伪装成跟常见进程相似的文件名或者相同的文件名但扩展名不相同,如果你在任务管理器中看到Scvhost.exe、Svch0st.exe等进程,肯定有木马已经植入你的系统。
★ 很多朋友在查看CPU占用率时,一个叫做“System Idle Process”的进程常常会显示为90-99%。不必担心,实际上恰恰相反的是这里的90-99%是CPU资源空闲了出来的资源。这里的数字越大表示 CPU可用资源越多,数字越小则表示CPU资源越紧张。
其它错误的说法和方案 1.在安装Windows XP后,删除C:\\Windows\\System32\\Dllcache下的所有文件,可以节约大概200MB的磁盘空间。
点评:该文件夹里保存的是系统备份的dll文件,Windows在安装驱动、软件、升级的时候可能会用到里面的文件,如果将其删除会给我们带来更大的不便。
2. 由于系统空间比较宝贵,很多朋友将软件安装在其它分区,但每次安装软件时提示的默认安装路径都是C:\\Program Files,我们可以打开注册表,定位到“[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\ CurrentVersion]”,将右边窗口中的ProgramFilesDir字符串值修改为我们想要的路径。
点评:这样设置确实让我们方便不少。但它带来很多弊端,比如打开Outlook Express时,会报告C盘磁盘已满或者内存不足的错误,并提示“MSOE.dll无法初始化”,另外还可以引起Media Player等系统程序的运行故障。
这里仅举一例来说明。假设Windows XP系统被“w32.welchia.worm”感染了。正常的Svchost文件存在于“c:\Windows\system32”目录下,如果发现该文件出现在其他目录下就要小心了。“w32.welchia.worm”病毒存在于“c:\Windows\system32wins”目录中,通过使用上面说的方法就可很容易地查看到所有的Svchost进程的执行文件路径,一旦发现其执行路径为不平常的位置就应该马上进行检测和处理。 现在我们已经搞清楚了一部分疑问,但是,我们还不知道哪个服务调用了哪个动态链接库文件,是不是没有办法呢?如果没有地方可以找到,那么Windows自己又是如何知道调用哪一个呢?大家知道,Windows将所有的系统信息和应用程序信息都保存在了系统注册表中,所以,我们可以在注册表中找找看。
下面以Remote Procedure
Call(RPC)服务为例,来看看Svchost进程是如何调用DLL文件的。在Windiws中,打开服务,然后打开“Remote
Procedure Call(RPC)”属性对话框,可以看到Remote Procedure Call(RPC)服务的可执行文件的路径为“C:\WINNT\system32\Svchost -k rpcss”,这说明Remote Procedure Call(RPC)服务是依靠Svchost调用“rpcss”参数来实现的,而参数的内容则是存放在系统注册表中的。 在运行对话框中输入“regedit.exe”后回车,打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\System\currentcontrolset\services\rpcss”项。然后,再在里面找到类型为“reg_expand_sz”的“Imagepath”项,其键值为“%SystemRoot%\system32\Svchost -k
rpcss”(这就是在服务窗口中看到的服务启动命令),另外在“parameters”子项中有个名为“ServiceDll”的键,其值为“%SystemRoot%\system32\rpcss.dll”,其中“rpcss.dll”就是Remote Procedure
Call(RPC)服务要使用的动态链接库文件。这样Svchost进程通过读取“rpcss”服务注册表信息,就能启动该服务了。
同样情况下,如果有程序试图蛮天过海,假借Svchost.exe来启动自己的动态链接库文件(如将木马作成动态链接库文件),那么我们就可以从这里找到DLL木马的路径,将它大白于天下。
如果要了解每个Svchost进程到底提供了多少系统服务,可以在Windows 2000的命令提示符窗口中输入“tlist
-s”命令来查看,该命令是Windows 2000 support tools提供的。不过,在这里看到的效果跟服务里面看到的是一样的,只不过是DOS界面而已。
小知识:在Windows xp下则使用“tasklist /svc”命令会收到同样的效果。
由于篇幅的关系,不能对Svchost全部功能进行详细介绍,这是一个Windows中的一个特殊进程,有兴趣的可参考有关技术资料进一步去了解它。
下面,我们通过一个实例来看一下木马程序是如何利用Svchost.exe进行启动的。这里,我选择了PortLess BackDoor V1.2来做演示,这是一个使用Svchost.exe去启动,平时不开端口,可以进行反连接的后门程序(和小榕的BITS是同一类型的后门)。 为了看一下这个后门是如何利用Svchost.exe进行启动的,我们在运行软件之前,先给注册表做一个快照,这里我选择了Regshot
1.61e5
final版本,并将初始快照命名为1.hiv。然后我们将Portlessinst.exe和Svchostdll.dll(不要改名)上传到系统目录(%winnt%\system32目录中)。
接下来,进入命令行,使用“Portlessinst.exe -install ActiveString Password”进行安装,这里的ActiveString就是连接那系统打开的端口后输入的验证字符串,这里的密码是使用正向连接你连接上后门打开的端口时需要输入的密码。比如,我输入如下:
portlessinst.exe –install smiler wind_003
这样就安装上去了,我们来看一下注册表里的变化。将1.hiv装载进Regshot中的1st shot,然后对当前的注册表做2st shot的快照,然后使用compare进行比较,其比较的结果如下:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet
Explorer\PortLess\FdsnqbTsuni`: "tjnkbu" HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\PortLess\Wfttphuc: "tofiXdo" HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\IPRIP\Security\Security: 01 00 14 80 A0 00 00 00 AC 00 00 00 14 00 00 00 30 00 00 00 02 00 1C 00 01 00 00 00 02 80 14 00 FF 01 0F 00 01 01 00 00 00 00 00 01 00 00 00 00 02 00 70 00 04 00 00 00 00 00 18 00 FD 01 02 00 01 01 00 00 00 00 00 05 12 00 00 00 63 00 6F 00 00 00 1C 00 FF 01 0F 00 01 02 00 00 00 00 00 05 20 00 00 00 20 02 00 00 6D 00 00 00 00 00 18 00 8D 01 02 00 01 01 00 00 00 00 00 05 0B 00 00 00 20 02 00 00 00 00 1C 00 FD 01 02 00 01 02 00 00 00 00 00 05 20 00 00 00 23 02 00 00 6D 00 00 00 01 01 00 00 00 00 00 05 12 00 00 00 01 01 00 00 00 00 00 05 12 00 00 00 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\IPRIP\Parameters\ServiceDll:
"C:\WINNT\system32\Svchostdll.dll" HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\IPRIP\Parameters\program: "SvchostDLL.exe" HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\IPRIP\Parameters\Interactive: 0x00000000 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\IPRIP\Type: 0x00000020 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\IPRIP\Start: 0x00000002 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\IPRIP\ErrorControl: 0x00000001 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\IPRIP\ImagePath: "%SystemRoot%\System32\Svchost.exe -k netsvcs" HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\IPRIP\DisplayName: "Intranet Services" HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\IPRIP\ObjectName: "LocalSystem" HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPRIP\Security\Security: 01 00 14 80 A0 00 00 00 AC 00 00 00 14 00 00 00 30 00 00 00 02 00 1C 00 01 00 00 00 02 80 14 00 FF 01 0F 00 01 01 00 00 00 00 00 01 00 00 00 00 02 00 70 00 04 00 00 00 00 00 18 00 FD 01 02 00 01 01 00 00 00 00 00 05 12 00 00 00 63 00 6F 00 00 00 1C 00 FF 01 0F 00 01 02 00 00 00 00 00 05 20 00 00 00 20 02 00 00 6D 00 00 00 00 00 18 00 8D 01 02 00 01 01 00 00 00 00 00 05 0B 00 00 00 20 02 00 00 00 00 1C 00 FD 01 02 00 01 02 00 00 00 00 00 05 20 00 00 00 23 02 00 00 6D 00 00 00 01 01 00 00 00 00 00 05 12 00 00 00 01 01 00 00 00 00 00 05 12 00 00 00 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPRIP\Parameters\ServiceDll: "C:\WINNT\system32\Svchostdll.dll" HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPRIP\Parameters\program: "SvchostDLL.exe" HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPRIP\Parameters\Interactive: 0x00000000 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPRIP\Type: 0x00000020 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPRIP\Start: 0x00000002 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPRIP\ErrorControl: 0x00000001 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPRIP\ImagePath: "%SystemRoot%\System32\Svchost.exe -k netsvcs" HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPRIP\DisplayName: "Intranet Services" HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPRIP\ObjectName: "LocalSystem" 可以看出,PortLess BackDoor V1.2将自己注册为了服务IPRIP,它使用的启动参数是"%SystemRoot%\System32\Svchost.exe -k netsvcs",它使用的DLL文件是"C:\WINNT\system32\Svchostdll.dll"。通过这里,我们就可以找到PortLess,将它使用的服务禁止掉,然后将对应的DLL文件删除,并将注册表中这些多出来的键值干掉,三下五除二就将Portless弄得一干二净!现在大家知道怎么清理掉用Svchost加载的后门了吧?!
耗尽CPU资源的Explored病毒清除法 昨天单位这好几台机器病毒大爆发,因为都不是专家高手,折腾了很久才清理掉,过程中有些体会,觉得可以写下来,跟大家作一番交流。 首先是病毒的发现。昨天出现了两个症状。 一、在局域网上出现广播包(ARP)暴增,甚至把出口堵死。 二、机器CPU资源耗尽。 用任务管理器可以看到可疑的进程explored.exe和services.exe一起占用CPU近100%(后来才知道,这是因为该病毒是通过服务启动的),该进程无法停止,注册表键值: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 这里有该项存在,即使将该项删除,重启后仍如原样。这个文件是存在在WINDOWS的SYSTEM32目录下,未中毒机器没有该文件。因此可基本确认该进程是病毒。 然后是病毒的查杀。这过程中出现两个问题,一是瑞星开始无法升级,这是因为病毒本身把出口堵塞,TCP流无法正常传输。 我们尝试了一下,发现可以用防火墙(例如天网)将病毒程序隔离,然后再连网进行升级。第二个问题是瑞星查毒过程缓慢(查毒前已经将网卡先禁用了),这是因为病毒程序explored占用CPU太狠,在无法设置删除该进程的情况下,可以用任务管理器提高瑞星进程的优先级(比如实时),这样瑞星从病毒手中抢过CPU资源来正常地运行。 不过,这次瑞星只查杀了伪装成svchost.exe的蠕虫病毒,explored仍然存在。 我们无可奈何下只好采用很笨的方法删除explored,就是进入安全模式,到Windows的System32目录下直接把该文件删除掉。顺便也把注册表中启动运行那项也删掉了。 重启后,提示有服务出错,到管理工具下的“服务”一看,才终于发现了该病毒的真实面目:原来“服务”里面有一栏“Windows Login”,属性显示服务名称是“MpR”,可执行文件路径正是“C:\WINNT\SYSTEM32\explored.exe -services”。 这就说明了为什么进程中止不了,删掉注册表中系统启动项也没用。也就是说,当初应该到服务里将该服务停止,而不是在任务管理器试图将其删除。 最后就病毒查杀的心得作一点小结:上述病毒发作都有一定迹象,例如CPU占满,网络带宽占满(可以通过网络连接状态看,如果后台没有运行什么进程,网络接口上收/发包数激增,就很可能是中毒或是连接的网络上有机器中毒),因为平时要保持警惕,发现异常就赶紧查毒。 最好是用查毒软件,用任务管理器有时被骗,现在的病毒起名往往跟系统程序相似甚至相同,例如explored, smsss(smss是系统程序),svchost等等。最好知道真正的系统程序所在目录,例如系统svchost.exe应该在system32下,而病毒可能藏在system32\drivers下。 病毒的自启动可能通过很多途径:注册表,INI文件,甚至——象explored这样——通过服务启动。 与其中了毒再查再杀,不如切实做好防护措施——补丁,病毒保护,防火墙,一个都不能少啊! 9月23日 mysee总裁高燃:还没有发现最有效的盈利点北京高维视讯(mysee.com)科技公司总裁高燃今年我很高兴的事情是,更多的创业者出现。另外一件事情就是,我在传统行业投资,又赚到了一些钱。 比较头疼的事情,应该是还没有发现最有效的盈利点,但是我们已经发现了盈利的苗头。 2006年可以看到的新景象是,投资热潮的出现,更多的创业者也开始出现,今天找我换名片的人有这么多(两盒左右),我想我还是一个创业者,大家也愿意找我交流一下看法。 2007年,会有一到两家典型的公司上市,这会引发更多的投资进入,可能也会有一大批新的企业倒掉 |
||||
|
|