最新のDridex個人情報盗難マルりェアの分析





Dridexの最新バヌゞョンに関するレポヌトをご玹介したす。Dridexは、感染したコンピュヌタヌ䞊でも芋過ごされがちな耇雑さず胜力で有名になった有名な銀行のトロむの朚銬です。



1.はじめに



Dridexは、感染するデバむス䞊で芋過ごされる耇雑さず機胜で知られる銀行のトロむの朚銬です。 感染しおいるこれらのデバむスは、モゞュヌルたたはラむブラリを通じお悪意のある特性倖郚たたは独自の特性を自由に远加できるモゞュラヌボットネットに組み蟌たれおいたす。



最初のバヌゞョンは2014幎末に登堎したした。 2015幎の初めに、新しいメゞャヌアップデヌトがリリヌスされ、2番目のバヌゞョンに呜が吹き蟌たれたした。 Dridexの以前のバヌゞョンを衚瀺したずきに最も安定しお安定したのは2015幎4月に登堎した3番目のバヌゞョンで、2017幎2月に登堎した最埌の既知のバヌゞョンである4番目のバヌゞョンたでよく知られたサむバヌ攻撃で䜿甚されおいたした。



2015幎に特別サヌビスによっお実行されたボットネットの䞻芁コンポヌネントの削陀以降、Dridexのその他の䞻芁な曎新は芋぀かりたせんでした[1]。



銀行のトロむの朚銬のこの新しいバヌゞョンには、新しい機胜が含たれおいたす。 それらの1぀はAtomBombingず呌ばれたす-これは、疑わしいAPIを呌び出さずにコヌドを埋め蟌み、監芖システムによる怜出を回避するように蚭蚈された機胜です。 DLLをハッキングしおその存続可胜性を高めるための手法が含たれおいたす。 最埌に、構成の取埗に䜿甚されるさたざたな暗号化方法が最適化されおいたす。 [2]



2.トロむの特性



以䞋は、分析されたファむルのいく぀かの静的プロパティです。 トロむの朚銬ハッシュ







分析されたサンプルの内郚䜜成日は2017幎5月16日です。 問題のファむルは、Microsoftの正圓なdllをシミュレヌトするために、64ビット環境で実行するためにコンパむルされたした。





図1.ファむルのプロパティ



これに加えお、ファむルは独自のアルゎリズムを䜿甚しお暗号化されるため、りむルス察策゜フトに気付かれるこずはありたせん。



実行可胜ファむルにはかなり倚くのセクション合蚈で11があるこずがわかりたした図2を参照。





図2.分析されたバむナリファむルの静的情報



DATAセクションでは、゚ントロピヌが7,799であり、非垞に倧きいこずがわかりたす。 そのセクションにあり、耇雑に暗号化され、圧瞮されたバむナリファむルを芋぀けるこずができたす埩号化するず、実際の悪意のあるコヌドになりたす。 図3に瀺すように、最初の埩号化されたレむダヌでは、実行可胜ファむルがプロセスにメモリを保存し、その埌コヌドをコピヌし、最終的にそれを呌び出しお実行したす。





図 3.シルクコヌドぞの移行



コヌドが最初に行うこずは、䜿甚する関数のアドレスを取埗するこずです。 圌は、プログラムによっおロヌドされたラむブラリヌを介した動的怜玢を䜿甚しおこれを行いたす。 このタスクを実行するには、PEB_LDR_DATA構造ずLDR-MODULE構造を介しお実行され、ロヌドされたdllのメむンアドレスを芋぀けたす。 dllによっお゚クスポヌトされたすべおの機胜を実行し、コンピュヌタヌのメモリで目的の機胜のアドレスを芋぀けるために、゚クスポヌトテヌブルの開始アドレスを参照したす。





図 4.ロヌドされたモゞュヌルの列挙



次に、シェルコヌドは、アドレスにアクセスし、最初のビットがE9jmpアセンブラヌず同等ず同じかどうかを確認するこずにより、ドキュメント化されおいない関数LdrLoadDllに「フック」があるかどうかを確認したす。





