通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 >> 文章类 >> 红客教程 >> 攻防教程 >> 文章正文
一次WEB服务器渗透测试笔记
责任编辑:admin   更新日期:2005-7-6
 
渗透测试是最能直接的反映系统的安全性的一种手段了。现整理了前段时间进行的一次渗透测试的笔记,整个过程中所使用的工具和思路都比较简单,本文也正是为了您的系统不被这些“简单”的东西所击败而作

此次渗透测试的已知条件只有一个:目标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论坛的密码足够强壮。
...

...

这些个“如果”你做到了么?
  • 上一篇文章:
  • 下一篇文章:
  • 最近更新
    固顶文章 爱国者安全网2007年度优秀版主评选
    普通文章 瑞星公司01月11日发布 每日计算机病毒及木马播报
    普通文章 破解博彩神助(专注彩票) V2.8.01
    推荐文章 推荐:跨站脚本执行漏洞代码的六点思路
    普通文章 Windows系统下的远程堆栈溢出 实战篇
    普通文章 Windows系统下的远程堆栈溢出 原理篇
    普通文章 MsSQLServer是如何加密口令的
    普通文章 浅谈国内的渗透评估过程
    普通文章 Dvbbs8.1 0DAY(通杀Access和mssql版本)
    普通文章 微软:我们的代码比赛门铁克更安全
    热门文章
    普通文章提醒:“求职信”病毒1月6日发作
    普通文章两条“蠕虫”蠢蠢欲动
    普通文章5“网银大盗”狂盗储户14万 武汉男子被判10年
    普通文章“木马事件”终告结束 英语学习网重获新生
    普通文章搜索引擎不再喜欢新米,并非只是CN米
    普通文章蠕虫"威金"新变种 "小熊猫"屠宰多个计算机系统
    普通文章元旦上网谨防“Real蛀虫” 通过视频文件传播
    普通文章入侵工具Knark的分析及防范
    普通文章认清本质 计算机病毒防治常遇问题
    普通文章饶过现代Anti-Rookit工具的内核模块扫描(ZT)
    精彩专题