从零开始的信息搜集(二)
前篇:从零开始的信息搜集(一)指路链接 https://www.cnblogs.com/lcxblogs/p/14291907.html
继续
(还是和上篇随笔一样,不特殊强调,只讨论现有的、流行的方法和工具,大佬们自己写自己用的工具、脚本、框架实在太多,有的时候比这些工具效果还好,但这不在本次讨论范围中)
0x05 WAF
主要是探测一些商业化的、成熟的、流行的waf,不包括自己写的waf
1.wafw00f
谈到waf检测,离不开的一款工具
下载链接:https://github.com/EnableSecurity/wafw00f
最近几个月还有更新
简单说一下
windows下(啊,当然多平台随便用),进入目录,python setup.py install ,安装后会多出一个文件夹wafw00f
再次进入wafw00f文件夹中,运行main.py: python main.py
缺啥库安啥库
python main.py --help可见使用参数,-l可见支持探测的waf种类,还是挺多的,160+
python main.py 域名 即可使用
具体脚本可以到plugins目录下看看
2.WhatWaf
另一款waf检测工具
下载链接:https://github.com/Ekultek/WhatWaf
原理与wafw00f类似(star都很多,啊不是...),都是根据HTTP头、cookie、访问状态码、拦截页面识别进行检测的
3.sqlmap、nmap
sqlmap使用--identify-waf参数
或者
nmap中也有:
--script=http-waf-detect
--script=http-waf-fingerprint
4.看眼力
这篇文章列举了一些常见的商业化WAF拦截界面,如果进行了一些危险操作后,咔的一下弹出来这种界面,直接就能看出来是有什么WAF
https://www.cnblogs.com/AdairHpn/p/13985760.html
一般WAF都有特定的服务名称与进程名称,如果有机会再次深入后,看到了这类信息,就可以对号入座(当然不用深入,直接看到拦截界面就知道是什么玩意儿拦了你)
0x06 旁站与C段
旁站:与目标站点在同一服务器的网站(目标不好搞或许可以通过旁站拿下服务器?)
C段:与目标IP处于同一C段的其他网站(大企业可能会持有整块IP段,这些IP就属于同一公司资产,注意别搜到别人家去了......另外,可能存在一些内部服务只限于IP访问而没映射域名的,有必要搜集一下,资产当然越多越好)
1.在线搜索
站长工具:http://stool.chinaz.com/same
搜索引擎:如谷歌、必应 site:xxx.xxx.xxx.* 什么的
网络搜索引擎:如fofa、shodan、zoomeye ip="xxx.xxx.xxx.0/24" 之类的
爱站网: https://dns.aizhan.com (IP反查域名)
如果子域名和目标站点属于旁站关系的话,请转到上一节子域名搜集那部分
2.工具搜索
其实很多集成扫描器、工具都有探测C段的功能
比如
nmap、zenmap、masscan、goby、K8Cscan(K8哥哥整的活,目前新版变成Ladon了 链接:https://github.com/k8gege/Ladon)、御剑高速端口扫描工具(不是扫后台目录的那个)......
不一一介绍了,这些小玩意儿不仅能扫端口,也能扫C段,也许还有别的附加惊喜、意外收获
还有一些论坛大佬自研的小工具,感兴趣可以用用
当然都不喜欢的话可以选择自己写
0x08 CMS指纹
问:一般是通过哪些来识别网站CMS呢?
网站特有文件、网站文件命名规则、返回头部关键字、网页关键字、URL\meta\script特征、robots.txt、网站静态资源、网站路径特征、爬虫网站目录信息......
能凭经验肉眼识别的肉眼识别,不能识别的工具识别
1.云悉
https://www.yunsee.cn/
一个不错的指纹识别平台,可以识别CDN、WAF、容器等等,但是有门槛即需要邀请码才能使用大多数功能
以前做联动活动有赠送抽过邀请码,否则只能按照要求提交申请了
2. 在线whatweb
http://whatweb.bugscaner.com/
以某站为例 。。。。。。
3.识别工具
额,原则上讲有很多,简单列举三个工具吧:whatweb、K8_C段旁注工具、CMSmap
使用参考下列链接内容,不说了:
https://www.freebuf.com/column/151540.html
https://www.cnblogs.com/k8gege/p/10261314.html
https://www.freebuf.com/sectool/58022.html
当然还有很多师傅们的优秀作品,欢迎分享,我就不班门弄斧了
0x09 敏感文件、目录
这部分内容比较深,涉及面很广,大佬们各种骚操作层出不穷让人眼花缭乱,能力有限,我就说一些基础抛砖引玉了
主要说一些可能通过网站获得的敏感文件目录的工具方法
几种版本控制系统可能存在的信息泄露,开发的老哥们都很熟悉了,如:
Bazaar(bzr)
Mercurial(hg )
subversion(svn)
git
cvs
啊,当然非常容易这样
或者这样
这有两篇关于源码泄露的小结,针对不同版本都有不同的利用工具,这里不展开了:
https://www.cnblogs.com/xiaozi/p/12397114.html
https://xz.aliyun.com/t/3677#toc-0
找找什么测试页面、备份文件、后台地址、探针文件、robots.txt......看看能找到点啥
再说说一部分探测工具,当然,我等渣渣靠工具脚本,大佬靠经验人工
1.御剑后台扫描
又是一款老工具了,御剑全家桶,之前说过扫端口的,这个是扫后台的
一键操作,过去玩CTF时常用于爆破路径,字典可以自行添加,支持上图中几类后缀文件及路径爆破
2.dirb
kali自带
使用方法简介:https://zhuanlan.zhihu.com/p/26549845
3.BBScan
李姐姐力作,一个敏感信息探测、扫描和漏洞挖掘的脚本工具,需要py2.7
下载链接:https://github.com/lijiejie/BBScan
作者功能自述:https://www.freebuf.com/sectool/85729.html
4.GSIL
这是一款GitHub敏感信息采集工具,挺有意思的,以后有机会说两句
下载链接:https://github.com/FeeiCN/GSIL
一些使用参考:
https://xz.aliyun.com/t/7229
https://www.uedbox.com/post/57426/
https://cloud.tencent.com/developer/article/1757828
类似功能的还有
Hawkeye https://github.com/0xbug/Hawkeye
X-patrol https://github.com/MiSecurity/x-patrol
GitPrey https://github.com/repoog/GitPrey
gshark https://github.com/madneal/gshark
。。。。。。等等
不能说独步江湖,只能说各有千秋吧
5.wfuzz
一款web fuzz的老工具,不止能fuzz目录,还能fuzz很多东西
下载链接:https://github.com/xmendez/wfuzz
使用文档:https://wfuzz.readthedocs.io/en/latest/
简单的使用教程:https://cloud.tencent.com/developer/news/396934
https://www.freebuf.com/sectool/173746.html
6.dirsearch
还是一款目录扫描工具
下载链接:https://github.com/maurosoria/dirsearch
使用简介:https://www.cnblogs.com/-mo-/p/11466092.html
7.dirmap
目录扫描工具
H4ckForJob作品,作者自述亮点:https://www.freebuf.com/sectool/200890.html
下载链接:https://github.com/H4ckForJob/dirmap
8.7kbscan
目录扫描工具
下载链接:https://github.com/7kbstorm/7kbscan-WebPathBrute
还有。。。因为类似的目录扫描工具层出不穷,不同功能点上互有优劣,不再列举
或者通过burpsuite、各个扫描器的爬虫功能,爬一下目标站点,看看有什么收获
再来就是那些搜索引擎,你懂的
另外,最近听大佬讲了一些他自己getshell骚操作,想起来就顺便提一下JS文件的信息泄露
除了一些花里花哨的框架JS,页面源代码中某些JS里面可能会藏有有意思的接口信息,可能存在信息泄露,啪地一下,后台就出来了,或者啪地一下,cookie出来了
特别是在没有设置访问权限的情况下,可能通过JS信息泄露,API都知道了,参数也知道,未授权访问操作不就来了吗
应用JS和ajax的地方,有很大的可操作空间,留意一下返回包,或者JS文件,可能还有注入等其他利用姿势
可以说,信息泄露是一个常见的突破口,万恶之源,它也涉及到整个流程,绝不仅仅是本小结提到的内容
推荐工具 JSFinder,—款从js文件中寻找敏感接口和子域名的工具
下载链接:https://github.com/Threezh1/JSFinder
作者自述:https://xz.aliyun.com/t/5390
补充一些弱口令字典
1. https://github.com/TgeaUs/Weak-password
2. https://github.com/fuzz-security/SuperWordlist
3. https://github.com/k8gege/PasswordDic
4. https://github.com/TheKingOfDuck/fuzzDicts
5. https://github.com/Ifonly-go2019/FuzzDict
6. https://github.com/ppbibo/PentesterSpecialDict
7. https://github.com/huyuanzhi2/password_brute_dictionary
0x0A 开放端口
1.nmap
人手一个
关于常见端口,我在这里有写过 https://www.cnblogs.com/lcxblogs/p/13941998.html
当然,并不是十分全面,仅供参考
一张图补充
说到nmap我就不困了嗷
常见的端口扫描思路有:
TCP connect扫描(完成TCP三次握手,但动静大)、
TCP SYN扫描(向目标发送SYN包,目标收到后,端口开了就返回SYN/ACK,没开就返回RST,也就是所谓的半开扫描,比三次握手好点)、
NULL扫描(向目标发送无标志位的数据包,如果目标是类Unix下的系统,返回RST证明端口关闭,无响应证明端口开放;但windows系统无论端口开关都会返回RST,,,所以虽然更隐蔽,但是不精确)、
TCP FIN扫描(发FIN包,反馈结果同NULL扫描,无响应证明端口开放,有RST返回证明端口关闭,也是不适用于windows系统)、
TCP ACK扫描(向目标发ACK包,看返回RST的包的TTL,若存在某个端口返回包的TTL明显小于其他端口的,那说明这个端口开放,具体TTL是多少这个不好说)、
Xmas扫描(向目标发URG/PSH/FIN,端口开放是没有响应的,端口关闭过一会会回RST,仍然不适用于windows系统)、
UDP扫描(目标回复端口不可达证明关闭,没有回复证明开放)
。。。。。。
关于nmap使用的一些参数 转自:https://www.cnblogs.com/Vinson404/p/7784829.html
- 扫描指定IP所开放的端口:nmap -sS -p 1-65535 -v XXX.XXX.XXX.XXX
- 扫描C段存活主机:nmap -sP XXX.XXX.XXX.XXX/24
- 指定端口扫描:nmap -p 80,1433,22,1521 XXX.XXX.XXX.XXX
- 探测主机操作系统:nmap -o XXX.XXX.XXX.XXX
- 全面的系统探测:nmap -v -A XXX.XXX.XXX.XXX(Nmap默认扫描主机1000个高危端口)
- 探测指定网段:nmap XXX.XXX.XXX.XXX-XXX
- 穿透防火墙进行扫描:nmap -Pn -A XXX.XXX.XXX.XXX(XXX.XXX.XXX.XXX禁止用ping的)
- 使用脚本,扫描Web敏感目录:nmap -p 80 --script=http-enum.nse XXX.XXX.XXX.XXX
参 数 | 说 明 |
-sT | TCP connect()扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息。 |
-sS | 半开扫描,很少有系统能把它记入系统日志。不过,需要Root权限。 |
-sF -sN | 秘密FIN数据包扫描、Xmas Tree、Null扫描模式 |
-sP | ping扫描,Nmap在扫描端口时,默认都会使用ping扫描,只有主机存活,Nmap才会继续扫描。 |
-sU | UDP扫描,但UDP扫描是不可靠的 |
-sA | 这项高级的扫描方法通常用来穿过防火墙的规则集 |
-sV | 探测端口服务版本 |
-Pn | 扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项进行扫描 |
-v | 显示扫描过程,推荐使用 |
-h | 帮助选项,是最清楚的帮助文档 |
-p | 指定端口,如“1-65535、1433、135、22、80”等 |
-O | 启用远程操作系统检测,存在误报 |
-A | 全面系统检测、启用脚本检测、扫描等 |
-oN/-oX/-oG | 将报告写入文件,分别是正常、XML、grepable 三种格式 |
-T4 | 针对TCP端口禁止动态扫描延迟超过10ms |
-iL | 读取主机列表,例如,“-iL C:\ip.txt” |
或者看我这篇转载:https://www.cnblogs.com/lcxblogs/articles/13527940.html
如果扫描被拦了
看这里:
https://blog.csdn.net/bc221yz/article/details/105727879
https://www.cnblogs.com/H4ck3R-XiX/p/12234762.html
讲了一些nmap绕过WAF的小手段
nmap不仅仅是扫端口,还有很多其他功能
2.站长工具 http://tool.chinaz.com/port/
目前是一次扫一个端口......
3.masscan
没错,又是masscan,一个字:快就完了
这有一篇简简单单的教程
https://www.cnblogs.com/guixia621/p/8820204.html
0x0B 网站环境
1.wappalyzer
一款常用的网站分析插件,能识别网站搭建平台框架、JS库、服务器配置、编程语言等等,对分析网站整体信息有帮助
下载:https://chrome.zzzmh.cn/info?token=gppongmhjkpfnbhagpmjfkannfbllamg
解压后把文件拖到Google浏览器 chrome://extensions/页面中就能用
分析结果还行
2.whatweb
一个基于Ruby的开源网站指纹识别工具
使用参考:https://www.freebuf.com/column/151540.html
https://www.freebuf.com/column/152611.html
3.w11scan
一款分布式web指纹识别系统
下载链接:https://github.com/w-digital-scanner/w11scan
4.看眼力
关于判断网站使用的系统、中间件、数据库等等......有很多小方法
这个留到后面有机会再说
0x0C 社工
本来想写点什么的,后来想了想,删了
我只能说:
八仙过海,各显神通
另外,不得不说的是,有很多那种功能丰富的资产收集系统,可以便捷地一次性收集大量信息,有的还有漏扫功能
正是因为这些系统功能很多,涉及面很广,就没按具体功能细分
因此,把此类的部分系统列举如下,关于使用效果见仁见智,不做评价,排名不分先后:
1.ARL(Asset Reconnaissance Lighthouse)资产侦察灯塔系统 https://github.com/TophantTechnology/ARL?from=timeline
2.bayonet https://github.com/CTF-MissFeng/bayonet
3.Mars https://github.com/TideSec/Mars
4.LangSrcCurise https://github.com/LangziFun/LangSrcCurise
5.Ladon https://github.com/k8gege/Ladon
6.AUTO-EARN https://github.com/Echocipher/AUTO-EARN
7.butterfly https://github.com/dr0op/bufferfly
当然信息搜集远不止我讲的这些,比如内网信息搜集、红队那些打点的骚操作。。。由于时间精力和能力问题,暂时写到这里,后续看情况补充
未经允许,禁止转载