哇!有黑客!!!(下)

 作者:elly  来源:安全焦点论坛

注意看前面打了*号的那些文件,说它们不是后门之类入侵者留下的文件我才不信。
先随便打开一个最近修改过的(就在不久前)Svclog看看:

代码



============================================================


C:/WINNT/system32>type Svclog.log


Performing Time: 2/19/2005 3:11:0 --> Start OK


Performing Time: 2/19/2005 3:11:0 --> The System Is Online


Performing Time: 2/19/2005 3:11:0 --> Read Setting OK


Performing Time: 2/19/2005 3:11:0 --> InitBackDoor() OK


Performing Time: 2/19/2005 3:11:0 --> InitSocket() OK


Performing Time: 2/19/2005 3:11:0 --> Probably Static IP


Performing Time: 2/19/2005 3:11:0 --> Start Sniffing On 61.***.***.***


Performing Time: 2/19/2005 3:19:35 --> The Service Is Stopping


Performing Time: 2/19/2005 3:19:36 --> The Service Is Stopped Successfully


============================================================


呔!现形了吧。然后我们就顺藤摸瓜,看了下这个文件的创建时间,竟然又是
2004年4月7日?再看看其他那几个文件,也都是那一天的,包括我们一开始就
发现的那个Dcomsvc.exe 。我们再看看2004年4月7日留下的另一个文件nt.bat
代码



============================================================


C:/WINNT/system32>type nt.bat


dcomsvc -install


dcomsvc -config port 1432


dcomsvc -config starttype 2


net start dcomsvc


============================================================

这个就是最初安装和启动dcomsvc(真名skserver)的脚本吧,同时也指出了它
的监听端口 TCP:1432。测试连接成功,但是与TermServ一样,不可见。

我们总结性的看一下这一天创建的所有文件:
代码



============================================================


C:/WINNT/system32>dir /s /O:D /T:C |findstr 2004-04-07


2004-04-07  11:52               55,296 list.gif


2004-04-07  11:52               45,056 finder.gif


2004-04-07  11:53               28,160 nlog.gif


2004-04-07  11:53               77,824 kill.gif


2004-04-07  11:53              131,072 info.gif


2004-04-07  11:53               76,288 SvcHostDLL.dll


2004-04-07  11:53               62,464 sysinfo.dll


2004-04-07  11:53               14,747 reginfo.exe


2004-04-07  11:53               69,632 spinfo.dll


2004-04-07  11:54                  944 ms29.ini


2004-04-07  11:55               14,747 TInject.Dll


2004-04-07  11:55                  412 Svclog.log


2004-04-07  11:57                8,464 sporder.dll


2004-04-07  11:57                   49 mslsp.dat


2004-04-07  12:01               16,384 Perflib_Perfdata_450.dat


2004-04-07  12:11                   93 nt.bat


============================================================



4.用户帐号
黑客在入侵后,经常会用一种最简单直接古老的方法留下后门,那就是添加用户
帐号。我们可以使用[控制面板]->[管理工具]->[计算机管理]来查看系统用户
帐号,或者象下面这样直接用net user命令行工具来查看用户属性。

net user 输出
代码



=====================================================================


用户名                 Administrator


全名                  


注释                   管理计算机(域)的内置帐户


用户的注释            


国家(地区)代码         000 (系统默认值)


帐户启用               Yes


帐户到期               永不





上次设置密码           2003/10/30 下午 04:20


密码到期               永不


密码可更改             2003/10/30 下午 04:20


需要密码               Yes


用户可以更改密码       Yes





允许的工作站           All


登录脚本              


用户配置文件          


主目录                


上次登录               2005/2/20 下午 10:01





可允许的登录小时数     All





本地组会员             *Administrators      


全局组成员             *None                


命令成功完成。


=====================================================================


用户名                 Guest


全名                  


注释                   供来宾访问计算机或访问域的内置帐户


用户的注释            


国家(地区)代码         000 (系统默认值)


帐户启用               Yes


帐户到期               永不





上次设置密码           2004/4/7 上午 11:52


密码到期               永不


密码可更改             2004/4/7 上午 11:52


需要密码               No


用户可以更改密码       No





允许的工作站           All


登录脚本              


用户配置文件          


主目录                


上次登录               永不





可允许的登录小时数     All





本地组会员             *Administrators       *Guests              


全局组成员             *None                


命令成功完成。


=====================================================================


用户名                 monitor


全名                   monitor


注释                   Special account for Remote Performance Monitor


用户的注释            


国家(地区)代码         000 (系统默认值)


帐户启用               Yes


帐户到期               永不





上次设置密码           2004/6/1 下午 04:32


密码到期               永不


密码可更改             2004/6/1 下午 04:32


需要密码               Yes


用户可以更改密码       No





允许的工作站           All


登录脚本              


用户配置文件          


主目录                


上次登录               永不





可允许的登录小时数     All





本地组会员             *Administrators      


全局组成员             *None                


命令成功完成。


=====================================================================


用户名                 TsInternetUser


全名                   TsInternetUser