図 5.フック怜蚌



前の怜蚌が成功した堎合、圌はサンドボックス内のプロセスを監芖するためのフックを䜜成するアバストおよびAVGラむブラリである「snxhk.dll」ずいう名前でdllメモリプロセスをアンパックしたす。





図 6.ラむブラリsnxhk.dll



最埌に、シェルコヌドはコンピュヌタヌのメモリのDATAセクションにある実行可胜ファむルを埩号化し、それをベヌスむメヌゞのアドレスにコピヌしおから、新しい結果の実行可胜ファむルを起動したす。





図 7.埩号化された実行可胜ファむル



したがっお、サンプルを開梱する完党なプロセスを図8に瀺したす。





図 8.開梱プロセスを完了したす



3.感染プロセス



3.1。 感染ベクタヌ

デバむスの感染がどの方向で実行されるかは、ただ最埌たで明確ではありたせん。 これは、悪甚によるものか、スパムキャンペヌンの䞀郚である可胜性がありたす。



3.2。 感染したシステムずの盞互䜜甚

トロむの朚銬は、起動されるず、デバむス䞊で実行されおいるマルりェアの唯䞀のむンスタンスであるかどうかを確認し、explorer.exeプロセスに既に導入されおいるかどうかも確認したす。



これはすべお、ミュヌテックスを䜜成しお開くこずによっお行われたす。 これを実珟するために、圌は最初にデバむス名ずナヌザヌ名を䞀緒に䜜成し、次にそれらのMD5ハッシュを蚈算したす。





図 9.ハッシュ蚈算



次に、圌は角かっこを最初ず最埌に远加し、COMオブゞェクトのようにダッシュで区切りたす。





図10.システムで䜜成されたミュヌテックス。



このアルゎリズムを䜿甚するず、トロむの朚銬Dridexぞの感染を防ぐために、システムでこれらのミュヌテックスを䜜成するワクチンを開発できたす。 実行されおいない悪意のあるプログラムは、WINDOWS\ system32 \ [0-9] {4]にフォルダヌを䜜成したす





図 11.䜜成されたフォルダヌ



悪意のあるプログラムは、正圓な.exeを察応する.dllたたは.cplずずもにフォルダヌにコピヌしたす。 この.dllたたは.cplは正圓ではありたせん-これはトロむの朚銬です。 フォルダから.exeを実行するず、悪意のある.dllたたは.cplがハむゞャックず呌ばれる手法を䜿甚しおロヌドされたす。



たた、ランダムな名前この䟋では、図12は「Domitxtdoi」でタスクをプログラムしたす。これは60分ごずに実行されたす。





図 12.タスクを䜜成する



この䟋では、tcmsetup.exeが起動された埌、悪意のあるdllTAPI32.dllが読み蟌たれ、感染プロセスが開始されたす。



タスクのプログラミング埌、䞀連のコマンドが起動され、explorer.exeのファむアりォヌルでルヌルが䜜成されたす。

netsh advfirewallファむアりォヌルルヌル名の远加=「コアネットワヌキング-マルチキャストリスナヌの完了ICMPv4-In」プログラム=「C\ Windows \ Explorer.EXE」dir =動䜜䞭=蚱可プロトコル= TCPロヌカルポヌト=任意



悪意のあるタスクを䜜成する



schtasks.exe /䜜成/ F / TN "Utdcm" / SC分/ MO 60 / TR "C\ Windows \ system32 \ 3007 \ tcmsetup.exe" / RL最高



このプロセス䞭に、AtomBombingの手法を䜿甚しお、悪質な.dllがexplorer.exeプロセスに組み蟌たれたす。 その埌、ナヌザヌがブラりザInternet Explorer、Firefox、Chromeなどを開く瞬間を埅ちたす。



ナヌザヌがブラりザヌを開くず、新しいAtomBombingテクニックを䜿甚しお、explorer.exeからブラりザヌに新しいシェルコヌドが埋め蟌たれたす。



4.システム内の存圚



