Pular para o conteúdo

Folha de Dicas do Gerador de Lista de Palavras de Subdomínios AlterX

Visão Geral

AlterX é um gerador de lista de palavras de subdomínios rápido e personalizável desenvolvido pelo Project Discovery. Ele usa padrões e linguagem específica de domínio (DSL) para gerar permutações e alterações de subdomínios, tornando-o uma ferramenta poderosa para enumeração ativa de subdomínios. AlterX se encaixa no pipeline de enumeração ativa de subdomínios, complementando ferramentas de descoberta passiva de subdomínios como Subfinder.

O que diferencia o AlterX de outros geradores de listas de palavras é sua abordagem baseada em padrões e sua capacidade de gerar listas de palavras direcionadas e contextuais. Em vez de usar listas de palavras genéricas, o AlterX pode criar permutações com base em subdomínios conhecidos, permitindo uma descoberta mais eficaz de subdomínios relacionados. Essa abordagem aumenta significativamente as chances de encontrar subdomínios válidos durante avaliações de segurança e caça de bugs.

O AlterX é projetado para ser usado em combinação com ferramentas como ShuffleDNS ou outras ferramentas de força bruta de DNS para descobrir novos subdomínios que podem não ser encontrados por métodos de enumeração passiva. Seus padrões personalizáveis e algoritmo de geração eficiente o tornam uma ferramenta essencial para enumeração abrangente de subdomínios.

Instalação

Usando Go

Would you like me to continue with the remaining sections? I can translate them in the same manner.```bash

Install using Go (requires Go 1.20 or later)

go install -v github.com/projectdiscovery/alterx/cmd/alterx@latest

Verify installation

alterx -version


### Using Docker

```bash
# Pull the latest Docker image
docker pull projectdiscovery/alterx:latest

# Run AlterX using Docker
docker run -it projectdiscovery/alterx:latest -h

Using Homebrew (macOS)

# Install using Homebrew
brew install alterx

# Verify installation
alterx -version

Using PDTM (Project Discovery Tools Manager)

# Install PDTM first if not already installed
go install -v github.com/projectdiscovery/pdtm/cmd/pdtm@latest

# Install AlterX using PDTM
pdtm -i alterx

# Verify installation
alterx -version

On Kali Linux

# Install using apt
sudo apt install alterx

# Verify installation
alterx -version

Basic Usage

Generating Wordlists

# Generate wordlist using default patterns
alterx -l subdomains.txt

# Generate wordlist with specific pattern
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}-dev"

# Generate wordlist from a single domain
alterx -d example.com -p "\\\\{\\\\{word\\\\}\\\\}-\\\\{\\\\{number\\\\}\\\\}"

# Generate wordlist from multiple domains
alterx -d example.com,hackerone.com -p "\\\\{\\\\{word\\\\}\\\\}-\\\\{\\\\{number\\\\}\\\\}"

Output Options

# Save results to a file
alterx -l subdomains.txt -o wordlist.txt

# Output in JSON format
alterx -l subdomains.txt -json -o wordlist.json

# Silent mode (only wordlist entries)
alterx -l subdomains.txt -silent

Pattern Usage

Basic Patterns

# Use word pattern (extracts words from input)
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}"

# Use number pattern (extracts numbers from input)
alterx -l subdomains.txt -p "\\\\{\\\\{number\\\\}\\\\}"

# Use character pattern (extracts characters from input)
alterx -l subdomains.txt -p "\\\\{\\\\{char\\\\}\\\\}"

# Combine multiple patterns
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}-\\\\{\\\\{number\\\\}\\\\}"

Advanced Patterns

# Use prefix pattern
alterx -l subdomains.txt -p "dev-\\\\{\\\\{word\\\\}\\\\}"

# Use suffix pattern
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}-prod"

# Use multiple patterns
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}-dev,\\\\{\\\\{word\\\\}\\\\}-prod,\\\\{\\\\{word\\\\}\\\\}-stage"

# Use patterns from a file
alterx -l subdomains.txt -pf patterns.txt

Pattern Modifiers

# Use uppercase modifier
alterx -l subdomains.txt -p "\\\\{\\\\{word:uppercase\\\\}\\\\}"

# Use lowercase modifier
alterx -l subdomains.txt -p "\\\\{\\\\{word:lowercase\\\\}\\\\}"

# Use capitalize modifier
alterx -l subdomains.txt -p "\\\\{\\\\{word:capitalize\\\\}\\\\}"

# Use multiple modifiers
alterx -l subdomains.txt -p "\\\\{\\\\{word:lowercase:capitalize\\\\}\\\\}"

Advanced Usage

Word Extraction

# Extract words from input
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}" -extract-words

# Set minimum word length
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}" -min-word-length 3

# Set maximum word length
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}" -max-word-length 10

