在渗透测试(Penetration Testing)中,信息收集(Information Gathering)是指通过各种手段和技术,收集、获取和整理有关目标系统、网络、应用程序以及相关实体的数据和信息的过程。信息收集是渗透测试的第一个重要阶段,也被称为侦察阶段。
信息收集的目的是了解目标的基本情况,包括网络拓扑结构、系统架构、运行的服务和应用程序、已知漏洞、潜在安全风险等。通过信息收集,渗透测试人员可以获得对目标的深入了解,从而确定可能的攻击矢量和漏洞利用路径,为后续的渗透测试工作做准备。
1、确定目标范围:明确定义渗透测试的目标和范围,包括要测试的系统、网络、应用程序等。这有助于避免越权测试和对不相关资源的干扰。
2、域名和子域名枚举:使用工具如Sublist3r、Amass、或OWASP Amass来查找目标组织的域名和子域名。
3、IP地址扫描:通过工具如Nmap、Masscan等扫描目标组织的IP地址范围,确认存活的主机和开放端口。
4、Whois查询:Whois 是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商、域名注册日期和过期日期等)。通过域名Whois服务器查询,可以查询域名归属者联系方式,以及注册和到期时间。
5、DNS查询:通过DNS查询工具(如dig或nslookup)查找目标域名的DNS记录,了解域名解析信息。以及通过oneforall、dirsearch等工具对目标网站进行子域名查询。
6、网络拓扑分析:通过网络扫描和Traceroute等工具,了解目标网络的结构、服务器、路由器等设备的位置和关系。
7、社会工程学信息收集:通过搜索引擎、社交媒体、公司网站等收集关于目标组织的员工、组织架构和联系信息的数据。
8、漏洞信息搜集:使用漏洞数据库(如CVE、NVD、Exploit Database等)查询目标系统、应用程序或服务的已公开漏洞信息。
9、服务指纹识别:使用工具如Nmap或Bannergrab等,识别目标主机上运行的服务和应用程序的版本信息。
10、网络扫描和端口扫描:使用Nmap等工具对目标主机和网络进行扫描,查找开放的端口和服务。
11、CMS查询:通过对网站内容管理系统(Content Management System,CMS)的查询可以识别使用的语言、使用的框架、使用的数据库的类型和web服务器等等。通过查询是否存在低版本从而能够利用漏洞进行信息泄露甚至远程代码执行这些高危漏洞。以下是通过whatcms进行查询的结果。
1、了解目标:信息收集阶段帮助渗透测试人员了解目标系统、网络和应用程序的基本情况。这包括网络拓扑结构、系统架构、运行的服务和应用程序等。通过了解目标,渗透测试人员可以确定可能的攻击矢量和漏洞利用路径。
2、发现漏洞和弱点:信息收集有助于发现目标系统和应用程序中可能存在的漏洞和弱点。通过收集和分析有关目标的信息,渗透测试人员可以定位潜在的安全风险,并准备后续的渗透测试工作。
3、规划攻击:信息收集阶段帮助渗透测试人员规划和制定攻击策略。通过了解目标的网络结构和系统配置,渗透测试人员可以选择最有效的攻击路径和方法。
4、精确的渗透测试:信息收集有助于将渗透测试的重点集中在目标上,避免对不相关的资源进行测试,提高测试的效率和准确性。
5、收集证据:在进行渗透测试期间,渗透测试人员可能需要收集证据来证明漏洞和安全问题的存在。信息收集阶段可以帮助渗透测试人员确定需要收集的证据和数据。
6、了解安全意识:信息收集还有助于评估目标组织的安全意识和防御能力。通过收集有关目标组织的公开信息,渗透测试人员可以了解目标是否容易受到社会工程学攻击。
7、决策制定:信息收集为渗透测试人员提供了关键数据,以便做出明智的决策。根据收集的信息,渗透测试人员可以确定是否继续渗透测试、采取哪些攻击手段等。
总体而言,信息收集是渗透测试的基础和起点,它为后续的渗透测试工作提供了方向和依据。合理、全面的信息收集有助于提高渗透测试的成功率和效率,并确保渗透测试的目标和范围明确。同时,渗透测试人员在进行信息收集时必须遵守相关法律和道德准则,确保不违反隐私规定或越权获取信息。
了解虹科网络安全更多技术干货/应用案例,欢迎前往【虹科网络安全】官方网站:虹科电子|USB数据加密与安全|网络流量可视化|网络安全|网络流量监控|PTP时间同步
联系我们