Hashcatは、Windows、Mac、およびLinuxで使用できる高度なCPUベースのパスワード回復ユーティリティです。 100を超える最適化されたハッシュアルゴリズム(md5、sha256、sha512など)に対して、7つの固有の攻撃モード(ブルートフォース、辞書、順列、プリンス、テーブルルックアップ、組み合わせなど)を提供します。 Hashcatは、世界最速のCPUベースのパスワード回復ツールと見なされています。一方、Hashcatの対応するoclHashcatは、Hashcatよりもはるかに高速にGPU上で実行されます。 Hashcatの現在のバージョンは2.00であり、そのWebサイトから入手できます。
パスワードはどのように保存されますか?
アプリケーションまたはサービスがパスワードを保存している場合(Google、LinuxのSSHなど)、パスワードは通常、ハッシュの形式で保存されます。ハッシュは基本的に、元に戻せない数学的アルゴリズムに基づいてパスワードを保存するための安全な方法です。ハッシュを取得すると、そのハッシュから元のパスワードを取得することは理論的に不可能です。
ハッシュされたパスワードを解読する方法?
攻撃者がパスワードハッシュを取得するとします。ハッシュからパスワードを解読するには、最終的にハッシュと一致するまで、既知の辞書ベースのパスワードからハッシュのさまざまな組み合わせの生成を開始する必要があります。
基本的に、攻撃者は、適切なパスワードを見つける前に、数千、数百万、数十億、場合によっては数兆のパスワードを試す必要があるため、非常に辛抱強くなければなりません。
わかりました。しかし、一致するハッシュを見つけるために、どのようにして多くの推測を行うのでしょうか。
ここでは、ハッシュキャット ツールがあなたの助けになります。 Hashcatは推測プロセスを自動化し、結果を比較します。
このチュートリアルでは、CPUバージョンのHashcatの使用方法を説明します。さらに、私のシステムは64ビットなので、64ビットバージョンのHashcatを使用します。
パスワードの解読の旅を始めましょう…..
Hashcatのダウンロード:
Linuxディストリビューション(私のディストリビューションはUbuntu)に最新のHashcatをHashcatWebサイトからダウンロードします。
$ wget https://hashcat.net/files/hashcat-2.00.7z
アーカイブを抽出するには、 7zipが必要です。 ユーティリティがインストールされています。システムにインストールされていない場合は、インストールしてください:
Redhat / Centos / Fedora
$ yum install p7zip
場合によっては、 yum install うまくいかなかった場合は、p7zipパッケージを含むYUMリポジトリをセットアップする必要があります。 。
Ubuntu / Debian
$ apt-get install p7zip
解凍:
インストールされている7zipユーティリティを使用してアーカイブを抽出します
Redhat / Centos / Fedora
$ 7za x hashcat-2.00.7z
Ubuntu / Debian
$ p7zip -d hashcat-2.00.7z
次に、Hashcatディレクトリに移動します:
$ cd hashcat-2.00
以下に示すように、バイナリ実行可能ファイルを確認できます。
$ ls -l hashcat-cli*.binHashCat3.6.0の最新バージョン
バイナリファイルの名前は、64ビットの場合はhashcat64.bin、32ビットの場合はhashcat32.binです。
ハードウェアとOSのインストールに基づいて、32ビットまたは64ビットのバイナリを選択します。次のコマンドを使用して確認できます:
$uname -a Linux ubuntu 3.13.0-65-generic #106-Ubuntu SMP Fri Oct 2 22:08:27 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
私のOSは64ビットなので、64ビットでコンパイルされたHashcatバイナリ(hashcat-cli64.bin)を使用します。私たちの生活を楽にするために、バイナリを/ usr / bin /
のような標準のバイナリの場所にコピーしましょう。$ cp hashcat-cli64.bin /usr/bin/
短い形式へのリンク:
ln -s /usr/bin/hashcat-cli64.bin /usr/bin/hashcat
素晴らしい!これからは、コマンド hashcatを使用できます。 以下に示すようにHashcatを使用したいときはいつでも:
$ hashcat --help
終了して開始します。まず、examplesディレクトリにジャンプして、パスワードクラッキングがどのように機能するかを確認します。
$ ls examples/
例は、攻撃モード(A)とハッシュタイプ(M)に基づいて配置されています。 。辞書攻撃モードを使用して、MD5ハッシュタイプの単純なクラッキングを試してみましょう。ハッシュファイルと対応するパスワードディクショナリファイルを引数として実行可能ファイルhashcatに渡します 以下に示すように:
$ hashcat A0.M0.hash A0.M0.word Initializing hashcat v2.00 with 2 threads and 32mb segment-size...
Added hashes from file A0.M0.hash: 102 (1 salts)
b19cdd8f0b55cb888c97ec77ab1ad402:rQ-Vv2&kog_p+CMyI;/VFDD.|MQe0/eV6bi9i^"yWP('iT 73ff3971460e3d4490049086207e4a1e:$<-+1Jz?dPL)[;)mg<so'R 5Ri0':.m^Rfv?,x[G 7718d0884dcdd356c77de6ff4c0ad58e:>RHc ::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::: All hashes have been recovered
Input.Mode: Dict (A0.M0.word) Index.....: 1/1 (segment), 102 (words), 2769 (bytes) Recovered.: 102/102 hashes, 1/1 salts Speed/sec.: - plains, 101 words Progress..: 102/102 (100.00%) Running...: 00:00:00:01 Estimated.: --:--:--:-->
Started: Wed Dec 16 04:41:18 2015 Stopped: Wed Dec 16 04:41:20 2015
上記の実行により、102個のハッシュを正常に回復できます。素晴らしいですね。もちろん、現実の世界でハッシュをクラックすることはそれほど単純ではありませんが、これは素晴らしい第一歩です。