web-dev-qa-db-ja.com

特定の用途のためのパスワード辞書を生成する方法

アクセスが必要なロックされた作業ファイルがあります。残念ながら、ファイルを提供していた会社はもう存在しておらず、私を助けてくれる誰かを追跡することはできません。

ファイルは暗号化されており、「ソースキー」を使用してロックを解除できます。ソースキーはクリアテキストの.DATファイルに保存され、1つの.DATファイルに複数のソースキーを含めることができます。いくつかのテストを実行したところ、このファイルに数千行(無制限?)を入れることができ、ソフトウェアはそれらすべてをチェックして、暗号化されたファイルと一致するかどうかを確認します。

これらのルールを使用して、可能なすべての辞書攻撃を含む.DATファイルを作成したいと思います。

Source keys are text strings that follow IEC-1131 naming conventions. Specifically,
this convention states that an identifier must be a string of letters, digits, and
underline characters which begins with a letter or underline character. Underlines are
significant in identifiers (e.g., A_BCD is interpreted differently than AB_CD).
Multiple leading or multiple consecutive embedded underlines are not allowed, trailing
underlines are not allowed, and letter case is not considered significant. The source
key can be any text string that follows these rules and consists of up to 40 characters.

誰かがこれで私を助けることができれば、私は本当に感謝します。ありがとう

3
Nate

これらのルールに従ってすべての可能なキーを生成し、それらを.datファイルにダンプするスクリプトを書くのは非常に簡単です。必要に応じて、pythonに入力してここに投稿できますが、実際には問題が解決しないと思います。

数学を大まかに見ると、37文字(26文字+ 10数字+ _)のアルファベットがあり、最大長は40であるため、少なくともです37^40異なるキーを試してください。キーあたりの[40 bytes]は、おおよその このファイルを格納するデータの10^66 bytes です。テラバイトは10^12 bytesなので、10^54 1 TBファイルを保存するだけのハードドライブが必要になります。

これがあなたの生涯で終わる唯一の方法は、それらがキーをどのように生成したかについて知っている場合であり、これにより、可能なキーのリストを99.999999 ...%まで削減することができます。 、またはキーはすべて英語の辞書の単語などでした.

より多くの情報がなければ、私はあなたがこのアプローチで多くの牽引力を得るつもりはないと思います。 :


更新:

キーがコンピューターで生成されたランダムなパスワードである場合、このアプローチには没頭していますが、コメントには、人間がそれを入力した可能性があることが示されています。辞書。

---(skullsecurity.org は、リークされたパスワードリストの良い情報源であるようです(そして この回答 からの推奨が付属しています)。

crackstation.net は、巨大な15 GiBパスワードリストをホストしているようですが、個人的には保証できません。

会社にとってそのファイルの価値に応じて、これらのリストの一部をダウンロードし、それらの名前を.datに変更し、一部のコンピューターを原因に専念し、CPUコアごとに復号化プログラムのコピーを1つ開始します(それぞれが動作します)別のパスワードリスト)。 1か月後に確認してください。運が良ければ、そのうちの1つが復号化されたファイルを吐き出します。動作する可能性は低いですが、ファイルが十分に価値がある場合は、試す価値があります。

5
Mike Ounsworth