游客发表
《hackrun黑客入侵》这游戏我断断续续玩了三个晚上。客入第一关就卡了四十分钟——不是客入因为它难,是客入我压根没意识到自己在用一台虚拟终端去黑一个虚拟服务器。屏幕上跳出一行字:connect 192.168.1.7。客入我盯着那串IP地址,客入手指悬在键盘上,客入像第一次摸到真家伙。客入
这游戏没什么图形界面。客入黑底绿字,客入光标闪得人发慌。客入你得自己敲命令,客入猜密码,客入翻目录,客入找配置文件。客入有一关要破解一个员工的客入邮箱,线索藏在他社交账号的宠物名字里。我翻了半天他的“动态”,发现他管自己的猫叫“Grendel”。试了两次,邮箱开了。里面躺着一封写给HR的投诉信,抱怨公司服务器密码三年没换。我当时就笑了——这游戏的设计者懂真实世界怎么运转。
但真正让我坐直的是第四关。目标是一台老旧的Linux服务器,开放了22端口。我按习惯先跑nmap -sV,结果扫出来一个没打补丁的OpenSSH 7.2。教程里没提这个版本有漏洞,但我记得CVE-2016-6210——用户名枚举。我试了三个常见账户,root、admin、test。test存在。然后我用hydra挂了个小字典,密码是“password123”。进去之后,整个文件系统摊在面前。那一刻我没觉得爽,反而有点发凉。因为我知道,现实里真有服务器长这样。
游戏里有个细节我特别喜欢。你每入侵一台机器,都会在本地留下一个.hackrun的隐藏文件,记录你的操作时间戳。如果你不清理,下一关的NPC会发邮件警告你:“我们注意到你的活动。”这种反馈机制比什么“任务完成”弹窗都管用。它逼你养成习惯——擦屁股比进门更重要。
玩到第七关的时候,我卡在了一个SQL注入点上。输入框过滤了单引号,但没过滤双引号。我试了" OR 1=1 --,页面报错。又试了" UNION SELECT null, table_name FROM information_schema.tables --,这次返回了一个表名:user_credentials。我盯着屏幕,突然想起自己以前做渗透测试时,也是这么一步步摸进后台的。游戏没教你任何新东西,它只是把真实流程压缩成十五分钟一关的节奏。
最后一关是黑进游戏自己的服务器。你得用前面所有关卡里收集的碎片——一个IP、一个端口、一个用户名、一段哈希——拼出最终入口。我花了两个小时,最后敲下ssh root@hackrun.io -p 2222的时候,手有点抖。密码是“Grendel”加一个下划线再加“2016”。进去了。屏幕上只显示一行字:You are now the admin. Delete the logs. 我打了rm -rf /var/log/*。然后游戏结束。
关掉窗口之后,我打开了自己的终端,跑了一遍last -20。没有陌生IP。又跑了一遍netstat -tulpn。一切正常。但我知道,这游戏真正教我的不是命令,是那种“每一步都留下痕迹”的警觉。它不吓唬你,不煽情,只是把一台没打补丁的服务器放在你面前,然后说:来,试试看。
现在偶尔看到新闻说某公司被拖库,我第一反应不是骂黑客,是猜他们的OpenSSH版本。这大概就是《hackrun》的后遗症——你没法再假装那些漏洞离你很远。
友情链接