前言
Hack The Box是一个非常完备的渗透测试训练靶场,比较接近于实战,许多机器存在不小的难度。不过美中不足的一是会员价格太贵,二是需要通过VPN接入实验网络,然而国内连接实在是有点慢,特别是晚上网络高峰期,各种连接失败不在话下。
这两天玩了Traverxec这台靶机,相较而言是一个很简单的机器了,但是也学到了不少东西。
Step 1:扫描
第一步当然是常规的Nmap扫描:
可以看到靶机只开放了22和80两个端口。
Step 2:渗透
从Nmap扫描结果来看80端口开放的是Nostromo 1.9.6服务,网站页面本身并不能找到什么可以利用的漏洞。
emmm,David是个信息点。
Web界面上找不到什么好玩的东西了,既然我们有了Nostromo的具体版本号,那就去搜索一下有没有可以利用的漏洞:
不搜不知道,一搜吓一跳,第一条就是最喜欢的远程命令执行漏洞。下面给出EXP:
1 | #!/usr/bin/env python |
运行脚本即可获得反弹shell:
显然得到的是一个非交互shell,通过熟悉的命令可得到交互式shell,不熟悉的可以去看我之前DC系列靶机的Write-Ups。
Step 3:突破
此时在目录下可以找到Nostromo服务的配置文件:
在配置文件中发现存在Public文件夹public_www。但是尝试进入/home/david文件夹后提示权限禁止。
于是不管这一层,直接进入public_www文件夹:
果然在这个文件夹里发现了好东西,看名字就是ssh的登录凭证,后面的思路一下就有了。但是有个问题,怎么把这个文件下载到本地呢?
巧妙的通过base方法即可实现该文件的下载,快拿小本本记一下。解压这个文件,果然是ssh登录凭证。
但是尝试通过这个凭证登录时提示需要使用凭证的密码,这时候只有通过john工具来暴力破解了。这里对这种方法有详细的解释。
这样我们就得到了ssh凭证的密码:hunter。结合Web页面得到的david信息点,我们通过ssh登录靶机:
Step 4:提权
我们已经以david的身份登录了靶机,下一步就是尝试提权获取靶机root权限。在当前文件夹下发现一个奇怪的目录bin,进去之后看到一个服务的脚本,好奇心促使我看了一眼:
果然有猫腻,这个服务居然有root权限。ok,轻松提权:
至此,这个靶机算是完全被我们掌控。