Dimnie:GitHubのオタクから企業会計士まで

はじめに



ロシアの情報セキュリティコミュニティは、有名な犯罪グループであるCarbanak、Buhtrap、RTMの新しい攻撃を注視していますが、金銭的脅威の陣営では静かに補充が行われています。 また、まったく新しい銀行のトロイの木馬の出現ではなく、以前に知られているDimnieスパイウェアに銀行モジュールが追加されたことが原因です。



Dimnieは、情報(スクリーンショット、キーボードタップなど)を収集し、感染したシステムにリモートアクセスするためのトロイの木馬です。 ごく最近、1月に1Cの支払いを代替するための新しいモジュールの1つに出会い、Dimnieの作者が情報の盗難を制限したくないことが明らかになりました。



Dimnieは2017年の初めにGitHubサービスのユーザーを攻撃したことで名声を得ました(Palo Alto Networksの同僚がこれについて詳しく書いています)。 しかし、Virus Totalによると、このトロイの木馬は決して新しいものではありません。攻撃者は2014年半ばからフル活用しており、Dimnie実行可能ファイルが最初に発見されました。



トロイの木馬によって攻撃されたGitHubは、多くの開発者によって使用されています。 攻撃者は資格情報を盗んだため、プロジェクトを危険にさらし、第三者組織の信頼悪用していわゆる攻撃を実行する可能性があります



このような攻撃中に、犯罪者は一般的なプログラムのソースコードにバックドアをインストールします。 その結果、攻撃者は顧客に到達すると、大企業や政府機関であることが多いすべてのエンドユーザーのシステムにアクセスできます。 したがって、サイバー犯罪者は一度に一群のウサギを殺し、1つの会社だけを攻撃した場合よりもはるかに多くのシステムを危険にさらします。 さて、これらのシステムへのアクセスは、業界の特定のセクター(銀行など)を専門とする違法なワークショップの同僚に快適に販売できます。



Dimnieトロイの木馬は、管理サーバーへの要求を隠すという異常な方法で群衆からも際立っていました-正当なリソースtoolbarqueries.google.comおよびgmail.comとJPEG画像への要求に従って、それらを隠しました。 しかし、サイバー犯罪者は非常に一般的にそれを配布しました-ソーシャルエンジニアリングの少ないフィッシングメールを使用して:







作業スキーム



Dimnieは、高度なモジュラートロイの木馬です。 すべてのモジュールはメインと補助に分かれています。 主なもの-ダウンローダー、オートランナー、コア、ローダー-は感染するたびに読み込まれ、害はありません。 しかし、補助モジュール-Keylogger、PCInfo、WebHistory、ProcInfo、Banker-は「ペイロード」であり、感染したシステムで情報が抽出および置換されるのは彼らの助けを借りてです。 Dimnieが起動するたびに、ローダーモジュールは、感染したシステムに対して犯罪者が何をしたいかに応じて、追加のモジュールを要求します。 Dimnieの一般的なスキームを図に示します。







モジュールのリスト



私たちのチームは、次のDimnieモジュールをダウンロードして探索することができました。







感染症



1月29日、私たちはこれらの手紙を含むメーリングリストを記録しました。







このレターには、Windowsの実行可能ファイルである「Documents begin of the year.exe」というファイルを含むRARアーカイブが添付されていました。



サイバーセキュリティの問題で特に高度ではない会計士をだますための典型的な手紙は、かなりハッキングされた実行レベルで私たちを驚かせました。 攻撃者にアドバイスを与えることは私たちのルールではありませんが、少なくともアーカイブの名前から「.exe」を削除することができます...



VirusTotalによると、「Documents Beginning of the Year.exe」ファイルも他の名前で配布されました。





犯罪者を隠すために、PDFドキュメントアイコンを使用しました。 デフォルト設定でWindowsに座っているユーザーは、このファイルを実際のPDFドキュメントと区別することはほとんどありません。







疑いを持たない会計士がファイルを開くと、ペイロードが起動します。この場合は、ダウンローダーと呼ばれる最初のDimnieモジュールです。 彼はメインモジュールをダウンロードし、システムで修正します。



ダウンローダー



Downloaderが最初に取得するのは、コアコアモジュールとAutorunnerシステムにドッキングするモジュールです。 これを行うために、彼はDNSクエリを作成して、「justteordingto.xyz」という名前のエントリを取得します。







興味深いことに、ここでは、Palo Alto Networksの専門家によって調査された例のように、トロイの木馬はその要求をリソースtoolbarqueries.google.comおよびgmail.comへのプロキシ要求として、またJPEG画像として偽装しています。







その後、受信したモジュールは別のスレッドで実行されます。







Autorunnerモジュールの場合、EntryPointアドレスが決定され、呼び出しパラメーターが形成されます。モジュールが配置されるメモリアドレス、ネットワーク経由で送信されるデータを暗号化するためのキー、およびモジュール識別子です。 次に、DownloaderモジュールはAutorunnerストリームを作成し、完了するのを待ってから自己削除します。



