<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>

            原文地址:http://drops.wooyun.org/news/15974

            0x00 引子


            人在做,天在看。

            2015年5月底360天眼實驗室發布了海蓮花APT組織的報告,揭露了一系列長期對我國的關鍵部門進行針對性攻擊竊取機密數據的攻擊活動。

            相關的報告:https://ti.360.com/upload/report/file/OceanLotusReport.pdf

            其實,我們知道對于APT團伙如果不從人員這個根本點上解決問題,那么公開的揭露只是促使其采用的新攻擊方式的緩解措施而已,過不多久就會改頭換面卷土重來。從天眼實驗室跟蹤的多個APT團伙及其活動來看,從未有什么團伙在被揭露以后而全面停止活動的,從未。正如傳統情報領域的諜戰對抗,網絡空間只是另外開辟的一個新戰場,對抗永遠都會存在,強度也會一再增強。

            發布報告一年左右的今天,我們還在持續監測著海蓮花團伙的活動,最近的大網數據顯示在4月份就發生了數百例新的感染,威脅并沒有出現緩解的跡象,本篇會通過介紹一個真實的案例來展現相關的細節。

            0x01 案例


            這是一個觀察到的真實海蓮花新近攻擊活動,360的天眼威脅感知與天擎終端安全產品使我們能夠對網絡和主機上發生的事情做集中化的關聯分析,讓完整攻擊活動的來龍去脈做準實時的感知和展現成為了可能。

            初始進入

            小王是一個供職于某個敏感機構的員工,他的工作有部分內容涉及對外的聯絡,于是他的電子郵箱地址被公布在單位對外的網站上。

            2016年4月的某一天,他從郵箱里收到一個好像來自上級的郵件,內容很簡略,涉及所在單位的審核計劃。當然,如我們所知的魚叉郵件攻擊那樣,郵件還帶了一個文件名為“2016年度上級及內部審核計劃.rar”的附件。

            不奇怪的,像大多數不太小心的員工那樣,小王點擊附件打開了RAR文件,里面有個名為“關于發布《2016年度上級及內部審核計劃》的通知.exe”的Word程序圖標的文件(應該叫程序)。這時,攻擊行動到達了關鍵點,小王如果有點安全意識,知道來歷不明的EXE文件不可亂點,那攻擊就到此為止了。可惜小王沒有絲毫戒心地點擊了,以下的事情在電腦后臺發生了,而受害者小王對此一無所知。

            程序其實就是OceanLotus Encryptor的一個簡單變化版本,執行以后行為與天眼實驗室在去年發布報告后有同學做的樣本分析基本一致,詳細分析可以參考文章:技術剖析:海蓮花OceanLotus Encryptor樣本分析

            總之,經過層層解密程序最終連接外部的C&C服務器,從此服務器獲取了進一步的指令:從一個服務器下載執行某個模塊以獲取進一步的控制。

            具體的操作

            偽裝成QQ程序的qq.exe進程從 hxxp://xxx.xxx.xxx.xxx/images/logo.png 下載一個看起來是PNG圖片的文件。

            文件名:logo.png

            下載回來打開就會發現這其實是一個Powershell腳本,其主要工作就是把內置的Shellcode加載到內存中執行:

            p1

            var_code中數據Base64解碼以后根據經驗可以斷定是Shellcode:

            p2

            最前面0x34字節的Shellcode負責解密0x34偏移后的數據:

            p3

            從數據的0x34偏移開始為加密段,數據的結構為:

            #!cpp
            struct CodeData
            {
                DWORD dwInitXorCode; //初始密鑰
                DWORD dwLength; //緊跟在后面的惡意代碼加密后的長度(解密是和dwInitXorCode異或)
                Byte* bData;//編碼的惡意代碼的內容
            }
            

            p4

            解密后確認數據構成一個PE文件,如下代碼為解密算法:

            #!cpp
            void Decode()
            {
                DWORD dwFirst = 0;
                DWORD dwSecond = 0;
                memcpy((void*)&dwFirst, data+0x34, 4);
                memcpy((void*)&dwSecond, data+0x38, 4);
                DWORD dwLength = dwSecond ^ dwFirst;
            
                DWORD dwXorCode = dwFirst;
                unsigned char* szNewBuffer = new unsigned char[dwLength];
                memset(szNewBuffer, 0, dwLength);
                for (int i = 0; i<dwLength; i+=4)
                {
                    DWORD dwBuffer = 0;
                    memcpy((void*)&dwBuffer, data+0x38+4+i, 4);
                    DWORD dwNewBuffer = 0;
                    dwNewBuffer = dwBuffer^dwXorCode;
                    dwXorCode = dwXorCode^dwNewBuffer;
                    memcpy(szNewBuffer+i, (void*)&dwNewBuffer, 4); //szNewBuffer為解密后的數據
                }
            }
            

            解密后的文件是DLL模塊:

            p5

            DLL文件的導出模塊名為beacon_dll.dll:

            p6

            通過對該DLL的分析發現,入口處會把0x1002e040處的數據通過和0x69異或解密,數據長度為1552字節;如圖:

            p7

            解密后可以看到配置信息,里面包含進行通信的C&C地址、Url、UserAgent和亞馬遜的域名(為了填充遠控協議的HTTP頭的host字段)等配置信息:

            p8

            抓包發現木馬在進行HTTP隧道通信的時候還耍了點小花招,在請求的Host字段填了知名站點的網址,傳輸的內容經過編碼后放到Cookies字段里,試圖混淆視聽繞過監測,而偽裝的host就是在配置信息里;如圖:

            p9

            數據包的HTTP頭的Host字段為www.amazon.com,而連接的IP地址為xxx.xxx.xxx.xxx,該IP為木馬的C&C地址,Host字段填的為知名網站,如圖:

            p10

            而xxx.xxx.xxx.xxx這個IP從來就沒有綁定過域名www.amazon.com。

            滲透工具

            分析到這兒對現在泛濫成災的基于Powershell的攻擊框架熟悉的同學可能已經看出來了,這個攻擊荷載就是大名鼎鼎的商業滲透工具Cobalt Strike生成的,去年友商也發現過海蓮花團伙使用Cobalt Strike框架進行APT攻擊。

            不管如何,我們的小王點擊執行了那個誘餌程序,他的電腦已經默默地連接到了海蓮花團伙的控制端,對方看到的操作界面應該是這樣的:

            p11

            框架支持木馬數據交互走HTTP、HTTPS、DNS和SMB隧道協議,當前攻擊所用到的beacon.dll就支持beacon_http、beacon_dns、beacon_https和beacon_smb這些監聽方式:

            p12

            框架支持多種類型的攻擊荷載生成:

            p13

            由于能夠輕松繞過現有的病毒查殺工具,基于Powershell的后門木馬大受歡迎,Cobalt Strike的PayLoad Generator功能就支持這個選項:

            p14

            攻擊框架生成的payload.ps1腳本與我們在這回的攻擊中看到的logo.png文件大小存在很大差距:

            p15

            區別就在var_code變量的內容:

            p16

            框架產出的payload.ps1腳本中Shellcode功能比較簡單,從中可以提取出下載的url地址為:http://xxx.x.x.xxx:808/vQEV,從該網址下載下個階段的Shellcode執行,如圖:

            p17

            下載回來的數據大小為186KB:

            p18

            下載回來的代碼除了后面的加密后的數據段不一樣,Shellcode和海蓮花組織的Shellcode的代碼是一樣的,如圖為攻擊框架下載下來的vQEV模塊的解密代碼:

            p19

            而海蓮花的這個名為logo.png的Powershell腳本則直接把需要下載回來的這塊代碼嵌入到var_code變量中直接執行而不是從網上下載,雖然增大了文件,但減少了由于網絡和服務的問題導致的失敗。

            橫向移動

            控制了小王的電腦,在單位里建立了立足點,海蓮花團伙開始使用Cobalt Strike在內網里橫向移動。Cobalt Strike框架不僅用來構造初始入侵的Payload投遞工具,在獲取內網節點的控制以后自動化地掃描發現內網系統各類漏洞及配置問題加以利用以擴大戰果,比如我們看到控制者往小王的機器上傳了用于掃描SMB服務工具nbtscan.exe,然后立即運行起來對內網執行掃描。

            一天以后,內網中的另外幾臺機器被攻陷,因為受感染機器發出了對外的C&C的連接。其中包括了一臺內網辦公用服務器,接著我們又看到了非常熟悉的手法:服務器中的兩個重要可執行文件被綁上了木馬程序同時提供假的Flash升級包并在用戶訪問的時候提示下載,這樣就把服務器變成了水坑。

            以后的幾天,我們陸續發現內網中其他幾臺客戶端通過訪問這個服務器系統下載執行木馬而被感染,因為網絡中的天眼系統看到了其對外發出的C&C連接。在安裝了天擎終端安全產品的客戶端在執行下載回來的木馬時,雖然做了免殺處理,但基于天眼網絡層的威脅情報聯動,天擎的終端檢測與防御(EDR)機制則會立即對惡意代碼做查殺,使攻擊者完成的初始控制馬上失效。

            總結起來,對于我們觀察到的這次攻擊,整體的過程情況可以用如下的圖來表示:

            p20

            0x02 TTP


            從360天眼實驗室對大網感染情況的監測,自從去年被我們公開揭露出來以后,只在其后的小一段時間有所沉寂,在確認沒有進一步人身威脅以后,海蓮花團伙的活動依舊猖獗,甚至超過以往。

            隨著基于天眼天擎產品在用戶環境中部署量的增加,我們看到越來越多的實際攻擊案例,網絡與終端結合的數據賦予我們的Visibility讓我們對海蓮花團伙的TTP(Tool、Technique、Procedure)有了更貼近的觀察和分析。總體來看,攻擊手法上并沒有什么變化,但是可以看到的是,由于Powershell天生的有效性,APT團伙(或者黑客組織)對其越來越青睞,正如上面的案例所分析的,從初始入侵payload的構建,到后續內網橫向移動等一系列行為中,powershell都被積極地使用,而事實也證明了這樣的手段非常有效。

            以下是海蓮花團伙在Lockheed Martin Cyber Kill Chain各環節上特征描述:

            攻擊階段 特性描述
            偵察跟蹤 關注目標(主要是政府和海事相關)網站,嘗試入侵,收集相關的電子郵箱
            武器構建 使用多種現成的技術生成綁定木馬誘餌程序,當前采用Powershell的Payload非常普遍
            載荷投遞 入侵網站構建水坑、發送定向魚叉郵件
            突防利用 利用似乎工作相關的內容進行社工誘導點擊執行誘餌程序
            安裝植入 下載第二階段Shellcode完成控制,以計劃任務方式達成持久化
            通信控制 之前使用自有實現的通信協議,當前較多地使用商業化攻擊框架Cobalt Strike
            達成目標 使用Cobalt Strike進行集成化的自動滲透,不太在乎隱秘性,只要有可能進一步創建更多水坑

            <span id="7ztzv"></span>
            <sub id="7ztzv"></sub>

            <span id="7ztzv"></span><form id="7ztzv"></form>

            <span id="7ztzv"></span>

                  <address id="7ztzv"></address>

                      亚洲欧美在线