渗透测试中的信息收集是指攻击者使用各种技术来收集有关目标系统的有价值的信息,以便更好地了解系统的架构、漏洞、弱点和其他相关安全问题。
信息收集的目的是了解系统安全状态,以便更好地帮助攻击者制定攻击策略。信息收集的内容包括系统架构、运行的服务和应用程序、已知漏洞、潜在安全风险等。通过信息收集,可以发现系统的弱点,为后续渗透测试工作做准备。
明确测试目标的类型,是测试网站还是APP小程序,是测试网络还是测试服务器,是在外网测试还是内网测试。
明确测试范围,包括确认授权范围、业务流和数据流,给到主域名是否可以测试子域名,给到ip+端口号是否可以测试其他端口业务,给到ip地址是否可以测试c段资产。需要现场核实业务流程,分析数据流情况,结合实际情况开展工作。如开展医院HIS系统、学校智慧校园系统、工控MIS系统等重要系统的渗透测试,这类系统包含许多子系统,子系统调用目标系统的数据库部分资源,以这类子系统作为渗透测试目标时需要跟客户确认,有助于避免越权测试和对不相关资源的干扰。
明确测试规则,包括是确定渗透测试深度,明确是否可以上马,是否可以提权,是否可以横向打内网等。
明确测试需求,包括是测试网络安全性还是测试服务器安全性,是以获取数据为目标还是以获取权限为目标。
主动信息收集和被动信息收集到的信息没有明确界限,区别在于主动信息收集主动探测了目标系统,而且被动信息是在不接触或少接触目标系统的情况下收集到信息。
主动信息收集包括域名和子域名枚举、ip地址扫描、端口扫描、指纹识别、目录爆破。
被动信息收集包括域名查询、DNS查询、备案号查询、漏洞库查询,通过fofa等资产测绘平台收集目标资产信息,主要依托第三方服务获知目标系统网站的开放端口、指纹识别、漏洞、敏感信息等情况。
根据目标性质制定收集策略,主要包括不限于系统开放了哪些端口、哪些服务、服务是否存在漏洞、有哪些用户会使用哪些系统,会是什么样的账户名格式,子系统有哪些,分别部署在哪个地址,需要获取的数据会在哪个系统上,要怎么找到这个系统,集权系统在哪里,是否能获得通用密码等等。
带着问题去思考与调查,研讨解决问题的办法。
信息收集阶段帮助渗透测试人员了解目标系统、网络和应用程序的基本情况。这包括网络拓扑结构、系统架构、运行的服务和应用程序等。通过了解目标,渗透测试人员可以确定可能的攻击矢量和漏洞利用路径。
信息收集有助于发现目标系统和应用程序中可能存在的漏洞和弱点。通过收集和分析有关目标的信息,渗透测试人员可以定位潜在的安全风险,并准备后续的渗透测试工作。
信息收集阶段帮助渗透测试人员规划和制定攻击策略。通过了解目标的网络结构和系统配置,渗透测试人员可以选择最有效的攻击路径和方法。
信息收集有助于将渗透测试的重点集中在目标上,避免对不相关的资源进行测试,提高测试的效率和准确性。
在进行渗透测试期间,渗透测试人员可能需要收集证据来证明漏洞和安全问题的存在。信息收集阶段可以帮助渗透测试人员确定需要收集的证据和数据。
信息收集还有助于评估目标组织的安全意识和防御能力。通过收集有关目标组织的公开信息,渗透测试人员可以了解目标是否容易受到社会工程学攻击。
信息收集为渗透测试人员提供了关键数据,以便做出明智的决策。根据收集的信息,渗透测试人员可以确定是否继续渗透测试、采取哪些攻击手段等。
总体而言,信息收集是渗透测试的基础和起点,它为后续的渗透测试工作提供了方向和依据。合理、全面的信息收集有助于提高渗透测试的成功率和效率,并确保渗透测试的目标和范围明确。同时,渗透测试人员在进行信息收集时必须遵守相关法律和道德准则,确保不违反隐私规定或越权获取信息