信息收集
什么是信息收集
信息收集是指通过各种方式获取所需要的信息,以便我们在后续的渗透过程更好的进行。比如目标站点IP、中间件、脚本语言、端口、邮箱等。
信息收集的分类
主动信息收集:
通过直接访问网站在网站进行操作、对网站进行扫描等,这种是有网络流量经过目标服务器的信息收集方式。
被动信息收集:
基于公开的渠道,比如搜索引擎等,在不与目标系统直接交互的情况下获取信息,并且尽量避免留下痕迹。
收集什么信息
- 服务器信息(端口,服务,真实IP)
- 网站信息(网站架构(操作系统,中间件,数据库,编程语言)、指纹信息、WAF、敏感目录、敏感文件、源码泄露、旁站查询、C段查询)
- 域名信息(whois、备案信息、子域名)
- 人员信息(姓名、职务、生日、联系电话、邮件地址)
域名信息收集
DNS(域名系统)是互联网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便访问互联网
顶级域名 | 二级域名 | 三级域名 |
---|---|---|
.com | baidu.com | www.baidu.com |
政府域名 | 商业域名 | 教育域名 |
.gov | .com | .edu |
whois查询
注册域名的时候留下的信息。比如域名注册人的邮箱、电话号码、姓名等。根据这些信息可以尝试制作社工密码,或者查出更多的资产等等,也可以反查注册人,邮箱,电话,机构及更多的域名。
web接口查询:
在线网站链接 | 说明 |
---|---|
http://whois.chinaz.com/ | 站长之家 |
https://whois.aliyun.com/ | 阿里云 |
whois命令行查询:
whois.baidu.com
whois反查
先通过whois获取注册人信息,再通过注册人和邮箱反查域名。
反查邮箱链接 | 说明 |
---|---|
http://whois.chinaz.com/reverse?ddlSearchMode=1 | 站长工具 |
子域名(二级域名)信息收集
搜索引擎
通过谷歌、百度、搜狗、360、bing等hack搜索语法搜索子域名。
链接 | 说明 |
---|---|
https://www.google.com | |
https://www.baidu.com | 百度 |
https://www.sogou.com/ | 搜狗 |
https://www.so.com/ | 360 |
https://cn.bing.com/ | Bing |
第三方网站查询
链接 | 说明 |
---|---|
http://tool.chinaz.com | 站长之家 |
http://dns.aizhan.com | 爱站 |
通过网络空间搜索引擎
链接 | 说明 |
---|---|
https://fofa.info/ | fofa |
https://www.baidu.com | 百度 |
https://www.sogou.com/ | 搜狗 |
SSL/TLS证书查询
链接 | 说明 |
---|---|
https://crt.sh/ | crt.sh |
子域名爆破工具
子域名挖掘机
利用字典(.txt文件)进行拼接域名进行爆破
https://github.com/euphrat1ca/LayerDomainFinder
OneforAll
优点:功能强大
缺点:需要一一配置api接口
https://github.com/shmilylty/OneForAll
subDomainsBrute
https://github.com/lijiejie/subDomainsBrute
IP信息收集
IP反查域名
如果渗透目标为虚拟主机,那么通过IP反查到的域名信息很有价值,因为一台物理服务器上面可能运行多个虚拟主机。这些虚拟主机有不同的域名,但通常共用一个IP地址。如果知道了有哪些网站共用这台服务器,就有可能通过此台服务器上其他网站的漏洞获取服务器控制权,进而余迂回获取渗透目标的权限,这种技术也称"旁注"。
http://stool.chinaz.com/same
CDN
CDN即内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
绕过CDN寻找真实IP
(1) 多地ping,可以使用以下两个网站:
http://ping.chinaz.com/
http://ping.aizhan.com/
(2) 利用子域名
这种方法的主要原理就是因为很多公司没有必要为每一个子域名都使用cdn,而且子域名和主站使用 同一个服务器,此时就会导致真实IP泄漏,可以用子域名挖掘机,Subdomainbrute等等去查询子域名, 获取子域名ip。
(3) 采用国外DNS
这个方法主要就是针对一些cdn 只对国内的ip部署了cdn,对于国外的ip并没有部署,这样就会得到真实IP 。
链接 | 说明 |
---|---|
https://who.is/whois/zkaq.cn | who.is |
https://dnsdumpster.com/ | dnsdumpster |
https://www.wepcc.com/ | wepcc |
(4) 利用邮件查
很多网站存在注册功能,注册时获取验证码,他会向邮箱发送一封邮件,这时你可以显示邮件全文查看ip 。
(5) DNS历史解析记录
有一些网站可以查询到DNS历史解析记录,可能在很多网站并未采用cdn时候的解析记录就被记录了下来,之后也并未更换服务器,此时就能查询到真实IP地址 。
链接* | 说明* |
---|---|
https://dnsdb.io/zh-cnl | Dnsdb |
https://securitytrails.com | securitytrails |
https://x.threatbook.com | 微步在线 |
C段资产扫描
工具有:Nmap,msscan,Goby,水泽,fscan,EHole(棱洞)等等。
Nmap
https://nmap.org/download.html
Goby
https://gobies.org/
水泽
https://github.com/0x727/ShuiZe_0x727
fscan
https://github.com/shadow1ng/fscan
EHole(棱洞)
https://github.com/EdgeSecurityTeam/EHole
ARL灯塔
https://github.com/codeyso/CodeTest
端口信息收集
**端口:**在internet上,各主机间通过TCP/IP协议发送和接受数据包,各个数据包根据其目的的主机IP地址来进行互联网中的路由选择,从而顺利的将数据包传送给目标主机。
根据提供服务类型不同,端口可以分为一下两种:
TCP端口:一种面向连接的可靠的传输层通信协议
UDP端口:一种无连接的不可靠的传输层协议
它们是独立的,因此各自的端口号也相互独立。
端口作用:
服务器比作房子,那么端口就是门;
窃贼想未经允许进入房子,就需要破门而入;
窃贼在破门前先了解有几扇门,门后是什么,也就是踩点;
踩点越多越有利。
FTP-21
FTP:文件传输协议,使用TCP端口20、21,20用于传输数据,21用于传输控制信息
SSH-22
(secure shell)目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
Telnet-23
internet远程登录服务的标准协议和主要方式。
SMTP-25/465
邮件协议,在Linux中默认开启这个服务,可发送钓鱼邮件。
WWW-80
超文本传输协议(HTTP)开放的端口
网站指纹识别
网站最基本组成 :服务器(操作系统)、中间件(web容器)、脚本语言、数据库
操作系统判断
- ping判断:windows的TTL值一般为128,Linux为64 。TTL大于100的一般为Windows,几十的一般为Linux。
- nmap-O参数
- Windows大小写不敏感,Linux则区分大小写
网站服务\容器类型
apache、nginx、tomcat、IIS
通过容器类型,版本可考虑对应容器存在的漏洞(解析漏洞)
- F12查看响应头Server字段
- whatweb https://www.whatweb.net/
- wappalyzer插件:一款Chrome浏览器的插件,可以查询网站是用什么技术进行编写的。插件可以自行到Chrome扩展商店进行下载
CMS识别
CMS是一个内容管理系统,允许用户将内容直接发布到Web的接口
主流的cms有:drupal,joomla,wordpress,dedecms判断出目标网站CMS,可以根据对应的CMS类型的漏洞进行攻击。目标网站的CMS识别和CMS安全检测,可以利用onlinetools工具分析。
**在线识别工具:**http://whatweb.bugscaner.com/look/(bugscaner 需要扫码登录)
https://github.com/search?q=cms识别(github查找)
敏感文件及目录探测
敏感文件、目录:
github
git
svn
.DS_Store
WEB-INF
网站漏洞扫描
网站漏洞扫描,各种扫描器。如:nessus,极光,xray,AWVS,goby,AppScan,各种大神团队自己编写的扫描器等等。
目录扫描
目录扫描,主要扫描敏感信息、隐藏的目录和api、代码仓库、备份文件等。工具有:各种御剑,dirmap,Dirsearch,dirbuster,7kbstorm,gobuster等等。
常用:
dirsearch: https://github.com/maurosoria/dirsearch
御剑后台扫描工具
dirmap: https://github.com/H4ckForJob/dirmap
JS信息收集
在JS中可能会存在大量的敏感信息,包括但不限于:
- 某些服务的接口,可以测试这些接口是否有未授权等
- 子域名,可能包含有不常见或者子域名收集过程中没收集到的目标
- 密码、secretKey等敏感数据
链接 | 说明 |
---|---|
https://gitee.com/kn1fes/JSFinder | jsfinder |
https://github.com/rtcatc/Packer-Fuzzer | Packer-Fuzzer |
https://gitee.com/mucn/SecretFinder | SecretFinder |
通过在线网站和各种网盘搜集
直接百度网盘搜索,就可搜到很多在线网盘,然后进入网盘搜索关键词,如单位名、单位别称等。
https://wooyun.website/(乌云漏洞库)
通过搜索引擎和代码仓库搜集敏感信息
通过搜索引擎,谷歌百度搜狗360等hack搜索语法搜索信息。以下示例为谷歌和github:
Google语法 | 说明 |
---|---|
site:xxx.com 学号或管理/admin/login等 | 搜集学号或后台等 |
site:xxx.com inurl:?=/login/sql.php等等 | 搜集SQL注入点 inurl:URL存在关键字的网页 |
site:xxx.com filetype:doc/pdf/xlsx/xls等 | 搜集敏感文件 filetype:搜索指定文件类型 |
site:xxx.com intext:@xxx.com | 搜集mail intext:正文中存在关键字的网页 |
site:xxx.com intitle:登录/注册 | 搜集敏感web路径 intitle:标题中存在关键字的网页 |
site:huoxian.cn inurl:token | 搜索token |
site:Github.com sa password | 密码搜索 |
site:Github.com root password | 密码搜索 |
site:Github.com User ID=‘sa’;Password | 密码搜索 |
site:Github.com inurl:sql | 密码搜索 |
site:Github.com svn | SVN 信息收集 |
site:Github.com svn username | SVN 信息收集 |
site:Github.com svn password | SVN 信息收集 |
site:Github.com svn username password | SVN 信息收集 |
site:Github.com password | 综合信息收集 |
site:Github.com ftp ftppassword | 综合信息收集 |
site:Github.com 密码 | 综合信息收集 |
site:Github.com 内部 | 综合信息收集 |
github语法 | 说明 |
---|---|
in:name xxxx | 仓库标题中含有关键字xxxx |
in:descripton xxxx.com | 仓库描述搜索含有关键字xxxx |
in:readme xxxx | Readme文件搜素含有关键字xxxx |
smtp xxx.com password 3306 | 搜索某些系统的密码 |
网站waf识别
WAF识别:wafw00f
https://github.com/EnableSecurity/wafw00f(wafw00f)