web-dev-qa-db-ja.com

MFT暗号化はどのように機能しますか?

数週間前、PetyaというランサムウェアがDropboxリンク経由で配信されました。新しいランサムウェアが被害者のコンピュータのマスターブートレコード(MBR)に挿入され、システムが再起動します。再起動すると、ハードディスクは暗号化されます。ソリューションについて説明します ここ

人気のテクニカルサポートフォーラムBleepingComputer.comのコンピューター専門家は、この手法が機能することを確認しましたが、影響を受けるハードドライブからいくつかのデータを抽出する必要があります。セクター55(0x37h)から始まる512バイト、オフセット0、8バイトのナンスセクター54(0x36)オフセット33(0x21)。

マスターファイルテーブルの暗号化/復号化はどのように機能しますか(エキスパート以外のユーザーの場合)?

2
GAD3R

これは、malwarebytesでの 記事 は非常に有益です。

ランサムウェアは、暗号化エンジンが組み込まれた小さなカーネルを使用し、chkdskを実行するふりをすると、そのマシン用に生成されて攻撃者に送信されるキーを使用してMFTを実際に暗号化します。

同じエンジンが、攻撃者に支払うときに与えられたキーに基づいて復号化を実行します。

MFTはすべてのファイルのすべてのブロックの参照であるため、ドライブを分析すると、MFTがなくてもすべてのデータを表示できますが、どのように組み合わされているか、どのブロックがどのファイルの一部であるかなどはわかりません。

Salsa2 アルゴリズムは次のように機能します。

uint8_t *key = 128_bit_key_generation();
uint8_t *nonce = unique_message_number();
unsigned len = 500;
uint8_t buf[len];

// Position (in bytes) in the stream
uint32_t sindex = 0;

for (sindex = 0; sindex < 5000; sindex += len) {
    // recv 'len' bytes into 'buf'
    s20_crypt(key, S20_KEYLEN_128, nonce, sindex, buf, len);
    // copy 'len' bytes from 'buf' elsewhere
}
2
Rory Alsop