注释                   这个用户帐户被终端服务所使用。


用户的注释            


国家(地区)代码         000 (系统默认值)


帐户启用               Yes


帐户到期               永不





上次设置密码           2005/2/18 上午 03:03


密码到期               永不


密码可更改             2005/2/18 上午 03:03


需要密码               No


用户可以更改密码       No





允许的工作站           All


登录脚本              


用户配置文件          


主目录                


上次登录               永不





可允许的登录小时数     All





本地组会员             *Guests              


全局组成员             *None                


命令成功完成。


=====================================================================


在这里我们列举了4个比较重要的用户,它们包含了和这次入侵事件相关的一些
重要数据。在用户帐号中最重要的信息是关于Guest帐号:
代码



=====================================================================


* 用户名                 Guest


全名                  


注释                   供来宾访问计算机或访问域的内置帐户





* 帐户启用               Yes


帐户到期               永不





* 上次设置密码           2004/4/7 上午 11:52


密码到期               永不


* 密码可更改             2004/4/7 上午 11:52


需要密码               No


用户可以更改密码       No    


* 上次登录               永不





可允许的登录小时数     All





* 本地组会员             *Administrators       *Guests  


=====================================================================

注释*的这几行透漏出了重要信息,默认情况下Guest用户是Guests组成员,并且
不可能用来登录系统。而这台机器上Guest被加进了Administrators组,这就意
味着它和系统超级用户Administrator具有同等特权!再看一下它的激活时间,
上次修改密码是在2004/4/7 上午 11:52,这几乎就是系统被入侵的精确时间了。
与文件系统MAC分析结合,可以证实系统入侵发生的准确时间。

那么其他帐户和这次入侵事件有什么关系呢?我们看一下本地用户密码破解后的
口令明文信息:
代码



=====================================================================


USERNAME           LANMAN_PASSWORD       PASSWORD    


__vmware_user__           * empty *           * empty *                    


Administrator                                        


Guest                   * empty *           * empty *                        


monitor                   123456               123456    


IUSR_CXL                


IWAM_CXL        


TsInternetUser               


=====================================================================


这里就显示出了更多信息,__vmware_user__和Guest用户的口令为空!而且Guest
用户还具有Administrator特权,并且可以从任何地点通过网络登录到本机;此外,
当前系统上还有一个monitor用户,密码为123456,显然这个密码也是极不安全的,
破解它连一秒钟都不用。虽然这是系统管理员用于管理的额外用户,但是它也具有
Administrator同等特权,而这个密码我相信入侵者想得到它也不是难事。最后就
是关于Administrator用户,本来Administrator用户的密码长度为12位,应该
说是足够安全了,但只要别人能够进入这台机器,对于入侵者来说,就完全没有隐私
可言,我们看一下黑客留下的工具之一 c:/winnt/system32/finder.gif
代码



=====================================================================


C:/>finder.exe





         To Find Password in the Winlogon process


Usage: a.exe DomainName UserName PID-of-WinLogon





The debug privilege has been added to PasswordReminder.


The WinLogon process id is 216 (0x000000d8).


To find CXL/Administrator password in process 216 ...


The encoded password is found at 0x010f0800 and has a length of 12.


The logon information is: CXL/Administrator/@rigen2000x#.


The hash byte is: 0x7e.


=====================================================================

Windows2000有一个特性,就是会把当前登录用户的口令明文缓存在Winlogon
进程的缓存空间中,而finder就是从Winlogon缓存中发掘当前登录用户口令的
黑客工具


5.日志,网络,和其他
在这一节中,实际还作了其他的很多取证工作,使用eventdmp和eventlog对系统日
志信息作了分析和备份等等。但是因为当前系统中,各项应用服务运行基本正常,
而至于事件日志--Windows 2000默认就不记安全日志,而其他日志能够提供的信息
又太少了,所以略过这些部分。另外,在PipeList的输出中,也没有发现异常管道,
所以略过此部分。


本章结论:
1.本主机已被渗透入侵
2.本主机已被安装如下后门:
  C:/WINNT/system32/Dcomsvc.exe(skserver 1.0)
  C:/WINNT/system32/Termsrv.exe(TerminalServer)                                                        
  C:/WINNT/AppPatch/app/openmange.exe(CCProxy 6.0)
3.发现隐藏后门程序:
  468   -      spoolsv.exe  --[Hidden]--
  1136  -       syinfo.exe  --[Hidden]--
4.系统上运行了Sniffer程序,可能用以窃听口令;
5.系统Guest用户被激活,口令为空,同时被加入Administrators组;
  __vmware_user__用户口令为空;
  monitor用户和Administrator用户口令已泄漏。
6.PCAnywhere的连接加密被设为none。
7.确定终端服务端口被修改作为后门,工作端口TCP:4652;skserver工作端口
  TCP:1432。同时这些进程和端口被隐藏,这意味着系统中有更深层次的后门。
8.基本确定系统被入侵时间为2004年4月7日,中午12时左右。



本章遗留问题:

