玩了Hacknet,你真的成为黑客了吗

maxresdefault

前几天基友送我了一款游戏,叫做Hacknet,黑客模拟器。游戏讲述的是一名黑客Bit死亡后,将操作系统Hacknet OS托付给了我,我要做的就是出入各种黑客组织,将Bit的死因查明,在这过程中你的能力会不断变强,从最初的连接,端口扫描,到后来的过载代理服务器,破解防火墙。整个游戏更像是一个终端模拟器,命令是Linux风格,玩家使用命令来进行操作,是一款非常Geek向的游戏。

较真的玩家可能要问了,这个游戏做的那么高大上,几乎都没有图形界面,在显示生活中,想要入侵一台计算机,真的就像游戏里那样吗,这个游戏中的套路,在现实中同样存在吗?

那么这篇文章我将会顺着游戏的套路,结合现实生活,入侵一台计算机,看一看这个游戏是否真实,又做出了什么简化。

概况

在这篇文章中我将会操作一台搭载Linux Mint的电脑,去入侵局域网中的一台Windows XP主机。这台Windows XP我将使用虚拟机代替(找两台电脑中太麻烦了)。

 

扫描与嗅探

在游戏一开始,玩家学会了scan指令,通过这个指令,可以获取网络中的所有计算机IP地址,然后使用probe指令,对需要攻击的计算机(Target Machine)进行分析,看看目标主机的端口状况(想偷你家东西总得知道你家的住址和大门的位置吧)。

就像上图,对145.18.219.187执行了probe指令,发现机器拥有四个端口,80,25,21,22。 这些端口与现实中一样,80端口常用于当做HTTP服务端口,你能看到这个文章,是通过服务器的80端口传输数据的。
25 SMTP (Simple Mail Transfer Protocol)为邮件传输端口。
21为FTP(File Transfer Protocol),文件传输协议,用于服务器的文件上传与下载
22为SSH端口。一般用于与服务器交互

那么先说下真实环境中的情况吧,下图就是我的网络环境,我的电脑地址为172.20.10.5,同一局域网中有一台Windows XP,地址为172.20.10.6

在现实生活中,想要进行嗅探和端口扫描,可以使用NmapNmap是一款网络扫描和主机检测的非常有用的工具。可以用来扫描网络中的主机,并且查看主机开放的接口,当然Nmap也有更高级的应用,总而言之非常强大。

那么再终端中输入 nmap 172.20.10.6就可以对目标计算机进行端口扫描了。就像游戏中的probe指令一样。

扫描结束后,发现目标的Windows XP主机开放了 135,139,445端口。

攻击(Exploit)

在游戏中,想要破解22端口,21端口,只要相应执行SSHcrack 22FTPBounce 21即可。这其实是我们通过分析,发现22和21端口刚好是开启状态,所以可以破解。端口就像现实生活中的门一样,主人有钥匙可以随便进出房子,贼没有钥匙就进不去,但是要是真的想偷东西还是得在门上做文章,总不能去砸墙吧,多麻烦。

 

在真实情况下,目标计算机开放了,135,139,445端口。那么应该怎么做呢,SSHcrack和FTPBounce在现实中是不存在的,想要破解端口,一般是因为这个端口与操作系统中存在漏洞导致的。这就得看经验了,如果前些日子看过新闻,那么一定会对445端口留下极为深刻的印象。

永恒之蓝事件 (Eternal Blue )

前些日子,因为永恒之蓝漏洞造成了勒索病毒的大爆发,多少人因为这个丢了论文和资料。之后有教程说是要关闭455端口。

勒索病毒就是利用了永恒之蓝漏洞使用Windows网络共享协议(SMB服务)进行攻击传播的蠕虫恶意代码的。在之后的日子,微软推送了MS17-010补丁对永恒之蓝进行修复。

既然目标主机使用的是刚装好的Windows XP,那么肯定没有安装这个补丁,所以可以从这里下手。

渗透测试工具Metasploit

这个工具就是游戏中破解端口的翻版,Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。

我将会用Metasploit对目标主机进行攻击。

Metasploit的数据库中带有永恒之蓝漏洞,输入search ms17_010 查找一下

我选择使用最后一个ms_17_010_psexec进行攻击
输入 use exploit/windows/smb/ms_17_010_psexec
然后输入set RHOST 172.20.10.6 来选择目标主机

最后输入exploit
如果那台机器没有防火墙并且真的存在这个漏洞,那么你已经取得了那台机器的控制权

 

取得控制权

在游戏中,破解一定数量的端口后执行PortHack即可完成入侵

 

在现实世界,通过刚才的操作之后就可以对目标主机进行任何操作啦

和游戏中一样,使用ls指令列出文件:
输入 ls C:\ 列出C盘的文件

预先在XP的桌面上我创建了一个PASSWORD.txt文件,现在试着用cat命令读取一下内容:

可以任意的上传与下载目标机器上的文件

取得Shell

游戏中还有一个关键的词汇叫做Shell,Shell是真实的词汇,是外部与系统内核进行交互的方式。有命令式的,就像Mac和Linux的终端,Windows的CMD命令行。也有图形式的,就像Windows的资源管理器(Microsoft Explorer)。

取得了Shell之后,操作系统就归你了,你已经可以实现正常使用者所有的操作,在游戏中,玩家会操作自己的肉鸡们去过载别人的代理服务器。

在meterpreter中输入shell就可以取得目标主机的shell,在shell中打的所有指令都是在目标机器上执行的。

试着执行systeminfo指令看看和目标机器上一样不一样

 

还可以进行很多有意思的操作,比如在系统上添加一个名为Mike的管理员用户(初中时候管得严不让玩电脑,所以经常使用这个指令偷偷在家里人电脑上创个账户然后打游戏),使用net user的相关命令:

执行成功后用户就被添加进去了:

 

还可以去关掉别人的电脑啊:

 

尾巴

那么回到最初的问题,这么有工程师情怀的游戏,我们能够从中学到什么,是否真的可以成为黑客。相信大部分人心里已经有答案了。
我的答案是,能够学到的知识很少,在游戏中所有的指令都是出自Linux,但是每一条指令的使用被大大的简化,为了降低游戏的难度提升游戏性。
关于黑客,我的答案也是否定的,即使我在上面的文章中行如流水的入侵了一台Windows XP,我依然不能被称之为黑客,我只是一个普通的App开发者。在上面,漏洞不是我找的,我甚至不知道永恒之蓝的原理,入侵的工具也不是我写的,我只是用了下别人写好的。这种拿着别人现成的工具来攻击别人的计算机的人,被称为脚本小子,只是沾沾自喜的初学者,想要真正的熟悉网络安全,还有很长的路要走。
当然,游戏是个好游戏,音乐很符合环境,难度适中,玩过之后会有很大的成就感。想要体验一下电影中黑客那些风骚的电脑操作,不妨去体验一下这款游戏。

本文章首发于Miketech,作者周毅刚,请勿私自转载。

 

 

打赏

Leave a Reply

Your email address will not be published. Required fields are marked *