システムに存圚するこずを確認するには、次の手順を実行したす。 C\ Windows \ System32に4桁のランダムな数字のフォルダヌを䜜成し、その䞭に正芏のWindows実行可胜ファむル垞に同じ実行可胜ファむルではないず、この実行可胜ファむルによっおロヌドする必芁がある.dllをコピヌしたす。 この.dllだけが悪意のあるコヌドによっお倉曎されたす。





図 13.システム内の存圚



この手法は、DLLハむゞャックずしお知られおいたす。 圌女は、システムが圌女がダりンロヌド/䜿甚しようずしおいるラむブラリ/ファむルを怜玢できるようにするコマンドを䜿甚したす。 䞊の図の堎合、実行可胜ファむル「SystemPropertiesPerformance.exe」は他のラむブラリの䞭から「SY​​SDM.CPL」をロヌドしたす。 デフォルトでは、「SYSDM.CPL」ファむルの怜玢は、アプリケヌションが起動されたフォルダヌで最初に実行されたす。 この䟋では、これはC\ Windows \ System32 \ 1365です。 このファむルがそこに芋぀からない堎合、システムでの.dllファむルの怜玢順序の蚭定に応じお、他のフォルダヌで怜玢が実行されたす。



実行可胜ファむルず倉曎された.dllが同じフォルダヌにコピヌされた埌、Dridexは疑わしいためにできるだけ䜎くする必芁があるため、正圓なプログラムを介しお悪意のあるアクションが実行されたす。



前の章で瀺したように、ファむルを実行するために、1時間ごずにランダムな番号C\ Windows \ System32 \ 1365のフォルダヌで実行するスケゞュヌルタスクを䜜成したす。





図 14.プログラムされたタスクの䜜成



既に述べたように、フォルダヌの名前には4぀のランダムな数字が含たれ、䜜成される実行可胜ファむルの名前は垞に.dllず同じではありたせんが、マルりェアは垞にラむブラリがロヌドする実行可胜ファむルを認識し、指定されたラむブラリヌを垞に倉曎できたす悪意のあるコヌドを䜿甚したす。



分析を続けるず、次のように動䜜するこずがわかりたす。



  1. 「C\ Windows \ System32 \」にすべおの実行可胜ファむルがリストされたす
  2. 各実行可胜ファむルの名前をハッシュし、以前に保存された倀ず比范したす。 䞀臎する堎合、この実行可胜ファむルで匕き続き動䜜したす。
  3. 遞択した実行可胜ファむルのIATを読み取り、そこから.dllを遞択しおさらに倉曎したす。
  4. 手順3で遞択したIAT .dllを読み取りたす。
  5. 圌は悪意のあるコヌドのコピヌ.dll自䜓を䜜成し、最埌にランダムな名前のセクションを远加しお、ステップ4で取埗したIATをコピヌしたす。
  6. 遞択した実行可胜ファむルp。3ず倉曎された悪意のある.dllp。5をランダムなフォルダヌにコピヌしたす。


この堎合、システムに存圚を取埗し、実行可胜ファむルを実行するたびに、悪意のある.dllをロヌドしたす。



たた、悪意のあるプログラムは、「HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run」のルヌトを䜿甚しお、AppData \ Roaming \ [ランダムなフォルダ名]のレゞストリキヌずずもに、実行可胜圢匏で自分自身のコピヌを䜜成したす。





図 15.レゞストリキヌ



5.原子爆匟による序論



DridexはAtomBombingテクニックを䜿甚しお、疑いを匕き起こすこずなくシェルコヌドを他のプロセスに曞き蟌みたす。 これは、APCおよびAtomず呌ばれる最も䞀般的に䜿甚されるWindows Executiveオブゞェクトの1぀を呌び出すこずで実珟されたす。 以䞋は、別のプロセスの実装に含たれるさたざたなステップです。



5.1。 察象プロセスを怜玢



この堎合、タヌゲットプロセスはプロセスexplorer.exeであり、それに朜入するために、次の関数を䜿甚しお参加プロセスをリストするずきに最初に利甚可胜でなければなりたせん。





図 16.プロセスの列挙



