【Kali linux】John the Ripperを使ってみる

# サマリ
パスワードクラッキングツールのJohn the Ripperを使って、
以下2パターンを試してみました。
- zipファイルのクラック
- sshの秘密鍵ファイルのクラック

※パスワードクラックとは

https://it-trend.jp/onetime_password/article/cyber_attack_series2

> パスワードクラック（password crack）とは、データ分析によって他人のパスワードを割り出すことです。


# 背景
[過去記事](https://qiita.com/san_bay3/items/9c0c0f4a250e4fa73ede
)にて、Kali Linuxのデフォルトソフトを色々触りたいと言ったので、
まずJohn the Ripperを試してみることにしました。

John the Ripperを選択したのは、パスワード解読は親近感がわいただけで
深い理由は特にないです（おい）

# ゴール
- zipファイルのクラック
- sshの秘密鍵ファイルのクラック


# 対象読者
- John the Ripperが気になっている方

# 前提
必須：PC、インターネット環境など
推奨：Kali linuxのインストール

# 環境
- ホストOS：Window10 Home
- Kali Linux：2023.3リリース版


# 手順
Kali linuxとは、や導入手順は過去に記事にしましたので、
今回は割愛いたします。

https://qiita.com/san_bay3/items/9c0c0f4a250e4fa73ede

John the Ripperとは、Wiki先生によると以下です。

https://ja.wikipedia.org/wiki/John_the_Ripper

> John the Ripperは、パスワードクラッキングのための自由ソフトウェアツールである

ようはパスワードを割り出すためのツールということですね。（怖い…）



**今回実施の内容は以下の記事に沿って実施しました。**
ありがとうございました。

https://iomat.hatenablog.com/entry/2022/07/11/183012


### zipファイルのクラック

参考記事の通り、zipファイルを作成します。
（zipコマンドのオプションについては[こちら](https://atmarkit.itmedia.co.jp/ait/articles/1607/25/news021.html)で勉強しました。）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/a3ffc0b7-ad80-d17f-c819-be640af10bba.png)

解凍しようとして、適当なパスワードを入れると（当たり前ですが）失敗します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/2efe1109-42d6-032a-ee85-45a2c9b7dc6d.png)

`zip2john`コマンドにてzipファイルから（Johnが解析できる形式の）ハッシュ値を生成して、参考記事通りhash.txtに保存します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/6128b99c-2ebc-ebba-707b-03ecb148b1b0.png)


hash.txtは以下のような内容になっていました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/64ee3db3-36a3-6e55-0786-194433d7cda8.png)

johnコマンドにて解析をしようとすると以下の結果になりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/70009516-f205-f7d4-31fb-c78732fbba02.png)

あれ、失敗…？と思っていたら
rockyou.txt.gzと圧縮形式になっていました。
`gunzip *ファイル名.gz*`コマンドにて解凍すると、テキストファイルがでました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/84fd3827-d24f-c844-c170-cdc51a1add49.png)

再度試すと、設定したパスワードが解析の結果出てきました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/41c0241d-63c4-e1d2-48a5-b73754ea3b3e.png)

一瞬ですね。（安直なパスワードだからですが）

ちなみに、別のパスワードにしてみても解読できました。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/5c4e46de-52df-cf6f-1d1b-7b620e5a33c9.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/37d0b81d-c36c-309d-be95-0802165d26bd.png)

さすがに意味不明なパスワードにしたら解読できていないようでした。
（辞書に載っていないからですかね）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/67681300-277e-6165-671c-651009694b3c.png)



### sshの秘密鍵ファイルのクラック



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/03bfe832-7e82-13aa-5b93-a325978d64e2.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/36f851b2-93ef-ebf3-5008-f046ec9122c4.png)

無事、秘密鍵と公開鍵が作成されています。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/e4597a56-3c86-418e-6164-537fe9ecffd7.png)


ハッシュ値を見てみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/16b57c03-4f73-c94e-1160-65e700b92dd9.png)

1，2秒かかった感じですが、無事解読できました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/253ea0b9-1cb8-9982-27da-8343446a664e.png)



### 余談

参考にさせていただいた記事にはPDFのクラックもありましたが、
自分の勉強不足でKali Linux上でpdfの作成とパスワード設定がすぐできなかったので、
今回は割愛させていただきました（おい）

# 結果
zipファイルとssh秘密鍵ファイルのクラックに成功しました。
煩雑なパスワード設定だと不可でした。

# 学び
いかによくあるパスワードにすることによるリスクがあるか身に沁みました。。

# まとめ
まだ仕組みの理解が不十分なのでJohn the Ripperをもう少し深堀りしたいのと、
引き続きKali Linuxのデフォルトソフトいろいろいじってみたいです。