1. 为什么现在学"黑客技术",第一课必须是"合法"
你要是现在打开搜索引擎,输入"黑客技术"四个字,大概率会看到一堆让人热血上头的东西:破解软件、入侵手机、群控设备、绕过验证……说句实在话,我入行网络安全这么多年,最怕看到的就是有人因为这类内容误入歧途。今天这篇内容,我想认真聊聊真正的黑客技术应该怎么学,以及有哪些平台既能让你练出真本事,又踩不到法律红线。
先说一个很多人都没想明白的点:真正的"黑客技术",在行业里有一个更准确的名字——安全测试,或者叫渗透测试。它的核心不是"搞破坏",而是站在攻击者的视角,去发现系统里可以被突破的地方,然后推动修复。听起来很简单,但做到合法合规需要一条明确的边界:你只能测试那些被授权测试的目标。靶场平台、比赛系统、自己的虚拟机,这些是合法目标;别人的服务器、手机、Wi-Fi,不管技术多炫,一旦没授权,就是另一回事了。
我在培训新人的时候一直强调:学安全的第一课不是Nmap,不是SQL注入,而是建立"授权意识"。你脑子里得装一个开关,任何时候动手之前先问一句——这台设备、这个系统,我有没有资格去测试?如果没有,那就停手。这不是胆小,这是这一行的职业底线。很多初学朋友不理解,觉得"技术是中立的",但法律看的不是技术,是行为。未授权的扫描、利用、提权,在任何法治环境里都可能构成违法,轻则罚款,重则面临刑事责任。
所以,靠谱的学习方式从来只有一个:在平台方给你搭好的合法靶场里,自由地、反复地练。这些靶场的本质是有意布置的"训练场",里面的漏洞是故意存在的,你打坏了也没关系。本文要拆解的这7个平台,全部走的是这条路。它们覆盖了Web漏洞、Linux提权、CTF竞赛、完整渗透流程等几乎所有入门需要的场景,而且从零基础到进阶都有对应的位置。接下来我一个个说,全是实际使用过的感受。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 七个合法学习平台,我从实际使用角度逐个拆
这一章是全文重点。我选平台的逻辑很简单:必须真正能动手、必须有从易到难的梯度、必须有自己的社区或教学体系。市面上打着"黑客训练"旗号的东西很多,真正值得投入时间的,我认为是下面这7个。
2.1 TryHackMe——零基础最不容易劝退的入口
TryHackMe(简称THM)是我给完全零基础的人推荐的首选。这个平台最大的特点是你不需要在本地搭任何环境,打开浏览器,它直接给你分配一台虚拟机和一套任务。你跟着引导走就行,整个体验特别像打游戏闯关。
它的核心单元叫"房间"(Room),每个房间围绕一个主题,比如"Linux基础""网络协议""密码学入门"。每个房间里又拆成一个个小任务:先读一小段教程,然后在旁边的虚拟机上敲几条命令,找到正确答案填进去。这个设计很聪明,它把"知识输入"和"动手验证"绑在了一起,你永远不会出现"看懂了但不会用"的情况。
THM最值得用的一块是它的学习路径(Path),尤其推荐其中的"Pre Security"和"Complete Beginner"两条。前者补的是计算机网络、操作系统、系统管理这些地基知识;后者直接带你走一遍攻击者的完整思路,从信息收集到提权全部安排得明明白白。免费账号能访问不少内容,付费账号可以拿到完整路径和更多机器,我建议你先用免费的走完一半,确定自己真的喜欢,再考虑付费。
对于英语不太好的朋友,THM的界面和教程是英文的,但你不需要一开始就全部看懂——遇到不认识的术语就翻译一下,边查边学,这个过程本身也是安全从业者的基本功:大量一手资料都是英文,翻词典的能力真的很重要。
2.2 Hack The Box——适合完成基础学习之后的进阶靶场
Hack The Box(HTB)的名气在圈子里很大,很多人的目标就是把它刷穿。和TryHackMe不同,HTB的机器几乎不给提示,你拿到一台机器,只知道IP地址,剩下全靠自己:扫描端口、找漏洞、拿权限、提权、拿flag。这种"模拟真实环境"的体验是THM没有的,但也正因如此,它不适合纯零基础的人当作第一个平台。
我的建议是:先把THM的Beginner路径走完,至少能做到独立完成THM里中等难度的攻击型房间,再碰HTB。上了HTB以后,从Easy的Linux机器开始,先别碰Hard和Insane。还记得我自己第一次打通Easy机器时用了差不多九个小时,事后看writeup发现绕了一段远路,但那个过程把Nmap端口枚举、目录扫描、漏洞利用全都串起来了。这种"自己撞墙再自己爬出来"的经验,恰恰是靶场最大的价值。
HTB还有一个学院(Academy)模块,里面有比较系统的付费课程,适合想补具体知识的阶段。它的积分和等级体系也很能激励人,看着自己的排名一点点涨,那种成就感会推着你走下去。不过注意:HTB的难度曲线确实陡,卡壳是常态,不要因为一台机器没打出来就否定自己,你不是不适合,你只是还没习惯它的节奏。
2.3 PortSwigger Web Security Academy——Web漏洞的免费教科书
如果方向锁定在Web安全,那我心里排第一的免费资源就是PortSwigger Web Security Academy。PortSwigger本身就是Burp Suite的开发商,它们做的这套教学系统,我觉得比市面上绝大多数付费课程都良心。
为什么这么说?首先,它覆盖的漏洞类型极全:SQL注入、XSS、CSRF、SSRF、文件上传、反序列化、越权等等,基本把OWASP Top 10和常见Web漏洞全部囊括。其次,每个漏洞都配有从易到难的可交互实验(Lab),你直接在网页上就能完成攻击,不需要自己搭环境。这种设计就像把教科书变成了实验室,你一边读概念一边就能验证,记忆会特别深。
我强烈建议的学习方法是:选择一个漏洞专题,比如SQL注入,先完整读一遍它的讲解文章,了解原理,然后从Apprentice难度的lab开始做,一个个递增。做lab时配合Burp Suite社区版,拦截请求、观察数据包、修改参数。你一旦习惯了用Burp的视角去看Web请求,很多漏洞的原理会变得特别直观。
还有一个很大的优势:Web Security Academy完全免费,不需要付费解锁任何内容。它的lab数量足够你练好几个月,对预算有限的人来说是不可多得的优质资源。
2.4 PicoCTF——用闯关比赛把知识串起来
PicoCTF是卡内基梅隆大学举办的CTF(Capture The Flag)竞赛,但它的厉害之处不只是竞赛本身,而是它全年开放的题库——PicoGym。题目从简单的base64解码、二进制算术,到复杂的Web利用、逆向工程都有,难度梯度做得极好。
很多人一听到CTF就害怕,觉得那是顶级战队的世界,但PicoCTF恰恰是为学生和新手设计的。它还有一个很突出的特点:题目里充满了彩蛋和幽默感,做起来不像做题,更像解谜游戏。比如有一类题是给你一张图片,你需要从里面的文件尾部分离出隐藏信息,做完之后你才会发现原来取证分析这么有趣。
我认为PicoCTF最合适的用法,是在你完成THM和PortSwigger的一部分之后,用它来做"综合测试"。因为CTF题目往往混合了多个知识点:某个Web题既需要你读懂代码,又要会用工具抓包,还要懂一点密码学。这种综合性和靶场机器很像,但单题时间短,特别适合碎片化练习。
当你做出一道题,建议把它写成一篇writeup,也就是解题报告。哪怕只是发在笔记软件里自己也行,关键是梳理一遍"我怎么想到这个思路的"以及"为什么卡住了"。我身边不少朋友写writeup写多了,面试讲项目经验时根本不用临时编,直接拿这些题目当案例讲,说服力很足。
2.5 OverTheWire Bandit——补上Linux命令行这块肌肉记忆
OverTheWire是一个提供在线"战争游戏"(Wargame)的老牌平台,其中最出名的是第一关游戏Bandit。它的玩法非常纯粹:你用SSH连接一台远程服务器,每一关都需要你利用Linux命令找到一个密码,然后用这个密码进入下一关。
一共30多关,从最简单的ls、cd、cat开始,到后面会用到find、grep、awk、权限设置、临时文件、编码转换等。它的门槛极低,但也极容易卡住——我见过很多人第一关就不知道怎么把SSH端口指过去,因为口令里明明写着"Port 2220",还是会默认连22端口。
我之所以把它排在路径这么前面的位置,是因为很多新手在打HTB或THM时,不是漏洞思路不行,而是命令不熟。看到find / -perm -4000这类命令就懵,根本不知道在干嘛。Bandit就是解决这个问题的:它逼着你去查命令、读文档、在真实环境下试错,把这些基础操作练成肌肉记忆。等你打完Bandit,再去面对HTB的机器,至少不会卡在"怎么看不到文件内容"这种问题上。
值得提醒的是,Bandit没有详细讲解,它默认你应该会自己查man帮助,这其实才是真实工作里的常态。被它虐过之后,你会明白"查文档"绝对是安全工程师的核心技能之一。
2.6 VulnHub——本地虚拟机里的完整渗透演练场
前面介绍的几个平台基本都是在线靶场,而VulnHub走的是另一条路:它提供各种故意配置得非常脆弱的虚拟机镜像,你下载下来,导入到VMware或VirtualBox里,在本地构成一个完全属于你的渗透试验场。
在VulnHub上,你会扮演真正的攻击者:先用自己的机器(通常建议用Kali Linux)对靶机做扫描,然后通过Web服务、弱口令、系统漏洞等进入系统,一步步提升权限,最终拿下root。整个过程的自由度比在线靶场大得多,没有平台的规则限制你用什么工具、走什么路径。你可以把这里当成一次"开卷考试"——答案不唯一,全靠你已有的知识去探索。
我建议新手从像Kioptrix Level 1这样的老牌入门镜像开始,它的难度很低,网上有大量中文和英文writeup可以参照。等你能独立打通两三个简单镜像后,再挑战难度高一些的,比如HackTheBox的一些离线镜像或者VulnHub的热门机器。
不过要提醒一点:VulnHub需要你的电脑性能稍微过得去,因为它要同时跑攻击机和靶机两个虚拟机,内存如果只有8G会比较吃力,建议至少16G内存。另外,玩VulnHub时,一定要看好每个镜像的说明,确认你下载的是官方提供的有意存在漏洞的靶机,而不是某个失误泄漏出来的敏感系统。
2.7 OWASP Juice Shop——一杯咖啡就能开起来的现代Web靶场
OWASP Juice Shop是OWASP官方维护的一个"现代Web应用程序靶场",它最大的优势是极度接近当今真实的业务系统:一个完整的购物网站,有用户注册、登录、商品搜索、评论、订单、优惠券等多到讲不完的功能模块。而这个看似普通的网站上,几乎藏着OWASP Top 10里的每一个漏洞。
它的另一个优点是部署极其简单。只要你的机器上有Docker,一条命令就起了一个本地靶场:
bash复制docker run -d -p 3000:3000 bkimminich/juice-shop
然后打开浏览器访问http://localhost:3000,就可以开始挑战。里面内置了挑战计分板,每当你成功完成一个漏洞利用(比如通过注入拿到某个隐藏文件),它的计分板就会打钩,很像Steam成就系统。
Juice Shop尤其适合两类人:一类是已经学过Web漏洞理论但想在真实应用上练手的人;另一类是开发背景出身、想理解"漏洞是怎么在业务里发生的"的人。你可以在里面尝试多种漏洞组合,完全不用担心把系统玩坏,因为它的设计初衷就是让你玩坏的。
同类的还有OWASP WebGoat,但界面比较老,体验不如Juice Shop丝滑。如果你选一个自建靶场,我个人强烈推荐Juice Shop。
3. 零基础学习路径:按这条顺序走,少走三个月弯路
很多人失败不是因为不努力,而是因为顺序错了。平台本身没有绝对的好坏,但你一上来就打开HTB的Hard机器,那和让小学生做高考卷子没有区别。我根据多年带人的经验,把一个比较稳妥的路径拆成了四个阶段,你可以照搬,也可以根据自己的节奏调整。
3.1 先定方向,再定工具
很多人学安全的第一步是"装Kali Linux",然后四处找工具教程。这个做法在前期当然不算错,但很容易陷入"工具背诵综合症"——会敲几条命令,但不知道命令背后的原理是什么。我建议你先停一下,想一个问题:你想走哪个方向?
网络安全领域大致可以分成Web安全、二进制逆向、红队渗透、蓝队防御、取证分析等。我的看法是,零基础起步阶段不要选得太细,先用"渗透测试入门"这根主线把所有基础串起来。因为无论你最终做什么方向,网络协议、操作系统、Web请求这几个地基都是绕不开的。等你把这些基础打扎实了,再往任何一个细分方向发展都来得及。
所以下面的路径,核心目标也不是把你培养成什么"顶级黑客",而是让你建立一套完整的安全知识框架,并具备独立去打靶场机器的能力。
3.2 四阶段学习路径拆解
我整理了一个表格,方便你把每个平台放到正确的位置上:
| 阶段 | 时间安排 | 主要平台 | 学习目标 |
|---|---|---|---|
| 第一阶段 | 第1到第4周 | TryHackMe(Pre Security / Complete Beginner) | 补网络、Linux、系统基础 |
| 第二阶段 | 第4到第8周 | PortSwigger Web Security Academy | 吃透Web漏洞原理,完成基础lab |
| 第三阶段 | 第8到第12周 | Hack The Box(Easy) + VulnHub | 培养独立渗透思路,完整打完整台机器 |
| 第四阶段 | 第12周以后 | PicoCTF + 持续打HTB/VulnHub | 综合复盘,积累writeup和实战经验 |
第一阶段:先用TryHackMe把地基打好。我特别推荐从"Pre Security"路径开始,它会告诉你网络是怎么通讯的、HTTP协议到底是怎么工作的、Windows和Linux系统的核心概念是什么。这阶段同时并行打OverTheWire Bandit的前10关,把基本命令练熟。
第二阶段:转到PortSwigger。我建议至少完整刷完SQL注入、XSS、越权访问这三块,每块至少要完成10个lab,从Apprentice难度顺利过渡到Practitioner难度。做到你看到"搜索框""ID参数""登录接口"这些地方,直觉性地会去思考"这里能不能注、能不能越权",第一阶段的抽象知识就开始变成真实能力了。
第三阶段:进入HTB和VulnHub。这时候你已经有了独立操作的底气,目标是在一个月内打通15到20台Easy难度的机器。切记,不是打通就完事了,而是把每台机器的思路记录成自己的笔记:用的什么端口、什么漏洞、怎么拿权限、怎么提权。如果你在HTB里遇到特别难啃的机器,可以转到VulnHub找一个同难度的镜像练练手,换换环境往往能换换思路。
第四阶段:开始系统刷PicoCTF,并把之前所有内容融会贯通。每周做两三道CTF题,遇到不会的就查资料、看writeup,然后整理成自己的解题手册。这个阶段你不用再追逐"打完多少台机器",而是要让自己的方法论越来越成体系:拿到一台机器,我怎么枚举、怎么梳理攻击面、怎么选择利用路径。
3.3 每天学多久、怎么复盘
很多人觉得学习安全需要大块时间,其实不然。我自己带过不少上班族朋友,每天挤出一个半小时,三个月也能有明显进展。关键在于怎么分配:建议前20分钟看新知识,后面70分钟全部用来动手操作,最后再留几分钟记录笔记和复盘。动手时间低于一半,学习效果会大打折扣。
复盘的方法是:每个lab或机器做完后,合上屏幕,尝试在白纸上画出整条攻击链路,从信息收集到目标拿下。画不出来就回去补,补完再画。这个过程会逼着你把"好像知道"升级成"真的掌握"。同时,把每一次卡壳的环节单独记下来,比如"我没想到查看robots.txt""我忽略了UDP端口扫描",下次打新机器之前先翻一翻,进步会特别明显。
4. 我在这些平台上踩过的坑
最后这部分没有鸡汤,只有教训。这些坑我自己踩过,我的学员也接二连三踩过,提前写出来,希望你能少花点冤枉时间。
4.1 平台不是越难越好
我见过太多人一上来就直奔HTB的Hard/Insane机器,结果死磕一天毫无进展,心态直接崩了。原因很简单:HTB的高级机器往往需要非常深的知识储备,不仅涉及复杂的利用链,还需要你对底层原理有足够理解。难度是进阶的阶梯,不是装点门面的勋章。先把Easy机器打通、把基础漏洞的原理吃透,比勉强看懂一篇Hard机器的writeup有用一百倍。学习路上的成就感来自"我能亲手打通一台机器",而不是"我看过一篇高级writeup"。
4.2 不要掉进"工具背诵"陷阱
"我背熟了Metasploit的所有模块,是不是就算入门了?"这是我最常被问到的问题之一。说实话,如果你只能照着教程输入命令,那还远远不够。因为真实的漏洞场景千变万化,工具只是把攻击动作打包成了自动化脚本,如果你不理解脚本背后到底做了什么——数据包怎么构造、为什么这个参数可以触发漏洞——那换个环境你就寸步难行。
我建议你每个平台练习时都给自己设一个灵魂拷问:"这个漏洞之所以存在,根源到底是哪一行代码、哪一个错误配置?"比如SQL注入,你能不能说出查询语句中单引号闭合的原理?比如越权,你知不知道为什么后端没有校验用户身份就返回了数据?能想明白这些,工具才真正被你掌握,而不是你被工具带着走。
4.3 你的账号和实战边界
在TryHackMe、HTB这些平台上,账号本身就有真实系统的意味。为了平台公平,多数平台都规定不能公开分享flag、不能共享writeup之外的解题答案,所以要遵守每个平台的使用条款。另外一定要保存好账号密码、开启双重认证,不要因为装备齐全就满不在乎。
更关键的是那条红线:平台上的系统是授权给你测试的,但平台之外的任何真实系统都不是。哪怕只是跑一次Nmap扫描,在没有授权的情况下也是违规的。想成为这个领域的从业者,你要积累的不是"我黑过什么东西"的谈资,而是"我在合法靶场里做过哪些研究、写过哪些writeup、对哪些漏洞原理理解得很透彻"的成果。将来求职面试时,面试官想看的正是你分享的安全研究笔记和项目经验,而不是你在灰色地带留下的痕迹。
最后分享一个我自己的小习惯:在每个平台的主页上,给自己写一句目标,比如"这周打通两台HTB Easy"或"完成五个Burp lab"。每周六花十分钟复盘一次完成情况。这些看起来简单的小动作,坚持半年以后,你会发现自己的知识体系闭合了。网络安全这条路的迷人之处,恰恰在于它可以靠一次次的"合法突破"来累积真实的成就感,而这份成就感,干干净净,也扎扎实实。
