首先搭建好靶场。这次一次黑盒靶场测试,只能从虚拟机中查看DC1靶场的mac地址,从而查出目标靶机的IP。
所以目标IP地址为192.168.31.184,直接上nmap进行目标全面扫描。
由nmap扫描可以知道,目标靶机开放了22,80,111,42875端口,看到端口号22想到ssh远程连接,端口号80想到web网页攻击。后面两个端口暂时想不到有什么用,所以先放在一般后面可能会用到。所以直接访问网页。
由网页可以明显看出本站是由使用PHP
语言编写的开源内容管理系统Drupal
搭建的,并且由Wappalyzer
得知版本为7.X,所以直接使用searchsploit
命令在漏洞库中搜索此版本是否有漏洞可以利用。
可以看到由许多可以利用的漏洞,所以我们选择最后一个远程代码执行漏洞,因为这个漏洞可以利用漏洞攻击神奇metasploit
进行攻击。
直接使用模块,使用命令info
可以查看漏洞的相关信息,也可以查看攻击模块需要设置的参数。根据要求设置参数。
根据要求只需要设置RHOSTS
即目标靶场的IP,设置完成执行run
命令即可进入shell
环境。
由于得到的不是一个完整的shell
环境,所以我们所以pyhton
中的pty
模块反弹一个完整的shell
环境,即直接输入
python -c 'import pty;pty.spawn("/bin/bash")'
直接上命令,可以得到flag1
根据flag1.txt中的"Every good CMS needs a config file - and so do you."(意思差不多:每个好的内容管理系统都需要一个配置文件,所以你应该怎么做)提示,所以直接从实名命令执行得到的目录里面找配置文件。
最终在sites/default/default.setting.php
中找到的(不要问我怎么找到的,问就是不知道)(觉得可疑的目录和文件就一个一个试呗)
于是得到了flag2
根据flag2提示(提示内容大概意思是:爆破和目录扫描并不是唯一获得后台的方法(并且你需要访问权限),下面这些认证信息你怎么使用)。
给出的是数据库的相关信息,所以我们直接本地登陆数据库。
查看表users中的内容可以知道用户名和密码。
但是一般加盐的密码是很难破解的,所以选择修改用户密码来解决。首先生成自定密码的加盐哈希值。回到网站的目录下执行php scripts/password-hash.sh 密码
命令生成。
修改密码,并且确认是否修改完成
修改完成回到网页登陆,登陆成功
得到flag3
从flag3中提示发现passwd
,shadow
所以查看根目录**/etc**下的这两个文件;
/etc/shadow无法查看,权限不够,查看etc/passwd,发现目标靶机用户flag4,并且有/bin/bash,看到这想到了还有端口22,所以ssh连接。但是密码不知道所以只能用爆破神器hydra
。
用kali自带密码字典,路径为**/usr/share/john/password.lst**,kali自带各种密码默认保存在**/usr/share/**下。
爆出结果为’orange’,所以直接ssh连接,进入家目录查看发现flag4.
根据提示需要得到root权限才能得到falg。
liunx提权一般有四种提权方式:
sudo -l
查看是否有可提权的命令。find / -perm -4000 2>/dev/null
查看是否具有root权限的命令发现find具有root权限。(哪些可以进行提权可以在网上查,提权用法可以临时查)
直接执行命令find -exec /bin/sh \;
进行提权
提权完成,拿到最后的thefinalflag.txt.