情報セキュリティに興味があり、私はしばしばエクスプロイトフレーム、暗号化されたjavascript、混乱するリダイレクトを含む感染サイトに対処します...作業を容易にするために、オープンソースプログラムMalzillaを使用します。 残念ながら、ロシアのインターネットでは、このツールに関する情報はほとんどないため、公式マニュアルを翻訳したいと思います。 合計で6つのパートがあり、最初のパートの翻訳は以下のとおりです。パート1
次の図を見てみましょう。

これはページのコンテンツであり、スパムとともに私に送信されたリンクです。
マルウェアへの直接リンクを取得するために、JavaScript関数
unescape()を扱います。 これはまったく問題ではありません、ニュアンス
この関数に渡されるすべてのデータを処理する必要はありません。 私たちはこれに個人的に対処するので、必要です
スキップする部分とスキップしない部分に注意してください。
[
スクリプトをデコーダーに送信 ]ボタンをクリックします
。アクティブな[
デコード ]タブで、[
スクリプトを実行 ]をクリックします。

下のパネルで結果を見ることができます-VBScriptは悪意のあるファイルをダウンロードするために使用されます。
次の例では、ダウンロードをバイパスして、データをバイナリファイルに直接書き込むスクリプトを扱っています。

VBScriptで記述されているため、SpiderMonkeyエンジンはこれを解釈できないため、Malzillaの他の機能を使用します。
最初に、スクリプトのソースコードを
[Misc Decoders]タブにコピーする必要があり
ます 。

現在の例の最初の図を見ると、
MZ署名が最初のステップでファイルに書き込まれ、他のすべてのデータが2番目のステップで書き込まれていることが
わかります。 両方の操作をdingステップで行います。 前のスクリーンショットでは、
\ u4D5Aをコードの先頭に追加しました。これは
ASCIIエンコードの
MZという単語です。 次の関数は値
\ uではなく値
%uを期待するため、ここで値
"Override default delimiter"を
\ uに設定する必要があり
ます 。
「UCS2 To Hex」ボタンを押す
と 、次の結果が得られます。
「Hex To File」をクリックして、結果をハードドライブに保存します。
VirusTotal.comでファイルをチェックした結果:

次の例では、より複雑な変換と数学関数を使用してデータを復号化します。
eval()関数は、復号化結果を実行するために使用されます。これもスクリプトです:


;
スクリプトのソースコードを表示して実行しないように、
eval()を
document.write()関数に変更します。 結果はVBScriptになります。

ご覧のとおり、変換が必要なUNICODEコードのシーケンスがあります。
このコードを
[Misc Decodres]タブにコピーして、
UCS2の
デコード機能を使用してみましょう。


変換の結果はシェルコードになり、悪意のあるファイルのダウンロードアドレスも確認できます。
次の例は、前の例よりも少し複雑です。
ここでは、
dFと呼ばれるスクリプトを使用します(変数名の後に、このスクリプトでよく使用されますが、この例では
zXに変更されます)。

[
スクリプトをデコーダーに送信 ]をクリックして
スクリプトを実行すると、次のように表示されます。

スクリプトの最初の部分のみが復号化されます
(スクリーンショットで強調表示) 。 復号化されたスクリプトを選択します
(<script>タグなし) :

元のスクリプトの上に、現在復号化されている部分に貼り付けます。

スクリプト全体を再度実行し、結果を確認します。

元のスクリプトでトップタブ全体をクリアし、結果のコードをそこに貼り付けます。

もう一度
スクリプトを実行をクリックし
ます 。

少し下にスクロールすると、おなじみのUNICODE文字が表示されます。

前の例に示すようにそれらをデコードします。

その結果、malvaraへの直接リンクを持つ別のシェルコードがあります。
最後に、別のユースケース:

このようなコードを手動で解読するには多くの時間と労力がかかります... Malzillaでは、
スクリプトをDecoderに送信
するだけで
スクリプトを [
デコード ]タブに送信し、実行して結果を取得できます。

スクリーンショットのURLは、感染したファイルへの直接リンクにすぎません!