Como usar as melhores ferramentas de hacking do Linux

Os sistemas operacionais baseados em Linux e Unix têm estado no centro das áreas de Segurança da Informação, Segurança de Rede, Criptografia, etc. Eles vêm com uma ampla variedade de ferramentas destinadas a propósitos de segurança cibernética.

Vejamos três dessas ferramentas: Aircrack-ng, Jack The Ripper e Radare2.

Suite Aircrack-ng

O pacote Aircrack-ng é talvez o conjunto mais amplamente usado de ferramentas de detecção de senha e detecção de rede WiFi. Destina-se a quebrar as senhas de rede sem fio do protocolo IEEE 802.11, que são principalmente protegidas pelos padrões Wifi Protected Access (WPA) ou Wifi Protected Access 2 (WPA2) e autenticadas pelo método de autenticação Pre-Shared Key (PSK).

Ele oferece programas separados para monitorar o status dos dispositivos de rede, capturar pacotes e despejar arquivos, quebrar senhas, etc.

Observe que quebrar WPA / WPA2 usando cripto-algoritmos foi considerado pelos pesquisadores como quase impossível. Conseqüentemente, a maneira de crackear WPA / WPA2 por programas como o aircrack-ng é a força bruta e requer um dicionário de senhas para quebrá-la. Isso significa que ele só pode quebrar a senha se a senha for uma palavra do dicionário.

Você pode facilmente instalar o Aircrack-ng em seu sistema usando o script de instalação fornecido por packagecloud.io. Abra o terminal e execute os seguintes comandos com base no seu tipo de sistema operacional Linux.

Em distribuições baseadas em Debian, execute o seguinte comando:

curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.deb.sh | sudo bash

Para Red-hat Package Manager (RPM), execute o seguinte comando:

curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.rpm.sh | sudo bash

Agora vamos tentar quebrar a senha de uma rede Wi-Fi local usando o Aircrack-ng.

Primeiro de tudo, execute o comando iwconfig para encontrar o nome de sua interface de rede sem fio.

iwconfig

Aqui, wlp2s0 é o nome da minha interface sem fio. ESSID, ou seja, o nome da rede é “tmp”, que é o nome da rede Wifi à qual estou conectado.

Vamos usar o airmon-ng comando para iniciar uma interface de monitor de rede em wlp2s0.

sudo airmon-ng start wlp2s0

Procure a linha no final para encontrar a interface do modo de monitor. No exemplo acima, é mon0. Agora vamos começar a capturar pacotes de rede executando o airodump-ng sobre mon0.

sudo airodump-ng mon0 -w log

Ele exibe um monitor de pacotes de rede capturados de diferentes redes. O -w log parte é para salvar os pacotes de rede em arquivos de log. O prefixo dos arquivos de log será a parte especificada após -w, neste caso 'log'.

Para que o programa capture a chave hash da frase secreta, um handshake WPA deve ocorrer na rede, ou seja, um usuário deve tentar se conectar a ela. O próprio usuário pode desconectar seu Wifi e reconectar-se a ele. No canto superior direito agora, ele notifica que um handshake WPA foi capturado.

Agora aperte Ctrl + C para encerrar o despejo. Você pode ver os arquivos de log gerados na pasta atual.

A próxima e última etapa é executar o aircrack-ng com um dicionário para ver qual palavra corresponde à chave hash interceptada do handshake.

aircrack-ng log-01.cap -w tmpdict.txt 

Aqui log-01.cap é o arquivo de log gerado por airodump-ng comando e tmpdict.txt é o arquivo de dicionário. Vários dicionários grandes estão disponíveis online, os quais podem ser baixados e usados ​​aqui.

Para selecionar uma rede de destino, digite o número de índice da rede na lista de redes mostrada na tela.

Se uma chave for correspondida no dicionário, ele irá parar e exibir a seguinte mensagem.

É óbvio que, no caso de arquivos de dicionário maiores, o programa levará mais tempo para ser executado, pois verifica cada entrada no dicionário.

Conforme mencionado anteriormente, a senha só pode ser quebrada se estiver presente no arquivo de dicionário. A segurança WPA é forte o suficiente para que o uso de qualquer algoritmo de criptografia não permita a quebra de senha. Portanto, é uma boa prática ter uma senha longa e forte com vários caracteres especiais em seu dispositivo Wifi, para que qualquer tipo de atividade de quebra de senha nunca seja bem-sucedida.

