【网络安全】2026最新网安渗透测试标准及流程!新手小白零基础入门必看教程!
✅一、了解渗透测试
🔴什么是渗透测试?
渗透测试是一种安全性测试,通过发起模拟网络攻击的方式查找计算机系统中的漏洞。
- 渗透测试人员是拥有高超道德黑客技术的安全专业人员(道德黑客是指运用黑客工具和黑客技术来修复安全薄弱环节而不是造成伤害)。许多企业会雇用渗透测试人员来对其应用程序、网络和其他资产发起模拟攻击。通过发起虚假攻击,渗透测试人员可以帮助安全团队发现严重安全漏洞,改善整体安全状况。
- 术语“道德黑客”和“渗透测试”有时可以互换使用,但存在差异。道德黑客是一个更广泛的网络安全领域,包括任何运用黑客技能来改善网络安全的行为。渗透测试只是道德黑客运用的多种方法之一。道德黑客可能还会提供恶意软件分析、风险评估和其他服务。
🔴渗透分类
黑盒测试
- 是指测试人员在不清楚被测单位内部技术架构的情况下,从外部对网络设施的安全性进行测试的过程。黑盒测试借助于真实世界的黑客方法、黑客工具,有组织有步骤的对目标系统进行逐步的渗透和入侵,揭示目标系统中一些已知的和未知的安全漏洞,并评估这些漏洞是否可以被不法分子利用,并造成业务和资产损失。
白盒测试
- 测试人员可以获取被测单位的网络结构和各种底层技术. 在此基础上,使用针对性的测试方法和工具,可以以较小的代价发现和验证系统最严重的安全漏洞 。 两者各有利弊,需结合进行。
灰盒测试
- 渗透测试人员可以根据对目标系统获取的有限的知识和信息,选择渗透测试的最佳路径,渗透测试者也需要从外部逐渐的渗透进入内部网络,同时,他们所拥有的目标网络底层拓扑结构有助于他更好的选择攻击途径和方法,从而达到更好的渗透测试效果。
🔴渗透基本概念
肉鸡
- 所谓“肉鸡”是一种很形象的比喻,比喻那些可以被攻击者控制的电脑、手机、服务器或者其他摄像头、路由器等智能设备,用于发动网络攻击。
木马
- 就是那些表面上伪装成了正常的程序,但是当这些程序运行时,就会获取系统的整个控制权限。有很多黑客就是热衷使用木马程序来控制别人的电脑,比如灰鸽子。
后门
- 这是一种形象的比喻,入侵者在利用某些方法成功的控制了目标主机后,可以在对方的系统中植入特定的程序,或者是修改某些设置,用于访问、查看或者控制这台主机
弱口令
- 指那些强度不够,容易被猜解的,类似 123,abc 这样的口令
0day 漏洞
- 在网络攻防的语境下,0day 漏洞指那些已经被攻击者发现掌握并开始利用,但还没有被包括受影响软件厂商在内的公众所知的漏洞
1day 漏洞
- 指漏洞信息已公开但仍未发布补丁的漏洞。此类漏洞的危害仍然较高,但往往官方会公布部分缓解措施,如关闭部分端口或者服务等。
Nday 漏洞
- 指已经发布官方补丁的漏洞。通常情况下,此类漏洞的防护只需更新补丁即可,但由于多种原因,导致往往存在大量设备漏洞补丁更新不及时,且漏洞利用方式已经在互联网公开,往往此类漏洞是黑客最常使用的漏洞。
免杀 (3阶段)
- 杀:指的是电脑中的安全防护软件会对我们电脑下载的或者储存的文件进行扫描,如果发现危险会自行删除
就是通过加壳、加密、修改特征码、加花指令等等技术来修改程序,使其逃过杀毒软件的查杀。
社工
- 一种无需依托任何黑客软件,更注重研究人性弱点的黑客手法正在兴起,这就是社会工程学黑客技术。 通俗而言是指利用人的社会学弱点实施网络攻击的一整套方法论,其攻击手法往往出乎人意料。
提权 (3阶段)
- 指得到你本没得到的权限,比如说电脑中非系统管理员就无法访问一些 C 盘的东西,而系统管理员就可以,通过一定的手段让普通用户提升成为管理员,让其拥有管理员的权限,这就叫提权。
网络靶场
- 主要是指通过虚拟环境与真实设备相结合,模拟仿真出真实赛博网络空间攻防作战环 境,能够支撑攻防演练、安全教育、网络空间作战能力研究和网络武器装备验证试验平台。
🔴渗透核心概念
- POC :全称 ’ Proof of Concept ',中文 ’ 概念验证 ’ ,常指一段漏洞证明的代码
- EXP :全称 ’ Exploit ',中文 ’ 利用 ',指利用系统漏洞进行攻击的动作
- Payload :中文 ’ 有效载荷 ',指成功 exploit 之后,真正在目标系统执行的代码或指令
- Shellcode :简单翻译 ’ shell 代码 ',是 Payload 的一种,由于其建立正向/反向 shell 而得名
✅二、渗透分析流程
🔴1、前期准备(制定渗透计划)
目标确定:
- 测试范围:明确哪些系统、网络、应用或特定IP/域名将接受测试。
- 测试账户:如果测试需要特定的访问权限,应事先准备或申请这些账户。
- 测试规则和需求:定义测试的具体目标,如查找web应用的SQL注入漏洞、业务逻辑漏洞等。
工具与资源:
- 工具:选择适合的渗透测试工具,如漏洞扫描器、端口扫描器、社会工程学技巧和密码爆破工具等。
- 重点:电脑、服务器、数据库、程序等是渗透测试的主要对象,需要根据测试目标详细规划。
- SRC平台(挖洞):以下提到的SRC平台(如补天、安恒SRC)是安全漏洞响应中心,SRC平台为白帽子提供了一个合法的渠道来发现和报告漏洞,同时也为企业提供了一个高效的漏洞修复机制。企业可通过这些平台公开征集安全漏洞的发现和修复。虽然这不是渗透测试的直接步骤,但了解这些平台有助于理解漏洞披露的正规渠道。
- 补天:https://www.butian.net/Reward/plan/2
- 安恒:https://www.anquanke.com/src/
🔴2、信息收集
渗透测试的信息收集是一个全面而细致的过程,需要收集各种类型的信息来全面了解目标并发现潜在的安全漏洞。这些信息将作为后续渗透测试的基础和依据。
收集方式
- 主动扫描 :主动发送数据包到目标系统,以探测目标系统的安全漏洞、开放端口、服务状态等信息。需要与目标系统建立直接的通信连接,并发送特定的数据包来触发目标系统的响应。
- 开放搜索 :利用公开信息或开放资源进行搜索和发现安全漏洞的方法。这种方法可能包括使用搜索引擎、开放数据库、社交媒体等渠道来收集目标系统的相关信息。
(一)、核心基础信息
- IP 地址
目标主机的 IP 地址是渗透测试的基石信息。它是网络中标识主机的唯一数字标识,是与目标进行网络通信和后续测试操作的起点。 - 网段
了解目标主机所在的网段,能够帮助我们掌握目标网络的整体规模和结构布局。网段划定了一个特定的网络范围,在这个范围内的主机通常具有相似的网络配置和安全策略,有助于我们从宏观层面规划渗透测试的范围和策略。 - 域名
目标网站的域名是用户访问网站的常用 URL 地址,也是信息收集的关键切入点。通过域名,我们可以进一步挖掘与之相关的各种信息,如子域名、网站架构等。 - 子域名
收集子域名能够显著扩大攻击范围。同一主域名下的二级域名通常属于相同的资产范畴,彼此之间往往存在一定的关联。通过收集子域名,可以发现更多处于渗透测试范围内的域名和子域名,从而大大增加发现漏洞的概率。以下是一些可以用 - 于收集
vivo.com 子域名的在线工具:
查域名 https://chaziyu.com/vivo.com.cn/
IP138 子域名查询 https://site.ip138.com/vivo.com.cn/domain.htm
站长工具子域名查询 https://tool.chinaz.com/subdomain/vivo.com.cn
(二)端口信息
- 端口的重要性
端口作为服务器与客户端进行交互的关键接口,其作用举足轻重。不同的端口对应着不同的网络服务,通过对目标主机开放端口的扫描,我们可以了解主机上运行的各类程序和中间件,进而发现潜在的服务漏洞。
(三)操作系统信息收集
- 识别操作系统的方法与意义
通过向目标主机发送特定的探测包,然后仔细分析响应包中的相关信息,我们能够推测出目标主机所使用的操作系统类型及其版本。准确识别操作系统对于后续制定漏洞利用方案和攻击策略起着至关重要的作用,因为不同的操作系统可能存在不同的安全漏洞和防护机制。
(四)中间件信息收集
- 中间件概述
中间件是位于应用程序和操作系统之间的软件,常见的有 Web 服务器(如 Apache、Nginx 等)以及应用服务器(如 Tomcat、JBoss 等)。 - 收集的重要性
收集中间件信息有助于我们全面了解目标网站的技术架构。基于对中间件的了解,我们可以进一步发现可能存在的中间件漏洞,为后续的渗透测试提供方向。
(五)脚本语言信息识别
- 识别脚本语言的途径
通过深入分析网页源代码、HTTP 响应头等信息,我们可以识别出目标网站所使用的脚本语言,例如 JavaScript、PHP、ASP.NET 等。 - 识别的作用
了解网站使用的脚本语言有助于我们知晓网站的功能实现方式。同时,不同的脚本语言可能存在各自特有的安全漏洞,识别脚本语言能够帮助我们有针对性地进行安全漏洞排查。
(六)数据库信息收集
- 收集内容
主要是了解目标网站所使用的数据库类型(如 MySQL、SQL Server、Oracle 等)以及对应的版本信息。 - 收集的意义
掌握数据库类型和版本信息后,我们可以更有针对性地进行数据库漏洞扫描和渗透测试,因为不同类型和版本的数据库存在的安全风险可能不同。
🔴3、靶场安装
🔴4、漏洞探测
基于收集到的信息,使用自动化或手动的方式对目标进行漏洞扫描,查找可能的安全漏洞。
工具扫描:
- 使用漏洞扫描工具(如OpenVAS、Nessus、Acunetix等)结合漏洞库(如www.exploit-db.com) 对目标系统进行全面的漏洞扫描。
自己挖掘:
- 通过手动分析和测试目标系统,以发现那些自动化扫描工具可能无法识别或漏报的潜在安全漏洞。这个过程需要深厚的网络安全知识和实践经验,以及对各种攻击技术和漏洞原理的深入理解。
以下为常见的漏洞类型及其挖掘方式:
弱口令
- 定义:弱口令是指容易被猜测或破解的密码,如“123456”、“password”等常用密码。
- 挖掘方式:通过暴力破解、字典攻击等方式尝试登录目标系统的账号,以发现是否存在弱口令问题。
REC(远程命令执行漏洞和远程代码执行漏洞)
- 定义:REC漏洞包括远程命令执行(RCE)和远程代码执行(RCE,尽管这里可能有些重复,但通常指不同层面),它们允许攻击者远程执行系统命令或代码。
- 挖掘方式:通过输入特定格式的参数或利用应用程序的漏洞,尝试执行系统命令或代码,观察是否成功执行。
SQL 注入
- 定义:SQL注入是一种通过向Web应用程序的输入字段中插入恶意SQL代码,从而欺骗应用程序执行未授权的数据库操作的安全漏洞。
- 挖掘方式:在应用程序的输入字段中输入特殊字符(如单引号、双引号、注释符号等),尝试构造恶意的SQL查询,观察是否成功获取数据库信息或执行未授权操作。
XSS 跨站脚本攻击
- 定义:XSS是一种通过向网站注入恶意脚本代码,从而窃取用户敏感信息或对用户进行欺骗、木马攻击等的网络安全漏洞。
- 挖掘方式:在网站的输入框、URL参数等位置输入恶意脚本代码,观察是否能够在用户浏览器中成功执行。
CSRF(跨站请求伪造)
- 定义:CSRF是一种网络攻击方式,攻击者利用受害者的身份在受害者不知情的情况下执行未授权操作。
- 挖掘方式:分析目标网站的敏感操作(如转账、修改密码等),尝试构造恶意请求,诱导受害者执行。
SSRF(服务的请求伪造)
- 定义:SSRF是一种由攻击者构造的、由服务端发起请求的安全漏洞,攻击者可以通过该漏洞对服务器所在的内网、本地服务器等进行攻击。
- 挖掘方式:通过向目标服务器发送包含内网IP地址或本地服务器资源的请求,观察服务器是否发起了相应的请求。
文件上传、下载漏洞
- 定义:文件上传、下载漏洞允许攻击者上传或下载恶意文件,从而对服务器或用户造成危害。
- 挖掘方式:尝试上传或下载文件,观察服务器是否对文件类型、大小等进行了有效的限制和验证。
XXE(XML 外部实体注入)
- 定义:XXE是一种安全漏洞,它允许攻击者利用XML解析器的漏洞,读取服务器上的文件、执行系统命令或进行其他恶意操作。
- 挖掘方式:在XML数据输入点输入包含外部实体的XML数据,观察服务器是否解析并执行了这些外部实体。
🔴5、漏洞验证
对扫描出的漏洞进行验证,确保漏洞的真实性和可利用性。验证方法包括自动化验证和手工验证,有时还需要搭建模拟环境进行试验验证。
- 自动化验证:使用自动化工具对漏洞进行初步验证,确认漏洞的真实性和可利用性。
- 手工验证:根据公开资源进行手工验证,如exploit-db、wooyun等。尝试构建攻击场景,模拟黑客攻击过程。
- 实验验证:在模拟环境中搭建目标系统的复制品,进行漏洞利用实验。验证漏洞利用的成功率和效果。
🟢总结
- 最后希望你编程学习上不急不躁,按照计划有条不紊推进,把任何一件事做到极致,都是不容易的,加油,努力!相信自己!
🟡文末福利
- 最后这里免费分享给大家一份Python全套学习资料,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
🔴包含编程资料、学习路线图、源代码、软件安装包等!
- ① Python所有方向的学习路线图,清楚各个方向要学什么东西
- ② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
- ③ 100多个Python实战案例,学习不再是只会理论
- ④ 华为出品独家Python漫画教程,手机也能学习
