1. 分类


1.1 主动信息收集

直接访问网站,对网站进行扫描等操作。有网络流量经过目标服务器的收集方式。

Tip

主要注意:对网站进行扫描等操作可能会对目标服务器造成一定的负载压力,因此需要在合理的范围内进行。同时,在进行扫描等操作时,需要采取相应的安全措施,以免因操作不当而对目标服务器造成不必要的风险和损害。

1.2 被动信息收集

基于公开的渠道,不与目标系统直接交互的情况下获取信息。

2. 搜集内容


包括但不限于以下内容:

  • 服务器信息:端口、真实IP等
  • 网站信息:操作系统、中间件、数据库、语言、WAF、敏感路径,文件、源码泄露、旁站、C段、指纹信息等
  • 域名信息:whois、备案信息、子域名
  • 社工信息:姓名、生日、职务、联系电话、邮箱、及家人的相关信息

3. 域名信息收集


3.1 分类

  • 顶级域名(Top-level domain,TLD)
    • 国家顶级域名(Country Code Top-level Domain,ccTLD):以国家或地区的国家代码为后缀,如.cn(中国)、.us(美国)、.jp(日本)等。
    • 通用顶级域名(Generic Top-level Domain,gTLD):以常见的词语、行业名词等为后缀,如.com.org(组织)、.net.edu(教育)、.gov(政府)等。
  • 二级域名(Second-level domain,SLD):是在顶级域名下一级的名称,用于表示企业、组织或个人的名称、品牌、产品等,如google.combaidu.com等。
  • 子域名(三级域名)(Subdomain):是在二级域名下的一个层级,用于进一步细分网站内容或服务,如www.google.commail.google.com等。
  • 泛域名(Wildcard domain):是一种特殊的域名,可以匹配所有子域名,如*.google.com可以匹配mail.google.comnews.google.com等所有子域名。
  • 其他特殊域名:
    • 反向域名(Reverse Domain Name System,rDNS):是一种特殊的域名系统,用于将IP地址解析为域名。与常见的正向域名系统(例如将域名解析为IP地址的DNS)不同,反向域名系统将IP地址的每个部分(通常是每个字节)解析为一个域名段。例如:192.168.1.1,其反向域名为1.1.168.192.in-addr.arpa
      反向域名系统主要用于网络安全方面的一些应用,例如SPF(Sender Policy Framework)反垃圾邮件系统、PTR记录等。
      在某些情况下,反向域名可用于确定网络流量的来源,从而实现网络安全的监测和控制。例如,在企业网络中,管理员可以通过监测反向域名解析来识别恶意活动,例如恶意软件、DDoS攻击等。
    • 公共域名(Public Suffix):指的是一类特殊的顶级域名,它们被设计成可公开注册的域名,以便让用户能够在这些域名下创建子域名,用于表示他们自己的品牌、产品或服务等。例如,comorgnet等都是公共域名,而像co.ukcom.cn等则不是。
      公共域名在网络安全方面有着重要的作用,例如浏览器使用公共域名来实现同源策略,从而保护用户的隐私和安全。

3.2 whois

用来查询域名的 IP 及所有者信息的传输协议。
简单来说查询域名是否被注册、以及注册域名的详细信息。包括:域名所属人联系方式、域名所属人邮箱地址、域名注册商、注册时间、到期时间、DNS 等。
在一般情况下,中小型网站域名的注册者就是其管理员,可以利用搜索引擎对 whois 的查询结果继续进行搜索,以获取到更多的管理员相关信息。
whois 查询方法

3.3 备案信息

Note

《非经营性互联网信息服务备案管理办法》条例,在中华人民共和国境内提供非经营性互联网信息服务,应当办里备案。未经备案,不得在中华人民共和国境内从事非经营性互联网信息服务。对于没有备案的网站将予以罚款或关闭。

备案查询网站:
全国互联网安全管理平台
公安机关互联网站安全管理服务平台
ICP备案查询 - 站长工具

3.4 whois 反查

