文章目录
基础信息收集:
网络拓扑分析:
子域名枚举:
开放端口探测:
指纹识别:
目录和文件探测:
漏洞扫描:
源码与配置检视:
在web渗透测试中,信息打点是一个非常关键的前期准备工作。信息打点主要目的是对目标网站进行全面的信息收集,为后续的渗透测试做好准备。信息打点常见的内容一般包含以下几个方面:
基础信息收集:通过WHOIS、DNS等途径收集目标网站的基础信息,如域名注册详情、名称服务器、网站IP段等。这些信息可以帮助判断目标站点的背景。
WHOIS信息收集
使用whois查询工具,查询目标网站域名的注册信息,包括注册人姓名、注册邮箱、注册日期、过期时间等。这些信息可以帮助判断域名的背景信息。
有时注册信息可能使用代理服务进行隐藏,需要综合其他信息来分析目标网站背景。
DNS信息收集
对域名进行DNS查询,获取其名称服务器地址,判断域名由哪家DNS服务商解析。
查询域名的A记录,获取网站的IP地址段,这是定位网站服务器位置的重要信息。
查询域名的MX记录,获取网站的邮件服务器,为后续社工信息收集做准备。
查询域名的TXT记录等,获取域名可能暴露的其他渗透相关信息。
综合信息进行背景判断
将WHOIS和DNS等收集到的注册人、技术人员、邮件服务器、IP地址等信息综合分析,判断目标网站的运行背景,为后续渗透测试定制策略。
网络拓扑分析:通过扫描目标网络IP段,绘制出网站的网络拓扑结构,发现可能的内网接口。
寻找初始资产
利用WHOIS、DNS等方式获取目标站点的公网IP地址段作为初始资产。
活跃主机发现
对IP地址段进行ping扫描、TCP扫描等方式,发现实际活跃的服务器主机。
端口扫描
对找到的主机进一步进行端口扫描,判断打开的网络服务端口。
服务识别
通过端口号匹配常见服务,辨识运行的应用或版本,如80端口为web服务器等。
关系关联
根据不同主机开放的服务情况,判断主机之间的网络关系,如数据库服务器与应用服务器等。
绘画网络拓扑
根据主机之间的服务关联情况,使用专业工具绘制出目标站点的网络拓扑结构图。
分析攻击面
从拓扑图中发现可能的内网跳点,分析网络攻击面,为内网渗透做准备。
子域名枚举:使用子域名扫描工具发现目标站点的所有子域名,子域名中可能存在隐藏的管理入口。
搜集初始种子子域名
从WHOIS、搜索引擎等公开渠道收集目标站点已知的子域名作为扫描种子。
动态生成字典
在已知子域名的基础上,使用命名规则生成大字典作为扫描词典。
暴力枚举子域名
使用子域名扫描工具,根据字典进行大规模的子域名暴力枚举。
递归解析子域名
对发现的子域名进行递归DNS解析,不断扩大子域名范围。
重复子域名过滤
对扫描结果进行处理,过滤掉重复、无效的子域名记录。
构建子域名列表
最终整理出目标站点的全部子域名清单,为后续渗透准备资产。
发现隐藏入口
在大量子域名中,发现一些非标准命名的隐藏管理子域名作为攻击入口
开放端口探测:对网站IP进行端口扫描,发现运行的各种网络服务,辅助判断存在的系统组件。
确定扫描范围
根据前期信息收集确定网站公网IP地址段,作为端口扫描的目标范围。
探测开放端口
使用nmap等端口扫描工具,对目标IP地址段进行全端口 TCP/UDP 扫描。
分析常见端口
根据已知端口号,判断开放的常见服务,如80端口为WEB服务,3306为MySQL数据库。
探测运行服务
对一些非标准端口,利用端口关联技术判断具体的运行服务和版本。
发现非标准端口
重点关注一些非常见端口,判断是否存在特殊管理服务。
绘制端口服务图
综合端口扫描结果,绘制每个IP地址的端口-服务对应图。
分析系统组件
根据开放服务判断主机的操作系统类型和运行的软件中间件。
评估后续攻击
根据发现的端口服务,评估存在的攻击面和后续渗透策略。
指纹识别:使用指纹扫描判断网站运行的操作系统、WEB服务器、应用程序等版本信息。
收集指纹库
收集包含操作系统、WEB服务器、应用软件等的指纹特征库。
主动指纹识别
使用特定协议与目标网站主动交互,获取详情版本号等指纹回应。
被动指纹识别
分析目标网站返回的HTTP头部、JavaScript文件等中含有的指纹信息。
应用服务检测
检测目标网站运行的应用服务,如CMS、博客等,关联其版本特性。
操作系统检测
通过TTL、窗口大小等判断操作系统类型及版本。
Web服务器检测
通过Server字段或定制请求判断web服务器及版本。
数据库指纹
检测数据库错误信息及特性,判断数据库类型和版本。
综合与关联
综合多种指纹信息,进行关联判断目标的详细系统配置。
目录和文件探测:尝试递归遍历网站目录,发现可能存在的隐藏文件或敏感备份文件。
构建目录字典
收集常见目录名、文件名作为遍历扫描的字典库。
递归遍历目录
使用目录遍历工具递归遍历网站目录,暴力发现所有可访问目录。
分析目录权限
判断每个目录的权限,找出可写入执行的目录。
暴力破解目录
对无权限目录进行暴力破解,获取目录列表。
发现备份文件
匹配常见备份文件规则,发现配置文件、源码备份文件。
搜索隐藏文件
搜索common1等隐藏文件,包含可能的隐藏后门。
下载本地分析
将发现的文件下载到本地,使用文本编辑器详细分析。
整理目录结构
绘制出目标网站的整体目录结构,标注敏感目录。
漏洞扫描:使用漏洞扫描工具,发现目标站点存在的具体漏洞类型。
漏洞扫描是一种通过使用专门设计的工具来检测计算机系统、网络或应用程序中存在的安全漏洞的过程。这些漏洞可能允许攻击者获取未经授权的访问、执行恶意代码或导致其他安全威胁。在进行漏洞扫描时,通常会使用自动化工具,这些工具能够检测系统中已知的漏洞,并帮助安全专业人员识别和修复这些问题。
下面是进行漏洞扫描的一般步骤和一些常见的漏洞类型:
目标确定:确定要进行漏洞扫描的目标,这可以是一个网络、一个网站、一个应用程序或整个系统。
工具选择:选择适当的漏洞扫描工具。常见的漏洞扫描工具包括OpenVAS、Nessus、Nexpose、Acunetix、Burp Suite等。
配置扫描:配置扫描工具以适应目标环境。这可能包括设置扫描的范围、扫描的深度、认证凭据(如果需要登录才能访问的情况下),以及其他参数。
扫描执行:运行漏洞扫描工具来自动检测目标系统中的漏洞。
结果分析:分析扫描结果,识别潜在的漏洞。漏洞扫描工具通常会生成报告,其中包含了找到的漏洞的详细信息,包括漏洞的类型、等级、修复建议等。
漏洞验证:对发现的漏洞进行验证,确保它们是真实存在的问题而不是误报。有些漏洞扫描工具可以提供验证的功能,但有时需要手动进行验证。
以下是一些常见的漏洞类型,漏洞扫描工具可能会检测到的一些具体问题:
SQL注入:允许攻击者通过构造恶意的SQL查询来访问、修改或删除数据库中的数据。
跨站脚本攻击(XSS):允许攻击者在受害者的浏览器中执行恶意脚本,通常是通过在Web应用程序中注入恶意代码。
跨站请求伪造(CSRF):允许攻击者通过伪装为合法用户的请求,执行未经授权的操作。
文件包含漏洞:允许攻击者包含或执行文件系统中的文件,可能导致敏感信息泄露或远程代码执行。
未经授权访问:检测系统中的未经授权访问点,如未经授权的开放端口、弱密码等。
源码与配置检视:尝试获取网站源代码或配置文件,直接分析站点的内部结构。
源码与配置检视是一种主动信息收集的技术,它旨在通过获取网站的源代码或配置文件来了解目标系统的内部结构和实现细节。这种技术通常由安全专业人员用于评估目标系统的安全性,但也可能被潜在攻击者用于寻找攻击目标。以下是源码与配置检视的详细阐述:
获取源代码和配置文件:
源代码:源代码是构成网站或应用程序的程序代码。攻击者可以尝试获取网站的前端(HTML、JavaScript、CSS等)和后端(服务器端脚本、数据库查询等)源代码。
配置文件:配置文件包含有关系统设置、数据库连接、服务器参数等敏感信息。攻击者可能寻找这些文件,以获取对系统的更深入了解。
常见的获取方式:
Web爬虫:使用Web爬虫工具,攻击者可以遍历网站并下载其内容,包括HTML、JS和CSS文件。
目录遍历漏洞:如果网站存在目录遍历漏洞,攻击者可以通过构造特定的请求来获取服务器上的文件,包括配置文件。
错误信息泄露:有时,网站可能会在发生错误时返回包含敏感信息的错误页面,攻击者可以利用这些错误信息来获取有关系统的线索。
分析源代码和配置文件:
敏感信息泄露:源代码和配置文件中可能包含敏感信息,如数据库连接字符串、API密钥、密码等。攻击者可以使用这些信息进行后续的攻击。
漏洞分析:通过分析源代码,攻击者可能发现潜在的安全漏洞,如未经验证的输入、弱点密码策略等。
架构和技术分析:源代码可以揭示网站使用的技术栈、框架和库,为攻击者提供更多有关系统运行方式的信息。
防御措施:
权限控制:确保服务器上的文件和配置文件只能被授权用户访问。
错误处理:配置正确的错误处理机制,以确保在发生错误时不会泄露敏感信息。
安全开发实践:开发人员应该采用安全的编码实践,避免在源代码中硬编码敏感信息,同时确保对用户输入进行适当的验证和过滤。
本文作者:dsy2224, 转载请注明来自FreeBuf.COM