HackNet¶
简介¶
《Hacknet》是一款以黑客为主题的模拟游戏,玩家将在其中体验成为黑客的过程。游戏背景设定在一位著名黑客意外去世后,玩家收到他遗留的程序信息,引导进入充满谜团与危险的网络世界。
在游戏中,玩家需要使用基于真实 UNIX 指令的黑客工具,逐步破解系统、获取信息,并揭开黑客去世背后的真相。同时,玩家还要确保 Hacknet 操作系统不被恶意黑客利用,防止其落入不法之徒手中。
游戏不仅考验玩家的逻辑思维和问题解决能力,还能让人感受到黑客世界的紧张与刺激。玩法相对逼真,能够让玩家接触真实的黑客技术,尽管是在虚拟环境中进行,却依旧提供沉浸式的黑客体验。
我于 8 月 24 日购买游戏,25 日通关,整体用了约 10 小时,算是比较快的进度。
如果以前从未接触过 UNIX 系统或类似游戏,可能会有一定的上手难度。
本文给出了较为详细的说明与解释,供读者参考。如有不理解的地方,可在本文下方留言。
阅读提示¶
本文大致分为 工具介绍 与 游戏步骤 两部分。
阅读时建议先大致浏览 系统介绍 与 新手教程,这样可以对游戏操作有一个初步认识。后续任务可自行在游戏中尝试解决,以加深记忆与理解。
完成任务后,可对照本文内容核对操作是否正确;若没有思路,也可参考本文。但请 确保对文章内容的理解,有不明之处请在下方留言,否则后续任务难度提升时,阅读体验会受影响。
系统介绍¶
界面布局¶
让我们先了解一下 Hacknet 的布局,如下图所示:

从左至右依次为:
- 内存区:在命令行或图形化界面打开的应用,例如笔记、ssh 破解等(每个窗口的大小即占用的内存大小,使用时若提示内存不足,可尝试关闭部分窗口)。
- 图形化窗口:连接到计算机后显示对应的操作界面。
- 网络地图:显示所有已知 IP 的计算机,每台计算机以圆点表示,颜色含义如下:
| 颜色 | 含义 |
|---|---|
| 绿色 | 你的计算机 |
| 暗蓝色 | 未被破解的计算机 |
| 亮蓝色 | 已被破解的计算机 |
| 白色 | 已连接的已破解计算机 |
| 红色 | 已连接的未破解计算机 |
| 黄色 | 高亮的计算机(可查看名称和 IP)或运行了 shell 的计算机 |
- 命令行:在此输入指令,所有图形化操作均可通过指令实现,部分操作只能使用指令。
命令行须知¶
本游戏中的命令行采用传统的设备控制方式。不同于常见的图形化界面,命令行没有鼠标点击操作,只能通过键入指令完成任务。
随着游戏推进,会出现越来越多的特殊指令。对于新出现的指令,本文会给出使用方法。
如果在教程中看到形如 [something] 的文本,表示该部分为占位符,方括号内的内容为作者撰写的关键字解释,在游戏中并无实际意义,需要替换为实际数据。例如:
示例:教程中出现
connect [需要连接的 IP 地址],使用时应改为connect 114.514.810.24(即将方括号内容替换为实际 IP)。
与多数 UNIX 系统类似,用户对指令或文件名无需输入完整,只需输入前缀并按下 Tab 键即可自动补全。
如果输入的前缀对应多个文件或指令,系统会提示所有可能的选项,如下图所示:

此处为作者输入 s 后按 Tab 键,系统给出的提示。不同玩家的进度不同,提示内容可能会有所差异。
新手教程¶
刚开始游戏时,左侧内存区会出现提示窗口,点击 continue(继续)按钮。
随后点击网络地图中的绿色节点,连接你的电脑(等价于在命令行中执行 connect [要连接的 IP 地址])。
连接后,图形化界面会显示目标计算机的信息,如下图所示:

接着点击图形化界面中的 扫描网络 按钮(在命令行中可使用 scan 指令)。
使用后会发现网络地图上出现一条细线,连接到另一个暗蓝色圆点(未破解的计算机)。
点击图形化界面中的 断开 按钮(等价于命令行中的 dc/disconnect)。
断开后,点击刚才扫描到的暗蓝色圆点以连接该计算机。
连接后,你会发现图形化界面和网络地图被锁定(因为教程要求你通过命令行操作,后续会自动解锁)。
同时,右侧的命令行窗口亮起,接下来我们将在这里执行指令。
首先使用 probe 命令(等价于图形化界面中的 检测系统)扫描计算机的开放端口数以及破解所需的端口数。
由于该计算机只需 0 个开放端口即可破解,直接使用 PortHack 命令进行破解。
执行后会弹出一个窗口,即 PortHack 程序,如下图所示:

