
$ git clone https://github.com/localh0t/m4ngl3m3
$ cd m4ngl3m3
$ ./main.py
usage: main.py [-h] [-fy FROM_YEAR] [-ty TO_YEAR] [-sy] [-nf NUMBERS_FILE]
[-sf SYMBOLS_FILE] [-cf CUSTOM_FILE] [-sbs] [-sap]
[-mm MUTATION_METHODS]
MUTATION_MODE STRINGS_FILE OUTPUT_FILE
文字列リストを使用した一般的なパスワードパターン生成ツール
positional arguments:
MUTATION_MODE 実行する変異モード: (prefix-mode | suffix-mode | dual-mode)
STRINGS_FILE 変異させる文字列が含まれるファイル
OUTPUT_FILE 変異後の文字列を書き込むファイル
optional arguments:
-h, --help このヘルプメッセージを表示して終了
-fy FROM_YEAR, --from-year FROM_YEAR
繰り返しの開始年(デフォルト: 2015)
-ty TO_YEAR, --to-year TO_YEAR
繰り返しの終了年(デフォルト: 2020)
-sy, --short-year 繰り返し時に年の短い形式(2桁)も追加(デフォルト: False)
-nf NUMBERS_FILE, --numbers-file NUMBERS_FILE
数字の接頭辞/接尾辞ファイル(デフォルト: ./files/numbers/numbers_set2.txt)
-sf SYMBOLS_FILE, --symbols-file SYMBOLS_FILE
記号の接頭辞/接尾辞ファイル(デフォルト: ./files/symbols/symbols_set2.txt)
-cf CUSTOM_FILE, --custom-file CUSTOM_FILE
カスタム単語/日付/イニシャル等のファイル(デフォルト: None)
-sbs, --symbols-before-suffix
記号を年/数字/カスタムの前にも挿入(suffix-mode または dual-mode 時)(デフォルト: False)
-sap, --symbols-after-prefix
記号を年/数字/カスタムの後にも挿入(prefix-mode または dual-mode 時)(デフォルト: False)
-mm MUTATION_METHODS, --mutation-methods MUTATION_METHODS
実行する変異メソッド(カンマ区切り、スペースなし)(有効な値: MUTATION_METHODS.md を参照)(デフォルト: normal,uppercase,firstup,replacevowels)
ここでは、スクリプトが年を繰り返す開始と終了を設定します。多くの場合、ユーザーはパスワードに現在の年を含めてエントロピーを加えようとします。パスワードが古くなっている可能性や、含まれる年が(近い)未来である可能性があるため、範囲として追加します。オンライン環境では控えめなアプローチで、範囲は**(-1, +1)** または (-2, +2) 程度にします。オフライン環境では、範囲を (-20, +5) や (-50, +10) まで広げても構いません。出力例:
password2017
[...]
password2018
[...]
password2019
年を繰り返す際に、その年の短い2桁形式も追加します。出力例:
password17
[...]
password18
[...]
password19
この引数では、ユーザーがパスワードによく追加する数字を含むファイルを選択します。デフォルトで6セットが含まれており、最大のものは6、残りは前のセットのサブセットです。最初のセット (1,2…) に含まれる数字は、後のセット (…5,6) のみに含まれる数字よりも出現する可能性が高くなります。オンライン環境では最初の3セットを使用し、オフライン環境では最後のセットを使用することを検討します。デフォルトではセット番号2を使用します。出力例:
password1
[...]
password123
[...]
password1234
この引数では、ユーザーがパスワードによく追加する記号を含むファイルを選択します。セット番号1が最も短く、セット番号6が最も長くなります。最初のセット (1,2…) に含まれる記号は、後のセット (…5,6) のみに含まれる記号よりも出現する可能性が高くなります。デフォルトではセット番号2を使用します。出力例:
password123!
[...]
password2018?
[...]
password1234.
ここでは、ターゲットについてわかっているその他の情報(パスワード自体の「基盤」とは見なされないもの)を追加します。創造力を発揮しましょう!会社のイニシャル、生年月日、特別な日付…から特定の年、短いキーワードなどまで、何でも構いません。このカスタム文字列は、年/数字と同じ方法で扱われます。出力例:
passwordABC
[...]
password01011980!
[...]
password.admin
このパラメータでは、文字列をシフトする際のツールの動作方法を選択します。以下の3つから選択できます:
変異させる文字列が含まれるファイル。例えば、ペンテストを行っているが、どこから始めればよいかわからない場合、CeWL のようなツールを使用して企業ウェブサイトをクロールし、最も頻繁に出現する単語(もちろん会社名を含む)を保持することをお勧めします。
単純に、変異後の文字列を書き込むファイルです。
このフラグを有効にし、ツールをsuffix-mode または dual-mode で実行すると、スクリプトは年/数字/カスタムの前にも記号を追加します。出力例:
password2018!
[...]
password!2018
[...]
このフラグを有効にし、ツールをprefix-mode または dual-mode で実行すると、スクリプトは年/数字/カスタムの後にも記号を追加します。出力例:
!2018password
[...]
2018!password
[...]
このパラメータでは、実行する変異メソッドを定義します。変異メソッドは、年/数字/記号/カスタムの繰り返しを開始する前に行われる基本変換です。必要なだけ多くの変異メソッドを選択できます。有効なすべての変異メソッドの一覧については、MUTATION_METHODS.md を確認してください。
デフォルトでは、m4ngl3m3! は以下のメソッドで実行されます: Normal, UpperCase, FirstUp, ReplaceVowels.
基本的な使用例については、USAGE_EXAMPLES.md を参照してください。
LICENSE.md を参照してください。