以下はカスタムのbase64変換テーブル(NとM、nとmの位置が入れ替わっている)を用いたbase64デコード・スクリプトの実行結果をhexに変換したものである。

$ python custom_base64.py -t ABCDEFGHIJKLNMOPQRSTUVWXYZabcdefghijklnmopqrstuvwxyz0123456789+/ -d -s aG9nZWZ1Z2E= | xxd -p
686f6665667567610a


変換結果に改行コード(0x0a)が含まれてしまっている。このようなスクリプトの実行結果から改行コードを消したい場合はtrコマンドのdオプションを使用する。

$ python custom_base64.py -t ABCDEFGHIJKLNMOPQRSTUVWXYZabcdefghijklnmopqrstuvwxyz0123456789+/ -d -s aG9nZWZ1Z2E= | tr -d '\r\n' | xxd -p
686f666566756761
overlayとはファイルの末尾に付け足されている余剰データのこと。
例えば、WindowsのPEファイルの末尾にbitmap形式の画像ファイルをコピペした場合、そのコピペされた画像ファイル部分をoverlayと呼ぶ。

overlayを検知するにはDetect It Easy (DiE)などのツールを使うのが手っ取り早い。
xxdコマンドのsオプションとlオプションを併用する。

xxd -s 0x500 -l 100 payload.bin


上記のコマンドはオフセット500から100バイトをpayload.binから抽出する。
抽出したペイロードをバイナリ・ファイルとして保存するには以下のようにする。

xxd -s 0x500 -l 100 payload.bin | xxd -r >> extracted.bin


 上記の注意点としてファイルへのリダイレクトに必ず > ではなく >>を使うこと。
>を使うとファイルの先頭にヌルバイトが書き込まれてしまう。上記のコマンドを例にすると、ファイルへのリダイレクトに>を指定した場合、オフセット500より前のデータがヌルバイトとしてファイルの先頭に書き込まれてしまう。
shellbagsとはユーザーが Windows Explorer(explorer.exe)を用いてフォルダを閲覧した際、開いていたウィンドウのサイズ、位置、フォルダなどの情報をトラックする仕組みのこと。
shellbagsに関する情報はレジストリに格納されており、ユーザーがExplorerを用いて、ローカル・フォルダ、ネットワーク共有フォルダ、外部デバイス上のフォルダをブラウズするたびにレジストリの情報が更新される。

フォレンジック調査の観点では、shellbagsの情報を調べることでユーザーあるいは攻撃者がWindows Explorerを用いて、どのフォルダにアクセスしていたかを確認することができる。

shellbagsの情報をパースするツールは多数あるが多くの場合、ユーザーのレジストリ・ハイブファイル(NTUSER.DAT、USRCLASS.DAT)を必要とする。RegRipperを用いたパース方法についてはこちらを参照。

Ref:
https://www.sans.org/reading-room/whitepapers/forensics/windows-shellbag-forensics-in-depth-34545
環境:
Linux siftworkstationならRegRipperがプリインストールされている。

コマンド:
(sudo) rip.pl -r /path/to/registry_hive_file/USRCLASS.DAT or NTUSER.DAT -p shellbags
以上。

Ref:
https://www.sans.org/reading-room/whitepapers/forensics/windows-shellbag-forensics-in-depth-34545

 | HOME |  »

奇妙な風景 Unique Scene
<< >>

プロフィール


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


スポンサード リンク


FC2カウンター


検索フォーム


RSSリンクの表示


リンク


ブロとも申請フォーム


QRコード