
セキュリティトークンをクラックするための単語リスト生成ツール
セキュリティトークンを解析するための単語リスト生成ツール。
$ git clone https://github.com/dariusztytko/token-reverser.git
パスワードリセット機能をテストしている
メールボックスにリセットパスワードトークンが送信された(例: 582431d4c7b57cb4a3570041ffeb7e10)
これは、登録時に入力したデータのMD5ハッシュであると推測する
登録時に以下のデータを入力した:
さらに、以下の追加データにアクセスできる:
Token Reverserを使用して、既知のデータから単語リストを生成する:
python3 token-reverser.py --date "Tue, 10 Mar 2020 17:12:59 GMT" Foo Bar [email protected] 1985-05-23 202-555-0185 "3634 Forest Drive" 74824 > words
hashcatを使用してリセットパスワードトークンを解析する:
hashcat64.exe -m 0 582431d4c7b57cb4a3570041ffeb7e10 words
hashcat (v5.1.0) starting...
[...]
582431d4c7b57cb4a3570041ffeb7e10:[email protected]!1583860379
Session..........: hashcat
Status...........: Cracked
Hash.Type........: MD5
Hash.Target......: 582431d4c7b57cb4a3570041ffeb7e10
[...]
これで、リセットパスワードトークンが次のように生成されていることがわかる:
md5(user ID!first name!last name!email!current timestamp)
usage: token-reverser.py [-h] [-d DATE] [-o TIMESTAMP_OFFSET] [-s SEPARATORS]
data [data ...]
Words list generator to crack security tokens v1.2
positional arguments:
data data chunks
optional arguments:
-h, --help show this help message and exit
-d DATE, --date DATE timestamp from this date will be used as an additional
data chunk, example: Tue, 10 Mar 2020 14:06:36 GMT
-o TIMESTAMP_OFFSET, --timestamp-offset TIMESTAMP_OFFSET
how many previous (to timestamp from date) timestamps
should be used as an additional data chunks, default: 1
-s SEPARATORS, --separators SEPARATORS
data chunks separators to check, default:
~`!@#$%^&*()_+-={}|[]\:";'<>?,./ \t
CHANGELOG を参照してください。