Number Extraction

# Extract numbers from input
alterx -l subdomains.txt -p "\\\\{\\\\{number\\\\}\\\\}" -extract-numbers

# Set minimum number length
alterx -l subdomains.txt -p "\\\\{\\\\{number\\\\}\\\\}" -min-number-length 1

# Set maximum number length
alterx -l subdomains.txt -p "\\\\{\\\\{number\\\\}\\\\}" -max-number-length 5

Character Extraction

# Extract characters from input
alterx -l subdomains.txt -p "\\\\{\\\\{char\\\\}\\\\}" -extract-chars

# Set minimum character length
alterx -l subdomains.txt -p "\\\\{\\\\{char\\\\}\\\\}" -min-char-length 1

# Set maximum character length
alterx -l subdomains.txt -p "\\\\{\\\\{char\\\\}\\\\}" -max-char-length 3

Pattern Examples

Common Subdomain Patterns

# Development environments
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}-dev,dev-\\\\{\\\\{word\\\\}\\\\},\\\\{\\\\{word\\\\}\\\\}.dev"

# Staging environments
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}-stage,stage-\\\\{\\\\{word\\\\}\\\\},\\\\{\\\\{word\\\\}\\\\}.stage"

# Production environments
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}-prod,prod-\\\\{\\\\{word\\\\}\\\\},\\\\{\\\\{word\\\\}\\\\}.prod"

# API endpoints
alterx -l subdomains.txt -p "api-\\\\{\\\\{word\\\\}\\\\},\\\\{\\\\{word\\\\}\\\\}-api,api.\\\\{\\\\{word\\\\}\\\\}"

# Admin panels
alterx -l subdomains.txt -p "admin-\\\\{\\\\{word\\\\}\\\\},\\\\{\\\\{word\\\\}\\\\}-admin,admin.\\\\{\\\\{word\\\\}\\\\}"

Numeric Patterns

# Append numbers
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}\\\\{\\\\{number\\\\}\\\\}"

# Prepend numbers
alterx -l subdomains.txt -p "\\\\{\\\\{number\\\\}\\\\}\\\\{\\\\{word\\\\}\\\\}"

# Separate with hyphen
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}-\\\\{\\\\{number\\\\}\\\\}"

# Separate with dot
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}.\\\\{\\\\{number\\\\}\\\\}"

Regional Patterns

# Geographic regions
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}-us,\\\\{\\\\{word\\\\}\\\\}-eu,\\\\{\\\\{word\\\\}\\\\}-asia"

# Countries
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}-uk,\\\\{\\\\{word\\\\}\\\\}-ca,\\\\{\\\\{word\\\\}\\\\}-au"

# Cities
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}-nyc,\\\\{\\\\{word\\\\}\\\\}-lon,\\\\{\\\\{word\\\\}\\\\}-sfo"

Integration with Other Tools

Pipeline with ShuffleDNS

# Generate wordlist and use it for DNS brute-forcing
alterx -l subdomains.txt -silent|shuffledns -d example.com -w /dev/stdin -r resolvers.txt

# Generate wordlist, filter, and use for DNS brute-forcing
alterx -l subdomains.txt -silent|grep -v "test"|shuffledns -d example.com -w /dev/stdin -r resolvers.txt

Pipeline with Subfinder

# Find subdomains passively and use them to generate wordlist
subfinder -d example.com -silent|alterx -p "\\\\{\\\\{word\\\\}\\\\}-dev,\\\\{\\\\{word\\\\}\\\\}-stage" -silent

# Find subdomains, generate wordlist, and use for DNS brute-forcing
subfinder -d example.com -silent|alterx -p "\\\\{\\\\{word\\\\}\\\\}-dev" -silent|shuffledns -d example.com -w /dev/stdin -r resolvers.txt

Pipeline with HTTPX

# Generate wordlist, resolve domains, and probe for HTTP services
alterx -l subdomains.txt -silent|dnsx -a -resp-only|httpx -silent

# Generate wordlist for specific domain and probe for HTTP services
alterx -l subdomains.txt -p "\\\\{\\\\{word\\\\}\\\\}-api" -silent|dnsx -a -resp-only -d example.com|httpx -silent

Output Customization

Custom Output Format

# Output only wordlist entries
alterx -l subdomains.txt -silent

# Count generated entries
alterx -l subdomains.txt -silent|wc -l

# Sort output alphabetically
alterx -l subdomains.txt -silent|sort

# Remove duplicates
alterx -l subdomains.txt -silent|sort -u
```### Filtragem de Saída
```bash
# Filter by pattern
alterx -l subdomains.txt -silent|grep "dev"

# Filter out pattern
alterx -l subdomains.txt -silent|grep -v "test"

