一、Web指纹识别
使用浏览器的 Wappalyzer 扩展、Burp 的 Software Vulnerability Scanner、棱洞(https://github.com/EdgeSecurityTeam/EHole)识别指纹信息。包括 Web 组件、中间件或者典型应用的版本信息。
-
Wappalyzer 扩展
-
tide
二、WAF检测
检测目标站站上是否有 WAF,有 WAF 的情况下漏洞测试需要考虑绕 WAF 的情况,可能比较耗时。
-
手工 WAF 探测,用一些常见的 SQLi、XSS 的 Payload 测试即可,比如 and 1=1 ,<script>alert(xss)</script>等,服务端无响应或者有告警提示就可以判断存在 WAF。另外从响应包查看,响应头信息可能带一些 WAF 特征的字符串。
-
工具探测
三、敏感目录和敏感文件识别
-
基本语法:
-
常用语法:
-
目录爆破
使用 dirsearch 做目录爆破,可以结合之前工具那块提到的FuzzingDB。https://github.com/maurosoria/dirsearch一般直接用内置的字典即可。其他的爆破工具如 ffuf、https://github.com/OJ/gobuster 等,支持模糊测试的哦都可以其他工具
-
绕过403
在某些情况下,可以通过更改请求的请求头并包含内部地址来访问页面。如果路径受到保护,您可以尝试使用以下其他请求头绕过路径保护。
四、URL、API接口和所有参数识别
-
获取所有页面
网站爬虫https://github.com/Qianlitp/crawlergo
API 接口的识别https://github.com/morpheuslord/Nmap-API
-
获取js中的链接
-
参数挖掘
使用扩展工具 Param Miner 挖掘可能存在的参数。还可以利用 ffuf 和参数字典做 Fuzzing,将 FUZZ 字符串替换为需要 fuzzing 的位置即可。
五、业务能力识别
尽量浏览和使用所有可以操作的业务。
六、网络入口/信息
-
网络拓扑信息:外网出口
-
IP信息:C段
-
线下网络:
-
Wi-Fi
- SSID
- 认证信息
-
-
VPN:厂商/登录方式
-
- 邮件网关
- 手机APP
- 小程序后台
- OA
- SSO
- 边界网络设备
- 上游运营商
七、域名信息
-
Whois
Whois 可以查询域名是否被注册,以及注册域名的详细信息的数据库,其中可能会存在一些有用的信息,例如域名所有人、域名注册商、邮箱等。
-
搜索引擎搜索
搜索引擎通常会记录域名信息,可以通过 site: domain 的语法来查询。
-
第三方查询
网络中有相当多的第三方应用提供了子域的查询功能,下面有一些例子,更多的网站可以在 8.1 工具列表 中查找。
- DNSDumpster
- Virustotal
- CrtSearch
- threatminer
- Censys
-
ASN信息关联
在网络中一个自治系统 (Autonomous System, AS) 是一个有权自主地决定在本系统中应采用何种路由协议的小型单位。这个网络单位可以是一个简单的网络也可以是一个由一个或多个普通的网络管理员来控制的网络群体,它是一个单独的可管理的网络单元 (例如一所大学,一个企业或者一个公司个体) 。
一个自治系统有时也被称为是一个路由选择域 (routing domain) 。一个自治系统将会分配一个全局的唯一的16位号码,这个号码被称为自治系统号 (ASN) 。因此可以通过ASN号来查找可能相关的IP
-
域名相关性
同一个企业/个人注册的多个域名通常具有一定的相关性,例如使用了同一个邮箱来注册、使用了同一个备案、同一个负责人来注册等,可以使用这种方式来查找关联的域名。一种操作步骤如下:
- 查询域名注册邮箱
- 通过域名查询备案号
- 通过备案号查询域名
- 反查注册邮箱
- 反查注册人
- 通过注册人查询到的域名在查询邮箱
- 通过上一步邮箱去查询域名
- 查询以上获取出的域名的子域名
此外,部分公司在注册域名时,会注册不同 tld 的域名,例如 example.com / example.cn 。但是不同 tld 的域名也可能是由其它人注册的,需要另外辨别。
-
网站信息利用
网站中有相当多的信息,网站本身、各项安全策略、设置等都可能暴露出一些信息。
网站本身的交互通常不囿于单个域名,会和其他子域交互。对于这种情况,可以通过爬取网站,收集站点中的其他子域信息。这些信息通常出现在JavaScript文件、资源文件链接等位置。
网站的安全策略如跨域策略、CSP规则等通常也包含相关域名的信息。有时候多个域名为了方便会使用同一个SSL/TLS证书,因此有时可通过证书来获取相关域名信息。
-
HTTPS证书
1)证书透明度
为了保证HTTPS证书不会被误发或伪造,CA会将证书记录到可公开验证、不可篡改且只能附加内容的日志中,任何感兴趣的相关方都可以查看由授权中心签发的所有证书。因此可以通过查询已授权证书的方式来获得相关域名。
2)SAN
主题备用名称 (Subject Alternate Name, SAN),简单来说,在需要多个域名,并将其用于各项服务时,多使用SAN证书。SAN允许在安全证书中使用subjectAltName字段将多种值与证书关联,这些值被称为主题备用名称。
-
域传送漏洞
DNS域传送 (zone transfer) 指的是冗余备份服务器使用来自主服务器的数据刷新自己的域 (zone) 数据库。这是为了防止主服务器因意外不可用时影响到整个域名的解析。
一般来说,域传送操作应该只允许可信的备用DNS服务器发起,但是如果错误配置了授权,那么任意用户都可以获得整个DNS服务器的域名信息。这种错误授权被称作是DNS域传送漏洞。
-
Passive DNS
Passive DNS被动的从递归域名服务器记录来自不同域名服务器的响应,形成数据库。利用Passive DNS数据库可以知道域名曾绑定过哪些IP,IP曾关联到哪些域名,域名最早/最近出现的时间,为测试提供较大的帮助。Virustotal、passivetotal、CIRCL等网站都提供了Passive DNS数据库的查询。
-
泛解析
泛解析是把 *.example.com 的所有A记录都解析到某个IP 地址上,在子域名枚举时需要处理这种情况以防生成大量无效的记录。
-
重要记录
1)CNAME
CNAME即Canonical name,又称alias,将域名指向另一个域名。其中可能包含其他关联业务的信息。很多网站使用的CDN加速功能利用了该记录。
2)MX记录
MX记录即Mail Exchanger,记录了发送电子邮件时域名对应的服务器地址。可以用来寻找SMTP服务器信息。
3)NS记录
NS (Name Server) 记录是域名服务器的记录,用来指定域名由哪个DNS服务器来进行解析。
4)SPF记录
SPF (Sender Policy Framework) 是为了防止垃圾邮件而提出来的一种DNS记录类型,是一种TXT类型的记录,用于登记某个域名拥有的用来外发邮件的所有IP地址。通过SPF记录可以获取相关的IP信息,常用命令为 dig example.com txt 。
-
CDN
可通过多地ping的方式确定目标是否使用了CDN,常用的网站有 http://ping.chinaz.com/ https://asm.ca.com/en/ping.php 等。
1)域名查找
使用了CDN的域名的父域或者子域名不一定使用了CDN,可以通过这种方式去查找对应的IP。
2)历史记录查找
CDN可能是在网站上线一段时间后才上线的,可以通过查找域名解析记录的方式去查找真实IP。
3)邮件信息
通过社会工程学的方式进行邮件沟通,从邮件头中获取IP地址,IP地址可能是网站的真实IP或者是目标的出口IP。
-
子域爆破
在内网等不易用到以上技巧的环境,或者想监测新域名上线时,可以通过批量尝试的方式,找到有效的域名。
-
缓存探测技术
在企业网络中通常都会配置DNS服务器为网络内的主机提供域名解析服务。域名缓存侦测(DNS Cache Snooping)技术就是向这些服务器发送域名解析请求,但并不要求使用递归模式,用于探测是否请求过某个域名。这种方式可以用来探测是否使用了某些软件,尤其是安全软件。
八、端口信息
- 常见端口及其脆弱点
-
常见端口扫描技术
1)全扫描:扫描主机尝试使用三次握手与目标主机的某个端口建立正规的连接,若成功建立连接,则端口处于开放状态,反之处于关闭状态。
全扫描实现简单,且以较低的权限就可以进行该操作。但是在流量日志中会有大量明显的记录。
2)半扫描:也称SYN扫描,在半扫描中,仅发送SYN数据段,如果应答为RST,则端口处于关闭状态,若应答为SYN/ACK,则端口处于监听状态。不过这种方式需要较高的权限,而且现在的大部分防火墙已经开始对这种扫描方式做处理。
3)FIN扫描:是向目标发送一个FIN数据包,如果是开放的端口,会返回RST数据包,关闭的端口则不会返回数据包,可以通过这种方式来判断端口是否打开。
这种方式并不在TCP三次握手的状态中,所以不会被记录,相对SYN扫描要更隐蔽一些。
-
Web服务
- Jenkins* 未授权访问
- Gitlab* 对应版本CVE
- Zabbix* 权限设置不当
-
批量搜索
Censys
Shodan
-
ZoomEye
九、站点信息
-
判断网站操作系统
Linux大小写敏感
Windows大小写不敏感
-
扫描敏感文件
robots.txt
crossdomain.xml
sitemap.xml
xx.tar.gz
xx.bak
等
-
确定网站采用的语言
如PHP / Java / Python等
找后缀,比如php/asp/jsp
-
前端框架
如jQuery / BootStrap / Vue / React / Angular等
查看源代码
-
中间服务器
如 Apache / Nginx / IIS 等
查看header中的信息
根据报错信息判断
根据默认页面判断
-
Web容器服务器
如Tomcat / Jboss / Weblogic等
-
后端框架
根据Cookie判断
根据CSS / 图片等资源的hash值判断
根据URL路由判断* 如wp-admin
根据网页中的关键字判断
根据响应头中的X-Powered-By
-
CDN信息
常见的有Cloudflare、yunjiasu
1)探测有没有WAF,如果有,什么类型的
有WAF,找绕过方式
没有,进入下一步
2)扫描敏感目录,看是否存在信息泄漏* 扫描之前先自己尝试几个的url,人为看看反应
使用爬虫爬取网站信息
拿到一定信息后,通过拿到的目录名称,文件名称及文件扩展名了解网站开发人员的命名思路,确定其命名规则,推测出更多的目录及文件名
-
常见入口目标
关注度低的系统
-
业务线较长的系统
十、搜索引擎利用
恰当地使用搜索引擎(Google/Bing/Yahoo/Baidu等)可以获取目标站点的较多信息。
-
数据预处理
长度截断
大小写转化
去标点符号
简繁转换
数字归一化,中文数字、阿拉伯数字、罗马字
同义词改写
拼音改写
-
处理
分词
关键词抽取
非法信息过滤
-
搜索技巧
site/link/related/intitle/inurl/allintile / allinurl / allintext / inanchor / intext / filetype / info / numberange / cache等。
通配符
- * 代表某一个单词
- OR 或者 | 代表逻辑或
- 单词前跟 + 表强制查询
- 单词前跟 - 表排除对应关键字
- " 强调关键字
tips
- 查询不区分大小写
- 括号会被忽略
- 默认用 and 逻辑进行搜索
-
快照
搜索引擎的快照中也常包含一些关键信息,如程序报错信息可以会泄漏网站具体路径,或者一些快照中会保存一些测试用的测试信息,比如说某个网站在开发了后台功能模块的时候,还没给所有页面增加权限鉴别,此时被搜索引擎抓取了快照,即使后来网站增加了权限鉴别,但搜索引擎的快照中仍会保留这些信息。
另外也有专门的站点快照提供快照功能,如 Wayback Machine 和 Archive.org 等。
-
Github
在Github中,可能会存在源码泄露、AccessKey泄露、密码、服务器配置泄露等情况,常见的搜索技巧有:
- @example.com password/pass/pwd/secret/credentials/token
- @example.com username/user/key/login/ftp/
- @example.com config/ftp/smtp/pop
- @example.com security_credentials/connetionstring
- @example.com JDBC/ssh2_auth_password/send_keys
十一、社会工程学
社工库即社会工程学数据库。社会工程学数据库是存储个人信息、邮箱关联信息等敏感信息的数据库,这些数据库都建立在已泄露的各类信息的基础之上。例如早年的CSDN社工库、天涯社工库、人人社工库、当当社工库、猴岛社工库、爱拍社工库、多玩社工库、守夜人社工库、163社工库、12306社工库及Facebook社工库等。
-
企业信息收集
一些网站如天眼查等,可以提供企业关系挖掘、工商信息、商标专利、企业年报等信息查询,可以提供企业的较为细致的信息。
公司主站中会有业务方向、合作单位等信息。
-
人员信息收集
针对人员的信息收集考虑对目标重要人员、组织架构、社会关系的收集和分析。其中重要人员主要指高管、系统管理员、开发、运维、财务、人事、业务人员的个人电脑。
人员信息收集较容易的入口点是网站,网站中可能包含网站的开发、管理维护等人员的信息。从网站联系功能中和代码的注释信息中都可能得到的所有开发及维护人员的姓名和邮件地址及其他联系方式。
在获取这些信息后,可以在Github/Linkedin等社交、招聘网站中进一步查找这些人在互联网上发布的与目标站点有关的一切信息,分析并发现有用的信息。
此外,可以对获取到的邮箱进行密码爆破的操作,获取对应的密码。
-
钓鱼
基于之前收集到的信息,可以使用Office/CHM/RAR/EXE/快捷方式等文件格式制作钓鱼邮件发送至目标,进一步收集信息。
其中Office可以使用Office漏洞、宏、OLE对象、PPSX等方式构造利用文件。
Exe可以使用特殊的Unicode控制字符如RLO (Right-to-Left Override) 等来构建容易混淆的文件名。
RAR主要是利用自解压等方式来构建恶意文件,同样加密的压缩包也在一定程度上可以逃逸邮件网关的检测。
如果前期信息收集获取到了运维等人员的邮箱,可以使用运维人员的邮箱发送,如果未收集到相关的信息,可以使用伪造发送源的方式发送邮件。
需要注意的是,钓鱼测试也需要注意合规问题,不能冒充监管单位、不能发送违法违规信息。具体可以参考《中华人民共和国电信条例》、《中华人民共和国互联网电子邮件服务管理办法》等法律法规。
-
其他信息
公司的公众号、企业号、网站,员工的网盘、百度文库等可能会存在一些敏感信息,如VPN/堡垒机账号、TeamViewer账号、网络设备默认口令、服务器默认口令等。
十二、其他
中间件版本、传输协议、开发框架通用漏洞、github源码信息等。
标签:收集,网站,什么,信息,域名,服务器,com,社工 From: https://blog.csdn.net/qq_55231296/article/details/143750832