
Uma ferramenta para gerar e manter wordlists para fuzzing Web.
Dicozorus é uma ferramenta para gerar e manter wordlists web.
Ela elimina o trabalho de gerenciar múltiplas wordlists ao armazenar caminhos enriquecidos com metadados em um banco de dados SQLite local.
Quer apenas uma ótima wordlist sem a ferramenta? Pule a configuração e use lazy.txt.
Wordlists padrão frequentemente apresentam problemas como entradas ausentes, falta de ordenação relevante, tamanho inadequado ou entradas inúteis.
O Dicozorus resolve esses problemas associando entradas a metadados enriquecidos. Isso permite:
$ pipx install git+https://github.com/synacktiv/dicozorus/
O Dicozorus armazena dados localmente em um banco de dados SQLite localizado em $HOME/.dicozorus/db.sqlite. Cada entrada registra os seguintes atributos:
Para maior conveniência, o dicozorus vem com wordlists integradas. As entradas presentes nessas wordlists vêm de vários locais:
dirsearch, bo0om, Seclist, nuclei. etc.)
Sempre que uma alteração é feita nas wordlists integradas, o lazy.txt é gerado. Ele inclui todas as entradas integradas, exceto as perigosas, ordenadas por criticalidade e contagem.
$ dicozorus
usage: dicozorus [-h] [-v] [--version] {feed,gen,init,modify,stats,check} ...
Dicozorus allows to generate custom wordlists. It can be fed with wordlists from your own or initialized using a predefined set of wordlists. Entries are
stored in a sqlite database located in $HOME/.dicozorus/db.sqlite
positional arguments:
{feed,gen,init,modify,stats,check}
Subcommand to run
feed Feed dicozorus db with wordlist files or scan results
gen Generate wordlist using the dicozorus db.
init Initialize the dicozorus database.
modify Modify dicozorus DB directly. Use it to add / remove / update one or multiple entries.
stats Show stats about the dicozorus database.
check The check command is used to compare entry or wordlists with the dicozorus database
options:
-h, --help show this help message and exit
-v, --verbose increase verbosity
--version show program's version number and exit
$ dicozorus init -F -W wordlists/
[+] Initializing dicozorus database
[+] Creating dicozorus tables
[+] Parsing dicozorus CSV file wordlists/low.wordlist
[+] Parsing dicozorus CSV file wordlists/unranked.wordlist
[+] Parsing dicozorus CSV file wordlists/hackerone.wordlist
[+] Parsing dicozorus CSV file wordlists/medium.wordlist
[+] Parsing dicozorus CSV file wordlists/exploitdb.wordlist
[+] Parsing dicozorus CSV file wordlists/critical.wordlist
[+] Parsing dicozorus CSV file wordlists/high.wordlist
[+] Parsing dicozorus CSV file wordlists/bo0om.wordlist
[+] Parsing dicozorus CSV file wordlists/seen.wordlist
[+] Parsing dicozorus CSV file wordlists/info.wordlist
[+] Parsing dicozorus CSV file wordlists/dirsearch.wordlist
$ dicozorus feed -w fuzz.txt
[+] Parsing wordlist fuzz.txt
$ dicozorus gen -m 5
app_dev.php
actuator/jolokia
jolokia
bitrix/admin/php_command_line.php
jenkins/script
$ dicozorus check -e '_fragment'
_fragment [type: FILE, criticality: CRITICAL, count: 2, category: RCE, taglist: ['PHP', 'Bo0oM'], reference: https://www.ambionics.io/blog/symfony-secret-fragment]
$ dicozorus stats
[+] Total count: 22376
[+] Entry count by criticality:
Critical: 344
High: 697
Medium: 668
Low: 1168
Info: 4262
Unranked: 15237
[+] Entry count by type:
FILE: 12583
DIRECTORY: 3449
PATH: 6344
[+] Entry count by category:
UNCATEGORIZED: 19499
KNOWN_APP: 871
RCE: 335
INFO_LEAK: 280
[...]
Se você quiser contribuir com entradas para as listas principais ou analisar entradas personalizadas nativamente, use a seguinte estrutura de Valores Separados por Vírgula (CSV) entre aspas:
## path, criticality, count, category, tags, reference
"actions/authenticate.php","CRITICAL","1","RCE","PHP","https://nvd.nist.gov/vuln/detail/CVE-2020-35729"
Aqui estão algumas regras ao adicionar entradas às wordlists integradas:
upload.php, admin.aspx, webshell.jsp, administration/| Campo | Descrição |
|---|
| path | O nome do endpoint (ex.: jmx-console/ ou app-dev.php). |
| type | Classificação estrutural: FILE, DIRECTORY ou PATH. |
| criticality | Nível de prioridade: CRITICAL, HIGH, MEDIUM, LOW, INFO, UNRANKED. |
| count | Quantas vezes essa URL específica foi inserida no banco de dados. |
| category | Tipo de vulnerabilidade à qual está associada (ex.: RCE, ADMIN_INTERFACE ou KNOWN_APP) |
| tag | Tags contextuais para filtragem por tecnologia (ex.: PHP, JAVA, LINUX). |
| reference | Um link opcional para uma vulnerabilidade associada, advisory ou documentação de endpoint conhecido. |
| Nome | Descrição |
|---|
| critical.wordlist | Apenas entradas CRITICAL |
| high.wordlist | Apenas entradas HIGH |
| medium.wordlist | Apenas entradas MEDIUM |
| low.wordlist | Apenas entradas LOW |
| info.wordlist | Apenas entradas INFO |
| unranked.wordlist | Entradas sem criticalidade atribuída |
| bo0om.wordlist | Entradas da wordlist BoOoM sem criticalidade atribuída |
| dirsearch.wordlist | Entradas da wordlist dirsearch sem criticalidade atribuída |
| exploitdb.wordlist | Entradas do exploitDB sem criticalidade atribuída |
| hackerone.wordlist | Entradas de relatórios públicos do HackerOne sem criticalidade atribuída |
| seen.wordlist | Entradas que foram vistas aqui e ali, sem criticalidade atribuída |
| dangerous.wordlist | Entradas perigosas, como /shutdown ou reboot |