前回の記事から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.hashpassword.hashファイルで一度に複数のハッシュをクラックするために、別の行に1つ以上のハッシュを挿入します。
オンラインで利用できる一般的なパスワードのリスト
さて、ハッシュを解読するために一般的なパスワードのリストを使用します。共通パスワードは、以下のリンクからダウンロードできます:
John the Ripperツールから:John.txt.bz2Cain&Abelから:Cain.txt.bz2500の一般的なパスワード:500-worst-passwords.txt.bz2370禁止された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!
OpenSSLを使用してSSL証明書がSHA1またはSHA2であるかどうかを確認するにはどうすればよいですか? PHP Dependency ManagerであるComposerをインストールするにはどうすればよいですか?Linux