Como gerar listas de palavras personalizadas no Kali Linux com crunch
O Kali Linux está repleto de uma miríade de ferramentas para ajudar nos testes de segurança. As listas de palavras desempenham um papel crucial em vários testes de segurança cibernética e tarefas relacionadas com a palavra-passe.
A utilização do comando “crunch” no sistema operativo Linux permite aos utilizadores produzir uma série de listas de palavras de vários tipos que podem ser implementadas durante os procedimentos de teste de segurança. Consequentemente, a proficiência neste comando seria uma melhoria altamente desejável para os conhecimentos técnicos de uma pessoa. Neste artigo, vamos aprofundar o processo de instalação e utilização efectiva do comando “crunch” para gerar listas de palavras no Kali Linux.
Como instalar o crunch no Kali Linux
O Kali Linux geralmente inclui o comando crunch em seu pacote de instalação padrão. No entanto, se ele estiver ausente, pode-se obtê-lo e instalá-lo através dos repositórios oficiais do sistema, atualizando-os inicialmente usando o seguinte comando:
sudo apt update
Instale o pacote crunch com:
sudo apt install crunch
Como usar o comando crunch no Linux
Para saber mais sobre o crunch, execute:
crunch -h
A presente passagem serve como uma visão sucinta da funcionalidade e estrutura gramatical associada ao comando “crunch”, delineando os seus elementos essenciais em termos concisos.
Para obter uma compreensão abrangente e intrincada da funcionalidade e das opções disponíveis para o comando “crunch”, consulte a sua página de manual ou, em alternativa, solicite assistência através da linha de comandos, executando o seguinte inquérito:
man crunch
A sintaxe básica do crunch
A estrutura fundamental do comando crunch pode ser descrita da seguinte forma:
crunch <min> <max> [options]
Mínimo e máximo são dois parâmetros que definem a gama de sequências de caracteres a serem geradas pela Crunch. Especificamente, “min” representa o comprimento mais pequeno possível da saída desejada, enquanto “max” significa o comprimento mais longo possível. Estes valores podem ser ajustados conforme necessário para obter um resultado mais adequado para um determinado objetivo ou contexto.
Para garantir um comprimento uniforme dos caracteres, é aconselhável estabelecer valores mínimos e máximos idênticos para o tipo de lista de palavras pretendido. O comando Crunch oferece uma extensa gama de opções para gerar vários estilos de listas de palavras adaptadas a requisitos específicos.
Para gerar uma lista que contenha todas as combinações de cadeias de três letras formadas a partir dos caracteres alfabéticos ‘a’, ‘b’ e ‘c’ utilizando Python, execute o seguinte excerto de código:
crunch 3 3 abc
Definir intervalos de caracteres utilizando o comando crunch
Para criar listas de palavras personalizadas, é possível estabelecer subconjuntos de caracteres específicos, tais como caracteres alfanuméricos, caracteres especiais ou qualquer combinação destes. A título de exemplo, se desejar produzir um conjunto de palavras constituído por letras minúsculas com quatro a seis caracteres de comprimento, basta executar o seguinte comando:
crunch 4 6 abcdefghijklmnopqrstuvwxyz
Para criar uma lista contendo apenas valores numéricos, execute o seguinte comando:
crunch 10 10 123456789
Tem a opção de determinar a contagem de caracteres para a sua entrada.
Saída da lista de palavras para um ficheiro usando crunch
Pode utilizar o sinalizador “-o” seguido do nome do ficheiro de saída desejado para designar o local onde pretende armazenar a lista de palavras resultante. De modo a gerar uma lista contendo todas as combinações possíveis da sequência de quatro caracteres “abc123”, e depois guardar esta coleção num ficheiro intitulado “wordlist.txt”, basta executar o seguinte comando no seu terminal ou prompt de comando:
crunch 4 4 abc123 -o wordlist.txt
Use Bruteforce Mode in the crunch Command
A opção “-b” permite aos utilizadores designar um conjunto de caracteres específico para efeitos de força bruta, que é tipicamente utilizado em conjunto com o processo de geração de listas de palavras através da combinação de caracteres dentro de um intervalo pré-determinado de comprimentos de palavras.
O modo “-b” apresenta um âmbito mais alargado que o seu homólogo, pois constrói listas de palavras através da geração de permutações de caracteres, abrangendo assim todas as combinações concebíveis dentro do conjunto de base dado.
crunch 6 6 -b 1234567890abcdef -o bruteforce.txt
Para gerar uma lista abrangente contendo todas as permutações potenciais da string ‘abcd
Use o Modo de Combinação com crunch
A utilização da opção “-c” permite a geração de combinações de caracteres derivadas de vários grupos de caracteres, muitas vezes referidos como “conjuntos”.
crunch 8 8 -c 1@% -o combinations.txt
O comando dado gera uma lista alfabética de palavras contendo letras maiúsculas e minúsculas e certos caracteres especiais ‘@’, ‘%’ e ‘!’. A lista de palavras resultante é guardada como “combinations.txt”.
Criar listas de palavras com um padrão personalizado usando crunch
A utilização do argumento de linha de comando “-t” permite a geração de listas de palavras de acordo com um modelo personalizado.
crunch 8 8 -t MyPass@@@@ -o unique.txt
A presente instrução produz uma lista de palavras, denotada por “MyPass”, com caracteres aleatórios a substituir “@@@@”, que serve de espaço reservado para a sequência gerada. A coleção de palavras resultante é armazenada num ficheiro chamado “unique.txt”.
A lista de palavras gerada será composta por palavras em conformidade com o padrão designado. Especificamente, incluirá palavras que começam com “MyPass” e são seguidas por uma sequência de quatro caracteres diferentes retirados do conjunto de caracteres predeterminado, que neste caso corresponde ao conjunto de caracteres padrão que contém todos os elementos alfanuméricos.
Em determinadas situações, pode ser vantajoso utilizar listas de palavras personalizadas que estejam em conformidade com uma estrutura específica ou que sejam concebidas para validar palavras-passe que sigam padrões discerníveis. Para reforçar a segurança das suas credenciais de início de sessão e impedir tentativas de acesso não autorizado, é essencial estar ciente dos erros típicos normalmente cometidos ao criar palavras-passe fortes.
Criar listas de palavras utilizando o modo de dicionário
A utilização do sinalizador -d
permite ao utilizador utilizar um ficheiro de dicionário externo, que serve de repositório de palavras, como base para gerar a lista de palavras através da ferramenta de linha de comandos.
crunch 6 6 -f /usr/share/dict/words -o dictionary-list.txt
Neste caso, a instrução cria uma lista de palavras composta por seis caracteres utilizando um vocabulário predefinido, referido como um “ficheiro de dicionário”, e armazena subsequentemente a compilação num ficheiro intitulado “dictionary-list.txt”.
Gerar palavras sem caracteres repetidos usando crunch
Para criar uma lista de lexemas sem caracteres recorrentes, utilizar a ferramenta de linha de comando “crunch” com o sinalizador “-p” pode ser uma estratégia eficaz. Especificamente, esta opção dita que o vocabulário resultante deve exibir singularidade em termos dos seus caracteres constituintes, erradicando duplicações de letras em palavras individuais.
Para criar uma lista de palavras de seis letras sem caracteres repetidos, utilize o seguinte comando:
crunch 6 6 -p ABCDEF -o non-repeating-words.txt
A operação acima mencionada produz uma matriz que consiste apenas em caracteres alfabéticos de “A” a “F”, sem quaisquer símbolos recorrentes, que é depois guardada num documento de texto referido como ’non-repeating-words.txt’.
Usar o comando Crunch com outros comandos Linux
De facto, existe um vasto leque de comandos no domínio do Linux que permitem produzir listas de palavras altamente personalizadas de acordo com as suas preferências individuais. O aspeto crucial está em familiarizar-se com estes comandos e compreender as suas respectivas funcionalidades.
A utilização do comando crunch em conjunto com outros utilitários do Linux, como grep, sort, wc e hydra, permite filtrar, ordenar e contar listas de palavras, ao mesmo tempo que efectua ataques de dicionário.