虽然本章中,通过一些常规的系统管理手段分析,查出了一些问题,但是也发现
了一些隐藏更深的蛀虫。它们藏在哪儿呢?
1. Terminal会隐身?
2. 抓住忍者!


所要做的事:
在本章中,主要是初步分析异常状况。通过对系统中各项信息的分析,找出入侵
的踪迹和藏身之地,这个过程可能很简单,只用fport之类的简单工具就可以清除;
也可能很复杂,迎接你的,将是通往更广袤幽暗地域的一个黑洞...

在本章所要做的是,主要使用过各种工具,尽可能快速、全面、详尽、冗余的取得
系统当前状态下的更多信息。具体的方面和步骤,如同本章开始所述的六个方面,
不再赘述。


正确的途径:
在实际的应急响应、取证和分析过程中,需要的步骤更严谨些,就不像本章中那么
快速简洁了。

正确的步骤应该从发现问题开始,当发现系统被入侵后,进行分析的步骤应该是:
1.根据情况和系统重要级别确定处理方针,是抓,还是堵?
1.1如果是堵的话,那么很好说,立刻断开网线,然后继续第二步过程;
1.2如果是抓的话...这就按照本文的正常顺序,直接跳转到第二步,同样进行
下一步过程。

2.迅速建立系统的当前状态镜像,主要是磁盘镜像、内存镜像以及当前系统信息
采集。
系统信息的采集过程就如本章过程所述,但是需要注意的一点,准备好你自己的
应急工具包,包括各项系统信息采集和分析工具的。同时分析过程最好能够用脚本
自动化完成,并且直接存储在远程计算机上。这能够保证信息的正确性、完整性,
以及系统映像的纯洁性和稳定性 -- 记住这一点,案发时保持案发现场的纯洁稳定
是最重要的一点。
Tips:为了不受系统入侵者的影响,在本案中elly安装了一个ssh服务器(出于
带宽限制的苦衷和对安全性的考虑两方面),之后上传了自己的一个工具包,来对
系统信息进行检查。

接下来就是按照可能性和环境对系统磁盘、内存进行完整干净的镜像备份。对磁盘
镜像Unix下的dd是一个最好的选择,但是Windows下有时很可能你的系统不能够
重启或离线,那么这时候,我个人推荐一个好工具,Acronis TruImage,虽然
它并不一定能够完全完整的保证镜像纯净(可能不符合司法鉴定程序),但对于一般
情况,在在线的Windows平台上它是一个好选择。主要特性有:支持在线(Windows
本机正在运行时)镜像,支持远程镜像,支持把镜像文件作为虚拟硬盘直接还原加载。
仅这三点都是我认为它成为不可替代的好选择。

BTW:在本例中,elly因为只有56K猫猫,所以偷了个懒,直接在主机上进行分析
操作了,这不符合极端安全原则,大家不要跟我学--偷懒。

3.加载你的备份镜像为只读。并且进行分析和取证操作。
如果是TrueImage的镜像,可以直接加载为虚拟磁盘;如果是DD镜像,则可能需要
恢复到一个物理磁盘,或Vmware虚拟机中重建虚拟现场环境,或不需要运行程序的
时候,也可以使用各种Unix的loopback FS特性进行虚拟文件系统的加载。

4.深入分析,继续见下一章。


本章Tips:
1.尽量进行离线分析,为了不破坏系统当前状态和引起入侵者注意,注意采集到
足够信息后立刻建立系统的静态离线镜像,然后在镜像副本上进行操作,保持现
场最重要。
2.天下武功,无奸不破,唯快不破。在入侵分析和取证工作中,对系统的熟知程度
和反应速度是最重要的。能够越快的采集到越多的信息,你胜利的把握就越大。在与
黑客的战争中,往往速度就是成功与否的取决因素。因此,最好能够迅速的准备好
处理程序,并且使用脚本进行自动化的信息收集和分析,以加快人工分析的速度和
缩短响应时间。
3.MAC是文件系统分析中的重要证据,分别是文件的M(最后修改时间)A(最后访问
时间)C(创建时间)。其中每一项都包含着非常重大的隐藏意义,合理的利用MAC信
息,结合系统日志等其他证据,良好的推理就可以刻划出一个黑客行为的流程图!
但是MAC信息是非常脆弱易失的,同时也并非没有方法伪造,所以尽可能的尽早建立
系统影响副本,保持MAC证据,同时使用副本时注意尽量进行只读加载,因为A(最
后访问时间),只要读取文件就可能造成改变,只读加载是可以避免这个问题。
再次说明,注意保持现场,你的机会只有一次。
难觅:驀然回首,那人却在

场景:
看着身后的光亮逐渐微弱,阴冷的风撕扯着elly的斗篷,仿佛黑暗的气息无孔不
入。elly最后看了一眼遥远处微弱的光,握了握手中的剑--那是崔斯特赠予他的
"冰亡",这稍稍让他的心安静了些。elly把目光收回,待眼神适应这幽暗地域的
黑暗之后,收紧精神,豹一般的义无反顾地向这幽暗地域漆黑的无底洞穴走去。

