你为什么挖不到漏洞
你是不是在为学不会安全而烦恼?
你是不是在为挖不到漏洞而沮丧?
你是不是为实战挖洞毫无思路而丧失信心?
不要悲伤,不要心急忧郁的日子总会过去。假如生活欺骗了了你,不要沮丧,因为生活只是把你买了没空搭理你。
看完我这篇文章就会让你重拾信心
目录
一、你为什么挖不到漏洞
二、道理都懂如何操作
三、常用工具有哪些
四、都有哪些漏洞可以挖
五、挖到这些漏洞就可以了吗
言归正传,我相信很多人学完网上的安全课程,都是充满信心,想找个网站来试试,结果是要么一堆error 要么就是IP被封。难度真的是自己太菜?
不要怀疑人生,实话实说,就是你太菜
难度菜就不配学安全?不配挖洞?当然可以,看我的分析。
一、你为什么挖不到漏洞?
原因无非是too young too and sometimes native,简单的说无非是没有理解渗透测试的本质。首先挖洞和渗透是有区别的,我们一般挖漏洞都是点到为止,确认存在漏洞即可提交给漏洞平台获取赏金。渗透的目的是尽可能的找到系统尽可能多的脆弱点,往往找到漏洞后还要进行深入测试。但是二者的步骤基本是一致的。
挖不到漏洞原因一:信息收集不到位
先介绍一下渗透测试基本步骤:
1、明确目标:
确定范围:测试目标的范围、ip、域名、内外网、测试账户。
确定规则:能渗透到什么程度,所需要的时间、能否修改上传、能否提权、等等。
确定需求:web应用的漏洞、业务逻辑漏洞、人员权限管理漏洞、等等。
注:渗透测试与网络攻击之间也就是一念之差,满足以上才算是渗透测试,否则法律上来讲就是违法的网络攻击
2、信息收集(情报收集)
方式:主动扫描,开放搜索等。
开放搜索:利用搜索引擎获得:后台、未授权页面、敏感url、等等。
基础信息:IP、网段、域名、端口。
应用信息:各端口的应用。例如web应用、邮件应用、等等。
系统信息:操作系统版本
版本信息:所有这些探测到的东西的版本。
服务信息:中间件的各类信息,插件信息。
人员信息:域名注册人员信息,web应用中发帖人的id,管理员姓名等。
防护信息:试着看能否探测到防护设备。
3、漏洞探测
利用上一步中列出的各种系统,应用等使用相应的漏洞。
方法:
(1) 漏扫,awvs,IBM appscan等。
(2) 结合漏洞去exploit-db等位置找利用。
(3) 在网上寻找验证poc。
内容:
系统漏洞:系统没有及时打补丁
WebSever漏洞:WebSever配置问题
Web应用漏洞:Web应用开发问题
其它端口服务漏洞:各种21/8080(st2)/7001/22/3389
通信安全:明文传输,token在cookie中传送等。
4、漏洞验证
将上一步中发现的有可能可以成功利用的全部漏洞都验证一遍。结合实际情况,搭建模拟环境进行试验。成功后再应用于目标中。
自动化验证:结合自动化扫描工具提供的结果
手工验证,根据公开资源进行验证
试验验证:自己搭建模拟环境进行验证
登陆猜解:有时可以尝试猜解一下登陆口的账号密码等信息
业务漏洞验证:如发现业务漏洞,要进行验证
公开资源的利用
exploit-db/wooyun/
google hacking
渗透代码网站
通用、缺省口令
厂商的漏洞警告等等。
5、信息分析
为下一步实施渗透做准备。
精准打击:准备好上一步探测到的漏洞的exp,用来精准打击
绕过防御机制:是否有防火墙等设备,如何绕过
定制攻击路径:最佳工具路径,根据薄弱入口,高内网权限位置,最终目标
绕过检测机制:是否有检测机制,流量监控,杀毒软件,恶意代码检测等(免杀)
攻击代码:经过试验得来的代码,包括不限于xss代码,sql注入语句等
6、获取所需
实施攻击:根据前几步的结果,进行攻击
获取内部信息:基础设施(网络连接,vpn,路由,拓扑等)
进一步渗透:内网入侵,敏感目标
持续性存在:一般我们对客户做渗透不需要。rookit,后门,添加管理账号,驻扎手法等
清理痕迹:清理相关日志(访问,操作),上传文件等
7、信息整理
整理渗透工具:整理渗透过程中用到的代码,poc,exp等
整理收集信息:整理渗透过程中收集到的一切信息
整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱位置信息
8、 形成报告
按需整理:按照之前第一步跟客户确定好的范围,需求来整理资料,并将资料形成报告
补充介绍:要对漏洞成因,验证过程和带来危害进行分析
修补建议:当然要对所有产生的问题提出合理高效安全的解决办法
对于我们挖洞来讲最多就走到第六步。其中最重要的一步就是信息收集,可以说信息收集是渗透测试的灵魂。对于一次渗透。尽可能多的收集到目标系统的信息,目标暴露的攻击面也就越大,攻击面大了,相对出现的脆弱点可能就多了,找到漏洞的可能性也就大了。为什么你们挖不到漏洞也就是这个原因。对于目标站点,不能只看主站,旁站,子站点也是可能存在漏洞的。总之信息收集的东西越多,渗透成功率就越高
挖不到漏洞原因二:实践太少,看的太少
多学理论,多实践,少刷抖音,多挖洞。回想你学完后挖洞过程,找一个网站没漏洞,两个网站没漏洞……然后就放弃了。十年前漏洞可能是很多的,现在企业都慢慢重视安全这一块了,不可能每个网站都用漏洞。对于新手来说,推荐在网上找一些网站试试。前期挖洞建议手工挖洞,理论与实践相结合,来提升自己。一定要多实践 多实践 多实践 不要挖不到漏洞就放弃,挖不到漏洞才是正常现象,不可能到处都是漏洞。
小时候课本上学过,不懂就要问,就算挨打也值得。自己不会操作就看别人怎么骚操作,学习别人的技术,就算花钱也值得。学到就是赚到。这里顺便说一下安全圈割韭菜的太多了,你们在网上看到的教程很多都是割韭菜的,讲师水平也一般。讲来讲去就是那么些东西,而且天天打靶场也没太大用处。真实环境攻防比靶场复杂多了。
二、道理都懂如何操作?
如何操作这是个很大的问题,当然我也不可能全部教你们。今天就先说一些,以后文章会写的具体一些。我之前也写过信息收集文章,可以看看。
信息收集 收集什么?
包括企业的分公司、全资子公司、网站域名、企业及其子公司域名、手机app、微信小程序,企业专利品牌信息,企业邮箱,电话等等。你收集到了别人没有收集过的资产,往往离挖到漏洞就不远了。
收集这些有什么用?
我们需要对这些信息进行归纳和整理,比如哪些是该公司的主资产,哪些是边缘资产,哪些资产看上去比较冷门,我们是可以重点关注和进行深入挖掘的。很多企业它的主站一般功能都不太多,甚至是静态的,没有用户交互功能我们就无法进行渗透测试的。所以要找尽可能多的企业名下的子公司及其子域名。邮箱,电话等个人信息收集主要用来进行密码爆破的,根据一般人使用密码的习惯猜测密码。
信息收集小例子:
举个简单的例子,教育类高校网站为例。
这种需要高校类网站一般不登录你就无法进行深入测试,那怎么办?这个时候信息收集就变得特别重要了。举个简单的“小栗子”,一般学校登录都要学号,密码。或者学工号,密码。这些在网上都是很容易找到的。学生学号可以说是公开的,一般来说密码我们可以尝试使用默认密码。也可以简单的进行密码爆破,总会搞到几个的。收集这些信息我们可以借助搜索引擎,当然国内的百度呀 搜狗例外。
很清除的就可以看到学号命名规则,有些学校没有这些。我们可以找他的本科招生网,或者研究生招生网站等,里面一般会有些公示信息,有的会有学号的。默认密码一般也能找到相关蛛丝马迹。
当然如果你能混进学生群或者班群获取信息就更加容易,这就是属于社会工程学范畴了。如果能在渗透中用到社会工程学也是相当牛逼的。
除了上述一些信息我们还可以收集其他信息。
具体的操作不在演示,注意未经授权的渗透都属于违法行为
做到这一步如果能找到漏洞实际上依旧能够提交了,登录成功后可以进行进一步渗透测试。
三、常用工具有哪些呢?
其实kali的那些工具很多不太适合我们国内做渗透测试。常用的就是Web常用的Burp、Cknife、nmap这些了,还有一些插件如:hackbar、wappalyzer、shodan等。工具只是手段,能达到同一目的工具有很多。渗透测试会使用工具不是目的,但好的工具能够帮助我们快速找到有用信息。
我只推荐一个工具:搜索引擎,无论是我们信息收集还是找漏洞利用工具也好,搜索引擎是我们最好用的工具。当然百度那种垃圾是不推荐的。首推谷歌浏览器,使用谷歌搜索。可以搜索国外爆出来的新漏洞,国外的网站还是有不少好东西的。
你需要什么,想找什么漏洞直接搜索,都可以找到。最好的工具没有之一
使用谷歌是要翻墙的,这里不在细讲,而且这个也是违法的,在本期后面会单独发一篇科学上网文章,教大家如何翻墙,快速访问国外网站,高速稳定。
除了谷歌我推荐的就是微软的必应了 https://www.bing.com/
虽然翻不了墙,访问不了国外资源,但是国内搜索用户体验也是相当好的,比百度,360,QQ等浏览器不知好了多少倍。
有了这个全网资源国内外资源你都可以找到,信息收集工具,漏洞利用工具什么的都可以。
企业相关信息收集
企查查 (https://www.qcc.com)
天眼查(https://www.tianyancha.com/)
启信宝(https://www.qixin.com/)
企查查、天眼查淘宝都有那种一天的会员。对于我们信息收集其实已经够用,个人更喜欢用企查查,因为它能一键导出域名,还可以直接查看企业关联的子公司,比较方便。
主要查询的信息:
1.一般大的src都有许多子公司,企查查可以在所属集团中查看该集团下子公司,并且可以导出。
2.查看同电话企业基本都是子公司。
3.查看股份穿透图,一般来说控股超过50%的子公司的漏洞SRC收录的可能性都比较大。
4.查看企业下的app、小程序、还有品牌的资产,直接在搜索引擎里搜索品牌可能会有意想不到的收获。(找到一些平常收集不到的资产)
站长之家:http://whois.chinaz.com/
o邮箱反查、注册人反查、电话反查。
o推荐个项目:https://github.com/code-scan/BroDomain 兄弟域名查询。
https://www.qimai.cn/
o七麦数据,可以查到企业下一些比较冷门的app。
对于一般网站我们还可以对网址进行目录扫描,有时候也能找到不少东西。推荐一款比较老的目录爆破工具,御剑。搞爆破嘛,最重要的是字典,以后我会分享给大家一些比较好的字典。
四、都有哪些漏洞可以挖呢?
我简单的给大家做了个小结
越权漏洞:
CSRF漏洞
短信轰炸漏洞:
弱口令漏洞:
XSS漏洞:
逻辑漏洞:
文件上传漏洞:
信息泄露:
SSRF漏洞:
URL跳转漏洞:
未授权访问漏洞:
等等,直接给个大图吧
公众号回复 大图 获取详细漏洞
在学习这些漏洞的时候建议首先本地搭建靶场来练习一下,感受一下漏洞是什么样的,这里推荐几个靶场:
DVWA、SQL-lib、bwapp、pikachu等。
靶场是其次,不会的可以在网上搜搜答案。然后多找几个网站练练手。送给大家一个漏洞表,可以按照表上的漏洞一个个来找。总共一 百多项,关注公众号回复 漏洞列表 即可获取
五、挖到这些漏洞就可以了吗?
做到这些其实可以算是初级渗透测试工程师的水平了。要想进阶必须往内网方向走,学习代码审计。这也就是我上篇文章所讲的为什么学习安全难。在前面的挖洞过程中我想你应该已经遇到了各种障碍,很多东西不懂。其实Web渗透阶段也还好,你只需要会一些前端:HTML、CSS、JavaScrip即可,会使用一些工具,了解基本的SQL语句及网站的一些原理性东西。后面的进阶要起码要学习一门编程语言,这样方便深入理解漏洞原理,挖漏洞。现在主流的开发就是Java和PHP了。所以对于走代码审计方向的小伙伴来说都要学习的,很多人学习浮于表面,知道那一种漏洞产生原理,怎么审计就完了,在我看了这样是不行的。大家都是这样学这样做的,你这样学能找到的漏洞别人都能。所以最好还是稍微深入学习一下,起码学个框架自己能动手写代码。
除了主流开发语言,大多数安全从业者还会选择学习Python。用Python做开发确实不太主流(千万别太网上傻逼逼),但作为中高阶安全从业者写一些脚本是必备技能,要写一些漏洞验证代码(POC)和利用代码(EXP)。能够自己写代码批量化验证利用漏洞的才能算是合格的Hacker,不然只是一个工具小子罢了,最多用用网上的脚本,做些毫无技术含量,可替代性很强搬运工而已。如果要走内网渗透方向,要对系统有比较好的基础,学习Linux系统和Windows系统。这个基本上就是运维学的那些东西了。会了这些后面如果做应急响应、漏洞修复也容易上手一些。
所以我说学安全容易入门到放弃,是真的放弃,坚持下来的人不多。要学习的很多。既然选择了远方,便只顾风雨兼程!!!
最后送大家一个渗透三字经:
搞企业 先扫描
扫描器 商业好
默认密 都知道
社工库 找一找
邮箱号 先列好
九头蛇 跑一跑
搞不定 放大招
发邮件 凭伪造
没邮箱 搞网站
二级域 皆可爆
老漏洞 没修好
新漏洞 刷一票
干研发 Git 找
源代码 全都要
C D N 可以跳
防火墙 可以撬
堡垒机 可以绕
云防护 可以秒
是企业 没有哪家搞不了!
一下子写的有点多,写道最后思路都有点乱了,有问题欢迎留言交流。后面会写一些具体的漏洞发出来。
如果觉得不错记得分享、点赞、在看三连哦,你的支持是我更新的动力!!!