CPLマルウェア分析、パート2

ほとんどの場合、URLはプレーンテキストで保存されるか、復号化キーは復号化関数自体にあるため、特別なスクリプトを使用して多くのCPLマルウェアサンプルからこれらのURLを自動的に抽出できます。 文字列をクリアテキストで保存するサンプルの場合、アドレスを含む行をCPLファイルから直接抽出できます。 それ以外の場合、つまり、アドレスを持つ文字列が暗号化されている場合、スクリプトはキーが保存されている復号化関数を分析します。 例外は、スクリプトが暗号化された行を解読できなかったマルウェアサンプルでした。 このようなサンプルでは、​​復号化キーは関数で使用できませんでしたが、CPLファイルのリソースにありました。 そこからキーを抽出するために、悪意のあるコードはリソースを操作するための標準APIを使用します: FindResourceLoadResourceSizeofResourceおよびLockResource 。 復号化キーが配置されているリソース自体は暗号化されています。





図 リソース内の文字列を復号化するキーを持つサンプルCPLマルウェア。



前述したように、 DllMainライブラリへのエントリポイント 、エクスポートされたCPlApplet関数の前に実行され、ほとんどのサンプルに悪意のあるコードは含まれていません。 ただし、一部のサンプルでは、​​マルウェアが仮想マシン環境を検出できる特別なアンチVMコードが見つかりました。 以下のスクリーンショットは、このようなDllMainのコードの断片を示しています。





図 仮想マシンのOS環境をチェックするCPLマルウェア機能のコードスニペット。



上記のコードは、3つの異なる環境(Wine、VMware、Virtual PC)の環境を確認します。 それらのいずれかが存在する場合、 save_str関数が呼び出されます。 この関数は、メディアのタイプを説明する文字列をメモリに保存します。 さらに、 CPlApplet関数コード最初に呼び出されたときにこの行の内容をチェックします。 1つまたは別のメディアの識別子が存在すると、 CPlApplet関数コードにシグナルが送られ、メインメッセージCPL_DBLCLKを処理するコードブロックを実行せずに実行が完了します。



次の図は、Wine環境をチェックするためのコードを示しています。 これを行うには、 GetProcAddress関数を呼び出して、 ntdll!Wine_get_versionおよびntdll!Wine_nt_to_unix_file_name関数のアドレスを取得します。 当然のことながら、このようなエクスポートは通常のシステムにはありません。





図 ワイン環境検証コード。



以下の同様のスクリーンショットは、 DllMainの CPLマルウェアコードを示しています。これは、VMwareの環境をチェックする役割を果たします。 これを行うには、I / Oポートを使用してVMwareのバージョンを取得するための既知のメカニズムを使用します。 仮想マシンのコードがプロセッサの命令を制御するため、このようなチェックが可能です。 この命令は、仮想マシンとユーザーのシステム(ホスト)で実行されているVMwareソフトウェアとの間の対話に使用されます。 スクリーンショットは、この命令の引数を示しています。これにより、値「VMXh」がebxレジスタの呼び出しコードに値として返されます。





図 VMware環境検証コード。



Virtual PCの場合、検証は以下に示されていますが、 vpcextプロセッサからの特別な命令を実行することによって実行されることがわかります。 仮想マシンで実行されていない通常のOS環境では、この命令を実行すると例外がスローされます。





図 Virtual PC環境検証コード。



CPLマルウェアは、他のマルウェアをシステムにダウンロードするためのダウンローダーまたはダウンローダーとして使用されることに言及しました。 この場合、ダウンロードされたマルウェアは銀行のトロイの木馬ですが、代わりに他の種類のマルウェアを使用することもできます。



CPLマルウェアがロードされた銀行のトロイの木馬のサンプルをいくつか確認しました。 それらはすべて同様の特性を持っていました。 調査した銀行のサンプルの1つには、次のSHA-1があります:3C73CA6A3914A6DF29F01A895C4495B19E71A234。 この実行可能ファイルはパッケージ化されておらず、そこにある行はその機能を直接示しており、以下のリストにリストされています。







図 暗号化された銀行マルウェアの文字列。



なんとかこれらの行を解読し、銀行のトロイの木馬が実行する機能と指向するサービスに関する追加情報を受け取りました。 行には次の情報が含まれます。





