省HVV初体验(edu)
浙江省HVV初体验
此次参加的HVV是edu分会场,总的来说是对HVV有了一个初步的认识,了解实战和靶场练习之间存在的巨大鸿沟。
经历了这次HVV,对于渗透测试有了更深一步的理解。渗透测试的本质就是信息收集。
信息收集的广度决定了攻击的广度
不管是进行SRC漏洞挖掘,还是做项目渗透测试,还是打红蓝对抗,信息收集很重要。比如:
1.确定资产(它有哪些域名、子域名、C段、旁站、系统、微信小程序或者是公众号),确定好了以后,就是常规的指纹识别(中间件、网站、目录、后台、功能以及分析功能映射出来的相关漏洞)。比如你的面前出现了一个登录页面,你会怎么去处理,就拿我在HVV期间的案例举例吧。我找到某高校的一个后台登录框后,首先采用万能密码去测试一下输入框有没有注入,如果没有就是试admin/admin这种弱口令了(弱口令是百试不爽的方式之一,在红蓝对抗中,弱口令攻击占3到4成左右,因为只要你拿到高校的VPN账号以后,进入内网,那不是直接一顿乱杀了吗),在试的这个期间如果运气好进去了自然最好,其实试的期间主要是查看是否存在账号锁定策略、密码不正确、不存在此用户名、验证码等等。如果没有验证码阻碍,爆破是肯定的没得说的,但是作为高校,这些低级错误肯定不会犯,甚至还会层层设卡,抓包发现登录框的密码,采用了二次MD5然后加盐加密,基本上是没有什么办法了。所以只能采用社工账号密码了,高校的用户名基本为学号,密码默认基本为身份证后六位,大多数同学是不会去改这个默认密码的。我们通过了Google,github找到了相关的敏感数据,最终成功进入了后台。
2.扫目录,目录扫描也是一个存在惊喜的地方,说不定能扫描到后台未授权访问的链接、备份文件、编辑器、敏感信息等。平时对后台登录的网址看多了,常规的路径/manager/html、/Login、/login.php、/login.aspx等等,甚至不用工具去跑,直接去就能猜。但其实在这次HVV中,遇到了很头疼的问题,用工具去扫目录的时候,不仅是我包括我的队友在面对个别高校网站目录扫描的时候,很容易就会被ban掉IP了(所以推荐除非是实在没有头绪的时候再进行这一步,虽然HVV中不会封代理池,但是一直更换IP也很麻烦)。头痛的背后也有一定的收获,比如在对某高校的网站进行目录扫描后,发现了ico图标(千万不要小看这个ico图标),拿到这个ico图标后,我可以直接扔进fofa里面去一顿搜查,查什么呢,去查通用框架,找到通用框架就好办了,再去对其版本进行发掘,然后用CMS通杀库实现通杀。比如我在对我们队的目标进行攻击的时候,发现某高校存在通达OA的版本漏洞。但由于我自己太菜了,尝试了多次也没打进去,最后发现它的版本虽然不高,但是配置修复过的。同样的道理,扫目录扫出类似services服务路径,也可以用同样的方法,通过其组件版本去查CVE,然后对其进行对应的通杀。
知识面的广度决定了攻击的深度
在红蓝对抗中,知识面涵盖得越多,攻得越深。这个就比较考验平时所积累的知识面了。这里就简单拿演练期间的案例来做说明,比如
1.逻辑漏洞,逻辑漏洞是由于一些程序员未考虑到或者贪图省事而造成的逻辑上的漏洞,一般的waf不容易拦截,因此逻辑漏洞和弱口令漏洞都是很多SRC项目中最容易挖出来的漏洞。登录框所存在的最主要的逻辑漏洞就是注册和忘记密码模块。注册模块存在任意用户注册漏洞(这个可以采用抓包改包发包去进行一个批量注册用户);忘记密码模块存在任意密码重置漏洞(这个也同样可以采用抓包改包发包去进行),如在此次红蓝对抗中,我尝试对某美院进行修改密码的尝试,将其手机改成我自己的手机号去尝试修改用户的密码,但是由于过于安全,所以尝试失败,但这也是一个思路。还有越权,越权分水平越权和垂直越权,在此次HVV期间,我误打误撞的发现了学习通的水平越权漏洞(每一条帖子评论都有对应的ID号,删除评论的时候把自己的评论ID替换掉来进行实现水平越权)第二天在询问了分会场裁判是否可以拿分以后,后一天我尝试复现的时候发现已经被修复了,非常难受,错失一个拿大分机会(因为打的是edu分会场,所以学习通这个平台一定有相关的敏感数据泄露的,但被修复了就没办法了)。
2.常用的安全漏洞(XSS、XXE、Sql注入、CSRF、SSRF、文件上传、反序列化、Redis等等),其中在此次HVV期间,我们就用到了sql注入、文件上传、Redis主从复制。sql注入那一个是我们队伍第一个拿分项,队伍大佬采用了sql注入+cookie注入最终拿到了6w条敏感数据;文件上传漏洞也是我们最先想到突破的地方,一找到上传点就开始进行尝试,不放过任何一个上传shell的机会;然后就是redis主从复制,我们队伍队员发现了redis未授权访问导致主从复制获得远程代码执行权限(利用redis-ssrf来进行反弹shell,最后RCE)
最后说一下感想:
作为一个小菜鸟,这七天的攻防演练对我来说有很大的帮助,虽然过程比较艰难,但是也培养了我的漏洞挖掘能力,在以后参加一些SRC项目必定会有很大的帮助。特别是在面对一些登录框的时候,其实去硬刚,通过各种各样的方法去尝试,刚着刚着就成长了;同时也发现了自身的很多不足的地方,基础知识还不够扎实,实战能力更应该多提高多锻炼,多去复现一些常见漏洞案例,去真正了解漏洞存在和利用原理以及怎样去做一个防护措施。