很简单的一个靶机
准备
将靶机导入vmware就行了,开机后扔那里就可以了。目标为获取5个flag。
渗透过程
信息收集

首先判断本网段的主机存活情况,我这里直接使用ping扫描的方式,也就是三层扫描的方式,其他方法也可以,这里不存在发现的困难问题。

对目标主机端口开放情况已经其上运行的服务进行排查,结果如上图,80端口为web服务,111端口为rpc服务,对象为linux操作系统,内核版本为3.x。
下面查看其web服务:
可以看到是一个使用Drupal框架搭建的网站。对该网站进行扫描,部分结果如下:
查看robots.txt未发现与flag相关信息(本靶机的目标是找flag),上述结果中也未包含敏感信息。
漏洞分析
经过上述信息,先将主要路径集中在web服务上,已知使用了drupal框架,查找一下该框架的漏洞:
这里是使用drupal_drupageddon,该漏洞原理(SA-CORE-2014-005)这里不做说明。
下面是配置以及payload:

运行后可以得到meterpreter会话:

可以得到flag1.txt,其内容提示我们去看该框架的配置文件,查一下可以得到该文件位于sites目录下的default里:

查看settings.php文件,并发现flag2的信息,提示如下关键信息:

得到数据库的用户名和密码后,登录其数据库:
在如下表中可以看到flag3的信息,其uid为1。

我们再看一下user表:

可以看到uid为1对应的是admin,下面的uid=3的float是我在上面注册的,可以看到密码做了加密处理。
尝试查一下有没有重置管理员密码的方法,一般都有的。百度一下就有了:

我们去运行scripts下的password-hash.sh来设置新密码,先获取对应hash值:

然后我们将这个值替换到数据库里:
更改前:

更改后:
然后我们尝试登录进去,可以看到登录成功:
最终flag3如下:
flag3提示我们去看密码,并且用大写提示我们使用find命令,那我们先看/etc/passwd:
可以看到存在一个用户flag4,去家目录下查看,其下有flag4.txt:

接下来提示我们需要提权到root了,根据flag3的提示,我们可以使用find进行提权,find命令是有一个exec参数的,进行尝试:


可以看到成功提权,我们查看/root下的flag,题目结束。

参考
https://www.jianshu.com/p/0c22c450f971 Linux的SUID提权