GNU/Linux >> Linux の 問題 >  >> Linux

辞書方式を使用してHashcatでパスワードハッシュを解読するためのガイド方法

前回の記事からHashcatのインストール方法を見ました。また、事前にバンドルされた例でHashcatの使用を見ました。では、Linuxマシンのパスワードを解読しましょう。実際の例です!

Linuxでユーザーを作成

まず、ターミナルウィンドウで、以下に示すようにユーザーを作成し、そのパスワードを設定します。 Linuxユーザーアカウントを手動で作成する方法に従うこともできます。パスワードは次のように設定できます: qwerty この例の目的のために。

 [root @ cloud2〜]#useradd ramya [root @ cloud2〜]#passwdramyaユーザーramyaのパスワードを変更します。新しいパスワード:新しいパスワードを再入力します:passwd:すべての認証トークンが正常に更新されました。

パスワードハッシュの表示

ターミナルウィンドウで、以下のコマンドを実行して、ユーザー ramyaのパスワード「qwerty」に対して生成されたハッシュを表示します。 。

 [root @ cloud2〜]#tail -n 1 /etc/shadowramya:$6$6SA.1X/l$JkVyIvJu.JAN6g8gIHyh9FWj3rAQ...yAf5hLFltzi1624A4rtcuxluzg75hh2bSGqv2bPZHaQYGHvD/zi>> 

ソルトバリューの検索

上記のハッシュ値を見て、ユーザー名「 ramya 「、$ 6 $の値は、タイプ6のパスワードハッシュ(SHA512)を示します。 $ 6 $の後、次の$までの文字は、塩を示します。

上記では、SALTは次のとおりです: 6SA.1X / l

この記事に従って、パスワードハッシュとは何か、ハッシュがどのようにクラックされるか、SALTSとその使用例などについて詳しく知ることができます。

Linuxで使用されるハッシュアルゴリズムを見つける方法

ハッシュアルゴリズムは次のファイルで定義されています:/etc/login.defs。 「ENCRYPT_METHOD」という単語を検索します 定義されたハッシュアルゴリズムを見つけるには:

 [root @ cloud2〜]#grep -rn ENCRYPT_METHOD /etc/login.defs 65:ENCRYPT_METHOD SHA512 

ご覧のとおり、私のLinuxボックスはSHA-512ハッシュタイプを使用しています。

ファイルからハッシュを抽出する/etc / shadow ハッシュファイルの作成

 [root @ cloud2〜]#tail / etc / shadow | grep "ramya" | awk -F':''{print $ 2}'>> password.hash 

password.hashファイルで一度に複数のハッシュをクラックするために、別の行に1つ以上のハッシュを挿入します。

オンラインで利用できる一般的なパスワードのリスト

さて、ハッシュを解読するために一般的なパスワードのリストを使用します。共通パスワードは、以下のリンクからダウンロードできます:

 John the Ripperツールから:John.txt.bz2 
 Cain&Abelから:Cain.txt.bz2 
 500の一般的なパスワード:500-worst-passwords.txt.bz2 
 370禁止されたTwitterパスワード:twitter-banned.txt.bz2 

また、phpbb、myspace、hotmailなどの有名なWebサイトから漏洩または盗まれたパスワードをここから入手することもできます。

まず、500個の一般的なパスワードだけで試してみましょう。

500の共通パスワードをダウンロード

 [root @ cloud2〜]#wget http://downloads.skullsecurity.org/passwords/500-worst-passwords.txt.bz2 
 [root @ cloud2〜]#bunzip 500-worst-passwords.txt.bz2 

ハッシュキャットを使用してハッシュをクラッキングする

hashcatの基本的な使用法は次のとおりです。

 [root @ cloud2〜]#hashcat [options] hashfile [mask | wordfiles | directorys] 

オプション:

 -m、-hash-type =NUM​​ -a、-atack-mode =NUM​​ -o、-ouput-file =NUM--removeクラックされたハッシュの削除を有効にします。

上から、ハッシュがタイプ6であることがわかりました。したがって、次を使用します: –hash-type =1800 。 /etc/login.defsがMD5を使用している場合、ハッシュタイプは–hash-type =500になり、他のハッシュタイプの場合も同様です。それらのいくつかを以下に示します:

 100 =SHA1 500 =md5crypt、MD5(Unix)1400 =SHA256 1700 =SHA512 1800 =SHA-512(Unix)

辞書ベースのクラッキングを試みているので、攻撃モードを –atack-mode =0として使用します。 。その他の攻撃モードは次のとおりです。

0=ストレート1=組み合わせ2=トグルケース3=ブルートフォース4=順列5=テーブルルックアップ8=プリンス

