巧用网站配置文件提升权限
本文已被黑客手册杂志2007年第三期收录
朋友给我发来一个AspWebshell的地址,然后又给我发了一条消息“痛苦,拿到Webshell,由于权限太低,什么也干不了!(图1)”,黑友在进行SQL注入遇见的这种情况特别多,上传的Asp木马可能只能浏览当前站点目录,不能执行命令等等。我没有直接回复他,而是通过他的Webshell进行了详细的勘查,在网络攻击中,信息的收集和分析非常重要,可以说拿到Webshell仅仅是网络攻击的开始,而不是结束,因为后面还有很多东东需要做,比如提升权限,装后门,挂马,网络扩展和渗透等等。其中最重要的就是提升权限,如果没有合适的权限,那就意味着后面所有步骤都是白搭。本文就如何提升网站权限方面给出一种方便快捷的方法,可供广大黑友参考,下面给出了提升权限的步骤。
吐血推荐-巧用网站配置文件提升权限!!!_休闲
1 朋友给的Webshell
(一)系统信息收集
对于系统信息收集,很多朋友都很熟悉,在aspasp.net木马中都有一个“服务器信息”链接,可以很方便的查看服务器的硬件和软件相关信息。但是这些信息只是一个初步信息,需要更进一步获取信息,例如是否可以浏览操作系统安装磁盘的文件及其目录、是否可写等等。
通过“海洋顶端2006”,我收集到最重要的一条信息是该服务器支持Asp.net,因此我通过“海洋顶端2006”网页木马上传了一个Aspx的网页木马(图2),其通用名称为“webadmin”,其功能跟“海洋顶端2006”网页木马类似,只是它用asp.net写的,上传上去以后在浏览器中输入相应的地址,哈哈,运气太好了,运行正常(图3)。
说明:在“海洋顶端2006”及其其它类似网页木马中,文件上传是一个非常重要的环节,上传一些可执行木马程序或者其它一些工具,然后利用社会工程学的原理,将该可执行文件命名为该机器上面已经存在的可执行文件,然后诱使管理员或者机器主人运行它。该方法的缺点是木马一旦发现,被查杀的几率在90以上。而且要伪装成正常文件其难度较高。
吐血推荐-巧用网站配置文件提升权限!!!_配置_02
2 利用海洋顶端2006上传文件
吐血推荐-巧用网站配置文件提升权限!!!_休闲_03
3支持Asp.net的网页木马
(二)寻找突破口
对于网站提升权限来讲,最便捷快速的方法就是通过数据库连接,目前一些网站都采用了Windows 2003 Server,这种机器一般配置都较好,完全性方面跟Windows2000 Server相比有了较大提高,虽然如此,却也不是不能进行突破的。网络没有绝对的安全,在Windows 2003 Server就是如此,在Windows 2003 Server中提供对asp.net技术的支持,其中最重要的一个文件就是Web.config(图4)。
吐血推荐-巧用网站配置文件提升权限!!!_配置_04
4 寻找Web.config文件
该文件必须放在网站的根目录中,如果没有该文件,一旦运行asp.net程序就会出错。,基本所有的配置信息都在该文件中。当然还有其它一些方法,由于本文主要是通过该配置文件提升权限,所以对其它方法不进行说明,只是将方法列出来:
1)寻找“C:\Documents and Settings\Administrator\Application Data”下面是否有radmin.rpbradmin.rpb文件是远程控制软件radmin3.0版本的地址簿,如果存在,如果运气好,里面可能保留有radmin的口令,通过radmin的客户端可以直接登录进行控制。
2)寻找“C:\Documents and Settings\Administrator\Application Data\GlobalSCAPE\”下面是否存在sm.dat,如果存在该文件,则可以在本地直接通过运行GlobalSCAPE而导入sm.dat文件,然后就可以下载和上传文件,后续控制就不用说了。
3)查看是否存在Serv-U,关于Serv-U提升权限比较多,本文不再赘述。
4)查看“C:\Documents and Settings\All Users”是否存在Pcanywhere,如果存在则将该目录下面的所有cif文件下载回来,通过PcAnyWhere密码破解工具获取密码和用户名,然后直接功过PcAnyWhere连接即可,呵呵,如果可行,千万记得一定得找主人不在的时候。
本文通过WebshellWeb.config文件下载到本地,然后通过UltraEdit打开该文件,从中可以获取很多有用的信息(图5),知道运行数据库服务器的类型为SQL ServerIP地址为127.0.0.1,说明数据库和Web服务器在同一台机器上面。其数据库用户权限为sa,数据库密码为“adminedp”,连接的超时时间为“10000”。
说明:Web.config只能通过一些编辑器打开,Web.config是网站的配置文件,网站安全设置,网站数据库连接信息,网站出错处理等等,一般是以XML格式生成的。
吐血推荐-巧用网站配置文件提升权限!!!_休闲_05
5 获取数据库密码和帐号
(三)提升权限
     网站默认支持asp,对于大多数Windows 2003 Server服务器,其网站都会支持asp.net,如果使用asp木马不能提升权限,则可以通过asp.net网页木马来提升权限。我用的Asp.netWebshellWebadmin,其中就有一个通过数据库来执行sqlrootkit命令的功能。在Host中输入主机地址“127.0.0.1或者是主机的真实IP地址,在sql name中输入数据库用户“sa”,在SQL Password中输入刚才获取的密码,然后在“Command”中分别命令“net user temp hackerhand /add”、“net localgroup administrators temp /add”,如果没有什么意外,一般都能执行成功(图6,图7)。
