John the Ripper
今日は「John the Ripper」というツールをご紹介したいと思います。実際にはほとんど使わず、ヒドラのような他の一般的なツールで代用している人も多いようです。これらのかなり強力なブルートフォースツールの比較については、詳細を説明しません。それらはそれぞれの場面で機能し、使われているので、それぞれの良さがあります。
John the Ripperはオープンソースのパスワードクラッカーで、複数のアルゴリズムを使ってCPUとGPUの両方のパスワードをブルートフォースすることができます。様々な種類のドキュメントやアーカイブのパスワードを解除したり、様々なリソースのシンプルなユーザーパスワードを解除することができます。Johnの欠点は、ハッシュをクラックすることしかできないこと、つまり、暗号化されたファイルを直接扱うことができないことです。プログラムは、例えばオフィス文書を開き、そこにパスワードを入力することなどができません。
以下の例ではすべて、JohnがすでにプリインストールされているKali Linux OSを使って説明します。その他のLinuxディストリビューションをお使いの場合は、以下のコマンドでインストールまたはアップデートの確認を行う必要があります。
# sudo apt-get install john -y
この記事では、例として、暗号化されたアーカイブのパスワードを回復する方法を見てみましょう
まず、問題のファイルのハッシュを計算(抽出)する必要があります。Johnは自分でその方法を知りません。補助的なユーティリティーが必要です。
2つのファイルを作成し、1つは必要な暗号化されたアーカイブ用です。そして2つ目は、ブルートフォースのための私たちのパスワードのデータベース、インターネット上の彼らのヒープの利点です。
分かりやすいようにスクリーンショットを添付しています。
ここで、コマンドで作成したフォルダに移動します。
# cd (ファイルパス)
直接進んでハッシュ自体を抽出し、Test.txtという同じフォルダに保存します。
# zip2john Test.zip > Text.txt
異なるファイル形式からハッシュを抽出する場合は、ZIPを異なるファイル形式に置き換える必要があります。いくつか例を挙げてみましょう。
rarファイルからハッシュを抽出します。
# rar2john Test.rar > Text.txt
7zアーカイブからハッシュを抽出します。
# 7z2john.pl '/mnt/disk_d/Arch/from_kali.7z'
MS Word 2019ファイルからハッシュを抽出します。
# office2john.py '/mnt/disk_d/Share/Secret.docx' 2>/dev/null
Wi-Fiハッキングのためにハンドシェイクからハッシュを抽出する例
# wpapcap2john ~/RT-725140.pcap
キャプチャしたネットワークトラフィックからVNCハンドシェイクのハッシュを抽出した例。このハッシュを使えば、VNCサーバーのパスワードをクラックすることができる。
# vncpcap2john '/home/mial/VNC.pcapng'
ご覧のように、Text.txtファイルが私たちのハッシュで作成されています。
ランニング
最も頻繁に使われるオプションで、これがないとほとんどすべての起動ができないものとして、--mask(パスワードを生成するためのマスク)と--wordlist(パスワードを含む辞書へのパス)を挙げておきます。
辞書攻撃を行うには、辞書(論理)が必要です。まだお持ちでない方は、rockyouをダウンロードしてください。
辞書攻撃を行うには、次のようなコマンドを実行します。
john --wordlist=(辞書ファイル)
辞書とハッシュファイルをjohnの実行ファイルと同じフォルダに入れているので、コマンドは以下のようになります。
john --wordlist='Passwd.txt' Text.txt
そしてVoilaは、パスワードがAdmin123によって選ばれる
マスク攻撃を行うには、次のような形式のコマンドを使用します。
./john --mask=(マスクハッシュ)
例えば、こんな感じです。
./john --mask='?d?d?d?d?d?d' Text.txt
マスク別にパスワードを把握するためのちょっとしたメモをご紹介します。
今回は、John the Ripperの用途の一つをざっと見てみましたが、決してそれだけではありません。
LinuxでJohnを使えない場合は、開発者が気を利かせて、WindowsやMacOSで使える可能性を加えてくれましたが、これはお勧めできません。興味のある方は、インターネット上にたくさんのガイドや記事があります。
以上、ここから先は誠意を持って対応してください この短い記事がどなたかのお役に立てれば幸いです。