信息收集是渗透测试的前期核心任务,是整个过程中的关键环节。只有收集到足够详尽的信息,才能为后续的测试提供有力支持。信息收集的主要内容包括网站的域名及子域名信息、目标网站的详细信息、网站的真实IP地址、敏感文件和目录、开放端口和中间件的信息等。通过各种渠道和方法尽可能多地获取该站点的相关信息,有助于我们发现更多的潜在渗透点和攻击突破口。

信息收集

参考https://www.freebuf.com/articles/web/340195.html
参考https://websec.readthedocs.io/zh/latest/info/port.html

工具网站

棱角社区 (https://forum.ywhack.com/bountytips.php?tools)

WEB域名

备案信息

  • 通过查询备案信息了解到该网站的所有者、联系人、电话号码、邮箱等敏感信息,从而尝试使用社会工程学或其他攻击手段
  • 备案信息查询(http://www.beianx.cn/)
  • 备案管理系统(https://beian.miit.gov.cn/)

企业产权

注册域名

反查解析

DNS数据

证书查询(HTTPS)

  • HTTPS有证书,通过目标的证书,匹配其他哪些网站用过该证书
  • 缺点:只针对HTTPS的网站,但是绝大部分重要的有价值的网站都会使用HTTPS
  • CertificateSearch (https://crt.sh/)

网络空间

威胁情报

枚举解析

OneForAll(子域名收集工具)

  • 安全测试用的最多的子域名收集工具,实现以上情况的总结(网络空间、威胁情报除外)
  • 工具强大的子域名收集器 (https://github.com/shmilylty/OneForAll)
    1
    2
    python3 oneforall.py --target example.com run
    python3 oneforall.py --targets ./example.txt run

Web架构资产

程序语言

  • asp,php,aspx,jsp,py等

搭建平台

  • 搭建平台是程序员开发网站时使用的工具,搭建平台分为开源和闭源。
  • 获取程序源码用于代码审计(白盒测试),即从代码中挖掘漏洞。
    • 有无源码影响测试类型:
    • 无源码-黑盒测试
  • 有源码-白盒测试(代码审计)、黑盒测试都可做

前端-框架源码

  • jQuery / BootStrap / Vue / React / Angular等

中间件探针

  • Web服务器:Apache / Nginx / Microsoft IIS等
  • 应用服务器:Tomcat / Jboss / Weblogic / Node.js等
  • web服务器与应用服务器的区别
    • Web服务器主要用于处理静态内容和HTTP请求,而应用服务器则用于处理动态内容和更复杂的操作。两者通常都会结合使用,以便提供完整的Web应用程序服务。
    • Web服务器:提供静态内容,如HTML、CSS和JavaScript等,以及处理对这些内容的HTTP请求
    • 应用服务器:提供动态内容,如数据库查询和Web应用程序逻辑等,通常与Web服务器协同工作,需要用到端口扫描

其他类型服务器

  • 数据库服务器:MySQL、PostgreSQL、Oracle等
  • 文件服务器:Samba、FTP服务器等
  • 邮件服务器:Exchange、Sendmail、Postfix等
  • DNS服务器:BIND、PowerDNS等
  • 聊天服务器:XMPP服务器等
  • 游戏服务器:Minecraft服务器、Steam服务器等
  • VPN服务器:OpenVPN、IPsec等
  • 视频流服务器:Wowza Streaming Engine、NGINX RTMP等

后端-开源-指纹识别-源码下载

后端-闭源–源码泄漏

操作系统

  • Ping返回的TTL字段值可以猜测操作系统类型
    • Linux TTL=64是Linux系统
    • Windows TTL=128是Windows系统
    • Unix TTL=255是Unix系统

敏感目录扫描

  • robots.txt
  • 后台目录
  • mysql管理接口
  • phpinfo
  • 状态码
    • 200 正常访问302 跳转404 不存在403 没权限50x 服务器内部错误
  • 御剑wwwscandirbusterwebrobot

端口扫描

旁注和C段

  • 旁注攻击
    • 利用同一主机上面不同网站的漏洞得到webshell,从而利用主机上的程序或者是服务所暴露的用户所在的物理路径进行入侵;
    • 通俗来说就是,同一个服务器上存在多个站点,如A、B站点,你在对A进行测试的时候没有攻击的入手点,通过测试B网站进入服务器然后在攻击A网站最终实现目的;
    • 方法或工具
      • IP反查、SQL跨库查询、目录越权、whois信息等
  • C段渗透
    • 不同服务器上面存放不同网站,并且都处于同一个网段
    • x.x.x.1-255属于同一个C段,例如192.168.1.1 ,那么192.168.1.1-192.168.1.255 都属于同一个C段,有些学校或者大公司,他们会持有整个IP段,这个ip段中所有的ip都是那个公司的资产,拿下一台可能有有用的信息,可能在同一内网。
  • 旁站是同ip网站,C段是公网IP同一网段下的网站。
  • C段不是内网,但是有可能同一个C端在同一个内网

CDN

WAF

  • 参考(https://blog.csdn.net/weixin_44420143/article/details/118602836)
  • 简介:Web Application Firewall,即web应用防护系统
  • 作用:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。
  • 功能
    • 漏洞攻击防护,如SQL注入、XSS攻击等
    • 虚拟补丁:就是给网站打补丁,防止一些0day攻击
    • 提供实时防护:就跟PC里面装的360安全卫士一样
    • 原理:对HTTP/HTTPS的请求报文进行分析,如果检测到是攻击行为(如对SQL注入的检测,就会对报文中的SQL语句检测特定的注入字符排列),则会进行阻断,将报文丢弃,不会让请求通过,同时,还可能对攻击源的IP地址进行封杀)

WAF分类:

  • 云WAF:百度安全宝、阿里云盾、长亭雷池,华为云,亚马逊云等
  • 硬件WAF:绿盟、安恒、深信服、知道创宇等公司商业产品
  • 软件WAF:宝塔,安全狗、D盾等
  • 代码级WAF:自己写的waf规则,防止出现注入等,一般是在代码里面写死的