Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)

2025-01-22 1 0

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图

Issabel介绍:

Issabel 是一个开源通信系统,它结合了一套强大的工具和功能来管理和控制电话系统。它广泛用于实施 PBX(专用交换机)解决方案,使组织能够使用 VoIP(互联网协议语音)技术管理内部和外部电话呼叫。Issabel 提供用户友好的界面和各种功能,包括语音邮件、呼叫路由、会议等,使其成为寻求高效通信解决方案的各种规模企业的热门选择。

漏洞概述:

PBX 4.0.0 中发现了一个严重漏洞,具体存在于 Asterisk-Cli 组件对文件 /index.php?menu=asterisk_cli 的处理中。此漏洞被标识为 CVE-2024-0986,被评为严重,CVSS 评分为 9.8,反映出其对受影响系统的巨大影响。此漏洞源于对 Command 参数的操纵,可利用该参数执行 OS 命令注入。这意味着攻击者可以远程注入并执行托管 Issabel PBX 系统的服务器上的任意命令。此漏洞的利用方式已被公开披露,增加了未修补系统遭受攻击的风险。

影响版本:

Issabel PBX 4.0.0

FOFA:

title="issabel"

搭建测试环境:

# Install Issabel on Debian (Kali) 
curl http://repo.issabel.org/issabel5-netinstall.sh | bash 
 
# Red-Hat-based distros, Fedora, CentOS, SUSE etc: 
# yum update 
# yum -y install wget 
# wget -O - http://repo.issabel.org/issabel4-netinstall.sh | bash

但是安装的是老版本,所以使用iso 进行安装,下载地址如下。

https://sourceforge.net/projects/issabelpbx/files/Issabel%204/issabel4-NIGHTLY-AST18-USB-DVD-x86_64-20211207.iso/download

和安装Ubuntu 差不多。这里只放几张关键图。

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图1

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图2

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图3

然后启动虚拟机

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图4

回车进行安装

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图5

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图6

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图7

需要设置的设置好之后,点击开始安装

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图8

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图9

设置下密码最好root 用户和普通用户都设置一个,这里是 root or test/123456

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图10

安装完成之后,需要设置数据库连接

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图11

这里密码都是123456

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图12

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图13

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图14

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图15

设置语言

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图16

等待初始化

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图17

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图18

系统登录后如下:

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图19

Issabel 登录以及登录后如下:

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图20

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图21

漏洞复现:

整个漏洞复现参考依据来源于原作者,其漏洞分析地址如下:

https://www.vicarius.io/vsociety/posts/issabel-authenticated-remote-code-execution-cve-2024-0986

Issabel Authenticated 远程代码执行漏洞(CVE-2024-0986)插图22

具体来讲,漏洞出在文件 /index.php?menu=asterisk_cli 中,其中对 Command 参数的不当处理可能导致 OS 命令注入。让我们先看看 index.php 的代码。

``` 
<?php 
require_once "libs/paloSantoForm.class.php"; 
 
function _moduleContent(&$smarty, $module_name) 
{ 
    //include module files 
    require_once "modules/$module_name/configs/default.conf.php"; 
 
    load_language_module($module_name); 
 
    //global variables 
    global $arrConf; 
    global $arrConfModule; 
    $arrConf = array_merge($arrConf,$arrConfModule); 
 
    //folder path for custom templates 
    $base_dir = dirname($_SERVER['SCRIPT_FILENAME']); 
    $templates_dir = (isset($arrConf['templates_dir'])) ? $arrConf['templates_dir'] : 'themes'; 
    $local_templates_dir = "$base_dir/modules/$module_name/".$templates_dir.'/'.$arrConf['theme']; 
 
    $txtCommand = isset($_POST['txtCommand'])? trim($_POST['txtCommand']) : ''; 
    $oForm = new paloForm($smarty, array()); 
    $smarty->assign(array( 
        'asterisk'  =>  _tr('Asterisk CLI'), 
        'command'   =>  _tr('Command'), 
        'txtCommand'=>  htmlspecialchars($txtCommand), 
        'execute'   =>  _tr('Execute'), 
        'icon'      =>  "modules/$module_name/images/pbx_tools_asterisk_cli.png", 
    )); 
 
    $result = ""; 
    if (!empty($txtCommand)) { 
        $output = $retval = NULL; 
        $ipaddr = $_SERVER['REMOTE_ADDR']; 
        $user = isset($_SESSION['issabel_user']) ? $_SESSION['issabel_user'] : 'unknown'; 
        if(preg_match("/(originate|system)/i",$txtCommand)) { 
            writeLOG("audit.log", sprintf('ASTCLI %s Command denied: %s from %s.',$user,escapeshellarg($txtCommand),$ipaddr)); 
            $result = "Command denied"; 
        } else { 
            // OS level execution HERE 
            exec("/usr/sbin/asterisk -rnx ".escapeshellarg($txtCommand), $output, $retval); 
            writeLOG("audit.log", sprintf('ASTCLI %s: %s from %s.',$user,escapeshellarg($txtCommand),$ipaddr)); 
            $result = implode("\n", array_map('htmlspecialchars', $output)); 
        } 
    } 
    if ($result == "") $result = "&ampnbsp;"; 
    $smarty->assign("RESPUESTA_SHELL", $result); 
 
    return $oForm->fetchForm("$local_templates_dir/new.tpl", _tr('Asterisk-Cli'), $_POST); 
} 
?> 
```

在提供的 PHP 代码中,“txtCommand”从 HTML 表单捕获用户输入并通过 Asterisk CLI 执行该输入。此输入将传递给“exec”函数,从而导致 OS 命令注入。如果攻击者将恶意命令注入“txtCommand”,它可以在服务器上执行任意命令,从而导致远程代码执行 (RCE)。

在漏洞脚本中注


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

如何使用HASH创建低交互式蜜罐系统
Shiro CVE-2020-17510 路径绕过
Hannibal:一款基于C的x64 Windows代理
CVE-2024-49113漏洞分析
SuperdEye:一款基于纯Go实现的间接系统调用执行工具
分享Fastjson反序列化漏洞原理+漏洞复现+实战案例+POC收集

发布评论