ポタオ䜜戊サむバヌスパむマルりェアの分析、パヌト2

その機胜の点では、Win32 / Potaoマルりェアには、BlackEnergyトロむの朚銬ず共通する倚くの特城がありたす。 Potaoの技術的胜力を怜蚎する前に、このマルりェアファミリの名前の由来を怜蚎しおください。







最初のPotaoサンプルには、暗号化されたGlobalPotao文字列が含たれおいたした 。 ESETりむルス察策補品でも怜出されるその他のPotaoサンプルには、 Sapotaoおよびnode69ずいう名前が含たれおいたす。 これらの単語は、PotaoラむブラリDLLファむルの名前、および実行可胜ファむル内のPDBパス行で䜿甚されおいたした。 以䞋は、Potaoデバッグシンボルを含むPDBファむルぞのパスを持぀文字列の䟋です。





図 21.マルりェアファむルの本文にあるPDBファむルぞのパス。





図 22.マルりェアファむルの本文にあるPDBファむルぞのパス。





図 23.マルりェアファむルの本文にあるPDBファむルぞのパス。





図 24.マルりェアファむルの本文にあるPDBファむルぞのパス。



Potaoマルりェアファミリは、サむバヌ犯眪者がサむバヌスパむ掻動に䜿甚し、感染したコンピュヌタヌからさたざたな機密情報を抜出し、リモヌトのサむバヌ犯眪者サヌバヌに送信するツヌルの兞型的な䟋です。



他の倚くの悪意のあるプログラムず同様に、Potaoはドロッパヌず呌ばれる特別な悪意のあるファむルを介しおシステムにむンストヌルされたす。 Potaoドロッパヌの可胜な配垃ベクトルを以䞋に再瀺したす。





ドロッパヌポタオは2段階で実行されたす。 最初の段階で、実行可胜なPEファむルをそれ自䜓から抜出し、䞀時ファむルtempを含むディレクトリにダンプしたす。 たた、おずりドキュメントファむルを珟圚のディレクトリにダンプし、それを開いおOSのアクションをマスクし、悪意のあるプログラムをシステムにむンストヌルしたす。 ドロッパヌによっお抜出された実行可胜ファむルは、 RtlDecompressBuffer API関数を䜿甚しおそれ自䜓からDLLラむブラリヌを抜出したす。 ラむブラリは次の堎所にフラッシュされたす。



APPDATA\ Microsoft \LUID.dll



その埌、ラむブラリはプロセスexplorer.exeに埋め蟌たれたす。 DLLを盎接ディスクにフラッシュする前に、悪意のあるプログラムの実行可胜ファむルは特別なアクションを実行したす。 ゚クスポヌトテヌブルの関連芁玠にある゚クスポヌトされた関数の名前の1぀をLUIDの特別な倀に修正したす。 以䞋のスクリヌンショットは、この操䜜を実行し、指定された関数名を「_85fc」に倉曎する悪意のあるプログラムの機胜コヌドを瀺しおいたす。 その結果、ディスクにフラッシュされた各DLLは異なるハッシュを持ちたす。





図25. Potaoドロッパヌ関数。メモリ内のDLL゚クスポヌトの名前の倉曎に特化しおいたす。





図26.゚クスポヌトされたラむブラリ関数の名前の倉曎の結果。



そのDLLを実行するために、Potaoはrundll32.exeず呌ばれる暙準のWindowsアプリケヌションを䜿甚し、システム内での生存を確保するために、LUIDパラメヌタヌを持぀次のレゞストリキヌを䜿甚したす。



HKCU \゜フトりェア\ Microsoft \ Windows \ CurrentVersion \ Run



すでに瀺したように、Potaoはモゞュラヌアヌキテクチャを䜿甚し、远加のプラグむンを䜿甚しおその機胜を拡匵できたす。





図 27. Win32 / Potaoの䞀般的なアヌキテクチャ。



悪意のあるプログラムをシステムにむンストヌルする際、ドロッパヌは䞊蚘のDLLをexplorer.exeプロセスに挿入したす。 システム内の特別なミュヌテックスの存圚を確認した埌、悪意のあるコヌドは、Webブラりザヌ、Skype、uTorrentなどの䜜業プロセスのアドレス空間にも埋め蟌たれたす。 explorer.exeコンテキストに埋め蟌たれた悪意のあるコヌドの䞀郚は、Potaoプラグむンのダりンロヌドず実行を担圓し、ネットワヌク接続のあるプログラムに埋め蟌たれたコヌドは、CCサヌバヌずの察話を担圓したす。 これらの郚分間の盞互䜜甚は、名前付きパむプを介しお行われたす。



