<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Schneider IGSS 遠程漏洞分析

    VSole2022-04-18 12:52:11

     01、前言

    近期,啟明星辰ADLab在工業控制系統漏洞監測中發現Schneider發布了交互式圖形SCADA系統(Interactive Graphical SCADA System,簡稱IGSS)的高危漏洞公告和補丁,包括有緩沖區溢出和目錄穿越等,NVD的評分高達9.8。ADLab研究員第一時間對其中的高危漏洞進行了詳細分析和實際驗證,同時還發現了一個新的高危漏洞并協助廠商進行了修復。

     02、漏洞基本信息

    根據Schneider的漏洞公告,這些漏洞的基本信息如下:

    受影響的產品:V15.0.0.22020 and prior

    存在漏洞

    • CVE-2022-24312,目錄穿越
    • CVE-2022-24311,目錄穿越
    • CVE-2022-24310,緩沖區溢出

    受影響的產品:V15.0.0.22073 and prior

    存在漏洞

    • CVE-2022-24324,緩沖區溢出

    觸發方式:網絡

    CVSS v3評分: 9.8

     03、漏洞分析與驗證

    3.1 CVE-2022-24311(24312)分析

    這兩個漏洞存在于IGSS V15.0.0.22020 and prior版本,其漏洞描述為:“存在對受限制目錄路徑名的不當限制,可導致通過在文件末尾添加或在數據服務器上下文中創建新文件來修改現有文件,當攻擊者通過網絡發送特定數據時,可能會導致遠程代碼執行”。

    通過分析,我們發現這兩個漏洞位于sub_49FF20函數,該函數的偽代碼如下:

    跟進sub_4A0C50函數,偽代碼如下所示:

    可以看出,該函數內部進行了一系列文件操作,但對傳入該函數的參數沒有做有效的安全檢查,因此可以被操控來向SCADA服務器寫入任意文件。

    同理,跟進sub_4A0C50函數,偽代碼如下所示:

    可以看出,該函數的內部同樣也沒有對傳入的參數進行安全檢查,因此也可以被操控來向SCADA服務器寫入任意文件。

    根據上述分析我們進行了驗證,成功向SCADA服務器寫入任意內容的文件。

    對于上述兩個漏洞,Schneider官方發布了補丁,其修復方式如下:

    具體來講,“Prepend file”和“Append file”分支在進入具體功能函數前調用了額外的sub_4A16F0函數。該函數傳入了參數 v6+72,此參數對應被操作文件的文件路徑名。跟進該函數,其偽代碼如下:

    該函數對文件路徑名進行了限制:(1)限制(v6+72)長度,大小要滿足<=0x100;(2)限制(v6+72)內容,不能有目錄穿越的特征符。通過這種限制,補丁防止了惡意數據導致的跳轉目錄,把文件操作限制在當前目錄下。

    3.2 CVE-2022-24310分析

    該漏洞存在于IGSS V15.0.0.22020 and prior版本,漏洞的描述為:“存在整數溢出,當攻擊者發送多條精心準備的消息時,該漏洞可能會導致基于堆的緩沖區溢出,導致拒絕服務并可能導致遠程代碼執行”。

    通過分析,我們發現這個漏洞存在于sub_49FA30函數,該函數的偽代碼如下:

    從上圖可以看出,該函數的主要邏輯是:首先,通過realloc給*(this+48)的堆增加*(a1+0xBA)數值的大小;然后,使用memcpy向(*(v5 +52)+*(v5 + 48))賦值*(a2+0xBA)長度的(a2+190)緩沖區內容,即填充realloc新分配出的內存空間。

    經過分析,我們發現:在*(a2+ 0xBA)+*(this + 52)的加法操作中,兩個操作數均為無符號類型,且*(a2+0xBA)可控。因此,通過控制*(a2+0xBA)的值,可使得*(a2 + 0xBA)+*(this + 52)產生整數上溢,從而導致realloc新申請內存的容量小于后續memcpy的參數*(a2+0xBA),后續執行memcpy內存拷貝操作時就會觸發堆溢出。

    根據上述分析我們進行了驗證,成功觸發了SCADA服務器的堆破壞。

    對于該漏洞,Schneider官方發布了補丁,其修復方式如下:

    具體來講,在進行realloc操作執行前,先判斷*(a2+0xBA)的值是否在[0,0xF42]的區間范圍內,從而避免整數溢出。

    3.3 CVE-2022-24324分析

    在對IGSS V15.0.0.22073 and prior的補丁分析中,ADLab研究員還發現了一個新的緩存區溢出漏洞。該漏洞可以遠程無條件觸發,ADLab及時報告了廠商并協助廠商進行了修復,廠商對該漏洞的CVSS3評分為嚴重。

    Schneider已經發布了新補丁來修復這個高危漏洞。相關補丁和更多的內容可在官方提供的公告中查詢:

    https://download.schneider-electric.com/files?p_enDocType=Security+and+Safety+Notice&p_File_Name=SEVD-2022-102-01_IGSS_Security_Notification.pdf&p_Doc_Ref=SEVD-2022-102-01

     04、修復建議

    經過ADLab研究員的分析和驗證,上述高危漏洞都可以通過網絡進行無條件的遠程觸發,具有很大的危害性。目前官方已經發布了補丁,強烈建議使用IGGS的工業用戶立即升級到最新版本:15.0.0.22074。

    針對工業控制系統,CISA提供了如下的通用建議:

    • 盡量減少在公網暴露工控設備或者系統;
    • 將控制系統網絡和遠程設備置于防火墻之后,并和辦公網絡隔離;
    • 當需要遠程訪問時,采用類似VPN的安全訪問方式。

    參考鏈接:

    [1] SEVD-2022-102-01, IGSS Data Server (V15.0.0.22073 and prior)

    https://download.schneider-electric.com/files?p_Doc_Ref=SEVD-2022-102-01 

    [2] SEVD-2022-039-01, IGSS Data Server (V15.0.0.22020 and prior)

    https://download.schneider-electric.com/files?p_Doc_Ref=SEVD-2022-039-01

    漏洞緩沖區溢出
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    Android是美國谷歌(Google)公司和開放手持設備聯盟(簡稱OHA)共同開發的一套以Linux為基礎的開源操作系統。WLAN是使用在其中的一個無線連接模塊。 Android中的WLAN存在緩沖區溢出漏洞。攻擊者可利用該漏洞執行代碼或造成拒絕服務。
    漏洞分析 CVE-2010-0249
    2023-11-25 17:50:17
    漏洞分析 CVE-2010-0249
    開源軟件Dnsmasq的七個缺陷可能會導致DNS緩存中毒攻擊和遠程執行代碼。研究人員發現了dnsmasq中存在的一系列缺陷,該軟件用于緩存家用和商用路由器和服務器的域名系統響應。如果加以利用,則這些缺陷可以鏈接在一起,以允許遠程執行代碼,拒絕服務和其他攻擊。研究人員將這組漏洞標記為“ DNSpooq”,這是DNS欺騙,“網絡流量的詭異間諜”概念和dnsmasq末尾的“ q”的組合。
    近日,安識科技A-Team團隊監測到一則 Apache 官方發布安全補丁的通告,共修復了2個安全漏洞,其中包含1個高危漏洞的信息。 對此,安識科技建議廣大用戶及時升級到安全版本,并做好資產自查以及預防工作,以免遭受黑客攻擊。
    360漏洞云監測到Pulse Connect Secure存在多個嚴重或高危漏洞
    360漏洞云監測到WebKit2GTK存在多個高危漏洞
    未經身份驗證的攻擊者可通過構造惡意的請求利用CVE-2021-22986漏洞入侵受影響的F5系統,建議盡快安裝安全更新補丁或采取臨時緩解措施加固系統。處置: 1、及時升級F5 BIG-IP / BIG-IQ 升級至安全版本 2、配置訪問控制策略,僅允許白名的IP訪問F5管理界面。
    2022年1月6日,360漏洞云團隊監測到 SonicWall發布安全公告,修復了兩個存在于 SonicWall SonicOS中的中危漏洞
    漏洞名稱:“永恒之藍”漏洞
    ?新漏洞突破了蘋果 M1 芯片的最后一道安全線。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类