# Filter by length
alterx -l subdomains.txt -silent|awk 'length($0) < 20'
```## Filtragem Avançada
```bash
# Filter by word count
alterx -l subdomains.txt -silent|awk 'NF==1'  # Single word
alterx -l subdomains.txt -silent|awk 'NF==2'  # Two words

# Filter by character type
alterx -l subdomains.txt -silent|grep -E '^[a-z]+

## Performance Optimization

### Concurrency and Rate Limiting

```bash
# Definir concorrência (padrão: 10)
alterx -l subdomains.txt -c 20

# Definir limite de taxa
alterx -l subdomains.txt -rate-limit 100

Optimization for Large Inputs

# Usar modo de stream para entradas grandes
alterx -l large-subdomains.txt -stream

# Limitar entradas máximas
alterx -l subdomains.txt -max-entries 1000

Troubleshooting

Common Issues

  1. Memory Issues

    # Usar modo de stream para entradas grandes
    alterx -l large-subdomains.txt -stream
    
    # Limitar entradas máximas
    alterx -l subdomains.txt -max-entries 1000
  2. Pattern Issues

    # Verificar sintaxe do padrão
    alterx -l subdomains.txt -p "\{\{word\}\}-dev" -debug
    
    # Usar padrões simples primeiro
    alterx -l subdomains.txt -p "\{\{word\}\}"
  3. No Output

    # Verificar arquivo de entrada
    cat subdomains.txt
    
    # Usar modo verboso
    alterx -l subdomains.txt -v
  4. Duplicate Entries

    # Remover duplicatas
    alterx -l subdomains.txt -silent|sort -u

Debugging

# Ativar modo verboso
alterx -l subdomains.txt -v

# Mostrar informações de depuração
alterx -l subdomains.txt -debug

# Mostrar estatísticas
alterx -l subdomains.txt -stats

Configuration

Configuration File

AlterX uses a configuration file located at $HOME/.config/alterx/config.yaml. You can customize various settings in this file:

# Arquivo de configuração de exemplo
concurrency: 10
rate-limit: 100
patterns:
  - "\{\{word\}\}-dev"
  - "\{\{word\}\}-stage"
  - "\{\{word\}\}-prod"

Environment Variables

# Definir configuração do AlterX via variáveis de ambiente
export ALTERX_CONCURRENCY=10
export ALTERX_RATE_LIMIT=100
export ALTERX_PATTERNS="\{\{word\}\}-dev,\{\{word\}\}-stage,\{\{word\}\}-prod"

Reference

Command Line Options

FlagDescription
-d, -domainTarget domain(s) to use for wordlist generation
-l, -listFile containing list of domains to use for wordlist generation
-p, -patternPattern(s) to use for wordlist generation
-pf, -pattern-fileFile containing patterns to use for wordlist generation
-o, -outputFile to write output to
-jsonWrite output in JSON format
-silentShow only wordlist entries in output
-v, -verboseShow verbose output
-extract-wordsExtract words from input
-extract-numbersExtract numbers from input
-extract-charsExtract characters from input
-min-word-lengthMinimum word length
-max-word-lengthMaximum word length
-min-number-lengthMinimum number length
-max-number-lengthMaximum number length
-min-char-lengthMinimum character length
-max-char-lengthMaximum character length
-c, -concurrencyNumber of concurrent workers
-rate-limitMaximum number of entries per second
-streamStream mode for large inputs
-max-entriesMaximum number of entries to generate
-statsShow statistics
-debugShow debug information
-versionShow AlterX version

Pattern Variables

VariableDescription
\{\{word\}\}Extracts words from input
\{\{number\}\}Extracts numbers from input
\{\{char\}\}Extracts characters from input

Pattern Modifiers

ModifierDescription
:uppercaseConverts to uppercase
:lowercaseConverts to lowercase
:capitalizeCapitalizes first letter

Resources


This cheat sheet provides a comprehensive reference for using AlterX, from basic wordlist generation to advanced pattern usage and integration with other tools. For the most up-to-date information, always refer to the official documentation.

Only lowercase

alterx -l subdomains.txt -silent|grep -E ‘[0-9]’ # Contains numbers

Filter by domain pattern

alterx -l subdomains.txt -silent|grep -E ‘^api-’ # Starts with “api-” alterx -l subdomains.txt -silent|grep -E ‘-dev

Performance Optimization

Concurrency and Rate Limiting

CODE_BLOCK_22

Optimization for Large Inputs

CODE_BLOCK_23

Troubleshooting

Common Issues

  1. Memory Issues CODE_BLOCK_24

  2. Pattern Issues CODE_BLOCK_25

  3. No Output CODE_BLOCK_26

  4. Duplicate Entries CODE_BLOCK_27

Debugging

CODE_BLOCK_28

Configuration

Configuration File

AlterX uses a configuration file located at $HOME/.config/alterx/config.yaml. You can customize various settings in this file:

CODE_BLOCK_29

Environment Variables

CODE_BLOCK_30

Reference

Command Line Options

FlagDescription
-d, -domainTarget domain(s) to use for wordlist generation
-l, -listFile containing list of domains to use for wordlist generation
-p, -patternPattern(s) to use for wordlist generation
-pf, -pattern-fileFile containing patterns to use for wordlist generation
-o, -outputFile to write output to
-jsonWrite output in JSON format
-silentShow only wordlist entries in output
-v, -verboseShow verbose output
-extract-wordsExtract words from input
-extract-numbersExtract numbers from input
-extract-charsExtract characters from input
-min-word-lengthMinimum word length
-max-word-lengthMaximum word length
-min-number-lengthMinimum number length
-max-number-lengthMaximum number length
-min-char-lengthMinimum character length
-max-char-lengthMaximum character length
-c, -concurrencyNumber of concurrent workers
-rate-limitMaximum number of entries per second
-streamStream mode for large inputs
-max-entriesMaximum number of entries to generate
-statsShow statistics
-debugShow debug information
-versionShow AlterX version

Pattern Variables

VariableDescription
\{\{word\}\}Extracts words from input
\{\{number\}\}Extracts numbers from input
\{\{char\}\}Extracts characters from input

Pattern Modifiers

ModifierDescription
:uppercaseConverts to uppercase
:lowercaseConverts to lowercase
:capitalizeCapitalizes first letter

Resources


This cheat sheet provides a comprehensive reference for using AlterX, from basic wordlist generation to advanced pattern usage and integration with other tools. For the most up-to-date information, always refer to the official documentation.

 # Ends with "-dev"

### Concorrência e Limitação de Taxa

__CODE_BLOCK_22__

### Otimização para Entradas Grandes

__CODE_BLOCK_23__

## Solução de Problemas

### Problemas Comuns
`$HOME/.config/alterx/config.yaml`**Problemas de Memória**
   __CODE_BLOCK_24__

| Bandeira | Descrição |
|------|-------------|
| `-d, -domain` | Domínio(s) alvo para usar na geração de lista de palavras |
| `-l, -list` | Arquivo contendo lista de domínios para usar na geração de lista de palavras |
| `-p, -pattern` | Padrão(ões) a usar para geração de lista de palavras |
| `-pf, -pattern-file` | Arquivo contendo padrões para usar na geração de lista de palavras |
| `-o, -output` | Arquivo para gravar saída em |
| `-json` | Escreva a saída em formato JSON |
| `-silent` | Mostrar apenas entradas da lista de palavras na saída |
| `-v, -verbose` | Mostrar saída detalhada |
| `-extract-words` | Extrair palavras da entrada |
| `-extract-numbers` | Extrair números da entrada |
| `-extract-chars` | Extrair caracteres da entrada |
| `-min-word-length` | Comprimento mínimo de palavra |
| `-max-word-length` | Comprimento máximo de palavra |
| `-min-number-length` | Comprimento mínimo de número |
| `-max-number-length` | Comprimento máximo do número |
| `-min-char-length` | Comprimento mínimo de caracteres |
| `-max-char-length` | Comprimento máximo de caracteres |
| `-c, -concurrency` | Número de workers concorrentes |
| `-rate-limit` | Número máximo de entradas por segundo |
| `-stream` | Modo de stream para entradas grandes |
| `-max-entries` | Número máximo de entradas a gerar |
| `-stats` | Mostrar estatísticas |
| `-debug` | Mostrar informações de depuração |
| `-version` | Mostrar versão do AlterX |**Problemas de Padrão**
   __CODE_BLOCK_25__

| Variável | Descrição |
|----------|-------------|
| `\\{\\{word\\}\\}` | Extrai palavras da entrada |
| `\\{\\{number\\}\\}` | Extrai números da entrada |
| `\\{\\{char\\}\\}` | Extrai caracteres da entrada |**Sem Saída**
   __CODE_BLOCK_26__

| Modificador | Descrição |
|----------|-------------|
| `:uppercase` | Converte para maiúsculas |
| `:lowercase` | Converte para minúsculas |
| `:capitalize` | Capitaliza primeira letra |**Entradas Duplicadas**
   __CODE_BLOCK_27__

### Depuração

__CODE_BLOCK_28__

## Configuração

### Arquivo de Configuração

O AlterX usa um arquivo de configuração localizado em https://docs.projectdiscovery.io/tools/alterx. Você pode personalizar várias configurações neste arquivo:

__CODE_BLOCK_29__

### Variáveis de Ambiente

__CODE_BLOCK_30__

## Referência

### Opções de Linha de Comando
https://github.com/projectdiscovery/alterx
### Variáveis de Padrão
https://discord.gg/projectdiscovery
### Modificadores de Padrão