吐血推荐-巧用网站配置文件提升权限!!!_休闲_06
6 连接数据库并添加temp用户
吐血推荐-巧用网站配置文件提升权限!!!_配置_07
7添加temp用户到管理员组
    在添加用户时,有的服务器对口令有限制,例如必须是数字、大小写字母和特殊字符的组合,并且要求有一定的位数。呵呵,这个口令就不用我多费口水了,添加用户后,虽然显示结果表示成功,但是还需要通过“net localgroup administrators”命令 进行核实,以确保添加用户成功,通过图8我们看到刚才添加的temp用户已经成功。
吐血推荐-巧用网站配置文件提升权限!!!_休闲_08
8 查看已经添加的用户
吐血推荐-巧用网站配置文件提升权限!!!_配置_09
吐血推荐-巧用网站配置文件提升权限!!!_职场_10
(四)实施控制
     对于服务器来讲,最方便的办法就是直接开启3389,通过查看端口和在本地端口扫描发现该机器远程终端服务已经启动(图9,图10),然后通过本地进行登录。开放3389有多种方法:
1)通过mt的“mt -setupts”来安装终端服务。“Mt –chkts”可以查看3389终端开启情况。
2)使用rots.vbs脚本
Rots.vbs是由网名为“灰色轨迹zzzevazzz”写的一个VBS脚本,该脚本通过系统中自带的cscript.exe应用程序来执行,使用该脚本可以开启终端服务以及修改终端服务端口,其使用格式为:
cscript.exe rots.vbs ip user userpass port /rcscript.exe rots.vbs ip user userpass port /fr
3)使用bat命令
通过记事本建立一个bat文件,在其中分别输入以下内容:
echo [Components] > c:\sql
echo TSEnable = on >>sql
c:\sqlsysocmgr /i:c:\winnt\inf\sysoc.inf /u:c:\sql /q
然后运行该批处理命令,重新启动计算机后,远程终端服务开启成功,该方法不能更改终端服务的端口。
4)导入一个reg文件到需要开启终端服务的机器中[3]
该方法主要是修改远程终端服务的端口及其相关设置,通过生成一个以reg为后缀的文件,将该文件导入到需要开启终端服务的计算机上。该方法比较隐蔽,通过服务管理器以及“net start”命令均不会发现终端服务已经启动。
5)使用SQL注入软件启动3389服务
Domain3.5以及教主的HDSI2.0 SQL等注入工具中均提供了开启3389终端服务功能,使用该类软件来开启3389的前提条件是运行Web服务的服务器必须存在SQL注入漏洞,而且数据库用户的权限较大,在SQL Server 2000中数据库用户必须为sa
(五)打扫战场
     很多朋友在入侵成功后,大多不喜欢清理自己在入侵时留下的痕迹,这个习惯很不好哦。万一被**抓住,你留下来的痕迹很有可能会作为证据遭到起诉,因此在完全控制该机器后需要清理日志记录文件、临时文件、最近访问文件。在远程登录和实施攻击时最好使用跳板,这样即使查,也相对较难一些。