プラグむンの抂芁



䞊蚘のメむンDLLは、悪意のあるプログラムの最も基本的な機胜のみを実行したす。 スパむ掻動の機胜を実装する責任は、ダりンロヌド可胜なプラグむンモゞュヌルにありたす。 悪意のあるコヌドは、システムで起動されるたびにプラグむンをロヌドしたす。これは、プラグむンがハヌドドラむブに保存されおいないこずを瀺しおいたす。 プラグむンには、最初のFullず2番目のLightの2皮類がありたす。 最初のタむプのプラグむンの実行可胜ファむルはPlugずいう名前の関数を゚クスポヌトし、2番目のタむプのプラグむンのファむルはスキャン関数を゚クスポヌトしたす。 2぀のタむプの違いは、それぞれが必芁な情報を収集しおクラむアントに返す方法です。 完党なプラグむンは、システムが再起動するたで継続的に機胜したす; Lightプラグむンは、必芁な情報を含むバッファヌが返された盎埌に䜜業を終了したす。



Potaoボットネットのアクティビティを远跡する過皋で、デゞタル眲名で眲名されたプラグむンを発芋したした図28。





図 28.䞀郚のPotaoプラグむンが眲名されたデゞタル蚌明曞に関する情報。



蚌明曞が発行された組織「Grand Torg」の名前は、「Big Market」ず解釈できたす。 しかし、その名前の組織は芋぀かりたせんでした。 蚌明曞のシリアル番号は0453B96EB039AFD6C9988C8CB698E7C9であり、その倱効は次の時間に実行されたしたAug 19 00:00:00 2014 GMT。 倱効日は実際に発行日ず䞀臎するため、この蚌明曞によっお䜜成されたすべおのデゞタル眲名は無効でした。 この事実は、蚌明曞が悪意のある目的のために最初から悪意のあるナヌザヌによっお䜿甚され、どのベンダヌからも盗たれなかったずいう結論に導きたす。



䞋の衚は、私たちに知られおいるPotaoプラグむンのリストです。











管理CCサヌバヌずの盞互䜜甚



分析したWin32 / Potaoサンプルには、CCサヌバヌコントロヌル甚のいく぀かの異なるIPアドレスが含たれおいたした。 アドレスは、悪意のあるプログラムの本䜓で暗号化されたした。 以䞋はこれらのアドレスのリストです。



87.106.44.200:8080

62.76.42.14-00-0043

62.76.42.14:8080

94.242.199.78-00-0043

178.239.60.96:8080

84.234.71.215:8080

67.103.159.141:8080

62.76.184.245:80

62.76.184.245-00-0043

62.76.184.245:8080



マルりェアはこれらのアドレスの1぀を遞択し、接続を確立しようずしたす。 䜿甚されおいるポヌトのリストからわかるように、HTTPずHTTPSの䞡方で盞互䜜甚を実行できたす。 サヌバヌずの察話には、2段階で匷力な暗号化アルゎリズムが䜿甚されたす。 最初の段階ではキヌが亀換され、2番目の段階では盎接デヌタ亀換が行われたす。 図 29このプロセスはより明確に瀺されおいたす。





図 29.ボットずCCサヌバヌ間のキヌ亀換のプロセス、およびそれらの間のネットワヌク盞互䜜甚。



ボットが最初にCCサヌバヌず察話するずき1、HTTPプロトコルのPOST圢匏でリク゚ストを送信したす。 ボットによっお送信されたデヌタは、XML-RPCプロトコルを䜿甚しおカプセル化されたす。 興味深いのは、分析したトラフィックには、10a7d030-1a61-11e3-beea-001c42e2a08bに等しいmethodNameパラメヌタヌが垞に存圚しおいたこずです。





図 30.ボットがサヌバヌに送信するHTTPプロトコルの最初のPOST芁求。



䞊蚘のリク゚ストを受信するず、CCサヌバヌはRSA-20482公開キヌを生成し、別のRSA-20483プラむベヌト静的キヌで眲名したす。





図31.最初のボット芁求に察するCCサヌバヌの応答。これは、base64を䜿甚しお゚ンコヌドされた秘密鍵で眲名されたRSA-2048公開鍵です。



ボットは、サヌバヌによっお眲名されたRSA-2048公開キヌを受け取るず、悪意のあるプログラムファむルにある察応する静的公開キヌを䜿甚しお眲名眲名をチェックしたす5。 怜蚌が成功した堎合キヌ眲名が有効な堎合、受信したキヌ6は次のステップでデヌタを暗号化するために䜿甚されたす。 マルりェアの本䜓に組み蟌たれた公開RSA-2048キヌには、次の圢匏がありたす。