オートランナー



AutorunnerモジュールにはIPアドレス185.82.217.155が含まれており、そこからCoreモジュールがロードされます。







権限に応じて、Autorunnerは3つのバインド方法のいずれかを使用します。







コア



Coreモジュールの操作の結果として、Namecoinの分散ブロックチェーンインフラストラクチャを参照するドメイン名レコード「worldmed.bit」を取得するためにDNSクエリが作成されます。 ドメイン名は、次のDNSサーバーから要求されます。













.bitドメインゾーンは、一般的なインターネットドメインネームシステムの外部に存在し、ICANNによって規制されていません。 これは、マルウェア開発者によるNamecoin DNSサーバーの最初の使用ではありません。RTMバンキング型トロイの木馬は、「。bit」ゾーンを使用して管理サーバーアドレスを解決しました。 ただし、Dimnieはここでは全員とは異なりました。コアモジュールの操作でのみ「.bit」アドレスを使用し、見つかった残りのモジュールには、モジュールに配線されたIPアドレスの形式で管理サーバーのアドレスが含まれます。 起動するたびに、CoreはLoaderモジュールをロードします。



ローダー



ローダーモジュールは、すべてのDimnieファンクションモジュールをダウンロードして実行します。 ローダーがこのトロイの木馬のモジュールをロードするアドレスは、Autorunnerモジュールのアドレス-185.82.217.156と一致します。







同時に、ローダーはHTTPプロトコルの独自の実装を使用します。 GET要求とPOST要求は別々に生成され、低レベルのwinsock関数が応答の送受信に使用されます。







弊社の評価によると、このようなネットワークの相互作用は企業ネットワークでの使用にはあまり適していません。独自のプロキシサーバーを使用している場合、これらの機能はまったく機能しません。



この実装の通信プロトコルは、Palo Alto Networksの同僚のレポートで説明されているものと変わりません。 同じドメインがGETおよびPOSTリクエスト( toolbarqueries.google.comおよびgmail.com )の作成に使用され、モジュールとそのレポートもJPEGイメージとしてマスクされます。







データを暗号化するために、Dimnieの作成者はECBモードでAES 256を使用します。 このブロック暗号化モードは最も信頼性が低いと考えられています-平文の統計的特徴を保存し、平文の同一のブロックは暗号化されたテキストの同じブロックに対応します。 多くの形式が同じ文字の標準ヘッダーとブロックを使用していることを考えると、ECBは信頼できるとは言えません。これにより、Dimnieの作者の選択は特に奇妙になります。







Dimnieロード可能モジュールの実行方法が異なることに注意してください。









WebHistoryモジュール



WebHistoryモジュールを使用すると、感染したシステムのWebブラウザの閲覧履歴を取得できます。 Mozilla Firefox、Google Chrome、およびInternet Explorerのブラウザ履歴ファイルが存在するレジストリ内のすべてのパスを通過し、その後、それぞれに対して次の形式のメッセージを生成します。







ここで、<URLs_XXX>はブラウザタグ(URLs_IE、URLs_FF、URLs_Chrome)です。 データ生成のタイムスタンプ。 #URL_FILE-レコードが検索されたファイル。 「X ^ Y ^ X ^ V」形式のレコード-タイムスタンプ、ヒット数、リクエストタイプ(h-http、s-https、f-ftp、I-ローカルファイル)、リソース。 データを検索する時間(ミリ秒)。



キーロガーモジュール



Keyloggerモジュールは、WinAPI RegisterRawInputDevices関数を使用してキーストロークをインターセプトし、x86およびx64アーキテクチャをサポートするキーロガーです。 起動すると、explorer.exeに埋め込まれ、このプロセスのコンテキストから後続のすべてのアクションを実行します。 キーストロークログは、ウィンドウヘッダーとクリップボードとともに%TEMP%ディレクトリの一時ファイルに保存されます。 次に、このすべてのデータが管理サーバーに送信されます。







PCInfoシステム情報収集モジュール



PCInfoモジュールは、感染したシステムに関する情報(コンピューター名とドメイン、ユーザーリスト、デフォルトのエンコード、ネットワークインターフェイスに関する情報)を収集します。



ProcInfoプロセスリスト取得モジュール



ProcInfoモジュールは、実行中のプロセスのリストを取得します。



窃盗アカウントデータ盗難モジュール



Stealerモジュールは、いわゆる Pony Stealer、インストールされているさまざまなプログラムからユーザーアカウントのパスワードを盗むためのソフトウェア。 Ponyがパスワードを盗むプログラムのリストには、さまざまな暗号通貨のキーを保存するための多くのFTPクライアント、メールプログラム(Outlook、Thunderbird)、ウォレットファイル(wallet.datおよびelectrum.dat)など、100を超える人気アイテムが含まれています。