したがって、分析された銀行家には次の機能が含まれていました:悪意のあるコードを特定のプロセスに導入し、偽のフォームとテキスト入力フィールドを正当なWebページに挿入し、キーボードでユーザーが入力した文字をキャプチャし、マウスカーソルを追跡し、リモートC&Cサーバーとの暗号化された相互作用。



次の図は、ラテンアメリカのオフィスのウイルス研究所によると、悪意のあるCPLファイルのpre延のダイナミクスを示しています。



図 他のDLLおよびEXEファイルと比較した悪意のあるCPLファイルの統計。



上記のグラフは、2009年から2015年の最初の月までの期間における実行可能ファイルのタイプ間のダイナミクスと関係を示しています。 2011年半ば以降、ウイルスラボに届くCPLマルウェアファイルの増加が始まっています。 その後、この成長は安定しましたが、2013年半ばからその傾向が回復しました。



以下の図は、CPLマルウェアの悪意のあるサンプルの分布に関する年ごとの統計を示しています。 2013年と2014年のみ そのようなサンプルの数は、そのような悪意のあるプログラムの合計フローの90%でした。





図 年ごとのCPLファイル検出の分布。



観察した1,500を超えるCPLマルウェアサンプルのうち、検出の82%はWin32 / TrojanDownloader.Banloadブートローダーからのものでした。 このマルウェアファミリは、長年ブラジルで普及しています。 ESET LiveGridテレメトリシステムは、このマルウェアのアクション(感染数が最も多い)で最も大きな打撃を受けた国としてブラジルを指しています。





図 配布地域Win32 / TrojanDownloader.Banload



下の図では、全体のさまざまな国でのWin32 / TrojanDownloader.Banload感染の割合を確認できます。 2014年には、ブラジルがすべての検出の76%を占めていることがわかります。この事実は、この地域における攻撃者の焦点を正確に再確認しています。 2位はスペインであり、ブラジルの11分の1の感染症です。





図 世界のWin32 / TrojanDownloader.Banload検出統計



このマルウェアは、他の種類のマルウェアの中でブラジルでも1位にランクされています。 以下は、2015年3月のこの国の脅威の評価です。





図 ブラジルで最も一般的な脅威。



銀行のトロイの木馬を拡散するためにサイバー犯罪者によって使用されたいくつかの悪意のあるキャンペーンの過程で、約300の異なるドメインを使用した419のURLを発見しました。 これらのアドレスはすべて、マルウェアファイルを指していました。



2013年から2015年にかけて観察した298のドメインのうち、76は侵害されたブラジルのドメインに属していました。 悪意のあるリンクの一部は、bit.lyなどのサービスを使用して短縮されました。 これらのサービスによって収集された情報に基づいて、これらのリンクでのユーザーのクリックに関する統計を取得し、悪意のあるキャンペーンの潜在的な被害者数を取得することができました。



攻撃者自身がショートリンクサービスを使用して、攻撃者の意図を明らかにする可能性のある実際のURLをユーザーの目から隠す。 次の図は、2014年3月の初めから2015年2月までの短縮リンクのクリックスルー統計を示しています。





図 短縮された悪意のあるリンクのクリック数。



以下の表は、いくつかの短縮リンクの変換統計と、それらを使用して配布されたマルウェアを示しています。







この悪意のあるキャンペーンとCPLマルウェアなどのこの種のマルウェアで強調したいもう1つの機能は、ウイルス対策ソリューションによるマルウェアサンプルの検出を複雑にするために攻撃者が使用するパッカーとプロテクターの統計です。 ご覧のとおり、最も一般的なパッカーはUPX-27%です。





図 CPLマルウェアで使用されるパッカーとプロテクターのタイプ。



おわりに



CPLマルウェアのようなこのタイプのマルウェアの動作メカニズム、およびこのタイプのマルウェアによってユーザーのコンピューターにダウンロードされるいくつかのバンキングマルウェアを調査しました。 CPLマルウェアを広めるために、攻撃者は悪意のあるキャンペーンの他のケースと変わらないマルウェアを配信する通常の方法を使用します。



攻撃者はこの種のマルウェアに特別なチェックを提供し、仮想マシンの環境を検出します。 さらに、パッカーとプロテクターを使用して、AV製品からのCPLマルウェアの検出を複雑にします。



All Articles