子域名收集
Oneforall
项目链接:https://github.com/shmilylty/OneForAll,Oneforall是一款强大的子域名收集工具,适用于SRC资产收集。
使用方法:python3 oneforall.py --target baidu.com run
遇到问题参考博客:http://t.csdn.cn/W4qel
搜索引擎
挖洞过程中好的搜索引擎可以更快的获取高质量的资产信息,这里推荐两款用的比较多的也是比较好用的资产搜索引擎。
1.谷歌黑客语法
Google是一个强大的搜索引擎;而对于黑客而言,则可能是一款绝佳的黑客工具。正因为google的检索能力强大,黑客可以构造特殊的关键字语法,使用Google搜索互联网上的相关隐私信息。
这里简单介绍一下谷歌黑客语法的使用技巧,仅作简单介绍,详细使用建议自行百度。
intitle:搜索网页标题中包含有特定字符的网页。例如输入“intitle:上科互联”,这样网页标题中带有上科互联的网页会被搜索出来。
inurl:搜索包含有特定字符的URL。例如输入“inurl:/admin_login”,则可以找到带有admin_login字符的URL,通常这类网址是管理员后台的登录网址。
intext:搜索网页正文内容中的指定字符,例如输入“intext:上科互联”。这个语法类似我们平时在某些网站中使用的“文章内容搜索”功能。
Filetype:搜索指定类型的文件。例如输入“filetype:PDF”,将返回PDF文档。
Site:找到与指定网站有联系的URL。例如输入“Site:www.sunghost.cn”。所有和这个网站有联系的URL都会被显示。
2.端口扫描
端口扫描也是常规信息收集中最重要的一项,在之前的很多的SRC漏洞挖掘过程中,很多时候遇到同一个ip开放不同的端口,对应不同的WEB服务,很多时候漏洞往往存在一些花里胡哨的端口服务上。
这里推荐一款端口扫描工具Nmap,Nmap功能比较强大,不仅可以支持端口扫描,资产存存活探测也可以使用其自带的漏洞探测脚本,对漏洞进行探测。
Nmap这里推荐使用图形化界面的,也可以使用现在网上的一些端口扫描工具如小米范端口扫描工具等等。
3.指纹识别
通过指纹识别可以快速了解搭建网站使用的什么内容管理系统,以及网站使用的框架信息(CMS:织梦、帝国、XXXOA等等;网站框架:Nginx、Spring boot、Apache、IIS等等)。
这里推荐两款比较简单方便的指纹识别工具。
一、潮汐指纹库
潮汐指纹识别库是由,tide安全团队开发的一款开源的指纹识别库。
二、火狐浏览器自带插件Wappalyzer
点击链接进入wapplayzer 安装网页
4.目录扫描
通过对网站url进行扫描可以收集一些网站的资产信息,在后续的漏洞挖掘过程中提供更多有价值的信息(如:网站源码文件、网站安装页面、网站后台管理页面、接口信息页面(swagger ui、api接口等等)、未授权访问页面)。
这里推荐一款常用的目录扫描工具。
Dirsearch
使用方法:python 3 dirsearch.py -u http://www.baidu.com -t 30线程可以自行定义,也可以使用”-h”,查看使用方法。
漏洞探测&漏洞验证
1.漏洞扫描
在漏洞探测方面可以使用扫描器(但是得根据客户需求),一般主流的漏洞扫描器如:Goby、Xray、Awvs、Nessus,这里可以使用Goby同时做信息收集和漏洞探测(信息收集功能会比漏洞探测功能效果好)。
2.Burp
Burp在漏洞挖掘中使用最广泛,也是最重要的工具之一,可以用于漏洞验证以及漏洞挖掘,由于开源,之前在挖掘漏洞中遇到一些比较有意思的漏洞,这里就用文字简述一下。
越权:越权漏洞简单分为垂直越权、水平越权,可以修改数据包中的一些参数如uid、id等等,遇到过一个比较有意思的垂直越权可以在低权限登录状态下通过修改数据包中路径信息可以访问到高权限的内容。
逻辑漏洞挖掘:逻辑漏洞,通过数据包查看业务逻辑,检查是否存在绕过正常的业务逻辑对正常的业务系统造成影响,分享一个之前某银行业务逻辑漏洞挖掘,漏洞点存在于选择支付方式可以通过修改数据包参数绕过指纹支付和脸部识别支付,逻辑漏洞挖掘推荐B站观看”月神”逻辑漏洞挖掘
这里简单介绍几个比较好用的Burp插件:Fakeip(可以在请求头中加入XFF头)、chunked-coding-converter-master(分片上传可以绕过部分waf如安全狗等等)许多漏洞检测插件。
3.其它漏洞探测工具
一、Sqlmap
当手工测试发现某功能点存在SQL注入时可以直接采用sqlmap工具进行快速注入查看数据库表结构。
常用的sqlmap参数:–is-dba、–dbs、–batch、-v 3、–level 5、–temper “绕过waf模块”、–threads=10、–current-user、–dbms=“MySQL”、-r
sqlmap中常用的绕过waf的temper脚本:
apostrophemask.py
用utf8代替引号
equaltolike.py
like代替等号
space2dash.py
绕过过滤‘=’ 替换空格字符(”),(’ – ‘)后跟一个破折号注释,一个随机字符串和一个新行(’ n’)
greatest.py
绕过过滤 >
space2hash.py
空格替换为#号 随机字符串以及换行符
apostrophenulencode.py
绕过过滤双引号,替换字符和双引号。
halfversionedmorekeywords.py
当数据库为mysql时绕过防火墙,每个关键字之前添加mysql版本评论
space2mssqlblank.py
空格替换为其它空符号
base64encode.py
用base64编码替换
modsecurityversioned.py
过滤空格,包含完整的查询版本注释
space2mysqlblank.py
空格替换其它空白符号(mysql)
between.py
用between替换大于号(>)
space2mysqldash.py
替换空格字符(’ ‘)(’ -‘)后跟一个破折号注释一个新行(’ n’)
space2plus.py
用+替换空格
二、Msf
MSF为kali自带的渗透测试工具,功能十分强大,该工具可以用作漏洞验证以及漏洞探测工具,也可以用于后渗透,这里简单说一下MSF可以作为漏洞探测以及漏洞验证非常使用的工具之一如(各种未授权访问(Rsync)、弱口令爆破、Oracle Tns远程监听、MS17-010、CVE-2019-0708等等)
三、开源漏洞探测工具
Fastjson漏洞探测可以使用网上公开的Poc也可以使用Burp插件进行探测。
Shiro反序列化漏洞可以使用github上开源的飞鸿shiro漏洞探测工具。
ThinkPhp可以使用雷石实验室研发的自动检测工具,针对ThinkPhp5.0版本的RCE漏洞可以使用github上的一些开源工具。
这里开源的漏洞探测工具非常多,建议通过关注各个安全团队的微信公众号,完善工具。
总结:
漏洞挖掘方法非常多样,发现漏洞可能是扫描器直接出的漏洞,也有可能是一个不起眼的信息泄露引起的高危漏洞(如swagger UI页面,可以导致调试API接口引发更大的安全漏洞),但是总结两个点:
一、在漏洞挖掘过程中细心查看每一个功能点以及数据包逻辑才是王道。
二、学会利用自动化工具,最后信息收集才是最重要的。