この場合、Pony StealerはDLLとしてコンパイルされ、残りのモジュールと同様にロードされます。 盗まれたデータは、アドレス「http://185.82.217.244/g/g.php」に送信されます。



銀行支払い注文データ置換モジュール



弊社がロードした最も膨大なモジュールであるBankerモジュールは、リモートバンキングシステム(クライアントバンク)にアップロードされたときに、支払い注文1C(ファイル1c_to_kl.txt)のテキストファイルの受信者の詳細を置き換えます。



管理サーバーから適切なコマンドを受け取ったモジュールは、主にWebブラウザーとリモートバンキングシステムに属するプロセスにコードを実装します。





実装されたコードにより、ファイルを開くときに呼び出されるCreateFile関数をインターセプトできます。たとえば、ユーザーが支払い注文をクライアントバンクにアップロードする場合、開いているファイルの拡張子が「.txt」の場合、「1CClientBankExchange」という行で始まり、「Payment order」というセクションが含まれます「。 この場合、管理サーバーからのデータに従って、フィールドは受信者の詳細に置き換えられます。







次の場合、詳細は変更されません。





Dimnie銀行モジュールの作成者は、Sberbank、VTB、Otkritie Bank、政府機関の顧客、および連邦税務局に割り当てられた資金を盗むことはありません。



これはすべて、サイバー犯罪者が自分の活動にあまり注意を向けたくないことを示しています。明らかに、最近まで完全に成功していました。



Bankerモジュールの通信プロトコルは他のモジュールの通信プロトコルとは異なることに注意してください。データは、SOAPプロトコル、特にオープンソースのgSOAPライブラリを使用して管理サーバーと交換されます。 さらに、管理サーバーへのリクエストは、偽のJFIFヘッダーを使用して暗号化またはトラフィック難読化なしで送信されます。



<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns="uri"><SOAP-ENV:Body SOAP- ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><ns:get_Ar><uniq>1234567890</uniq></ns:get_Ar></SOAP-ENV:Body></SOAP-ENV:Envelope>
      
      





このような方法(SOAP XML)を使用することはマルウェアにとって特徴的ではありません-エンタープライズアプリケーションコードでよく見られます。 これは、トラフィックの暗号化の欠如とともに、Bankerモジュールがサードパーティの開発者によって開発されたことを示唆しています。



おわりに



ディミーは私たちにかなり矛盾した印象を与えました。 一方では、ドメインのマスキング、画像の模倣、非常に複雑なモジュールアーキテクチャ、およびこのアーキテクチャのボトルネックにあるフォールトトレラントなNamecoinドメインなど、興味深い技術を使用しています。 これはすべて、Dimnieの著者が彼らの発案に関する研究に慎重にアプローチしたことを示しているようです。 しかし同時に、トロイの木馬には率直に悲惨な瞬間もあります。ソーシャルエンジニアリングの貧弱さ、暗号化にECBモードを使用すること、プロキシサーバーを介して動作できないこと、および重いSOAPプロトコルです。



同時に、Dimnieから自分を守ることは非常に簡単です。





このような不均一な品質のトロイの木馬は、さまざまな資格を持つ複数のサイバー犯罪者が一度にその開発に関与していると考えさせました。 しかし、情報の盗難から金融の盗難への直接的な移行は恐ろしいことです。



Dimnieの作者がすでに盗んだ金額を概算することはまだ不可能です。金融サイバー脅威レポートで彼について書いている人は誰もいません。横領の成功例にはまだ出会っていません。 このトロイの木馬の作成者は、大規模な銀行や政府機関への攻撃を回避し、おそらく盗難の最大量を制限します。 どうやら、彼らは情報セキュリティ市場の主要なプレーヤーの注目を集めることを恐れています。 そしてこれまでのところ、彼らはこれで非常に成功しています。



Dimnieに関連するネットワーク識別子:



•justteordingto [。] Xyz

•sixgoats [。] Pw

•selenaspace [。]スペース

•guysid [。] Pw

•フラッキング[。]ホスト

•ショートセル[。]トレード

•sellgrax [。]クラブ

•dajebikes [。] Pw

•bestintrading [。] Pw

•justteordingto [。] Xyz

•yibgenkleg [。]ホスト

•リクルーターボックス[。]クラブ

•geforthirode [。] Xyz

•yibkenkleg [。]岩

•yibjenkleg [。] Cn

•webwerkt [。]トレード

•ketpatontjohnbet [。] Xyz

•ハプトホダビ[。] Xyz

•fydomotedwa [。] Xyz

•webfoundation [。]トップ

•185 [。] 82 [。] 217 [。] 244

•185 [。] 82 [。] 217 [。] 155

•185 [。] 82 [。] 217 [。] 156

•185 [。] 82 [。] 217]。] 249



All Articles