虽然今年金融危机给人们带来了“酷冬”,我国经济收到明显影响,到处都在传某某公司准备裁多少人!感觉这个冬天特别冷,在写这篇文章的时候,俺仍然感觉很冷,加入安天365这个团队,让俺感觉很温暖,在这个物欲横流,唯利是图的时候还有人对技术如此执著,对网络安全技术进行系统研究,那是何等的一种精神,我很欣赏团队中的一句话:技术需要沉淀,学习是一个渐进的过程,时间长了,即使是一块顽石,我也能把它滴穿!
今天发现的是一所技工学校,先对其进行安全检测,然后对其出现漏洞的地方进行了防范,下面将漏洞挖掘、分析和修补过程写出来跟大家分享。
(一)漏洞挖掘
1.获取初步信息
某天simeon在群里发了一个IP地址,让众兄弟们看看看看网站安全性如何,说是有奖励。(某人偷笑ing:有奖励好啊!俺就好这口)。首先打开网站看看网站能否访问,一看原来是个高级技工学校的网站,如图1所示,这几天搞学校的网站搞出毛病了,一看到学校网站就两眼放光,因为学校网站院系众多,而且网站更新比较缓慢,一套程序可能用上几百年也不一定换,所以漏洞自然也少不了,因此总的来说搞学校网站还是相对容易的。
图1 查看网站基本情况
说明:
由于发来的是一个IP地址,因此需要先看看该地址时候在默认80端口开放了Web服务,然后看看是使用什么语言,当然也可以直接将地址放入SQL注入扫描工具中进行SQL注入点检测。
2.查看端口开放情况
使用“sfind –p 222.134.217.206”命令查看该服务器端口开放情况,如图2所示,计算机开放了21、80以及4899端口,看到这里,嘿嘿,俺觉得该服务器的安全应该不是太高,可以拿到权限。
图2 查看端口开放情况
3.查看系统功能
通过网站的导航条查看网站系统是自己开发的还是直接从网上搬来的,在该学校网站的导航条中有“校园论坛”链接,打开一看原来是dvbbs8.2的论坛,如图3所示。后面该学校网站其它功能模块进行了查看,没有发现有CMS等,初步估计网站除论坛外,其余程序是定制开发。
图3 系统使用了动感论坛
说明:
前期工作做到位,可以减少很多工作量,通过查看系统是否采用CMS、是否使用网上流行论坛等,从而进行针对性的安全检测。4.实施初步检测
(1)论坛安全检测
从论坛中会员人数不多来判断,管理员应该不是经常进行管理,很多设置都是默认设置的,因此可以尝试数据库是否采用默认设置,直接可以下载。直接在网址后面加“data/dvbbs8.mdb”也就是dvbbs8.2的默认地址,运气还不错,提示下载,如图4所示。
图4 下载dvbbs8.2默认数据库
(2)获取管理员密码
下载完后用access打开,首先查看Dv_Admin表,如图5所示,打开后发现管理员还是有一定的安全意识,将默认的admin修改为“曹老师”(真的很嘲),将md5加密值“8a10**8c0f7c****”复制到记事本,然后查看Dv_user表中的管理员——曹老师所对应的md5值,我的乖乖,两个值是一样的!
图5 获取管理员的md5值
(3)破解md5加密值
发现前台和后台管理员的MD5值都是一样的,如果能够破解,那就省去了很多事情,将MD5加密值拿到cmd5上面破解却提示没有找到,如图6所示,dvbbs8.2好像也没有爆出啥cookies欺骗的漏洞,看来管理员也不是白给的。此路不通。
图6 md5加密值查找未果
5.再次进行SQL注入检测
DVbbs数据库的用户密码加密值拿到了,由于CMD5网站查不到结果,估计自己使用md5cracker破解也需要很长时间,看来需要换一种思路,看看能否突破,实在不行再进行暴力破解!
因此首先回到网站首页,用啊D注入工具扫了一下注入点,结果还真找到一个注入点,一会就跑出了用户名为admin,密码为“6bfb281ef3d9********4b9f202ecd2f”,如图7所示。
图7使用啊D注入工具获取管理员密码
可是将该Md5值拿到www.CMD5.com网站去查询,其查询结果提示需要购买,如图8所示,CMD5真不厚道,俺检测容易吗,要花钱,拉到吧!。顺便用啊D扫了下后台也没有发现,即使破出密码来也没办法登陆后台啊,再说即使能够登陆后台也不一定能拿到webshell啊。看来此路也不通。
图8 查到结果却需要购买6.看看旁注可否
上“http://www.myipneighbors.com/”这个网站查了下这个网站结果表明该网站属于独立服务器,那么用旁注也不好使了。旁注结果如图9所示。
图9查询该IP地址域名情况
很多菜鸟朋友们到这里可能要放弃了,我在测试的时候也想放弃来着,可是为了simeon的奖励俺也要厚着脸皮上的。
7.再次分析网站结构
刚才只是对整个网站大体的分析了一下,这在入侵的时候也是必须的工作,根据自己的经验来对网站的结构做些大体的了解,等到我们先前工作做完了,那我们就有了更大的把握来把网站给搞下来。
接下来只能来狠的了,拿出俺的杀手锏wscan了,挺强大的一个网站目录和文件扫描工具,不过这个工具有的时候会误报的,明明存在的目录它也扫描不出来。用它扫了好几遍也没什么可以利用的东西。然后换了wwwscan结果还好一点,因为以前收集过一些字典而且原点也给过我他的字典,所以结合起来也算挺全的了,在cmd下用“wwwscan ***.***.217.206 –m 300 –t 30”,剩下的就是等待了,一会结果出来了,扫到了不少好东西,结果如图10所示。
图10 使用wscan扫描网站目录和文件
8.其它尝试
有个“upfile.asp”看来是个上传文件,用domain的综合上传功能试了下传不上去,而且“conn.asp”也爆不了库,最后视线落到了“ewebeditor”身上,看看用它能不能搞定。在网址后面加上“ewebeditor/admin_login.asp”提交一下,一愣神的功夫血红的登陆界面就跳出来了,如图11所示。
图11 使用ewebeditor管理器编辑登录
直接输入默认的“admin”,“admin”,成功的登陆到了后台,如图12所示,兴奋了,不知道为什么学校网站都对“ewebeditor”这个编辑器情有独钟,以致如此多的网站都倒在了她的红裙之下。
图12 登录ewebeditor管理器后台(二)提升权限
1.获取Webshell权限
关于ewebeditor如何拿shell的方法我就不废话了,反正我是拿到了webshell,可以跟simeon邀功了,不过这还不算完满,因为网站是独立服务器的,而且又是学校的服务器,相信安全不会做的太好,接下来俺就动了“邪念”,想把服务器权限也给拿下来。
2.执行命令
用大马的wscript.Shell执行下“netstat -an“命令,出错了,很正常,2003的IUSER这个用户是不能访问”c:\windows\system32\cmd.exe“的,解决的办法很简单,把自己经过压缩处理的cmd.exe传到服务器上就行了,这样DOS命令就能成功执行了。如图13所示,开放的端口还真不少。
图13 上传cmd程序并执行命令
3.使用radmin提升权限
在开始端口查看结果中知道服务器开放了4489端口,也就是Radmin,玩过radmin的老鸟可能都知道以前的radmin安装的时候是把密码写入到注册表的,具体位置在“HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\Parameter”这个键值下的。不过如果是一步江湖的radmin的话我们在注册表是找不到的。用大马读了下上面的注册表的价值,成功读取了出来,结果如图14所示。
图14 获取Radmin口令加密值
看来有希望了,不过大马读取出来的都是转成十进制的数据,我们还需要再转换成十六进制的,太麻烦了,拿出自己珍藏的radmin注册表读取工具,就可以直接读取出radmin 32位的MD5密码散列了,而且还能读取radmin日志文件存储的位置,由它记录了所有连接服务器radmin的信息,这个东西必须得处理了,要不管理员大哥查看这个日志文件就能找到我们的踪迹了。结果如图15所示(这里不方便给出源码,如果想要的话就到antian365.com网站下载,呵呵,其实很弱智的一个东西)。
图15 读取Radmin值的asp程序
Radmin的MD5密码终于到手了,到CMD5破解下,没有找到结果,不过不用担心,这里我们可以用牛人经过修改的可以利用MD5散列直接登陆4899肉鸡的工具,连接一下,把32位的MD5值填进去,终于进去了,这样俺就得到了“***.***.217.206”这台服务器的所有的权限了。
(四)内网渗透
1.获取管理员ftp密码
通过radmin-hash工具完全控制该服务器后,通过查看发现该服务器所在网络还有三台服务器,可以尝试进行内网渗透。在内网渗透中最好的办法就是得到管理员administrator的密码,我们可以用“GetPW Local$”命令得到系统的密码hash值,然后再用LC5跑,也可以用“WinlogonHack”这个后门工具记录管理员密码,不过我最喜欢的是从网站服务器的应用程序上找突破,比如ftp工具这就是很好的泄露管理员密码的工具。
用radmin文件管理功能经过一番查找,终于在D盘找到了“ultrafxp“这个ftp工具,此工具和flashftp特别相似,功能也非常强大,不过也存在这暴露ftp用户信息的漏洞。
把服务器上的ultrafxp的安装文件全部拖到本地,然后直接运行“UltraFxp.exe“这个程序就可以打开ftp管理的主界面了,在”站点管理器“这个的地方我们就能够找到管理员用” ultrafxp“连接过的所有站点的信息了(管理员好懒,连接完了也不清除掉,等俺们来读)。如图16所示,206服务器的Ftp用户密码“silvery***”是我用星号查看器读取出来的。
图16获取ftp用户的密码2.获取远程终端端口
206这台服务器上的ftp密码,其中用户名是“administrator”,我想玩过社工的朋友一定想到了吧,有可能服务器登陆的密码就是这个。看看这个是不是管理员密码,用大马的查看终端端口的功能找到终端端口为3372,如图17所示。
图17 获取远程终端服务端口3372
3.社工登录3389终端服务器
不废话了直接用mstsc连接用户名就用“administrator”密码用读取出来的“silvery**”,ok和预想的一样成功登陆服务器了,如图18所示,呵呵,很有胜利感。
图18 成功登录服务器
4.利用社会工程继续渗透
接下来就是社会工程学了,我在站点管理的地方发现了其他几个ftp站点的连接账户和密码,分别是“***.***.217.204”,“ “***.***.217.205”,看来管理员管理的网站还不少啊。再次使用sfind扫了下这个网段的4899端口,如图19所示,结果也表明这三台服务器有radmin的,看来管理员是用radmin来远程管理服务器的。
图19 使用sfind扫描附近计算机Radmin端口开放情况
用radmin.asp读取出来的MD5值分别用Radmin_Hash登录 “***.***.217.204”,“***.***.217.205”,成功登陆到了“***.***.217.205”这台电脑,可是“***.***.217.204”却死活不能成功登陆,用从“ultrafxp“得到的用户名和密码都试了一遍,也不行。不知道管理员为啥对204这台机子单独设置密码,呵呵。如图20所示,是我连上的radmin。
图20 使用radmin-hash工具控制相邻服务器
用mstsc连接了下它的3372,3389端口也都不能连接。最后没办法了也只能放弃了。
5.再次验证密码
通过前面的安全检测,可以知道管理员在多个管理工具中使用的均是相同密码,我再次在cmd5网站中使用获取的密码进行md5加密,如图21所示,果然该密码跟dvbbs中的md5值一样。
图21 dv_admin中管理员密码hash值(五)安全加固
1.使用jsky工具对该网站进行全面扫描
使用zwell的jsky工具对该网站进行全面的漏洞扫描,如果22所示,发现2个SQL注入点,1个跨站漏洞,因此高危漏洞为3个。
图22 使用jsky安全扫描工具对网站进行全面安全检测
2.修复程序漏洞
到该服务器上找到news.asp以及photo.asp程序,在其中对获取的参数id进行过滤,仅仅允许数字,其它均禁止,修改后如图23所示。
图23 修复程序中的漏洞
3.修改数据库默认路径以及名称
到动感bbs目录,修改数据库连接文件conn.asp有关数据库路径以及数据库名称,如图24,使其难以被猜测和被下载。
图24 修改数据库默认名称和路径
4.修改数据库密码
打开数据库,将默认的密码修改为一个更加难以破解的密码,在本例中设置了一个经过30位加密的md5密码,嘿嘿,md5跑去吧,如图25,26所示,将经过md5处理的字符串填入到userpassword中,其它表中涉及后台管理的均进行相应处理,使入侵者难以破解密码。
图25 修改数据库密码为一个强健的新密码
图26 修改blog中的管理员密码
5.对网站文件进行清除木马和挂马处理
关于清除木马和挂马的细节,俺就不讲了,有关这些知识,请继续关注我们的专题文章,在网站中找到网页木马,将其删除,如图27所示,如果存在挂马代码,一并清除。
图27清除网页木马和挂马代码
6.提醒管理员更改密码以及做相应的安全处理
最后将已经修复的漏洞告诉管理员,将修改的密码放在管理员桌面的漏洞提醒文件中,如图28所示,进行友情提醒,最后关闭远程终端。结束本次的安全检测与加固。
图28
呵呵,最后谢谢antian365团队给了我一个机会,通过本次检测,俺将多个知识点运用在实践中,在实战中得到了提高。作为一个安全技术爱好者,我们的责任是保卫我的家园,保卫我们的信息,因此在安全检测后,如果有条件可以进行适当的安全加固。欢迎提高安全线索,我以及安天365团队将乐意免费为您提供安全检测和加固服务,写的不到之处请安全大牛指点,谢谢大家耐心的看文鄙人的陋文。