ランサムウェアトロイの木馬後のファイルの回復

営業日の終わりに、いずれかの企業の会計担当者は、取引確認が絶えず行われている相手から「検証法.xls」と呼ばれる添付ファイルを含む手紙を電子メールで受け取りました。 視覚的に開こうとすると、会計士の観点からは何も起こりませんでした。 数回開く試みを繰り返し、会計士は、Excelが送信されたファイルを開かないことを確認しました。 受け取ったファイルを開くことができないことについて取引相手に登録解除すると、会計士はPCのシャットダウンボタンを押し、 PCの作業が完了するのを待たずに職場を去りました。 朝になって、コンピューターの電源が切れないことがわかりました。 これをあまり重要視せずに、1Cアカウンティングショートカットを習慣的にクリックして新しい営業日を開始しようとしましたが、ベースを選択した後、不快な驚きを予想しました。









図 1



1C作業環境を起動する後続の試みも失敗しました。 会計士は、組織のコンピューター技術を提供する会社に連絡し、技術サポートを要求しました。 サービス組織の専門家は、1C Accounting 7.7データベースのファイルが暗号化され、拡張子が「ブロック」されていることに加えて、doc、docx、xls、xlsx、zip、rar、1cdおよびその他。 ユーザーのデスクトップにもテキストファイルが見つかりました。このファイルでは、ファイルがRSA 2048アルゴリズムを使用して暗号化されており、ランサムウェアにデコーダーを受信するための費用が必要であることが報告されました。 1Cデータベースは、同じPCにインストールされた別のハードドライブに1Cデータベースフォルダーを含むzipアーカイブを作成する形で毎日バックアップされ、アーカイブのコピーはネットワークドライブ( NAS )に置かれました。 バックアップコピーへのアクセスに制限はなかったため、マルウェアもそれらにアクセスできました。



問題の規模を見積もった後、サービス組織の専門家は暗号化されたファイルのみを別のドライブにコピーし、オペレーティングシステムを再インストールしました。 また、マルウェアを含む手紙は会計士のメールボックスから削除されました。 当時のアンチウイルス企業の一般的なデコーダを使用して復号化を試みても、結果は得られませんでした。 この時点で、組織にサービスを提供している会社は作業を完了しました。



新しい1Cベースでの主要なドキュメントの導入から始める見通し、会計士はあまり満足していませんでした。 したがって、暗号化されたファイルを回復するためのさらなるオプションが検討されました。



残念ながら、元のマルウェアの本体とランサムウェアのメッセージは保存されませんでした。このため、本体を分解することはできず、その動作のアルゴリズムはデバッガーでの分析を通じて確立できました。 また、彼がさまざまなウイルス対策会社と会ったかどうかを確認することもできませんでした。



したがって、構造がよく知られているファイルの分析をすぐに開始します。 この場合、構造が非常に予測可能なため、DBFの分析に1Cデータベースのファイルを使用すると便利です。 ファイル1SENTRY.DBF.BLOCKED(アカウンティングエントリのジャーナル)を取得します。このファイルのサイズは53,044,658バイトです





図 2



暗号化されたDBFファイルを考慮すると、このタイプのファイルに典型的なヘッダーがあるため、最初の0x35バイトは暗号化されていないことに注意し、最初のレコードフィールドの説明の一部を観察します。 ファイルサイズを計算しましょう。 これを行うには、オフセット0x08のWORD、その内容は0x04C1(DBFファイルヘッダーのサイズを示す)、オフセット0x0AのWORD、その内容は0x0130(データベース内の1つのレコードのサイズを示す)、オフセット0x04のDWORD、その内容は0x0002A995(レコード数)であり、0x01は最終マーカーのサイズです。 例を解決します:0x0130 * 0x0002A995 + 0x04C1 + 1 = 0x0032965B2(53 044 658)バイト。 ファイルシステムレコードによると、ファイルサイズは、DBFファイルヘッダーの情報に基づいて計算されたサイズに対応します。 複数のDBFファイルに対して同様のチェックを実行し、ファイルサイズがマルウェアによって変更されていないことを確認します。



DBFの内容を分析すると、オフセット0x35から始まる小さなファイルは全体が暗号化され、大きなファイルは暗号化されていないことがわかります。





図 3



アカウント番号、日付、および金額は、暗号化された領域を含め、機密保持契約に違反しないように変更されています。



