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

HACKTHEBOX——Valentine

namp

首先用namp来探测一下靶标开启了哪些端口

http/https

先访问一下站点,看看是否能找到什么内容

两个端口都是这样,展示了一张图片

似乎是在暗示“心脏出血”漏洞

漏洞详情如下

RFC 6520心跳扩展定义了一种测试TLS/DTLS安全通信链路的方法,允许连接一端的计算机发送“心跳请求”消息,消息包含有效载荷(通常是文本字符串),附带有效载荷的长度(用16位整数表示)。随后,接收方计算机必须发送完全相同的有效载荷以返回给发送方。

受影响的OpenSSL版本根据请求消息中的长度字段分配内存缓冲区,用于存储要返回的消息,而不考虑消息中有效载荷的实际长度。因为缺少边界检查,返回的消息不仅包括有效载荷,还可能含有其他恰巧在已分配缓冲区中的消息。

因此,通过构造出载荷短、长度字段中的数值却很大的请求,向存在缺陷的一方(通常是服务器)发送畸形心跳包,利用心脏出血漏洞,引起受害者的回应,这样,攻击者便可读取到受害者内存中至多64千字节的信息,而这块区域先前OpenSSL有可能已经使用过[61]。例如,正常的心跳请求可能会要求一方“返回4个字符的单词‘bird’”,那一方就返回“bird”;“心脏出血请求”(恶意的心跳请求)如“返回500个字符的单词‘bird’”会导致受害者返回“bird”,紧接着是恰储存在受害者活跃内存中的496个字符。这样,攻击者便可能会收到敏感数据,从而危及受害者其它安全通信的保密性。虽然攻击者能对返回的内存块大小有所控制,但却无法决定它的位置,因而不能指定要显示内容。

按照hackthebox的惯性,很有可能服务器存在该漏洞,先暂时放下看看目录扫描结果

gobuster找到一个/dev目录,访问该目录如下所示

hype_key中内容被转化成16进制

将该16进制内容恢复,可以看到一个RSA私钥,但是是加密过的,将结果保存至hype_key_encrypted

尝试使用openssl解密该文件,但是需要密码

查看notes.txt看看是否给出了密码,结果却并不尽如人意

heartbleed

先找到该漏洞利用脚本

使用该脚本尝试攻击,需要使用python2

很明显的base64编码特征

解码得到字符串,疑似密码

可以解密之前找到的私钥

利用该私钥以hype身份登录ssh,新版本openssh禁用了算法,在其后添加-o临时添加算法即可登录

找到user的flag

dirtycow提权

2012年的版本,挺久远,内核很老,可以使用脏牛提权

searchsploit dirty

选择添加用户的,将脚本复制到工作目录下

先将脚本上传至靶标

然后编译,给予执行权限,然后执行

最后切换至firefart用户即可

然后拿到flag,结束!

相关文章:

  • 哈佛结构和冯诺依曼结构
  • 【黄啊码】MySQL入门—7、这些函数运用得好,高级工程师都直呼内行
  • UnityPackageManager相关
  • 数字图像处理——基本运算
  • Cosmos模块化功能链 走向亿级用户的超级Dapp时代
  • 【黑马程序员名师pink老师讲HTML】HTML很容易忘记?有它我不慌的
  • .NetCore项目nginx发布
  • 主流开源OLAP对比分析
  • 二叉搜索树的基本操作 || TreeMap和TreeSet介绍
  • 超详细的数据结构---顺序表的有关教程
  • Exchange Server 2016 安装部署
  • 【C51单片机】中断系统之单一外中断应用
  • 2.2 Linux系统的目录结构与文件类型
  • jedis:使用事务开启watch监控
  • 【趣学算法】第一章 算法之美(上)
  • 【刷算法】从上往下打印二叉树
  • 78. Subsets
  • android 一些 utils
  • codis proxy处理流程
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • MySQL QA
  • Odoo domain写法及运用
  • Otto开发初探——微服务依赖管理新利器
  • Python3爬取英雄联盟英雄皮肤大图
  • SpringBoot几种定时任务的实现方式
  • Twitter赢在开放,三年创造奇迹
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 深度解析利用ES6进行Promise封装总结
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 数据可视化之 Sankey 桑基图的实现
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 听说你叫Java(二)–Servlet请求
  • 鱼骨图 - 如何绘制?
  • MyCAT水平分库
  • ​插件化DPI在商用WIFI中的价值
  • $L^p$ 调和函数恒为零
  • (1)常见O(n^2)排序算法解析
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (搬运以学习)flask 上下文的实现
  • (超详细)语音信号处理之特征提取
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (转) 深度模型优化性能 调参
  • (转)树状数组
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • *1 计算机基础和操作系统基础及几大协议
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .net 中viewstate的原理和使用
  • .Net(C#)自定义WinForm控件之小结篇
  • .NET命令行(CLI)常用命令
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • @ComponentScan比较
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [.net]官方水晶报表的使用以演示下载