
Un outil pour générer et maintenir des listes de mots pour le fuzzing Web.
Dicozorus est un outil pour générer et maintenir des wordlists web.
Il élimine la surcharge de gestion de plusieurs wordlists en stockant des chemins enrichis de métadonnées dans une base de données SQLite locale.
Vous voulez simplement une excellente wordlist sans l'outil ? Évitez l'installation et utilisez lazy.txt.
Les wordlists standard présentent souvent des problèmes tels que des entrées manquantes, un tri peu pertinent, une taille inappropriée ou des entrées parasites.
Dicozorus résout ces problèmes en associant des métadonnées enrichies aux entrées. Cela permet :
$ pipx install git+https://github.com/synacktiv/dicozorus/
Dicozorus stocke les données localement dans une base de données SQLite située dans $HOME/.dicozorus/db.sqlite. Chaque entrée enregistre les attributs suivants :
Pour plus de commodité, dicozorus embarque des wordlists intégrées. Les entrées présentes dans ces wordlists proviennent de différents endroits :
dirsearch, bo0om, Seclist, nuclei, etc.)
Chaque fois qu'une modification est apportée aux wordlists intégrées, lazy.txt est généré. Il inclut toutes les entrées intégrées, à l'exception des entrées dangereuses, triées par criticité et par count.
$ 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
[...]
Si vous souhaitez contribuer des entrées aux listes principales ou analyser nativement des entrées personnalisées, utilisez la structure de valeurs séparées par des virgules (CSV) entre guillemets suivante :
## path, criticality, count, category, tags, reference
"actions/authenticate.php","CRITICAL","1","RCE","PHP","https://nvd.nist.gov/vuln/detail/CVE-2020-35729"
Voici quelques règles à suivre lors de l'ajout d'entrées aux wordlists intégrées :
upload.php, admin.aspx, webshell.jsp, administration/| Champ | Description |
|---|
| path | Le nom de l'endpoint (par exemple, jmx-console/ ou app-dev.php). |
| type | Classification structurelle : FILE, DIRECTORY ou PATH. |
| criticality | Niveau de priorité : CRITICAL, HIGH, MEDIUM, LOW, INFO, UNRANKED. |
| count | Nombre de fois où cette URL spécifique a été insérée dans la base de données. |
| category | Type de vulnérabilité auquel elle est associée (par exemple, RCE, ADMIN_INTERFACE ou KNOWN_APP) |
| tag | Étiquettes contextuelles pour le filtrage technologique (par exemple, PHP, JAVA, LINUX). |
| reference | Un lien facultatif vers une vulnérabilité, un avis (advisory) ou une documentation de l'endpoint associé. |
| Nom | Description |
|---|
| critical.wordlist | Entrées CRITICAL uniquement |
| high.wordlist | Entrées HIGH uniquement |
| medium.wordlist | Entrées MEDIUM uniquement |
| low.wordlist | Entrées LOW uniquement |
| info.wordlist | Entrées INFO uniquement |
| unranked.wordlist | Entrées sans criticité associée |
| bo0om.wordlist | Entrées de la wordlist BoOoM sans criticité associée |
| dirsearch.wordlist | Entrées de la wordlist dirsearch sans criticité associée |
| exploitdb.wordlist | Entrées d'exploitDB sans criticité associée |
| hackerone.wordlist | Entrées des rapports publics HackerOne sans criticité associée |
| seen.wordlist | Entrées vues ça et là, sans criticité associée |
| dangerous.wordlist | Entrées dangereuses telles que /shutdown ou reboot |