
Generatore di wordlist per sottodomini veloce e personalizzabile che utilizza DSL
Funzionalità • Installazione • Utilizzo • Eseguire AlterX • Unisciti a Discord
Generatore di wordlist di sottodomini veloce e personalizzabile tramite DSL.

Per installare alterx, devi avere Golang 1.19 installato sul tuo sistema. Puoi scaricare Golang da qui. Dopo aver installato Golang, puoi usare il seguente comando per installare alterx:
go install github.com/projectdiscovery/alterx/cmd/alterx@latest
# Clone the repository
git clone https://github.com/projectdiscovery/alterx.git
cd alterx
# Build using Makefile
make build
# Or build manually
go build ./cmd/alterx
Target disponibili del Makefile:
make help # Show all available targets
make build # Build the binary
make test # Run tests
make test-coverage # Run tests with coverage
make lint # Run linter
make fmt # Format code
make clean # Clean build artifacts
make install # Install to $GOPATH/bin
Puoi usare il seguente comando per vedere i flag e le opzioni disponibili:
Fast and customizable subdomain wordlist generator using DSL.
Usage:
./alterx [flags]
Flags:
INPUT:
-l, -list string[] subdomains to use when creating permutations (stdin, comma-separated, file)
-p, -pattern string[] custom permutation patterns input to generate (comma-seperated, file)
-pp, -payload value custom payload pattern input to replace/use in key=value format (-pp 'word=words.txt')
OUTPUT:
-es, -estimate estimate permutation count without generating payloads
-o, -output string output file to write altered subdomain list
-ms, -max-size int Max export data size (kb, mb, gb, tb) (default mb)
-v, -verbose display verbose output
-silent display results only
-version display alterx version
CONFIG:
-config string alterx cli config file (default '$HOME/.config/alterx/config.yaml')
-en, -enrich enrich wordlist by extracting words from input
-ac string alterx permutation config file (default '$HOME/.config/alterx/permutation_v0.0.1.yaml')
-limit int limit the number of results to return (default 0)
UPDATE:
-up, -update update alterx to latest version
-duc, -disable-update-check disable automatic alterx update check
alterx ??Ciò che rende alterx diverso da qualsiasi altro strumento di permutazione dei sottodomini come goaltdns è la sua funzionalità di scripting. alterx accetta pattern come input e genera una wordlist di permutazioni di sottodomini basata su quel pattern, in modo simile a ciò che nuclei fa con fuzzing-templates.
Ciò che rende difficile l'Active Subdomain Enumeration è la probabilità di trovare un dominio che esista davvero. Se la ricerca di possibili sottodomini fosse rappresentata su una scala, dovrebbe apparire più o meno così
Using Wordlist < generate permutations with subdomains (goaltdns) < alterx
Quasi tutti i popolari strumenti di permutazione dei sottodomini hanno pattern hardcoded e quando vengono eseguiti creano wordlist che contengono milioni di sottodomini, riducendo la fattibilità di eseguire bruteforce su di essi con strumenti come dnsx. Non esiste una vera convenzione per nominare i sottodomini e di solito dipende dalla persona che registra il sottodominio. Con alterx è possibile creare pattern basati sui risultati della passive subdomain enumeration, aumentando la probabilità di trovare un sottodominio e la fattibilità di eseguire bruteforce su di essi.
alterx utilizza una sintassi simile a quella delle variabili di nuclei-templates. È possibile scrivere i propri pattern usando queste variabili. Quando i domini vengono passati come input, alterx valuta l'input ed estrae le variabili da esso.
{{sub}} : subdomain prefix or left most part of a subdomain
{{suffix}} : everything except {{sub}} in subdomain name is suffix
{{tld}} : top level domain name (ex com,uk,in etc)
{{etld}} : also know as public suffix (ex co.uk , gov.in etc)
| Variabile | api.scanme.sh | admin.dev.scanme.sh | cloud.scanme.co.uk |
|---|---|---|---|
{{sub}} | api | admin | cloud |
{{suffix}} | scanme.sh | dev.scanme.sh | scanme.co.uk |
{{tld}} | sh | sh | uk |
{{etld}} | - | - | co.uk |
{{sld}} : second-level domain (ex for api.scanme.sh => {{sld}} is scanme)
{{root}} : also known as eTLD+1 i.e only root domain (ex for api.scanme.sh => {{root}} is scanme.sh)
{{subN}} : here N is an integer (ex {{sub1}} , {{sub2}} etc) .
// {{subN}} is advanced variable which exists depending on input
// lets say there is a multi level domain cloud.nuclei.scanme.sh
// in this case {{sub}} = cloud and {{sub1}} = nuclei`
| Variabile | api.scanme.sh | admin.dev.scanme.sh | cloud.scanme.co.uk |
|---|---|---|---|
{{sld}} | scanme | scanme | scanme |
{{root}} | scanme.sh | scanme.sh | scanme.co.uk |
{{sub1}} | - | dev | - |
{{sub2}} | - | - | - |
In termini semplici, un pattern può essere considerato come un template che descrive quali tipi di pattern alterx dovrebbe generare.
// Below are some of example patterns which can be used to generate permutations
// assuming api.scanme.sh was given as input and variable {{word}} was given as input with only one value prod
// alterx generates subdomains for below patterns
"{{sub}}-{{word}}.{{suffix}}" // ex: api-prod.scanme.sh
"{{word}}-{{sub}}.{{suffix}}" // ex: prod-api.scanme.sh
"{{word}}.{{sub}}.{{suffix}}" // ex: prod.api.scanme.sh
"{{sub}}.{{word}}.{{suffix}}" // ex: api.prod.scanme.sh