Vulnhub-Photographer
文章目录
基本介绍
靶机地址
https://www.vulnhub.com/entry/photographer-1,519/
目标
获取两个 flag:user.txt,proof.txt。
环境
名称 | 介绍 |
---|---|
主机 | Manjaro 20.1 |
虚拟化软件 | Virtualbox 6.1.12 |
靶机网络 | Host-only (vboxnet0) |
kali in docker | 2020.3 |
工具
名称 | 版本 |
---|---|
arp-scan | 1.9.7 |
Nmap | 7.80 |
smbmap | 1.0.5 |
smbclient | 4.12.5-Debian |
burpsuite | Community 2020.9 |
信息收集
获取 IP 地址
使用 arp-scan 对 vboxnet0 接口进行二层扫描,得到靶机的地址为 192.168.56.123。
{% blockquote %}
|
|
Interface: vboxnet0, type: EN10MB, MAC: 0a:00:27:00:00:00, IPv4: 192.168.56.1 Starting arp-scan 1.9.7 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.56.100 08:00:27:b7:4e:30 PCS Systemtechnik GmbH 192.168.56.123 08:00:27:35:da:a1 PCS Systemtechnik GmbH
2 packets received by filter, 0 packets dropped by kernel Ending arp-scan 1.9.7: 256 hosts scanned in 2.012 seconds (127.24 hosts/sec). 2 responded {% endblockquote %}
端口扫描
使用 Nmap 的半连接方式对靶机进行全 TCP 端口扫描,该靶机开放了 4 个端口:
{% blockquote %}
|
|
Starting Nmap 7.80 ( https://nmap.org ) at 2020-09-06 04:53 UTC Nmap scan report for 192.168.56.123 Host is up (0.000063s latency). Not shown: 65531 closed ports PORT STATE SERVICE 80/tcp open http 139/tcp open netbios-ssn 445/tcp open microsoft-ds 8000/tcp open http-alt MAC Address: 08:00:27:35:DA:A1 (Oracle VirtualBox virtual NIC)
Nmap done: 1 IP address (1 host up) scanned in 0.98 seconds {% endblockquote %}
服务枚举
可见 80 和 8000 端口运行着 apache;比较有意思的是该靶机运行着 samba 服务,版本为 4.3.11,系统可能是 Ubuntu。
{% blockquote %}
|
|
Starting Nmap 7.80 ( https://nmap.org ) at 2020-09-06 04:57 UTC Nmap scan report for 192.168.56.123 Host is up (0.00025s latency).
PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.4.18 ((Ubuntu)) |_http-server-header: Apache/2.4.18 (Ubuntu) |_http-title: Photographer by v1n1v131r4 139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP) 445/tcp open netbios-ssn Samba smbd 4.3.11-Ubuntu (workgroup: WORKGROUP) 8000/tcp open http Apache httpd 2.4.18 ((Ubuntu)) |_http-generator: Koken 0.22.24 |_http-server-header: Apache/2.4.18 (Ubuntu) |_http-title: daisa ahomi |_http-trane-info: Problem with XML parsing of /evox/about MAC Address: 08:00:27:35:DA:A1 (Oracle VirtualBox virtual NIC) Service Info: Host: PHOTOGRAPHER
Host script results:
|clock-skew: mean: 1h19m58s, deviation: 2h18m34s, median: -2s
|nbstat: NetBIOS name: PHOTOGRAPHER, NetBIOS user:
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 12.34 seconds {% endblockquote %}
Samba 枚举
既然运行着 Samba,就先探测一波,虽说 Linux 下的 Samba 没有 Win 的 SMB 那么好玩(玩笑)。
枚举 Samba 共享
首先使用 smbmap 查看靶机存在哪些共享和相应的权限:
{% blockquote %}
|
|
[+] Guest session IP: 192.168.56.123:445 Name: 192.168.56.123 Disk Permissions Comment
print$ NO ACCESS Printer Drivers sambashare READ ONLY Samba on Ubuntu IPC$ NO ACCESS IPC Service (photographer server (Samba, Ubuntu)) {% endblockquote %}
不指定账户可以借助 Guest 账户访问,而且 sambashare 是可读的,应该能从其中发现一些蛛丝马迹。
Samba 共享读取
这里我使用 smbclient 来访问共享,该程序提供了类似 ftp 的界面,这里不需要密码即可访问:
{% blockquote %}
|
|
Enter WORKGROUP\root’s password: Try “help” to get a list of possible commands. smb: > ls . D 0 Tue Jul 21 01:30:07 2020 .. D 0 Tue Jul 21 09:44:25 2020 mailsent.txt N 503 Tue Jul 21 01:29:40 2020 wordpress.bkp.zip N 13930308 Tue Jul 21 01:22:23 2020 278627392 blocks of size 1024. 264268400 blocks available {% endblockquote %}
使用 get 命令即可将文件下载到本地。wordpress.bkp.zip 解压查看是一个 wordpress 项目,截止到现在我还不知道它有什么用处,之前一直纠结于这是不是网站的源码可是无果。查看 mailsent.txt 的内容如下:
{% blockquote %} Message-ID: 4129F3CA.2020509@dc.edu Date: Mon, 20 Jul 2020 11:40:36 -0400 From: Agi Clarence agi@photographer.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Daisa Ahomi daisa@photographer.com Subject: To Do - Daisa Website’s Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit
Hi Daisa! Your site is ready now. Don’t forget your secret, my babygirl ;) {% endblockquote %}
可见是 agi@photographer.com 发给 daisa@photographer.com 的邮件,有提到网站和密码。
Web 枚举
该靶机的 apache 版本较高,暂时没有发现可利用的弱点或是插件之类的;针对两个端口的 Web 服务进行路径扫描无果。就在陷入困境之时注意到了浏览器插件 Wappalyzer 分析的结果:
可见该靶机使用了 KoKen CMS 框架,版本为 0.22.24。进行一番搜索之后发现该系统存在一个已知的任意文件上传漏洞,可用来上传 php webshell。首先需要登陆 koken:
登陆 koken
访问 URL http://192.168.56.123/koken/admin,经过一番猜测,邮箱为 daisa@photographer.com,密码为 babygirl。
上传 Webshell
生成 webshell
这里我是用 weevely 生成 webshell:
|
|
koken 任意文件上传利用
该漏洞利用比较简单,详细见参考链接 1 。只需要生成一个 php webshell 命名为 *.php.jpg,在上传时使用 burpsuite 截获,将文件名修改为 *.php 即可。上传按钮在本页面的最右下角:
上传的 POST 请求:
只需将红框内的内容修改即可。
上传完之后可在进行预览,由于并不是图片无法查看,但是点击 Download File 可以得到上传之后的 URL:
连接 webshell
|
|
连接成功!仅仅使用 webshell 就能访问到 user.txt,root 目录由于权限不够无法访问。
权限提升
该靶机提权比较简单,直接搜索 SUID 权限的可执行文件即可:
{% blockquote %}
|
|
/usr/lib/dbus-1.0/dbus-daemon-launch-helper /usr/lib/eject/dmcrypt-get-device /usr/lib/xorg/Xorg.wrap /usr/lib/snapd/snap-confine /usr/lib/openssh/ssh-keysign /usr/lib/x86_64-linux-gnu/oxide-qt/chrome-sandbox /usr/lib/policykit-1/polkit-agent-helper-1 /usr/sbin/pppd /usr/bin/pkexec /usr/bin/passwd /usr/bin/newgrp /usr/bin/gpasswd /usr/bin/php7.2 /usr/bin/sudo /usr/bin/chsh /usr/bin/chfn /bin/ping /bin/fusermount /bin/mount /bin/ping6 /bin/umount /bin/su {% endblockquote %}
可见有 php,直接利用 php 执行命令:
{% blockquote %}
|
|
proof.txt {% endblockquote %}
可见已经能访问 /root 目录,读取 proof.txt,结束。
总结
之前在这个靶机上坑了很久,原因就是 Samba 泄漏的 Wordpress 源码,其实和 Wordpress 并没有什么关系。koken 的登陆密码没有想到将 babygirl 单独拿出来去试,直接拿 hydra 出密码才发现的。
不得不说 Wappalyzer 起到了重大的作用,koken 的漏洞算比较新的了,幸好搜的到。其它的就没什么特别的了,提权也是很常见的 SUID 提权。
参考链接
文章作者 Josephine
上次更新 2020-09-06