窗口底部显示破解进度条,等待进度条走完后,你将获得该系统的管理员权限(图形化界面会出现蓝色横幅),即“破解”了该计算机(此处的“破解”指取得管理员权限)。
拥有管理员权限后,可使用 scan 指令扫描该计算机所连接的其他计算机。
如果一切正常,搜索结果应为空,如下图所示:

同时,你可以使用 ls 命令查看当前工作目录下的所有文件和文件夹(在根目录下相当于点击 查看文件系统 按钮)。
提示:
在 Hacknet 中,文件系统遵循 UNIX 设计,与 Windows 的分区概念不同。UNIX 只有一个根目录,所有文件都位于根目录下的子目录中,例如
home、bin、log等,可类比为 Windows 中的分区文件夹。
接下来,使用 cd Bin 进入根目录下的 Bin 文件夹。
如果已经进入该文件夹,图形化界面会显示相应的目录结构。
在 bin 目录下,你会看到一个文件 config.txt。
可以通过 cat [需要打开的文件名] 指令查看该文件内容,例如 cat config.txt。
在 log 目录下存储了该计算机的日志文件,记录了我们的连接与查看文件操作,并包含 IP 地址。为防止 IP 泄露,需在断开连接前删除所有日志文件。
使用 cd .. 返回上级目录(即根目录),然后 cd log 进入 log 目录,执行 rm * 删除所有文件(* 表示通配符,匹配所有文件)。
完成后即可断开连接,使用 dc 或 disconnect(等价于图形化界面中的 断开)进行断开。
至此,新手教程结束(吗?)。
若想退出新手教程,需要手动结束教程进程。首先使用 ps 命令查看当前运行的进程,例如:

可以看到 Tutorial 的 PID 为 155,使用 kill [PID](如 kill 155)结束该进程。
至此,新手教程真正结束。
入门¶
初次联系¶
完成新手教程后,你会收到一封来自 Bit 的邮件(可在窗口右上角打开邮箱)。
邮件中提到我们的电脑上有一个名为 SecurityTracer.exe 的追踪软件,需要将其删除。
在邮件的 Hacknet 操作指南 右侧有加号按钮,点击可将其添加到内存,如下图所示:

当内存不足时,可通过关闭笔记释放内存。
接下来,点击网络地图中的绿色节点进入我们的 PC。
可以使用 cd 与 ls 组合指令查找文件。
点击我查看文件位置
SecurityTracer.exe 在 bin 目录下
进入该目录后,使用 rm SecurityTracer.exe 删除追踪软件(在文件目录下可通过 Tab 键自动补全文件名,详见前文)。
随后打开邮箱,找到邮件 “初次联系”,点击下方的 回复 按键并发送,无需添加额外细节。
提示:第一篇写得较为详细,后续可能出现缩写,若不理解可回顾前文。
获取工具¶
邮件中告知我们需要破解作战基地的电脑并下载其中的破解工具。
邮件提供了作战基地的 IP 地址,可通过加号添加到网络地图。
点击连接新添加的作战基地,使用 probe 查看端口状态,随后使用 PortHack 破解。
点击我查看文件位置
SSHcrack.exe 在 bin 目录下
使用 scp SSHcrack.exe 下载该破解软件。
随后打开信箱,回复邮件。
初试牛刀¶
邮件中说明我们需要破解 Bitwise 测试 PC。
使用邮件提供的 IP 地址连接测试 PC。
使用 probe 查看端口状态,发现需要 1 个开放端口。可使用之前获取的 SSHcrack 进行破解,例如:
SSHcrack [ssh 端口号-通常为 22]
输入后会出现破解窗口:

等待所有数值归零后,即完成破解,随后使用 PortHack 完成最终破解。
破解后即可回复邮件。
善始善终¶
邮件指示我们删除 Bit 在一台电脑上留下的日志信息。
使用邮件提供的 IP 地址连接卧室电脑。
probe 查看端口信息,使用 SSHcrack 22 破解 SSH 端口,随后 PortHack 获取管理员权限。
使用 cd log 进入 log 目录,执行 rm * 删除所有文件。
回复邮件。
生涯起点¶
邮件告知我们需要进入 Entropy 的测试服务器并下载测试文件,同时提供了网络教育档案馆的 IP。
在测试服务器上运行 probe,发现该服务器存在代理,需要先让代理失效才能继续破解。
在网络教育档案馆的 Shells 与 代理服务器快速指南 中可查看具体原因,此处不作详细说明。
连接 2–3 台已破解的电脑(数量越多破解速度越快),在其上运行 Shell,运行后会在内存区出现一个小窗口,包含 过载、陷阱、关闭 三个按钮,如图:

