<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>

    Mekotio:使用 SQL 數據庫作為 C&C 服務器

    Andrew2020-08-14 10:30:30

    在本系列的這一部分中,我們將介紹Mekotio,這是一種拉丁美洲的銀行木馬,主要針對巴西,智利,墨西哥,西班牙,秘魯和葡萄牙。該惡意軟件家族的最新變體中最顯著的功能是使用SQL數據庫作為C&C服務器。

    Mekotio:使用SQL數據庫作為C&C服務器

    就像我們在本系列前面介紹的許多其他拉丁美洲銀行木馬一樣,Mekotio遵循了相當混亂的發展道路,其功能經常被修改。根據它的內部版本控制,我們認為有多個變種正在同時開發。但是,類似于Casbaneiro,這些變體幾乎不可能彼此分離,因此我們將它們統稱為Mekotio。

    特點

    Mekotio是典型的拉丁美洲銀行木馬,至少從2015年開始活躍。因此,它通過向受害者顯示偽造的彈出窗口進行攻擊,試圖誘使他們泄露敏感信息。這些窗口是針對拉丁美洲銀行和其他金融機構精心設計的。

    Mekotio收集有關受害者的以下信息:

    • 防火墻配置
    • 受害人是否具有管理特權
    • 安裝的Windows操作系統版本
    • 是否安裝了反欺詐保護產品(GAS Tecnologia Warsaw和IBM Trusteer)
    • 已安裝的反惡意軟件解決方案列表

    Mekotio通過使用運行鍵或在啟動文件夾中創建LNK文件來確保持久性。

    與大多數拉丁美洲銀行木馬一樣,Mekotio具有幾種典型的后門功能。它可以截取屏幕截圖,操作窗口,模擬鼠標和鍵盤操作,重新啟動機器,限制對各種銀行網站的訪問以及自我更新。某些變體還可以通過替換剪貼板中的比特幣錢包來竊取比特幣,并泄露由Google Chrome瀏覽器存儲的憑據。有趣的是,一個命令顯然旨在通過嘗試刪除C:\ Windows tree中的所有文件和文件夾來削弱受害者的計算機。

    識別Mekotio的一種方法是木馬在多種情況下顯示的特定消息框(請參見圖2)。

    Mekotio:使用SQL數據庫作為C&C服務器

    為了通過鍵盤記錄功能輕松地竊取密碼,Mekotio禁用了Internet Explorer中的“自動完成”選項。啟用此功能后,通過記住先前已填寫的各種類型的字段上的輸入,可以為Internet Explorer用戶節省時間。Mekotio通過更改以下Windows注冊表值將其關閉:

    • HKCU\Software\Microsoft\windows\CurrentVersion\Explorer\AutoComplete\
      • AutoSuggest = “No”
    • HKCU\Software\Microsoft\Internet Explorer\Main\
      • Use FormSuggest = “No”
      • FormSuggest Passwords = “No”
      • FormSuggest PW Ask = “No”

    分配

    我們認為Mekotio的主要分發方法是垃圾郵件(示例請參見圖3)。自2018年以來,我們已經觀察到該家庭使用的38個不同的分銷鏈。這些鏈中的大多數鏈均包含多個階段,最終會下載一個ZIP存檔,這是拉丁美洲銀行木馬的典型特征。在以下各節中,我們將剖析兩個最常用的鏈。

    Mekotio:使用SQL數據庫作為C&C服務器

    鏈1:傳遞上下文

    第一鏈包括四個連續的階段,如圖4所示。一個簡單的BAT Dropper刪除一個VBScript下載程序,并使用兩個命令行參數來執行它-一個自定義HTTP動詞(“ 111SA”)和一個下載下一個階段的URL。下載器使用自定義User-Agent值(“ MyCustomUser”及其變體)從提供的URL下載下一階段(還有另一個下載器)。第三階段,在執行腳本之前,先下載一個PowerShell腳本,并在腳本主體中更正URL,從該URL下載Mekotio。然后,PowerShell腳本從更正的URL下載Mekotio,然后安裝并執行它(執行過程將在后面詳細描述)。

    Mekotio:使用SQL數據庫作為C&C服務器

    關于此鏈有兩個有趣的事情。第一個是使用User-Agent標頭和HTTP動詞的自定義值。這些可用于識別Mekotio的某些網絡活動。

    另一個有趣的方面是上下文的傳遞(作為命令行參數或通過修改下一階段的主體)。這是一種簡單但有效的反分析技術,因為如果的Downloader 1沒有匹配的Dropper,那么您將既沒有URL,您將沒有獲取下一階段惡意軟件所需的URL或自定義HTTP動詞。同樣,由于缺少URL,因此沒有Downloader 2的Downloader 3也沒有用。如果沒有上下文的知識,這種方法會使分析變得更加困難。

    鏈2:帶有嵌入式JavaScript的MSI

    與許多其他拉丁美洲的銀行木馬一樣:Mekotio在其一些最新的分銷鏈中利用了MSI。在這種情況下,鏈條要短得多且不那么健壯,因為只有一個JavaScript(作為最后階段)被嵌入到MSI中并執行。

    與上一個鏈中的PowerShell最后階段相比,有一些明顯的相似之處。主要的程序(如圖5所示)是安裝例程,在下載并提取ZIP歸檔文件之后調用該例程,該例程根據文件大小重命名提取的ZIP歸檔文件的內容。這與下一節中描述的執行方法緊密相關。

    Mekotio:使用SQL數據庫作為C&C服務器

    濫用AutoIt解釋器執行程序

    Mekotio通常是通過濫用合法的AutoIt解釋器來執行的。在這種情況下,ZIP存檔包含(除了Mekotio銀行木馬之外)合法的AutoIt解釋程序和小的AutoIt加載程序或注入程序腳本。分發鏈的最后階段執行AutoIt解釋程序,并將加載程序或注入程序腳本傳遞給它進行解釋。然后,該腳本執行銀行木馬。圖6說明了整個過程。

    Mekotio:使用SQL數據庫作為C&C服務器

    Mekotio不是唯一使用此方法的拉丁美洲銀行木馬,但它比競爭對手更受青睞。

    密碼學

    用于加密Mekotio二進制文件中的字符串的算法本質上與Casbaneiro使用的算法相同。但是,Mekotio的許多變體會修改數據在解密之前的處理方式。可以忽略硬編碼解密密鑰的前幾個字節,也可以忽略加密字符串的某些字節。一些變體還使用base64對加密的字符串進行編碼。這些方法的細節各不相同。

    C&C服務器通信

    SQL數據庫作為C&C服務器

    一些Mekotio的變體立足于他們的網絡協議Delphi_Remote_Access_PC一樣,Casbaneiro。如果不是這種情況,Mekotio將SQL數據庫用作一種C&C服務器。相對于拉丁美洲的銀行木馬,這種技術并非聞所未聞。Mekotio似乎不依賴SELECT命令,而是依賴于執行SQL過程。這樣,尚無法立即弄清楚基礎數據庫的外觀。但是,登錄字符串仍以二進制形式硬編碼。

    C&C服務器地址生成

    對于Mekotio如何獲取其C&C服務器的地址,我們已經觀察到三種不同的算法。我們按照遇到它們的時間順序描述它們。

    基于“偽造域名”的硬編碼列表

    第一種方法依賴于兩個域的硬編碼列表–一個用于生成C&C域,另一個用于端口。從兩個列表中選擇一個隨機域并進行解析。IP地址被進一步修改。生成C&C域時,將從解析的IP地址的最后一個八位字節中減去一個硬編碼的數字。生成C&C端口時,將八位字節連接在一起并視為數字。為了清楚起見,我們在Python中實現了這兩種算法,如圖7所示。請注意,此方法與Casbaneiro使用的方法驚人地相似(在超鏈接分析中標記為方法5)。

    def generate_domain(base_domains, num):
        domain = to_ip(random.choice(base_domains))
        octets = domain.split(".")
        octets[3] = chr(int(octets[3]) - num)
        return octets.join(".")
    
    def generate_port(base_domains):
        domain = to_ip(random.choice(base_domains))
        return int(domain.split(".").join(""))

    圖7.用于從硬編碼的域列表生成C&C域和端口的代碼

    基于當前時間
    第二種方法利用基于當前本地時間的DGA(因此,受害者的時區會影響結果)。該算法采用星期幾,月份和小時中的當前日期,并使用它們來生成單個字符串。然后,它計算該字符串的MD5,以十六進制字符串表示。帶有硬編碼后綴的結果是C&C服務器域(其端口硬編碼在二進制文件中)。圖8顯示了我們對該算法的Python實現。

    day_names = {
        0: "MON",
        1: "TUE",
        2: "WED",
        3: "THU",
        4: "FRI",
        5: "SAT",
        6: "SUN",
    }
    
    hour_names = {
        7: "AM02",
        8: "AM03",
        9: "AM04",
        10: "AM05",
        11: "AM06",
        12: "PM01",
        13: "PM02",
        14: "PM03",
        15: "PM04",
        16: "PM05",
        17: "PM06"
    }
    
    def get_hour_name(hour):
        if hour <= 6 or hour >= 18:
            return "AM01"
        else
            return hour_names[hour]
    
    def generate_domain(suffix):
        time = get_current_time()
        dga_data = "%s%02d%s" % (day_names[time.dayOfWeek], time.day, hour_names[time.hour])
        dga_data = hexlify(md5(dga_data))
        return dga_data.lower() + suffix

    圖8.用于根據當前時間生成C&C域的代碼

    以當天為基準

    第三種算法與第二種算法有些相似。它與從本地時間創建的字符串的格式不同,并且每天使用不同的后綴。此外,它以類似方式生成C&C端口。再次,該代碼的Python重新實現如圖9所示。

    def generate_domain(domains_list, subdomain):
        time = get_current_time()
        dga_data = "%02d%02d%s" % (time.day, time.month, subdomain)
        dga_data = hexlify(md5(dga_data))
        return dga_data[:20] + "." + domains_list[time.day - 1]
    
    def generate_port(portstring):
        time = get_current_time()
        return int("%d%02d%d" % (time.day, time.dayOfWeek, time.month))

    圖9.用于根據當前日期生成C&C域和端口的代碼

    多個并發變體?

    我們已經提到過,與其他拉丁美洲的銀行木馬類似,Mekotio遵循一個相當混亂的發展周期。但是,除此之外,還有跡象表明同時開發了Mekotio的多種變體。

    兩個主要指標是內部版本控制和用于提取由Mekotio收集的有關受害者計算機的信息的字符串格式。我們確定了四種不同的版本控制方案:

    • 編號(001,002,072,39A,…)
    • 依日期排列的版本(01-07、15-06、17-10、20-09…)
    • 完整版本(02_03_20、13_03_20、26_05_20…)
    • 編號和日期合并在一起(103–30-09、279–07-05、293–25-05…)

    這些方案中的每一個都與被竊取數據字符串的特定格式相關聯。由于我們同時看到這些方案中的多個,因此我們認為可能有多個威脅參與者使用Mekotio的不同變體。

    結論

    我們分析了自2015年以來一直活躍的拉丁美洲銀行木馬Mekotio。與本系列中介紹的其他銀行木馬一樣,Mokotio具有這種惡意軟件的共同特征,例如使用Delphi編寫,使用偽造的彈出式窗口,其中包含后門功能以及以西班牙語和葡萄牙語國家為目標。

    sql注入硬編碼
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    規范要求1、對用戶提交的數據在保存和展示前對特殊字符進行轉義,防止XML注入攻擊。此類問題均容易導致密碼的泄露。規范要求1、配置文件中涉及到需要用戶驗證的密碼字段采用加密后保存,禁止明文或使用弱加密算法對密碼進行加密。規范要求建議采用不可逆的加密方式對密碼進行加密如MD5。
    代碼審計,說白了就是白盒測試,審查代碼檢查是否有安全問題,核心就兩點:跟蹤用戶輸入數據+敏感函數參數回溯。
    近日,Fortinet發布安全公告,修復了產品中的22個安全漏洞。其中最嚴重的是FortiPortal中的一個遠程代碼執行漏洞和一個SQL注入漏洞。建議受影響用戶盡快更新至安全版本進行防護,并做好資產自查以及預防工作,以免遭受黑客攻擊。
    360漏洞云監測到Fortinet FortiPortal存在多個嚴重漏洞。
    研究人員報告稱,Web應用攻擊持續增多,其中大部分惡意活動針對Web應用編程接口展開。 10月27日,互聯網安全公司阿卡邁指出了Web API所面臨的攻擊面增長問題。研究人員實際上并沒有區分針對Web應用的攻擊和專門使用Web API的攻擊,但認為針對Web應用的攻擊增長主要源自應用服務器暴露的API。阿卡邁的報告揭示,SQL注入、本地文件包含和跨站腳本這三大Web攻擊途徑占所有Web攻擊的近9
    淺析websocket劫持
    2022-07-15 15:43:18
    WebSocket劫持漏洞導讀WebSocket協議技術WebSocket是HTML5推出的新協議,是基于TCP的應用層通信協議,它與http協議內容本身沒有關系。為了建立連接,瀏覽器和服務器通過HTTP執行WebSocket握手。此時,網絡連接保持打開狀態,并且可以用于向任一方向發送WebSocket消息。
    開源代碼隨意使用開源代碼雖然使用方便,但會帶來許多安全威脅。容器鏡像加固對容器鏡像進行加固有助于限制潛在的安全風險并減少漏洞。企業要確保不斷地掃描它們,以查找其中可能潛入的安全漏洞。DAST通常在應用程序部署到試運行環境之后完成。確保容器環境的可觀察性安全運營團隊需要了解全局,以便盡早緩解威脅,這就是合作至關重要的原因。
    對于各類數字化應用系統而言,都需要依靠訪問權限來限制用戶和設備對系統進行設置和應用。因此,訪問權限是一個非常重要的安全特性,它們決定了用戶可以與應用系統及其相關資源進行交互的程度。而那些具有廣泛系統控制能力的管理員賬號或根權限賬號,則被稱為特權訪問賬號。隨著網絡威脅態勢的不斷發展,企業的特權賬號正在成為攻擊者的重點攻擊目標。
    應用安全測試工具市場已經進入成熟期,本文將介紹9個國外頂級的SAST和DAST工具。 近年來,隨著SolarWinds為代表的軟件供應鏈安全威脅的持續增長,企業對應用安全和開發安全的重視程度也在不斷提升,只有將安全性工作融入整個軟件開發生命周期,才能從根本上償還軟件開發的“安全債”。
    Andrew
    暫無描述
      亚洲 欧美 自拍 唯美 另类