第2段階で、ボットはAES-256察称キヌを生成したす7。 これはいわゆる セッションキヌは、受信したRSA-2048公開キヌ8を䜿甚しお暗号化され、CCサヌバヌ9に送信されたす。



サヌバヌからボットに送信されるデヌタは、AES-256キヌを䜿甚しお暗号化され1213、サヌバヌ偎で解読されたす14。



悪意のあるコヌドでの䞊蚘の暗号化アルゎリズムの実装の技術的な詳现は別ずしお、ボットずサヌバヌ間の盞互䜜甚のプロトコルの圢匏を考えおみたしょう。 ボットは暗号化された圢匏でサヌバヌにリク゚ストを送信したす。リク゚ストの圢匏は以䞋のずおりです。



id = 4699807581825067201maptcode = 0sdata = ver5.1.2600 lv2.8.0002 compCOMPUTER adm1 x0 pfirefox.exemd5 =dlen = 0



リク゚ストには、コンピュヌタヌの識別子ID、キャンペヌンID、OSバヌゞョン、マルりェアバヌゞョン、コンピュヌタヌ名、珟圚のナヌザヌアカりント暩限、OSビットサむズ32たたは64ビット、および珟圚のプロセスの名前が含たれおいるこずがわかりたす。

サヌバヌは、次の圢匏のデヌタで応答したす。



コヌド=CMDデヌタ=PAYLOAD_BASE64_ENCODEDdlen =PAYLOAD_LENGTHmd5 =MD5



codeパラメヌタヌの倀は、ボットが実行するコマンドのタむプを衚したす。 ボットが実行できるコマンドのリストを以䞋の衚に瀺したす。







リムヌバブルUSBメディアを介した配垃



いく぀かの悪意のあるキャンペヌンで、攻撃者は別のPotao配垃ベクトルを䜿甚し、リムヌバブルUSBドラむブの感染を䜿甚したした。 Potaoは、他のワヌム自動実行ワヌムずは異なる方法を䜿甚しお、リムヌバブルメディアに感染したす。 ドラむブのファむルシステムのルヌトにautorun.infファむルを䜜成する代わりに、その実行可胜ファむルをその埌の起動でメディアに保存する簡単で効率的な方法を䜿甚したす。 リムヌバブルメディアぞの感染を担圓するマルりェアコヌドは、ドロッパヌをシステムに接続されおいるすべおのドラむブのルヌトディレクトリにコピヌしたす。 この堎合、リムヌバブルメディアのラベルがドロッパヌファむルの名前ずしお遞択され、このメディアのシステムアむコンがアむコンずしお遞択されたす。 このメディアのルヌトディレクトリにある残りのディレクトリずファむルには、非衚瀺属性ずシステム属性が割り圓おられたす。 ナヌザヌは、ディスクを開くためにアむコンをもう䞀床クリックする必芁があるずいう印象を受けおいたす。 このアクションの結果、圌は実行のためにドロッパヌを起動したす。





図 32.リムヌバブルメディアのルヌトディレクトリにあるドロッパヌアむコンずそのファむル名は、リムヌバブルメディアず同じデヌタず䞀臎したす。



明らかに、登録枈みのファむルタむプの拡匵子を非衚瀺にできるWindowsのデフォルト蚭定では、ナヌザヌにはドロッパヌ実行可胜ファむルの拡匵子は衚瀺されたせん。 たた、属性が倉曎されおいるため、ディスクのルヌトにある他のファむルも衚瀺されたせん。 このマルりェアのトリックは、「゜ヌシャル゚ンゞニアリング」手法に起因する可胜性がありたす。



悪意のあるプログラムには、実行可胜ファむルの分析を耇雑にする特別な方法が含たれおいたす。 これらのメ゜ッドの1぀は、API関数名のハッシュを䜿甚しお呌び出すこずです。





図 33.名前のハッシュ倀を䜿甚しおWinAPI関数のアドレスを取埗したす。



このWindows API関数のアドレスを取埗する方法は、倚くの悪意のあるプログラムで䜿甚されおいたす。悪意のあるプログラムの䜜成者が悪意のあるプログラムの本䜓に関数の名前を残さないようにするため、アンチりむルス䌁業のアナリストの分析プロセスが倧幅に耇雑になりたす。 API関数の名前のハッシュ倀を蚈算するために、悪意のあるプログラムはMurmurHash2アルゎリズムを䜿甚したす。



著者は、Potaoの本䜓に存圚するはずの文字列を暗号化するメカニズムも䜿甚したした。 図 図は、ストリングを解読する機胜を瀺す。





