1 / 19

文字列検出ツール "istrings" の使い方

文字列検出ツール "istrings" の使い方. 2005 年 7 月 9 日 はせがわようすけ hasegawa openmya.hacker.jp. @. Forensic での文字列検出. dd で取得したディスクのイメージ ページファイル ( メモリの残片 ) 電子メールの残骸    :. 文字列の検出には strings コマンドを使う。 ファイル内で連続する ASCII 文字を表示する。. strings コマンド. ファイルに含まれる文字列を検出するツール。.

marly
Télécharger la présentation

文字列検出ツール "istrings" の使い方

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 文字列検出ツール "istrings" の使い方 2005年7月9日 はせがわようすけ hasegawa openmya.hacker.jp @

  2. Forensicでの文字列検出 • dd で取得したディスクのイメージ • ページファイル(メモリの残片) • 電子メールの残骸    : 文字列の検出には strings コマンドを使う。 ファイル内で連続するASCII文字を表示する。

  3. stringsコマンド ファイルに含まれる文字列を検出するツール。 00 01 02 03 04 05 06 07 08-09 0A 0B 0C 0D 0E 0F 0123456789ABCDEF 1E 00 00 00 0B 00 00 00 4E 6F 72 6D 61 6C 2E 64 ........Normal.d 6F 74 00 FA 1E 00 00 00 13 00 00 00 20 20 20 20 ot.......... 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00 00 C:\>strings 文書1.doc bjbj  : 0 2 3 o0[0L0 Normal.dot Microsoft Word 9.0  : 4文字以上のASCII 文字の連続を検出

  4. stringsコマンドの限界 • ASCIIにしか対応していない • 日本語の検出ができない • 一部のstringsではUnicode可だが、これもASCII文字の範囲のみ。 日本語対応のstringsが 欲しいよぅ。 jstrings 開発

  5. 日本語対応の strings • jstrings Shift_JIS、EUC-JP、ISO-2022-JP に対応 した strings コマンド 文字コードに関連した部分を全てハードコーディングしているため拡張性がない Unicodeに ちゃんと対応して 欲しいよぅ。 istrings 開発

  6. 文字コードの基本 • 文字集合文字をたくさん集めたもの • 符号化文字集合集めた文字に番号を順に振ったもの • エンコーディングメモリやディスク上での文字の表現方法

  7. 日本語対応の strings • istrings日本語以外にも多くの文字コードに対応した strings コマンド • エンコーディングの基本部分のみハードコーディング • 文字集合は外部ファイルで定義 • 拡張性が高い • あとから文字コードの追加が可能

  8. 基本的な使い方 C:\>istrings -n 5 -iUTF-16 Book1.xls 5文字以上の文字列を検出 UTF-16の文字列を検出 -nオプション: 文字列とみなす文字数を指定 -iオプション: 文字コードを指定

  9. 設定ファイル 指定されたエンコーディングに関する情報を取得するため、起動時に設定ファイルを読み込む。 4 C:\>istrings 2 3 4 設定ファイル マッピングファイル

  10. 設定ファイルの場所 以下の順に設定ファイルを探し、最初に見つかったものを読み込む。 • -e オプションにより指定されたファイル • 環境変数 ISTRINGS_INI により指定されたファイル • コンパイル時に決定され、EXEファイルに埋め込まれたファイル

  11. 設定ファイルの内容 設定ファイルは、エンコーディングごとに以下のようなセクションを構成している。 エンコーディング名 [Shift_JIS] alias=CP932 alias=Windows-31J system=DBCS mapfile0=C:\map\CP932-1.map mapfile1=C:\map\CP932-2.map : [エンコーディング名] : 別名 エンコーディング種別 マッピングファイル

  12. 設定ファイルの内容 エンコーディング名、別名は - i オプションで指定される名称 C:\>istrings -iUS-ASCII file.xls C:\>istrings -iASCII file.xls [US-ASCII] alias=ASCII system=DBCS mapfile0=ascii.map :

  13. 設定ファイルの内容 エンコーディングの種別は、以下のいずれか • DBCS一般的な1バイトまたは2バイトの文字コードShift_JIS、ASCII、ISO-8859-* など • UTF-8 • UTF-16LE • UTF-16BE [UTF-16LE] alias=UTF-16 system=UTF-16LE mapfile0=unicode.map :

  14. マッピングファイル 指定されたエンコーディングにおいて有効な文字の範囲を定義したファイル 1文字のバイト数 bytecount=1 09 20-7e 文字として有効な値

  15. その他のオプション -f : ファイル名を表示する -p : 文字列の見つかった場所を表示する -c : 文字コードを表示する -t : テキストモードで出力する C:\>istrings -f -p -c -t file.dat file.dat[0000004d](ASCII): This is a pen. file.dat[000000bf](ASCII): Delicias Wine. file.dat[000001d0](ASCII): Flesh tomato file.dat[000001f7](ASCII): PPT :

  16. 出力 • 結果は、コマンドラインで指定された文字コードで出力される。 • iconv や wiconv のような文字コードコンバータを用いると便利 C:\>istrings -t -iUTF-16 file.dat | wiconv -fUTF-16 -t932 | more

  17. 応用 - base64の検出 bytecount=1 2B 2F 30-39 3D 41-5a 61-7a マッピングファイルを用意することにより、base64の残骸を検出できる。 ・・・ + ・・・ / ・・・ 0-9 ・・・ = ・・・ A-Z ・・・ a-z C:\>istrings -t -ibase64 file.eml : filename= attached grGC6oLNIGJhc2U2NCCCxYNHg5ODUoFbg2iCs4LqgumDdI gsggb3Blbm15YSBNTCCC5oLrgrWCrYLLgUINCg0KaHR0cD eXdvcmQvb3Blbm15YU1MDQoNCg==

  18. 課題 • ISO-2022系のエンコーディングに対応できていないISO-2022-JP、EUC-JP には jstrings が必要 • UnicodeはBMP内の文字にしか対応していない • コードが汚い、未整理

  19. Q&A ご質問をどうぞ!! http://openmya.hacker.jp/hasegawa/ hasegawa openmya.hacker.jp @

More Related