先通过 whois 查询所属人和邮箱等相关信息。在通过其内容反查域名。
目前很多域名是 DNS 解析的运营商注册的,查到的是运营商代替个人和公司注册的信息。
域名Whois反查 - 站长之家
金名网
whois反查_爱站网
Whois Lookup, Domain Availability & IP Search - DomainTools
Whois reverse-ip.com

3.5 子域名收集

4. IP、端口信息收集


4.1 域名查 IP

IP/IPv6查询,服务器地址查询 - 站长工具
www.ipaddress.com

4.2 IP 反查域名

一台物理的服务器上可能运行着多个虚拟主机。也就是很有可能多个网站共用着一个 IP 地址,可以通过迂回的方法,攻入目标的服务器,这称为旁站。
stool.chinaz.com
专业精准的IP库服务商_IPIP

4.3 CDN

内容分发网络,依靠部署在各个地区的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问相应速度和命中率。如果仅使用 ping,可能只会显示到目前所在地附近的 CDN 服务器 IP 地址,并非真正的服务器IP。

4.3.1 多地 ping,国外访问

使用多地区 ping 服务器的服务,查看 IP 是否唯一。因 CDN 服务是收费的,部分的管理员可能会忽略国外网站的配置,所以使用国外 IP 可能会访问到其真实 IP。
不能说所有的 CDN 服务器都可以绕过,有很多大网站的 CDN 是无法绕过的。
多个地点Ping服务器,网站测速 - 站长工具
网站全国各地Ping值测试|在线ping工具—卡卡网 www.webkaka.com

4.3.2 查询子域名 IP

IP批量查询 - 站长工具
CDN 是按照流量收费,一些管理员可能会对主站、流量较大的子站、设置了 CDN,对其余的子站并没有设置。
很多的小站可能又与主站等在同一台服务器或者在同一个 C 段内,查询其子域名可以辅助查找主站的真实 IP。

4.3.3 phpinfo 文件

如果默认安装了 LAMP 环境(Linux、Apache、MySQL、PHP),就会有 phpinfo.php 页面,可以查看服务器的详细信息。
通常是管理员忘记删除,才可能暴露。
SERVER_ADDR一般情况会显示服务器的内网 IP 地址,有时也会显示公网 IP 地址。
快速查找方法:inurl:phpinfo.pho

4.3.4 网络空间搜索引擎

Censys | Industry-Leading Cloud and Internet Asset Discovery Solutions
选择Certificates,输入:parsed.extensions.subject_alt_name.dns_names: <domain>
成功查询到结果后,再切换为hosts,查看 IP 地址。

4.3.5 查询历史 DNS 记录

网站管理员在搭建服务器,购买了域名,需要在域名服务器进行解析并记录。
securitytrails.com
Securitytrails 需要注册登录
IP History - ViewDNS.info
www.ip138.com

4.4 C段存活主机探测

C段存活主机探测一般可以通过以下几种方式进行:

  • ping扫描:使用ping命令对C段网段中的所有IP地址进行扫描,如果能够得到响应则说明该IP地址是存活的主机。
  • ARP扫描:ARP扫描可以探测到同一网段内的所有主机,因为ARP协议会在同一网段内广播,所以可以通过ARP协议进行存活主机探测。
  • ICMP扫描:ICMP扫描可以通过发送ICMP包探测存活主机,如果能够得到响应则说明该IP地址是存活的主机。
    常用工具如下:
  • Nmap:是一款网络探测和安全审计工具。可以用于探测主机存活、端口扫描、操作系统识别、漏洞扫描等多种用途。
    Nmap: the Network Mapper - Free Security Scanner
  • Fping:是一款快速的主机存活检测工具,可以快速检测一段 IP 段内存活的主机。
    fping Homepage
  • Angry IP Scanner:是一款开源的网络扫描工具,可用于扫描局域网中的IP地址,检查这些地址上的开放端口和主机名。可以进行Ping扫描、TCP端口扫描、NetBIOS信息收集、MAC地址解析等操作。
    Angry IP Scanner - the original IP scanner for Windows, Mac and Linux

