先nmap一下:

 

 开放了22端口和80端口,从80端口的http服务入手,dirb一下没有找到什么有用的文件,直接访问看一看:

 

 

提示这儿是admin的登陆界面,username应该就是admin了,但是password没有任何提示,直接用hydra爆破试一下(-F表示爆破成功一次即停止,S等于的t是密码正确时的返回信息):

hydra -l admin -P /usr/share/wordlists/rockyou.txt 192.168.190.152 http-post-form "/login.php:username=^USER^&password=^PASS^:S=logout" -F

 

 爆破出用户名-密码为admin-happy,当然也可以使用burpsuite进行爆破。

登陆进去以后发现存在命令执行漏洞:

 

 先在本地3333端口进行监听,然后通过burpsuite截获数据包并对命令进行更改(nc -e用于程序重定向):

 

反弹shell成功:

 

 home目录下可以看到有三个用户:

 

 只有jim用户文件夹下有东西:

 

 在其中backups文件夹中发现有旧密码的备份:

 

 将old-password.txt传回kali(用nc),并且构造username.txt,内容为之前发现的三个用户名,然后在kali端破解ssh:

hydra -L username.txt -P password.txt ssh://192.168.190.152

 

 获得用户名-密码:jim-jibril04

通过ssh登录jim成功:

 

 在共享文件夹的mail中找到一封邮件:

 

 这里获得了charles的密码,尝试通过ssh登录:

 

 sudo -l发现不需要密码就可以使用/use/bin/teehee,看一下这个文件是干啥的,发现可以通过-a在文件中append内容:

 

 而使用teehee时又可以临时获得root权限,所以想到创建一个管理员:

 

 su admin切换到我们创建的用户:

 

 获得flag:

 

 也可以通过写入crontab计划任务以获得root权限,即1分钟后由root用户给/bin/sh设置权限为4777,不过这样只是euid=0(参考https://www.jianshu.com/p/039cc25c03dd):

 

 

 

 

参考:

https://www.anquanke.com/post/id/178658#h3-5

https://zhuanlan.zhihu.com/p/91314269