Explorar o código

added new cheatsheet: cracking with john the ripper.md

Hans Martin %!s(int64=5) %!d(string=hai) anos
pai
achega
e1f276ab30
Modificáronse 1 ficheiros con 114 adicións e 0 borrados
  1. 114 0
      cheatsheets/security/passwords/cracking_john-the-ripper.md

+ 114 - 0
cheatsheets/security/passwords/cracking_john-the-ripper.md

@@ -0,0 +1,114 @@
+---
+title: Password/Hash Cracking with John
+categories: [cheatsheets]
+tags: [cracking, passwords, john]
+---
+
+# Password/Hash Cracking - John the Ripper
+
+* [Basic Usage](#basic-usage)
+* [Advanced Usage](#advanced-usage)
+    - [Modes](#modes)
+        - [Wordlist Mode](#wordlist-mode)
+        - [Single Crack Mode](#single-crack-mode)
+        - [Incremental Mode](#incremental-mode)
+
+
+* John: [https://www.openwall.com/john](https://www.openwall.com/john)
+* Documentation: [https://www.openwall.com/john/doc/](https://www.openwall.com/john/doc/)
+
+
+## Basic Usage:
+
+* Basic Command structure: `john [OPTIONS] <hash-file>`
+* Using a wordlist to crack
+```
+john --wordlist=rockyou.txt hash.txt
+```
+*  Specifying the hash-format (`--format`)
+```
+john --wordlist=rockyou.txt --format=md5 hash.txt
+```
+* Showing the cracked password²
+```
+john --show hash.txt
+```
+* Restore an interrupted session (when canceled with Ctrl-C or q)²
+```
+john --restore
+```
+
+* ² Session Information is stored in `$HOME/.john/`.
+
+
+## Advanced Usage:
+
+### Modes
+
+### Wordlist Mode
+
+Simples mode, just specify a wordlist with `--wordlist=<file>`
+
+If the wordlist should be sorted, use the following command:
+```
+tr A-Z a-z < SOURCE | sort -u > TARGET
+```
+
+### Incremental Mode
+
+* Really powerfull mode
+* Tries all possible character combinations
+* Charset, Minum and Maximum Length must be specified
+    - Defined in johns configuration file located at `$JOHN/john.conf`
+* Must be defined as:
+```
+[Incremental:WPA_PSK]
+File = $JOHN/utf8.chr
+MinLen = 8
+MaxLen = 12
+CharCount = 192
+```
+* Predefined Modes are
+    - ASCII
+    - LM_ASCII
+    - Alpha
+    - Digits
+    - Lower/Upper
+    - LowerNum/UpperNum
+    - LowerSpace/UpperSpace
+
+### External Mode
+
+An external cracking MODE can be defined in `$JOHN/john.conf`.
+The sections contains source-code (subset of C) that is compiled when john is starting up in that particular mode.
+This functionality is used/applied to generate target passwords.
+
+An example would be:
+
+```
+[List.External:Filter_ASCII]
+void filter()
+{
+	int i, c;
+
+	i = 0;
+	while (c = word[i++])
+	if (c < 0x20 || c > 0x7e || i > 13) {
+		word = 0; return;
+	}
+}
+```
+
+* Supported/Called C functions
+```
+init()		called at startup, should initialize global variables
+filter()	called for each word to be tried, can filter some words out
+generate()	called to generate words, when no other cracking modes used
+restore()	called when restoring an interrupted session
+```
+* In the `filter()` call, the global variable word can be changed
+* if `word == 0`, the word is skipped
+
+
+
+