vulnhub之旅:bluemoon

学校这次的实习,其中一个内容就是一些vulnhub的相关中等难度的项目 。

现在我们开始其中一个项目:bluemoon

bluemoon靶机是在VBox编辑的,而我的虚拟机是vmware,使用kali无法检测到靶机的IP,包括arp-scan、nmap存活主机探测、netdiscover均未检测到靶机的IP地址,也就无法进行下一步工作,因此在进入时要改一下配置。

由于不知道靶机账号密码,不能直接进入靶机修改配置文件。但可以通过所谓拯救模式进行操作。我把攻击机kali与靶机都放在同一个局域网(我设置的是NAT模式下10.1.1.0/24网段),按shift启动再按e,把其中ro改为rw signie init=/bin/bash,然后按ctrl+x运行,就可以进入靶机了,而且是root用户。

查看靶机网卡配置文件/etc/network/interfaces,可以看到其配置网卡与vmware网卡名称并不一致,我们网卡当然无法正常启动。我们必须修改为与本地相对应的网卡名称。把/etc/network/interfaces内的网卡名改为ens33(VMware虚拟网卡名都是ens33),再重启网卡服务/etc/init.d/networking restart,结果成功获取到IP地址。

现在可以开始测试靶机。

第一步进行信息收集。

先探测网内存活主机

arp-scan -l

vulnhub之旅:bluemoon

发现靶机ip:10.1.1.130

探测靶机开放端口

nmap -A -p- 10.1.1.130

在现实环境中,nmap的使用是很有讲究的。因为现实环境很大,必须根据具体情况考虑执行速度。例如只是探测存活主机,用nmap -sV 就可以了,-A探测主机全部情况就不需要了。对于端口,也不一定需要弄清除全部,可以考虑常用就不加p,或者p 1-5000之类,提供信息搜集的速度。 

我的模拟靶机环境当然很小,无多大所谓nmap速度,所以就习惯-A全部探测了。

vulnhub之旅:bluemoon

发现开放端口:21、22、80

21 端口运行着 vsftp,版本号是 3.0.3,vsftp有所谓笑脸漏洞之类漏洞,影响的是3.0.2以前旧版本,现版本还禁止匿名登录。

22 端口运行了 openssh,版本号是 7.9p1,同样不受漏洞影响。

80 端口运行了 apache,版本号是 2.4.38,发现2.4.39前存在高危提权漏洞。

于是我们可以利用80端口提权获取shell。

打开网页10.1.1.130

vulnhub之旅:bluemoon

 

 对于这么个不见任何普通按钮,敏感文字的网页,只好先看看源代码

vulnhub之旅:bluemoon

 

 还是没有发现可以利用的地方。

对于80端口直接处理网页漏洞的,常见的方法就是进行目录爆破。

先常规探测

dirb http://10.1.1.130

vulnhub之旅:bluemoon

没有发现可以利用的目录。

显然 ,原字典太小了,需要自己扩大。

再执行dirb http://10.1.1.130

vulnhub之旅:bluemoon

vulnhub之旅:bluemoon

 

 发现敏感目录hidden_text

vulnhub之旅:bluemoon

 

 点击其中超链接

vulnhub之旅:bluemoon

 

 显然要解读这个二维码。

方便起见,直接用手机扫描,不下载扫描工具了

vulnhub之旅:bluemoon

 

 为ftp的用户名即账户和密码,可以登录试试:

vulnhub之旅:bluemoon

 

 成功登录。查找文件发现information.txt 和 p_lists.txt,

vulnhub之旅:bluemoon

 

 把它们get下来。

vulnhub之旅:bluemoon

 

 查看information.txt发现用户名robin,p_lists.txt为密码表

vulnhub之旅:bluemoon

 

 用 hydra 爆破p_lists.txt

hydra -l robin -w 10 -P /root/p_lists.txt -t 10 -f 10.1.1.130 ssh

vulnhub之旅:bluemoon

账号robin的登录密码为   k4rv3ndh4nh4ck3r

ssh 10.1.1.130登录(可以说等于在靶机直接登录)

vulnhub之旅:bluemoon

 

 登录成功,我们得到了低权限用户 robin 的 shell

vulnhub之旅:bluemoon

得到第一个flag

 ==> Fl4g{u5er1r34ch3d5ucc355fully}

vulnhub之旅:bluemoon

 

 见有用户jerry,可以提权到jerry看看。先用sudo -l查看robin可以执行和不可执行的指令

vulnhub之旅:bluemoon

 

 发现可以不使用密码以 jerry 用户运行 /home/robin/project/feedback.sh 

vulnhub之旅:bluemoon

执行该脚本,我们可以输入变量feedback,然后执行变量feedback。该变量可控。

cd /home/robin/project/

chmod 777 feedback.sh

sudo -u jerry ./feedback.sh  #以jerry身份运行脚本

将 /bin/bash 赋值给 feedback ,就能得到 jerry 的 shell

vulnhub之旅:bluemoon

 

 查看进程top

vulnhub之旅:bluemoon

发现root用户运行了docker jerry用户在同样的docker组

运行着容器alpine,将靶机上的目录挂载到容器中,就能访问受限目录

docker run -it -v /root:/mnt/hhh alpine

把靶机root目录挂载到docker容器的/mnt/hhh中

vulnhub之旅:bluemoon

可以root权限访问

vulnhub之旅:bluemoon

得到Root-Flag

Fl4g{r00t-H4ckTh3P14n3t0nc34g41n}

实际上我们还可以修改passwd shadow文件留后门。

 

上一篇:Warning: Cannot modify header information - headers already sent in Unknown on line 0


下一篇:azkaban安装