Baixe o app para aproveitar ainda mais
Prévia do material em texto
Autor: Prof. Ricardo Sewaybriker Colaboradora: Profa. Fabíola M. A. Ribeiro Pareceres e Testes de Invasão Professor conteudista: Ricardo Sewaybriker Formado em Administração de Empresas pelas Faculdades Integradas Campos Salles (FICS) e pós-graduado em Gestão da Segurança da Informação pelo Instituto de Pesquisas Energéticas e Nucleares (Ipen) – USP. É professor da UNIP desde 2007. Como conteudista da UNIP, escreveu os seguintes livros para os cursos de Gestão da Tecnologia da Informação, Redes de Computadores e Segurança da Informação: Segurança da Informação; Criptografia e Certificação Digital; Segurança para Redes de Computadores; Segurança Física e Lógica de Redes. Administrador profissional, trabalha com segurança da informação, atuando em instituição financeira há trinta anos. © Todos os direitos reservados. Nenhuma parte desta obra pode ser reproduzida ou transmitida por qualquer forma e/ou quaisquer meios (eletrônico, incluindo fotocópia e gravação) ou arquivada em qualquer sistema ou banco de dados sem permissão escrita da Universidade Paulista. Dados Internacionais de Catalogação na Publicação (CIP) S512p Sewaybriker, Ricardo. Pareceres e Testes de Invasão / Ricardo Sewaybriker. – São Paulo: Editora Sol, 2021. 144 p., il. Nota: este volume está publicado nos Cadernos de Estudos e Pesquisas da UNIP, Série Didática, ISSN 1517-9230. 1. Comandos. 2. Ferramentas. 3. Teste. I. Título. CDU 681.3.004.4 U510.36 – 21 Prof. Dr. João Carlos Di Genio Reitor Prof. Fábio Romeu de Carvalho Vice-Reitor de Planejamento, Administração e Finanças Profa. Melânia Dalla Torre Vice-Reitora de Unidades Universitárias Profa. Dra. Marília Ancona-Lopez Vice-Reitora de Pós-Graduação e Pesquisa Profa. Dra. Marília Ancona-Lopez Vice-Reitora de Graduação Unip Interativa – EaD Profa. Elisabete Brihy Prof. Marcello Vannini Prof. Dr. Luiz Felipe Scabar Prof. Ivan Daliberto Frugoli Material Didático – EaD Comissão editorial: Dra. Angélica L. Carlini (UNIP) Dr. Ivan Dias da Motta (CESUMAR) Dra. Kátia Mosorov Alonso (UFMT) Apoio: Profa. Cláudia Regina Baptista – EaD Profa. Deise Alcantara Carreiro – Comissão de Qualificação e Avaliação de Cursos Projeto gráfico: Prof. Alexandre Ponzetto Revisão: Jaci Albuquerque Vitor Andrade Sumário Pareceres e Testes de Invasão APRESENTAÇÃO ......................................................................................................................................................7 INTRODUÇÃO ...........................................................................................................................................................7 Unidade I 1 INTRODUÇÃO A TESTES DE INVASÃO .........................................................................................................9 1.1 Metodologia ..............................................................................................................................................9 1.2 Fontes de informação ......................................................................................................................... 11 2 FASES DO TESTE DE INVASÃO .................................................................................................................... 12 2.1 Planejamento e preparação ............................................................................................................. 13 2.2 Aplicação do teste ................................................................................................................................ 18 2.3 Finalização e reporte ........................................................................................................................... 32 Unidade II 3 CONFIGURANDO O AMBIENTE .................................................................................................................. 38 3.1 Preparação do ambiente ................................................................................................................... 38 3.2 Preparando ambiente Linux ............................................................................................................. 41 3.3 Preparando ambiente Windows ..................................................................................................... 48 4 PRINCIPAIS COMANDOS LINUX ................................................................................................................ 53 4.1 Executando comandos de consulta .............................................................................................. 53 4.2 Executando comandos de criação ................................................................................................. 56 Unidade III 5 FERRAMENTAS UTILIZADAS ........................................................................................................................ 68 5.1 Maltego .................................................................................................................................................... 68 5.2 Google Hacking/Google Dorking ................................................................................................... 70 5.3 Whois......................................................................................................................................................... 71 5.4 Dig .............................................................................................................................................................. 73 6 FERRAMENTAS ESPECÍFICAS....................................................................................................................... 75 6.1 Nmap ......................................................................................................................................................... 75 6.2 DIRB ........................................................................................................................................................... 77 6.3 Cadaver ..................................................................................................................................................... 84 6.4 Crunch e Hydra ..................................................................................................................................... 86 6.5 NetCat ....................................................................................................................................................... 91 6.6 Metasploit ............................................................................................................................................... 95 6.7 SET (Social Engineer Toolkit) ..........................................................................................................101 Unidade IV 7 MÉTODO DE ESTUDO ....................................................................................................................................108 7.1 Capture the flag ..................................................................................................................................108 7.2 Usando picoCTF para o aprendizado ..........................................................................................110 7.3 Desafios ..................................................................................................................................................112 8 COLETA E RELATÓRIO DE TESTE DE INVASÃO ....................................................................................127 8.1 Teste de invasão, conceito ..............................................................................................................127 8.2 Processos de um teste de invasão ...............................................................................................128 8.2.1 Etapa de coleta de informações .....................................................................................................131 8.2.2 Descobrindo as vulnerabilidades ...................................................................................................132 8.2.3 Capturando tráfego ............................................................................................................................ 133 8.2.4 Exploração de falhas ........................................................................................................................... 134 8.2.5 Ataques a senhas ................................................................................................................................. 134 8.2.6 Explorando falhas da organização ................................................................................................ 136 7 APRESENTAÇÃO Caros alunos, O intuito desta disciplina é abordar de forma simples e objetiva os passos de um teste de invasão. O conteúdo visa à interação, ao desenvolvimento e ao despertar da curiosidade do aluno para a segurança da informação, tão essencial hoje. Com a constante evolução de tecnologias e para garantir a maturidade da segurança da informação em grandes corporações, realizar testes o mais próximo possível da realidade tornou-se vital para as organizações terem uma visão completa do que pode ocorrer em uma situação real de ataque. Diante desse cenário, serão estudados os princípios básicos de um teste de invasão, o que são, para que servem, seus tipos, suas metodologias e suas fases. Em seguida, será montado um laboratório em ambiente virtual para a realização de demonstrações de algumas ferramentas usadas em testes de invasão. Serão ilustrados comandos básicos e como consultar os manuais dos programas em sistemas Linux. Também serão elencadas ferramentas de ação para o levantamento de informações e de vulnerabilidade. Para tal, vamos explorar um sistema para mostrar alguns ataques e observar melhor como os comprometimentos ocorrem de fato. Finalmente, serão destacadas as plataformas de CTF, que são uma ótima maneira de praticar hacking em um ambiente seguro. Essas plataformas gameficadas trazem desafios prontos para que o usuário desenvolva suas habilidades de hacking. INTRODUÇÃO Um teste de invasão pode demonstrar o quanto uma organização ou um sistema está exposto a diversos tipos de ataques. Assim, entender como esses ataques acontecem é fundamental para saber como mitigar tais fragilidades, dificultando o sucesso de uma ação criminosa. Nenhuma pessoa, processo ou tecnologia está livre de sofrer ataques bem-sucedidos, portanto, fortificar as proteções e as medidas preventivas deve ser uma constante atividade para manter os ativos seguros e longe de pessoas mal-intencionadas. Hacker é o indivíduo que realiza uma série de procedimentos para que um ou mais dispositivos eletrônicos execute uma ação que não era esperada. O verbo to hack está ligado ao termo “cortar grosseiramente”, mas a palavra hack começou a ser utilizada por membros do Tech Model RailRoad Club na década de 1950. Essencialmente, os participantes desse grupo desmontavam componentes eletrônicos, estudavam seu funcionamento e, depois, criavam novas funcionalidades que não existiam no projeto inicial, as quais foram chamadas de hacks. Posteriormente, esse mesmo termo foi alterado de hardware para software. 8 De início, a motivação dos primeiros hackers conhecidos era o desafio de conseguir realizar um objetivo, como: fazer uma ligação de graça por um telefone público; interceptar ligações entre duas pessoas; conseguir manuais de instruções de sistemas internos das empresas de telefonia. Essa ideologia de desafio, de conseguir objetivos que não eram previstos, motivou estudantes de engenharia, de eletrônica e alguns entusiastas da área a criarem suas próprias invenções, combinando placas e circuitos em casa para criar máquinas que não existiam comercialmente. Na Universidade de Berkeley, EUA, existia um grupo de troca de informações técnicas sobre esses projetos que impulsionou essa evolução. Esse movimento precedeu a criação dos computadores pessoais e, posteriormente, com uma visão de negócios, esses inventos ganharam escala e distribuição. Naquela época, a motivação das atividades dos precursores do hacking era a curiosidade. Faziam-se pesquisas técnicas apuradas para saber como a tecnologia funcionava. Para tal, esses indivíduos usavam criatividade para modificar o que já existia, a fim de executar novas funções ou funções aplicadas a contextos que diferiam muito do propósito inicial. Atualmente, a motivação dos ataques está dividida entre profissionais de segurança da informação, que se dedicam unicamente a proteger os ativos importantes para pessoas e organizações, e profissionais que visam ao próprio benefício. Esses últimos realizam atividades ilegais e nem sempre para o bem de todos. Entre seus objetivos, destacam-se: obter de vantagens monetárias; chamar atenção de entidades para questões políticas; espionagem; despertar o interesse de pesquisadores entusiastas que testam ferramentas prontas; vingança pessoal ou corporativa; terrorismo. Os testes de invasão são uma das formas mais eficazes de as organizações terem a visão de quais são os pontos vulneráveis de suas tecnologias. Caso sejam bem-sucedidos, os testes acentuam quais os possíveis impactos que essas ações poderão gerar. Por meio dos resultados dos testes, é possível tomar as medidas preventivas para mitigar os riscos de ataques. A sociedade e a tecnologia estão em constante evolução, e é natural que sempre surjam novos sistemas, processos e novas formas de processar os respectivos ativos das organizações. Para que seja mantido um nível elevado de segurança, deve-se realizar testes periódicos para que, a cada novo cenário, os ativos sejam colocados em risco. 9 PARECERES E TESTES DE INVASÃO Unidade I 1 INTRODUÇÃO A TESTES DE INVASÃO 1.1 Metodologia Para fazer um ataque bem-sucedido, hoje são necessários bons conhecimentos sobre as tecnologias disponíveis, sobre como as estruturas funcionam, como se comunicam, suas versões e, muitas vezes, sobre a sua arquitetura. Com tanta informação disponível na internet, ao ler manuais disponibilizados por fabricantes é possível imaginar vulnerabilidades. É importante ressaltar que é necessário ter criatividade para imaginar as mais diversas possibilidades em cenários complexos, em que há pedaços de informações aparentemente desconexos que, juntos, podem viabilizar um comprometimento. Os melhores resultados em testes de penetração são obtidos quando se tem menos informações ou limitações possíveis. Basicamente, existem três tipos de testes de invasão: White Box, Black Box e Gray Box. O teste de White Box ocorre quando o atacante tem todas as informações disponíveis para a realização do ataque, lista de endereços IP, estruturas a serem testadas e credenciais de acesso com e sem privilégios administrativos. Pode existir um roteiro pré-definido para esse tipo de teste acordado entre os administradores e o atacante. Por outro lado, no teste de Black Box o atacante possui o mínimo de informações possíveis e um objetivo: encontrar falhas. Assim, com tantas possibilidades disponíveis, a abrangência do atacante é maior, o indivíduo pode seguir as mais diversas linhas investigativas, podendo escolher caminhos de ataques que possivelmente não foram mapeados pelas equipes internas ou eventualmente possuam uma probabilidade menor de acontecer. Os testes de Gray Box são parciais entre White e Black Box: ocorrem quando a equipe de testes possui parte das informações necessárias para o ataque e o teste é direcionado a estruturas específicas. Observe a definição a seguir: • Gray Box: técnica para testar o produto ou aplicativo de software com conhecimento parcial do funcionamento interno de um aplicativo. Seu objetivo é pesquisar defeitos devido à estrutura de código inadequada ou ao uso inadequado de um aplicativo. • White Box: método de teste de software em que a estrutura (design) interna do item sendo testado é conhecida pelo testador. 10 Unidade I • Black Box: conhecido como teste comportamental, é um método de teste de softwareno qual a estrutura interna do item que está sendo testado não é conhecida pelo testador. Esses testes podem ser funcionais ou não funcionais, embora geralmente sejam funcionais. Para a realização de testes de penetração, temos as seguintes metodologias: Quadro 1 ISSAF Information Systems Security Assessment Framework NISTSP 800-115 Technical Guide to Information Security Testing and Assessment OSSTMM Open Source Security Testing Methodology Manual OWASP OWASP Testing Guide PTES Penetration Testing Execution Standard ISSAF (Information Systems Security Assessment Framework) Metodologia voltada para testes de infraestrutura de TI, sendo aplicada normalmente nos setores industrial e bancário. Embora seja uma metodologia antiga, pode ser usada como base para realização das atividades. NIST SP 800-115 Desenvolvida nos EUA pelo National Institute of Standards and Technology, separa os testes de invasão em quatro etapas: planejamento, descoberta, ataque e relatório. Propõe metodologias para análise de vulnerabilidades e registro detalhado de cada tentativa de exploração realizada, mesmo que não tenha sucesso e reporte. OSSTMM Documento de acesso e contribuição livre, é desenvolvido pela comunidade de segurança. Esse manual é focado para testes de invasão para fins de auditoria, não oferece todos os recursos para que um teste completo seja feito, e sim avaliações específicas de um determinado cenário. OWASP (Open Web Application Security Project) Trata-se de uma metodologia voltada a aplicações web. Criado por um projeto de acesso e contribuição livre, o objetivo desse documento é ajudar desenvolvedores a criar aplicações já considerando aspectos de segurança e mitigando cenários passíveis de exploração. Também traz orientações de testes de invasão e o reporte desses testes. 11 PARECERES E TESTES DE INVASÃO PTES (Penetration Testing Execution Standard) Criado por pesquisadores, é um documento focado especificamente em testes de invasão. O texto tem como objetivo uma abordagem de fácil entendimento aos profissionais de segurança que irão executar os testes, discorrendo sobre os cuidados de cada processo. Pode também ser usado pelas organizações para entender o que esperar de um teste de invasão. Conforme Bertoglio e Zorzo (2015), as metodologias OSSTMM, ISSAF, PTES e NIST podem ser usadas para avaliação de grande parte dos cenários existentes, já a OWASP foca exclusivamente aplicações web. As metodologias OSSTMM, OWASP e PTES visam os melhores processos de modelagem para garantir o sucesso do teste. A vantagem do uso da metodologia NIST é que ela constantemente revisita os resultados encontrados nos próprios testes para a tomada de decisão dos próximos passos. 1.2 Fontes de informação Para a execução das atividades de testes de segurança, é preciso conhecer uma gama razoável de domínios na área da tecnologia e também saber como o mundo corporativo funciona. Nesse contexto, o fator humano é vital, visto que a tecnologia é uma ferramenta para que as atividades sejam executadas. Uma vez que a tecnologia sempre se renova, as equipes de testes de segurança e de segurança corporativa devem estar atualizadas com os vetores de ataque, assim, a cada nova forma de ataque e exploração de vulnerabilidades, deverão ser instaurados controles mitigatórios. Ao realizar pesquisas, tanto na área de tecnologia como em qualquer outra, é preciso observar as fontes de informações, se são confiáveis, se há meios de validar as afirmações realizadas. Indivíduos que transitam canais de discussão de segurança da informação possuem diferentes motivações para reportar métodos de ataques e proteções. Sempre que possível, é importante confirmar tais afirmações com testes práticos em laboratório para evitar riscos. São elencadas a seguir algumas fontes para times de testes de segurança: • Literatura disponível. • Cursos e certificações. • Convenções de segurança, como BlackHat, DefCon, BSides, RSA Conference, FIRST Conference e H2HC. • Fóruns, a exemplo de CSIAC, Security Focus, LiquidMatrix, CyberSecurity Insiders. • Redes sociais: perfis no Twitter de pesquisadores, soluções de antivírus e times de resposta a incidentes nacionais (CERTs). • Blogs de segurança: IT Security Guru, The Hack, The Hacker News, CSO OnLine. 12 Unidade I • Repositórios de exploits, como Metaexploit, ExploitDatabase, SecurityFocus.com, Secunia. • Livros virtuais e documentos disponibilizados pela comunidade de segurança. • Base de dados de vulnerabilidades, como NVD, cvedetails.com, exploitdb.com, Metaexploit Framework, OSVDB. Para formação e educação contínua, citam-se a seguir as principais certificações de teste de invasão disponíveis atualmente: • EC-Council Certified Ethical Hacker (CEH). • EC-Council Licensed Penetration Tester Master. • IACRB Certified Penetration Tester. • Certified Expert Penetration Tester. • CompTIA Pentest+. • Certified Red Team Operations Professional. • Offensive Security Certified Professional. • EXIN Ethical Hacking. A natureza da atividade hacker é o profundo conhecimento em tecnologia e a motivação de provocar o inesperado. Saiba mais Para saber mais sobre o mundo hacker, assista ao documentário a seguir: A ORIGEM dos hackers. Direção: Ralph Lee. EUA: Discovery Channel, 2001. 47 min. 2 FASES DO TESTE DE INVASÃO Os testes de invasão possuem três grandes etapas, e, dependendo do escopo do teste, vários passos podem surgir. Abordaremos de forma geral os principais passos de um teste de invasão comum. Em um projeto, podemos adicionar ou não executar algumas rotinas devido ao escopo, seja por direcionamento de esforços, escassez de recursos ou possibilidade de impacto. Estudaremos as três fases a seguir: 13 PARECERES E TESTES DE INVASÃO • fase 1: planejamento e preparação; • fase 2: aplicação do teste; • fase 3: reporte e finalização. 2.1 Planejamento e preparação É um dos passos mais importantes de um teste de invasão. Essa fase vai definir o andamento do projeto como um todo, desde regras, atribuições e responsabilidades e, eventualmente, exceções. Para ter início, primeiro é necessária a assinatura de um termo de confidencialidade, um documento que assegura tanto a parte que irá realizar o teste quanto a parte que será testada, desde informações coletadas/discutidas, escopo do projeto, reportes e descarte seguro das evidências geradas. Após a assinatura do termo, será firmado um contrato para definir os seguintes aspectos: a quantidade de pessoas para a realização dos testes; um cronograma contendo datas, horários e atividades a serem executadas; e as regras de aplicação do teste. Quanto mais detalhado o contrato, melhores serão suas chances de sucesso, pois o contratante e o contratado devem estar com as expectativas alinhadas. No planejamento, é importante definir quais são os limites de cada fase, sejam de tempo, esforço, grau de complexidade ou possibilidade de impacto. A seguir vamos tratar melhor do assunto. Definição de escopo Deve considerar qual o objetivo de cada teste, se é para ser realizada uma varredura geral na empresa, se é para ser testado um sistema crítico específico, se há algum novo serviço ou cenário particular para obter validação. O teste de invasão não deve ser utilizado para checar requisitos de compliance, a natureza de um teste de invasão é mais abrangente. Um teste de invasão tem como objetivo reconhecer um ambiente, descrever cenários de como ataques a esse ambiente podem ser bem-sucedidos, realizar rotinas que comprovam ou não as fragilidades e, de acordo com os resultados obtidos, emite-se um relatório demonstrando se há fragilidades, como foram exploradas e como corrigir essas brechas. Normalmente, os testes de invasão são um dos requisitos de uma série de exigências para o cumprimento de normas ou certificações. Na definição de escopo, devem ser elencadas estruturas que estão em poder da empresa testada e quais não estão. É comum, por exemplo, uma empresa contratar hospedageme servidores de DNS de terceiros para colocar sua página oficial no ar. Para fazer testes de penetração em empresas terceiras, é necessária autorização prévia, caso contrário, o teste será interpretado como um ataque real e poderá acarretar problemas para quem está realizando a atividade. 14 Unidade I Observação A diferença entre um teste de invasão e um ataque real é pequena, portanto, deve-se ter o máximo cuidado em cada ação a ser tomada para que os impactos sejam os menores possíveis. A realização de um bom teste de segurança deve levar em consideração o grau de maturidade da empresa em relação à segurança da informação. Empresas mais maduras no quesito de segurança da informação requerem mais atenção e esforço em razão de sua complexidade, seus sistemas e métodos de proteção existentes. Um teste de invasão bem realizado pode encontrar falhas críticas em sistemas complexos. Em empresas menores ou com um nível de maturidade de segurança da informação baixo, muitas vezes um teste minucioso pode onerar a empresa e seus sistemas, e o relatório final entregue poder ser complexo demais e não ajudar de fato a empresa a se proteger, pois ela ainda está iniciando nesse assunto. Nesses casos, é mais interessante executar uma análise de vulnerabilidades, que tende a mitigar os problemas gerais do alvo, elevando o grau de maturidade e introduzindo o tema de forma gradativa. Saiba mais O vídeo a seguir pode ajudar a demonstrar a diferença entre uma análise de vulnerabilidade e um teste de invasão. ANÁLISE de vulnerabilidades versus teste de invasão: qual a diferença? 2020. 1 vídeo (11:10). Publicado por Albert Oliveira. Disponível em: https:// www.youtube.com/watch?v=_ 6C7TMCKnrE. Acesso em: 9 out. 2020. Tempo e esforço Após a definição do escopo, deve-se avaliar quanto tempo será despendido para a realização daquela atividade. É preciso considerar a experiência do time em determinada atividade e eventuais aprendizados em tempo de execução dos testes. É interessante ter uma margem em cada fase, pois poderão ocorrer imprevistos como falta de energia, falta de conectividade, indisponibilidade dos serviços etc. Caso a atividade seja realizada antes do prazo, pode-se reajustar o tempo de outras tarefas previstas no projeto ou fazer a apresentação de um estudo mais profundo de pontos de melhoria já levantados. Regras de aplicação Compreendem as seguintes condições: como o teste será feito? Será realizado de uma máquina local ou será aplicado de forma remota? Haverá uso de IP dinâmico ou fixo? Haverá uso de VPN para dificultar a localização do ataque? Será usado serviço em nuvem para melhorar o desempenho dos testes realizados? 15 PARECERES E TESTES DE INVASÃO Existem determinados tipos de testes que são invasivos e que podem causar dano ao ambiente, por exemplo: testes de negação de serviço podem gerar indisponibilidade em uma aplicação em produção; injeção de requerimentos em SQL pode alterar/apagar informações de uma base de dados, originando problemas e erros nas aplicações. Nesse processo, devem ser consideradas as leis nacionais e internacionais quanto ao uso de técnicas e ferramentas. Hoje, com a computação em nuvem, que permite que os sistemas estejam em todos os lugares, é necessário ter cuidado, pois não existem apenas dados de um cliente ou empresa em cada servidor ou estrutura em nuvem. Portanto, deve ser feito o pedido formal e seguir todos os procedimentos de segurança para a realização do teste em ambiente de terceiros. Destaca-se que cada país, que poder hospedar um ou mais sistemas, possui leis diferentes. Observação Existem países que criminalizam algumas técnicas utilizadas por algumas ferramentas, por exemplo, a varredura de endereços de IPs para identificação de portas lógicas abertas. As leis de proteção aos dados de cada país também são importantes para as regras do teste, assim, é preciso descartar o acesso e a aquisição de informações que identificam pessoas e dados médicos. Devem ser acordados os contatos de todas as partes envolvidas (técnicos, líderes de área e gerentes) para a tomada de decisão e correção para reporte, definindo-se casos graves de falha e incidentes que podem ocorrer durante o teste. Se for viável disponibilizar um ambiente de homologação ou teste que seja o mais próximo da realidade possível, os resultados poderão ser consideravelmente melhores. As condições por meio das quais serão realizados os ataques de engenharia social também deverão ser discutidas. Pode-se testar tanto a possibilidade de invasão virtual por meio de phishings, que direcionam o usuário a uma página maliciosa que captura credenciais de acesso ou instalam programas que implantam vulnerabilidades, quanto a segurança física, conseguindo acesso às dependências críticas, testando a segurança dos processos e a maturidade em segurança dos funcionários. A engenharia social abre uma gama de possibilidades de testes de invasão, os quais têm ligação direta com espionagem industrial. É preciso definir bem o objetivo primário do teste, verificar a segurança de uma aplicação web, testar estruturas específicas, medir o tempo de resposta do time interno de resposta a incidentes, bem como avaliar o grau de maturidade geral do alvo. 16 Unidade I Exceções e desdobramentos Em caso de o teste esbarrar em situações não previstas no escopo e/ou contrato, faz-se uma nova avaliação, definindo-se o que deve ser feito a partir desse momento. Todo planejamento de esforço, impacto técnico e limite jurídico pode ser comprometido por conta de imprevistos, principalmente na esfera jurídica. Reportes Devem ser acordadas as condições de reportes a serem realizados durante o teste, sejam eles programados, sejam eles emergenciais: os primeiros são como pontos de controle para demonstrar como o teste está evoluindo; os segundos são realizados para indicar falhas críticas ou problemas que estão prestes a se tornarem graves. É vital ressaltar que os reportes devem ser feitos de forma segura. Para tal, usa-se um e-mail simples ou um arquivo que guarde seu conteúdo, evitando falhas graves ao trafegar na internet ou na rede interna. Recomenda-se o uso de criptografia e canais seguros para transmissão dessas informações, assim como uma seleção criteriosa de pessoas que poderão ter acesso a essas informações. Segundo Weidman (2014), podem ser entregues dois reportes dos testes realizados, um completo, técnico e detalhado, e outro executivo. Cada um deverá conter informações relevantes para cada público. É importante que o público-alvo consiga entender as informações ali contidas e demonstrar para os gestores a importância desse tipo de trabalho e a projeção de resultados depois de as correções terem sido realizadas, isso pode determinar o sucesso do projeto dentro da organização. Reportar os problemas e participar da correção de vulnerabilidades quando possível pode fazer parte das atividades. Questionários Para facilitar essa fase do processo, pode-se realizar um questionário contendo os principais pontos do teste. Quanto melhor for a preparação para o teste, maior será a chance de sucesso. • Por que o teste de invasão será realizado? • A realização do teste é para validação de algum requisito específico? • Quando os testes serão realizados? Em horário comercial, em dias de semana? • Quantos endereços IP serão testados? • Quais estruturas poderão ser afetadas com os testes? Firewall, detectores de intrusão, balanceadores de carga? • Caso a invasão seja bem-sucedida, como o teste será conduzido? 17 PARECERES E TESTES DE INVASÃO — Deverá ser realizada análise de vulnerabilidade local quando houver uma máquina comprometida? — Será executada a tentativa de ganhar privilégios administrativos como na máquina comprometida? • Realizar ou não ataques a hashes de senha obtidos? Serão aplicados testes mínimos, de dicionários ou exaustivos? • Quantas aplicações web serão/poderão ser testadas? • Quantos logins de sistema serão avaliados?• Será fornecida alguma documentação sobre as aplicações? • Serão feitos testes em aplicações com credenciais fornecidas? • Serão realizados testes baseados nas funções internas de aplicativos (avaliação de vulnerabilidades de processos)? • Serão efetuados testes de engenharia social? — Será disponibilizada uma lista de e-mails? — Será disponibilizada uma lista de telefones? — Será realizado teste de engenharia social física? – Quantas pessoas poderão ser envolvidas? • Os gerentes de segurança e de negócio saberão da aplicação do teste? • Quais as infraestruturas mais críticas que podem ser afetadas nos testes? • Serão feitos testes de qualidade de processos em aplicativos desenvolvidos internamente? • Existem sistemas de terceiros que não devem ser testados? • Existem sistemas que devam ser sinalizados antes de as atividades de fato acontecerem? • Existe alguma infraestrutura crítica ou serviço que não pode ser interrompido? • Os backups são testados com frequência? • Qual a última restauração de backup realizada? 18 Unidade I 2.2 Aplicação do teste Após a conclusão da primeira fase, a equipe de testes seguirá as diretrizes acordadas na fase anterior e preparará o ambiente a ser utilizado para execução das atividades. As etapas a seguir são: Obtenção de informações Modelagem de ameaças Análise de vulnerabilidades Exploração Pós-exploração Figura 1 – Etapas do teste Obtenção de informações É incomum organizações não terem representação na internet. Pode haver desde simplesmente um website demonstrando minimamente do que a empresa se trata, quais são seus serviços e suas informações de contato e/ou um perfil em redes sociais com nome, logotipo e alguns dados sobre sua atividade até grandes portais complexos, com vários sistemas interligados. Hoje a internet permite a operação de empresas que existam somente no ambiente virtual, em que um ou mais funcionários trabalham de locais distintos e, em alguns casos, a organização não possui sequer um escritório físico. Nessa etapa, serão obtidas informações sobre o alvo a ser atacado. Caso o teste seja fechado, no qual os atacantes tenham poucas ou não possuam informações suficientes para realizar o ataque, a fase de obtenção de informações demandará tempo e esforço. Quanto mais informações vão sendo adquiridas sobre o alvo, mais visibilidade os atacantes terão e maior será a chance de sucesso do teste. Caso o teste seja mais aberto, essa fase poderá ser menos abrangente e até ignorada, dependendo das condições pelas quais o teste foi projetado. Quanto mais específicos forem os testes, menores serão as chances de reproduzir um ataque real, podendo gerar uma falsa sensação de segurança. A obtenção de informações determina os possíveis pontos de comprometimento, os quais podem ser físicos, digitais e/ou humanos. Lembrete As informações coletadas podem não estar completas, corretas ou atualizadas, podem ter sido manipuladas de forma proposital ou não. 19 PARECERES E TESTES DE INVASÃO Um ponto relevante dessa etapa são as limitações definidas no escopo do projeto. Os esforços de tempo e o objetivo final devem direcionar essa fase, e as questões legais devem ser regularmente revisadas. Existem diversas ferramentas disponíveis para facilitar as buscas por conteúdos sobre uma organização na internet. Todavia, quanto mais automatizadas e genéricas forem essas ferramentas, maior será a probabilidade de informações pouco relevantes. Portanto, é possível dividir a obtenção de informações em três formas. • Pesquisa automatizada: todo o processo é automático e um grande volume de dados é capturado nessa etapa, assim, surgem diversos falso-positivos. São coletados dados como: endereço do site oficial; dados de registro do site oficial; endereço IP de onde o site está hospedado; qual empresa; qual a localização geográfica aproximada desse servidor. • Pesquisa semiautomatizada: com base nos dados obtidos na etapa anterior, pode-se refinar as buscas em ferramentas e realizar pequenas buscas manuais, trazendo mais conteúdo relevante e já direcionando os esforços para o escopo definido no início do teste. São coletados dados como: endereço físico da organização; informações de contato; certificações; endereços de IP pertencentes à empresa; arquivos publicados que não podem ser encontrados através da página inicial; portas lógicas abertas nesses endereços IP; aplicações web dessa organização. • Pesquisa manual: a terceira etapa já traz uma série de informações não estruturadas sobre a organização. Trata-se de conhecer a fundo a organização-alvo. São coletados dados como: ramo de atividade; relação com seus clientes; quais são seus parceiros de negócio; redes sociais da organização; funcionários. Ainda de acordo com o escopo, deverá ser avaliada a forma pela qual serão obtidas essas informações. A seguir, destacam-se três possibilidades: • Obtenção passiva: quando as atividades não podem ser detectadas de nenhuma forma pelo alvo, principalmente, quando são originadas de equipamentos dos atacantes. • Obtenção semipassiva: as atividades realizadas devem parecer tráfego normal de internet. Assim, não serão realizados ataques de força bruta em DNS para descobrir páginas web incomuns, tampouco a busca por portas lógicas abertas através da rede. A intenção é não levantar suspeitas do alvo. • Obtenção ativa: as atividades devem ser detectadas pelo alvo, pois serão mais agressivas que as formas anteriores. Essa forma envolve: pesquisas intensivas por portas lógicas abertas; execução de ferramentas de enumeração de vulnerabilidades; busca por arquivos; servidores; pastas não publicadas. Com esses fatores em mente, a equipe que realizará os testes poderá montar as estratégias de coleta de dados para o teste de invasão. 20 Unidade I A equipe iniciará as buscas, que envolvem desde informações simples até dados mais complexos e, muitas vezes, valiosos para a próxima fase. Quadro 2 – Informações gerais coletadas Categoria Dados Localização Endereços completos e registro da empresa em órgãos públicos Dono(s) ou responsável(eis) Nomes, dados pessoais, cargos, salários, e-mails corporativos e telefones Demais funcionários Quantidade, posição na empresa e atividades realizadas no dia a dia Fornecedores De tecnologias, equipamentos, soluções, softwares e suprimentos Histórico financeiro Balanços, notícias sobre a saúde financeira da empresa. Histórico de eventos no ramo de atuação Ramo de atividade e linha de produtos Catálogo de produtos e serviços oferecidos pela organização Clientes Perfil de consumidor dos produtos da empresa Vagas de emprego Vagas de emprego abertas, focadas para as áreas de tecnologia e segurança da informação Certificações Certificações de mercado que a organização possui e quais ela precisa seguir, dependendo de seu ramo de atividade Marketing Qual a estratégia de marketing da empresa, inclusive em redes sociais, para a realização de suas atividades comerciais Basicamente, essas informações podem ser encontradas com motores de busca disponíveis, alguns filtros de busca e dedicação. Após essa visão geral da empresa e entendendo um pouco melhor sua identidade, a equipe passará a coletar informações relevantes sobre a infraestrutura: • Blocos de IP alocados para a organização. • E-mails pessoais e genéricos, usuários de sistemas, tipos de login e formatos de senhas dos sistemas que foram encontrados. • Tecnologias usadas. • Informações sobre o acesso remoto disponibilizado aos funcionários. • Aplicações usadas. • Tecnologias de defesa. • Referências em sites de vendedores de segurança indicando a organização-alvo como referência. • Presença de times de resposta a incidentes conhecidos/publicados. 21 PARECERES E TESTES DE INVASÃO Após o levantamento dessas informações, a equipe já terá dados suficientes para realizar um reconhecimento nas estruturas da organização. O reconhecimento coleta pegadas digitais, que são informações específicas que podemser coletadas das infraestruturas selecionadas, identificando informações como versão de software instalado, patches instalados e aplicações web vulneráveis. Algumas das técnicas mais usadas para reconhecimento são: • Pesquisa Whois: para obter dados de registros dos domínios encontrados e os respectivos DNS. Essencialmente, os DNS são estruturas que convertem nomes de domínios em IPs e, dependendo de sua configuração, poderão fazer o processo inverso. Assim, com as informações do bloco de IP da organização, pode-se coletar diversos endereços de aplicações que estão associadas a essa organização. • Escaneamento de portas: essa técnica deve ser usada com cautela, pois seu uso extensivo pode ser facilmente detectado por sistemas de proteção de borda. Usada com inteligência, trará informações sobre os serviços ativos, tanto por protocolo TCP quanto UDP. • Captura de banner: compreende requisições simples que são enviadas como tráfego comum para as estruturas da organização. O objetivo é analisar sua resposta para capturar o tipo de serviço que está sendo executado, o sistema operacional e suas respectivas versões. • Transferência de zona: como os servidores DNS funcionam como uma lista telefônica (possuem uma lista de domínios e seus endereços IP correspondentes), muitos deles conseguem fazer a transferência de zona, que é a cópia dos registros de um DNS para outro. Com algumas ferramentas, é possível verificar se os endereços de DNS da organização-alvo permitem essa atividade. Copiando todos os registros do DNS, pode-se obter diversos endereços e seus respectivos IPs para exploração no futuro. • Resposta SMTP: SMTP é o nome de um protocolo para a troca de e-mails entre servidores. Ao enviar uma mensagem malformada ou com algum tipo de dado divergente em seus campos, os servidores de SMTP podem enviar alguma resposta de erro, e essas respostas trazem informações importantes sobre essa estrutura para um ataque posterior. • DNS reverso: normalmente, os DNS respondem solicitações de endereços IP a partir de um domínio informado. Caso esteja configurado para fazer o DNS reverso, em que é possível solicitar o domínio associado a um IP, pode-se revelar para a organização domínios e subdomínios importantes que não foram identificados anteriormente. • Força bruta em DNS: as técnicas anteriores de transferência de zona e mapeamento de domínios baseados em IPs podem ser repetidas de forma automática e sequencial, fazendo-se um mapeamento de todas as informações relevantes que esse DNS pode trazer. • Descobrimento de aplicações web: existem muitas ferramentas de código aberto e de mercado que são amplamente utilizadas por empresas e usuários na internet. Um exemplo é o WordPress, um sistema de código aberto desenvolvido em linguagem PHP para o gerenciamento de um blog de forma simples. Há anos no mercado, esse sistema normalmente possui o portal de login de administrador na pasta /wp-admin/. Se a equipe de testes encontrar algum domínio que contém essa pasta, é possível que esse sistema esteja instalado no servidor. Existem ferramentas automatizadas que podem auxiliar nesse reconhecimento de aplicações web. 22 Unidade I Depois de executar as técnicas de reconhecimento, é necessário juntar informações coletadas com as anteriores sobre a organização e realizar uma análise desses dados. O intuito é usar todo o conhecimento anterior agregado para direcionar os testes em cenários que são mais relevantes para organização. Modelagem de ameaças Essa etapa fará um levantamento dos ativos já mapeados avaliando o valor de cada ativo, a dificuldade de sua obtenção e as motivações dos vetores de ataque. A criticidade dos vetores de ataque e quais são os grupos de ataques mais nocivos para essa organização também serão ponderados. Podem ser desenhados cenários em que há a simulação de motivação, ferramentas disponíveis, métodos de ataques e comportamentos específicos dos grupos de ataque. Caso o escopo do teste promover alguma liberdade, é importante avaliar com a organização quais são os cenários mais críticos, inclusive fazendo entrevistas com funcionários para entender a gravidade de um incidente caso um ativo específico tiver sido comprometido. Deverá ser avaliado também qual será o foco da execução dos próximos passos do teste para direcionar os esforços em cenários mais relevantes. Se o teste for totalmente fechado, esse processo será baseado em informações já registradas. Quadro 3 – Tipos de ativos críticos de organizações Tipo de ativo Exemplos Políticas e manuais de procedimentos Documentos que definem como a empresa faz negócios e quais processos são críticos para suas atividades Informações sobre produtos Códigos-fonte de programa, produtos em lançamento e algoritmos de decisão Informações de marketing Planos de ações publicitárias, posicionamento de mercado, pesquisas de concorrência e planos de negócios Informações financeiras Dados financeiros, declarações fiscais, dados de cartões de créditos corporativos e posição financeira Informações técnicas Topologia de redes, manuais de aplicações internas, configuração de sistemas, credenciais de acesso privilegiado ou não e métodos de autenticação presentes Informações de funcionários Informações pessoais, dados financeiros e registros de saúde Informações de clientes Dados pessoais, informações protegidas por lei e dados que podem levar o cliente a ser fraudado em outro contexto Uma organização necessita de dinheiro para operar, e entender como a atividade econômica da empresa ocorre agrega mais valor a essa etapa. As organizações realizam processos que geram valor agregado em seus produtos para realizar suas atividades econômicas. Assim, caso sejam afetados, esses processos críticos poderão gerar prejuízos. Vetores de ataque poderão se beneficiar dessas informações e causar incidentes propositais para impactar diretamente a fonte financeira da organização. 23 PARECERES E TESTES DE INVASÃO • Infraestruturas que suportam os processos: processos necessitam de meios para que sejam executados, precisam estar devidamente mapeados para a próxima fase, a análise de vulnerabilidades. • Informações que suportam processos: são os ativos que suplantam os processos para tomar decisões, adotar estratégias de marketing e cumprir questões legais. • Fator humano suportando processos: pessoas ligadas aos processos e infraestruturas críticas que executam os processos ou mantêm os itens anteriores em funcionamento devem ser mapeados, pois são parte do todo e podem ser atacados em algum momento. Além da visão dos alvos, devem ser levantados os tipos de indivíduos associados, independentemente de terem ou não a intenção de causar dano à empresa; por executarem atividades críticas e terem muita responsabilidade, eles podem acidentalmente causar incidentes. Quadro 4 – Ativos críticos para atividade da organização Interno Externo Gerentes Competidores Administradores de sistemas Contratados Desenvolvedores Fornecedores Técnicos Crime organizado Empresas contratadas Hackivistas Suporte remoto Pesquisadores de segurança Ex-funcionário Outro aspecto importante que deverá ser verificado é o levantamento da capacidade de um ou mais desses indivíduos em realizar uma atividade maliciosa, ponderando as ferramentas disponíveis para execução, conhecimento técnico e grau de dificuldade de execução e detecção dessa ameaça, caso ela tiver sido bem-sucedida. A motivação desses indivíduos varia de acordo com o ramo de atividade, o posicionamento na sociedade, a relação com o mercado e a política. As motivações mais comuns são: • benefícios diretos ou indiretos; • hackitivismo; • ressentimento; • desafio ou reconhecimento; • espionagem. 24 Unidade I Uma forma de obter mais informações de possíveis ameaças é comparar organizações do mesmo ramo de atividade, pesquisando por incidentes e similaridades que podem ser utilizadas como base de conhecimento para essa fase. Constantemente, incidentesde segurança são publicados na mídia e em blogs de segurança, algumas vezes com explicações técnicas de como o ataque foi realizado. Empresas com modelos de negócios parecidos poderão ter problemas similares e, fatalmente, terão chances de sofrer o mesmo tipo de ameaça. Análise de vulnerabilidades Considerando o cenário em estudo, será preciso realizar a análise de vulnerabilidades, que envolve desde a má configuração de um software ou serviço até problemas estruturais de aplicações. Cada projeto possui um escopo diferente, e a equipe de testes deve estar atenta. Observe as seguintes possibilidades: testar se uma determinada estrutura está vulnerável aplicando-se diversos testes; verificar se uma vulnerabilidade já conhecida ainda está em funcionamento ou até com um acesso legítimo; examinar quais outras vulnerabilidades estão presentes após um passo crítico de uma invasão. Outro ponto importante é o esforço direcionado para cada análise, tamanha a abrangência do teste. Caso uma rede inteira deva ser testada, será direcionada uma quantidade específica de esforço em cada estrutura. Assim, caso sejam listados hosts específicos, poderá ser dedicado mais tempo em menos alvos com o mesmo tempo escalado. Quadro 5 – Formas de realização de análises Tipo de análise Categorias Atividades Ativa Descoberta de rede Varredores de rede Capturadores de banner Análise de aplicações web Buscadores de falhas em geral Força bruta de diretórios Verificadores de versões/identificadores de falhas específicas Vulnerabilidades em protocolos específicos Buscadores de vulnerabilidades de VPN Buscadores de canais de voz Passiva Análise de metadados Monitoramento de tráfego As análises ativas podem ser realizadas por meio de ferramentas automatizadas ou buscas manuais. A equipe de testes também deverá avaliar a possibilidade de detecção dessas ferramentas automatizadas. Observe os itens a seguir: • Varredores de rede: usados para descobrir portas e/ou serviços ativos nos hosts encontrados. • Capturadores de banner: enviando pacotes específicos direcionados para aplicações, pode-se capturar o tipo e a sua versão instalada. 25 PARECERES E TESTES DE INVASÃO • Buscadores de falhas em geral: são ferramentas que buscam as falhas e aplicações mais comuns presentes, podendo trazer informações valiosas para um ataque mais complexo. • Força bruta em diretórios: são rotinas desenhadas para testar e varrer uma série de possibilidades de pastas que não são acessíveis caso o atacante as acesse diretamente. • Verificadores de versões/Identificadores de falhas específicas: examinar a versão instalada do servidor web por versões vulneráveis pode gerar falsos-positivos, pois é possível que elas já tenham sido corrigidas. O time de testes poderá também validar quais dos métodos HTTP que esse servidor responde, demonstrando fragilidades a serem exploradas. • Buscadores de vulnerabilidades VPN: a implementação de troca de chaves de um acesso VPN pode não ter sido bem aplicada, assim, ferramentas específicas podem ser executadas para descobrir esse processo para futura exploração. • Buscadores de canais de voz: cada dia mais as organizações usam canais de voz suplantada pela rede, e a má implementação desses protocolos pode abrir uma brecha para vazamento de comunicação tanto interna como externa. Bem menos agressivas, as análises passivas em geral são complementares aos métodos ativos e normalmente são usadas quando o teste de invasão é interno ou já foi realizado com sucesso pelo atacante, que obteve acesso à rede interna. • Análise de metadados: por meio de documentos capturados, é possível coletar a autoria, a data de criação/última versão de um documento e a versão da aplicação usada para criação dos dados. • Análise de tráfego: ao examinar o tráfego interno, pode-se capturar pacotes de aplicações proprietárias trafegando ativos em texto claro ou através de ferramenta em texto claro ou de mercado, causando o mínimo ruído possível. Descarta-se qualquer tipo de técnica que gere ruído na rede em sua captura, como desvio de rota de pacotes ou comprometimento de roteadores para execução da captura. Após a coleta de dados, é preciso analisá-los e correlacioná-los entre si, a fim de desenhar cenários com a maior riqueza de informação possível. Pode-se fazer uma lista de estruturas versus vulnerabilidades elencadas ou uma lista de vulnerabilidades e quais estruturas possivelmente estão comprometidas. Caso o time de testes esteja com uma lista pré-definida para fazer a avaliação, pode-se usar esse documento como base. Há três atividades que são importantes para a sintetização da coleta de dados: • Desenho de árvores de ataque: destaca ameaças, vulnerabilidades e estruturas mapeadas a fim de deixar clara visualmente toda a informação mapeada para a fase de exploração; o objetivo é não perder nenhuma possibilidade de sucesso. 26 Unidade I • Testes em laboratório: a melhor forma de conseguir reproduzir uma vulnerabilidade real é replicando ao máximo as estruturas do alvo em um ambiente controlado e testar como explorar essa vulnerabilidade. Isso diminui a possibilidade de danos indesejados no alvo, assim como detecção precoce de ferramentas de proteção. • Confirmação manual: muitas ferramentas e scripts trazem resumos de possíveis vulnerabilidades encontradas, assim, confirmar manualmente, se possível, vulnerabilidades apontadas nesses processos automatizados aumenta bastante a probabilidade de sucesso do teste. Ao condensar todas as informações e os resultados encontrados, a equipe de testes fará pesquisas em fontes de dados para levantar mais possibilidades de exploração que não foram apontadas anteriormente. As fontes mais comuns de informações são: • bases de dados de exploits e módulos de frameworks; • listas de senhas mais comuns; • guias de hardening ou erros de configuração conhecidos. Dependendo do alvo e da criticidade dos ativos a serem capturados, caso a invasão tenha sucesso, essa fase poderá ser estendida com outras atividades em ambientes de teste, como: • Adicionar um depurador a uma aplicação e enviar pacotes de informações aleatórias em momentos diferentes para analisar o comportamento da aplicação. Essa atividade, por gerar resultados inesperados e gerar problemas de comportamento no ambiente, abre brechas para outras formas de exploração. • Fazer engenharia reversa em uma aplicação específica para identificar formas de alterar seu comportamento através dos seus processos internos. Ferramentas de código aberto facilitam muito essa atividade, uma vez que o código original está disponível para consulta. Essa atividade requer um alto nível de conhecimento de sistemas operacionais e de programação em baixo nível. Com essas informações coletadas, serão analisados os ativos de maior importância para a empresa, os cenários em que há maior chance de sucesso, o tempo e o esforço que poderão ser dependidos para a efetivação de um ataque. Após a fase de modelagem de ameaças, ficam claros os pontos que possuem maiores chances de sucesso contra uma invasão. A segurança de uma organização é feita em camadas e pode haver sobreposições de proteções. A equipe de testes pode, por exemplo, evadir as regras de filtros de IP na rede e conseguir acessar uma aplicação web protegida por um portal de login e senha e, com credenciais válidas, passar a autenticação de login. Contudo, se a aplicação prever um filtro de endereços IP na aplicação, o ataque poderá não ser bem-sucedido. Esse contexto exemplifica que todo levantamento de vulnerabilidades e ameaças são indícios, característica de sistemas possivelmente vulneráveis, e na fase 27 PARECERES E TESTES DE INVASÃO de exploração esses controles previstos e os não mapeados serão colocados à prova. Quanto mais a fase de análise vulnerabilidades for acurada, maior será a chance de sucesso. Exploração A fase de exploração é dedicada a efetivar os ataques a todos os ativos já registrados, levandoem consideração seu contexto e a probabilidade de sucesso. Lembrete A fase de exploração deve estar intimamente ligada ao escopo do projeto, a limitações e regras de execução. Nesse momento, os riscos de impactos são grandes e todo cuidado deve ser tomado, principalmente, com a realização dos testes em ambiente de produção. No ambiente-alvo, a equipe de testes pode e deve se deparar com medidas de proteção, e sua função é conhecer e dominar métodos de evasão para medidas protetivas. Observação As grandes corporações possuem departamentos inteiros dedicados a proteger os ativos e evitar perdas. Por sua vez, o crime organizado possui estruturas similares para realizar atividades maliciosas contra essas proteções. Atualmente, quase todas as máquinas – corporativas ou pessoais – possuem um programa antivírus. Trata-se de uma aplicação ou um conjunto de aplicações instaladas que tem como objetivo impedir que programas maliciosos habitem e sejam executados no dispositivo-alvo. Esses programas convencionalmente funcionam por métodos de assinatura, assim, uma vez que o fabricante detecta um vírus, gera sua assinatura e a distribui pela internet para os agentes protetivos instalados. Desse modo, quando os agentes encontram um programa que se encaixa na mesma assinatura, protegem o sistema da ameaça. Se os fabricantes ainda não tiverem gerado a assinatura de uma ameaça, essa aplicação não irá detectar e proteger o dispositivo contra essa ameaça. Existem outras soluções e novas tendências do mercado de antivírus que consideram outras questões além da assinatura. Outras medidas comuns de proteção que podem ser contornadas: • Lista positiva: as máquinas costumam ter uma lista de softwares que podem residir em máquinas corporativas, e essas listas positivas agem diretamente no disco rígido, portanto, se uma ameaça for executada em memória RAM, essa proteção será efetiva. 28 Unidade I • Injeção em processos: por meio de falhas em aplicações conhecidas, é possível injetar ameaças nos processos que estão em execução, dificultando a detecção de proteções. • Ameaças em memória: a maioria das proteções tem como objetivo analisar mudanças no disco, como gravação, alteração e remoção de dados. Caso o atacante consiga um vetor de ataque que seja ativo somente em memória, dificultará sua detecção, além de não deixar rastros quando a memória RAM é reescrita ou quando a máquina é reiniciada. • Firewall de aplicações web (WAF): trata-se de uma estrutura colocada antes do tráfego de rede ser encaminhado diretamente para aplicação web. Sua função é detectar pacotes malformados e técnicas de injeção de scripts maliciosos. De modo geral, firewalls são baseados em regras, assim, caso essas regras sejam malconfiguradas ou existam formas de contorná-las, o ataque poderá ser bem-sucedido. Lembrete A ideologia hacker é de pesquisar formas de subverter processos desenhados para uma função e realizar outra. Cada teste de invasão é diferente, embora algumas situações sejam parecidas, e o time deve ter a habilidade de customizar suas próprias ameaças e contornar imprevistos de última hora. A seguir, destacam-se medidas protetivas que podem ser usadas tanto para a defesa de explorações quanto para a promoção de formas de viabilizar os ataques: Quadro 6 Método Explicação Codificar Uma forma de embaralhar os bytes em partes do código para dificultar a detecção de softwares que analisam comportamento malicioso Empacotar Colocar uma aplicação dentro de um formato/pacote diferente, algumas vezes comprimindo pedaços do código para evadir métodos de detecção Criptografar Durante a execução do programa, partes do código podem estar criptografadas, e essas partes são revertidas ao seu estado normal em memória no momento em que o programa está em execução, portanto, ao realizar uma análise estática do programa, não se pode determinar todas as funcionalidades contidas Da mesma forma que essas técnicas são usadas para encobrir como as ameaças realmente funcionam e evadir métodos de detecção, são usadas em aplicações legítimas para sua proteção. Para realizar ataques em aplicações legítimas, uma das práticas avançadas é realizar engenharia reversa na aplicação, assim, ao se deparar com essas medidas, o atacante terá muita dificuldade 29 PARECERES E TESTES DE INVASÃO para ter sucesso em uma exploração. Como exemplos de técnicas de proteção, citam-se os programas protegidos contra pirataria e jogos que ofuscam parte do código para não alteração de métricas internas. Para melhorar suas atividades, uma equipe de segurança pode criar suas próprias ferramentas de trabalho. A exploração deve seguir uma linha do tempo. No início, são direcionados os ataques mais precisos possíveis. Depois, gradativamente, quando as possibilidades forem sendo descartadas, serão feitos testes extensivos de cenários já projetados anteriormente. Esse modelo tem como objetivo simular um ataque direcionado e com maiores chances de sucesso; quanto maior o volume de tentativas realizadas sem critério, maior será a probabilidade de os sistemas de defesa serem detectados mais rapidamente. Nesses casos, é comum que a sensibilidade dos sensores seja aumentada ao máximo para evitar perdas. Uma vez finalizada a fase de exploração, a equipe de testes terá novos cenários de atuação, portanto será necessário realizar uma série de novas atividades. Pós-exploração O objetivo principal da pós-exploração é verificar quais são os ativos armazenados nas estruturas das redes e a sua capacidade de comprometer outras estruturas internas, assim como a rede como um todo. Também será necessário revisar as regras e o escopo do projeto definido anteriormente; nesse momento, as regras são importantes para não desviar o foco do teste ou causar danos internos. Observação Conforme o avanço do teste de invasão, mais crítico ele fica. Sempre que possível, deve-se levantar os possíveis riscos e validar as ações com as partes interessadas nos testes. Como se trata de um teste, deve-se tomar o máximo de cuidado com as informações adquiridas. Ao ganhar acesso a uma máquina, o invasor irá executar rotinas para: • Escalar privilégios: normalmente, os usuários corporativos têm o mínimo de permissões concedidas para suas atividades, não sendo possível instalar ou remover programas, gravar arquivos em pastas internas do sistema ou realizar execução de programas específicos. Caso o atacante consiga escalar privilégios para um administrador da máquina, poderá realizar as ações anteriores. 30 Unidade I • Acesso aos ativos: com privilégios administrativos, é possível ter acesso a informações relevantes armazenadas tanto na máquina quanto na rede interna. Uma prática comum é fazer modificações na máquina que permitam o retorno do atacante, o que é feito por meio da instalação de programas que dão acesso e/ou controle remoto externo, bem como a criação de novas credenciais administrativas para um futuro acesso. Nessa situação, deverão ser tomados os cuidados a seguir para proteger o cliente: • Todas as alterações no ambiente devem ser devidamente documentadas. • As atividades realizadas no ambiente precisam ser devidamente documentas, tendo sucesso ou não em suas tentativas. • Todos os dados capturados devem ser armazenados pela equipe de testes e criptografados para a segurança da organização testada. • Não devem ser usados serviços de empresas/estruturas terceiras sem o consentimento prévio da organização-alvo. É importante que a equipe de testes se resguarde quanto a alguns cuidados, como: • Verificar as leis vigentes que incidem diretamente sobre as atividades e informações que estão sendo coletadas. • Estar presente no contrato firmado entre as partes, certificando-se de que os testes realizados sejam feitos a pedido da organização. • A empresa deve deter os direitos de uso dos dados que poderão ser acessados e capturados. • Criptografar totalmente mídias físicas ou lógicas que forem armazenarinformações da organização. • Qualquer procedimento que envolva terceiros no teste precisa ser devidamente documentado e revisado pelo terceiro. Tendo total controle de uma máquina, serão realizadas rotinas de reconhecimento similares às anteriores. Nesse instante, como a perspectiva é interna, a tendência é que as possibilidades sejam maiores. O quadro a seguir expõe as atividades a serem executadas na máquina comprometida. 31 PARECERES E TESTES DE INVASÃO Quadro 7 Programas instalados Itens inicializados com o sistema operacional Identificar o propósito dessa máquina na rede assim como programas importantes instalados Lista de programas instalados Identificar programas de proteção instalados e aplicações que podem ser executadas Lista de atualizações do sistema operacional instaladas Identificar o nível de proteção da máquina perante as atualizações do sistema operacional Serviços de segurança Firewalls, IDS, IPS, antivírus instalados, EDRs Compartilhamento de arquivo/ impressão Informações de árvores de diretórios, permissões de acesso e escrita nas pastas. Envolve tipos críticos de dados armazenados, como: código-fonte, documentos internos, backups, planilhas de orçamento etc. Base de dados Lista de base de dados existentes no servidor, tabelas, campos, valores contidos em tabelas, usuários, procedimentos armazenados e trabalhos agendados DNS internos Serviço de DNS instalado traz informações valiosas sobre o tráfego de informações trocadas na rede interna Servidores de atualização Aplicações e atualizações disponibilizadas para as máquinas na rede Certificados Certificados de autoridade usados internamente, certificados raiz de aplicações, criação de certificados novos e revogação de certificados vigentes Servidores de código-fonte Listar projetos vigentes, verificar código-fonte dos projetos, modificar arquivos, listar desenvolvedores e configurações de sistemas Servidor de configuração de IPs dinâmicos Listar e alterar configurações de concessão de IPs na rede Virtualizações Listar máquinas virtualizadas e as credenciais armazenadas nelas, listar tecnologia usadas na virtualização, dados armazenados e analisar o total controle de virtualizações na rede Sistema interno de troca de mensagens Identificar troca de informações, credenciais de acesso e arquivos através de mensagem interna Sistemas de backup Listar arquivos de backup disponíveis para leitura Monitoramento e administração Sistemas de monitoramento e administração remota da máquina, como: serviços de SSH, Telnet, Remote Desktop Protocol Análise de infraestrutura Interfaces Identificar quais estruturas estão conectadas a essa máquina, assim como endereços IPs Rotas Nomear rotas dinâmicas e estáticas para enumerar sistemas não mapeados anteriormente Servidores DNS Definir DNS que podem ser usados para descobrir novas estruturas não mapeadas Servidores proxy Destacar proxies para pontuar e eventualmente modificar o tráfego interno de informações Portas lógicas abertas Identificar serviços oferecidos na rede, assim como abrir portas de administração remota da máquina para futuros acessos Serviços de VPN Pontuar acessos a outras redes/sistemas com novas possibilidades de exploração, assim como suas credenciais de acesso a esse sistema remoto Dados sensíveis locais Registro de teclas digitadas Informações digitadas pelo usuário do equipamento Registro de tela Informações exibidas na tela do usuário Navegador web Histórico de navegação e download, sites favoritos, credenciais, proxies de navegação e extensões instaladas Chaves criptográficas Chaves de acesso remoto e chaves de criptografia de documentos Documentos Planilhas, memorandos, reportes e apresentações 32 Unidade I Após reconhecer as estruturas e avaliar as possibilidades de comprometimento de ativos, a equipe de testes estudará meios de extrair esses ativos da rede interna. Essa etapa deve estar alinhada também às regras de execução do teste para simular uma extração real. A extração dos dados tem como objetivo testar controles de vazamento de dados, que variam desde simples conexões com a internet em um servidor remoto preparado para receber dados sensíveis a métodos evasivos, como vazamento particionado de informações criptografadas/ofuscadas. Observação As técnicas usadas para comprometer um sistema podem ser das mais variadas e sofisticadas, tanto que podem levar anos para serem descobertas. Terminada a fase de exploração ativa, a equipe de testes deverá fazer a limpeza do ambiente comprometido. Para tal, são adotadas as seguintes ações: • remover todos os executáveis, scripts e arquivos temporários; • reconfigurar as alterações realizadas no ambiente; • remover as vulnerabilidades instaladas; • remover contas e sistemas conectados ao sistema comprometido. 2.3 Finalização e reporte Nessa fase, os principais cuidados são o descarte seguro de evidências e o reporte seguro dos testes realizados. A equipe de testes deve garantir a destruição segura dos dados gerados através do teste, impedindo o reaproveitamento em casos de vazamento ou roubo de dados. Após o reporte com as evidências ser gerado e já entregue, este passará a ser também um ativo importante para a organização. Em caso de um vazamento de dados, esse reporte traz informações valiosas do que poderá ser realizado contra a organização, suas medidas protetivas e se há possibilidade de contornar essas medidas. Em alguns casos, tem força suficiente para causar a repetição das atividades realizadas, gerando um ataque mais preciso ao ambiente privado. São produzidos pela equipe de testes dois relatórios, um executivo e um técnico. O resumo executivo possui as seções: • histórico; • postura geral; 33 PARECERES E TESTES DE INVASÃO • ranking de risco/perfil; • resultados gerais; • recomendações. O relatório técnico trata-se de uma documentação extensa, contendo todos os detalhes do projeto: • pessoas envolvidas tanto da equipe de testes quanto da organização; • informações de contato; • ativos envolvidos nos testes; • objetivos do teste; • escopo do teste; • força do teste; • natureza do teste; • estrutura do teste. Na coleta de informações, destacam-se os seguintes aspectos: • informações passivas: a organização deve ter a visão de quanto está exposta à coleta de dados em ambientes públicos; • informações ativas: deve ser avisado o quanto se pode obter de informações enviando tráfego diretamente para suas estruturas; • informações corporativas: dados sobre a estrutura da organização, o ramo de atividade e a posição no mercado; • informações de pessoal: registros sobre estruturas internas, funcionários e suas posições, projetos e repositório de dados externos que ligam o ambiente externo ao interno. Na avaliação, são verificadas vulnerabilidades técnicas/lógicas e de processos e é criado o sumário de resultados. Na exploração, estudam-se a linha do tempo, os alvos selecionados e as atividades de exploração. Nesse contexto, são elencadas estruturas que não puderam ser exploradas, os ataques realizados e os 34 Unidade I que foram bem-sucedidos, a escalação de privilégios etc. Por sua vez, a correção traz referências da vulnerabilidade explorada e sugestões de correção do problema e medidas para mitigar o risco. A aquisição de dados definida pela organização envolve: • valor da informação; • acesso a infraestruturas críticas; • acesso a dados protegidos por regras de compliance; • sistemas secundários acessados; • habilidade de manter um sistema comprometido na infraestrutura; • habilidade de extração de dados. Na exposição, avalia-se a frequência de incidentes e estima-se a capacidade das ameaças de acordo com a modelagem de ameaça realizada. Na finalização, faz-se a conclusão a partir de todo o cenário e são acentuados os principais aspectos a serem corrigidos. Deve-se esclarecer que todo o teste de invasão tem o objetivo de ajudar a melhorar a segurança dos ativos da organização,e não apontar erros. Ao realizar recorrentes avaliações especializadas no ambiente, maior será a maturidade de segurança da organização, diminuindo o risco de perdas financeiras. Observação Os testes podem variar de escopo e serem realizados por grupos diferentes e em momentos diferentes, se possível. Quanto mais times heterogêneos são formados para essas atividades, mais ricos serão os resultados para a organização. 35 PARECERES E TESTES DE INVASÃO Resumo A segurança da informação está presente em todas as organizações e em nosso dia a dia. As ameaças são as mais diversas e são cada vez mais presentes no mundo digital. Para garantir que os controles e os processos sejam eficientes em proteger os ativos, apresentamos a atividade de teste de invasão. Para tal, destacou-se um cenário real ou o mais próximo da realidade que seja alvo de ataques, os quais são controlados por uma equipe especializada em apontar fraquezas em todo o ambiente de uma organização. Os testes de segurança podem ser separados em três tipos: White Box, Gray Box e Black Box. Há também testes direcionados com informações fornecidas pela organização, a fim de avaliar pontos específicos na infraestrutura. Por sua vez, nos testes fechados não há nenhuma informação ou quase nada é fornecido para a equipe de testes, e os ataques são direcionados quase como uma situação real. Para a execução dos testes, é vital usar uma metodologia que mais se adeque à necessidade da organização e que não deixe de avaliar pontos importantes. No momento da execução dos testes, é evidente que o escopo, o objetivo e as limitações dos testes estejam claros e devem ser respeitados. Assim, será levantada a maior quantidade de informação possível, de acordo com o tempo designado para cada atividade. Trata-se de uma atividade investigativa, que simula a ação desde pesquisadores livres de segurança até membros do crime organizado. Depois de coletadas as informações (nome da organização, ramo de atividade, endereço digital), faz-se uma busca por informações mais profundas, por exemplo, como a atividade financeira é realizada na organização, quais são os possíveis pontos fracos do negócio, desde informações internas, organogramas até dados de funcionários e fornecedores. Ao final do teste, todas as informações capturadas, as análises e os objetivos (alcançados ou não) serão demonstrados em dois reportes, um executivo e um técnico. Esses registros têm como intuito destacar para a organização os riscos aos quais ela está exposta e ajudar as equipes técnicas a fazer as devidas correções para que os itens apontados não sejam explorados por ameaças mal-intencionadas em um ataque real. A tecnologia em geral está em constante evolução, os ataques e as ameaças estão cada vez mais presentes no mundo virtual, por isso é necessário estar sempre atento para novos cenários. 36 Unidade I Exercícios Questão 1. A assinatura de um termo de confidencialidade é de fundamental importância quando realizamos testes de invasão. Essa assinatura deve ocorrer em qual fase do teste? A) Reporte e finalização. B) Planejamento e preparação. C) Aplicação do teste. D) Administrativa. E) Assinatura de contrato de serviço. Resposta correta: alternativa B. Análise da questão A assinatura do termo de confidencialidade é essencial na realização dos testes de invasão e deve ser realizada no início do trabalho, ou seja, na etapa de planejamento e preparação. Vale ressaltar que as três fases do teste de invasão são: • planejamento e preparação; • aplicação do teste; • reporte e finalização. Questão 2. As medidas protetivas quanto a um ataque a um sistema envolvem o uso de métodos de codificação, empacotamento e criptografia. Essas medidas devem ser consideradas também quando planejamos um teste de invasão. Nesse contexto, considere o quadro a seguir, que apresenta os métodos de codificação e suas explicações. Quadro 8 I – Codificação a – Embaralhar bytes em trechos de código II – Empacotamento b – Codificar pela aplicação de algoritmos matemáticos III – Criptografia c – Colocar uma aplicação em um formato ou um pacote diferente 37 PARECERES E TESTES DE INVASÃO Assinale a alternativa que contém a associação correta entre os métodos e as suas explicações. A) I-c, II-a, III-b. B) I-b, II-a, III-c. C) I-b, II-c, III-a. D) I-a, II-b, III-c. E) I-a, II-c, III-b. Resposta correta: alternativa E. Análise da questão A etapa de codificação envolve o embaralhamento de bytes em trechos de código. A etapa de empacotamento coloca uma aplicação em um formato ou um pacote diferente, comprimindo, muitas vezes, pedaços de código. A etapa de criptografia, que consiste na codificação pela aplicação de algoritmos matemáticos, faz com que haja a necessidade de descriptografar trechos de código para a sua execução.
Compartilhar