1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

dockerでGPU使ってJohn the Ripperとhashcatでパスワード解析した話

Last updated at Posted at 2024-06-07

一応前提

マシン:win10,グラボはRTX3060Ti
解析対象:pdf
※注意
犯罪行為を助長するものではありません。悪用ダメ・絶対!

dokerの準備

dockerでGPUの認識を~等の初期部分は割愛しているのでお許しください。ネットの海にやり方は沢山転がっているので、適宜参照して頂ければと思います。
dockerのイメージはnvcr.io/nvidia/cuda:12.0.1-devel-ubuntu22.04使っていきます。デフォでnvcc入っているみたいなので。

docker run --gpus all -it -d --name ubuntu nvcr.io/nvidia/cuda:12.0.1-devel-ubuntu22.04 bash

john the ripperの準備

apt -y install build-essential libssl-dev zlib1g-dev #私はいれたけど必要ないと思う
apt -y install yasm pkg-config libgmp-dev libpcap-dev libbz2-dev #私はいれたけど必要ないと思う
apt -y install nvidia-opencl-dev #私はいれたけど必要ないと思う
apt -y install clinfo ocl-icd-opencl-dev
wget https://github.com/magnumripper/JohnTheRipper/archive/bleeding-jumbo.zip
unzip bleeding-jumbo.zip

ここでclinfoを確認する。

Number of platforms 0

何も認識されてない。調べたところ、pocl-opencl-icdもいるらしい

apt -y install pocl-opencl-icd

clinfoを確認する。ちゃんと認識されているのがわかる。GPUが認識されていないのが気になるけど...まあどんどん行きましょ。
hashを生成していきます。今回は解析対象としてtest.pdfを用意したよ。

perl john-bleeding-jumbo/run/pdf2john.pl test.pdf > pdf.hash

cat pdf.hashで中身を確認する。

test.pdf:$pdf$2*3*128*-1028*1*16*566bfc1f30.........

test.pdf:部分は解析の時に必要ないので消しておきます。vim大好き人間。

hashcatのインストール

apt -y install hashcat

hashcat -IでGPUを認識しているかどうか確認する。
OpenCLの方はGPU認識されてなくてもOK。デバイス指定でグラボ指定するので、デバイスの番号だけメモってね。
認識されていたらアルファベット・数字・記号含めて総当たりしていく。

hashcat -m 10500 -a 3 -w 4 --session test -o result.txt -d 1 -1 ?a --increment pdf.hash ?1?1?1?1?1?1?1?1?1?1

-a 3が総当たり、-d 1でグラボのデバイスIDを指定している。
詳しくは公式が出しているオプション一覧とか見てね。
hashcatの使い方(オプションなど)はこの方の記事がわかりやすかったです。

こちらの方は神です。めっちゃ助けられた。はやく会いたかった。

後は解析結果を見るだけ。

まとめ

とりあえずパスワードは記号も含めて長く作っとけってことですね。記号まで含めて5桁探索しても数分だったことを考慮しながら...。まあ当たり前ですけど桁が増えるほど指数関数的に探索も増えていくので破られにくくなりますよね。普段意識出来てなかったけど、簡単なものだとすぐ破られちゃうよと危機意識を改めて持つことができました。簡単なパスワードなら解けるからって悪用はダメだよ!
間違えやアドバイスがあればご教示お願いしますm(._.)m

余談

本当はJohn the ripperだけで完結するつもりだったんですが、johnくんがどう頑張ってもGPU使ってくれなくて、諦めてhashcat使うことにしました。build周りとかめっちゃ時間取られたのに結局使わなかったの悲しい。だから余計なapt install入っていたりします(「私はいれたけど必要ないと思う」のところ)

参考にさせて頂いたもの

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?