这一次的靶机难度为中等难度,有所提升,以黑客帝国电影为背景,有点中二,感兴趣可以自行下载研究,下载连接如下:https://download.vulnhub.com/matrix/Machine_Matrix_v3.ova
靶机环境为自动获取IP,第一步先要找到靶机的IP,可以在路由器的dhcp列表里找,也可以扫描,方法很多,达到目的就好。
找到IP之后,依然是nmap扫描,目标开放了80,6464和7331三个端口,6464为ssh服务,7331为web服务。
浏览器打开如下的网页,提示“Follow the white rabbit”,黑客帝国的剧情,这里可以肯定兔子是线索了,在页面下方看到了一个很小的兔子图片。想必就是线索了。
查看网页源代码,兔子图片的链接应该是个提示。
把图片研究了一遍,没有发现隐写信息,看来图片本身与线索没关系,在URL后面加上Matrix,打开了新世界的大门,有一堆链接,任意一个链接点击后会跳转到另一个页面,依然是链接。
根据字母来组合,neo64找到了有用内容(黑客帝国主角叫neo,作者为所在的组织名缩写为ud64,猜测后面两个数字为64)。
果然打开的页面中有一个名为secret.gz的文件可以下载。我天真的一位这是个压缩文件,尝试解压缩提示格式不正确,查看一下文件类型,发现这只是一个文本文件,被作者耍了,直接cat就可以读取内容,其内容貌似是一个用户名和hash后的密码。
利用john破解后,明文密码为“passwd”。
利用这个用户尝试ssh,失败,看来不是ssh用户。
利用浏览器访问7331端口,提示需要认证,利用上一步得到的用户名密码成功登陆,打开了另一个页面。
在页面和源代码中没有找到其他线索,尝试利用dirb对路径进行扫描,寻找突破口,这里发现有个data的路径可以访问。
打开页面后有一个名为data的文件可以下载,查看文件类型为windows下的可执行程序。
放到windows下没有执行成功。
不再尝试执行,直接利用IDA pro进行反汇编查看代码。从中找到了一个guest用户和密码。
利用guest成功ssh到靶机。
不过这个shell只能执行几个简单的命令,需要想办法绕过,找到sh或bash的shell。
利用vi执行/bin/sh,拿到sh shell。
利用export修改环境变量,执行/usr/bin/bash拿到bash shell,这样就有了功能完全的shell了。
用find找一下有没有可以用来提权的文件,并没有什么卵用。
看sudo -l,这个用户可以不用密码利用root身份去运行一个特定的文件。利用trinity这个用户身份还可以执行cp命令,看来这是突破口了。
利用cp将bash复制到root可以执行的文件位置,失败(就说肯定不会这么简单嘛)。
利用ssh-keygen生成一个密钥,准备给trinity用。
查看一下sshd的配置文件,可以看到开着pubkey认证,并且密钥保存在.ssh/authorized_keys,下一步就把我们生成的密钥放到trinity用户目录下就行了。
把刚生成的id_rsa.pub权限修改为777,让非guest的用户也有执行权限,然后利用trinity身份的cp命令将这个文件复制到trinity/.ssh/authorized_keys。
然后用triniry这个用户ssh登陆靶机,成功拿到了trinity的shell。
trinity用户sudo -l可以看到这个用户不用密码就能以root身份执行triniry目录下的oracle,实际上没有这个文件,那就好办了,直接把/usr/bin/bash复制过来,命名为oracle,以root身份执行,就可以拿到root shell了。
复制忘了截图
,这些都不重要,重要的是加上执行权限后,sudo执行,成功拿到了root shell。
root目录下成功找到了flag。