hashcatの助けを借りて、ハッシュタイプと攻撃モードのリストを取得できます。

見つかったハッシュをfound.txtという新しいファイルに出力し、対応するハッシュをファイルpassword.hashから削除します。したがって、最終的にコマンドは次のようになります。

 [root @ cloud2〜]#hashcat -m 1800 -a 0 password.hash500-worst-passwords.txt2つのスレッドと32mbのセグメントサイズでhashcatv2.00を初期化しています...
ファイルpassword.hashからハッシュを追加:1(1ソルト)ソルトを使用したシングルハッシュのクイックダイジェストモードをアクティブ化
 $ 6 $ EeKhjLd3 $ ogjAhHz5KFkcTUH6h5LP7j3HFhd83DL8KFXKbWQiisahKmexoA71yuJuM1MmbA.ZGU/qySl0xoo2FNqG6NNlv.:qwerty 
すべてのハッシュが回復されました
 Input.Mode:Dict(500-worst-passwords.txt)Index .....:1/1(segment)、500(words)、3493(bytes)Recovered .:1/1 hashes、1 / 1ソルト速度/秒:-プレーン、131ワード進行状況..:132/500(26.40%)実行中...:00:00:00:01推定:00:00:00:02 
開始:2015年12月21日月曜日12:14:20停止:2015年12月21日月曜日12:14:21 
 [root @ cloud2〜]#cat found.txt $ 6 $ EeKhjLd3 $ ogjAhHz5KFkcTUH6h5LP7j3HFhd83DL8KFXKbWQiisahKmexoA71yuJuM1MmbA.ZGU/qySl0xoo2FNqG6NNlv.:qwer 

上記の計算から、ハッシュを解読することができました。上記のように、解読されたパスワード「qwerty」が最後に付いたハッシュが表示されます。

少し複雑なパスワードで多くのアカウントを作成しましょう。次に、複数のリストから取得した幅広い辞書パスワードを使用して、これらのハッシュを解読しましょう。

 [root @ cloud2〜]#wget http://downloads.skullsecurity.org/passwords/john.txt.bz2 [root @ cloud2〜]#wgethttp://downloads.skullsecurity.org/passwords/cain。 txt.bz2 [root @ cloud2〜]#wget http://downloads.skullsecurity.org/passwords/twitter-banned.txt.bz2 [root @ cloud2〜]#wget http://downloads.skullsecurity.org/passwords/ 500-worst-passwords.txt.bz2 [root @ cloud2〜]#bunzip2 john.txt.bz2 500-worst-passwords.txt.bz2 twitter-banned.txt.bz2 cain.txt.bz2 [root @ cloud2〜]# cat john.txt 500-worst-passwords.txt twitter-banned.txt cain.txt>> dictionary-passwords.txt 

これで、ファイルで通常使用されるパスワードの膨大なリストが作成されました: dictionary-passwords.txt

次に、これらの多くのパスワードに対して新しいハッシュをテストしましょう。

 [root @ cloud2〜] #hashcat -m 1800 -a 0 -o found.txt --remove password.hashdictionary-passwords.txt2つのスレッドと32mbのセグメントサイズでハッシュキャットv2.00を初期化しています...ハッシュを追加しましたファイルからpassword.hash:2(2 salt)[s] tatus [p] ause [r] esume [b] ypass [q] uit => rInput.Mode:Dict(/tmp/dictionary-passwords.txt)Index。 ....:1/1(セグメント)、310683(ワード)、3177794(バイト)回復済み:0/2ハッシュ、0/2ソルト速度/秒:251プレーン、125ワード進行状況:310683/310683(100.00 %)実行中...:00:00:41:13推定:-:-:-:-開始:2015年12月22日火曜日06:48:06停止:2015年12月22日火曜日07:29:19 

幸い、新しいハッシュをクラックすることはできませんでした。つまり、パスワードベースをさらに増やす必要があります…

HAPPY CRACKING!


Linux
  1. LinuxでAsciiDocを使用するための完全ガイド

  2. SSHPass:パスワードなしで(非対話的に)スクリプトを使用してサーバーにSSHで接続する方法

  3. MySQLでパスワードによってIDENTIFIEDでGRANTを使用中にエラーが発生しました

  1. 複数のウィンドウのパスワードを入力する方法は?

  2. puppet での Linux のユーザー パスワードの管理

  3. ddを使用してFFでファイルをパディングする方法は?

  1. リモートパスワードの入力を求める SSH による Rsync

  2. Linuxでパスワードを確認するには?

  3. 一部のユーザーのパスワードを使用した SSH ログインを無効にする方法は?