先日、GOM Playerの正規更新機能を悪用したマルウェア「Backdoor.Win32.Miancha.*」についてKaspersky Dailyにて紹介いたしました。同様にSecurelist ブログにて解析結果の技術情報を発表したところ、日本語での技術情報も欲しいとの要望を数多く頂戴しました。そこで、Securelistのブログ記事を日本語化して掲載いたします(※一部、前回記事と重複している箇所があります)。本インシデントの経緯については、前回の記事をご参照ください。
今回、弊社で入手した検体は「GoMPLAYER_JPSETUP.EXE」というファイル名です。
図1:GoMPLAYER_JPSETUP.EXE内のファイル一覧
圧縮ファイルの中には以下の2つの実行ファイルが含まれています。
「GOMPLAYERJPSETUP_JP.EXE」は正規の「GOM Player」の更新ファイルです。対して、「GOMPLAYERBETASETUP_JP.EXE」はバックドアをインストールするためのマルウェアです。このファイルが実行されてしまうとユーザーのコンピューターがバックドアに感染し、外部との不正な通信が発生します。図2に「GOMPLAYERBETASETUP_JP.EXE」内のファイルを示します。
図2:GOMPLAYERBETASETUP_JP.EXE内のファイル一覧
「GOMPLAYERBETASETUP_JP.EXE」には以下の表に示した5つのファイルが含まれており、それぞれが悪意あるコードを含んでいます。「GOMPLAYERBETASETUP_JP.EXE」は実行時に自身を解凍し、中に含まれている「install.exe」を実行します。
「install.exe」は、IsWow64Process関数を使用して、実行環境が32ビット環境か64ビット環境かを判断します(図3)。
図3:実行環境の確認
確認結果に基づいて、「install.exe」は「dll.tmp」(64ビット環境の場合は「dll64.tmp」)を「xor x14」の処理を行うことで復号化して「install.ocx」を作成し、作成した「install.ocx」を「%windir%temp」内に複製します。
図4:dll.tmpのxor x14による復号化
復号化の際には「instructions.pdf」(64ビット環境では「instructions64.pdf」)が、「install.ocx」と同様に「%windir%temp」内に複製されます。
さらに、「Default=%windir%install.ocx」と「ThreadingModel=Apartment」の値が以下のレジストリ内に作成されます(あくまで解析環境下で確認した値となります)。
- HKEY_CLASSES_ROOTCLSID{ECD4FC4D-521C-11D0-B792-00A0C90312E1}InProcServer32
- HKEY_CURRENT_USERSoftwareClassesCLSID{ECD4FC4D-521C-11D0-B792-00A0C90312E1}InProcServer32
- HKEY_USERSS-1-5-21-1439904799-1247934098-3846997294-1000SoftwareClassesCLSID{ECD4FC4D-521C-11D0-B792-00A0C90312E1}InProcServer32
- HKEY_USERSS-1-5-21-1439904799-1247934098-3846997294-1000_ClassesCLSID{ECD4FC4D-521-11D0-B792-00A0C90312E1}InProcServer32
レジストリに値を作成すると、「explorer.exe」が再起動されます。これによって、「install.ocx」を読み込んだ状態で「explorer.exe」が起動します。
「install.ocx」は「instruction.pdf」(64ビット環境ではinstruction64.pdf)をメモリ上に読み込み、「xor x14」によって復号化した実行ファイル内のエントリーポイントに処理を移します。
復号化された「instructions.pdf」は、「instructions.pdf」のファイル末尾400バイトのデータをメモリ上に読み込み、「xor x14」で復号化を行います。その後、復号化したデータ内から「AAAAAAAA」、「PPPPPPPP」、「BBBBBBBB」の値を参照し、それに続くデータを取得します。続いて、取得したデータに対してbase64で復号化を行い、さらに「add x7a」と「xor x19」で復号化します(図5)。
図5:base64、add x7a、xor x19による復号化処理
以下の表は、データ名と、復号化前および復号化後のデータです。
ここで復号化されたデータはそれぞれ、外部と通信を行うためのドメインやポート番号などに使用されていました。
カスペルスキー インターネット セキュリティ 2014(カスペルスキー 2014 マルチプラットフォームのWindows対応プログラム)をはじめとする弊社製品は、このマルウェアにすでに対応しており、図6のように「Backdoor.Win32.Miancha.*」として検知します。
図6: カスペルスキー インターネット セキュリティ 2014での検知画面例