
사용자 프로파일링, 순열 및 통계를 기반으로 하는 지능형 단어 목록 생성기입니다. (Mr.Robot 시리즈 S01E01의 동일한 도구에서 이름을 따왔습니다.)
Mr.Robot 시리즈 S01E01에 등장하는 동일한 도구의 이름을 딴 지능형 일반 사용자 비밀번호 프로파일러입니다 😄
간단히 말해, elpscrk는 대상에 대해 알고 있는 모든 정보를 묻고 대상이 생각할 수 있는 모든 가능한 비밀번호를 생성하려고 시도합니다. 이는 사용자가 제공하는 정보, 활성화된 플래그, 지정한 복잡성 수준에 따라 달라집니다.
elpscrk에는 각 유형의 대상에 대해 6단계의 복잡성 수준이 있습니다. 기본(default)인 단순한 사람부터, 일반인, 편집증 환자, 그리고 최종 보스 수준인 핵(nuclear) 수준까지 있으며, 이 수준에서는 100만 개 이상의 비밀번호를 생성할 수 있습니다. 😆
Elpscrk는 cupp와 비슷하지만, 메모리 효율적이면서 순열(permutations)과 통계를 기반으로 합니다. 따라서 거의 즉시 더 많은 결과를 얻을 수 있으며, 각 사용자 유형에 맞는 복잡성 수준과 사용 방법에서 볼 수 있듯이 매우 사용자 정의 가능한 결과를 얻을 수 있습니다.

간단합니다. 스크립트를 실행하면 대상에 대해 알고 있는 정보를 묻는 프롬프트가 나타나고, 아래에서 볼 수 있듯이 데이터의 일반적인 조합 각각에 대한 순열 목록을 생성합니다.
고급 사용 및 사용자 정의를 위해 주의해야 할 몇 가지 사항이 있습니다.
생성할 비밀번호를 얼마나 단순하게 할지 지정합니다. 예를 들어 이름이 주어졌을 때:
- 레벨 0(기본값)에서는 각 이름이 (UPPERCASE, lowercase)로 변환되고, 첫 글자는 (UPPERCASE, lowercase)로 변환되며,
처음 두 글자는 (UPPERCASE, lowercase, capitalized)로 변환됩니다.
- 레벨 1에서는 레벨 0의 모든 기능에 더해 각 이름이 뒤집히고, 각 이름의 처음 두 글자도 뒤집힙니다.
다음 표는 전체 복잡성 수준을 설명합니다.
참고: 일반적인 아이디어 열에서 언급된 모든 것은 단독으로 사용되지 않고 (일반적/비일반적) 혼합으로 사용됩니다.
| 레벨 | 일반적인 아이디어 |
|---|---|
| 0 - 단순한 사람 | 기본 레벨입니다. 여기서는 위에 설명된 이름 순열과 같은 많은 것들을 기대할 수 있습니다. 날짜는 일, 월, 연도, 연도의 마지막 두 자리(예: 1990 & 90) 그룹으로 분할되고, 전화번호는 일반적으로 사용되는 대로 처음/마지막 네 자리 목록이 포함된 국가 형식으로 변환됩니다. |
| 1 - 평균적인 사람 | 이 레벨을 사용하면 몇 가지 흥미로운 기능이 추가됩니다. 예를 들어 이름의 경우 각 이름이 뒤집히고 각 이름의 처음 두 글자도 뒤집힘, 날짜의 경우 10보다 작은 (일, 월)에 0이 추가되어 5는 05와 5가 되고, 연도의 마지막 세 자리도 사용되므로 1990은 990을 제공합니다. |
| 2 - 사이버 인식 | 기본적으로 제공된 이전 비밀번호는 그대로 사용되며 특수 문자는 제거되지만, 레벨 2부터는 각 이전 비밀번호가 (UPPERCASE, lowercase, capitalized, reversed) 형태로 변환됩니다. |
| 3 - 편집증 환자 | 기본적으로 --chars 플래그를 사용하면 레벨 0 또는 1에서는 elpscrk가 가장 일반적인 10개의 문자를 사용하지만, 레벨 3부터는 비밀번호에 허용되는 전체 특수 문자 집합을 사용합니다(참고 자료 참조). |
| 4 - 괴짜(nerd) 사람 | 레벨 3 이하에서는 elpscrk가 순서 쌍을 사용하여 순열이 순서대로 되도록 하고 혼합물에서 많은 비일반적인 비밀번호 형태를 제거합니다. 이제 레벨 4를 사용하면 쌍 없이 동일한 일반 혼합물을 사용하므로, 예를 들어 (이름 & 날짜)의 비밀번호 대신 (이름 & 날짜, 이름 & 이름, 날짜 & 날짜, ...) 등의 혼합물을 얻습니다. |
| 5 - 핵(Nuclear)! | 여기서는 상황이 심각해집니다 😆, elpscrk는 가장 복잡한 인간이 아닌 대상을 위해 일반적이지 않고 현실적이지 않은 결과를 사용하기 시작합니다. |
참고: 이 레벨에서 모든 순열이 시작되기 전에, elpscrk는 cupp처럼 간단한 추가를 사용하여 가장 많이 사용되는 비밀번호 형태 중 일부를 생성하여 결과에 포함되도록 합니다.
leet 플래그를 활성화하면 elpscrk는 정상적으로 작동한 후 결과를 내보내고 나서 모든 비밀번호의 leet 순열을 가져와 새 파일에 저장합니다.
예를 들어 karim이라는 이름은 ['k4r1m', 'k4rim', 'kar1m', 'karim']으로 변환됩니다.
-y/--years 옵션을 사용하여 1980과 같은 연도를 지정하면 elpscrk는 모든 비밀번호를 1980년부터 2022년(현재 연도+1)까지의 모든 연도와 혼합하여 다음과 같은 비밀번호를 생성합니다.
karim1980
1981karim
...
karim2022
등등, -r/--num-range 옵션에도 동일하게 적용됩니다. 100과 같은 숫자를 지정하면 0부터 100까지의 모든 숫자가 추가되므로 karim99, 99karim, karim100...과 같은 비밀번호를 예상할 수 있습니다.
pip install -r requirements.txt 또는 여러 버전이 설치된 경우 python3 -m pip install -r requirements.txt를 사용합니다.이 도구가 유용했다면, 커피 한 잔 사주셔도 됩니다 :)