对某农业专业网站的一次安全检测
Simeon
注:本文已经授权比特网安全频道独家发表!
[url]http://sec.chinabyte.com/421/8624921.shtml[/url]
摘要
昨天一个朋友告诉我一个做得不错的网站,次日该网站就被挂马,从我们进行安全检测的经验和跟一些从事安全的朋友哪里了解到,目前没有绝对的安全,国内很多知名网站都被成功入侵过,有的是为了求名,入侵就是为了好玩,把技术的研究作为一种爱好;有的是为了求利,入侵成功后获取下载数据、下载源代码以及挂马等操作。总之一句话没有绝对安全的网站,只有绝对不安全的网站,只要连接在互联网就要时刻关注自身的网络安全,一个微小的细节有可能导致整个网站,乃至整个网络的渗透和被控制。本次安全检测和渗透来自一台肉鸡扫描的结果,这个结果就是挖掘鸡扫描结果文件,通过这些文件偶下载了
20G
的数据,这些数据绝大多数都是整个网站的源代码,由于该案例比较具有典型性,因此将整个过程写出来跟大家分享,希望能够引以为戒,加强网站安全。
最近一直忙于团队安全子课题的研究,很早以前就曾经对国内某农业网站进行过安全检测,当时获取了该服务器的数据库密码以及其它一些东西,今天整理资料时再次发现曾经的一个记录,于是萌发了再次进行安全检测,发现问题并且修正系统存在的漏洞。应该网站站长的要求特隐去文中出现该网站信息的地方,该网站是一个为农民朋友服务的地方,我想我们很多人都是从农村中出来的,农民伯伯是很辛苦的,一个为百姓办事情的网站,不容易,个人提倡对国内网站进行安全检测,完毕跟管理员联系,并为其加固系统,多干一些好事情,积一些阴德!呵呵,正式开始吧。
(一)安全检测之前奏
1.
获取挖掘鸡扫描结果
在黑客工具泛滥的情况下,在一些偶然的情况下,可能会获得一些别人工作的成果,偶就是在一个服务器上面发现了一个名叫
dig.txt
,看到这个我想大家都会想到一个工具――大名鼎鼎的挖掘鸡(好像叫
digshell
吧)。通过这个工具可以扫描很多东东,比如默认
mdb
类型数据库,
txt
文件,
rar
文件,
zip
文件,
sql
文件等等。总之没有用过的赶快用用,用过的就好好总结,哈哈!直接打开
dig.txt
看到一堆地址,如图
1
所示,一共有
100
多个结果。这些都是网站源代码的压缩结果。
图
1
查看挖掘鸡扫描结果
很多网站开发者或者个人处于修改代码或者其他需要都喜欢直接在根目录将其进行压缩,然后下载到本地,当然还有就是入侵者在获取
webshell
后也会将源代码进行压缩,然后下载。如果稍微疏忽,在下载完毕后没有及时删除,这就给挖掘鸡有用武之地,关于挖掘鸡的详细使用案例,请继续关注本团队的文章。使用挖掘鸡可以很好的挖掘网站中的这些关系网站安全的文件。偶但是对所有文件进行了下载,下载到本地后超过
20G
,由于没有什么意义下载下来研究了一下,仅对某农业网站进行简单的检测后,就删除其他下载的文件了。
2.
分析下载文件
将网站源代码压缩文件下载到本地,解压缩后首先查看有关数据库的代码,由于时间久远,俺就把数据库连接的文件给摘录出来了,如图
2
所示,其中使用的是
SQL Server
数据库。
图
2
获取的数据库用户名和对应数据库密码
3.
获取数据库服务器地址
从文件中可以看到几个数据库的密码都是一样的,通过对
IP
地址
218.25.*.*
以及
IP
地址
61.189.*.*
进行端口探测,发现这两个服务器关闭了
1433
服务器端口。分析原因有三个:
(
1
)服务器做了限制,
1433
要么仅对内开放。
(
2
)数据库服务器是内网服务器
(
3
)数据库服务器在相邻独立
IP
上面
通过对附近的地址进行探测,果然如此,如图
3
所示,
61.189.*.17
计算机开放了
1433
端口。
图
3
获取相邻
IP
服务器端口信息
(二)开始渗透之旅
1.
注册并登录远端数据库服务器
打开
SQL Server 2000
企业管理,在“
SQL Server
组”中注册新的数据库,如图
4
所示,选择“使用
SQL Server
身份验证”输入如图
2
所示的数据库用户和密码进行登录尝试。
图
4
注册并登录远端数据库服务器
2.
查看数据库中表的内容
是我的幸运,是管理员的不幸,成功连接远端数据库服务器,在该服务器中有好几个数据库,如图
5
,查找到包含用户的数据库
Oblog
,其中包含有管理员的用户和密码。
图
5
查看数据库中的用户数据
3
.再次查找有关管理员用户的数据库表
通过查看数据库中的其他数据库,在
Snowalk_user
表中知道一个
RealName
为系统管理员的,如图
6
所示,呵呵,有好几万的用户数据呢,将其
md5
复制到剪贴板。
图
6
获取其他的有关系统管理员的账号信息
图
7
获取管理员的其它信息
5.
破解
md5
密码
将管理员的
md5
加密值复制到
cmd5
网站(
[url]http://www.cmd5.com[/url]
),解密后是一个数字,如图
8
所示,通过
cmd5
网站可以快速破解
md5
加密值,如果不行可以在手动破解。
图
8
获取管理员密码
(三)使用工具软件扫描安全漏洞
1.
使用
jsky
扫描工具扫描网站
直接打开
jsky
扫描工具软件,新建一个扫描任务,输入网站地址,然后开始扫描,很快就扫描出来一些结果了,如图
9
所示,在该网站发现
3
个文件暴露数据库连接密码。
图
9
查出暴露源代码文件
2.
利用
pangolin
工具软件进行渗透测试
在扫描出了
SQL
注入点以后,直接使用
pangolin
进行渗透,如图
10
所示,可以直接猜解数据库以及其数据库中的内容。
图
10
使用
pangolin
工具软件猜解数据库表和内容
3.
安全漏洞扫描结果
扫描结束后,发现
13
个高危漏洞,
10
个中等漏洞,
70
个低微漏洞,如图
11
所示。
图
11
漏洞扫描结果
说明:
Jsky
是大牛
Zwell
写的一款免费扫描工具软件,不过其新版本的
Jsky
以及企业版本
Jsky
不对外提供。
(四)安全提醒和加固
1.
联系管理人员
一般网站都有联系方式,有的还有在线交流方式,找到后联系上管理人员,并确认是管理人员。
2.
告知漏洞存在地点以及检测结果。
通过网站找到网站管理人员,并告诉其存在漏洞的地方,让其技术人员进行修补和加固。
例如在本例中找到一下
sql
注入点:
[url]http://www.j[/url]******.**:80/analysis/ss.asp?n=60%00'
[url]http://www.[/url] j******.**:80/js.asp?j=66&n=10%00'
[url]http://www.[/url] j******.**:80/js.asp?j=66&n=10%00'
[url]http://www.[/url] j******.**:80/detailed/detail_vouchpic.asp?cid=1002
暴露源代码地址:
[url]http://www.[/url] j******.**:80/analysis/expert-points/index.html
[url]http://www.[/url] j******.**:80/technology/mrnj/index.html
(五)总结与回顾
1.
安全漏洞形成原因分析
系统主要存在源代码暴露、
SQL
注入以及跨站漏洞,早期版本中开发成员将整个源代码压缩放在网站目录,从而导致可以通过挖掘鸡搜索并下载到本地。从源代码中获取了数据库的名称和密码,通过获取数据库的内容以及配合其他一些方法,是完全可以控制该服务器,由于本次仅仅为安全检测,所以找到漏洞后未进行安全控制。
2.
加固方法探讨
就个人经验,呵呵总结有一些:
(
1
)在网站目录中谨慎使用
winrar
等压缩软件打包源代码,源代码的泄露就会带来巨大的安全风险。
(
2
)尽量避免使用
UltraEdit
等编辑完成后会生成
bak
文件的编辑器,目前一些安全扫描工具都能扫描网站中的
bak
文件,通过获取这些文件中的敏感信息来实施渗透的几率非常高。
(
3
)杜绝设置同一密码。通过近段时间的安全检测,发现很多网站的
Ftp
服务器、网站服务器的用户口令、数据库服务器以及其他远程控制软件的密码都设置为同一个密码,在网络渗透中,特别是在控制一台服务器的情况下,口令是入侵者或者安全检测者的必选,建议口令设置为
36
位以上,可以结合中国特色来设置,举一个例子吧,可以这样来设置一个密码:“我今天写了一篇稿件,同时通知了管理员要注意修改漏洞存在的地方,以后要加强安全学习哦”分别取这段话的第一个拼音字母,外加时间,第一个字母大写,那么我们来看看这个密码:“
Wjtxlypgj,tstzlglyzyxgldczddf,yhyjqaqxxo 2008-12-5
”,呵呵,没有什么规律,你去破解和猜解吧!及时使用星号密码查看器,也不定能查看完整,嘿嘿!
(
4
)关注一些安全的最新漏洞。一些网站系统都开放了
Blog
、
BBS
这些系统均存在漏洞,只是没有被发现和公布而已,一旦公布出来后,就需要进行修复等处理。
(
5
)在系统上线前一定要进行安全检测,查找并修复系统中存在的漏洞。
(
6
)定期进行安全检测。这点俺就不多说了。
本次漏洞仅仅是一次安全检测,给大家带来一种思路,没有什么太强的技术在里面,呵呵,欢迎提供安全线索,俺以及安天
365
团队(
antian365.com
)将免费为您进行安全检测。谢谢大家耐心看完本文,不到之处请指正。
本文出自 “simeon技术专栏” 博客,转载请与作者联系!