ブログの読者の希望を考慮に入れることにし、ブロッカーからロック解除コードを抽出する方法に関する短い記事を準備しました。 Kaspersky Lab Vyacheslav Zakorzhevskyの責任あるシニアウイルスアナリスト!..
分析のために、新しいTrojan-Ransom.Win32.Mbroファミリーの代表の1つを選択しました。 これらのブロッカーはMBRに感染し、コンピューターのロックを解除するためにユーザーから金銭を強要します。
マルウェアをコンピューターに取り込むプロセスとブートセクターに感染するアルゴリズムの分析に深く入り込むのではなく、修正されたMBRの分析をすぐに開始することにしました。 そのため、問題のブロッカーを起動すると、オペレーティングシステムが再起動し、コンピューターが次回起動するときに次のテキストが表示されます。
ブロッカーの起動後にコンピューターが起動するときに表示されるメッセージ
以下は、ブロッカーに感染する前後のハードディスクの初期セクターのスクリーンショットです。
感染前のハードドライブの初期セクター
感染後のハードドライブの同じ領域の断片
ハードドライブの先頭が大幅に変更されていることが明確にわかります。最初の写真に示されている追加のコード、EGAパターン、およびテキストが追加されました。
以下では、変更されたマスターブートレコードのすべての機能を段階的にペイントします。記事の最後に、ブロッカーが使用するセクターとその目的を含む完全な図を示します。 MBRをデバッグするために、Windows用のIDAとBochsの組み合わせを使用しました。
まず、悪意のあるコードは9番目のセクターを読み取り、0186A:0000に保存します。 次に、CALLF 0186A:0000を使用して移行します。
コードスニペット読み取り9番目のセクター
次に、現在の日付と時刻が参照値でチェックされます。 私の場合、この値(明らかに便利な形式で表示)は06/04/2011 15:04でした。 現在のタイムスタンプが参照よりも小さい場合にのみ、支払いを要求するメッセージが表示されます。 それが大きい場合、ブロッカーは元のICBMを復元し、何も起こらなかったかのようにコンピューターをロードします。 時刻と日付は、次の一連のコマンドを使用してBIOSから直接取得されます。
mov al、x
70h、アル
で、71h
午前10時
悲しい
「x」は取得するものに応じて異なる値を取ります。 BIOSがBCD形式で数値を返すことに注意してください。 AAMおよびAAD命令は、これらの数値を16進数に変換します。
日時のチェックが成功した場合、マルウェアは3番目から5番目までのセクターを包括的に読み取ります。 3番目と4番目には、いわゆる「ユーザーフォントテーブル」が含まれ、5番目にはブート時に表示されるテキストが含まれます。 独自の「スタイル」(大声で)テキストを書くために、INT 10hが呼び出されます。 次に、セクター5〜8が読み出され、5番目とゼロのセクターに含まれるテキストが表示されます(「コードを入力:」)。
テキストを表示するコードスニペット
その後、入力したテキストをチェックするサイクルが機能し始めます。 サイクルは次のように実装されます。 INT 16h命令が最初に呼び出されます。 この割り込みは、キーボードの押されたボタン(AH =スキャンコード、ALは文字)の値をAXに返します。
mov ah、0
プッシュディ
int 16h
ポップディ
jmp short loc_7CC7
次に、入力した文字のチェックがあります。 20h〜7Fhの場合、その値はSTOSB命令を使用してES:DIに書き込まれます。 Enterキー(0Dh)が押された場合、入力された参照文字列はREPE CMPSBを使用してチェックされます。
入力された文字列とロック解除コードの比較
スクリーンショットは、アドレスES:7DA5にコンピューターのロックを解除するために必要な行があることを示しています。 このアドレスにあるものは次のとおりです。「002158RD」、0。 また、CLには数字「6」が入力されているため、「002158」のみを入力すれば十分です。
正しいコードが入力されると、マルウェアは元のMBRを2番目のセクターから取得し、ハードディスクの先頭に書き込みます。
ブロッカーが使用するセクター:
1-メインコード。
2-元の最初のセクター。
3-4-ユーザーフォントテーブル。
5-6-ユーザーに表示されるテキスト。
7-8-セクターはゼロで埋められます。
9-現在の日付と時刻の調整を実行するコード。
PSそして、ハードドライブの最初にあるHiewの「目」を見て、悪名高いコードを見つけることができます。
今、何らかの奇跡によってあなたがそのようなものを拾うならば、あなたがあなた自身でそれを解錠することは難しくありません。 ただし、身元不明のオブジェクトによる感染の場合は、リンクhttp://support.kaspersky.ru/viruses/deblockerをたどる必要があります。 コメントのすべての質問に答えてうれしいです。