図 34.文字列をデコヌドする機胜。



文字列は、XOR操䜜ず4バむトキヌを䜿甚しお暗号化されたす。 キヌは悪意のあるファむルごずに異なる堎合がありたす。



Win32 / FakeTC-TrueCrypt悪意のある分析



攻撃者がサむバヌキャンペヌンに正圓なTrueCrypt゜フトりェアの悪意のある倉曎を䜿甚したこずは既に述べたした。 この倉曎はりむルス察策補品によっおWin32 / FakeTCずしお怜出され、サむバヌ犯眪者が被害者の暗号化されたドラむブからファむルを抜出するために䜿甚されたす。 FakeTCは、堎合によっおは感染したコンピュヌタヌに埌者のドロッパヌをダりンロヌドできるずいう点でのみ、Potaoに関連付けられおいたす。





図 35.さたざたな囜のWin32 / FakeTC怜出統蚈。



図 図36は、TrueCryptの悪意のあるバヌゞョンのむンタヌフェヌスを瀺しおいたす。





図 36. TrueCryptの悪意のあるバヌゞョンのむンタヌフェヌス。



悪意のあるコヌドは、他の正圓なTrueCrypt関数ずは別のスレッドで実行されたす。 ストリヌムは、 マりント機胜の最埌に䜜成され、システムにマりントされた暗号化されたドラむブ䞊のファむルのリストの取埗に特化しおいたす。 特定の条件が満たされるず、管理CCサヌバヌに接続し、実行のためのコマンドを期埅したす。 悪意のあるコヌドは、悪意のあるナヌザヌによっお、デゞタル眲名されたカヌネルモヌドドラむバヌが含たれたナヌザヌモヌドのTrueCrypt実行可胜ファむルにのみ远加され、そのたた残されたした。



ボットをCCサヌバヌに接続するには、次の条件を満たしおいる必芁がありたす。





サポヌトされおいるFakeTCコマンドのリストを以䞋の衚に瀺したす。







FakeTCでサポヌトされおいるコマンドのリストからわかるように、サむバヌ犯眪者はスパむりェアずしお䜿甚し、远加のプラグむンを䜿甚しお拡匵できたす。 攻撃者は特別なメカニズムを䜿甚しお、FakeTCをpr玢奜きな目から隠し、遞択されたナヌザヌのみにWebサむトで配垃したした。 これにより、攻撃者は長い間気付かれないたたでいた。



おわりに



䞊蚘では、Win32 / PotaoやWin32 / FakeTCなどのESETりむルス察策補品によっお怜出されたマルりェアの分析を提瀺し、サむバヌ犯眪者のさたざたなサむバヌキャンペヌンを詳现に調査したした。 Win32 / Potaoマルりェアはサむバヌスパむツヌルの䟋であり、それを䜿甚するサむバヌ攻撃はAPTに分類できるこずを瀺したしたが、同時に、Potao自䜓は高床な高床なマルりェアに起因するものではありたせん。



サむバヌ攻撃におけるポタオの䜿甚の背埌にあるサむバヌ犯眪者は、゚クスプロむトの代わりに掗緎された゜ヌシャル゚ンゞニアリングテクニックを䜿甚するこずの有効性を実蚌しおいたす。 このような思慮深いトリックには、悪意のあるプログラムファむルぞのリンクを含む特別なSMSメッセヌゞの䜿甚、およびリムヌバブルメディアに感染する特別なトリックが含たれたす。 このサむバヌキャンペヌンの最も興味深い機胜の1぀は、正圓なTrueCrypt暗号化゜フトりェアの悪意のあるバヌゞョンをサむバヌ犯眪者が䜿甚したこずです。 悪意のあるプログラム自䜓はtruecryptrussia.ru Webサむトに投皿されおおり、すべおのナヌザヌが受信できるわけではありたせん。 さらに、このサむト自䜓がマルりェアの管理CCサヌバヌずしお機胜したした。



䞊蚘の事実は、ポタオのサむバヌキャンペヌンを「玔粋に指向性」ずしお特城付けおいたす。 関心のある問題は未解決のたたです。぀たり、りクラむナの軍ず政府の郚門の埓業員、通信瀟、およびMMM金融ピラミッドの参加者に察しお同様のサむバヌスパむ掻動を行うこずに興味を持っおいる人です。 埌者はりクラむナずロシアの䞡方で人気がありたす。 確固たる蚌拠がなければ、この質問に察する答えの怜玢を掚枬したくないので、この質問は未解決のたたです。



以䞋は、PotaoずBlackEnergyの比范仕様です。










All Articles