对某农业专业网站的一次安全检测

对某农业专业网站的一次安全检测
Simeon
注:本文已经授权比特网安全频道独家发表!
   摘要 昨天一个朋友告诉我一个做得不错的网站,次日该网站就被挂马,从我们进行安全检测的经验和跟一些从事安全的朋友哪里了解到,目前没有绝对的安全,国内很多知名网站都被成功***过,有的是为了求名,***就是为了好玩,把技术的研究作为一种爱好;有的是为了求利,***成功后获取下载数据、下载源代码以及挂马等操作。总之一句话没有绝对安全的网站,只有绝对不安全的网站,只要连接在互联网就要时刻关注自身的网络安全,一个微小的细节有可能导致整个网站,乃至整个网络的***和被控制。本次安全检测和***来自一台肉鸡扫描的结果,这个结果就是挖掘鸡扫描结果文件,通过这些文件偶下载了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 获取其他的有关系统管理员的账号信息
在该表中还有管理员的email地址“s***[email][email protected][/email]”,联系电话等信息,如图7所示,利用这些信息可以进行社工***。
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,yhyjqaqxxo2008-12-5”,呵呵,没有什么规律,你去破解和猜解吧!及时使用星号密码查看器,也不定能查看完整,嘿嘿!
4)关注一些安全的最新漏洞。一些网站系统都开放了BlogBBS这些系统均存在漏洞,只是没有被发现和公布而已,一旦公布出来后,就需要进行修复等处理。
5)在系统上线前一定要进行安全检测,查找并修复系统中存在的漏洞。
6)定期进行安全检测。这点俺就不多说了。
本次漏洞仅仅是一次安全检测,给大家带来一种思路,没有什么太强的技术在里面,呵呵,欢迎提供安全线索,俺以及安天365团队(antian365.com)将免费为您进行安全检测。谢谢大家耐心看完本文,不到之处请指正。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章