入手したhash値の種類(Hash関数)を推定する2つのツールです。
パスワードはハッシュ関数でハッシュ化されて、hash値(パスワードハッシュ)として保管されています。
ハッシュ関数には様々な方式があり、どの種類のハッシュ関数でハッシュ化された値かを推定するのがこの2つのツールです。
ハッシュ関数を推定したのち、その情報をパスワードクラックツールに入力してパスワードクラックを行います。
ハッシュ関数とハッシュ値について
ハッシュ関数は、元の平文(=パスワード)をある一定のアルゴリズムに従って計算します。
平文(パスワード) ⇨ ハッシュ関数 ⇨ ハッシュ値
そのアルゴリズムには様々な種類があります。(例:MD5、SHA1など多数あり)
この関数により算出された結果をハッシュ値(パスワードハッシュ)と呼びます。
余談ですが、
ハッシュ値は逆方向への計算は出来ませんが、古いハッシュ関数の中には衝突困難性の脆弱性を突いて破られているものがあります。( = 簡単に言うと、ターゲットのハッシュ値と同じ計算結果となるような別の平文を人工的に作り出すことが可能なのものがあります。元の平文が別でも、結果のハッシュ値が同じであれば、それはパスワードとして通用します。)
*ここで取り上げるMD5、SHA1とも古いハッシュ関数であり、既に破られています。
準備:ハッシュ値の製造
それでは鑑別対象のハッシュ値を手にいれる為、ハッシュ値を製造してみます。
まずは、テキストエディタなどを用いて平文の入ったテキストファイルを作成します。
例では ” Mousepad ” を使って、平文 ” abc123 ” の内容のテキストファイルを、 ” plane.txt ” として保存しました。
同じことが例えば下記コマンドでも可能です。
echo abc123 > plane.txt
ホームディレクトリ内に ” plane.txt ” ファイルが出来ています。
MD5関数によるハッシュ値の作成
では、 ” plane.txt ” の中の平文 ” abc123 ” を、MD5関数でハッシュ化します。
そしてその結果を ” hash.txt ” に保存します。
md5sum plane.txt > hash.txt
” hash.txt ” の中を調べてみると、 ” 2c6c… ” から始まるハッシュ値の他に、 ” plane.txt ” という余分な文字がありますので、これをテキストエディタで開いて編集して、削除しておきます。
SHA1関数によるハッシュ値の作成
次に ” plane.txt ” の中の平文 ” abc123 ” を、SHA1関数でハッシュ化します。
そしてその結果を ” hash2.txt ” に保存します。
” hash2.txt ” の中身も同じく、 ” 61ee… ” から始まるハッシュ値の他に、 ” plane.txt ” という余分な文字がありますので、これをテキストエディタで開いて編集して、削除しておきます。
hashid
hashidの起動
Kali ー 05-Password Attacks ー Offline Attacks ー hashid
ヘルプ画面が表示されます。
解析その1
まずは ” MD5 ” でハッシュ化した、 ” hash.txt ” を解析してみます。もしも ” MD5 ” と推定されれば当たりです。
hashid hash.txt
結果は、MD5を含む沢山のハッシュ関数が並んでおり、1つだけにピタリと絞り込むことは出来なかったようです。
解析その2
次に ” SHA1 ” でハッシュ化した、 ” hash2.txt ” を解析してみます。もしも ” SHA1 ” と推定されれば当たりです。
hashid hash2.txt
トップに ” SHA1 ” と表示されています。
hash-identifier
hash-identifierの起動
Kali ー 05-Password Attacks ー Offline Attacks ー hash-identifier
ヘルプ画面は出ずにいきなりこの画面でハッシュ値を聞いてきます。(バージョンは1.2)
解析その1
ここでは ” hash.txt ” 内のハッシュ値を直接コピペして入力します。 ” MD5 ” と推定されれば当たりです。
MD5と推定されています。
解析その2
次に ” hash2.txt ” 内のハッシュ値を直接コピペして入力します。 ” SHA1 ” と推定されれば当たりです。
SHA1と推定されています。
まとめ
ハッシュ値からハッシュ関数を推定するツール、 ” hashid ” と ” hash-identifier ” でした。
後者の方が成績が良かったみたいですが、実際には両者を(あるいはその他のツールも)使って解析するのだと思います。
コメント