Baixe o app para aproveitar ainda mais
Prévia do material em texto
AULA 5 UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 1 of 33 30/11/2020 17:56 Prof. Sandro de Araujo CONVERSA INICIAL O profissional hacker ético usa as mesmas ferramentas que compõem a prática dos hackers criminosos. Esse profissional de segurança da informação precisa conhecer essas ferramentas a fundo na prática. Assim, consegue-se visualizar como um cibercriminoso pode tirar vantagem de vulnerabilidades e até onde ele pode chegar usando essas ferramentas. Algumas dessas ferramentas hackers são usadas para realizar análise de vulnerabilidades, exploração de falhas e pós-exploração de falhas. Portanto, nesta aula, veremos: Coleta de informações e análise de vulnerabilidade; Programas que rodam em servidores Web; Password cracking; Engenharia reversa; Ataque à rede wireless. TEMA 1 – FERRAMENTAS PARA COLETA DE INFORMAÇÕES E ANÁLISE DE VULNERABILIDADE Entre todas as distribuições Linux, o Kali é uma das mais melhores e mais completas distribuições para ataques de intrusão para hackers (éticos). Essa distribuição foi desenvolvida exclusivamente para testes de intrusão e auditoria de segurança. Um grande diferencial do Kali Linux é que se trata de um sistema operacional gratuito, estável e confiável, que contém em seu repertório mais de 300 ferramentas nativas para executar testes variados. Em nossas aulas, abordaremos as ferramentas mais usadas pela comunidade hacker. UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 2 of 33 30/11/2020 17:56 1.1 SOCIAL ENGINEERING TOOLKIT (SET) O SET é desenvolvido para auxiliar em testes de penetração contra elementos humanos, levando em consideração que as pessoas costumam ser o elo mais fraco nos sistemas de segurança. Os seres humanos são o melhor recurso na busca de vulnerabilidades de segurança. A engenharia social é um tipo de ataque que visa o comportamento humano, manipulando e brincando com sua confiança, com o objetivo de obter informações confidenciais, como conta bancária, mídia social, e-mail e até acesso ao computador de destino. Nenhum sistema é seguro, porque o sistema é feito por seres humanos. Os ataques de engenharia social não estão invadindo um sistema diretamente, mas usando a interação social humana e o atacante está lidando diretamente com a vítima. O SET foi projetado para realizar testes de penetração no lado humano. A Figura 1 mostra a interface do SET no terminal. Figura 1 – Interface do SET no terminal Fonte: Kali Linux, 2018. Saiba mais UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 3 of 33 30/11/2020 17:56 Para compreender as principais funcionalidades do SET, o próprio site oficial disponibiliza um guia gratuito (em inglês). Disponível em: <https://linuxhint.com/kali-linux-set>. Acesso em: 20 jul. 2020. 1.2 DNSENUM DNSENUM é uma ferramenta para enumeração de DNS, que é o processo de localizar todos os servidores DNS e entradas DNS de uma organização. A enumeração DNS permite coletar informações críticas sobre a organização, como nomes de usuário, nomes de computadores, endereços IP e assim por diante. Essa ferramenta também é usada via terminal, conforme mostrado na Figura 2. Figura 2 – Interface do DNSENUM no terminal Fonte: Kali Linux Tutorials, 2018. 1.3 NMAP O Nmap é uma das principais ferramentas open source usadas em detecção (varredura) de redes, análises e auditorias de segurança. Muito usado para levantar informações específicas em qualquer máquina que esteja ativa. A Figura 3 mostra a interface do Nmap no terminal. UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 4 of 33 30/11/2020 17:56 Figura 3 – Interface no terminal Fonte: NMAP, 2020. Saiba mais Para compreender as principais funcionalidades do NMAP, o próprio site oficial disponibiliza um guia gratuito (em inglês). Disponível em: <https://nmap.org/book/toc.html>. Acesso em: 20 jul. 2020. 1.4 NESSUS O Projeto Nessus foi iniciado por Renaud Deraison em 1998 para fornecer à comunidade da Internet um scanner de segurança remoto gratuito. Em 5 de outubro de 2005, a Tenable Network Security, cofundadora da Renaud Deraison, mudou o Nessus 3 para uma licença proprietária. O mecanismo do Nessus 2 e uma minoria dos plugins ainda são GPL, levando a projetos de código aberto baseados em Nessus, como o OpenVAS e o Porz-Wahn (Tenable, 2020). UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 5 of 33 30/11/2020 17:56 Hoje, o produto ainda existe em dois formatos: uma versão limitada e gratuita e uma opção de assinatura paga com todos os recursos. O Nessus está disponível para Linux, Windows e Mac OS X. A Tenable, Inc. tornou-se pública em 26 de julho de 2018, 20 anos após a criação do Nessus. Abaixo, estão alguns exemplos de vulnerabilidades e exposições que o Nessus pode verificar: Vulnerabilidades que podem permitir controle não autorizado ou acesso a dados confidenciais em um sistema. Configuração incorreta (por exemplo, retransmissão de e-mail aberta, patches ausentes etc.). Senhas padrão: algumas senhas comuns e senhas em branco/ausentes em algumas contas do sistema. O Nessus também pode ligar para o Hydra (uma ferramenta externa) para iniciar um ataque de dicionário. Vulnerabilidades de negação de serviço. As verificações do Nessus abrangem uma ampla gama de tecnologias, incluindo sistemas operacionais, dispositivos de rede, bancos de dados, servidores da Web, infraestrutura crítica, entre outros (Tenable, 2020). Os resultados da verificação podem ser relatados em vários formatos, como texto sem formatação, XML, HTML e LaTeX. Os resultados também podem ser salvos em uma base de conhecimento para depuração. No UNIX, a varredura pode ser automatizada através do uso de um cliente de linha de comando. Existem muitas ferramentas comerciais, gratuitas e de código aberto para o UNIX e o Windows gerenciarem os scanners Nessus individuais ou distribuídos. O Nessus fornece funcionalidade adicional além do teste de vulnerabilidades de rede conhecidas. Por exemplo, ele pode usar credenciais do Windows para examinar os níveis de patch em computadores executando o sistema operacional Windows. O Nessus também pode suportar auditorias de configuração e conformidade, auditorias SCADA e conformidade com PCI. A Figura 4 mostra a interface do Nessus. Figura 4 – Interface do Nessus UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 6 of 33 30/11/2020 17:56 Saiba mais O Nessus pode ser baixado no site da Tenable. Disponível em: <https://pt-br.tenable.com/pr oducts/nessus>. Acesso em: 20 jul. 2020. TEMA 2 – PROGRAMAS QUE RODAM EM SERVIDORES WEB As aplicações Web são programas que rodam em servidores Web e são acessados facilmente por quaisquer browsers. 2.1 PARSERO: FERRAMENTA DE AUDITORIA PARA ROBOTS.TXT DE UM SITE Parsero é um script gratuito escrito em Python que lê o arquivo Robots.txt de um servidor da Web e analisa as entradas. Essas entradas informam aos mecanismos de pesquisa quais diretórios ou arquivos hospedados em um servidor Web não deve ser indexados. Por exemplo, “Disallow:/portal /login” significa que o conteúdo em www.example.com/portal/login não pode ser indexado por rastreadores como Google, Bing, Yahoo, entre outros. É dessa maneira que o administrador não deve compartilhar informações confidenciais ou confidenciais com os mecanismos de pesquisa (Kali Tools, 2020). Porém, algumas vezes, esses caminhos digitados nas entradas proibidas(Disallow) são acessados UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 7 of 33 30/11/2020 17:56 diretamente pelos usuários sem o uso de um mecanismo de pesquisa, apenas visitando a URL e o caminho; outras vezes, eles não estão disponíveis para serem visitados por ninguém… Porque é realmente comum que os administradores escrevam muitos Disallows e alguns deles estão disponíveis e outros não. Você pode usar o Parsero para verificar o código de status HTTP de cada entrada Disallow para verificar automaticamente se esses diretórios estão disponíveis ou não (Kali Tools, 2020). Além disso, como o administrador escreve um robots.txt, isso não significa que os arquivos ou diretórios digitados nas entradas Dissallow não serão indexados pelo Bing, Google, Yahoo, entre outros. Por esse motivo, o Parsero é capaz de pesquisar no Bing para localizar o conteúdo indexado sem a autorização do administrador da Web. O Parsero verificará o código de status HTTP da mesma maneira para cada resultado do Bing. As figuras 5 e 6 mostram a interface do Parsero. Figura 5 – Parsero: robots.txt audit tool Fonte: Kali Tools, 2020. Figura 6 – Pesquisa e resultados em um site (-u www.bing.com) usando Disallows indexados pelo Bing (-sb) UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 8 of 33 30/11/2020 17:56 Fonte: Kali Tools, 2020. 2.2 VEGA O Vega é um scanner de segurança de código aberto e gratuito e uma plataforma de teste para testar a segurança de aplicativos da Web. A Vega pode ajudá-lo a encontrar e validar injeção de SQL, informações confidenciais divulgadas inadvertidamente e outras vulnerabilidades. É escrito em Java, baseado em GUI e executado no Linux, OS X e Windows (Subgraph, 2020). O Vega encontra vulnerabilidades, como: script entre sites refletido, script entre sites armazenado, injeção cega de SQL, inclusão remota de arquivo, injeção de shell, entre outros outros. A Vega também investiga as configurações de segurança TLS/SSL e identifica oportunidades para melhorar a segurança de seus servidores TLS. O Vega inclui um scanner automatizado para testes rápidos e um proxy interceptador para inspeção tática. O scanner Vega encontra XSS (script entre sites), injeção de SQL e outras vulnerabilidades. O Vega pode ser estendido usando uma API poderosa no idioma da Web: Javascript (Subgraph, 2020). A Figura 7 mostra a interface do Vega. Figura 7 – Interface do Vega UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 9 of 33 30/11/2020 17:56 Fonte: Subgraph, 2020. 2.3 WAPITI O Wapiti permite que você audite a segurança de seus sites ou aplicativos da Web. Ele executa verificações de “caixa preta” (não estuda o código-fonte) do aplicativo da Web rastreando as páginas do aplicativo da Web implantado, procurando scripts e formulários nos quais ele pode injetar dados (Wapiti, 2020). Depois de obter a lista de URLs, formulários e suas entradas, o Wapiti age como um fuzzer, injetando cargas úteis para verificar se um script está vulnerável. O Wapiti pode detectar as seguintes vulnerabilidades: divulgação de arquivos; injeção de banco de dados (injeções de PHP/JSP/ASP SQL e injeções de XPath); injeção de XSS (Cross Site Scripting) (refletida e permanente); detecção de execução de comando (eval (), system (), passtru () etc.); injeção de CRLF (divisão da resposta HTTP, fixação da sessão etc.); injeção XXE (XML External Entity); SSRF (falsificação de solicitação do lado do servidor); uso de arquivos potencialmente perigosos conhecidos (graças ao banco de dados Nikto); configurações fracas de .htaccess que podem ser ignoradas; presença de arquivos de backup que fornecem informações confidenciais (divulgação do código UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 10 of 33 30/11/2020 17:56 fonte); shellshock (também conhecido como bug do Bash); redirecionamentos abertos; métodos HTTP incomuns que podem ser permitidos (PUT). Um módulo buster também permite nomes de diretórios e arquivos de força bruta no servidor da Web de destino (Wapiti, 2020). O Wapiti suporta os métodos HTTP GET e POST para ataques. Ele também suporta formulários com várias partes e pode injetar cargas úteis nos nomes de arquivos (upload). Os avisos são gerados quando uma anomalia é encontrada (por exemplo, 500 erros e tempos limite). O Wapiti é capaz de fazer a diferença entre as vulnerabilidades XSS permanentes e refletidas (Wapiti, 2020). Entre as características gerais do Wapiti, estão: gerar relatórios de vulnerabilidade em vários formatos (HTML, XML, JSON, TXT etc.); suspender e retomar uma verificação ou ataque (mecanismo de sessão usando bancos de dados sqlite3); fornecer cores no terminal para destacar vulnerabilidades; oferecer diferentes níveis de verbosidade; maneira rápida e fácil de ativar e desativar módulos de ataque; adicionar uma carga útil pode ser tão fácil quanto adicionar uma linha a um arquivo de texto. Seus recursos de navegação são: suporte a proxies HTTP, HTTPS e SOCKS5; autenticação através de vários métodos: Básico, Digest, Kerberos ou NTLM; capacidade de restringir o escopo da verificação (domínio, pasta, página, URL); remoção automática de um ou mais parâmetros nos URLs; várias salvaguardas contra varredura de loops sem fim (por exemplo, limite de valores para um parâmetro); possibilidade de definir os primeiros URLs a serem explorados (mesmo que não estejam no escopo); UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 11 of 33 30/11/2020 17:56 pode excluir alguns URLs da verificação e ataques (por exemplo, URL de logout); importação de cookies (obtenha-os com a ferramenta wapiti-getcookie); pode ativar/desativar a verificação de certificados SSL; extrair URLs de arquivos SWF do Flash; tente extrair URLs de javascript (interpretador JS muito básico); ciente do HTML5 (entenda as tags HTML recentes); várias opções para controlar o comportamento e os limites do rastreador, ignorando alguns nomes de parâmetros durante o ataque; definir um tempo máximo para o processo de digitalização, adicionando alguns cabeçalhos HTTP personalizados ou definindo um User-Agent personalizado. O Wapiti é um aplicativo que roda em linha de comando, conforme mostrado na figura 8. Figura 8 – Interface do Wapiti em linha de comando Fonte: Wapiti, 2020. TEMA 3 – PASSWORD CRACKING UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 12 of 33 30/11/2020 17:56 Password cracking é um meio realizado através de programas, algoritmos e técnicas como: dictionary attack, rainbow table, brute force, entre outros. O objetivo é simplesmente descobrir as senhas dos usuários. 3.1 JOHN THE RIPPER John the Ripper é um cracker de senha rápido, atualmente disponível para muitos tipos de Unix, macOS, Windows, DOS, BeOS e OpenVMS. Historicamente, seu principal objetivo é detectar senhas fracas do Unix. Hoje em dia, além de muitos tipos de hash de senha do Unix crypt(3), suportados nas versões “-jumbo” há centenas de hashes e cifras adicionais. É um software gratuito e de código aberto, distribuído principalmente na forma de código-fonte. Se você preferir usar um produto comercial personalizado para seu sistema operacional específico, considere o John the Ripper Pro, que é distribuído principalmente na forma de pacotes “nativos” para os sistemas operacionais de destino e, em geral, deve ser mais fácil de instalar e usar (Kali Tools, 2020). As versões jumbo de “comunidade aprimorada” adicionamsuporte para muitos mais tipos de hash de senha, incluindo Windows NTLM (baseado em MD4), hashes SHA-1 salgados Mac OS X 10.4-10.6, hashes SHA-512 salgados Mac OS X 10.7, hashes MD5 brutos e SHA-1, tipos de hash de senha arbitrários para “aplicativos da Web” baseados em MD5, hashes usados por servidores de banco de dados SQL (MySQL, MS SQL, Oracle) e por alguns servidores LDAP, vários tipos de hash usados no OpenVMS, hashes de senha do bot do Eggdrop IRC e muitos outros tipos de hash, além de muitos não-hashes, como chaves privadas do OpenSSH, arquivos S/Key skeykeys, Kerberos TGTs, arquivos PDF, arquivos ZIP (PKZIP clássico e WinZip/AES) e RAR (Kali Tools, 2020). Diferentemente dos crackers mais antigos, John normalmente não usa uma rotina no estilo cripta(3). Em vez disso, possui seus próprios módulos altamente otimizados para diferentes tipos de hash e arquiteturas de processador. Alguns dos algoritmos utilizados, como o bitslice DES, não poderiam ter sido implementados na API crypt(3); eles exigem uma interface mais poderosa como a usada em John. Além disso, existem rotinas de linguagem assembly para várias arquiteturas de processador, mais importante para x86-64 e x86 com SSE2 (Kali Tools, 2020). UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 13 of 33 30/11/2020 17:56 A Figura 9 mostra a interface em linha de comando do John the Ripper. Figura 9 – Interface do John the Ripper em linha de comando Fonte: Kali Tools, 2020. 3.2 HYDRA Hydra é um cracker de login que suporta vários protocolos de ataque. É muito rápido e flexível, e é fácil adicionar novos módulos. Essa ferramenta possibilita que pesquisadores e consultores de segurança mostrem como seria fácil obter acesso não autorizado a um sistema remotamente. Basicamente, o Hydra quebra as senhas pela força bruta, com o uso do método de adivinhação de senhas baseado em dicionário. É importante lembrar que a maioria dos usuários usa senhas fracas para acessar os seus sistemas e aplicativos. É comum ter senhas baseadas em palavras que são facilidade lembradas como: nome UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 14 of 33 30/11/2020 17:56 do(a) cônjuge, noivo(a), namorado(a), filhos, sobrinhos, time de futebol, data de aniversários, cachorro/gato, cidade e ou país natal, entre outros. Para terminar o serviço mais rápido, podemos obter esses dados através de engenharia social, armazená-los em uma lista e usar a ferramenta para gerar as combinações possíveis. O Hydra suporta: Cisco AAA, autenticação Cisco, habilitação Cisco, CVS, FTP, HTTP (S) -FORM- GET, HTTP (S) -FORM-POST, HTTP (S) -GET, HTTP (S) -HEAD, HTTP- Proxy, ICQ, IMAP, IRC, LDAP, MS- SQL, MySQL, NNTP, Ouvinte Oracle, SID Oracle, PC-Anywhere, PC-NFS, POP3, PostgreSQL, RDP, Rexec, Rlogin, Rsh, SIP, SMB (NT) , SMTP, SMTP Enum, SNMP v1 + v2 + v3, SOCKS5, SSH (v1 e v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC e XMPP. A figura 10 mostra a interface em linha de comando do Hydra. Figura 10 – Interface do Hydra em linha de comando Fonte: Delfino, 2020. O Hydra pode ser instalado para rodar no terminal ou pelo modo gráfico. No Linux, a instalação UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 15 of 33 30/11/2020 17:56 é pelo comando “sudo apt-get install hydra”. O Hydra já vem configurada (inclusive com interface gráfica – hydra-gtk), basta fazer o download do código-fonte e compilá-la em qualquer distribuição. Saiba mais Hydra é conhecido por fazer testes de penetração. Em resumo, ele vai verificar se é possível descobrir a senha através de inúmeros testes. Lembre-se de que essa ferramenta é recomendada para testes envolvendo hackers éticos. Utilizar o Hydra para descobrir senhas sem necessidade técnica configura crime (Negromonte, 2019). O Hidra é facilmente acessado no Kali Linux através do menu: Kali Linux → Password → Hydra. Você pode vê-lo no meio do caminho entre a lista de ferramentas de quebra de senha on-line, conforme mostrado na Figura 11. Figura 11 – Acesso do Hydra no Kali Linux 3.3 AIRODUMP-NG Airodump-ng é usado para captura de pacotes de frames brutos 802.11 e é particularmente UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 16 of 33 30/11/2020 17:56 apropriado para coletar IVs (vetores de inicialização) WEP com o intuito de usá-los com o aircrack-ng. Se você tem um receptor GPS conectado ao computador, o airodump-ng é capaz de registrar as coordenadas dos access points encontrados. O airodump-ng cria um arquivo de texto (também chamado de dump) contendo os detalhes de todos os access points e clientes vistos. Antes de executar o airodump-ng, você pode iniciar o script airmon-ng para listar as interfaces sem fio detectadas. É possível, mas não recomendado, executar o Kismet e o airodump-ng ao mesmo tempo. O airodump-ng exibe uma lista de pontos de acesso detectados e também uma lista de clientes conectados (“estações”). O airodump-ng pode receber e interpretar os pressionamentos de tecla durante a execução. A lista a seguir descreve as chaves atualmente atribuídas e as ações supostas: >[a]: seleciona as áreas ativas percorrendo as seguintes opções de exibição: AP + STA; AP + STA + ACK; Somente AP; Somente STA; >[d]: redefine a classificação para os padrões (energia); >[i]: inverte algoritmo de classificação; >[m]: marca o AP selecionado ou alterna entre cores diferentes se o AP selecionado já estiver marcado; >[r]: (Des-) Ativar a classificação em tempo real: aplica o algoritmo de classificação sempre que a exibição é redesenhada; >[s]: altera a coluna para classificar por, que atualmente inclui: Visto pela primeira vez; BSSID; Nível de PWR; Faróis; Pacotes de dados; Taxa de pacotes; Canal; Máx. taxa de dados; Criptografia; Ciphersuite mais forte; Autenticação mais forte; ESSID; >[ESPAÇO]: pausa o redesenho de exibição/retoma o redesenho; >[TAB]: ativa/desativa a rolagem pela lista de AP; >[PARA CIMA]: seleciona o AP anterior ao AP atualmente marcado na lista exibida, se disponível; [BAIXO]: seleciona o AP após o AP atualmente marcado, se disponível. UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 17 of 33 30/11/2020 17:56 TEMA 4 – ENGENHARIA REVERSA Nem todas as invenções tecnológicas do mundo moderno foram criadas a partir de uma grande ideia. Algumas delas surgiram do estudo de outras, e posteriormente se desenvolveram de forma independente do objeto inicial de estudos. A engenharia reversa está cada vez mais se tornando uma importante área de pesquisas para o avanço das tecnologias existentes, pois permite que mesmo aquilo que é protegido por leis de propriedade intelectual seja estudado e melhorado pelos concorrentes (Tecmundo, 2020). Apesar de parecer, a engenharia reversa não pode ser considerada uma espécie de cópia, pois se trata apenas do estudo daquilo que foi criado. A cópia é somente uma das consequências possíveis do estudo de um produto ou ideia. A engenharia reversa também pode nos ajudar a entender o funcionamento de algo, para desenvolver o objeto de estudo, ou mesmo produzir algo completamente novo, a partir dos dados coletados, sem qualquer semelhança com o original. Desde a sua primeira utilização, a engenharia reversa cresceu muito, e hoje possibilita desde o entendimento e melhoria daquilo que se estuda até a descoberta de segredos industriais e comerciais (Tecmundo, 2020). 4.1 IMMUNITY DEBUGGER O Immunity Debugger é um depurador com funcionalidade projetada especificamente parao setor de segurança, com uma interface simples e de fácil compreensão. Sua depuração é leve e rápida para evitar corrupção durante análises complexas. As interfaces do Immunity Debugger incluem linha de comando. A linha de comando está sempre disponível na parte inferior da GUI. Ele permite que o usuário digite atalhos como se estivessem em um depurador típico baseado em texto. Os comandos também podem ser estendidos no Python ou executados na barra de menus (Weidman, 2014). O Immunity Debugger é usado principalmente para escrever e analisar exploits (subconjunto de malware). UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 18 of 33 30/11/2020 17:56 4.2 RADARE2 O Radare2 (também conhecido como r2) é uma estrutura completa para engenharia reversa e análise de binários. Ele é composto por um conjunto de pequenos utilitários que podem ser usados juntos ou independentemente da linha de comando. Construído em torno de um desmontador para software de computador que gera código-fonte da linguagem assembly a partir de código executável por máquina, ele suporta uma variedade de formatos executáveis para diferentes processadores e sistemas operacionais (Griffin, 2019). Alguns recursos do Radare2: desmonte (e monte) para muitas arquiteturas diferentes; depurar com depuradores locais e remotos locais (gdb, rap, webui, r2pipe, winedbg, windbg); execute no Linux, * BSD, Windows, OSX, Android, iOS, Solaris e Haiku; realize análise forense em sistemas de arquivos e gravação de dados; tenha scripts em Python, Javascript, entre outros; suporte a análise colaborativa usando o servidor da Web incorporado; visualiza estruturas de dados de vários tipos de arquivos; tem programas de correção para descobrir novos recursos ou corrigir vulnerabilidades; usa poderosos recursos de análise para acelerar a reversão; auxilia na exploração de software. Algumas arquiteturas suportadas pelo R2 : i386, x86-64, ARM, MIPS, PowerPC, SPARC, RISC-V, SH, m68k, m680x, AVR, XAP, System Z, XCore, CR16, HPPA, ARC, Blackfin, Z80, H8 / 300, V810, V850, CRIS, XAP, PIC, LM32, 8051, 6502, i4004, i8080, Hélice, Tricore, CHIP-8, LH5801, T8200, GameBoy, SNES, SPC700, MSP430, Xtensa, NIOS II, Java, Dalvik, WebAssembly, MSIL, EBC, TMS320 (c54x, c55x, c55 +, c66), Hexagon, Brainfuck, Malbolge, espaço em branco, DCPU16, LANAI, MCORE, mcs96, RSP, SuperH-4, VAX (Griffin, 2019). A Figura 12 mostra a interface gráfica do R2. Figura 12 – Interface do R2 UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 19 of 33 30/11/2020 17:56 Fonte: Griffin, 2019. 4.3 APKTOOL É uma ferramenta para engenharia reversa. Ele pode decodificar recursos para a forma quase original e reconstruí-los após fazer algumas modificações. Torna possível depurar um código passo a passo, devido à estrutura de arquivos do projeto e a automação de algumas tarefas repetitivas, como a criação de apk, entre outros (Tutorialspoint, 2020). O Apktool não se destina à pirataria e outros usos não legais. Pode ser usado para localizar, adicionar alguns recursos ou suporte para plataformas personalizadas e outros fins legais. 4.4 OLLYDBG O OllyDbg é um depurador de nível de montador de 32 bits para aplicativos do Microsoft Windows. A ênfase na análise de código binário o torna particularmente útil nos casos em que a fonte está indisponível. Geralmente, é usado para quebrar os softwares comerciais (Tutorialspoint, 2020). Para abri-lo, vá para: Aplicativos → Engenharia Reversa → OllyDbg, conforme mostrado na Figura 13. UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 20 of 33 30/11/2020 17:56 Figura 13 – Acesso ao OllyDbg Fonte: Tutorialspoint, 2020. Para carregar um arquivo EXE, vá na “Pasta de abertura” na cor amarela, mostrada em um quadrado vermelho na captura de tela acima. Após o carregamento, você terá a seguinte exibição, conforme mostrado na Figura 14, onde poderá alterar os binários. Figura 14 – Interface do OllyDbg com arquivo EXE UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 21 of 33 30/11/2020 17:56 Fonte: Tutorialspoint, 2020. TEMA 5 – ATAQUE A REDE WIRELESS Ter uma rede sem fio desprotegida é uma das maiores preocupações do administrador de redes. O bom é que o Kali Linux já fornece soluções nativas para contribuir com o combate desse tipo de invasão. Abaixo, veremos algumas ferramentas do Kali Linux que sevem de auxílio contra ataques a redes wireless. 5.1 AIRCRACK-NG O Aircrack-ng é um conjunto completo de ferramentas para avaliar a segurança da rede Wi-Fi. Todas as ferramentas são em linha de comando que permite scripts pesados. Funciona principalmente em Linux, mas também em Windows, OS X, FreeBSD, OpenBSD, NetBSD, Solaris, entre outros. O Aircrack-ng se concentra em diferentes áreas da segurança Wi-Fi, como: Monitoramento: captura de pacotes e exportação de dados para arquivos de texto para processamento adicional por ferramentas de terceiros. Ataque: repetir ataques, desautenticação, pontos de acesso falsos via injeção de pacotes. Teste: verificação de placas Wi-Fi e recursos do driver (captura e injeção). Cracking: WEP e WPA PSK (WPA 1 e 2). O Aircrack-ng também mantém patches para: injeção de pacotes para drivers Linux; HostAPd e Freeradius, chamados patches WPE (Wireless Pawn Edition), para atacar o WPA Enterprise. 5.2. BULLY UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 22 of 33 30/11/2020 17:56 O Bully é uma nova implementação do ataque de força bruta em tecnologia WPS, escrita em C. É conceitualmente idêntica a outros programas na exploração de falha de design na especificação do WPS. Tem várias vantagens sobre o código original do reaver (outra ferramenta no Kali Linux). Isso inclui menos dependências, melhor desempenho da memória e da CPU. Ele foi desenvolvido especificamente para rodar em sistemas Linux (Github, 2020). O Bully fornece várias melhorias na detecção e manipulação de cenários anômalos. Ele foi testado em pontos de acesso de vários fornecedores com configurações diferentes e foi bem- sucedido em todos os testes (Github, 2020). NA PRÁTICA Acompanhe como hackear Wi-Fi (WPA2-PSK) com Kali Linux? Passo 1: faça o download em ISO ou em TORRENT. Passo 2: faça um pendrive bootavel, pois é o jeito mais eficaz para o reconhecimento dos roteadores. Passo 3: execute o Kali Linux escolhendo a opção “Live (amd64)”, conforme mostrado na Figura 15. Figura 15 – Opção “Live (amd64)” UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 23 of 33 30/11/2020 17:56 Fonte: Zarzur, 2020. Passo 4: agora abra o terminal apenas digitando Ctrl + Alt + T, ou simplesmente clicando nele, conforme mostrado na Figura 16. Figura 16 – Acesso ao terminal Linux Fonte: Zarzur, 2020. Passo 5: digite o comando ifconfig e pressione Enter para saber qual é o nome do roteador que está conectado. Geralmente, é o wlan0 conforme mostrado na Figura 17. Figura 17 – wlan0 UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 24 of 33 30/11/2020 17:56 Fonte: Zarzur, 2020. Passo 6: utilize o comando airmon-ng check kill para fechar processos indesejados, conforme mostrado na Figura 18. Figura 18 – Comando airmon-ng check kill Fonte: Zarzur, 2020. Passo 7: neste momento, é preciso fazer a placa wireless ficar em modo de monitoramento para que se possa ver todo o tráfego de informações entre os roteadorese dispositivos a eles conectados. Então, cria-se uma interface de rede virtual com o comando airmon-ng start wlan0 (Zarzur, 2020), conforme mostrado na Figura 19. Figura 18 – Comando airmon-ng start wlan0 UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 25 of 33 30/11/2020 17:56 Fonte: Zarzur, 2020. Passo 8: neste passo, se faz a leitura completa das informações anteriormente coletadas através do monitoramento com o comando airodump-ng wlan0mon, conforme mostrado na Figura 19. Figura 19 – Comando airmon-ng start wlan0mon Fonte: Zarzur, 2020. O BSSID, mostrado na Figura 20, é o MAC-Address do dispositivo. No caso, é o roteador da “vítima”. PWR é quanto roteador está perto e CH significa o canal em que o roteador se encontra. Figura 20 – Informações do dispositivo UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 26 of 33 30/11/2020 17:56 Fonte: Zarzur, 2020. Observação Verifique se o roteador que deseja realizar o ataque está com o WPS bloqueado. É necessário que NÃO para que este ataque se realize. Realize o seguinte comando para verificar: wash -l wlan0mon (Zarzur, 2020). Passo 9: agora é a hora do ataque! Vamos capturar as principais informações que trafegam do roteador com o comando airodump-ng –bssid BSSID_DESEJADO -c CANAL_DO_ROTEADOR_DESEJADO –write NOME_ARQUIVO_PARA_GRAVAR_INFORMACOES_DO_ROTEADOR wlan0mon (Zarzur, 2020). Não fique confuso! Tome como exemplo: airodump-ng –bssid 84:AF:1S:4F:5F:AC -c 11 –write Teste2 wlan0mon, onde 84:AF:1S:4F:5F:AC é o BSSID do roteador que se deseja obter a senha; 11 é o canal em que o roteador se encontra; Teste2 é o nome do arquivo que foi criado (Zarzur, 2020). Veja o exemplo na Figura 21. Figura 21 – Captura de informações de tráfego UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 27 of 33 30/11/2020 17:56 Fonte: Zarzur, 2020. Passo 10: em outro terminal, usaremos o comando aireplay-ng –deauth 100 -a BSSID_DESEJADO wlan0mon para que os usuários autenticados se desconectem e para que eles se autentiquem novamente sozinhos, capturando a senha nesse processo. Digite o comando e aguarde o final do processo (Zarzur, 2020), conforme mostrado na Figura 22. Figura 22 – Comando aireplay-ng –deauth 100 –a BSSID_DESEJADO wlan0mon Fonte: Zarzur, 2020. No terminal onde o airodump-ng está sendo executado, percebe-se que no canto superior direito agora tem escrito WPA handshake. Isso mostra que a senha criptografada fora capturada. É o grande passo para que se consiga a quebra da senha, conforme mostrado na Figura 23. UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 28 of 33 30/11/2020 17:56 Figura 23 – Captura da senha criptografada Fonte: Zarzur, 2020. Passo 11: este passo não é obrigatório. Ele serve para provar que o processo realmente deu certo. O processo funciona de maneira a tentar diversas senhas de uma lista (um arquivo de texto com milhões de senhas). Essas listas podem ser baixadas da Internet ou simplesmente usar a padrão do Kali Linux chamada de rockyou, que fica localizada no diretório /usr/share/wordlists /rockyou.txt.gz. Nesta etapa, foi criada uma lista chamada exemplo_wordlist com algumas senhas aleatórias e a senha dentro. Foi colocado o arquivo no diretório das wordlists do Kali (Zarzur, 2020), conforme mostrado na Figura 24. Figura 24 – Testes com diversas senhas de uma lista UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 29 of 33 30/11/2020 17:56 Fonte: Zarzur, 2020. Passo 12: este passo é a etapa final do ataque. O comando aircrack-ng NOME_ARQUIVO_PARA_GRAVAR_INFORMACOES_DO_ROTEADOR -w /usr/share/wordlists /NOME_WORDLIST irá realizar o ataque, conforme mostrado na Figura 25. Figura 25 – Realização do ataque Fonte: Zarzur, 2020. Na Figura 26, a senha foi revelada. A senha do roteador é: 987654321. Figura 26 – Realização do ataque UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 30 of 33 30/11/2020 17:56 Fonte: Zarzur, 2020. Esse procedimento é um tanto quanto demorado e isso vai depender do computador usado e da wordlist disponível. Aconselha-se realizar os testes em um horário em que não se precise do computador, uma vez que a Internet ficará desabilitada durante todo o processo, pois ela tenta se conectar ao Wi-Fi do ataque, além de ser um processo que pode (e deve) levar horas (Zarzur, 2020). FINALIZANDO Nesta aula, conhecemos algumas ferramentas hackers usadas para: Coleta de informações e análise de vulnerabilidade; Programas que rodam em servidores Web; Password cracking; Engenharia reversa; Ataque à rede wireless. REFERÊNCIAS GITHUB, Site. VISÃO GERAL DO BULLY. Disponível em: <https://github.com/aanarchyy/bully>. Acesso em: 2 maio 2020. GRIFFIN, Andreas. REVERSÃO COM RADARE2. 2019. Disponível em: <https://hydrasky.com /malware-analysis/reversing-with-radare2/>. Acesso em: 2 maio 2020. KALI LINUX TUTORIALS. Dnsenum - Ferramenta para enumeração DNS para encontrar servidores DNS. 2018. Disponível em: <https://kalilinuxtutorials.com/dnsenum/>. Acesso em: 2 mar. 2020. UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 31 of 33 30/11/2020 17:56 KALI LINUX. Kit de ferramentas de engenharia social. 2018. Disponível em: <https://linuxhint.com /kali-linux-set/>. Acesso em: 2 mar. 2020. KALI TOOLS. John Package Description. Disponível em: <https://tools.kali.org/password-attacks /john>. Acesso em: 2 mar. 2020. NEGROMONTE, Emanuel. Como instalar o Hydra no Linux. 2019. Disponível em: <https://sempreupdate.com.br/como-instalar-o-hydra-no-linux/>. Acesso em: 2 maio 2020. NMAP. O Guia Oficial do Projeto Nmap para Descoberta de Rede e Verificação de Segurança. 2020. Disponível em: <https://nmap.org/book/toc.html>. Acesso em: 2 mar. 2020. PPLWARE, Site. Darkstat – Estatísticas do tráfego da rede em gráfico. 2020. Disponível em: <https://pplware.sapo.pt/tutoriais/networking/darkstat-estatsticas-do-trfego-da-rede-em-grfico/>. Acesso em: 2 maio 2020. SUBGRAPH, Site. Darkstat – Estatísticas do tráfego da rede em gráfico. Disponível em: <https://subgraph.com/vega/>. Acesso em: 2 maio 2020. TECMINT, Site. Darkstat - Um analisador de tráfego de rede Linux baseado na Web. Disponível em: <https://www.tecmint.com/darkstat-web-based-linux-network-traffic-analyzer/>. Acesso em: 2 maio 2020. TECMUNDO, Site. Darkstat - O que é engenharia reversa? Disponível em: <https://www.tecmundo.com.br/pirataria/2808-o-que-e-engenharia-reversa-.htm>. Acesso em: 2 maio 2020. TENABLE, Site. A FAMÍLIA NESSUS. Disponível em: <https://pt-br.tenable.com/products/nessus>. Acesso em: 2 maio 2020. TOLLS KALI, Site. Descrição do pacote Parsero. Disponível em: <https://tools.kali.org/information- gathering/parsero>. Acesso em: 2 maio 2020. TUTORIALSPOINT, Site. Kali Linux - Engenharia Reversa. Disponível em: <https://www.tutorialspoint.com/kali_linux/kali_linux_reverse_engineering.htm>. Acesso em: 2 maio UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 32 of 33 30/11/2020 17:56 2020. VIVA LINUX. DARKSTAT - UM ANALISADOR DE TRÁFEGO DE REDE. Disponível em: <https://www.vivaolinux.com.br/dica/Darkstat-Um-analisador-de-trafego-de-rede>. Acesso em: 2 mar. 2020. WAPITI, Site. O verificador de vulnerabilidades de aplicativos da web. Disponível em: <https://wapiti.sourceforge.io/>.Acesso em: 2 mar. 2020. WEIDMAN, Georgia. Penetration testing: a hands-on introduction to hacking. No Starch Press, 2014. ZARZUR, Lucas. Como hackear Wi-Fi (WPA2-PSK) com Kali Linux. 2017. Disponível em: <https://cienciacomputacao.com.br/tutorial/como-hackear-wi-fi-wpa2-psk-com-kali-linux/>. Acesso em: 2 maio 2020. UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20... 33 of 33 30/11/2020 17:56
Compartilhar