只需使用 过载 即可解除代理。
连接到测试服务器后,先使用 probe 进入端口界面,然后点击内存区的 过载 按钮。
过载过程可通过 probe 界面看到,如下图所示的阴影部分:

等待代理变为绿色(即失效)后,使用 SSHcrack 22 与 PortHack 获取管理员权限。
获取权限后,查看文件系统,找到测试文件并使用 scp 下载:
查看文件路径
/home/Entropy_Induction_Test
查看下载文件指令
scp Entropy_Induction_Test
下载后会收到来自 Entropy 的邮件。
任务完成¶
邮件指示我们入侵 Slash‑Bot 新闻网并使其瘫痪,提供了新闻网的 IP。
连接新闻网后,依次使用 probe、过载、SSHcrack 22、PortHack 完成连招,获取管理员权限。
获得权限后,可查看文件系统并尝试破坏。例如:
查看提示文件
在 /MsgBoard 下有一个文件 Config_CAUTION.txt,尝试查看文件内容
查看提示文件
在 /MsgBoard 使用 rm config.sys 删除该文件
删除后返回新闻界面,因致命错误导致页面无法显示,如下图所示:

回复邮件。
欢迎¶
邮件提供了资源服务器的 IP 与登录密码,可在资源服务器获取破解工具。
连接资源服务器并点击登录,登录后会显示用户信息,点击即可登录(若未出现,请确认是否已在邮件中点击加号)。

登录后,可在文件系统中搜索新工具,找到后使用 scp 下载到本地。
查看破解工具位置提示
不妨在 \bin 看看是否有新工具
查看如何下载破解工具
在 \bin 下使用 scp FTPBounce.exe
下载后即可直接使用 FTPBounce [FTP 端口号(通常为 21,可在 probe 中查看)] 爆破 FTP 端口。
可在之前的电脑上尝试,熟练后即可回复邮件。
Re: 欢迎¶
邮件提供了任务服务器的 IP 与登录账号,连接后即可登录并接取任务,如下图所示:

选择记录的用户信息登录。

进入后即可承接任务,点击想要承接的任务查看详情。

在详情页可查看任务具体信息并点击 Accept 承接任务。

该邮件无需回复。
Entropy 任务¶
Point Clicker¶
邮件中提供了游戏服务器的 IP 与要删除的用户名(笔记‑合同内容)。
连接服务器后,使用 probe 查看端口状态,发现需开放两个端口。
先使用 SSHcrack 22 爆破 SSH 端口,随后使用 FTPBounce 21 爆破 FTP 端口,完成后即可使用 PortHack 获取管理员权限。
使用 ls 查看文件夹,找到存档文件并使用 rm [文件名] 删除,例如:
查看存档位置
不妨在 /PointClicker/Saves 下寻找是否有以用户名命名的存档文件
查看删除指令
在 /PointClicker/Saves 下使用 rm Mengsk.pcsav
删除后即可回复邮件。
经典的反黑客攻击¶
邮件提供了市场公司服务器的 IP,需要删除其中的敏感信息。
邮件未明确文件名,需要自行寻找并删除。
使用 probe 查看端口状态,发现需开放两个端口且存在代理。
尝试使用 SSHcrack 与 FTPBounce 爆破端口,发现代理未关闭,无法继续。
解除代理的方法可在网络教育档案馆中查找,以下为简要说明:
查看解除代理的具体方法
在任意已获取管理员权限的计算机上运行 shell 命令,创建终端。终端窗口会显示 过载、陷阱、关闭 三个按钮。只需使用 过载 即可解除代理。

需要注意,运行过载的服务器越多,破解代理的速度越快。
若不确定能在倒计时前完成,可在倒计时结束前断开连接再重新连接。倒计时结束后会恢复,但已破解的端口不会消失。
代理失效后,使用 SSHcrack、FTPBounce 与 PortHack 三件套获取管理员权限。
随后在文件系统中寻找需要删除的敏感信息,使用 rm 删除:
查看文件位置
\home\WORKSPACE\SECURE_MAILLIST.dec
查看删除命令
在 \home\WORKSPACE\ 下使用 rm SECURE_MAILLIST.dec
完成后回复邮件。
重回学校¶
使用过载、SSHcrack 或 FTPBounce 与 PortHack 四件套获取管理员权限。
随后在文件系统中寻找密码(此处密码较为隐蔽,建议逐个文件检查)。
在 Hacknet 中,文件系统遵循 UNIX 设计,与 Windows 的分区概念不同。UNIX 只有一个根目录,所有文件都位于根目录下的子目录中,例如