カーバープ:終わりのない物語

サイバー犯罪グループであるCarberpは、リモートバンキングシステムを危険にさらし、ロシアの大手銀行に対して不正な操作を行うことを目的としたマルウェアファミリを大規模に使用した最初のグループの1つです。 Carberpコアグループの多くのメンバーがすでに逮捕されいますが、このマルウェアファミリはまだ活発であり、進化を続けています。 同僚のAlexander Matrosovは、Carberp銀行のトロイの木馬の最新の変更を分析しました。これを以下に示します。



スクリーンショットはESET Virus Radarの統計を示しており、先月のCarberp感染の影響を最も受けた地域を示しています。







Carberpの影響を最も受けた地域はまだロシアであることがわかります。 この悪意のあるコードの検出履歴を見ると、Carberpグループが2012年の春と夏に最も活発だったことがわかります。 2012年夏の大量逮捕後、ボットネットはまだアクティブでしたが、検出数は減少し始めました。







カーバープグループは、ロシアとウクライナで銀行詐欺に従事している類似グループの中で、依然として第1位です。 次に、ボットコードの最新の更新バージョンと、それらが使用する追加プラグインについて検討します。



悪意のある注入方法



Carberpの最新のドロッパーの1つを分析したところ、 Power Loaderに基づいて信頼できるプロセスに悪意のあるコードを挿入する特別な手法を発見しました。 実行の開始時に、ドロッパーはパブリック(共有)セクションの1つを開き、セクションの1つの最後にシェルコードを追加しようとします。そのリストを以下に示します。







次に、ドロッパーはGapzが使用するのと同じメソッドを使用しますが、コードにわずかな変更を加えるだけです。







最終段階では、悪意のあるコードがexplorer.exeの信頼できるプロセスに導入され、ウイルス対策ソフトウェアをバイパスして、信頼できるプロセスとしてそのアクションをさらに実行します。







この手法は新しいものではなく、Shell_TrayWnd実装メソッドを使用します。これは、数年前にロシアの地下フォーラムで既に説明されていました。



Javaで作成された銀行ソフトウェアの即時変更



トロイの木馬プログラムの別のファミリーであるWin32 / Spy.Ranbyusの銀行クライアントのJavaコードを変更する方法についてはすでに説明しました。 Ranbyusは、銀行業務ソフトウェアコードの実行を追跡するために、実行中にJVM(Java仮想マシン)を変更します。 Carberpは、オープンソースのJavassistライブラリを使用して、Javaで記述された銀行ソフトウェアを変更します。 このライブラリにより、Javaバイトコードをその場で(進行中)管理できます。 悪意のあるコードCarberpは、最も人気のあるオンラインバンキングシステムの1つであるBIFITのiBank 2で、このバイトコードの変更を使用しています。



最後のCarberpサンプルの分析中に、iBank2オンラインバンキングシステムのクライアントソフトウェアに存在する次の行が見つかりました。Javaコードの修正への興味深いリンクがあります。







感染したコンピューターでiBank2クライアントを使用した後、悪意のあるコードは追加のAgentX.jarモジュールを読み込みます(ESETはJava / Spy.Banker.ABとして検出されます )。 このモジュールが正常にロードされると、CarberpはJavassistライブラリをロードしようとします。 Java / Spy.BankerはCarberpの特別なコンポーネントであり、その場で支払い文書を変更するように設計されています。

クライアントのiBank2コードを変更するために使用される逆コンパイルされたJavaクラスは次のとおりです。







iBank2に変更を加えた後、攻撃者はこのバンキングソフトウェアを使用して行われたすべての支払いを制御できます。 BIFITのiBank2システムはコードの整合性をチェックせず、変更後も何も起こらなかったように動作し続けます。つまり、現金取引操作を実行できます。 しかし、この場合、金銭取引はサイバー犯罪グループのCarberpを経由します。



Java / Spy.Bankerモジュールには、ワンタイムパスワードを使用した2要素認証システムをバイパスする機能があります。 このチェックをバイパスするための逆コンパイルされたJavaクラスを以下に示します。







この場合の支払い確認用の逆コンパイルされたコードは次のとおりです。







AgentXモジュールは、Javaシステム自体を変更するのではなく、正規のライブラリを使用してコードを変更するため、通常のマルウェアコンポーネントではありません。 このモジュールを手動で分析しないと、AgenX.jarの悪意のあるアクティビティを認識することは困難です。 この分析を書いている時点では、AgentX.jarモジュールの検出率は非常に低かった。



正当なソフトウェアを悪意のあるコードのコンポーネントとして使用する



正当なライブラリを使用してその機能を実行する、私たちが説明した悪意のあるコードは、それだけではありません。 先週ヨーロッパのいくつかの国が標的とされた標的型攻撃に関する情報が登場しました。 攻撃は、特別な悪意のあるツールキットTeamSpyを使用して実行されました。 TeamSpyは、有名なTeamViewerソフトウェアの変更されたコンポーネントを使用しました。 ESETはこのバックドアを発見しました。このバックドアは2010年以来TeamViewerモジュールを使用しています( Sheldor-Shocked )。 Win32 / Sheldor悪意のあるコード 、2010年以降、Carberpサイバー犯罪グループによって、感染したシステムから手動で送金するために使用されいます。 Carberpグループは、感染したコンピューターへのリモートアクセスに他の正当なソフトウェアも使用しています。 以下の表では、Carberpグループが使用するこのようなソフトウェアの種類を示します。







サイバー犯罪グループによる合法的なソフトウェアツールの使用は、感染したシステムへのリモートアクセスを取得する方法の1つです。 この場合、悪意のあるアクティビティの検出が非常に複雑になります。 Win32 / SheldorWin32 / RDPdoorなどの悪意のあるコードファミリは、元のコンポーネントにいくつかの変更を加えます。 同時に、MipkoやAmmyyなどのソフトウェアは変更なしで使用されます。 場合によっては、ウイルス対策の観点から、正当なソフトウェアを悪意のあるソフトウェアとして検出することは不適切です。



おわりに



この投稿では、サイバー犯罪グループCarberpの活動で記録された最新の変更点をまとめました。 最も興味深い変更は、Java / Spy.Bankerコンポーネント(AgentX.jar)と、ロシアおよびウクライナで最も人気のある銀行ソフトウェアに関連しています。これらは、Javaコードの変更によって攻撃されます。 別の興味深い観察結果は、悪意のあるコードのコンポーネントとして合法的なソフトウェアを使用してリモートアクセスを取得することです。 この場合、特に攻撃者がこのソフトウェアを数か月ごとに変更する場合、誤検知のない(誤検知)につながるようなソフトウェアの検出メカニズムはかなり複雑に見えます。



All Articles