Você é um iniciante no domínio da segurança cibernética? Você quer estar em seu lado ofensivo? Como um red teamer, você aprende muitas técnicas e táticas que o ajudam a realizar as atividades da cadeia de morte cibernética. Uma dessas tarefas é o escalonamento de privilégios, onde você obtém hashes de senha.
hashcat é uma ferramenta poderosa e versátil que força bruta as credenciais armazenadas usando hashes conhecidos, conduzindo vários modos de ataques. O artigo aborda este utilitário de quebra de senha usado por testadores de penetração, administradores de sistema, espiões ou hackers para encontrar senhas.
O que são hashes?
Hashing é uma função matemática unidirecional ou identificador exclusivo que retorna uma saída de comprimento fixo, independentemente do tamanho/comprimento da entrada. Portanto, é um processo irreversível que não requer uma chave como na criptografia para decifrar o valor do hash.
O objetivo mais comum do hash é garantir a integridade dos dados contra adulterações durante a transmissão de dados. As propriedades do hash são as seguintes:
- Oferece computação rápida
- Bons algoritmos evitam a mesma saída para diferentes entradas
- Eles têm uma natureza determinista
- Pequenas mudanças na entrada influenciam significativamente o valor de hash de saída
Por que usar hashcat?
hashcat é um utilitário multithread que permite configurar o número de threads e limitar a execução com base na prioridade. Suporta mais de 300 algoritmos de hash como MD4, MD5, SHA1, SHA512, bcrypt, HMAC-SHA512, NTLM, MySQL, WHIRLPOOL, entre muitos outros. Está disponível para todos os tipos de sistemas operacionais, incluindo Windows, Linux, Unix e BSD.
Maneiras de quebrar hashes de senha usando hashcat
hashcat oferece uma variedade de modos de ataque (combinador, baseado em regras, adivinhação de força bruta, híbrido e ataques de dicionário) para fornecer melhor cobertura. Aqui está uma explicação de alguns ataques que o hashcat usa para quebrar senhas com hash:
- Ataque de força bruta: Um ataque de força bruta utiliza todas as combinações de caracteres possíveis para determinar a senha exata. No entanto, ele tem uma limitação de comprimento máximo de senha e número de caracteres. Além disso, um nível avançado de ataque de força bruta também pode otimizar o tempo fazendo suposições de complexidade. Por exemplo, uma técnica avançada de força bruta pode assumir que o primeiro caractere é mais provável de ser maiúscula e os dígitos são mais propensos a aparecer no final de uma senha, etc.
- Ataque de dicionário: um ataque de dicionário utiliza uma lista pré-computada de senhas, dependendo das informações coletadas em torno do alvo ou de um padrão observado entre os usuários. Portanto, são necessárias algumas senhas mais usadas e adiciona algumas permutações a elas para aumentar o escopo.
- Ataque híbrido: Hybrid é uma combinação dos ataques discutidos acima, pois verifica se a senha é "quebrável" por meio de um ataque de dicionário e passa para a técnica de força bruta, se não for possível.
Como instalar o hashcat no Linux
hashcat está disponível por padrão no Kali Linux. Para instalá-lo no Ubuntu e no Debian:
sudo apt-get update
sudo apt-get install hashcat
No Fedora, CentOS e outras distribuições baseadas em RHEL:
atualização sudo dnf
sudo dnf instalar hashcat
Para instalar o hashcat no Arch Linux:
sudo pacman -Syu
sudo pacman -S hashcat
Pós-instalação, use o comando de ajuda para listar todas as opções disponíveis:
hashcat --ajuda
Algumas opções de hashcat e sua descrição são as seguintes:
Opções | Descrição |
---|---|
-m | O tipo de hash com um valor padrão de 0, ou seja, hash MD5 |
-uma | Tipo de ataque, 0 para um ataque direto, 2 para combinação e 3 para um ataque de força bruta |
-o | Armazena a senha quebrada em um arquivo de saída |
lista de palavras | Requer um caminho para a lista de palavras de senhas para combinar e quebrar os hashes |
Observação: Antes de trabalhar com o hashcat, certifique-se de que seu sistema esteja de acordo com os requisitos de funcionamento do hardware. Confira a website oficial para mais detalhes.
Crack Hashes do arquivo /etc/shadow no Linux
O /etc/arquivo shadow armazena os valores ilegíveis ou com hash de todas as senhas de usuários no Linux. É um arquivo crítico com permissões de acesso restritas; é e deve ser acessível apenas pela conta root.
Portanto, se você se deparar com um texto legível /etc/shadow arquivo através de qualquer conta de usuário regular, você pode obter o valor de hash da conta root e quebrar o hash de senha usando o utilitário hashcat.
Para fins de demonstração, mude para a conta root e criar uma nova conta de usuárioalice para entender como o hashcat funciona:
sudo su
sudo useradd -c "Alice" alice
Crie uma senha usando o comando passwd:
passwd alice
Verifique o valor da senha com hash dentro do /etc/shadow arquivo da seguinte forma:
corte -d: -f1 /etc/shadow | grep alice
Saída:
alice:$y$j9T$TANXgpk59y8r3jgPbDl/w/$UqiK6yahwqfyqhcegWLa1.z64TyePP5.VQpUnLqI3VD: 19023:0:99999:7::
O hash na saída acima começa em "Alice:" em diante; salve-o dentro de um novo arquivo hash.txt.
Você pode ir para o site do hash para identificar o tipo de função hash e o valor de referência associado. O modo de hash SHA512 é geralmente identificado pelo $6$ prazo e tem um valor de referência de 1800.
Você também pode procurar o método de criptografia dentro do login.defs Arquivo:
grep ENCRYPT_METHOD /etc/login.defs
Em seguida, verifique o valor associado da função de hash usando o comando hashcat da seguinte maneira:
hashcat -h | grep sha512
Agora use o utilitário hashcat para quebrar o hash com o -uma sinalizador para o modo de ataque, -m sinalizador para o valor de referência de hash (já que não suporta o nome da função de hash), hash.txt caminho do arquivo e um caminho para a lista de palavras rockyou.txt.
hashcat -m 1800 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
Saída:
.
.
$y$j9T$TANXgpk59y8r3jgPbDl/w/$UqiK6yahwqfyqhcegWLa1.z64TyePP5.VQpUnLqI3VD: 12345
.
.
Observação: No Kali Linux, o rockyou.txt arquivo está disponível por padrão dentro do /usr/share/wordlists diretório. Você também pode usar outras listas de palavras executando o seguinte comando no terminal:
localizar listas de palavras | menos
Saída:
No entanto, para outras distribuições Linux, você precisará baixar o rockyou.txt arquivo do repositório GitHub da seguinte forma:
wget https://github.com/danielmiessler/SecLists/blob/master/Passwords/Leaked-Databases/rockyou-20.txt
Quebrando senhas no Linux com hashcat
Um sistema de autenticação bem construído não armazena senhas de usuários em texto simples e visão clara, pois podem causar vulnerabilidades de segurança. Um mecanismo de autenticação melhor armazena senhas como hashes em arquivos seguros e inacessíveis. No entanto, um cracker de senha como o hashcat é projetado para decifrar ou adivinhar as senhas usando vários modos de ataque.
Este artigo detalha as maneiras que um testador de penetração deve saber para quebrar senhas com hash usando o utilitário hashcat. Como um red teamer, é necessário entender as técnicas que um invasor pode usar para comprometer os controles de autenticação e fornecer diretrizes para cobrir as brechas do sistema.
Você ignora a verificação de hash de arquivo por sua conta e risco? Use essas ferramentas para verificar se o arquivo que você está baixando é seguro.
Leia a seguir
- Linux
- Segurança
- Segurança
- Aplicativos Linux
- Comandos Linux
- Hacking Ético
- Hackear
Rumaisa é redatora freelancer na MUO. Ela já desempenhou muitos cargos, de matemática a entusiasta de segurança da informação, e agora está trabalhando como analista de SOC. Seus interesses incluem ler e escrever sobre novas tecnologias, distribuições Linux e qualquer coisa relacionada à Segurança da Informação.
Assine a nossa newsletter
Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!
Clique aqui para assinar