世界的这边,看着屏幕上黑色的终端窗口,闪烁的绿色字母像谜一样排列组合着,
elly抿了一口微热的香茗,从容的在终端中打入: rkdetector.exe

rkdetector输出:
代码



============================================================


C:/WINNT/system32>rkdetector.exe


          . .. ...: Rootkit Detector Profesional 2004 v0.62 :... .. .


Rootkit Detector Profesional 2004


Programmed by Andres Tarasco Acuna


Copyright (c) 2004 - 3wdesign Security


Url: _blank>http://www.3wdesign.es








-Gathering Service list Information... ( Found: 253 services )


-Gathering process List Information... ( Found: 48 process )


-Searching for Hidden process Handles. ( Found: 0 Hidden Process )


-Checking Visible Process.............


c:/winnt/system32/smss.exe


c:/winnt/system32/csrss.exe


c:/winnt/system32/winlogon.exe


c:/winnt/system32/services.exe


c:/winnt/system32/lsass.exe


c:/winnt/system32/svchost.exe


c:/winnt/system32/msdtc.exe


c:/program files/symantec/pcanywhere/awhost32.exe


c:/program files/dell/openmanage/omsa/bin/dcevt32.exe


c:/winnt/system32/dcomsvc.exe


c:/program files/dell/openmanage/omsa/bin/dcstor32.exe


c:/program files/symantec_client_security/symantec antivirus/defwatch.exe


c:/winnt/system32/svchost.exe


c:/winnt/system32/llssrv.exe


c:/program files/symantec_client_security/symantec antivirus/rtvscan.exe


c:/winnt/system32/mstask.exe


c:/progra~1/serv-u/servud~1.exe


c:/program files/dell/openmanage/iws/bin/win32/omaws32.exe


c:/winnt/system32/snmp.exe


c:/winnt/system32/termsrv.exe


c:/winnt/system32/wbem/winmgmt.exe


c:/winnt/system32/svchost.exe


c:/winnt/system32/inetsrv/inetinfo.exe


c:/winnt/system32/svchost.exe


c:/progra~1/dell/openma~1/oldiags/vendor/pcdoctor/bin/diagorb.exe


c:/winnt/system32/atiptaxx.exe


c:/program files/f-secure/ssh server/fsshd2.exe


c:/winnt/cmd/rkdetector.exe


c:/winnt/explorer.exe


c:/winnt/system32/svchost.exe


c:/program files/flashget/flashget.exe


c:/winnt/system32/bacstray.exe


c:/progra~1/symant~1/symant~1/vptray.exe


c:/program files/d-tools/daemon.exe


c:/winnt/system32/internat.exe


c:/progra~1/serv-u/servut~1.exe


c:/program files/f-secure/ssh server/fsshd2srv.exe


c:/program files/mercury interactive/loadrunner/launch_service/bin/magentproc.exe


c:/winnt/system32/conime.exe


c:/winnt/system32/termsrv.exe


c:/program files/internet explorer/iexplore.exe


c:/winnt/system32/cmd.exe


c:/winnt/system32/mmc.exe


c:/program files/f-secure/ssh server/fssh2console.exe


c:/program files/f-secure/ssh server/fsshsftpd.exe


c:/winnt/system32/cmd.exe


c:/program files/internet explorer/iexplore.exe


-Searching again for Hidden Services..


-Gathering Service list Information... ( Found: 0 Hidden Services)


-Searching for wrong Service Paths.... ( Found: 3 wrong Services )


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


*SV: dcomsvc


[color=red]34567890 (DCOM Services) PATH: c:/winnt/system32/dcomsvc.exe[/color]


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


[color=red] *SV: MsDoscDefenderDrv (MsDoscDefenderDrv) PATH: c:/winnt/system32/msdosdrv.sys[/color]


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


[color=red] *SV: PCDRDRV (Pcdr Helper Driver) PATH: c:/progra~1/dell/openma~1/oldiags/vendor/pcdoctor/modules/pcdrdrv.sys[/color]


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


-Searching for Rootkit Modules........


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


[color=red] *SUSPICIOUS MODULE!! c:/winnt/system32/imm32.dll[/color]


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


[color=red] *SUSPICIOUS MODULE!! c:/winnt/system32/lpk.dll[/color]


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


[color=red] *SUSPICIOUS MODULE!! c:/winnt/system32/usp10.dll[/color]


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


-Trying to detect hxdef with TCP data..( Found: 1 running rootkits)


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


[color=red] *ROOTKIT HACKER DEFENDER v1.0.0 IS INSTALLED IN YOUR HOST.[/color]


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


-Searching for hxdef hooks............ ( Found: 1 running rootkits)


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


[color=red] *ROOTKIT HACKER DEFENDER >= v0.82 FOUND. Path not available[/color]


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


-Searching for other rootkits......... ( Found: 0 running rootkits)





============================================================


rkdetector和Kproccheck一样,是一个强大的工具,它们都从系统内核空间读取
数据,而rkdetector的功能则更多一些,就如同它的名字r(oot)k(it)detector,
它能够自动的分析Windows系统中存在的多种rootkit(一种黑客后门和工具包的集
合的通称)。就象上面的输出中,排除一些误报,有效的有下面几行:
代码



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


