McAfee Labsは最近、LeChiffreという知名度の低いランサムウェアを受け取りました。スパム攻撃によって配信されるランサムウェアや、他のマルウェアによってダウンロードされるランサムウェアとは異なり、このサンプルは、ファイルを暗号化するために被害者のマシン上で手動で実行される必要があります。このランサムウェアを分析したところ、LeChiffreによって暗号化されたすべてのファイルを、身代金を払うことなく暗号化解除できることを発見しました。
McAfee Labsでは、このマルウェアの2つの亜種を保持しています。どちらの亜種もBlowfish方式を使用してファイルを暗号化します。Blowfishの鍵生成の方法は、両方の亜種で同じです。この方法では、固定文字列、コンピューター名、現在ログオン中のユーザー名、および現在のシステム日付を使用して、2つのMD5の値が計算されます。1つ目のMD5は、固定文字列、コンピューター名、およびシステム日付を連結した出力である文字列に基づいて計算されます。2つ目のMD5は、ユーザー名と固定文字列から得られます。これら2つのMD5の末尾に、このマルウェアのバージョン文字列が付加されます。次にこのマルウェアは、結果として得られた文字列に基づいてSHA1値を計算して、このSHA1値の末尾にFFhの12バイトを付加します。
1つ目のバージョンと2つ目のバージョンの固定文字列は次のとおりです。
- LXAi48XxK9ig6gD351BA0ACF3A661B3E3AA
- dDcLXlen2Dg0gpuV9XZ4hYBR6wrwe55izm24Id
アルゴリズムは次のとおりです。
MD5_1 = MD5(固定文字列 + コンピューター名 + 現在日付)
MD5_2 = MD5(ユーザー名 + 固定文字列)
SHA1_key = SHA1(バージョン文字列 + MD5_1 + MD5_2)
Blowfish_key = SHA1_key + (FFhの12バイト)
このマルウェアは、このBlowfish_keyの値を使用してBlowfish鍵シーケンスを初期化します。このマルウェアは、8つのゼロバイトのバッファを暗号化することで、Blowfishアルゴリズムの初期ベクトルも初期化します。暗号化された値は、暗号化プロセス全体にわたって初期ベクトルとして保持されます。次にこのマルウェアは、この32バイト(SHA1の長さ = 20バイト + FFhの12バイト)を暗号化して、マーカーバッファ内に保持します。
暗号化方法はファイルのサイズに応じて異なります。ファイルサイズが17,032バイトより大きい場合は、最初と最後の2000hバイトが暗号化されます。そうでない場合は、最初の2000hバイトのみが暗号化されます。ファイル全体のサイズが2000hバイトより小さい場合は、ファイル全体が暗号化されます。暗号化後にこのマルウェアは、暗号化されたファイルの末尾にマーカーバッファを追加して、元の拡張子の後ろに「.LeChiffre」という拡張子を追加します(例:abcdef.jpg.Lechiffre)。このマルウェアは、暗号化されたファイルの末尾にこのわかりやすい拡張子を追加するため、元のファイル拡張子に簡単に戻すことができます。
McAfee Labsの分析では、バージョン文字列の興味深い点についても検証しました。バージョン文字列は、1つ目のバージョンでは「v2.5EN:」であるのに対して、2つ目のバージョンでは「V2.6.」です。しかし2つ目のバージョンのマルウェアは、正規のWebサイトであるhttp://api[dot]sypexgeo[dot]net/xml/ に照会して該当する国のISOコードを調べて、攻撃ターゲットのIPアドレスのISOコードをこのバージョン文字列の末尾に追加します。結果として得られるバージョン文字列は「V2.6[ISO CODE]:」です。このマルウェアがこのURLを通じてISOコードを調べられなかった場合は、代わりに「EN」がデフォルトのISOコードとして使用されます。これらの調査結果を再構成することで、McAfee Labsはこのランサムウェアによって暗号化されたファイルを復元するためのツールを作成しました。
Intel Securityが提供する修正プログラムは、感染したマシン上で実行する必要のある独立型のコマンドラインツールです。このツールは、暗号化されたファイルを削除しません。たとえば、暗号化されたファイルの名前がMyPicture.jpg.LeChiffreである場合、このファイルは復号されてMyPicture.jpgという名前に変更されます。同じ場所に同名のファイルが存在する場合は、MyPicture{ランダムな数字}.jpgという名前のファイルが作成されます。このツールは、http://api[dot]sypexgeo[dot]net/xml/ にアクセスしてISOコードを取得します。このツールに対する入力は、ディレクトリまたはドライブのパスです。このツールは、サブディレクトリ内を検索して暗号化されたファイルを見つけます。コマンドラインに入力なしでこのツールを実行すると、ツールの使用法が表示されます。
使用方法
.LeChiffreファイルを削除せずに、暗号化されたファイルを単に復号するには、次の構文を使用します。
- LeChiffreDecrypt.exe “directory_path”
暗号化されたファイルを復号して、.LeChiffreファイルを削除するには、次の構文を使用します。
- LeChiffreDecrypt.exe /delete “directory_path”
このツールを実行したのと同じディレクトリ内に、復号の結果が記録されたLeChiffreDecryptionLog_{ランダムな数字}.txtというログファイルが生成されます。このツールが現在のディレクトリに対する書き込みアクセス権を持たない場合は、システムの一時ディレクトリ内にこのログファイルが生成されます。この復号ツールはここからダウンロードできます(zipファイルのダウンロード)。
親マルウェアの検知と削除は、Intel Securityの製品を使用して行うことができます。理論的には、対称鍵アルゴリズムを使用するあらゆるランサムウェアを復号できますが、攻撃者が採用した暗号化手法に応じて複雑さが異なります。Intel Securityでは、このような攻撃からお客様の環境を防御できるように絶えず努めています。
※本ページの内容は2016年3月28日更新のMcAfee Blog の抄訳です。
原文: McAfee Labs Unlocks LeChiffre Ransomware
著者: Sivagnanam G N(Security Researcher)
【関連情報】