オフセット0x00132CB5から開始して、ファイルの最後まで暗号化の兆候がないことがわかります。他の大きなファイルをチェックインすることにより、0x00132CB5(1 256 629)バイト未満のファイルのみが完全に暗号化されるという仮定を確認します。 多くのマルウェア作成者は、ユーザーデータの歪み時間を短縮するために、部分的なファイル暗号化を実行します。 彼らはおそらく、最短時間で悪意のあるコードがユーザーに最大の被害をもたらすという事実に導かれています。



暗号化アルゴリズムを分析しましょう





図 4



図 4 DBFファイルのフィールドヘッダーの代わりに、16バイトのほとんど同一のシーケンス(オフセット0x50、0x70、0x90)があり、16バイトのシーケンスの部分的な繰り返し(オフセット0x40、0x60、0x80)もあります。フィールド名とフィールドタイプを登録します。



この観察に基づいて、 AESRSAなどの暗号化アルゴリズムのアルゴリズムについて少し考えて、これらのアルゴリズムを使用してデータが暗号化されていないという明確な結論を出すことができます。 つまり、顧客が送信した暗号化アルゴリズムに関する情報は偽です。 顧客の誤った結論のために、またはマルウェア作者による詐欺の結果として、信頼できない場合があります。 暗号化されたファイルしか利用できないため、これを確認することはできません。



DBFファイルヘッダーの構造的特徴とシーケンスのバイト変更に基づいて、特定のパターンのデータのXOR操作を使用して暗号化が実行されると想定できます。 また、繰り返しシーケンスの長さに基づいて、パターンの長さが16バイト(128ビット)であると仮定することもできます。 基本ヘッダーは0x04C1バイトで、ヘッダーの1つのフィールドの説明のサイズは0x20(32)バイトです。 したがって、このDBFファイルのヘッダーには(0x4C1-0x21)/ 0x20 = 0x25(37)フィールドの説明が含まれます。 図 2つのフィールドのレコードの4つのフラグメントは、オフセット0x10から始まる赤でマークされます。1Cの場合、0x10自体を除いて通常0値を持ちます(このオフセットはフィールドのサイズを示すため)。これに基づいて、16バイトのうち15バイトがすでにあると仮定できます暗号化0x97 0x99 0xE6 0xBF 0x4B 0x6C 0x77 0x76 0x3A 0x80 0x0B 0xXX 0xAF 0x45 0x6A 0xB7。



キーの最後のバイトを見つけるために、同じDBFファイルの別のフラグメントを取得します。





図 5



図5では、ゼロ列、より正確には暗号化されていない部分に注意を払い、そこに値0x20が存在することを確認します(ASCIIテーブルによるスペースコード)。 したがって、列の暗号化された部分では、いくつかの同じ値が優先されます。 これは0xFAであることが簡単にわかります。 不足しているキーバイトの元の値を取得するには、0xFA xor 0x20 = 0xDAを実行する必要があります。



取得した値を欠落位置に置き換えて、完全なキー0x97 0x99 0xE6 0xBF 0x4B 0x6C 0x77 0x76 0x3A 0x80 0x0B 0xDA 0xAF 0x45 0x6A 0xB7を取得します。



xorプロシージャを実行した後、暗号化されたセクションで受信したキーを使用した操作は、ファイルの元のコンテンツを受信しました





図 6



最終的な制御として、zipアーカイブを復号化する操作を実行してから、アーカイブを解凍します。 すべてのファイルが抽出され、どのファイルにもCRCエラーがなかった場合、最終的にキーの正当性を確認できます。 最後のステップは、技術仕様に従って残りのファイルを解凍することです。



この例は、マルウェアの作者のすべての記述がおそらく真実ではないことを示唆しています。 多くの場合、変更されたデータを分析することで、ユーザーデータを復元する問題を解決できます。



このような単純なケースに加えて、最新の暗号化アルゴリズムを実際に使用するランサムウェアトロイの木馬があり、攻撃の場合、このような単純なソリューションは原則として不可能です。 したがって、信頼できるソースからであっても、電子メールで受信したファイルを開くときは非常に注意してください。 ウイルス対策ソフトウェアを定期的に更新し、バックアップを作成して、一度にすべてのコピーのデータにアクセスできないようにします。



次の投稿:LinuxベースのNASで破損したRAIDアレイからデータを回復する

前の出版物:フォーマット後の1C Enterprise(DBF)データベースの復元



All Articles