*SV: dcomsvc


34567890 (DCOM Services) PATH: c:/winnt/system32/dcomsvc.exe


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


*SV: MsDoscDefenderDrv (MsDoscDefenderDrv) PATH: c:/winnt/system32/msdosdrv.sys


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


-Trying to detect hxdef with TCP data..( Found: 1 running rootkits)


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


*ROOTKIT HACKER DEFENDER v1.0.0 IS INSTALLED IN YOUR HOST.


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


-Searching for hxdef hooks............ ( Found: 1 running rootkits)


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


*ROOTKIT HACKER DEFENDER >= v0.82 FOUND. Path not available


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


-Searching for other rootkits......... ( Found: 0 running rootkits)


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


可以看到它检测出了2个异常服务dcomsvc和msdosdrv.sys,以及一个rootkit --
HACKER DEFENDER v1.0.0(后文简称hxdef100)。而hxdef100,恐怕就是本章中最
大的boss -- 也是最难对付的。这是Windows系统下极为成功的一个rootkit,它
作为一个系统服务运行在Windows系统当中,然后通过hook相关系统调用的方法来
截获用户程序,并完成各项功能。它可以隐藏文件、目录、进程、服务注册表键值、
网络端口 等信息,使得用户通过常规的查询方法(sc或ps等)无法看到这些信息。同时
他还可以直接监听某个TCP端口(在本机不可见的),或再运行和隐藏其他后门程序,
来制造一个远程控制所用的通路,比特洛伊人的木马可强太多了,简直是居家旅行、
杀人无形之必备良药!

hxdef100不但本身隐性,还能让其他后门(进程、服务、文件)隐性,实在是有些
棘手。而让它显形的唯一方法就是喊它的名字: net stop hxdef100
停止服务之后,它就会暂时失效,然后可以使用hxdef100.exe -:uninstall
来卸载自身。

但是这样有两个难题,首先是,我们并不知道它的服务名,而不知道服务名是无
法停止的;其次,我们也不知道它的可执行文件和配置文件放在那里,这样我们
即时停止了,也无法完整卸载它,更无法找出它所隐藏的更多后门了,那岂不是
死无对证?

只好死马当成活马医先试一把,用前面发现的几个可能服务名试试看:
代码



elly: 芝麻开门...(net stop hxdef100)


hxdef:...


elly: 西瓜开门...(net stop dcomsvc)


hxdef:...


elly: 土豆开门...(net stop ccproxy)


hxdef:...


elly: 香蕉开门...(net stop MsDoscDefenderDrv)


hxdef:...


elly: hxdef开门...(net stop spoolsv)


hxdef:...



看来hxdef是死都不肯回应我了,那么就只好...找软柿子捏,分析一下已经抓到
的那几个尸体,看看能不能逼它们说出点什么来。

先把所有已经找到的异常文件拉到本机分析一下,包含刚发现的msdosdrv.sys,
当然,有些文件知道它们是存在那儿的,但是系统还是报告找不到,不用想都是
hxdef搞得鬼。

在上面截获的文件累计有:
代码



* 2004-04-07  11:52               55,296 list.gif


* 2004-04-07  11:53               45,056 finder.gif


* 2004-04-07  11:53               28,160 nlog.gif


* 2004-04-07  11:53               77,824 kill.gif


* 2004-04-07  11:53              131,072 info.gif


* 2004-04-07  11:53               14,747 TInject.Dll


* 2004-04-07  11:53               69,632 spinfo.dll


* 2004-04-07  11:57                8,464 sporder.dll


* 2004-04-07  11:57                   49 mslsp.dat


* 2004-04-07  12:11               20,480 Dcomsvc.exe


* 2004-04-07  12:11                   93 nt.bat


* 2005-02-10  03:03                  405 Svclog.log


通过对文件信息分析以及反汇编取得的信息,基本功能分析如下:
代码



* 2004-04-07  11:52               55,296 list.gif


* 2004-04-07  11:53               45,056 finder.gif


* 2004-04-07  11:53               28,160 nlog.gif


* 2004-04-07  11:53               77,824 kill.gif


* 2004-04-07  11:53              131,072 info.gif

以上5个分别是被改名后的黑客工具,功能:
list.gif:  pslist,sysinternal pslist,用于列出所有进程;
finder.gif:    一个从winlogon进程直接查找当前登录用户口令明文的工具
nlog.gif:  实际上是nc(netcat.exe),一个多功能的网络程序;
kill.gif:  sysinternal kill,用于杀掉某进程;
info.gif:  sysinternal psinfo,用于查看当前主机系统信息。

* 2004-04-07  11:53               14,747 TInject.Dll
这个是一个进行线程插入的工具,用来执行和隐藏后门程序,创建寄生在其他
进程空间内的无进程木马,需要用rundll32运行,参数不详。