4.5 常见端口信息

服务端口号简介
ftp21用于在计算机之间传输文件的标准协议。
ssh22加密网络协议,用于在不安全的网络上安全地运行网络服务。
Telnet23用于远程登录到计算机的网络协议,它将用户的终端连接到远程计算机的命令行界面。
SMTP25电子邮件传输的标准协议。
DNS53域名解析为IP地址的网络服务。
DHCP67/68动态配置IP地址的协议
POP3110从邮件服务器接收电子邮件的标准协议
samba139开源软件,实现了 SMB/CIFS 协议的服务器端和客户端,使得 Linux 和 Windows 系统之间可以方便地共享文件和打印机等资源。
IMAP143互联网邮件访问协议,用于接收电子邮件。
SNMP161/162简单网络管理协议,用于管理网络设备。
LDAP389轻型目录访问协议,用于访问和管理分布式目录服务
SMB445服务器信息块协议,用于在 Windows 网络中共享文件、打印机和其他资源。
MSSQL1433MSSQL(Microsoft SQL Server)是由微软公司开发的关系型数据库管理系统(RDBMS),用于存储和管理大量的结构化数据。
Oracle Database1521Oracle Database 是一种关系型数据库管理系统,常用于存储和管理数据。
NFS2049网络上共享文件系统的协议。它允许不同计算机上的用户访问共享的文件和目录。
zookeeper2181开源的分布式协调服务,它可以用于管理大型分布式系统中的配置信息、命名服务、分布式同步和提供组服务等功能。
docker remote api2375Docker Remote API 是 Docker 引擎的 REST API 接口,它允许用户通过 HTTP 请求与 Docker 引擎进行交互,以管理 Docker 容器、镜像、网络等资源。常用端口是 2375(非加密),2376(加密)。
MySQL3306关系型数据库管理系统,用于存储和管理数据。
RDP3389远程桌面控制协议,允许用户远程访问和控制计算机。
GlassFish4848GlassFish是一种基于 Java EE 的应用服务器,由 Oracle 公司开发并提供支持。
4848 是 GlassFish 控制台的 HTTP 端口,用于管理和监视应用程序服务器。
PostgreSQL5432PostgreSQL 是一种开源关系型数据库管理系统。
VNC5900Virtual Network Computing(虚拟网络计算),是一种图形化远程桌面协议,可让用户通过网络远程访问和控制另一台计算机。
Redis6379Redis 是一种内存数据结构存储系统。
WebLogic7001/7002WebLogic 是 Oracle公 司的一款 Java 应用服务器,可用于构建企业级 Java EE 应用程序。
7001-默认 http 端口,7002-默认 https 端口
JBoss/Tomcat/Resin8080JBoss、Tomcat 和 Resin 都是 Java Web 服务器,常用于 Java 应用程序的部署和运行。
InfluxDB8086nfluxDB 是一种开源时间序列数据库,用于存储和分析时间序列数据。
FastCGI9000Web 服务器和动态 Web 应用程序之间进行通信的协议。
Elasticsearch9200/9300Elasticsearch 是一个基于 Lucene 库构建的分布式、可扩展、实时的全文搜索和分析引擎。
MongoDB27017/27018MongoDB 是一种基于文档的 NoSQL 数据库系统,使用 JSON 风格的文档来存储数据。

5. 网站信息收集


5.1 操作系统

  • ping 判断:Windows 的 TTL 值一般为 128,Linux 为 64。TTL 大于 100 一般为 Windows。
  • nmap -O 参数
  • Windows 对 URL 大小写不敏感,Linux 对 URL 大小写敏感。

5.2 网站指纹识别

5.3 敏感文件、目录探测

5.4 waf 识别

wafw00f:GitHub - EnableSecurity/wafw00f: WAFW00F allows one to identify and fingerprint Web Application Firewall (WAF) products protecting a website.