简介

渗透的本质是信息收集,信息收集也叫做资产收集。

信息收集是渗透测试的前期主要工作,是非常重要的环节,收集足够多的信息才能方便接下来的测试,信息收集主要是收集网站的域名信息、子域名信息、目标网站信息、目标网站真实ip、敏感目录文件、开放端口等等信息

分类

  • 服务器相关信息
  • 网站指纹识别
  • whois信息,姓名,备案,邮箱,电话反查,开饭端口,WAF等
  • 子域名收集,旁站,C段
  • google hacking针对化搜索,word/电子表格/pdf,中间件版本,弱口令扫描等

方法

  1. whois查询

    • 域名分为根域名和子域名
  2. 收集子域名
  3. 端口扫描

    • 服务器需要开放服务,就必须要开放端口,常见的端口是tcp和udp两种类型
    • 范围:0-65535
  4. 查找真实ip

    • 企业的网站,为了提高访问速度,或者避免黑客攻击,会使用cdn服务
  5. 探测旁站及C段

    • 旁站一个服务器上有多个网站,可以通过ip查询服务器上的网站
    • C段::查找同一段服务器上的网站,可以查到同样的类型和服务器
  6. 网络空间搜索引擎

    • 通过这些引擎查找网站或者服务器信息,进行下一步渗透
  7. 扫描敏感目录/文件

    • 通过扫描目录和文件,大致了解网站的结构,获取突破口
  8. 指纹识别

    • 获取网站的版本,属于哪些cms管理系统,查找漏洞exp,通过下载源码进行代码审计

收集子域名

作用

收集子域名可以扩大测试范围,同一域名下的二级子域名都属于目标范围

常用方式

常见的资产类型一般包括办公系统、邮箱系统、论坛、商城等,其他管理系统、网站管理后台可能也会出现在子域名中

  • 使用在线子域名扫描工具
    • 有许多在线工具可以帮助扫描和发现子域名,例如:
      1. DNSdumpster.com 提供免费的子域名搜索服务,同时提供域名关联的网络地图。
      2. VirusTotal.com 虽然它主要是一个恶意软件扫描服务,但它也提供了子域名搜索功能。
      3. ThreatCrowd.org 一个免费的威胁情报平台,可以用来搜索子域名。
      4. Sublist3r.com 是Sublist3r工具的在线版本,可以用来查找子域名。
      5. Crt.sh 一个证书透明度日志搜索服务,可以用来查找与特定域名相关的所有子域名。
      6. SecurityTrails.com 提供子域名搜索服务,以及其他历史DNS记录和域信息。
      7. Spyse.com 提供子域名搜索功能,以及其他网络安全相关的信息。
      8. PassiveTotal.org 一个商业服务,提供子域名枚举和其他网络侦察工具。
      9. Hackertarget.com 提供多种网络安全工具,包括一个简单的子域名扫描器。
      10. Bufferover.run 一个提供各种网络安全相关搜索的工具,包括子域名搜索。
  • 利用系统的命令行工具进行DNS查询
    • 使用 nslookup 或 dig 命令
      • Windows系统:
        • nslookup:这是一个Windows内置的命令行工具,用于查询DNS以查找域名与IP地址的映射关系。nslookup example.com
        • ipconfig /displaydns:这个命令可以显示本地DNS解析器缓存的内容。
    • Linux和macOS系统:
      • dig:这是一个功能强大的DNS查询工具,通常在Unix-like系统中预装。dig example.com
      • nslookup:与Windows相同,但可能需要安装。nslookup example.com
      • host:这是另一个用于DNS查询的命令行工具。host example.com
  • 利用暴力破解
    • 通过暴力破解尝试常见的子域名,可以使用工具如:sublist3r,wfuzz,gobuster等结合常见的子域名名称进行暴力破解。
  • 使用常规搜索引擎
    • 通过搜索引擎进行搜索可以找到一些子域名。例如:Google、Bing等搜索引擎中使用site:example.com查询,可能会发现一些公开的子域名。
  • 使用网络空间搜索引擎
    • 使用Shodan、Censys、ZoomEye等网络空间搜索引擎,可以搜索目标域名相关的资产。
  • 证书透明度日志
    • 通过证书透明度(Certificate Transparency)日志,可以找到与目标域名相关的所有子域名。使用工具如Certspotter、Crt.sh等。
  • 使用网络爬虫
    • 编写或使用现成的网络爬虫程序,爬取网站并分析链接,可能会发现子域名。
      • 分析网络流量
    • 如果有权访问组织的网络流量,可以分析流量数据来发现子域名。
  • 社交媒体和网络论坛
    • 在社交媒体、专业论坛和博客上搜索品牌或公司名称,可能会发现一些未知的子域名。
  • 隐藏hosts碰撞
    • 特征:一般是403可以尝试
    • 原理:反代nginx进行ip直接访问,此时可以通过绑定hosts