* 2004-04-07  11:53               69,632 spinfo.dll
一个无进程(可能也无端口)的木马,利用了系统SPI(网络服务提供者)接口,
把自己挂接在系统网络堆栈中,作为一个网络协议过滤器存在,当所有的数据
流经这一层时,就会被分析和执行。在第二章中检测出来的网络接口状态为
混杂模式应该就是spinfo.dll所为。
* 2004-04-07  11:57                8,464 sporder.dll
用于在系统SPI中插入模块的一个支持库,是spinfo.dll所依赖的一个链接库。

* 2004-04-07  12:11               20,480 Dcomsvc.exe
skserver 1.0,一个sock5代理服务器。

* 2004-04-07  12:11                   93 nt.bat
安装skserver的初始化脚本。

* 2005-02-10  03:03                  405 Svclog.log
* 2004-04-07  11:57                   49 mslsp.dat

分别是spinfo.dll后门和另外某后门的日志文件。

分析完之后再来看看hxdef吧,刚才是拿它没办法,不过我忘了elly手上还有一样
东西没有用过 -- 冰亡。 二话不说,马上上传了一个icesword,这也是一个用于
检查系统隐藏信息的好工具,几乎把他忘了。

运行之后,在服务中发现了四个隐藏服务
spooler
Spoolers
iprip
netddee

把它们一一停止,现在系统应该干净了吧。再使用netstat -na和fport查看系统
状态,一切正常,该显示的也都显示出来了。

再次查找2004-04-07相关的文件:
代码



============================================================


C:/>dir /O:D /T:C /S C: |findstr 2004-04-07


2004-04-07  12:05                  280 administrator@_blank>www.hanzify[1].txt


2004-04-07  12:03       <DIR>          MSHist012004040720040408


2004-04-07  12:03       <DIR>          ..


2004-04-07  12:03               32,768 index.dat


2004-04-07  12:03       <DIR>          .


2004-04-07  11:53              151,552 spoolsv.exe


2004-04-07  11:53               90,112 admdll.dll


2004-04-07  11:53               29,408 raddrv.dll


2004-04-07  11:52               55,296 list.gif


2004-04-07  11:52               45,056 finder.gif


2004-04-07  11:53               28,160 nlog.gif


2004-04-07  11:53               77,824 kill.gif


2004-04-07  11:53              131,072 info.gif


2004-04-07  11:53               76,288 SvcHostDLL.dll


2004-04-07  11:53               62,464 sysinfo.dll


2004-04-07  11:53               14,747 reginfo.exe


2004-04-07  11:53               69,632 spinfo.dll


2004-04-07  11:54                  944 ms29.ini


2004-04-07  11:55               14,747 TInject.Dll


2004-04-07  11:55                  412 Svclog.log


2004-04-07  11:57                8,464 sporder.dll


2004-04-07  11:57                   49 mslsp.dat


2004-04-07  12:01               16,384 Perflib_Perfdata_450.dat


2004-04-07  12:11                   93 nt.bat


============================================================


这回多了以下一些文件:
代码



C:/winnt/spoolsv.exe


C:/winnt/admdll.dll


C:/winnt/raddrv.dll


C:/winnt/system32/SvcHostDLL.dll


C:/winnt/system32/sysinfo.dll


C:/winnt/system32/reginfo.exe


C:/winnt/system32/ms29.ini


分析如下:
C:/winnt/system32/spoolsv.exe
原名r_server2.exe,经过加壳的RAdmin 2.0,一个远程管理控制程序。

C:/winnt/admdll.dll
C:/winnt/raddrv.dll
RAdmin运行所需的支持动态链接库。

C:/winnt/system32/SvcHostDLL.dll
C:/winnt/system32/sysinfo.dll

SVCHost后门,用于把线程注入SVCHost--系统服务主进程,并创建无进程后门。
SvcHostDLL.dll是它的支持库。

C:/winnt/system32/reginfo.exe
Remote DLL Injector V1.6 Private Version By WinEggDrop,呵呵一个
执行远程线程注入隐藏进程的程序,可能和前面的Tinject.dll有点关系。

这几个程序在系统中运行后,围绕在以hxdef100为首的木马队伍周围,伪装自己成
Spoolers,iprip,netddee等几个貌似良民的服务,在系统中为非作歹...至此
整个后门团伙已经基本落网,最后我们再回顾一下它们的所作所为。那什么回顾呢?
当然就是我早就惦记着的那份白名单啦!hxdef100配置文件: ms29.ini

ms20.ini(原名hxdef[*].ini)全文摘录如下
代码



============================================================


