网络攻防(一):MoneyBox靶机萌新全流程详细攻略

咕咕两个月,这是保研季后的第一篇博客。尽管考核还没有完全结束,但人已经飘起来了~

大四的想法就是:选自己以前感兴趣但一直没机会选的课,以及退选有期末考试的课。所以课程补选系统的bug一修复,我便选了期待已久的《网络攻防实战》。然而还是错过了第一次课,群文件的PPT里只说了“熟悉Kali Linux、尝试靶机渗透”,也不知道老师上课的时候进行了什么实操,我只得一点点摸索了……(当然可以问老师上课讲了什么,但我捣鼓着就发现好像不用问了~)

阅读本文只需要Linux基础和计算机网络知识,不需要任何网络安全和网络攻防的前置知识,一点都不需要。因为笔者就没有任何相关经验,硬靠STFW、RTFM和玩Linux带来的直觉完成的。

1. 实验概况

老师在NJU Box上传了Kali Linux攻击机和靶机的磁盘镜像,以及VirtualBox的安装程序。

这里直接给MoneyBox的原链接吧!https://www.vulnhub.com/entry/moneybox-1,653/

靶机启动后是这样的。

呃,我下意识想问这玩意的账户和密码是多少,进去配置环境,搭好网络,准备实验呗。但是本着“提问的智慧”的原则,我决定先了解一下什么叫“靶机渗透”。

然后,我发现我太天真了。登录靶机不是配置实验环境,而是本次实验的内容。(网安老司机勿喷,本文主要面向网安完全零基础萌新)

2. 环境配置

为了开始实验,需要让攻击机能连上靶机,这把它们放在同一个子网就行,没有理解上的难度,所以在此不画拓扑图。

为此我们在VirtualBox中创建一个Host-only的虚拟网络,如图所示:

找到“主机网络管理器”(怎么找自己去STFW啦),点击创建,就会产生一个虚拟适配器。确保DHCP服务器开启,其他的均保持默认,确认后关闭就行。

接下来前往“设置”,配置靶机和Kali的网络。它们的网卡1都设为Host-only模式,连接到上面产生的虚拟适配器,这样就连到同一网络了;再给Kali的网卡2配一个NAT模式,这样如果需要下载什么工具,还可以通过Host连接到因特网。下面是靶机的配置:

在Kali上验证配置:

eth0连接到虚拟网络,CIDR地址为192.168.251.4/24。用nmap,或者netdiscover工具完成子网的嗅探:

nmap
netdiscover

netdiscover的嗅探结果给出了网络中其它各设备的MAC地址,我们将其和上面网络配置截图中靶机的MAC地址相比对,发现正是此人!而nmap的端口分析结果更是印证了这一点。说明环境配置成功了。

3. 初步分析

先获取靶机各端口的详细信息:

漂亮滴很呐(赞赏

ftp和http端口似乎都是好办的,先进去看看有没有值得分析的信息。

3.1. FTP

靶机提供的FTP可以通过匿名登陆来访问文件。很简单,用户名输入anonymous就好了,密码随便输一个。进去把jpg文件下载下来。

来看看什么照片:

是一只希望实现HACK THE PLANET的王道征途的极霸猫

先放着。

3.2. HTTP

在浏览器输入IP地址,看到:

真的很Simple,源代码里啥也没有。

4. 突破第一道防线——SSH

很多东西确实很难想到,只有看了很多靶机渗透的文章之后才有了一点点感觉。

4.1. HTTP网站分析

如果不是STFW我都不知道还能有这么NB的工具存在。不难理解,但就是好用

到底说Kali学得好,牢饭吃到饱,Kali自带的hack工具真有两下子的

点进第三个扫描出来的blog网站看一看:

有一个秘密目录叫S3cr3t-T3xt,那这dirb肯定扫描不出来的吧?只能手动输入看看

正所谓“此地无银三百两”。这个3xtr4ctd4t4,说成人类的语言,不就是extractdata吗?那么……联系到一些渗透测试中对图片的处理,说明图片里还有没拿到的信息!

4.2. 图片分析

我想到有用的信息会不会藏在元数据里?于是我把它扔到这个网站上分析:

没有发现任何有用的东西。

在STFW的过程中,我发现一种叫“隐写”的东西。那想必有用的信息隐写进去了吧!这样STFW就更有方向了。我迅速锁定了几款工具:

啥也没有
又寄

这下小黑子露出鸡脚了吧!输入上一节找到的密文,数据提取成功!

有两下子,有四下子,有八下子!

4.3. SSH爆破

原来是一个叫做renu的可怜家伙被骇了。既然说密码很弱,得益于STFW的经验,用hydra直接爆破!

但是一查hydra的使用方法,这参数数量把我打懵了

继续STFW,我最终选择用hydra的GUI版本来破解。手动指定目标、端口、协议、用户名,然后STFW发现/usr/share下就可以找到很多常用密码本,选择一个作为爆破范围;启动16线程,开始爆破。

5. 突破第二道防线——root

既然已经获取了机器的登录权限,那下一步肯定是要夺取机器的掌控权限了。迫不及待地输入sudo,结果当然啥也没得到。就知道root权限是不可能给这么粗心的小子的。

5.1. 地毯式排查,不留一处死角

bash环境相关的文件都搜查了一遍,没有什么特别的东西。ftp文件夹里只有那一张图片,说明FTP大概没有其它信息可以挖掘了。user1.txt写了一个flag。还检查了/var/www/html下的资源,发现全是静态HTML,那也应该是没有任何新东西了……

看看还有别的用户吗?真有,但最糟糕的在于竟然还能直接cd进去看到内容……

又发现一个flag。那会不会还有别的flag?我尝试用fgrep进行全局搜索,在此期间顺便尝试用hydra爆破lily和root的密码,但最后都没有结果。

这时我随手看了下.ssh文件夹的内容。作为一个熟练配环境的人,看到下面这一幕,我很敏感地嗅到了危险的味道。

看一下内容,果然

renu的公钥放在了lily的信任列表里,这意味着从renu账户可以免密登录lily了!

5.2. 跳板,提权

进入lily的账户,我们看看lily是不是能做些什么。

sudo竟然可以以NOPASSWD来运行perl!尽管我们不知道lily的密码,但能直接以root权限运行perl。即便不知道perl是什么,man一下,也就差不多明白,整个root权限已经在我们手上了。

highlight: it’s good at system management tasks

接下来目标就是:创建一个能启动bash的perl脚本,然后以sudo perl运行之。

6. 恭喜通关

进入root、命令提示符变成灰色的那一瞬间,整个人感觉都升华了。零CTF经验,连第一节实验课老师的操作都没看到,全靠STFW、RTFM、直觉和详尽的探索干掉在新手村第一个Lab的感觉,可与在Arcaea练习一年半后拿到双星的感觉相媲美。

发表评论

您的电子邮箱地址不会被公开。