John The Ripper

John the Ripper é uma ferramenta usada para quebrar senhas fracas do Unix. É uma ferramenta muito fácil de usar, invocada em arquivos de senha. Funciona em três modos.

Modo Único

Verifica a senha de todos os campos do GECOS, ou seja, verifica a senha nas informações da conta do usuário; nome de usuário, nome, sobrenome, etc.

sudo john --single / etc / shadow

Modo de lista de palavras

Verifica a senha com cada entrada de um arquivo de lista de palavras (dicionário).

sudo john --wordlist = passlist.txt / etc / shadow

Aqui, a senha do usuário ‘user3’ é “admin”. John conseguiu decifrá-lo porque a frase ‘admin’ estava presente no arquivo passlist.txt.

Modo Incremental

Verifique todas as combinações possíveis para um intervalo configurado. Por padrão, ele considera todos os caracteres no conjunto de caracteres ASCII e todos os comprimentos de 0 a 13. Nem é preciso dizer que, dependendo do intervalo configurado, esse modo pode levar muito tempo para ser executado.

A configuração para isso pode ser alterada em /etc/john/john.conf Arquivo.

sudo john --incremental / etc / shadow

Radare2

Radare2 (alias r2) é uma ferramenta de engenharia reversa para Linux. Ele pode desmontar, depurar um arquivo binário executável, com uma lista enorme de opções para manipular dados em tempo de execução.

Vamos ver como desmontar um programa C muito pequeno usando r2. Observe que um conhecimento básico da linguagem assembly é necessário para usar a ferramenta.

Primeiro, crie um pequeno programa C no vim ou em qualquer editor de sua escolha.

/*teste.c*/ #include int main () {int i = 0; printf ("% d \ n", i); return 0; }

Como você pode ver, tudo o que este programa faz é armazenar o dígito 0 em uma variável e acessar a variável para imprimi-la.

Devemos agora compilar o programa.

gcc test.c -o test

Um arquivo executável é criado no diretório atual com o nome ‘teste’. Execute-o para ver a saída '0'.

./teste

Vamos instalar o r2 agora. O nome do pacote no Ubuntu e distribuições semelhantes é radare2.

sudo apt install radare2

Observação: Para versões mais antigas do Ubuntu (versão 14.04 e abaixo), você precisa usar apt-get deve ser usado em vez de apto.

Vamos agora iniciar o prompt de comando r2 com nosso arquivo executável, ‘test’.

teste r2

Para obter a lista de subcomandos, digite ?. Por exemplo. para obter uma lista de subcomandos para o comando uma, entrar uma?

uma?

Vamos executar o subcomando aa, que analisará o arquivo binário completo. Não produzirá nada. Mas depois de analisar o binário, podemos usar o p? subcomandos para desmontar o código.

Em seguida, vamos para o a Principal função do programa. Todo programa executável em C tem o a Principal funcionar como seu ponto de partida.

s principal

Você pode ver que o prefixo do prompt mudou o endereço de memória atual, ou seja, o programa agora é procurado para o endereço da função a Principal.

Em seguida, usamos o subcomando pdf, que imprimirá a desmontagem de uma função. Nós chamamos isso com sym.main, que é o nome da função principal em linguagem assembly.

pdf sym.main

Como podemos ver na imagem acima, temos a desmontagem completa do nosso programa C. Agora podemos analisar o que o programa está fazendo lendo a montagem.

Por exemplo, mov dword [rbp-0x4], 0x0 é a atribuição de um valor (0) a um local de memória rbp - ponteiro de base, 0x4 - Tamanho da memória necessário para um inteiro.

Nós temos chamar sym.imp.printf, que imprimirá o conteúdo do registro eax, ou seja, o valor 0.

Existem muito mais opções para manipular e depurar o fluxo de um programa em r2. Você pode tentar outras opções que são mostradas com o ? comando. Para salvar qualquer log ou saída de desmontagem em um arquivo, você pode canalizar a saída conforme abaixo:

pdf main> main.s

Esta foi a visão geral de algumas das ferramentas de hacking mais amplamente utilizadas no Linux. Se você achou esta página útil, certifique-se de compartilhá-la em suas comunidades online favoritas.