[H"i/d<<d<e<<n Table]          


#本来这行应该是[Hidden Table],看来入侵者使用了一个被修改过的hxdef,


#也难怪开始我按标准特征字符串[Hidden搜索没找到;


rcmd.exe                      


>h"xdef"*                      


svchostdll.dll


network.sys


spoolsv.exe


admdll.dll


raddrv.dll


syinfo.exe


ms29.ini


sysinto.gif


reginfo.exe


sysinfo.dll


#以上为配置hxdef负责隐藏的文件名,可惜装的东西太多,入侵者自己都疏漏了


#所以让我找到4月7日这个重要线索





[Root Processes]


h<x>d<e>:f<*


spoolsv.exe


</r/c:/m/d./e/x/e


#以上为隐藏进程表





[H"i/d<<d<e<<n Services]


Ha>:ck"er//Def/ender*


spooler


Spoolers


iprip


Intranet


networks


netddee


#以上为隐藏服务





[H"i/d<<d<e<<n RegKeys]


Ha:"c<kerDef/e/nder100


LE":GACY_H/ACK/ERDEFE/ND:ER100


Ha:"c<kerDef/e/nderDrv100


LE":GACY_H/ACK/ERDEFE/ND:ERDRV100


radmin


#以上为隐藏注册表





[H"i/d<<d<e<<n RegValues]


          


[Startup Run]





[Free Space]





[H"i/d<<d<e<<n Ports]


TCP:1432,1442,4652,4653


#以上为隐藏端口





[Settings]  


Password=domybest@#@#@#


BackdoorShell=msdos?.exe


FileMappingName=_.-=[Defender]=-._


ServiceName=Spoolers


ServiceDisplayName=Print Spooler Access


ServiceDescription=Loads files to memory for later printing Access.


DriverName=MsDoscDefenderDrv


DriverFileName=MsDosdrv.sys


#主配置段


#hxdef后门远程连接口令为domybest@#@#@#,嘿嘿嘿黑


#hxdef名字是Spoolers,然后伪装为系统打印进程...


#那真的Spooler呢?当然被它先x后杀了





[Comments]


============================================================


好吧,我们再推理一下案发现场......

代.本章结论:
1. 2004年4月7日,那是一个黑漆漆~~的夜晚...哦,对不起,是白天。
   在一个阴雨绵绵的白天,一个叫domybest或ahai的"黑客",无意间来到这个网段,
   (也可能他是蓄谋已久的...)他先拿出拿手的工具nmap和rpcscan,忽然发现
   这台服务器竟然开放了TCP:21和TCP:135端口,而且运行的是号称Windows下
   漏洞最多的ftp服务器Serv-U 5.0.0.4和IIS 5,这不由得让他欣喜若狂!
   这台机器很可能具有一个RPC-DCOM远程溢出漏洞!而且竟然还没让震荡波蠕虫
   感染。这个黑客gg喜上眉头,半年的入侵经验让他很快顺利的用RPC攻击程序
   进入了系统,并获得了一个SYSTEM特权的cmd shell,可能有人要问,为什么
   他没可能是用Serv-U的远程溢出的呢?原因是,那会儿Serv-U 5.0.0.4以及
   它的漏洞都还没出来。

2. 黑客gg进入系统之后,先上传了几个工具,他用的很熟练的ps系列,pslist
   和netstat之后,他很放心的确信在这台机器上,当前除了他没有其他人登录。
   而且很可能系统管理员几个月都没有来看过了。psinfo之后,发现这台机器的
   配置还不错,可以拿来做ftp哦^^ 但是他不稀罕这些,因为他已经有好几百台
   肉鸡了么。所以他就开始上传他的一些后门,比如,修改过的TermServ,为了
   不让人发现,他还特意把它的端口改成了TCP:4652。

3. 顺利的用终端服务登录上来之后,然后呢,他想,那他做什么呢?干脆就做一台
   代理服务器吧。听说有个叫CCProxy的代理服务器蛮不错的,于是他就安装了一
   个CCProxy,还顺便安装了一个Serv-U的汉化包。从吕达嵘那里下的。看来他
   又多一个ftp服务器和攻击跳板了。不过几天之后,他发现CCProxy还是没有他
   惯用的SKserver--那个黑客用得最多的sock5代理程序顺手,于是他停掉了
   CCProxy,又安装了一个SKServer。

4. 不过黑客gg还是对自己的地位是否稳固不太放心,所以他又开始着受安插更多
   的眼线,安装更多的后门,比如,WinEggDrop的无进程后门,一个叫SPIShell
   的SPI后门,RAdmin2远程控制服务器,插入SVCHost的隐藏后门,可能是叫
   PortLess Backdoor什么的,当然,其中有些程序是它自己修改过的,也稍微
   根据这台机器的情况对一些信息作了相应的伪装,这足以证明他至少是一个老练
   的入侵者,可以叫Cracker什么的,而绝不是普通的ScriptKids。

5. 最后为了证明他的水平,同样也为了骗过管理员的耳目,他还没忘了安装一个
   自己用得最多的Windows后门之王--HackDefender 1.0.0,这个可是刚出来
   四个月的新版本呢!

6. 在系统里溜达溜达,看看有没有管理员的Agent存在吧,顺手擦掉一些Eventlog。
   不过Win2000也太菜了点了,默认连Security Log都不记,黑客gg可以放心大
   胆的从TerminalServer或任何一个后门登录进入;装了Norton CE?更菜!
   黑客gg的后门一个也没检查出来,再升级半年之后才报告了一次...发现
   DcomSVC,可能是个后门,但是清除失败,黑客gg看到他都要有峙无恐了;
   最后,黑客gg在自己的肉鸡数据库里添加了一条:
代码



   xx.xx.xx.xx: 1432,1442,4652,4653


                hxdef,spishell,svchost,radmin,termserv@4652


        skserver@1432,ccproxy


                user:  by ahai


        pass:  domybest@#@#@#


[以上一段纯属虚构,如有雷同,概不负责。]
[BTW:在我查找资料的过程中,看到这个,大家可以对照学习下。]
[_150251.788458.html" rel="nofollow" target=_blank>http://hehe26.blogchina.com/blog/article_150251.788458.html ]

本章遗留问题:
总算分析完了。不过还有几个遗留问题:
1.如果你是系统管理员,下面该怎么办?
2.那么多后门和木马,那些弱智杀毒软件又查不到,怎么清除?
3.他还在么?还会来么?
4.如果来了,那什么招待他?

欲知后事如何,请待下回分解。


############################################################

处理:灯火阑珊处

该查的都查出来了,稍微做点设置,恢复系统正常的状态吧。


1.卸载hxdef
C:/hxdef100>hxdef100 -:uninstall

2.删除服务
C:/Documents and Settings/Administrator>sc delete CCProxy
[SC] DeleteService SUCCESS

C:/Documents and Settings/Administrator>sc delete IPRIP
[SC] DeleteService SUCCESS

C:/Documents and Settings/Administrator>sc delete Spoolers
[SC] OpenService FAILED 1060:
指定的服务并未以已安装的服务存在。

C:/Documents and Settings/Administrator>sc delete Spooler
[SC] DeleteService SUCCESS

C:/Documents and Settings/Administrator>sc delete net, ddee
[SC] DeleteService SUCCESS

C:/Documents and Settings/Administrator>sc delete DCOMsvc34567890
[SC] OpenService FAILED 1060:
指定的服务并未以已安装的服务存在。

C:/Documents and Settings/Administrator>sc delete "Windows Event Logger"
[SC] DeleteService SUCCESS

C:/Documents and Settings/Administrator>sc delete NntpSvc
[SC] DeleteService SUCCESS

2.1有一些服务因为含有非法字符,可能无法从命令行删除,可以用注册表编辑器
regedit.exe在如下位置找到:
HKLM/SYSTEM/CurrentControlSet/Serivices/
删除服务对应的主键即可。

3.删除程序
del c:/winnt/spoolsv.exe
del c:/winnt/admdll.dll
del c:/winnt/raddrv.dll
del c:/winnt/system32/Dcomsvc.exe
del c:/winnt/system32/list.gif
del c:/winnt/system32/finder.gif
del c:/winnt/system32/nlog.gif
del c:/winnt/system32/kill.gif
del c:/winnt/system32/info.gif
del c:/winnt/system32/SvcHostDLL.dll
del c:/winnt/system32/sysinfo.dll
del c:/winnt/system32/reginfo.exe
del c:/winnt/system32/spinfo.dll
del c:/winnt/system32/ms29.ini
del c:/winnt/system32/TInject.Dll
del c:/winnt/system32/Svclog.log
del c:/winnt/system32/sporder.dll
del c:/winnt/system32/ mslsp.dat
del c:/winnt/system32/msdos*.exe
del c:/winnt/system32/MsDosdrv.sys
rd /s /q c:/winnt/apppatch

4.终端服务调整
终端服务么,假的已经被卸载掉了,真的还需要改一下端口:
"HKLM/System/CurrentControlSet/Control/Terminal Server/WinStations/RDP-TCP/PortNumber"                      
REG_DWORD       PortNumber      4652
改为正常的3389,TermnalServer即可恢复正常的端口,之后可以根据需要开启
或禁用它。

5.用户帐号
首先,建议所有用户修改系统登录口令,以及Serv-U等应用服务的口令。
之后,对Guest帐户做如下设置:修改密码,锁定帐号,删除Administrators组特权。


做完这些设置之后,可以在运行一下rkdetector和kproccheck等工具,察看一下
现在的情况。
-Searching again for Hidden Services..
-Gathering Service list Information... ( Found: 0 Hidden Services)
-Searching for wrong Service Paths.... ( Found: 1 wrong Services )
-Trying to detect hxdef with TCP data..( Found: 0 running rootkits)
-Searching for hxdef hooks............ ( Found: 0 running rootkits)
-Searching for other rootkits......... ( Found: 0 running rootkits)
hxdef等后门应该已经成功被清除了

其他
其他还有些什么呢?
服务、关端口、打补丁、装_blank" rel="nofollow">防火墙、换杀毒软件



另外,还可以......
把administrator和guest帐户重命名,在建立两个低权限的用户,命名为Administrator
和guest,设定为guest组特权,取消交互登录特权。
然后,在本机上装一个Honeypot,监听1432,1442,4652,4653端口,记录所有来访连接IP;
或者也可以在_blank" rel="nofollow">防火墙上设置这几个端口转向到另外一个主机被入侵时的虚拟镜像上去,然后等待
黑客gg再次光临。

等有空再详细写吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值