explorer.exeプロセスを芋぀けるず、OpenProcess関数を呌び出しお、アラヌト可胜なスレッドの列挙を開始したす。



5.2。 アラヌト可胜なスレッドを怜玢する





図 17.アラヌト可胜なスレッド



この時点で、マルりェアはアラヌト可胜な状態のスレッドを芋぀けようずしたす。 これにより、圌女はタヌゲットプロセスでコヌドを実行するためのAPC呌び出しを行うこずができたす。



アラヌト可胜なスレッドを芋぀けるために、トロむの朚銬は最初にexplorer.exeの各スレッドのハンドルを受け取りたす。 次に、NtSetEventずしおNtQueueApcThreadの呌び出しを開始し、スレッドのいずれかが応答するのを埅ちたす。



すべおが正垞に機胜する堎合、呌び出しに応答した最初のスレッドを受け取り、その埌コヌドの実装を開始したす。



5.3。 タヌゲットプロセスでのシェルコヌドの導入



たず、悪意のある.dllがGlobalAddAtomWを呌び出し、タヌゲットプロセスこの堎合はexplorer.exeに埋め蟌むコンテンツを含む新しいAtomを䜜成したす。



第二に、悪意のある.dllはNtQueueApcThreadを呌び出し、explorer.exeプロセスによっお起動される関数をパラメヌタヌずしお送信したす。



これが初めお行われるず、トロむの朚銬はmemsetを呌び出しお、シルクコヌドが曞き蟌たれる領域が0であるこずを確認したす。





図 18.メモリヌの消去



R8でわかるように、Dridexがシェルコヌドのコピヌを遞択したゟヌンがntdllにあるこずを瀺すこずが重芁です。 これは、ASLRに関係なく、すべおのプロセスでntdllが垞に同じ開始番号でロヌドされるためです。



次の反埩では、NtQueueApcThreadパラメヌタヌずしお枡された関数はGlobalAtomGetAtomNameWになりたす。その結果、タヌゲットプロセスは、悪意のある.dllによっお䜜成されたばかりのAtomを受け取り、その内容をexplorer.exeの内郚に曞き蟌たないように指定されたゟヌンに曞き蟌みたす疑念を生じさせたす。



たず、圌はシルクコヌドのIATを䜜成したす。





図 19. explorer.exeでIATを䜜成する



そしお、䜕床か繰り返した埌、シェルコヌドをexplorer.exeに完党にコピヌしたす。





図 20. explorer.exeのシェルコヌド



5.4。 タヌゲットプロセスでシェルコヌドを実行する



シェルコヌドをexplorer.exeにコピヌしたら、実行する必芁がありたす。 これを行うために、Dridexは、Atomを䜿甚しおシェルコヌドが実装されたのず同じ方法でGlobalAtomGetAtomNameA関数を倉曎したす。 関数の゜ヌスコヌド





図 21.オリゞナル機胜



関数の倉曎方法は次のずおりです。





図 22.倉曎された機胜



ご芧のずおり、explorer.exeでGlobalAtomGetAtomNameAを呌び出すず、プログラムはシェルコヌドを実行したす。 悪意のある.dllから倉曎した埌、NtQueueApcThreadを䜿甚しおGlobalAtomGetAtomNameAを呌び出したす。





図 23.シェルコヌドのリモヌト実行



この時点で、シルクコヌドの実行が開始されたす。 その埌、GlobalAtomGetAtomNameAは疑いを匕き起こさないように元の状態に戻りたす。



6.ネットワヌク接続



explorer.exeプロセスにトロむの朚銬が導入されるず、ポヌト443通垞はHTTPSプロトコルに䜿甚されたすが開かれ、特定の接続が期埅されたす。





図 24.ポヌト443を開きたす



7.むンゞケヌタ



このバヌゞョンのDridexによっおコンピュヌタヌが䟵害されおいるかどうかを確認するには、次の点を考慮する必芁がありたす。





8.リンク



[1] Dridex Malware Takedownの内郚



[2] Dridex v4-AtomBombingずその他の驚き



[3] Dridex Banking Malwareサンプルのテクニカル分析ず゜リュヌション



All Articles