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