
Machine-learn password mangling rules
머신러닝으로 비밀번호 변형(mangling) 규칙을 학습하세요!
이 도구는 주어진 사전(dictionary)과 비밀번호 목록에 대해 효율적인 비밀번호 변형 규칙(John the Ripper 또는 Hashcat용)을 찾아냅니다.
이 도구는 현재 알파(alpha) 품질 수준입니다.
이 도구를 빌드하려면 Rust 툴체인이 필요합니다. 다음과 같이 직접 설치할 수 있습니다:
cargo install --git https://github.com/synacktiv/rulesfinder
ulimit -d 8388608 # limit memory usage to 8GBB
rulesfinder -w path/to/wordlist --cleartexts path/to/cleartexts -n 50 -t 7 --minsize 3 | tee result
또는, 이 저장소를 클론한 후:
ulimit -d 8388608 # limit memory usage to 8GBB
cargo run --release -- -w path/to/wordlist --cleartexts path/to/cleartexts -n 50 -t 7 --minsize 3 | tee result
여기서 50은 컷오프(cutoff) 값으로, 어떤 규칙이 유지되려면 최소 50개의 비밀번호를 크래킹해야 함을 의미하며, 7은 스레드 수입니다.
주의: 이 프로그램은 매우 빠르게 많은 메모리를 사용할 수 있습니다!
이 도구의 배경 아이디어와 하는 일을 설명하는 장문의 기사를 여기에서 읽을 수 있습니다.
모든 측정은 다른 작업을 하면서 노트북에서 수행되었습니다. 이 측정값들은 단지 리소스 사용량과 관련해 무엇을 기대해야 하는지 보여주기 위한 것일 뿐입니다.
첫 번째 단계의 메모리 사용량
처리 과정은 두 부분으로 나뉩니다:
위 추정 크래킹된 비밀번호 수 열은 주어진 사전을 사용하여 생성된 규칙으로 크래킹되었을 평문 코퍼스 내 비밀번호의 수입니다. 머신러닝의 모든 것과 마찬가지로, 이 값이 규칙셋의 성능을 직접적으로 반영하지는 않습니다. 이 값을 무작정 늘리는 것은 역효과를 낳을 수 있습니다. 그 이유는 다음과 같습니다:
경험상 다음과 같은 사항을 권장합니다:
| 평문 크기 | 평문 단어 수 | minsize=3 | minsize=4 | minsize=5 | minsize=6 |
|---|
| 11.264 MB | 1M 단어 | 3767MB | 3245MB | 2732MB | 2255MB |
| 16.9 MB | 1.5M 단어 | 7365MB | 6262MB | 5273MB | 4742MB |
| 22.528 MB | 2M 단어 | 9263MB | 5273MB | 6518MB | 5389MB |
| 42.848 MB | 3.8M 단어 | 14347MB | 4742MB | 10529MB | 8885MB |