サポート情報 | フォーカスシステムズ サイバーフォレンジックセンター

メールでのお問い合わせ
お問い合わせはこちら
東京証券取引所 プライバシーマーク ISMS JUSE

サポート情報

ホーム > サポート情報一覧 > 新たな仮想メモリに展開された情報の内容

新たな仮想メモリに展開された情報の内容

目次へ

 では、第一の着眼点である、VirtualAllocで確保された領域に展開された情報について調べてみましょう。【表1】では、VirtualAllocの後にRtlDecompressBufferが実行されています。しかも、展開先は第2引数で設定されますが、このアドレスは直前にVirtualAllocで確保された領域を用いています。このことから、VirtualAllocで確保された領域に、RtlDecompressBufferで0x007216C0以降の情報を解凍することが予想されます。

 では、実際に見て見ましょう。[025BD]で解凍処理を呼ぶことがわかっているので、ここにブレークポイントを設定し、パラメータを確認した後、Step overをしてみます(【図48】、【図49】参照)。

CryptoWall_IDA_Step020

【図48】RtlDecompressBuffer実行前

 

CryptoWall_IDA_Step021

【図49】RtlDecompressBuffer実行後

 

 【図49】のメモリに展開された情報を見ると、MZのマジックナンバーやDOSスタブにあるお決まりの「This program …」の文言、[000B8]からのPEヘッダなど、一見してWindows用の実行プログラムであることがわかります。今まで様々な方法で難読化が行われてきましたが、まさにこの情報を取り出すことが目的であった、と言えるわけです。

 念のため、このデータ部分を抽出してファイルに保存しておきましょう。Hex Viewで、保存したい範囲を選択し、右クリックでポップアップウィンドウを表示し、「Save to file」をクリックします。表示されたダイアログで保存先へ移動し、ファイル名を入力することで保存が完了します。なお、メインメニューの「Edit」→「Export data」でも同様の保存が可能です。この場合、ダイアログで「raw bytes」を選択してください(【図50】~【図52】参照)。

IDA_HexViewExport1

【図50】Hex Viewからの保存(ポップアップメニュー)

 

IDA_HexViewExport2

【図51】Hex Viewからの保存(「Save to file」からの保存先ダイアログ表示)

 

IDA_HexViewExport3

【図52】「Export data」からの保存

 

< 仮想メモリ内のWindows API使用フロー目 次 展開されたプログラムの行き先 >