类型

A记录、别名记录(CNAME)、MX记录、TXT记录、NS记录

A(adress)记录

是用来指定主机名(或域名)对应ip地址记录。用户可以将该域名下的网站服务器指向自己的web server上,同时可以设置域名的二级域名

CNAME记录

真实名称记录(英语:Canonical Name Record),即CNAME记录,是域名系统(DNS)的一种记录。CNAME记录用于将一个域名(同名)映射到另一个域名(真实名称),域名解析服务器遇到CNAME记录会以映射到的目标重新开始查询。

这对于需要在同一个IP地址上运行多个服务的情况来说非常方便。若要同时运行文件传输服务和Web服务,则可以把 ftp.example.comwww.example.com 都指向DNS记录 example.com ,而后者则有一个指向IP地址的A记录。如此一来,若服务器IP地址改变,则只需修改example.com的A记录即可。

如何检测是否为cname记录

使用 nslookup -q=cname 二级域名即可,查看返回结果是否一致即可

MX记录

邮箱交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收件人的地址后缀来定位邮箱服务器

TXT记录

TXT记录一般是某个主机名或域名设置的说明

NS记录

一种域名服务器记录,用来明确你当前域名是哪个dns来解析的

端口扫描

当确定了目标大致ip段后,可以先对ip开放端口进行侦测,一些特定服务可能开在默认端口上,侦测开放端口有利于快速收集资产,找到目标网站的其他功能站点

旁站和C段扫描

旁站的概念

旁站指的是同一服务器上的其他网站,很多时候,有些网站可能不是那么容易入侵。那么,可以查看该网站所在的服务器上是否还有其他网站。如果有其他网站的话,可以先拿下其他网站的webshell,然后再提权拿到服务器的权限,最后就自然可以拿下该网站了

C段

C段指的是同一内网段内的其他服务器,每个IP有ABCD四个段,举个例子,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意思就是拿下它同一C段中的其中一台服务器,也就是说是D段1-255中的一台服务器,然后利用工具嗅探拿下该服务器。

扫描敏感目录

扫描敏感目录需要强大的字典,平时需要积累,拥有强大的字典能够高效的找出管理后台,敏感文件如.git文件泄露、.svn文件泄露、phpinfo文件泄露等

扫描敏感文件

  1. robotss.txt
  2. crossdomin.html
  3. sitemap.xml
  4. 后台目录
  5. 网站安装包
  6. 网站上传目录
  7. mysql 管理页面
  8. phpinfo
  9. 网站文本编辑器
  10. 测试文件
  11. 网站备份文件(.rar、.zip、.7Z、.tar.gz、.bak)
  12. DS_Store文件
  13. vim 编辑器备份文件(.swp)
  14. WEB——INF/web.xml文件
  15. .git
  16. .svn

CMS 识别

收集好网站信息后,应该对网站进行指纹识别,确定目标cms及版本,方便下一步的测试计划,可以使用公开的poc或者自己积累的对应手法等

网站源码查看

html源码

可以对网页F12查看源码

法一:F12被禁止的办法:使用view-source:

法二:我们也可以在其他界面打开F12后再访问目标链接

php源码

phps源码泄露有时候能帮上忙

  • 泄露原因
    • phps泄露
    • git/svn泄露
    • vim泄露(.swp泄露)