摘要:本篇文章是上节内容的扩展,在本篇中我们来实际地展示一下黑客们是如何攻击一个网站,并拿到网站的控制权限的。
本篇文章是上节内容的扩展,在本篇中我们来实际地展示一下黑客们是如何攻击一个网站,并拿到网站的控制权限的。
通过上次的内容,我们知道可以通过注入得到需要的数据,比如后台管理员的账号、密码等,但是得到了账号密码后,我们要如何行动呢?
首先要制定一个渗透流程:
1、探测信息
2、利用漏洞得到管理账号密码
3、找到后台
4、登录后台取得web权限
探测信息
在实施第一步骤的时候,我们要得到一些基本信息:
1、server服务器的系统大概是什么?
2、Web环境是什么情况?
3、当前网站的域名ip的什么?
有了这个流程,捋好了思路,接着开始行动。
图1
得到当前web ip为:193.168.20.223
接下来查看当前服务器运行的服务,在linux终端下输入命令:nmap -sV 193.168.20.223,得到的结果如下:
Starting Nmap 5.59BETA1 ( http://nmap.org ) at 2012-04-11 09:09 CST
Nmap scan report for www.test.com (193.168.20.223)
Host is up (0.00060s latency).
Not shown: 992 closed ports
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 6.0
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn
443/tcp open ssl/http Microsoft IIS httpd 6.0
445/tcp open microsoft-ds Microsoft Windows 2003 or 2008 microsoft-ds
1027/tcp open msrpc Microsoft Windows RPC
3306/tcp open mysql MySQL (unauthorized)
3389/tcp open microsoft-rdp Microsoft Terminal Service
MAC Address: 00:0C:29:41:BE:DD (VMware)
Service Info: OS: Windows
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 18.71 seconds
扫描结果为当前服务器运行的有http服务、msrpc、netbios-ssn、microsoft-ds、mysql、microsoft-rdp服务,具体情况如图2所示:
图2
然后再来查看当前的操作系统,在linux终端下输入命令:nmap -O 193.168.20.223,得到如下的结果:
Starting Nmap 5.59BETA1 ( http://nmap.org ) at 2012-04-11 09:11 CST
Nmap scan report for www.test.com (193.168.20.223)
Host is up (0.00060s latency).
Not shown: 992 closed ports
PORT STATE SERVICE
80/tcp open http
135/tcp open msrpc
139/tcp open netbios-ssn
443/tcp open https
445/tcp open microsoft-ds
1027/tcp open IIS
3306/tcp open mysql
3389/tcp open ms-term-serv
MAC Address: 00:0C:29:41:BE:DD (VMware)
Device type: general purpose
Running: Microsoft Windows 2003
OS details: Microsoft Windows Server 2003 SP1 or SP2
Network Distance: 1 hop
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 3.67 seconds
得到的扫描结果为当前服务器操作系统是Microsoft Windows 2003,可能是sp1也可能是sp2,具体情况如图3所示:
图3
然后继续查看当前的web环境是用什么搭建的,通过在linux终端输入命令curl -I
www.test.com,得到如下反馈结果:
HTTP/1.1 200 OK
Date: Thu, 12 Apr 2012 07:04:07 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 35380
Content-Type: text/html
Set-Cookie: ASPSESSIONIDCSTQCAQT=FFGDDPDDLDEEBFMENAGEBBJG; path=/
Cache-control: private
结果显示,Server: microsoft-IIS/6.0,如图4所示:
图4
要知道,渗透测试是一个精细活,为了确保以上信息的可靠,我们还可以通过一个脚本继续查看一下精确信息,以便对比刚才得到的结果。
在linux终端输入:cd pentest/enumeration/web/whatweb/
通过whatweb脚本得到如下结果:
ASPSESSIONIDCSTQCAQT], Country[EUROPEAN UNION][EU], Title[ÎÞ±êÌâÎĵµ], Microsoft-IIS[6.0], X-Powered-By[ASP.NET], ActiveX, IP[193.168.20.223], Adobe-Flash
具体情况如图5所示:
图5
到目前为止,渗透测试的前期工作基本上已经做完了,得到了如下重要信息:
当前服务器ip :193.168.20.223
操作系统类型 :windows 2003
Web服务器 :iis
端口 :80
利用漏洞得到管理账号、密码
第二步就是需要得到管理员账号、密码,才能进一步地实施渗透测试。现在我们需要得到一个漏洞能获取到账号密码,通过上一期内容我们知道,注入可以得到所需的内容。
图6
但是我们知道,sql注入漏洞,尤其是access数据库的时候,必须是靠猜才能得到管理员的一些字段和表段。
图7
图8
因此,我们得知一共有12个字段。接下来继续猜测账号、密码字段,如图9所示:
图9
通过猜测一些常见的字段并没有猜到想要的结果,似乎遇到了瓶颈,此时就需要换种思路,去找找后台。之所以要找后台是因为有些网站的程序在后台登录的源码里有账号密码的字段内容,这个字段内容可能和数据库里面是字段信息是一样的,因为整套程序可能出自一个程序员,为了方便,他可能统一字段,此处利用的正是这个心理。
根据以往的经验,后台一般是网站后面跟着/admin、/manage等常见的后台目录,这里测试了几个都没有找到,如图10所示:
图10
思考一下,想到了robots.txt文件。robots.txt是为了防止蜘蛛爬虫爬出网站的敏感文件或者目录才写的一个txt。那么先测试一下是否有robots.txt,如图11所示:
图11
很好,发现了后台地址,打开看看,如图12所示:
图12
那么问题回到刚才,我们没有猜到正确的账号、密码,那么可以查看后台源代码的管理员和密码对应的源码来试试运气,很多次都是可以成功的,如图13所示:
图13
在这里发现了字段gmadmin,现在我们再回到前头,如图14所示:
图14
猜出了正确的表段,我们通过变换gmadmin等,最终得到了gmpass字段,猜出了正确的内容,如图15所示:
图15
账号: admin
密码: E00CF25AD42683B3DF678C61F42C6BDA (md5密文)
图16
本步骤中,我们通过注入点得到了管理员后台的账号、密码,这是我们预期要得到的内容。下一个动作就是通过登录后台来取得网站的最终权限了。
找到后台
在上一步骤已经通过访问robots.txt文件的方法找到了后台,现在可以登录后台查看都能做些什么。此时看了后台以后发现并没有什么特殊的地方,都是一些文章,没有常见的拿shell方法,比如数据库备份的功能,但是我们找到了一款熟悉的文章编辑器,因为这个后台程序过于单调,没法直接的方式拿到网站权限,所以尝试通过其他方式得到权限,如图17所示:
图17
这款编辑器叫做ewebeditor,根据以往经验,ewebeditor有个独立的后台程序,但是要找到路径才可以登录,尝试查看了一下源码发现了好东西,如图18所示:
图18
在源代码里面写着:
图20
在这里发现admin_login.asp下面还有一个DB的文件夹,打开一看是这个程序的数据库,非常棒,把它下载下来,从数据库里得到了账号密码,如图21所示:
图21
由于数据库是mdb结尾的,可以通过一些数据库查看器来查看内容,通过查看发现数据库的内容也是md5加密,如图22所示:
图22
把内容继续拿到md5.com解密,得到了账号和密码的明文,随后便登录后台了。
登录后台取得web权限
首先,用得到的账号和密码登录后台,具体情况如图23和图24所示:
图23
图24
后台登录进来后,拿shell就有90%的希望了,根据以往经验,我们只需要再配置文件那里改更一下样式表就可以了,如图25和图26所示:
图25
图26
在这里直接添加一个asp的样式,因为这个样式表只允许jpg或者bmp结尾的文件上传,所以需要添加一个asp的后缀,然后才能上传asp类型的文件,随后继续提交就更改成功了。返回到样式管理点击下样式预览,点击红色点头的那个按钮,可以传asp的程序了,如图27和图28所示:
图27
图28
然后点击查看源码,asp的路径就出来了,打开看看,如图29所示:
图29
至此,整个渗透测试结束,成功完成入侵。
后记
目前的网络安全形式日益严峻,脚本黑客、工具黑客层出不穷,黑客攻击事件也是每天都会发生,所以做好自己网站的防护是必要的基础行为之一。
站长们可以通过瑞星网站密码安全检测系统来查看自己的网站安全性,该系统的开发理念就是帮助客户明白自己的网站是否安全,通过扫描,可以让您明白网站到底是哪里出了问题。
|