Categories: Kali Linux

Token Reverser : Word List Generator To Crack Security Tokens

Token Reverser is a word list generator to crack security tokens.

Example Use Case

  • You are testing reset password function
  • Reset password token was sent to your email box (e.g. 582431d4c7b57cb4a3570041ffeb7e10)
  • You suppose, it is a md5 hash of the data you provided during registration process
  • You remember that on registration you entered the following data:
    • First name: Foo
    • Last name: Bar
    • Email: foo.bar@example.com
    • Birth date: 1985-05-23
    • Phone: 202-555-0185
    • Address: 3634 Forest Drive
  • In addition, you have an access to the following extra data:
    • Application user ID: 74824
    • Date of the reset password HTTP request (“Date” response header): Tue, 10 Mar 2020 17:12:59 GMT
  • You use Token Reverser to generate word list from the known data:

./token-reverser.py –date “Tue, 10 Mar 2020 17:12:59 GMT” Foo Bar foo.bar@example.com 1985-05-23 202-555-0185 “3634 Forest Drive” 74824 > words

  • You use hashcat to crack reset password token:

hashcat64.exe -m 0 582431d4c7b57cb4a3570041ffeb7e10 words
hashcat (v5.1.0) starting…
[…]
582431d4c7b57cb4a3570041ffeb7e10:74824!Foo!Bar!foo.bar@example.com!1583860379
Session……….: hashcat
Status………..: Cracked
Hash.Type……..: MD5
Hash.Target……: 582431d4c7b57cb4a3570041ffeb7e10
[…]

  • Now you know that reset password tokens are generated as follow:

md5(user ID!first name!last name!email!current timestamp)

Also Read – Pickl3 : Windows Active User Credential Phishing Tool

Usage

usage: token-reverser.py [-h] [-d DATE] [-o TIMESTAMP_OFFSET] [-s SEPARATORS]
data [data …]

Word list generator to crack security tokens v1.1

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 chunk, default: 1
-s SEPARATORS, –separators SEPARATORS data chunks separators to check, default: ~`!@#$%^&*()_+-={}|[]\:”;'<>?,./ \t

R K

Recent Posts

Install Pip on Ubuntu 18.04: Python 3 and Python 2 Setup Guide

Pip is the official package manager for Python and the standard way to install libraries from…

4 days ago

Install R on Ubuntu 18.04 from CRAN: Statistical Computing Setup

R is an open-source programming language and environment built for statistical computing and data visualization. It…

4 days ago

Install Jenkins on Ubuntu 18.04: CI/CD Server Setup Guide

Jenkins is an open-source automation server that makes it easy to build CI/CD pipelines. Continuous integration…

4 days ago

Install Android Studio on Ubuntu 18.04 with Snap and OpenJDK 8

Android Studio is the official IDE for Android development, built on JetBrains' IntelliJ IDEA platform. It…

4 days ago

Install and Configure GitLab on Ubuntu 18.04 with Omnibus

GitLab is a web-based, open-source Git repository manager written in Ruby. It includes built-in tools for…

4 days ago

Install Anaconda on Ubuntu 18.04: Python Data Science Setup Guide

Anaconda is the most widely used Python distribution for data science and machine learning. It bundles…

5 days ago