Prévia do material em texto
Raphael Hungaro Moretti Ethical hacking Dados Internacionais de Catalogação na Publicação (CIP) (Jeane Passos de Souza - CBR 8a/6189) Moretti, Raphael Hungaro Ethical hacking / Raphael Hungaro Moretti. – São Paulo : Editora Senac São Paulo, 2020. (Série Universitária) Bibliografia. e-ISBN 978-65-5536-367-8 (ePub/2020) e-ISBN 978-65-5536-368-5 (PDF/2020) 1. Ciência da computação – Ética 2. Segurança digital 3. Ataques cibernéticos 4. Hackers I. Título. II. Série. 20-1189t CDD – 005.8 658.87 BISAC COM053000 Índice para catálogo sistemático 1. Administração de vendas 658.81 M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D ist ân ci a da R ed e Se na c EA D, d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, so b as p en as d a Le i. © E di to ra S en ac S ão P au lo . ETHICAL HACKING M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Raphael Hungaro Moretti Administração Regional do Senac no Estado de São Paulo Presidente do Conselho Regional Abram Szajman Diretor do Departamento Regional Luiz Francisco de A. Salgado Superintendente Universitário e de Desenvolvimento Luiz Carlos Dourado Editora Senac São Paulo Conselho Editorial Luiz Francisco de A. Salgado Luiz Carlos Dourado Darcio Sayad Maia Lucila Mara Sbrana Sciotti Jeane Passos de Souza Gerente/Publisher Jeane Passos de Souza (jpassos@sp.senac.br) Coordenação Editorial/Prospecção Luís Américo Tousi Botelho (luis.tbotelho@sp.senac.br) Dolores Crisci Manzano (dolores.cmanzano@sp.senac.br) Administrativo grupoedsadministrativo@sp.senac.br Comercial comercial@editorasenacsp.com.br Acompanhamento Pedagógico Otacília da Paz Pereira Designer Educacional Hágara Rosa da Cunha Araujo Revisão Técnica Eduardo Takeo Ueda Preparação e Revisão de Texto Ana Luiza Candido Projeto Gráfico Alexandre Lemes da Silva Emília Corrêa Abreu Capa Antonio Carlos De Angelis Editoração Eletrônica Stephanie dos Reis Baldin Ilustrações Stephanie dos Reis Baldin Imagens Adobe Stock E-pub Ricardo Diana Proibida a reprodução sem autorização expressa. Todos os direitos desta edição reservados à Editora Senac São Paulo Rua 24 de Maio, 208 – 3o andar Centro – CEP 01041-000 – São Paulo – SP Caixa Postal 1120 – CEP 01032-970 – São Paulo – SP Tel. (11) 2187-4450 – Fax (11) 2187-4486 E-mail: editora@sp.senac.br Home page: http://www.livrariasenac.com.br © Editora Senac São Paulo, 2020 M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D ist ân ci a da R ed e Se na c EA D, d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, so b as p en as d a Le i. © E di to ra S en ac S ão P au lo . Sumário Capítulo 1 Introdução ao ethical hacking, 7 1 O que é hacker?, 8 2 A definição de ética e de ethical hacker, 10 3 Requisitos e habilidades de um ethical hacker, 11 4 Mandamentos de um ethical hacking, 14 5 Necessidades de um ethical hacker, 16 Considerações finais, 18 Referências, 18 Capítulo 2 Ataques cibernéticos, 21 1 A infraestrutura sob a ótica do analista de segurança (pentester), 22 2 Reconhecimento de alvo e enumeração de serviços, 22 3 Tipos de ataque, 24 Considerações finais, 33 Referências, 33 Capítulo 3 Testes de invasão/intrusão, 35 1 Fases do teste de intrusão, 36 Considerações finais, 43 Referências, 44 Capítulo 4 Ótica de auditoria, 45 1 Os testes de intrusão como ferramenta de auditoria, 46 2 Tipos de testes de intrusão, 47 Considerações finais, 52 Referências, 52 Capítulo 5 Ferramentas dos hackers, 55 1 Scanners de portas e outras ferramentas úteis, 55 2 Scanners de vulnerabilidades: OpenVAS CE e Nessus® CE, 59 3 Metasploit framework, 60 4 Geradores de lista de senhas: password list generators, 62 5 Ferramentas para ataques de dicionário, força bruta e rainbow tables, 63 6 Ferramentas para engenharia social, 65 7 Python Black Hat, 66 Considerações finais, 68 Referências, 68 Capítulo 6 Categorias de ataques e normas, 71 1 Categorias de ataques, 71 2 OWASP testing guide, 72 3 OSSTMM, 74 4 ISSAF, 76 5 Utilizando o CVSS em relatórios de auditoria de pentesting, 79 6 A norma para testes e avaliação de segurança da informação NIST SP800-115, 80 Considerações finais, 82 Referências, 83 M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. 6 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D ist ân ci a da R ed e Se na c EA D, d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, so b as p en as d a Le i. © E di to ra S en ac S ão P au lo . Capítulo 7 Hardening de sistemas operacionais, 85 1 Introdução aos sistemas operacionais, 86 2 Hardening em sistemas de kernel Linux, 91 3 Hardening em sistemas Windows, 95 Considerações finais, 98 Referências, 98 Capítulo 8 Legislação no ethical hacking, 101 1 A Lei Geral de Proteção de Dados Pessoais e os desafios do ethical hacker, 102 2 Crimes cibernéticos ligados ao hacker ético, 104 3 Estatísticas, vulnerabilidades e exploits, 105 Considerações finais, 107 Referências, 108 Sobre o autor, 111 7 M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Capítulo 1 Introdução ao ethical hacking Em filmes e obras ficcionais referentes à computação, o termo “hacker” é amplamente citado, sempre apresentando indivíduos com conhecimentos extraordinários e que conseguem invadir diversos sis- temas, obter informações ocultas e, até mesmo, derrubar grandes cor- porações. De fato, o termo hacker está em constante ascensão, cada vez mais fazendo parte do nosso dia a dia digital. Neste capítulo, exploraremos o conceito de hacker, discutindo sobre seu verdadeiro significado e o quão importante é essa figura no mundo da computação. Também compreenderemos os diferentes tipos de hackers e como são definidas suas categorizações. Por fim, abordaremos também as habilidades necessárias ao hacker, bem como seus mandamentos e conhecimentos específicos de computação, úteis em suas atividades. 8 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D ist ân ci a da R ed e Se na c EA D, d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, so b as p en as d a Le i. © E di to ra S en ac S ão P au lo . 1 O que é hacker? É muito comum encontrarmos em livros e até em filmes que ex- ploram vulnerabilidades e ataques em sistemas cibernéticos a palavra “hacker”. Filmes famosos como a trilogia Matrix1 e muitas outras pro- duções de ficção trazem os hackers como indivíduos que invadem, rou- bam informações ou, até mesmo, comprometem sistemas de acordo com suas habilidades. Ocorre que essa é uma visão equivocada que as obras relacionadas ao tema trazem ao público. Segundo Basta, Basta e Brown (2014), no início da computação, indiví-duos muito especializados em codificação e na criação de soluções com o uso de computadores eram conhecidos como hackers. O hacker pode ser considerado um indivíduo que possui um vasto conhecimento na operação e funcionamento de computadores e sistemas relacionados. Em 2012, a Companhia Ambiental do Estado de São Paulo (Cetesb), responsável por assuntos de licenciamento e fiscalização em âmbito ambiental, sofreu um ataque em sua página principal, em que fotos im- próprias e sem autorização da atriz Carolina Dieckmann foram exibidas em vez das informações pertinentes às atividades da empresa (G1 SÃO PAULO, 2012). Já em 2018, informações sobre os usuários da famosa rede social Facebook foram vazados, revelando dados sigilosos como mensagens privadas, possíveis senhas, informações de perfil, entre ou- tros (BBC BRASIL, 2018). Estes são alguns exemplos de trabalhos de ha- ckers que utilizam seu conhecimento para ações prejudiciais a outros. Assim como ocorre em grandes empresas, nós também estamos sujeitos a tais ações. Invasões a smartphones, espionagem de dados, roubo de informações e fraudes em sistemas de e-commerce são 1 The matrix (Matrix) (1999); Matrix reloaded (2003); Matrix revolutions (2003). Direção e roteiro: Lilly Wachowski e Lana Wachowski. Produção: Joel Silver. Distribuição: Warner Bros. Estados Unidos. 9Introdução ao ethical hacking M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. alguns casos que nós, como simples usuários de tecnologia, também estamos sujeitos a sofrer. Mas é importante destacar que todo esse conhecimento também é utilizado para o bem. Há muitos hackers que trabalham para a realização de melhorias de segurança, bem como na proteção contra ações maliciosas. Portanto, possuir um grande conhecimento nesta área traz grandes responsabili- dades. As ações que serão tomadas e a utilidade desse conhecimento podem ser tanto benéficos, auxiliando na correção de problemas ciber- néticos, ou até mesmo otimizando códigos e atividades relacionadas, como também nocivos, podendo ser utilizados em atividades obscuras. 1.1 Crackers vs hackers Diferentemente do que a mídia e as produções cinematográficas re- produzem, hacker não é a única palavra que representa indivíduos que possuem um vasto conhecimento na área de computação e o utilizam para invasões e ações de cunho ilegal. Na computação, o termo “cra- cker” encarrega-se dessa definição. Um cracker é um indivíduo com conhecimentos similares aos do hacker, porém os utiliza para ações ilegais. Um cracker não segue os mandamentos e a ética de um hacker, mas sim aproveita-se de seu conhecimento para obter acesso a infor- mações para uso ilegal, sejam elas para benefício próprio ou até mesmo de corporações que sigilosamente contratam seus serviços. É possível ainda categorizar um hacker de três formas, conforme apresentado na figura 1. 10 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D ist ân ci a da R ed e Se na c EA D, d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, so b as p en as d a Le i. © E di to ra S en ac S ão P au lo . Figura 1 – Representação dos tipos de hacker White hat: Conhecido também como “chapéu branco”, é o indivíduo chamado de hacker ético. Possui conhecimentos e os utiliza para fins legais. Black hat: Conhecido também como “chapéu negro”, é o indivíduo chamado de cracker. Possui conhecimentos e os utiliza para fins ilegais, em benefício próprio ou de terceiros. Gray hat: Indivíduo que atua em ambas as áreas, ora fazendo ações legais, ora ilegais. Fonte: adaptado de Basta, Basta e Brown (2014, p. 3). 2 A definição de ética e de ethical hacker De acordo com a definição de “ética” (ÉTICA, 2020), a palavra traz duas definições que se complementam. São elas: Segmento da filosofia que se dedica à análise das razões que oca- sionam, alteram ou orientam a maneira de agir do ser humano, ge- ralmente tendo em conta seus valores morais. […] Reunião das normas de valor moral presentes numa pessoa, sociedade ou grupo social. A ética basicamente está presente em nosso dia a dia. É exatamente pela ética que definimos nossas ações, sempre analisando os limites en- tre certo e errado. Profissionalmente, a ética é muito conhecida. Na área 11Introdução ao ethical hacking M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. de medicina, a ética do médico com seu paciente faz com que o profis- sional realize seu trabalho de forma adequada e apropriada para a situa- ção. Na área de ensino, o professor ético realiza seu trabalho de maneira competente e adequada, transmitindo conhecimento para seus alunos. Da mesma forma que a ética pode ser verificada nas mais diversas áreas profissionais, em segurança da informação também podemos contar com sua presença, classificando seus profissionais como hackers éticos. Quando falamos em hacker ético, ou ethical hacker, em inglês, leva- mos em consideração um indivíduo com profundo conhecimento em determinada área – neste caso, relacionada à computação e à tecnolo- gia da informação –, que utiliza seus conhecimentos para ações éticas, que trarão benefício a empresas por meios legais e lícitos. A experiência do hacker ético é de fundamental importância, uma vez que esse profissional consegue compreender os mínimos detalhes dos sistemas computacionais e identificar suas falhas, o que traz melhorias para a segurança das informações de uma organização, por exemplo. Sua função não se limita somente à parte de segurança, mas também seu conhecimento em métodos e processos pode otimizar determina- das ações e respostas a diversos incidentes digitais que podem ocorrer. Conforme Basta, Basta e Brown (2014, p. 12), os hackers conscientes dos direitos de outras pessoas são recursos valiosos para a área de TI. Já os hackers que agem com intenção maliciosa prejudicam a profis- são, mas, ao mesmo tempo, ajudam os profissionais de segurança a saber em que pontos as redes são vulneráveis. 3 Requisitos e habilidades de um ethical hacker Conforme já apontamos, um hacker é um indivíduo com um conhe- cimento amplo em determinado assunto, levando em consideração principalmente objetos relacionados à computação. Já o hacker ético 12 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D ist ân ci a da R ed e Se na c EA D, d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, so b as p en as d a Le i. © E di to ra S en ac S ão P au lo . é um profissional que utiliza seu conhecimento para a realização de ati- vidades profissionais de forma legal. Um hacker ético traz consigo toda uma bagagem de informações e aprendizado, podendo assim desen- volver atividades técnicas, como pentesting, análises de vulnerabilidade, análises de malware, testes de engenharia social, entre outras ações relacionadas. Na área de computação, um hacker, profissional habilitado e compe- tente em sua atividade, precisa de habilidades das mais diversas, uma vez que seu papel é demonstrar as vulnerabilidades de sistemas e orga- nizações que, até o momento de suas ações, nenhum analista ou pro- fissional responsável tenha conseguido identificar. Reunida porBasta, Basta e Brown (2014), acompanhe a seguir uma síntese das habilidades necessárias para esse profissional. 3.1 Programação e lógica de programação É fundamental que o hacker conheça a lógica de funcionamento dos variados sistemas e tenha um profundo saber em linguagens de pro- gramação. Dessa forma, o hacker consegue visualizar códigos e pro- gramas e compreender seu funcionamento, podendo explorar possíveis brechas e vulnerabilidades em seu código, além de realizar possíveis ataques e determinar o quão grave essas vulnerabilidades são. 3.2 Redes de computadores, serviços de rede e infraestrutura e sistemas operacionais Uma das grandes inovações no ramo da computação foi a criação de redes de computadores. Criadas inicialmente com o propósito de conectar pequenos ambientes, ou até mesmo computadores ponto a ponto, foram evoluindo e seu conjunto hoje se apresenta como o que conhecemos por internet. O pleno conhecimento dos protocolos de 13Introdução ao ethical hacking M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. comunicação de rede, do funcionamento da comunicação entre dispo- sitivos e do funcionamento de infraestrutura de rede como um todo são elementos fundamentais para um hacker, já que, na maioria das vezes, suas ações são voltadas para ataques de equipamentos e serviços dis- poníveis em rede. Não menos importante, há também o conhecimento em sistemas operacionais, uma vez que são estes os provedores de recursos para os serviços de rede. Um conhecimento avançado sobre os diferentes tipos de sistema operacional, bem como sua forma de operação e funciona- mento, auxilia o profissional em suas atividades. 3.3 Técnicas de penetração, criptografia e engenharia social Um hacker deve conhecer as diversas técnicas de penetração dis- poníveis para o ambiente no qual esteja trabalhando, ou até mesmo no qual esteja realizando um ataque. Técnicas de enumeração, fingerprint e footprint, entre outras etapas que serão descritas ao longo deste livro, são fundamentais para o hacker entender o ambiente em que se encontra, para então, após identificação e compreensão, aplicar técni- cas de ataque e penetração. São também fundamentais os conhecimentos nos diversos tipos de criptografias, pois, dependendo de sua implantação e forma de utiliza- ção, podem ser facilmente quebradas ou contornadas. Por fim, o hacker deve estar familiarizado com técnicas de enge- nharia social, que têm como objetivo a exploração do lado humano dos processos e sistemas, podendo trazer informações importantes para o hacker como credenciais, senhas, ou até mesmo outras informações que sejam relevantes para o ataque que esteja sendo desenvolvido. 14 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D ist ân ci a da R ed e Se na c EA D, d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, so b as p en as d a Le i. © E di to ra S en ac S ão P au lo . 4 Mandamentos de um ethical hacking Um hacker ético deve considerar conceitos e valores em sua prática. Mesmo se tratando de testes monitorados e muitas vezes solicitados por empresas e elementos que desejam a verificação da segurança de seus ativos computacionais, é de suma importância que o hacker ético siga alguns mandamentos, preservando assim sua integridade pessoal e, principalmente, profissional. De acordo com Bordini e Moraes (2014), em apresentação para a Conferência Security BSides São Paulo, alguns mandamentos importantes para o hacker ético são: • Amar o conhecimento livre sobre todas as coisas: um hacker deve ter em mente que sua profissão requer constante aprendi- zado e atualização. Deve considerar também que toda informa- ção adquirida pode ser de valor para suas ações de segurança. Portanto, o aprendizado e a coleta de informações, mesmo que não necessariamente ligados diretamente ao tema computacio- nal, são de extrema valia, uma vez que podem ser úteis em suas atividades de análise de segurança. • Não usar títulos e certificações em vão: um hacker, com seu vas- to conhecimento na área, pode possuir diversas certificações e títulos de grande importância no mundo corporativo. Sob nenhu- ma circunstância esse profissional de segurança deverá utilizar esses títulos para impor situações ou garantir vantagens para si ou outros de forma conveniente. Um hacker deverá obter suas informações por meio de seu conhecimento e habilidades. • Aplicar patches de segurança mesmo em momentos e horários não habituais: a área de segurança exige um grande comprome- timento do profissional, uma vez que está sempre na mira de in- vasores e malfeitores com o objetivo de prejudicar determinado sistema ou até mesmo de roubar informações de caráter sigilo- so e possivelmente comprometedor. Novas vulnerabilidades são 15Introdução ao ethical hacking M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. descobertas quase que diariamente e muitas vezes as devidas cor- reções deverão ser realizadas sempre o mais breve possível, uma vez que atacantes podem comprometer um sistema devido à não aplicação de patches de correção. É função principal do profissio- nal de segurança e do hacker ético a constante atualização dos sistemas sob sua responsabilidade e a devida manutenção para evitar possíveis ataques e vazamentos de informações. • Honrar Linux e sistemas abertos: a plataforma derivada do Unix, chamada Linux, é amplamente utilizada por profissionais da área de segurança. Essa plataforma, devido ao seu código aberto, per- mite ao usuário e administrador uma completa liberdade e facili- dade nas atividades relacionadas à segurança. É também impor- tante destacar que grande parte das ferramentas de análise de vulnerabilidade, como também de exploração destas, está dispo- nível exclusivamente para esses sistemas operacionais. Portanto, um profissional de segurança precisa ter habilidade com a ope- ração e funcionamento desses sistemas, uma vez que a grande maioria das ferramentas de segurança, como também uma va- riedade muito grande de serviços, como servidores web, e-mail, terminais remotos, entre outros, rodam utilizando o código aberto em sistemas Linux. • Não utilizar o conhecimento para invasões sem a devida per- missão: é característica do hacker ético utilizar seu conhecimen- to para ações de melhoria. Seu conhecimento não deverá ser uti- lizado para ações prejudiciais a terceiros. Um hacker ético não deverá invadir computadores, redes e sistemas computacionais sem a devida permissão e/ou solicitação legal para isso. • Não utilizar informações de terceiros capturadas de forma ilíci- ta para bem próprio: novamente, o conhecimento do hacker lhe permite utilizar técnicas e adquirir informações sigilosas que po- dem ser utilizadas para várias práticas de cunho ilegal. O hacker 16 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D ist ân ci a da R ed e Se na c EA D, d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, so b as p en as d a Le i. © E di to ra S en ac S ão P au lo . ético deverá única e exclusivamente utilizar essas informações de forma legal e capturá-las quando solicitado,novamente se- guindo a legalidade de sua atividade. 5 Necessidades de um ethical hacker Um hacker ético precisa de conhecimento nas áreas de tecnologia da informação (TI). Segundo Tanenbaum (2009), as principais áreas de TI são: • Programação, desenvolvimento de sistemas e software. • Bancos de dados. • Sistemas operacionais. • Redes de computadores. Essas são áreas de fundamental importância para um profissional de segurança da informação, uma vez que elas se complementam. Ao analisar um código, o profissional de segurança deverá estar atento e compreender o seu conteúdo, assimilando suas operações e possivel- mente detectando eventuais problemas que o código possa apresen- tar. É essencial que o hacker conheça linguagens básicas, como a C, lógica de programação em si, linguagens mais modernas e diferentes tipos de paradigmas de programação, isso porque a forma como cada linguagem funciona pode trazer diferentes tipos de vulnerabilidades. O profissional de segurança muitas vezes não sabe com que tipo de am- biente se deparará e o amplo conhecimento nas diversas linguagens de programação, suas metodologias e formas, são de grande importância para suas atividades. A mesma relevância é ressaltada em sistemas operacionais. De acordo com Tanenbaum (2009), o sistema operacional tem o traba- lho de fornecer um melhor gerenciamento de recursos dos sistemas 17Introdução ao ethical hacking M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. computacionais, para que possam executar programas em ambientes mais simples, trazendo uma interface de comunicação entre o hardware e os demais softwares. Portanto, todos os softwares e serviços explora- dos pelo profissional de segurança rodam sob um sistema operacional, seja este em arquitetura X86, MIPS, CISC, RISC, ARM, entre outras. O amplo conhecimento nos sistemas operacionais disponíveis no mercado, bem como a operação e utilização de cada um deles, faz-se extremamente necessário, pois o profissional muitas vezes precisará efetuar ações que exigirão conhecimento da plataforma em que rodam as aplicações do serviço explorado. Além disso, dominar os sistemas operacionais auxilia o profissional em determinar falhas e vulnerabilida- des que podem estar presentes em aplicações ou no próprio sistema operacional avaliado. Também vale mencionar a área de bancos de dados, responsável pelo armazenamento de dados muitas vezes primordiais para o funcio- namento de diversos softwares. Os dados contidos nos bancos muitas vezes armazenam informações sensíveis, que podem ser exploradas em situações de ataque. Por fim, a área de redes de computadores, uma vez que a maio- ria das comunicações e conexões dos sistemas testados são reali- zadas por elementos de rede. Dessa forma, um profundo conheci- mento em roteamento, switching, elementos e serviços de rede se torna fundamental para uma análise mais detalhada e adequada de um pentesting. Vale lembrar que a área de segurança de rede e de internet consiste em medidas para desviar, prevenir, detectar e corrigir violações de segurança que envolvam a transmissão de informações (STALLINGS, 2015). Portanto, o hacker necessita desses conhecimen- tos para compreender e também identificar possíveis vulnerabilidades que determinadas topologias de rede e implantações podem apresen- tar aos sistemas em teste. 18 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D ist ân ci a da R ed e Se na c EA D, d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, so b as p en as d a Le i. © E di to ra S en ac S ão P au lo . Considerações finais Um hacker ético necessita fortemente de conhecimentos na área computacional. É por meio deles que o profissional conseguirá realizar suas ações e identificar possíveis vulnerabilidades em sistemas e apli- cações. É importante ressaltar também que há uma linha tênue entre o hacker e o cracker, uma vez que sua ética e suas ações podem defi- nir em qual categoria o profissional de segurança poderá se enquadrar. Com novos conceitos e tecnologias como machine learning, big data e IoT (internet das coisas), a presença desse profissional nas corpora- ções é essencial, trazendo sua bagagem técnica e auxiliando as áreas de tecnologia nas boas práticas de segurança em TI. Porém, tal conhe- cimento requer sacrifícios, é importante ressaltar que esta é uma carrei- ra profissional que exige bastante dedicação. O estudo e a aquisição de conhecimento são constantes e necessários para a atividade-fim. Resta ao profissional de segurança escolher qual dos lados será seu foco e como lidará com o conhecimento obtido. Referências BASTA, Alfred; BASTA, Nadine; BROWN, Mary. Segurança de computadores e teste de invasão. 2. ed. São Paulo: Cengage Learning, 2014. BBC BRASIL. Entenda o escândalo de uso político de dados que derrubou valor do Facebook e o colocou na mira de autoridades. BBC Brasil, 20 mar. 2018. Disponível em: https://www.bbc.com/portuguese/internacional-43461751. Acesso em: 7 maio 2020. BORDINI, Thiago; MORAES, Anchises. Dez mandamentos do hacker ético. In: CONFERÊNCIA SECURITY BSIDES. 2014. São Paulo, 2014. Disponível em: https://pt.slideshare.net/anchises/os-dez-mandamentos-do-hacker. Acesso em: 13 maio 2020. https://www.bbc.com/portuguese/internacional-43461751 https://pt.slideshare.net/anchises/os-dez-mandamentos-do-hacker 19Introdução ao ethical hacking M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. ÉTICA. In: DICIO: Dicionário Online de Português. 2020. Disponível em: https:// www.dicio.com.br/etica/. Acesso em: 10 set. 2020. G1 SÃO PAULO. Site da Cetesb volta a funcionar após ataque de hackers. G1 São Paulo, 16 maio 2012. Disponível em: http://g1.globo.com/sao-paulo/no- ticia/2012/05/site-da-cetesb-volta-funcionar-apos-ataque-de-hackers.html. Acesso em: 7 maio 2020. STALLINGS, William. Criptografia e segurança de redes: princípios e práticas. 6 ed. São Paulo: Pearson, 2015. TANENBAUM, Andrew S. Sistemas operacionais modernos. 1. ed. São Paulo: Pearson, 2009. http://g1.globo.com/sao-paulo/noticia/2012/05/site-da-cetesb-volta-funcionar-apos-ataque-de-hackers.html http://g1.globo.com/sao-paulo/noticia/2012/05/site-da-cetesb-volta-funcionar-apos-ataque-de-hackers.html 21 M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Capítulo 2 Ataques cibernéticos Toda tentativa de invasão ou ação diante de um sistema, serviço ou rede necessita de tipos de ataque, ou seja, modos pelos quais o atacan- te possa realizar suas ações. Há diversos tipos de ataque disponíveis, cada um voltado para uma ação específica. Dependendo da finalidade e objetivo de cada ataque, uma ação será mais assertiva e eficaz em rela- ção a outras, por isso é necessário conhecer os tipos de ataques dispo- níveis e entender como cada um funciona, uma vez que seu papel como hacker ético é compreender como cada ataque é realizado e antevê-lo para proteger os sistemas sob sua responsabilidade. A compreensão da mente do invasor, bem como de suas ações diante de uma situação de invasão, é de extrema importância. Neste capítulo, abordaremos os principaistipos de ataques dispo- níveis e como cada um deles funciona. Também verificaremos quais as vantagens e desvantagens de cada um, bem como o poder de ação diante dos diferentes tipos de cenário. 22 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . 1 A infraestrutura sob a ótica do analista de segurança (pentester) Segundo Melo et al. (2017), o pentesting, também conhecido como teste de intrusão, baseia-se em um método para avaliar a segurança de um software, uma infraestrutura de rede ou um sistema completo envolvendo as diversas áreas de TI, simulando ataques de forma in- trusiva, similar aos ataques sofridos em situações reais. De acordo com os autores, é importante ressaltar que o teste de intrusão é di- ferente de um teste de segurança de análise de vulnerabilidade, que visa identificar potenciais vulnerabilidades executando scanners e testes já conhecidos pela comunidade de segurança, como Bugtraq Identification (BID), Common Vulnerabilities and Exposures (CVE), en- tre outros (MELO et al., 2017). O analista de segurança, profissional qualificado que irá realizar o pentesting, deve conhecer os diversos tipos de ataques, metodologias, funcionamento das tecnologias e infraestruturas de rede, bem como ter o domínio de linguagens de programação e de sistemas operacionais para executar o seu trabalho. O domínio da topologia dos sistemas sob sua responsabilidade e de toda a arquitetura física e lógica também é fundamental, uma vez que diante de incidentes de segurança, ou até mesmo em ações de prevenção, o profissional precisa de pleno conhe- cimento para realizar as ações de contenção necessárias que, muitas vezes, exigem o conhecimento da infraestrutura. 2 Reconhecimento de alvo e enumeração de serviços O pentesting baseia-se também em um processo de auditoria, no qual todas as possíveis vulnerabilidades identificadas são documenta- das para que planos de ação sejam apresentados, bem como a critici- dade de cada uma delas. Para a realização desse processo, o analista 23Ataques cibernéticos M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. de segurança deve primeiro compreender o seu alvo, para então focar seu ataque nas corretas vulnerabilidades. Para a devida compreensão e enfoque correto dos ataques, o ana- lista deve primeiro coletar informações sobre seu alvo. Quanto maior a quantidade de informações coletadas, melhor será seu ataque, mais focado nos serviços que devem ser explorados e mais eficiente em re- lação ao tempo de ataque. Essa é exatamente a primeira parte de um pentesting. O analista inicia seu trabalho definindo seus alvos e, princi- palmente, o escopo de trabalho, com base em quais informações ou quais ações seu ataque deverá afetar, podendo ser este um roubo de informações, indisponibilidade de serviço ou até mesmo manipulação de dados e serviços disponíveis nos respectivos alvos. Nesta etapa, o analista de segurança segue os passos apresentados na figura 1. Figura 1 – Etapas iniciais do pentesting Identificação de alvos Definição dos aplicativos em uso e sua importância no cenário presente Documentação dos dados obtidos para prosseguir com o teste de intrusão Identificação de tipos de sistemas utilizados para o fornecimento do serviço Identificação das portas e serviços atrelados a elas Verificação de possíveis ataques por meio de engenharia social 24 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . 3 Tipos de ataque A partir das etapas iniciais de pentesting, o analista de segurança fará a identificação de possíveis ataques ao sistema analisado. Tais ataques podem ser classificados como ataques de dicionário ou força bruta; ataques por man-in-the-middle; por session hijacking; por pass- -the-hash e pass-the-ticket; ou por invasões via rede wireless. Vamos nos aprofundar um pouco mais nesses ataques. 3.1 Ataques de dicionário/força bruta Os ataques de força bruta, também conhecidos como ataques de dicionário, ocorrem quando todas as palavras-chaves, senhas ou cre- denciais possíveis para acesso a um determinado sistema são verifica- das em um sistema com dados criptografados. Por tentativa e erro, é possível que o atacante encontre a credencial correta. Esse é um ataque muito comum, devido à sua baixa complexidade de realização. No entanto, é um ataque que não se mostra muito eficiente na maio- ria dos casos, pois seu processamento é muito oneroso, já que realiza tentativa por tentativa até encontrar a credencial correta. Vale ressaltar ainda que esse tipo de ataque necessita de uma lista de combinações muito grande, com várias credenciais possíveis para a realização das tentativas. Apesar das desvantagens desse ataque, ele se mostra muito eficien- te em sistemas que utilizam credenciais e senhas em formato muito simples, como: admin; 123mudar; data de nascimento/aniversário; CPF; RG; ou senhas que contenham somente caracteres simples, sem a pre- sença de números, caracteres especiais ou até mesmo com uma exten- são muito curta. 25Ataques cibernéticos M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Alguns softwares utilizados para esse tipo de ataque: • Hydra: ferramenta de craqueamento de autenticação de rede que suporta vários serviços diferentes. Esse programa utiliza o méto- do de força bruta para testar serviços de autenticação de forma remota (BASTA; BASTA; BROWN, 2014). Muito útil para ambientes que possibilitam a exploração desse tipo de vulnerabilidade. • John the Ripper: outra ferramenta que utiliza o conceito de força bruta. Muito utilizada, é uma das poucas que permite o funcio- namento em sistemas em formato cluster, podendo aumentar o poder de processamento e testes via força bruta. • DirBuster: o DirBuster é projetado para ataques principalmente em servidores web, localizando diretórios e nomes de arquivos disponíveis no servidor de hospedagem que, devido à falta de hardening, apresentam vulnerabilidades relacionadas. • WebSlayer: similar ao Hydra, essa ferramenta permite o força bruta em usuário e senhas pelos métodos de GET e POST do pro- tocolo HTTP. 3.2 Ataques por man-in-the-middle Ataques do tipo man-in-the-middle (MITM) (em português, “homem no meio”) baseiam-se em situações nas quais o atacante consegue se posicionar entre as conexões do equipamento da vítima e o servidor do qual as informações são requisitadas. Trata-se de um ataque complexo, porém muito eficiente em am- bientes controlados, em que o atacante consegue criar todo um cená- rio para que a vítima possa sofrer tal ação. Segundo Muniz e Lakhani (2013), ataques MITM são difíceis de ser detectados pelas vítimas. O ataque ocorre em um ambiente que normalmente não é controlado por ela e, quando executado de forma correta, raramente deixa rastros ou indícios do ocorrido. 26 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur sod e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . NA PRÁTICA Grandes exemplos de ataque MITM são encontrados em redes públi- cas wireless, em que o atacante, conectado a uma rede pública aberta, consegue se passar pelo gateway de comunicação da vítima por mé- todos de envenenamento ARP ou até mesmo por disponibilização de SSID falso. Uma vez que o cliente esteja conectado a essa rede e com todo o seu tráfego direcionado ao gateway, o equipamento sob posse do atacante consegue monitorar todo o tráfego realizado entre a vítima e suas requisições à rede. Conforme demonstra a figura 2, ataques MITM funcionam de forma similar a um proxy, no qual toda requisição é realizada por um elemen- to entre as conexões de um computador-cliente e a rede externa. Com esse tipo de ataque, o atacante consegue capturar todas as informa- ções que são enviadas nas consultas e acessos web, bem como paco- tes de outros protocolos, como Telnet, FTP, entre outros. Esse tipo de ataque é raramente detectado pela vítima, uma vez que seu acesso ao conteúdo da rede permanece pleno e intacto. As ferramentas SSLStrip e Fragrouter permitem ataques por meio das técnicas MITM. Figura 2 – Representação de ataque MITM Black hat InternetUsuário 3.3 Ataques por session hijacking É muito comum adotar mecanismos de segurança no acesso a sites e sistemas por meio de sessões de usuários. As sessões de usuários 27Ataques cibernéticos M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. são criadas para identificar e dar a permissão correta a cada elemento integrante do sistema. As sessões normalmente são compostas de cre- denciais, com usuário e senha, e outros elementos, como certificados SSL e criptografias dos mais diversos gêneros. Segundo Basta, Basta e Brown (2014), o sequestro de sessão ba- seia-se na manipulação do fluxo de comunicação entre um emissor e um receptor, em que o atacante pode se fazer passar tanto por emissor quanto por receptor. Portanto, os ataques por roubo/sequestro de ses- são, denominados session hijacking, consistem em sequestrar a ses- são de usuários ativos sem necessariamente obter suas credenciais. Por meio de falhas em códigos, implementações mal desenvolvidas ou até mesmo tempo de sessão elevado, é possível realizar o furto dessas sessões, fazendo com que informações até então de propriedade so- mente do usuário do sistema passem também ao atacante. Como principais ataques de roubo de sessão, temos: • ClickJacking: o ataque é realizado quando o usuário é instruído a clicar em um link falso, que o remete a um endereço muito similar ao desejado, assim a sessão pode ser roubada pela solicitação de dados ou execução de scripts maliciosos. • Cookies Hijacking: normalmente, os cookies são responsáveis por armazenar informações de navegação do usuário, como his- tórico de acessos, informações de sites previamente acessados, entre outras. O furto dessas informações pode ser muito útil para futuras ações de engenharia social. • Roubo de sessão por códigos maliciosos: prática que utiliza códigos que exploram vulnerabilidades nas aplicações web, os quais possibilitam, por meio de ataques como SQL injection, cross-site scripting e cookie stealing, assumir a identidade da sessão presente, podendo efetuar os acessos necessários e de- sejados. Esse tipo de ataque também permite que o atacante 28 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . consiga a autenticação válida em um sistema utilizando a sessão aberta da vítima. Dependendo do grau de confidencialidade das informações, bem como sua importância, essas vulnerabilidades podem se tornar um grande problema. 3.4 Ataques por pass-the-hash e pass-the-ticket Os ataques do tipo pass-the-hash possuem como característica a autenticação e validação de credencial para acesso por meio de verifi- cação de hash,1 sem a necessidade de verificação de informações de credenciais em texto claro. Segundo Oberle et al. (2016), isso ocorre porque a forma de comunicação simples que existe principalmente em redes Windows permite a reutilização de credenciais e hashes, as- sumindo assim a identidade de um usuário válido no sistema. Este é um ataque presente em serviços que fazem uso de um conjunto de protocolos chamado New Technology Lan Manager (NTLM), utilizan- do suas características para a devida autenticação e permissão de acesso em seus ativos ou sistemas. Na autenticação NTLM, normalmente, o cliente solicita em texto cla- ro a necessidade de autenticação no sistema. Dessa forma, o serviço, com o conjunto de protocolos NTLM, responde ao solicitante para envio de suas credenciais. No entanto, o envio dessas credenciais não ocorre em texto claro, mas sim em informações convertidas em hash. Caso o hash enviado seja o mesmo presente no sistema que possui a au- tenticação NTLM, as credenciais informadas são validadas e aceitas pelo autenticador. Com base nessa premissa, o atacante pode efetuar o envio de várias combinações hash, tentando uma a uma (similar a um 1 Também conhecido como função hash, trata-se de um algoritmo que, diante de dados de comprimentos variáveis, realiza a conversão destes para dados de comprimento fixo. O hash basicamente recebe informações de diversos tipos de tamanhos, formas e caracteres e, aplicando sua função, realiza a conversão desses dados em valores únicos de comprimento fixo, independentemente de quantos caracteres ou comprimento de valores foram recebidos em sua entrada. 29Ataques cibernéticos M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. ataque de força bruta) até que estejam corretas, conforme apresentado na figura 3. Figura 3 – Demonstração de ataque pass-the-hash Atacante Serviço Requisição de autenticação 1 Usuário e senha em formato de hash 3 Desafio de autenticação 2 Verificação das informações e aceitação do hash 4 Esse tipo de ataque costuma ser realizado em conjunto com outras atividades, como o próprio furto de hash de usuários nos sistemas de autenticação. A maioria dos sistemas operacionais armazenam as in- formações de credenciais de seus usuários em arquivos criptografados utilizando hash. O atacante, por meio de outros ataques, obtém esse arquivo de credenciais criptografado. Apesar de o atacante não saber a senha correta do sistema ao qual está tentando realizar o ataque pass- -the-hash, ele já possui as cifras hash dos usuários. Para isso, o atacan- te somente envia essas cifras no ataque, obtendo acesso ao sistema. O pass-the-hash é um ataque mais frequente em sistemas Microsoft, que utilizam protocolos CIFS/SMB e NTLM, porém, é possível que ocor- ra também em implantações de outros sistemas operacionais como Linux, Unix e Freebsd, utilizando um serviço conhecido como SAMBA, responsável por compatibilizar compartilhamentos e informações de rede entre os sistemas derivados do Unix com a plataforma Microsoft. O pass-the-hash toolkit permite a realização desse tipo de ataque. 30 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al uno m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . Já o ataque do tipo pass-the-ticket, segundo Mitre (2020), possui característica similar ao pass-the-hash, fornecendo ao elemento auten- ticador informações válidas e, dessa forma, conseguindo acesso às in- formações desejadas sem a necessidade de credenciais ou senhas. O pass-the-ticket foca em um elemento chamado Kerberos, que, de acor- do com Kohl, Neuman e Ts’o (1992), é um elemento de autenticação utilizado para identificar clientes e serviços em redes que não dispõem de comunicação segura, procurando proteger a privacidade e integri- dade da comunicação entre ativos. O Kerberos também está presente nas redes Windows e possui como característica entregar tickets para os hosts pertencentes ao domínio, identificando assim cada um deles. O ataque pass-the-ticket consiste no furto desses tickets e fornecê-los ao servidor de autenticação para então obter o acesso desejado. O Kali Linux, distribuição voltada para pentesting, possui várias ferramentas para a aplicação desse ataque. 3.5 Invasão de redes wireless As redes wireless são uma grande facilidade para o dia a dia não só das empresas de TI, mas também para as residências e para cada um de nós. As redes sem fio nos trazem mobilidade e agilidade, e com as tecnologias atuais já é possível obter velocidades similares às verifica- das em redes cabeadas. Toda essa facilidade, porém, apresenta um alto custo de segurança. Diferentemente das redes cabeadas, que limitam sua transmissão aos cabos conectados, as redes sem fio fazem uso de ondas de rádio, as quais, de acordo com Rufino (2011), estão sujeitas a interferências externas e também disponíveis para a captura de quaisquer disposi- tivos próximos à sua zona de radiação. Há várias formas de proteger as redes sem fio, como com protocolos de segurança, como o WPA2, 802.1x, entre outros. No entanto, como as redes sem fio possuem sua transmissão aberta para a captura de dados e também de informações 31Ataques cibernéticos M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. de seus transmissores e receptores, essa característica a deixa susce- tível a ataques, sejam eles para furto de informações como também de negação de serviço. Ainda no início do desenvolvimento de protocolos de segurança, o Wired Equivalent Privacy (WEP) (em português, “privacidade equiva- lente à rede cabeada”) era uma das formas mais seguras de proteção de redes sem fio. Com o passar do tempo, esse protocolo se mostrou facilmente quebrável, devido ao seu formato de construção (MORENO, 2016). Essa vulnerabilidade deu espaço para o que conhecemos hoje como Wireless Protected Access (WPA) (em português, “acesso sem fio protegido”). Atualmente, o WPA está em sua terceira versão (WPA3) e possui como característica um formato de autenticação e segurança di- ferenciado, utilizando chaves únicas para cada cliente conectado, além de fazer uso dos recursos do Advanced Encryption Standard (AES) (em português, “padrão avançado de criptografia”). Ainda assim, podemos verificar várias formas de atacar redes sem fio. O Kali Linux possui vários softwares para a realização tanto de ata- ques como de auditoria de uma rede wireless. São alguns exemplos: • Suíte Aircrack-ng: uma suíte completa de análise de rede sem fio, que permite troubleshooting de redes implementadas e até ataques mais robustos, como negação de serviço, roubo de ses- sões WPA, entre outros. É composta por softwares de monito- ramento, como o Airmon-ng; de ataques e requisições, como o Aireplay-ng; de captura, como o Airodump-ng, demonstrado na figura 4, entre outros. • Reaver: ferramenta que tem o objetivo de explorar vulnerabilida- des em recursos WPS. Em conjunto com o Wash (verificador de redes sem fio que possuem WPS habilitado), o Reaver consegue efetuar ataques no protocolo WPS, conseguindo muitas vezes en- tregar não só uma sessão ativa de conexão de rede, como tam- bém a senha de acesso à rede do equipamento. 32 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . • PixieWPS: similar ao Reaver, explora vulnerabilidades em redes wireless que fazem uso do protocolo WPS. • Wireshark: essa ferramenta não é de uso específico de redes wireless, podendo também ser utilizada em redes cabeadas. É uma excelente analisadora de tráfego de rede e, além de ajudar em possíveis troubleshootings, também auxilia na detecção de informações para ataques. • TCPDump: com a mesma função do Wireshark, porém com au- sência de interface gráfica, o TCPDump é ideal para realizar cap- tura de tráfego de redes para, posteriormente, analisá-las nas ferramentas apropriadas. É possível também verificar todo o tráfego em formato texto, auxiliando na interpretação dos dados trafegados. Apesar da exposição na transmissão dos dados nas redes sem fio, há métodos e formas de protegê-la de maneira apropriada. Uma im- plantação correta e adequada da rede sem fio raramente apresentará problemas de vulnerabilidade, salvo vulnerabilidades recentes que são descobertas diariamente nos aplicativos e serviços da área de TI. A fi- gura 4 exemplifica uma saída do comando Airodump, representando a varredura de redes wireless e demonstrando dados importantes para o atacante. Figura 4 – Exemplo de saída do comando Airodump 33Ataques cibernéticos M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Considerações finais Há diversas formas de realizar explorações de vulnerabilidades em sistemas, em redes e, principalmente, em ativos de TI. Cada tipo de ata- que consegue focar especificamente em determinada vulnerabilidade e, muitas vezes, aliado à correta metodologia de aplicação, o ataque pode ocorrer com sucesso. É papel do profissional de segurança conhecer os diversos tipos de ataque disponíveis e a forma como cada um deles explora as vulnerabilidades, além da gravidade que podem representar na infraestrutura ou sistema em questão. Somente conhecendo o modo de operação dos ataques é possível realizar a preparação e proteção do ambiente. Neste capítulo, abordamos os ataques mais conhecidos e pratica- dos nos ambientes computacionais. É importante ressaltar que, diaria- mente, várias vulnerabilidades são descobertas e novas formas de ex- ploração são desenvolvidas. É papel do profissional de segurança, além de proteger seu ambiente, também estar atualizado sobre as novidades de explorações e ataques, conhecendo a sua forma de operação e de proteção. Referências BASTA, Alfred; BASTA, Nadine; BROWN, Mary. Segurança de computadores e teste de invasão. 2. ed. São Paulo: Cengage Learning, 2014. KOHL, John T.; NEUMAN, B. Clifford; TS’O, Theodore Y. The evolution of the Kerberos authentication service. 1992. Disponível em: https://www. researchgate.net/publication/2662482_The_Evolution_of_the_Kerberos_ Authentication_Service. Acesso em: 21 set. 2020. MELO, Sandro et al. Exploração de vulnerabilidades em redes TCP/IP. 3. ed. Rio de Janeiro: Alta Books, 2017. 34 Ethical hackingM at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . MITRE. Use alternate authentication material: pass the ticket. Mitre, 30 jan. 2020. Disponível em: https://attack.mitre.org/techniques/T1097/. Acesso em: 4 abr. 2020. MORENO, Daniel. Pentesting em redes sem fio. São Paulo: Novatec, 2016. MUNIZ, Joseph; LAKHANI, Aamir. Web penetration testing with Kali Linux. Birmingham: Packt Publishing, 2013. OBERLE, Alexander et al. Preventing pass-the-hash and similar impersona- tion attacks in enterprise infrastructures. In: 2016 IEEE 30th INTERNATIONAL CONFERENCE ON ADVANCED INFORMATION NETWORKING AND APPLICATIONS (AINA), 30., 2016, Crans-Montana. [S. l.]: IEEE, 2016, p. 800-807. RUFINO, Nelson Murilo de Oliveira. Segurança em redes sem fio: aprenda a proteger suas informações em ambientes Wi-Fi e bluetooth. 3. ed. São Paulo: Novatec, 2011. 35 M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Capítulo 3 Testes de invasão/intrusão Toda ação, projeto ou trabalho que realizamos necessita de planeja- mento e análise prévios. Ao iniciar um teste de invasão (pentesting), ou mesmo uma invasão propriamente dita, o operador da ação precisa pas- sar por etapas pré-planejadas. É por meio dessas etapas que o hacker consegue todas as informações e pode analisar quais são as melhores ações a serem tomadas diante do cenário em que está trabalhando. Neste capítulo, abordaremos as principais etapas de um teste de inva- são, demonstrando como cada uma delas apresenta ao hacker as in- formações necessárias para a realização do teste ou ataque planejado. 36 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . 1 Fases do teste de intrusão É importante que o hacker, agora denominado profissional de se- gurança, siga todas as fases para a realização do seu teste de intru- são. Essas fases trazem informações importantes para o andamento dos testes. Nenhuma fase pode ser ignorada, uma vez que cada fase depende das informações da fase verificada anteriormente. Segundo Muniz e Lakhani (2013) e PTES (2014a), podemos considerar sete fa- ses principais para a realização do teste de intrusão, conforme apre- sentado na figura 1. Figura 1 – Fases do pentesting Preparação 01 Coleta de informações 02 Modelagem de ameaças 03 Geração de relatórios 07 Pós-exploração de falhas 06 Exploração de falhas 05 Análise de vulnerabilidade 04 (pre-engagement interactions) (intelligence gathering) (threat modeling) (vulnerability analysis) (exploitation)(post exploitation)(reporting) Fonte: adaptado de Muniz e Lakhani (2013) e PTES (2014a). 1.1 Preparação (pre-engagement interactions) No início de um pentesting, o profissional de segurança definirá o escopo de seu trabalho. O pentesting pode se limitar a algum ser- viço específico ou a um conjunto de recursos, como também pode englobar toda a infraestrutura e os serviços de uma empresa, prove- dor de serviços ou um cliente. O escopo é fundamental, pois definirá 37Testes de invasão/intrusão M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. exatamente em que o pentester (hacker) deverá se concentrar e o que deverá entregar para o contratante. Nesta etapa também são definidas todas as atribuições legais. O pentester, para efetuar a verificação, necessitará muitas vezes de recur- sos considerados intrusivos e, sem a devida autorização da empresa, isso configura uma prática ilegal. Portanto, a aprovação é necessária, até mesmo para a própria proteção do profissional. Por fim, o pentester definirá junto à empresa ou ao contratante do serviço qual tipo de cenário será testado. Segundo Basta, Basta e Brown (2014), existem, basicamente, três cenários que podem ser encontrados no pentesting: • White box: o contratante do serviço fornece várias informações de sua infraestrutura e dos ativos que serão auditados no teste de intrusão. Portanto, o pentester tem pleno conhecimento da infra- estrutura e do cenário em que atuará. • Black box: o contratante não fornece informações de sua infra- estrutura. Basicamente, o pentester, com suas habilidades, preci- sará efetuar todo o reconhecimento do ambiente e compreender seu funcionamento. De posse das informações necessárias, po- derá realizar os ataques e efetuar o teste de intrusão. • Gray box: uma mistura de ambos os cenários anteriores. O con- tratante fornece uma parte das informações, cabendo ao profis- sional de segurança o levantamento das demais para a realização do teste de intrusão. 1.2 Coleta de informações (intelligence gathering) Nesta etapa, o pentester iniciará a coleta de informações dos ati- vos e sistemas que serão analisados. De acordo com Muniz e Lakhani (2013), é exatamente aqui que o pentester, dependendo do tipo de cená- rio em que estiver atuando – gray, white, ou black box –, efetuará buscas 38 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . minuciosas sobre os serviços e ativos presentes. Posteriormente, essas informações serão de grande valia para a realização dos devidos ata- ques, quando necessário. Scanners de serviços e redes são muito utilizados nesta etapa, uma vez que mostram os elementos presentes no ambiente auditado. As técnicas mais comuns utilizadas pelos pentesters são: • Procura por informações de nome de domínios, utilizando ferra- mentas de WHOIS.1 • Verificação de informações descartadas/presentes em docu- mentos e papéis que muitas vezes são jogados fora. • Quando aplicável, dependendo do teste, verificação de e-mails, nomes de usuários, possíveis credenciais de redes sociais, entre outras informações. • Utilização de pesquisas em sistemas de indexação, como Google, com as devidas strings. • Engenharia social. Com os dados obtidos nesta etapa, posteriormente, o pentester po- derá avaliar se os serviços disponíveis na rede possuem vulnerabilida- des para exploração e poderá identificar também as melhores formas de ataque. PARA SABER MAIS Uma ferramenta muito útil, que poderá ajudar o pentester na coleta das informações necessárias que estejam disponíveis na internet, é o 1 O WHOIS é frequentemente utilizado como ferramenta de consulta a informações de registro DNS. Seu uso traz informações como servidores de domínio responsáveis pelo fornecimento de determinado serviço e os responsáveis pela manutenção e disponibilização das informações consultadas, que podem até mesmo incluir dados de telefone e e-mail. É muito útil para troubleshooting em redes, porém também é um grande facilitador na obtenção de informações sensíveis que podem ser exploradas em ataques e em pentesting. 39Testes de invasão/intrusãoM aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. OSINT. O OSINT é um framework de serviços que realiza a colega de vários dados. Com algumas buscas, rapidamente é possível coletar vá- rias informações sobre um determinado assunto, usuário, entre outras informações relevantes para o pentesting. 1.3 Modelagem de ameaças (threat modeling) Durante a análise de vulnerabilidade, o pentester realiza a verificação da criticidade de cada vulnerabilidade identificada. Na etapa anterior, de coleta de informações, o pentester pôde coletar várias informações úteis para a identificação das possíveis vulnerabilidades do ativo anali- sado. Já na etapa de modelagem de ameaças, o pentester fará uso de ferramentas de varredura de rede, bem como de identificação de servi- ços e informações que seu alvo possui. Com essa varredura, o pentester consegue compreender melhor qual o impacto de cada vulnerabilidade no ativo em análise. Muitas vezes, os ativos em análise possuem altas vulnerabilidades, as quais podem comprometer o seu funcionamento ou até mesmo pro- vocar o vazamento de algumas informações. Porém, é importante iden- tificar o nível de comprometimento desses ativos em relação a outras possíveis vulnerabilidades em outros elementos que sofrem o pentes- ting. Suponha que o profissional de segurança esteja realizando uma análise de vulnerabilidade em uma infraestrutura de rede composta por um servidor DHCP e um servidor web, com banco de dados integrado com informações sigilosas e confidenciais. O pentester descobre vul- nerabilidades nos dois servidores, podendo invadir ambos e ter acesso às informações do banco de dados. Nesse cenário, o comprometimen- to de um servidor DHCP possui um impacto muito menor que o vaza- mento das informações do servidor web com a base de dados confi- dencial. Portanto, o papel do pentester estende-se não só à análise e à verificação das vulnerabilidades na rede ou nos ativos em questão, mas 40 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . também em identificar a importância de cada uma delas e o quanto podem afetar os serviços do contratante. São áreas comuns mapeadas em um pentesting: • Recursos e informações de negócio: informações de funcioná- rios e clientes e informações técnicas do negócio. • Ameaças: internas (gerência, funcionários insatisfeitos, vendedo- res fraudulentos, entre outros); externas (portas de comunicação, protocolos de rede, serviços e aplicações web, tráfego de rede, entre outras características técnicas). IMPORTANTE Vale lembrar que cada cenário apresenta diferentes características e necessidades. Segundo Stallings (2015), cada ambiente de rede possui seus respectivos serviços, criptografias e diferentes formas de seguran- ça. Por isso, as categorias podem mudar dependendo do cenário em que o pentesting será realizado. 1.4 Análise de vulnerabilidades (vulnerability analysis) Mapeadas as vulnerabilidades e identificados os impactos de cada uma delas, o pentester parte para a análise das opções de ataque dis- poníveis. Nesta etapa, o pentester faz o levantamento dos ataques pos- síveis em cada serviço identificado como vulnerável e ainda precisa ve- rificar as versões desses serviços, para então poder mapear quais são os ataques possíveis e que podem ser bem-sucedidos. De acordo com Melo et al. (2017), após essa ação, o pentester de- verá correlacionar e documentar todas as informações, pois, além de contribuírem para o relatório final do teste de penetração, elas auxiliarão o pentester nas próximas etapas. 41Testes de invasão/intrusão M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. 1.5 Exploração de falhas (exploitation) Com todas as informações técnicas necessárias sobre o ambiente devidamente levantadas e documentadas, o pentester efetuará agora os ataques nas respectivas vulnerabilidades. Neste momento, o pentester utilizará todas as informações levantadas e realizará as ações simulan- do um atacante que deseje de fato roubar as informações disponíveis. De acordo com Basta, Basta e Brown (2014), o pentester, além de rea lizar os ataques, precisa documentar e revisar as técnicas utilizadas, pois elas deverão ser posteriormente apresentadas no relatório final. É importante também apresentar os pontos vulneráveis que sofreram com o ataque e a severidade da ação após a ocorrência da exploração. Dependendo do escopo e de cada cenário do pentesting, é comum en- contrar os seguintes padrões de ataques, conforme a figura 2. Figura 2 – Ataques mais comuns em ambientes de TI Ataques de exploração web Ataques baseados em exploração de rede Ataques baseados em memória e estouro de pilha (buffer overflow) Ataques em redes sem fio que devem ser tratados de forma diferente dos ataques em redes cabeadas (MORENO, 2016) Ataques de engenharia social Ataques de zero-day, ou seja, vulnerabilidades descobertas sem ainda uma correção disponível ou conhecida (THE HONEY PROJECT, 2013) 42 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . 1.6 Pós-exploração de falhas (post exploitation) Após a exploração das vulnerabilidades identificadas, o pentester pre- cisa efetuar a limpeza do ambiente em que os testes foram realizados. Nesta fase, o pentester, ainda determinando quais sistemas foram com- prometidos e o impacto em cada um deles, precisa realizar seu trabalho de modo similar ao de um atacante mal-intencionado, limpando os vestígios, removendo scripts de intrusão, possíveis modificações na rede, servido- res e serviços. Essas ações são imprescindíveis, pois o ambiente precisa permanecer idêntico ao que estava antes da exploração de vulnerabilida- des, já que, futuramente, o pentester precisará demonstrar as ações e re- comendações necessárias para a proteção dos ativos verificados. Segundo o PTES (2014b), as atividades mais comuns nesta etapa, principalmente as de limpeza do ambiente, são: • Remoção de scripts, arquivos corrompidos e arquivos temporá- rios utilizados durante o ataque. • Reconfiguração de todo o ambiente em seu formato original an- tes da exploração das vulnerabilidades. • Eliminação de quaisquer vírus, trojans ou rootkits instalados no ambiente oriundos dos ataques de exploração de vulnerabilidade. • Deleção de usuários utilizados para a exploração no ambiente/ sistema comprometido. 1.7 Geração de relatórios (reporting) Considerada a última etapa do pentesting, nela o responsável pela análise realizará toda a parte de documentação e relatórios dos dados obtidos em seu trabalho (PTES, 2014c). As informações previamente levantadas nas etapas anteriores e os resultados das explorações deve- rão ser documentados e relatados. Nesta etapa, também é importante 43Testes de invasão/intrusão M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital,sob as penas da Lei. © Editora Senac São Paulo. elencar as recomendações e ações para evitar as vulnerabilidades iden- tificadas nas etapas anteriores. Uma prática comumente adotada é a elaboração de um score de vulnerabilidades, o qual pode auxiliar na compreensão dos níveis de comprometimento e severidade que a segurança do cenário apresenta, seguida do relatório de recomendações para mitigar os problemas en- contrados. No quadro 1, é possível verificar os níveis de classificação de risco, bem como cada um deles é representado. Quadro 1 – Níveis de classificação de risco de segurança da informação RISCO PONTUAÇÃO DESCRIÇÃO Baixo 1-3 Baixo risco de segurança, com impactos negativos controlados. Moderado 4-6 Risco moderado de comprometimento da segurança, com a possibilidade de prejuízos de imagem e financeiros limitados. Elevado 7-9 Elevado risco de segurança, podendo acarretar comprometimento de reputação e financeiro. Alto 10-12 Alto risco de comprometimento de segurança com potencial significativo de prejuízo de reputação e financeiro. Extremo 13-15 Risco extremo de comprometimento de segurança, com possíveis consequências graves, como altos prejuízos de reputação e financeiro. Fonte: adaptado de PTES (2014c). Considerações finais Neste capítulo, verificamos como um pentesting deve ser conduzido, seguindo as devidas etapas e seus entregáveis. A realização de um teste de invasão não se limita apenas às habi- lidades técnicas do profissional de segurança. Um teste de invasão 44 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . depende da compreensão de todo o cenário, verificando e analisando as possíveis vulnerabilidades que podem ser encontradas e, posteriormen- te, documentando todas as informações obtidas. Além disso, é impor- tante destacar que os testes de invasão devem seguir uma metodolo- gia, pois só assim será possível sequenciar as ações corretas, trazendo um resultado mais assertivo às ações. Referências BASTA, Alfred; BASTA, Nadine; BROWN, Mary. Segurança de computadores e teste de invasão. 2. ed. São Paulo: Cengage Learning, 2014. MELO, Sandro et al. Exploração de vulnerabilidades em redes TCP/IP. 3. ed. Rio de Janeiro: Alta Books, 2017. MORENO, Daniel. Pentesting em redes sem fio. São Paulo: Novatec, 2016. MUNIZ, Joseph; LAKHANI, Aamir. Web penetration testing with Kali Linux. Birmingham: Packt Publishing, 2013. PENETRATION TESTING EXECUTION STANDARD (PTES). Main page. 2014a. Disponível em: http://www.pentest-standard.org/index.php/Main_Page. Acesso em: 29 mar. 2020. PENETRATION TESTING EXECUTION STANDARD (PTES). Post-exploitation. 2014b. Disponível em: http://www.pentest-standard.org/index.php/Post_ Exploitation. Acesso em: 29 mar. 2020. PENETRATION TESTING EXECUTION STANDARD (PTES). Reporting. 2014c. Disponível em: http://www.pentest-standard.org/index.php/Reporting. Acesso em: 29 mar. 2020. STALLINGS, William. Criptografia e segurança de redes: princípios e práticas. 6 ed. São Paulo: Pearson, 2015. THE HONEYNET PROJECT. Conheça o seu inimigo: o Projeto Honeynet reve- lando as ferramentas de segurança, táticas e motivos da comunidade hacker. São Paulo: Pearson, 2013. 45 M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Capítulo 4 Ótica de auditoria É fato que infraestruturas de rede e diversos sistemas passam por vários tipos de ataques diariamente. Também não é novidade que há profissionais que se dedicam a descobrir vulnerabilidades para princi- palmente explorá-las em benefício próprio ou até mesmo para preju- dicar a reputação e a imagem de empresas ou pessoas. Porém, é im- portante ressaltar que há profissionais especializados nessas mesmas técnicas e que realizam esse tipo de trabalho objetivando melhorias em infraestruturas de redes e sistemas, realizando e auditando ambientes para que esses tipos de ações maliciosas não sejam bem-sucedidas. Essas auditorias de segurança, normalmente, são feitas por empresas terceirizadas, e os auditores realizam suas tarefas visando exatamente à promoção de melhorias no ambiente (STALLINGS, 2015). Neste capítulo, vamos analisar um pouco melhor o trabalho de um auditor de segurança e entender como suas habilidades são colocadas em prática para a realização de ações protetivas, além de compreender os cenários que estão disponíveis para suas ações. 46 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . 1 Os testes de intrusão como ferramenta de auditoria Como mencionado anteriormente, os testes de intrusão são impor- tantes para verificar pontos falhos em infraestruturas de rede e siste- mas operacionais. Testes de intrusão também podem explorar técni- cas de engenharia social, realizando testes em processos e ações que dependem do elemento humano. Ao realizar um teste de intrusão, o profissional de segurança consegue identificar grande parte dos pontos falhos e compreender como essas falhas podem comprometer o am- biente. Com essa análise, o profissional consegue então definir melho- rias e mudanças necessárias para a proteção do ambiente. O profissional de segurança necessita pensar como um atacante, um pentester que executará da melhor forma possível o modus operandi de um invasor (MELO et al., 2017). O profissional necessita realizar ataques e utilizar métodos similares aos que outros profissionais utilizariam em casos de ataques reais, para identificar a forma como o ambiente se comporta e, principalmente, compreender o quão grave são as vulnera- bilidades que podem afetar o objeto testado. Além das ferramentas comumente utilizadas pelos hackers, sendo cada uma delas específica para a realização de um tipo de ataque, há também algumas que realizam sua automatização, como o Nessus® e o OpenVAS. Ambos são ferramentas que realizam testes nas vulnerabi- lidades presentes, avaliando o alvo e os tipos de ataques que expõem sua vulnerabilidade. Os dashboards presentes na ferramenta OpenVAS trazem recomendações de melhorias de técnicas de mapeamento de riscos e recomendações para mitigação das vulnerabilidades encontra- das, tudo isso em formato de relatório. Essas ferramentas apresentam informações importantes para o pen- tester, como gráficos e representações de vulnerabilidades. É possível encontrar dados de ferramentas de vulnerabilidades, como o Network 47Ótica de auditoria M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Vulnerability Test (NVT) (em português, “teste de vulnerabilidade de rede”) e o Common Vulnerabilities and Exposures (CVE) (em português, “vulnerabilidades e exposições comuns”). Também são verificadas in- formações detalhadas de vulnerabilidades novas inseridas nas bases de consulta, trazendo um resumo para o usuário da ferramenta, com informações de impacto e, quando disponíveis, até de soluções. Essas informações são obtidas das bases de dados de vulnerabilidades aber- tas e compartilhadas da comunidade de segurança. 2Tipos de testes de intrusão Conforme Basta, Basta e Brown (2014), podemos caracterizar os testes de intrusão em três formatos: white box, black box e gray box. Abordamos anteriormente as respectivas definições de cada cenário, sendo que cada um deles exige uma abordagem diferente do hacker ético diante das características apresentadas. Na figura 1, podemos ve- rificar uma representação dos três ambientes. Figura 1 – Representação dos três ambientes de pentesting Auditor/pentester White box: Conhecimento pleno do ambiente Ambiente auditado Gray box: Conhecimento intermediário do ambiente Black box: Pouco ou nenhum conhecimento do ambiente 48 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . O hacker ético, na figura de auditor/pentester, pode se deparar com os três cenários na realização de suas atividades. Cabe ao profissional classificar com qual deles está lidando, e seguir com suas ações e verifi- cações de forma compatível com cada um. Vamos verificar mais detalhadamente como cada cenário é apresen- tado, suas características e como o hacker ético deve atuar em cada um deles. 2.1 White box Testes do tipo white box baseiam-se no pleno conhecimento do pro- fissional de segurança da infraestrutura e do ambiente testados. Testes dessa categoria normalmente são realizados em empresas, com o ob- jetivo de identificar informações de serviços específicos, uma vez que a estrutura é conhecida pelo profissional de segurança e seu escopo de ataque limita-se somente a compreender as vulnerabilidades de seu alvo. Conforme enfatiza Melo et al. (2017), as técnicas de footprint são fun- damentais em um processo de pentesting, seja um black box ou white box. A figura 2 apresenta o uso da ferramenta DNSENUM fazendo consul- tas sob o domínio sp.senac.br, verificando quais são os servidores DNS responsivos e suas entradas, representando uma técnica de footprint. Figura 2 – Footprint de servidores DNS utilizando DNSENUM 49Ótica de auditoria M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. O footprint pode estar relacionado diretamente com o reconheci- mento. Conforme mencionado anteriormente, o hacker necessita rea- lizar o reconhecimento de seu ambiente para então se preparar devida- mente para suas ações. O footprint consiste na captura de informações sobre redes, sistemas operacionais e outros elementos relevantes para o ataque/defesa. Portanto, atividades de reconhecimento de ambiente, como verificação de serviços, portas abertas, endereços IP de disposi- tivos, presença de firewalls, serviços de IDS/IPS, enumeração,1 finger- print,2 entre outras relacionadas, devem ser realizadas em um ambiente de pleno conhecimento do pentester, porém, de modo a complementar informações desconhecidas, uma vez que o pentester já possui várias das informações relevantes para a sua ação. Dessa forma, o tempo gasto no reconhecimento do ambiente é menor, trazendo um enfoque maior para as outras etapas. Normalmente, testes de white box em empresas contam com grupos internos de segurança que já trabalham e conhecem o ambiente (pro- fissionais de TI e de segurança da própria empresa), no entanto, nada impede que profissionais da área de segurança externos ao ambiente não possam realizar essa ação. Muitas vezes, a ação de profissionais externos pode trazer uma visão diversificada, demonstrando diferentes vulnerabilidades e apresentando melhores formas de proteção. 2.2 Black box Já nos testes do tipo black box, o profissional de segurança também necessita realizar todo o reconhecimento do seu ambiente de traba- lho. De acordo com Michael e Radosevich (2005), é uma característica 1 É considerada enumeração a extração de informações do ambiente-alvo. São exemplos: contas de usuários, os serviços principais disponíveis no ambiente e ativos com vulnerabilidades que possam ser exploradas. 2 Complemento do footprint, tem como foco obter informações mais específicas de ativos que possam estar vulneráveis. Por exemplo: a identificação do sistema operacional do alvo. 50 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . desse cenário o não conhecimento do ambiente de ataque, cabendo ao profissional de segurança o levantamento de todas as informações necessárias para verificar as possibilidades de ataque. IMPORTANTE Ataques podem ser realizados também por engenharia social. Nesse cenário, o profissional de segurança também desconhece os processos internos de seu contratante, bem como os serviços realizados. Devido à escassez de informações que esse tipo de cenário traz ao profissional, auditorias e ataques em ambientes black box costumam apresentar um tempo maior de execução que as realizadas em outros cenários, como white box e gray box. Segundo Michael e Radosevich (2005), testes black box são conhe- cidos por: • Identificar erros de implementação que não foram considerados durante a configuração de serviços, ativos de rede, bem como na parte de software, revisões de códigos de aplicações que possam apresentar vulnerabilidade. • Descobrir problemas de design de infraestrutura e também na arquitetura do software, tornando a sua implementação e/ou de- senvolvimento altamente inseguros. • Detectar problemas de segurança que surgem como resultado da interação com ambientes externos (servidores e softwares volta- dos para interação com usuários, provedores web, entre outros, especialmente que não tenham passado por processos de harde- ning3). Na figura 3, há a representação de um servidor que possui a vulnerabilidade ShellShock, devido ao seu kernel antigo. 3 Hardening é uma técnica voltada à segurança de serviços e servidores, na qual, por meio de configurações 51Ótica de auditoria M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Figura 3 – Exemplo de vulnerabilidade ShellShock String de ataque Shellshock Versão do kernel do sistema Em ambientes black box, a descoberta dessas características e as vulnerabilidades que elas apresentam podem auxiliar o hacker a detec- tar problemas e a levantar informações necessárias para sua ação, in- clusive simulando uma ação como se um cracker ou outro agente mali- cioso estivesse realizando ataques na plataforma. 2.3 Gray box Segundo Muniz e Lakhani (2013), nesse cenário, há uma mistura dos dois ambientes, white box e black box. O profissional de segurança conhece em parte o ambiente testado e possui um escopo de traba- lho para seus testes de intrusão e auditoria. Porém, diferentemente do white box, seu conhecimento e familiaridade com o ambiente não é ple- no. Esse cenário é o que mais se aproxima da realidade, uma vez que hackers maliciosos não costumam escolher seus alvos aleatoriamente e sem prévia pesquisa. Para um ataque ser bem-sucedido, é fundamen- tal que haja um prévio conhecimento de seu alvo, com informações bá- sicas e necessárias para a realização de ataques. Do ponto de vista de auditoria e segurança,esse cenário não é muito diferente. O profissional de segurança, realizando seu papel de auditor, e ajustes, é possível tornar serviços e servidores menos suscetíveis e vulneráveis a ataques oriundos de crackers, hackers ou outros elementos externos presentes na rede. 52 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . precisa de informações similares às que atores maliciosos possuem para então compreender quais elementos devem ser auditados e verifi- cados quanto a falhas e, principalmente, vulnerabilidades. Esse é o cenário mais comum encontrado em testes de vulnerabili- dade e auditoria. Profissionais externos ao ambiente-alvo são contrata- dos para analisar o ambiente e realizar as atividades de auditoria. Esses profissionais muitas vezes conhecem muito pouco do ambiente, muni- dos somente de informações que são repassadas pelos profissionais da empresa ou do ambiente de testes. Ainda nesse tipo de cenário, a coleta de informações também é fundamental, mesmo já tendo algum conhe- cimento sobre o ambiente auditado, o profissional de segurança não tem total certeza do que encontrará no ambiente, e, como já sabemos, infor- mações são essenciais para a realização de um pentesting. Considerações finais Há diferentes tipos de cenários com os quais o profissional de segu- rança pode se deparar ao realizar análises de vulnerabilidade e é preciso identificar cada um deles, uma vez que alguns demandam maiores ativida- des de reconhecimento e mapeamento de serviços que outros. Também é importante compreender o escopo da análise, assim será possível realizar testes mais assertivos, que atendam ao objetivo final da análise. Durante o pentesting, o profissional de segurança pode encontrar di- ferentes vulnerabilidades, algumas inclusive fora do escopo de ataque. Essa identificação também é importante e merece documentação, seja ela para o conhecimento de um possível contratante de seus serviços, como também para melhorias no ambiente auditado. Referências BASTA, Alfred; BASTA, Nadine; BROWN, Mary. Segurança de computadores e teste de invasão. 2. ed. São Paulo: Cengage Learning, 2014. 53Ótica de auditoria M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. MELO, Sandro et al. Exploração de vulnerabilidades em redes TCP/IP. 3. ed. Rio de Janeiro: Alta Books, 2017. MICHAEL, C. C.; RADOSEVICH, Will. Black box security testing tools. 2005. Disponível em: https://www.ida.liu.se/~TDDC90/literature/papers/ cc07blackbox.pdf. Acesso em: 11 maio 2020. MUNIZ, Joseph; LAKHANI, Aamir. Web penetration testing with Kali Linux. Birmingham: Packt Publishing, 2013. STALLINGS, William. Criptografia e segurança de redes: princípios e práticas. 6. ed. São Paulo: Pearson, 2015. 55 M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Capítulo 5 Ferramentas dos hackers Independentemente do objetivo do profissional de segurança, seja efe- tuar um ataque em seu pentesting, explorar uma vulnerabilidade conheci- da, ou até mesmo compreender formas de realizar ações defensivas, são necessárias ferramentas próprias e desenvolvidas para essas ações. Os hackers, com a devida compreensão a respeito dos diferentes tipos de ata- que, bem como seus respectivos funcionamentos, precisam de ferramen- tas que efetuem adequadamente as ações de exploração. Neste capítulo, verificaremos diversas ferramentas utilizadas pelos hackers e profissio- nais de segurança, bem como seu funcionamento e formas de utilização. 1 Scanners de portas e outras ferramentas úteis Praticamente considerado o braço direito dos hackers, ou profissio- nais de segurança, os scanners de porta são fundamentais em proces- sos de enumeração e verificação de ativos em uma rede. A maioria dos 56 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . serviços disponíveis em rede trabalha com portas de comunicação, as quais estão orientadas a conexão (TCP), ou não orientadas a conexão (UDP). Segundo Melo et al. (2017), há ainda serviços que possuem por- tas específicas, padrões de uso que facilitam inclusive a sua identifi- cação. Também podemos encontrar outras ferramentas extremamente úteis que analisam tráfego de rede e solicitações de protocolos e simu- lam o funcionamento de ativos falsos, entre outras atividades relaciona- das à área de segurança da informação. São ferramentas comumente utilizadas pelos profissionais dessa área: • Nmap: efetua o escaneamento de redes e endereços IP identi- ficando os serviços neles presentes, bem como as respectivas portas abertas e, quando possível, o sistema operacional do alvo escaneado. O Nmap é caracterizado por Basta, Basta e Brown (2014) como um escaneador que automatiza o processo de análi- se dos pontos fracos de rede. O Nmap permite, além do escanea mento das portas comuns, escanear também as 65.535 portas disponíveis nos hosts, inclusive utilizando técnicas de modifica- ção de flags de comunicação e scripts préprogramados para a análise de vulnerabilidades conhecidas. O Nmap é uma ferra- menta disponível em formato de terminal. Apresenta a variação Zenmap, com Graphical User Interface (GUI) (programas que dispõem de visualização em interfaces gráficas, não restritos à utilização de linhas de comando). • Wireshark: é um analisador de pacotes, baseado em código aberto, que permite ao usuário verificar todo o tráfego de rede presente no momento de sua utilização. O Wireshark tem como característica a apresentação de uma GUI, pela qual é possível identificar tanto os protocolos presentes nas comunicações como as informações dos pacotes, cabeçalhos e dados, em texto 57Ferramentas dos hackers M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. aberto ou criptografado. Similar ao Wireshark, o TCPDump realiza as mesmas capturas, inclusive as extensões .pcap são compatí- veis em ambas as ferramentas. Essas ferramentas são utilizadas não somente para análises de segurança, mas também para di- versos troubleshootings de rede. Na figura 1, podemos verificar a interface do Wireshark. Figura 1 – Interface do Wireshark IMPORTANTE O Wireshark possui compatibilidade tanto para as plataformas Unix/ Linux como também Microsoft Windows. A captura é efetuada logo no início do programa, momento em que deve ser selecionada a interface que efetuará a devida escuta de rede. É importante ainda ressaltar que os dados coletados podem ser diferentes em cada captura, uma vez que são realizadas em redes e infraestruturas diferentes. 58 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a repr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . • Arpspoof: a técnica de arp spoofing baseiase em falsificar ende- reços Media Access Control (MAC), fazendo com que o atacante tente se passar por um host legítimo. Esse ataque é muito co- mum quando o elemento invasor tenta se passar pelo gateway em comunicações de rede. Quando o atacante consegue se pas- sar por um endereço legítimo, ele passa a receber todo o tráfego que seria de destino ao host legítimo. A Arpspoof faz parte da suíte Dsniff (BASTA; BASTA; BROWN, 2014), sendo uma ferra- menta que possibilita o ataque pela falsificação das tabelas ARP. Ainda podemos encontrar outras ferramentas como o Ettercap e o Mausezahn, que realizam a mesma ação da Arpspoof. • John the Ripper: ferramenta voltada para a quebra de senhas por meio da técnica de força bruta, amplamente utilizada também para a quebra de hashes. O John the Ripper consegue realizar ataques com várias listas de palavras, efetuando combinações de números e caracteres especiais. Podem ser utilizadas as lis- tas de palavraspadrão presentes na plataforma, como também podem ser importadas listas de palavras customizadas. A ferra- menta ainda possui uma função de trabalho em formato cluster, utilizando o poder de processamento de mais de um computador, trabalhando em conjunto com outros equipamentos. Apresenta também uma versão com GUI, conhecida como Johnny. 1.1 Dsniff Dsniff é um conjunto de ferramentas muito útil para técnicas intrusi- vas e de pentesting. A suíte Dsniff possui a ferramenta Arpspoof, bem como outras apresentadas no quadro 1. 59Ferramentas dos hackers M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Quadro 1 – Conjunto Dsniff de ferramentas FERRAMENTA AÇÃO DE CADA FERRAMENTA TCPKill Intercepta e desativa conexões TCP. Filesnarf Realiza a captura de arquivos que utilizam o NFS como protocolo de transferência. Mailsnarf Captura dos e-mails utilizando o tráfego dos protocolos SMTP e POP. Tcpnice Permite a manipulação de comunicações TCP, controlando a velocidade da conexão. Urlsnarf Permite a conversão das requisições URL verificadas em uma espécie de log, de modo a possibilitar a manipulação posterior por outras ferramentas de análise de log. Sshmitm e webmitm Voltadas para ataques MITM por meio dos protocolos SSH e HTTP/HTTPS. Macof Voltada para floods de tabelas Content Addressable Memory (CAM) em switches. O switch possui uma tabela específica, na qual armazena as informações de endereços MAC e as portas de cada elemento a ele conectado. Ao sobrecarregar a tabela do switch, deixando-a sem memória para os encaminhamentos adequados de pacotes, todos os dados recebidos são retransmitidos para todas as portas. O switch passa a se comportar similar a um hub. 2 Scanners de vulnerabilidades: OpenVAS CE e Nessus® CE Ferramentas muito conhecidas e utilizadas por pentesters, o Nessus® e o OpenVAS são utilizados para o escaneamento completo dos ativos de rede que estão sofrendo auditoria. O OpenVAS CE é considerado um framework, um conjunto de vários serviços e ferramentas que realizam a varredura de ativos e redes em busca de possíveis vulnerabilidades. Esse software roda sob a General Public License (GPL), sendo um software livre (OPENVAS, [s. d.]). O OpenVAS utiliza uma base com várias assinaturas cadastradas e atualizadas constantemente pela base online do software. O framework efetua todas as ações de reconhecimento e enumeração dos serviços dos ativos verificados. Posteriormente, são verificadas as possíveis 60 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . vulnerabilidades que cada um deles apresenta. Ao final, é exibido um relatório com todas as vulnerabilidades encontradas, com seu índice de gravidade e em qual CVE (Common Vulnerabilities and Exposures) está classificado. Já o Nessus®, segundo Muniz e Lakhani (2013), também é considera- do um framework e realiza um papel simular ao OpenVAS. Anteriormente, o Nessus® também estava sob a GPL, sendo, portanto, um software li- vre. Hoje, o Nessus® é mantido pela Tenable, e para usar sua versão completa uma assinatura é requerida. Ambas as ferramentas são mul- tiplataforma e funcionam na arquitetura cliente × servidor, ou seja, as ferramentas rodam especificamente em um servidor e, por meio de inte- rações via browser web, o pentester pode efetuar as devidas consultas. O Nessus® oferece um relatório com as vulnerabilidades encontra- das nos hosts selecionados para scanner. Logo ao final da verificação, é possível identificar quais categorias de vulnerabilidades foram encon- tradas em cada elemento checado. A ferramenta ainda pode apresentar um relatório com todas as informações encontradas, inclusive com as respectivas CVE. 3 Metasploit framework O Metasploit é um framework que tem como objetivo a exploração de vulnerabilidades (METASPLOIT, [s. d.]).Inicialmente escrita em Perl e hoje em Ruby, é uma ferramenta amplamente utilizada pelos profissio- nais de segurança e conta com uma grande base de dados de CVE e di- versos exploits,1 variando de acordo com a vulnerabilidade encontrada e presente para exploração. 1 São considerados exploits os códigos que são desenvolvidos com o objetivo de explorar vulnerabilidades em serviços, aplicações e softwares. 61Ferramentas dos hackers M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. O Metasploit ainda conta com a importação de payloads2 e exploits para ataques personalizados e específicos para cada ambiente em que o profissional de segurança esteja atuando, independentemente da plataforma que esteja sofrendo o ataque, seja ela Linux, Windows, Unix, entre outras. A ferramenta exige conhecimento de comandos e uso de terminal, uma vez que ela trabalha especificamente com linhas de comando. Há variações para utilização em interface gráfica, como o software Armitage, que utiliza a mesma base de CVE e exploits do Metasploit, po- rém, sua utilização é mais comum via linha de comando, tendo inclusive seu desenvolvimento voltado para esse tipo de trabalho. Na figura 2 é possível verificar seus respectivos consoles de gerenciamento. Figura 2 – Interface da plataforma Armitage 2 Payload, em computação e na área de segurança, referese ao conteúdo de uma transmissão de dados. Payloads são muito citados na área de segurança, uma vez que possuem em seu conteúdo códigos que exploram possíveis vulnerabilidades em sistemas. 62 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . 4 Geradores de lista de senhas: password list generators As senhas ainda são muito utilizadas em nosso dia a dia em seguran- ça. Mesmo com outras funções de autenticação existentes, como duplo fator de autenticidade, biometria, etc., as senhas ainda são comuns em diversos sistemas. Ocorre que, muitas vezes, os usuários podem gerar senhassimples, sem complexidade e passíveis de quebra. Uma das formas encontradas para evitar a criação de senhas pe- los próprios usuários é a utilização de geradores de senhas. Segundo Stallings (2015), para esses casos, podem ser utilizados geradores de números aleatórios, que são obtidos por meio de diferentes métodos, como valores de clock de CPU,3 variações de tensão de determinado equipamento, entre outros, fazendo uso de diversas fontes para gerar a combinação. Há também geradores de senhas online, que produzem senhas com certa complexidade, eliminando o problema de senhas simples criadas pelos usuários. O Random.org, por exemplo, permite ao usuário criar uma senha variando o tamanho delas e a quantidade de opções deseja- das. Apesar de a ferramenta citar que as senhas não são armazenadas em um banco de dados, fica a critério do usuário confiar ou não nessa informação. Com a combinação atribuída anteriormente, a ferramenta consegue gerar as combinações solicitadas. Essas combinações estão prontas e podem ser utilizadas pelo hacker. 3 A Central Proccess Unit (CPU), também conhecida como processador, possui um clock para sua operação. O clock define a velocidade de operação da CPU. Quanto maior o clock, mais rápida a CPU, permitindo o processamento de informações em menor tempo. Em equipamentos modernos, o clock da CPU varia de acordo com o seu uso, podendo ser utilizado como um valor randômico. 63Ferramentas dos hackers M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. IMPORTANTE O algoritmo utilizado por esses geradores muitas vezes é desconhecido, especialmente em relação aos parâmetros de que se utilizam para gerar valores, que, teoricamente, são randômicos. Além disso, não há garan- tia de que esses valores gerados não sejam armazenados em bancos próprios e divulgados pela internet. É comum, inclusive, encontrar sites especializados em quebra de hashes que fazem uso desses geradores, utilizando os dados gerados por várias listas, assunto que será aborda- do no próximo tópico. Portanto, a utilização desse tipo de ferramenta pode trazer problemas de segurança. 5 Ferramentas para ataques de dicionário, força bruta e rainbow tables De acordo com Basta, Basta e Brown (2014), são caracterizados ata- ques de dicionário e força bruta os ataques que fazem uso de listas de palavras, números e caracteres especiais por meio do método de tentativa e erro. Esses ataques podem ser direcionados especificamen- te para a descoberta de senhas e também de credenciais completas. Os ataques dessa categoria costumam ser bemsucedidos em siste- mas que não realizam as técnicas de hardening e as recomendações básicas de segurança, utilizando senhas e credenciais simples, como sequên cia de números ou até mesmo credenciaispadrão de acesso, sem a alteração devida para o ambiente específico em produção. Entre as ferramentas utilizadas nesta categoria, as mais comumente utilizadas pelos profissionais de segurança são: • Aircrack-ng: possui módulos e ataques específicos para ataques de dicionário em redes wireless (MORENO, 2016). • John the Ripper: como já apresentado, esta é uma ferramenta amplamente utilizada para esse tipo de ataque. 64 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . • Rainbow Crack: seu foco é a quebra de hashes utilizando rainbow tables. • Cain and Abel: ferramenta amplamente utilizada para ataques de força bruta e que apresenta algumas outras facilidades, como sniffing de rede, ataques em protocolos VoIP, entre outras. O HashCat também é outra ferramenta voltada para quebra de senhas por força bruta, inclusive podendo utilizar rainbow tables para quebra de hashes. A principal característica dessa ferramenta é que sua execução pode ser realizada utilizando o processamento não só da CPU, mas tam- bém da unidade de processamento gráfico (GPU) disponível na máquina atacante. Para esse tipo de ataque, as instruções processadas pela GPU tendem a ter um desempenho maior que as processadas pela CPU. Figura 3 – Exemplo de utilização da ferramenta HashCat 65Ferramentas dos hackers M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. O HashCat traz informações do status atual de sua tentativa de que- bras, inclusive sobre temperaturas de hardware e bibliotecas de sistema que podem auxiliar no desempenho da tentativa de quebra. 5.1 Rainbow tables Outra categoria importante de ataques de força bruta são os que ocorrem por meio de rainbow tables. De acordo com Melo et al. (2017), são conhecidos como rainbow tables os ataques que utilizam tabelas que contêm diversos hashes e suas várias combinações. O hash é uma criptografia unidirecional, isto é, uma vez que o dado é criptografado usando a função hash, ele não pode mais ser revertido a seu formato original. Ao comparar dois hashes com o mesmo valor de entrada, ambos terão o mesmo valor de saída. Porém, ao comparar dois hashes com valores de entrada diferentes, ambos terão valores diferentes em sua saída. Portanto, o hash tem como principal função a verificação de integridade de arquivos, bem como a checagem de senhas, sem a ne- cessidade de armazenamento da senha original em um banco de senhas. Como as rainbow tables são tabelas com inúmeros hashes e é pos- sível utilizálas para comparar os hashes um a um, ao verificar um valor que seja igual ao desejado para quebra, podese assim descobrir o sig- nificado e os caracteres que aquele hash representa. Muitas vezes, esse valor pode ser a senha de acesso de um sistema. Há diversos endere- ços e sites online voltados exclusivamente para a verificação de hashes utilizando rainbow tables, inclusive a ferramenta Rainbow Crack, citada anteriormente, realiza essa ação. 6 Ferramentas para engenharia social De acordo com Scarfone et al. (2008), engenharia social é a ação que explora o elemento humano de um sistema. É a tentativa de enganar, 66 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . por meio de recursos sociais e psicológicos, pessoas que possam deter informações sensíveis que auxiliem no ataque ou em uma tentativa de intrusão. Um conjunto de ferramentas conhecido por explorar esse tipo de ataque é Social Engineering Toolkit (SET) (em português, “conjunto de ferramentas para engenharia social”). Esse conjunto de ferramentas integra o framework Metasploit e permite a exploração de várias técni- cas voltadas a falhas humanas. O SET ainda apresenta os diversos tipos de ataque que exploram o elemento humano. Em seu framework, há vários tipos de ataques dis- poníveis, cada um específico para uma finalidade, como clonagem de websites, download de códigos maliciosos, entre outros. O SET também permite a integração de seus ataques com payloads gerados a partir de outras ferramentas, como o Metasploit. Aliando o aspecto técnico de exploração às técnicas de engenharia social que a ferramenta disponi- biliza, tanto crackerscomo hackers podem fazer dela um recurso muito valioso, especialmente em cenários em que a aplicação da engenharia social seja possível. 7 Python Black Hat De acordo com Seitz (2015), Python é uma linguagem de programa- ção interpretada, multiparadigma, orientada a objetos, imperativa e fun- cional, amplamente utilizada não só por profissionais de segurança, mas também por programadores e desenvolvedores de softwares. É possível encontrar o Python também em scripts, uma vez que é uma linguagem muito versátil que permite integração com várias ações disponíveis nos sistemas operacionais. Claro que toda essa versatilidade é muito bem utilizada para o mundo da segurança, uma vez que há diversos scripts e pequenos programas em Python com a finalidade de exploração de vul- nerabilidades, os quais são conhecidos como Python Black Hat. A linguagem Python apresenta tal versatilidade que dispõe de fer- ramentas que completam todo o ciclo de pentesting, partindo desde 67Ferramentas dos hackers M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. ferramentas de reconhecimento de alvos e rede, bem como ferramen- tas de quebra de senha, evasão de antivírus e investigações forenses. Porém, nada impede que o próprio hacker e/ou pentester realize a cria- ção de suas próprias ferramentas em Python. A linguagem permite a manipulação de sockets de rede, geração de sniffers, manipulação de pilhas TCP/IP já com bibliotecas prontas para seu uso. A figura 4 é um exemplo de abertura de um socket, permitindo que comunicações utili- zando o padrão TCP/IP possam se fluir por meio da porta aberta. Esse é um dos grandes motivos de essa linguagem ser amplamente utilizada pelos profissionais de segurança: sua capacidade e versatilidade na oti- mização e customização de recursos para os diferentes tipos de ataque e ambientes com os quais o hacker pode se deparar. Figura 4 – Exemplo de código Python para a abertura de um socket de rede Fonte: adaptado de Hellman (2019). No exemplo apresentado, o Python, ao permitir a criação e manipu- lação de sockets de rede, pode auxiliar o hacker a automatizar suas ta- refas, não dependendo exclusivamente de ferramentas específicas para essa ação, como a ferramenta Netcat, por exemplo. Dependendo do ambiente em que o profissional está atuando, com recursos limitados muitas vezes, as ferramentas e o desenvolvimento em Python ajudam na realização de ações voltadas à segurança computacional, especial- mente pela possibilidade de manipulação de código, adaptandoo para o cenário com o qual o hacker está lidando. 68 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . Considerações finais O mundo da segurança, como o do hackerismo em si, conta com di- ferentes ferramentas para as diversas variações de ataque disponíveis. É importante compreender os tipos de ataque e a atuação de cada fer- ramenta, pois isso auxilia os profissionais de segurança tanto em ações defensivas como também em ações ofensivas. As ferramentas são um complemento do profissional e permitem a execução de suas tarefas. Assim como um mecânico, que além de suas ferramentas também precisa do conhecimento de como usálas, o hacker também necessita conhecer o uso das ferramentas de sua área, além da respectiva inter- pretação diante dos diferentes cenários que podem ser apresentados. Neste capítulo, foram apresentadas algumas das ferramentas mais uti- lizadas pelos profissionais de segurança, porém há várias outras dis- poníveis para os diversos ataques. Fica a critério do hacker quais ferra- mentas são melhores para cada situação. Referências BASTA, Alfred; BASTA, Nadine; BROWN, Mary. Segurança de computadores e teste de invasão. 2. ed. São Paulo: Cengage Learning, 2014. HELLMANN, Doug. TCP/IP client and server. PyMOTW, 2019. Disponível em: https://pymotw.com/2/socket/tcp.html. Acesso em: 11 abr. 2020. MELO, Sandro et al. Exploração de vulnerabilidades em redes TCP/IP. 3. ed. Rio de Janeiro: Alta Books, 2017. METASPLOIT. Metasploit Documentation 2020. [s. d.]. Disponível em: https:// www.metasploit.com/. Acesso em: 11 abr. 2020. MORENO, Daniel. Pentesting em redes sem fio. São Paulo: Novatec, 2016. MUNIZ, Joseph; LAKHANI, Aamir. Web penetration testing with Kali Linux. Birmingham: Packt Publishing, 2013. 69Ferramentas dos hackers M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. OPENVAS. OpenVAS – Open Vulnerability Assessment Scanner. OpenVAS, [s. d.]. Disponível em: https://www.openvas.org/. Acesso em: 11 abr. 2020. SCARFONE, Karen et al. Technical guide to information security testing and assessment. National Institute of Standards and Technology (NIST) special pu- blication 800115, 2008. Disponível em: http://dx.doi.org/10.6028/nist.sp.800 115. Acesso em: 11 abr. 2020. SEITZ, Justin. Black Hat Python: programação python para hackers e pentes- ters. São Paulo: Novatec, 2015. STALLINGS, William. Criptografia e segurança de redes: princípios e práticas. 6. ed. São Paulo: Pearson, 2015. 71 M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Capítulo 6 Categorias de ataques e normas Já não é novidade que sistemas cibernéticos sofrem constantes ata- ques de crackers e de outros elementos externos, sendo necessário que hackers façam uso de seu conhecimento para proteger esses sistemas. Apesar do alto conhecimento técnico que a proteção de vulnerabilida- des requer dos profissionais, metodologias e processos formais são importantes para uma padronização nas ações de segurança de cada organização. Acompanharemos aqui as principais metodologias dispo- níveis na área de segurança e as características de cada uma delas, apresentando em quais ambientes e situações são mais adequadas. 1 Categorias de ataques Cada tipo de ataque apresenta uma forma de ação e operação, além de ter diferentes tipos de objetivos, seja roubar informações, prejudicar a imagem de corporações ou simplesmente indisponibilizar acessos. Segundo Chapple, Stewart e Gibson (2018), o International Information 72 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . System Security Certification Consortium (ISC) classifica os ataques em algumas categorias, conforme o quadro 1. Quadro 1 – Categorias de ataque CATEGORIA ABRANGÊNCIA Segurança humana Categoriza especificamente o elemento humano, como ataques de engenharia social. Segurança física Abrange falhas físicas de acesso a ativos e locais que deveriam ter acesso restrito. Comunicação wireless Cobre as comunicações sem fio em geral, informando sobre ataques do espectro de radiofrequência, sensores infravermelhos, entre outros. Telecomunicações Concentra-se especificamente em vulnerabilidades de comunicação de voz, com VoIP, PBX, correio de voz, telefonia analógica,digital e IP em geral. Dados de redes Possui um foco específico nos ataques baseados em tráfego de comunicação entre computadores. Podem ser classificados como: • Varreduras de rede • Identificação de ativos • Serviços de autenticação, autorização e auditoria • Técnicas de spoofing • Técnicas de phishing Fonte: adaptado de Chapple, Stewart e Gibson (2018). Os ataques podem ser realizados de diferentes formas e ter diferentes objetivos e são classificados de acordo com suas características. Na se- gurança, há diversas metodologias que tratam especificamente desses ataques, e um dos papéis do profissional de segurança é identificá-los e verificar quais são as melhores metodologias que se aplicam a cada um. 2 OWASP testing guide O Open Web Application Security Project (OWASP) é um guia de boas práticas de segurança especialmente voltado a aplicações e serviços de desenvolvimento web. Mantida pela Open Source Application Security Foundation, o OWASP não é caracterizado como uma metodologia de 73Categorias de ataques e normas M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. testes de intrusão, mas sim como um guia de boas práticas de segu- rança no desenvolvimento de aplicações e serviços, fornecendo não só métodos e orientações para seu uso, mas também a publicação de vul- nerabilidades e suas respectivas correções. No quadro 2, temos o comparativo entre os anos de 2013 e 2017 das principais vulnerabilidades encontradas em ambientes de TI, segundo o OWASP. Quadro 2 – Comparação entre as dez maiores vulnerabilidades (2013-2017) OWASP TOP 10 (2013) OWASP TOP 10 (2017) A1 – Injection (Injeção) A1 – Injection (Injeção) A2 – Broken Authentication and Session Management (Quebra de autenticação e gerência de sessão) A2 – Broken Authentication (Quebra de autenticação) A3 – Cross-Site Scripting (XSS) (Script entre sites) A3 – Sensitive Data Exposure (Exposição de dados sensíveis) A4 – Insecure Direct Object References (Referências diretas inseguras de objetos) A4 – XML External Entities (XXE) (Entidades externas XML) A5 – Security Misconfiguration (Configuração incorreta de segurança) A5 – Broken Access Control (Quebra de controle de acesso) A6 – Sensitive Data Exposure (Exposição de dados sensíveis) A6 – Security Misconfiguration (Configuração incorreta de segurança) A7 – Missing Function Level Access Control (Controle de acesso de nível de função ausente) A7 – Cross-Site Scripting (XSS) (Falsificação de solicitação entre sites) A8 – Cross-Site Request Forgery (CSRF) (Falsificação de solicitação entre sites) A8 – Insecure Deserialization (Desserialização insegura) A9 – Using Components with Known Vulnerabilities (Utilização de componentes com vulnerabilidades conhecidas) A9 – Using Components with Known Vulnerabilities (Utilização de componentes com vulnerabilidades conhecidas) A10 – Unvalidated Redirects and Forwards (Redirecionamentos e encaminhamentos não validados) A10 – Insufficient Logging & Monitoring (Monitoramento e logs insuficientes) Fonte: adaptado de OWASP (2017, p. 4). 74 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . 3 OSSTMM O Open Source Security Testing Metodology Manual (OSSTMM) é um manual de segurança cuja metodologia apresenta as etapas e me- lhores práticas nos testes de segurança. Esse manual de segurança é mantido pelo Instituto de Segurança e Metodologias Abertas (Institute of Security and Open Methodologies – ISECOM). Sua metodologia su- gere que os testes de segurança em geral, especialmente o pentesting, sejam alinhados conforme a necessidade da organização (ISECOM, 2010), variando de acordo com o conhecimento prévio que o auditor possui em relação aos ativos que serão testados. O OSSTMM tem como foco o conhecimento do atacante. Dessa for- ma, a metodologia considera tipos de testes diferentes de acordo com o conhecimento do hacker. A figura 1 demonstra a relação de ataque com os respectivos alvos e cenários. Figura 1 – Relação de ataques com os respectivos alvos Blind Co nh ec im en to d o al vo s ob re o a ta qu e Conhecimento do atacante sobre o alvo Gray box Tandem ReversalDouble blind Double gray box Fonte: adaptado de ISECOM (2010, p. 36). Cada cenário de ataque demonstrado na figura 1 apresenta uma característica específica a ser analisada pelo hacker. O ISECOM (2010) possui sua própria categorização e taxonomia de ataque: 75Categorias de ataques e normas M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. • Blind (“cego”): também conhecido como teste às cegas, similar ao black box, o pentester inicia seus trabalhos sem o conheci- mento prévio das defesas, ativos ou infraestrutura do cliente. A equipe de TI já tem conhecimento da realização do pentesting, portanto pode se preparar para os ataques. Esse tipo de ataque depende muito das habilidades do pentester, já que, no ambien- te desconhecido, o profissional precisará exercer suas capaci- dades técnicas. • Double blind (“duplamente cego”): similar ao teste às cegas, no entanto, a equipe de TI responsável pela manutenção e seguran- ça do ambiente não tem conhecimento da realização do teste de intrusão. Esse tipo de teste prevê também uma avaliação de quão preparada a equipe de TI está diante de um ataque não esperado. • Gray box (“caixa cinza”): cenário em que o pentester possui um conhecimento limitado do ambiente. • Double gray box (“dupla caixa cinza”): neste cenário, similar ao gray box, o conhecimento da estrutura alvo do ataque é limitado, porém, a equipe de TI tem conhecimento das ações realizadas no ambiente, permitindo uma ação pontual no momento do ataque, caso necessário. • Tandem: assemelha-se a uma auditoria interna. O pentester e o alvo têm pleno conhecimento do ataque da infraestrutura que so- frerá a auditoria. • Reversal (“reverso”): o pentester tem pleno conhecimento do am- biente e seus processos, mas o ambiente auditado e sua equipe de TI, não. Esse tipo de ataque consegue verificar como o ambien- te testado se comporta diante de ataques não previstos realizados por atacantes que tenham pleno conhecimento do ambiente. Portanto, é possível concluir que o foco da metodologia OSSTMM é a auditoria de segurança, sempre apresentando métodos baseados em 76 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . estudos e casos científicos. O manual completo e seus passos podem ser encontrados no site do ISECOM. 4 ISSAF O framework de avaliação dos sistemas de segurança da informa- ção (Information System Security Assessment Framework – ISSAF) também é uma metodologia para pentesting, por sua vez suportada pelo Grupo de Segurança do Sistema de Informação Aberto (Open Information System Security Group – OISSG). Essa metodologia tem como característica dividir o pentesting em três fases, conforme a figura 2. Figura 2 – Fases da metodologia ISSAF Relatório, limpezae destruição de artefatos Planejamento e preparação Avaliação 4.1 Planejamento e preparação Considerada a fase inicial, caracteriza-se por planejar e preparar o teste de intrusão. Segundo a metodologia ISSAF, essa fase enfatiza a necessidade de um contrato formal de avaliação a ser assinado antes do início de qualquer teste, garantindo o conhecimento de ambas as partes quanto ao escopo, metodologia e forma do teste, além do acordo mútuo de concordância de ambas as partes. 4.2 Avaliação Esta fase descreve os ativos explorados, quais ferramentas devem ser utilizadas e quais falhas poderão ser exploradas. Ela ainda se subdivide em sete etapas, conhecidas como camadas (layers). São elas: 77Categorias de ataques e normas M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. • Coleta de informações: levantamento das informações do ambiente. • Mapeamento de rede: identificação dos recursos e ativos presen- tes no ambiente. • Identificação de vulnerabilidades: detecção das vulnerabilidades nos ativos presentes no pentesting. • Penetração: obtenção de acesso aos sistemas vulneráveis. • Obtenção de acesso e escalonamento de privilégios: exploração das falhas e, quando possível, obtenção de acesso administrativo aos serviços, ativos ou softwares vulneráveis. • Enumeração mais avançada: obtenção de informações adicio- nais sobre processos nos sistemas com o objetivo de explorar a rede/sistemas, efetuando movimento lateral.1 • Comprometimento de usuários e sites remotos: exploração da re- lação de confiança na comunicação de usuários e redes remotas. • Manutenção de acesso: utilização de trojans, backdoors, rootkits e outros artifícios para manter o acesso ao ambiente comprometido. • Cobrir rastros: eliminação de todas as ações de comprometi- mento de sistema, eliminando logs, escondendo arquivos com- prometidos e desativando antivírus. IMPORTANTE Essas camadas se aplicam para ataques em redes, hosts, bancos de dados e aplicações. 1 Movimento lateral é um termo utilizado para caracterizar ataques em que, após a invasão com sucesso de um sistema, rede ou ativo, o hacker ou cracker procura, dentro dos elementos presentes em seu ambiente, outras vulnerabilidades para exploração. Como o atacante já se encontra no ambiente explorado, pode movimentar-se lateralmente, preocupando-se somente em explorar vulnerabilidades de ativos presentes nesse ambiente, uma vez que seu acesso àquele perímetro já foi realizado com sucesso. 78 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . 4.3 Relatório, limpeza e destruição de artefatos Nesta fase, são discutidos os canais de comunicação e os tipos de relatórios ao final do pentesting. São sempre consideradas duas formas de relato dos resultados: verbal e/ou escrita. De acordo com Abu-dabaseh e Alshammari (2018), os relatórios verbais são reserva- dos apenas para questões críticas ou urgentes. A comunicação verbal é utilizada nos casos em que são identificados problemas que requerem atenção e ação imediata. Podemos considerar um exemplo desse ce- nário se, durante o pentesting, o pentester verificar que o sistema está vulnerável e já foi comprometido. Tal situação é de extrema importância e precisa ser relatada ao contratante do teste de intrusão. Já o relatório escrito é a saída formal do teste de penetração, re- presentando o veredicto final do pentester. Normalmente, o relatório é escrito em tópicos, como: resumo da gestão, escopo do projeto, fer- ramentas utilizadas, exploits aplicados, data e hora dos testes, saídas das ferramentas de exploração, lista das vulnerabilidades identificadas, recomendações para mitigação das vulnerabilidades identificadas, nor- malmente classificadas por prioridade. Por fim, há a destruição de artefatos, ação que se concentra em re- mover do ambiente auditado todos os artefatos que sobraram do pen- testing, como scripts, softwares, entre outros. É importante ressaltar que, segundo Wilhelm (2013), o ISSAF é uma metodologia que não sofre atualizações desde 2006, portanto, alguns cenários novos na área de segurança podem não ter sido contemplados nela. Porém, ela ainda é relevante, uma vez que seus passos ainda são amplamente utilizados em pentestings. 79Categorias de ataques e normas M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. 5 Utilizando o CVSS em relatórios de auditoria de pentesting Várias metodologias e guias estão disponíveis para o pentester rea- lizar suas ações e testes de intrusão. Todas eles, em sua etapa final, fa- zem referência ao relatório, documento que demonstrará ao contratante do pentester quais são as vulnerabilidades e problemas em seu ambien- te que merecem atenção sob o risco de prejuízos em possíveis ataques. Porém, como o pentester deve categorizar e definir quais vulnerabi- lidades são mais importantes e prejudiciais que outras? Qual métrica o profissional pode utilizar em seu pentesting? Foi com base nesses questionamentos que o Common Vulnerability Scoring System (CVSS) foi criado. O CVSS é um padrão livre muito útil para avaliar a gravidade de determinadas vulnerabilidades nos diferen- tes ambientes, sistemas e ativos que são alvos de pentesting. Sua uti- lização facilita a categorização de prioridades e da gravidade de vul- nerabilidades, auxiliando o pentester a documentar formalmente as vulnerabilidades encontradas. O CVSS é medido e categorizado seguindo algumas métricas: • Vetor de ataque: verifica se a vulnerabilidade pode ser explorada via acesso remoto ou local. • Complexidade de acesso: verifica se requisitos administrativos são necessários para o ataque bem-sucedido ou se uma vez ex- plorada não é complexo o seu acesso. • Autenticação: verifica se o atacante necessita de autenticação e quantas vezes ele precisa realizar essa ação. • Impactos de confiabilidade, integridade e disponibilidade: veri- fica se o ataque afeta um desses três itens e em que proporção. 80 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . • Exploit: verifica se o exploit possui funcionalidade ou se ainda não foi comprovado seu funcionamento, se já há remediação para sua exploração e se já é conhecido para report na comunidade. • Efeito colateral: verifica se o exploit é danoso e em que proporção. • Disponibilidade de ataque no ambiente: verifica em quantos ati- vos do ambiente explorado o exploit está presente. • Requerimentos de informação quanto a confidencialidade, inte- gridade e disponibilidade: verifica qual é a importância das infor- mações e/ou serviços comprometidos. O CVSS é um importante aliado para o pentesting da documenta- ção de suas análises. É por ele que o pentester poderá informar qual a gravidade e severidade de cada vulnerabilidade encontrada. Claro que essa é uma recomendação e seu cálculo pode variar de ambiente para ambiente. Também é papel do pentester compreender quais são as ad- versidades de cada cenárioexplorado e como definir a importância de cada vulnerabilidade encontrada. O CVSS pode auxiliar o pentester nessa definição, inclusive apresen- tando ao contratante do relatório informações e métodos comprovados e conhecidos pelo mercado e pela comunidade de segurança, além de constantemente atualizados. 6 A norma para testes e avaliação de segurança da informação NIST SP800-115 Similar aos itens anteriores, a SP800-115 é uma metodologia que apresenta aspectos técnicos e recomendações para a realização de pentesting e análises de segurança de TI em geral, como auditorias e melhorias de processos. Ela é mantida pelo Instituto Nacional de Padrões e Tecnologia (National Institute of Standards and Technology – NIST), organização responsável por promover inovação e competivi- dade tecnológica nos Estados Unidos. 81Categorias de ataques e normas M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. O objetivo da metodologia SP800-115 é ajudar as organizações a planejar e conduzir testes de segurança de informações, analisar desco- bertas e desenvolver estratégias de mitigação de falhas em segurança (SCARFONE et al., 2008). Para isso, a metodologia se concentra em quatro fases essenciais, são elas: planejamento, descobrimento, relatório, ataque e descobertas adicionais, conforme demonstra a figura 3. Figura 3 – Fases do SP800-115 Descoberta AtaquePlanejamento Relatório Descobertas adicionais Cada uma dessas fases apresenta características específicas, que auxiliam o pentester a realizar seu trabalho de forma organizada e dire- ta, sem a necessidade de repetição de determinadas ações, salvo casos específicos: • Planejamento: as regras do pentesting são definidas, bem como a aprovação de ambas as partes envolvidas no escopo da ação. • Descoberta: trata-se da realização do teste de intrusão em si, fa- zendo a varredura do ambiente. • Ataque: dá seguimento ao teste de intrusão, levando em conside- ração as informações coletadas na fase anterior de descoberta e 82 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . realizando os ataques compatíveis às vulnerabilidades encontra- das. É possível verificar que essa fase pode se desviar para a ante- rior, uma vez que a realização de um ataque pode trazer novas des- cobertas e, inclusive novas vulnerabilidades. Portanto, é possível, segundo a metodologia, que durante o ataque o pentester volte à fase de descoberta, caso encontre novas informações. • Relatório: ocorre em conjunto com as fases anteriores, reportan- do todo o ocorrido e determinando a gravidade de cada vulnera- bilidade encontrada. PARA SABER MAIS De acordo com Melo et al. (2017), o NIST SP800-115 é muito presente na área de segurança e auditoria de TI. A norma completa com todas as informações e cenários pode ser encontrada no próprio site do NIST. Considerações finais Não só é possível encontrar diferentes vulnerabilidades em testes de intrusão e penetração, como também diferentes metodologias para a avaliação e execução desses testes. A avaliação de vulnerabilidade (ou vulnerability assessment) pode ser realizada por diferentes metodologias, todas com uma finalidade comum: trazer informações confiáveis e de segurança para o usuário. Também é preciso destacar que há diferen- tes tipos de cenário com os quais o profissional de segurança pode se deparar ao realizar suas análises de vulnerabilidade. É importante identi- ficar cada um desses cenários, uma vez que alguns demandam maiores ações de reconhecimento e mapeamento de serviços que outros. Diante disso, é necessário compreender o escopo das análises, uma vez que essa ação resulta em testes mais assertivos, atendendo ao objetivo final 83Categorias de ataques e normas M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. das análises. No entanto, indiferentemente do cenário apresentado, o profissional de segurança, durante o pentesting, pode encontrar diversas vulnerabilidades, algumas inclusive fora do escopo de ataque. Essas vul- nerabilidades são importantes e merecem a devida documentação, seja ela para o conhecimento de um possível contratante de seus serviços, seja para melhorias no ambiente auditado. Referências ABU-DABASEH, Farah; ALSHAMMARI, Esraa. Automated penetration testing: an overview. Computer Science & Information Technology, p. 121-129, 28 abr. 2018. Disponível em: http://dx.doi.org/10.5121/csit.2018.80610. Acesso em: 11 maio 2020. BASTA, Alfred; BASTA, Nadine; BROWN, Mary. Segurança de computadores e teste de invasão. 2. ed. São Paulo: Cengage Learning, 2014. CHAPPLE, Mike; STEWART, James Michael; GIBSON, Darril. (ISC)2 CISSP Certified Information Systems Security Professional official study guide. 8. ed. Indianapolis: Sybex A Wiley Brand, 2018. ISECOM. OSSTMM 3: the open source security testing methodology manual. [S. l.]: ISECOM, 2010. Disponível em: https://www.isecom.org/OSSTMM.3.pdf. Acesso em: 11 maio 2020. MELO, Sandro et al. Exploração de vulnerabilidades em redes TCP/IP. 3. ed. Rio de Janeiro: Alta Books, 2017. MICHAEL, C. C.; RADOSEVICH, Will. Black box security testing tools. 2005. Disponível em: https://www.ida.liu.se/~TDDC90/literature/papers/cc07bla- ckbox.pdf. Acesso em: 11 maio 2020. MUNIZ, Joseph; LAKHANI, Aamir. Web penetration testing with Kali Linux. Birmingham: Packt Publishing, 2013. OWASP. OWASP Top 10 2017: the ten most critical web application securi- ty risks. OWASP, 2017. Disponível em: https://owasp.org/www-pdf-archive/ OWASP_Top_10-2017_%28en%29.pdf.pdf. Acesso em: 15 abr. 2020. 84 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . SCARFONE, Karen et al. Technical guide to information security testing and assessment. National Institute of Standards and Technology (NIST) special pu- blication 800-115, 2008. Disponível em: http://dx.doi.org/10.6028/nist.sp.800- 115. Acesso em: 11 abr. 2020. STALLINGS, William. Criptografia e segurança de redes: princípios e práticas. 6. ed. São Paulo: Pearson, 2015. WILHELM, Thomas. Professional penetration testing. 2. ed. Waltham: Elsevier, 2013. 85 M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Capítulo 7 Hardening de sistemas operacionais Como adoção de boas práticas, todo serviço e sistema que coloca- mos em operação, especialmente aqueles que disponibilizamos para acesso de terceiros, deve passar por ajustes finos e acertos, seja para mantê-lo saudável e acessível, mas principalmente pela sua seguran- ça e para impossibilitar ações maliciosas. Técnicas de hardening pos- suem como objetivo deixar sistemas, aplicações, serviços e demais ativos mais robustos e resistentes a ataques, permitindo que, por meio de configurações e ajustes, possam resistir a determinadas ações sem prejudicarseu funcionamento. Apesar de ser considerada uma boa prá- tica, é de desconhecimento de alguns profissionais de TI sua aplicação. Veremos, neste capítulo, técnicas de hardening abrangentes para os sis- temas operacionais mais comuns, como Windows e o GNU Linux. 86 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . 1 Introdução aos sistemas operacionais Segundo Tanenbaum e Bos (2016), o sistema operacional é um conjunto de programas que realizam a interface entre o usuário e o hardware. Os sistemas operacionais permitem que hoje não seja mais necessária a manipulação de hardware e conhecimentos mais profun- dos de eletrônica e assembly.1 É importante ressaltar que existem vá- rios sistemas operacionais, divididos em vários tipos, com diferentes propriedades. Como nosso objetivo é a análise de vulnerabilidades em sistemas mais comumente utilizados e não específicos de determina- dos nichos, focaremos em sistemas operacionais modernos das pla- taformas x86, porém, destacamos que existem diversos tipos de siste- mas operacionais para diferentes tipos de arquiteturas computacionais, bem como para diferentes finalidades. Por segurança, os sistemas operacionais possuem alguns com- ponentes específicos, que demandam atenção especial do pentester, como: sistemas de autenticação, serviços de diretórios e serviços bási- cos de rede. Vamos conhecer mais sobre cada um deles. 1.1 Sistemas de autenticação A autenticação é um processo de verificação de identidade que con- siste em duas etapas (STALLINGS, 2015): • Identificação: apresentar um identificador ao sistema de segurança. • Verificação: apresentar ou gerar informações de identificação que corroboram o vínculo entre a entidade e o identificador. 1 Linguagem de programação de baixo nível. Utilizada para o desenvolvimento de baixo nível, em contato diretamente com endereçamento de hardware, operações de memórias e outras ações relacionadas à parte física de circuitos eletrônicos. 87Hardening de sistemas operacionais M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Portanto, os sistemas de autenticação em sistemas operacionais são responsáveis por validar as credenciais do usuário, ou seja, a identi- ficação de usuário e sua respectiva senha. Considerada uma segurança básica do sistema operacional, os sistemas de autenticação armaze- nam credenciais e as comparam para verificar se são válidas para aces- sar as informações solicitadas ou não. Os sistemas de autenticação podem ser locais, com suas bases armazenadas em locais específicos de cada sistema operacional, ou remotos, em bases externas. Dois dos principais exemplos remotos dessas bases são os bancos de dados SQL e as bases LDAP/Active Directory. Em sistemas corporativos, como em ambientes de TI, a autenticação por meio de bases remotas é uma prática muito comum, uma vez que os sistemas integrados possibilitam ajustes de permissões centraliza- dos, eliminando a necessidade de uma base de dados de usuários em cada sistema operacional. Se por um lado há a vantagem de integração e unificação de todos os usuários, por outro há a grande responsabili- dade na segurança no sistema de autenticação remota que, se compro- metido, pode trazer problemas sérios à segurança. Uma vez que o sistema de autenticação esteja comprometido, o invasor terá acesso às suas permissões, podendo então extrair infor- mações de outros sistemas do ambiente que, por sua vez, confiarão no sistema centralizado de credenciais comprometido para sua permis- são de acesso. Os sistemas distribuídos de autenticação, assim como os sistemas locais de autenticação, demandam técnicas de hardening para se manterem mais seguros em possíveis ataques. Em ambos os sistemas, as principais ações para hardening são (CIS, 2020): • Remoção de objetos que não estão em uso: usuários e elemen- tos que não são utilizados pelo sistema operacional, uma vez ati- vos, podem ser alvos de ataques e servir credenciais válidas para acesso do invasor. 88 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . • Utilização de senhas complexas, de preferência sem referên- cias de palavras simples: senhas com palavras simples e nume- rais que remetem a sequências são facilmente quebradas por meio de ataques de força bruta. • Usuários com as permissões adequadas: a devida permissão de usuários é necessária. Um usuário comum que não necessite de privilégios administrativos deverá ter permissão de usuário co- mum. Se esse usuário tiver privilégios administrativos e sua conta for comprometida, a superfície de ataque em que um invasor pode agir torna-se muito grande. Se tivesse as permissões adequadas, o ataque se limitaria apenas ao vazamento de informações. • Bloqueio de conta de serviços: é muito comum em sistemas ope- racionais alguns serviços possuírem usuários específicos para seu uso. Uma boa prática é a definição de permissão específica para as ações que se devem realizar. Ao mesmo tempo, caso não precise desta conta, seu bloqueio ou desativação também são válidos. • Manter o mínimo de elementos com permissões de administra- dor: normalmente, um administrador, seja em sistema local ou remoto, possui permissões que podem comprometer seriamente os sistemas em caso de uma invasão. É de extrema importância que sejam administradores somente os usuários que realmente necessitam de administração. 1.2 Serviços de diretórios Sistemas operacionais trabalham com serviços de diretório para a organização de seus elementos. Cada componente presente nesse sistema tem sua devida permissão e propriedades. Dessa forma, é possível definir especificamente as regras para cada um, evitando pos- síveis comprometimentos das informações em casos de invasões. É 89Hardening de sistemas operacionais M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. possível ainda encontrar em sistemas operacionais, especialmente os com base em Unix, tipos de permissões como DAC e MAC. O Discretionary Access Control (DAC) (em português, “controle de acesso discricionário”) é um formato de permissão dos sistemas de ar- quivos, no qual são atribuídas propriedades diante de grupos e usuários, caracterizando permissões simples como leitura (read), escrita (write) e execução (execute), conforme apresentado na figura 1. Figura 1 – Saída do comando ls –l apresentando as permissões DAC Já no Mandatory Access Control (MAC) (em português, “controle de acesso mandatório”), o formato de permissão segue as diretivas do DAC, mas com permissões que as sobrescrevem. Ou seja, por meio de ou- tros elementos, se as permissões de ambos forem concorrentes, o MAC prevalecerá diante da permissão do DAC (HAINES, 2014). O MAC ainda define que a política de controle de acesso é determinada pelo sistema, diferentemente do DAC, em que é o proprietário do recurso que detém sua permissão. São encontrados também sistemas que fazem uso do Role-Based Access Control (RBAC)(em português, “controle de acesso baseado em funções”), no qual as permissões são concedidas em função de regras de negócio, não considerando necessariamente as permissões individuais de cada usuário. O RBAC ainda pode incorporar as formas anteriores MAC e DAC, trabalhando em conjunto diante de suas per- missões e atribuições. É um sistema comum de ser encontrado em 90 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . corporações e ambientes que contam com diferentes permissões para diferentes setores e acessos personalizados para cada usuário da rede. Ambos os sistemas operacionais abordados neste capítulo, Microsoft Windows e GNU Linux, possuem essas características e podem operar com sistemas de permissões de arquivos. Tais formas de permissões possibilitam adequar as características de acesso para cada elemento no sistema. 1.3 Serviços básicos de rede De acordo com Tanenbaum e Bos (2016), os sistemas operacionais apresentam em sua arquitetura serviços básicos de rede que permitem seu funcionamento com a pilha TCP/IP.2 Salvo raras exceções, a pilha TCP/IP é adotada em toda comunicação de rede, permitindo que diferen- tes dispositivos, de diferentes fabricantes, comuniquem-se entre si. Nos sistemas operacionais, os serviços básicos de rede demandam que o fun- cionamento desses protocolos ocorra normalmente para uma comunica- ção adequada a outros elementos disponíveis no mesmo seguimento. É importante ressaltar que a maioria dos ataques infringidos em sistemas operacionais costumam ser oriundos de comunicações que fazem uso da pilha TCP/IP. Por isso, o sistema deve estar adequada- mente configurado e pronto para receber requisições de rede e prepa- rado para receber possíveis ataques sem o comprometimento de seu funcionamento ou vazamento de informação. Independentemente do tipo ou versão de sistema operacional, é importante ressaltar algumas recomendações de hardening (CIS, 2020): • Remoção de serviços não utilizados: os serviços que não são utili- zados no sistema operacional devem ser eliminados. Cada serviço 2 Conjunto de protocolos presente em redes de computadores e que permite o funcionamento das redes modernas atuais. 91Hardening de sistemas operacionais M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. faz o uso de um socket, abrindo uma porta de comunicação no sistema. Dependendo do serviço, essa porta pode ser um elemento suscetível de ataque e comprometimento do sistema em si. • Recebimento específico de conexões e endereços conhecidos: os sistemas operacionais, mesmo sem a presença de um firewall, permitem que, por meio de configurações internas, sejam acei- tas somente requisições e comunicações de determinados en- dereços na rede, evitando assim possíveis ataques de elementos intrusos. • Desativação de protocolos sem utilização: muitas das redes ainda operam em IPv4, porém, como padronização e aderência ao novo protocolo, os sistemas operacionais modernos já acom- panham os módulos e complementos necessários para suporte IPv6. Ao deixar ativado o IPv6 em uma rede IPv4, que não faz o uso do protocolo, é aberta mais uma forma de comunicação de elementos externos ao sistema operacional, permitindo que algu- mas formas de ataque possam ser exploradas. 2 Hardening em sistemas de kernel Linux Os sistemas operacionais baseados no kernel Linux estão muito pre- sentes no dia a dia, tanto para os profissionais de TI como para todos os que fazem uso de tecnologia. Um grande exemplo de sua forte pre- sença em nossas vidas são os smartphones Android, que são baseados no kernel Linux. Smartphones são pequenos computadores, com toda a estrutura convencional dos sistemas operacionais para desktops. Portanto, é muito comum encontrarmos dispositivos e equipamentos que fazem uso de kernel Linux, desde dispositivos portáteis até outros presentes em automações industriais, como dispositivos de Internet of Things (IoT) (internet das coisas), entre outros. 92 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . O Linux possui um código bastante otimizado e as funções essen- ciais para funcionamento do sistema são bastante estáveis e bem construídas. Claro que, mesmo com sua arquitetura robusta e bem es- truturada, os sistemas que fazem uso desse kernel não estão livres de vulnerabilidades ou falhas em seu código. Ao disponibilizarmos serviços para acesso, sejam específicos para um ambiente empresarial, ou também para atendimento ao público em geral, tanto os serviços como o sistema operacional devem passar por verificações e otimizações de hardening, a fim de evitar possíveis pro- blemas em tentativas de invasão e intrusão. Técnicas e recomendações de hardening para sistemas de kernel Linux são várias, e muitas delas podem variar de acordo com a distri- buição em uso. Segundo o Center for Internet Security (CIS) (2020), em seu último relatório, os sistemas Linux possuem mais de duzentas reco- mendações, cada uma voltada para uma determinada aplicação e uso da plataforma. Entre essas recomendações, vamos abordar duas prin- cipais que devem ser comuns na utilização de qualquer sistema Linux, em configurações de hardening realizadas por profissionais da área de segurança e hackers. 2.1 TCP Wrappers O TCP Wrappers é uma funcionalidade presente em sistemas de ker- nel Linux que permite o bloqueio/liberação de acesso a determinados serviços do sistema operacional por meio de endereços IP. Essa proprie- dade funciona similar a um firewall, porém atuando em camadas mais intrínsecas do sistema operacional. O TCP Wrappers ainda implementa o mecanismo de Access Control List (ACL) (em português, “lista de controle de acesso”), que por sua vez é um MAC. As listas de regras são verifica- das em em /etc/hosts.allow e /etc/hosts.deny. O arquivo hosts.allow é responsável por apresentar ao sistema os serviços e regras necessárias para a liberação das atividades desejadas pelo administrador (figura 2). 93Hardening de sistemas operacionais M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Figura 2 – Arquivo hosts.allow Já o arquivo hosts.deny (figura 3) efetua seu bloqueio de acordo com as regras nele apresentadas. É importante ressaltar que ambos os ar- quivos podem conter regras conflitantes entre si e, nesses casos, as regras de hosts.allow sempre prevalecerão. Figura 3 – Arquivo hosts.deny A configuração do TCP Wrappers pode ser realizada de diversas ma- neiras. Há administradores que fazem uso somente do arquivo hosts. deny, bloqueando os serviços e endereços de acesso, mas ao mesmo tempo também inserindo as respectivas exceções nesse mesmo ar- quivo. Outros já preferem fazer o bloqueio total pelo arquivo hosts.deny e aos poucos realizar as regras de liberação em hosts.allow. O tipo de 94 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tânc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . configuração varia de acordo com a preferência de cada administrador do sistema e profissional de segurança durante o processo de hardening. Não menos importante, cabe ressaltar que a técnica de TCP Wrappers aplica-se somente a softwares que fazem uso da biblioteca libwrap. Apesar dessa restrição, a ampla maioria dos serviços de sistemas de kernel Linux atende a essa demanda e funciona com o TCP Wrappers. No relatório de segurança do CIS (2020), recomenda-se que esses arquivos estejam preenchidos com as informações dos servidores e serviços que realizam comunicação com esse sistema operacional, blo- queando a comunicação de outros ativos presentes no mesmo segui- mento de rede. Dessa forma, é possível filtrar os acessos ao sistema operacional e aumentar a dificuldade de um possível invasor, uma vez que o sistema operacional somente responderá aos endereços presen- tes em sua lista de permissão, negando os demais. 2.2 Garantir que há somente um usuário com id 0 – e que este seja root Uma das características dos sistemas de kernel Linux é a presença de um usuário chamado root. Esse usuário representa a administração máxima no sistema operacional. Portanto, o usuário root possui as per- missões para realizar várias operações no sistema, inclusive ações que podem trazer problemas no sistema em si. É uma característica desses sistemas operacionais a presença das informações de usuário e senha em um arquivo chamado passwd, localizado em /etc. Cada usuário no sistema possui sua respectiva identificação, que, além de seu nome, pos- sui um número que o representa. O usuário root, por padrão, possui id 0. Caso algum outro usuário presente no sistema modifique seu id para o valor de 0, este também passará a executar ações similares ao adminis- trador root, mesmo sem a devida permissão para seu acesso. Conforme descrevem Melo et al. (2017), é de fundamental importância, ao efetuar hardening em servidores Linux, disponibilizar o acesso ao arquivo passwd 95Hardening de sistemas operacionais M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. somente para usuários que necessitam e/ou devam manipulá-lo para al- guma ação específica, caso contrário, atacantes podem criar backdoors e fazer uso de usuários que, mesmo não que tenham o nome root, pos- suem identificação de administrador, conseguindo acesso a arquivos e diretórios que não deveriam ser acessados. NA PRÁTICA O Web Apache é um dos servidores mais utilizados no mundo. Ele pos- sui versões tanto para ambientes Linux/Unix como também funciona na plataforma Windows. É um serviço robusto e amplamente utilizado para hospedagem de sites. Em sua configuração-padrão, o Apache já consegue efetuar a hospe- dagem de sites simplesmente inserindo o conteúdo dentro do respec- tivo diretório de configuração. No entanto, suas configurações-padrão nem sempre estão definidas adequadamente para o hardware que está hospedando o servidor. O Apache, por padrão, apresenta a configuração de 256 conexões concorrentes simultâneas. Isso significa que, simulta- neamente, o servidor atenderá 256 requisições de diferentes clientes, mesmo que sejam realizadas no mesmo intervalo de tempo. Dependen- do do hardware disponível para manter o serviço de hospedagem, este simplesmente pode sucumbir e não conseguir processar todas essas requisições de forma suficiente, ou até mesmo faltar memória para seu uso (o que ocorre na maioria dos casos). Com a técnica de hardening de limitar o número de conexões para um valor menor e compatível com a capacidade do servidor, em um possível DoS ou DDoS, o servidor Apache não vai travar ou apresentar problemas de falta de memória. 3 Hardening em sistemas Windows Sistemas Windows também estão bastante presentes no dia a dia. Além de sua utilização pela ampla maioria de usuários em seus desk- tops e notebooks, ainda verificamos servidores com a plataforma para 96 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . entregar vários tipos de serviços. Os sistemas da Microsoft também necessitam de hardening, uma vez que muitas das configurações pré-e- fetuadas em suas respectivas instalações podem trazer problemas de segurança. Esse sistema, também muito utilizado em TI, possui várias recomendações de hardening. Segundo o CIS (2020), podemos citar duas principais: desativação de conta de administrador e desativação de compartilhamentos CIFS/SMB não utilizados. 3.1 Desativação de conta de administrador O sistema operacional da Microsoft vem por padrão com contas cria- das com as características de administração. É importante que contas administrativas sejam utilizadas de forma cuidadosa, somente quando necessário. Em uma situação de comprometimento de credenciais, o atacante pode ter acesso administrativo somente à configuração das contas com as credenciais elevadas. IMPORTANTE Segundo o CIS (2016), seja a administração realizada localmente ou re- motamente, é importante que contas com perfil administrativo sejam desativadas e utilizadas somente em casos específicos de configura- ção e troubleshooting. Contas de uso comum devem possuir perfis não administrativos, a fim de evitar maiores impactos em casos de vaza- mentos de credenciais. A conta de administrador está presente em cada instalação Windows e, por ser uma conta-padrão, é de conhecimento do hacker que todo sis- tema Windows possui tal credencial. É importante a sua desativação e a criação de uma conta específica para essa utilidade, de modo que o sis- tema seja caracterizado de forma diferente que o padrão de instalação, trazendo uma dificuldade a mais para o invasor, que precisará descobrir quais contas estão presentes na base de dados atacada. 97Hardening de sistemas operacionais M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. 3.2 Desativação de compartilhamentos CIFS/SMB não utilizados De acordo com Thompson (2013), sistemas Microsoft permitem o compartilhamento de arquivos e diretórios em redes LAN por meio dos protocolos CIFS/SMB. Esses compartilhamentos permitem uma forma rápida de troca de dados entre sistemas operacionais, conforme apre- senta a figura 4. Figura 4 – Gerenciamento de compartilhamentos Windows No entanto, muitos desses compartilhamentos não são desativados quando não são mais utilizados, e permanecem abertos, permitindo acesso a locais que podem conter informações importantes. Além dis- so, os compartilhamentos ainda permitem o uso de contas de convida- dos, sem a necessidade de inserção de credenciais para seu acesso. É importante que, ao efetuar hardening dos sistemas Windows, uma aten- ção aos compartilhamentos CIFS/SMB seja dada, pois eles podem com- partilhar informações sigilosas que não deveriam ter acesso público. Compartilhamentos de rede são muito úteis, porém, se não forem ge- renciados adequadamente, podem trazer informações críticas de uma estrutura. Podem também disponibilizar dados que, em determinado 98 Ethical hacking M at er ia l p ar a us o ex cl us ivo d eal un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . momento, poderiam ter sido compartilhados, mas que, no presente, são sigilosos. Portanto, é essencial seu controle e constante verificação quanto às respectivas disponibilidades e permissões. Considerações finais Todo serviço disponível na rede mundial de computadores apresen- ta um sistema operacional responsável pelo seu funcionamento. Esses sistemas operacionais por si sós também possuem vários serviços e funções que permitem a sua operação e interface com o hardware. No entanto, eles não estão imunes a ataques e influências de agentes ex- ternos, especialmente nos dias atuais, em que sistemas operacionais não se limitam somente a servidores, notebooks e desktops, mas tam- bém a smartphones, tablets, veículos e diversos outros aparelhos que estão presentes em nosso cotidiano. Técnicas de hardening, tanto em sistemas operacionais como nos serviços que eles mantêm, são fundamentais para evitar possíveis vul- nerabilidades que possam acarretar complicações na segurança do ativo. O hardening é um processo necessário na proteção de um am- biente e não deve ser omitido por profissionais de TI na implantação de novos serviços. Referências CENTER FOR INTERNET SECURITY (CIS). CIS benchmarks. CIS, 2020. Disponível em: https://www.cisecurity.org/cis-benchmarks/. Acesso em: 14 abr. 2020. CENTER FOR INTERNET SECURITY (CIS). CIS Microsoft Windows Server 2012 R2: benchmark. [S. l.: s. n.], 2016. Disponível em: https://www.cisecurity. org/wp-content/uploads/2017/04/CIS_Microsoft_Windows_Server_2012_R2_ Benchmark_v2.2.0.pdf. Acesso em: 29 maio 2020. 99Hardening de sistemas operacionais M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. HAINES, Richard. The SELinux Notebook. 4. ed. [S. l.: s. n.], 2014. Disponível em: http://freecomputerbooks.com/books/The_SELinux_Notebook-4th_Edition.pdf. Acesso em: 14 abr. 2020. MELO, Sandro et al. Exploração de vulnerabilidades em redes TCP/IP. 3. ed. Rio de Janeiro: Alta Books, 2017. MUNIZ, Joseph; LAKHANI, Aamir. Web penetration testing with Kali Linux. Birmingham: Packt Publishing, 2013. STALLINGS, William. Criptografia e segurança de redes: princípios e práticas. 6. ed. São Paulo: Pearson, 2015. TANENBAUM, Andrew; BOS, Herbert. Sistemas operacionais modernos. 4. ed. São Paulo: Pearson, 2016. THOMPSON, Marco Aurélio. Microsoft Windows Server 2012: instalação, confi- guração e administração de redes. 2. ed. São Paulo: Saraiva, 2013. 101 M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Capítulo 8 Legislação no ethical hacking O hacker ético, para manter suas virtudes e colocar em prática suas ações, precisa conhecer e estar atualizado quanto à legislação e, princi- palmente, à manipulação de informações e dados, afinal, seu trabalho é realizado em uma linha tênue entre a ética e o crime. O profissional precisa estar a par das leis que podem ajudá-lo em seu trabalho, mas também compreender em que momento seu trabalho deixa de ser ético e começa a ser interpretado como crime. Neste capítulo, compreenderemos os conceitos da Lei Geral de Proteção de Dados Pessoais, bem como os principais crimes que, se não considerados adequadamente, podem ser aplicados à atividade do hacker ético, além de fontes de informações importantes sobre estatís- ticas e pesquisas de exploits. 102 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . 1 A Lei Geral de Proteção de Dados Pessoais e os desafios do ethical hacker A Lei Geral de Proteção de Dados Pessoais, conhecida também como LGPD (Lei no 13.709, de 14 de agosto de 2018), foi promulgada para regulamentar o tratamento das informações que são colhidas por empresas e entidades terceiras que, para prestar determinado serviço, possuem dados e informações de seus clientes. Essa lei foi criada prin- cipalmente para a proteção dos dados, especialmente proibindo a sua disseminação sem o devido consentimento expresso dos titulares, e é obrigatória para todas as empresas que manipulem ou detenham da- dos de pessoas físicas e jurídicas. Na figura 1, são destacados os principais direitos do cidadão, confor- me a LGPD (BRASIL, 2018). Figura 1 – Direitos do cidadão de acordo com a LGPD • Confirmação de que há tratamento de dados realizado • Acesso aos dados pessoais conservados • Correção de dados pessoais • Eliminação de dados pessoais desnecessários, excessivos ou caso o seu tratamento seja ilícito • Portabilidade de dados • Eliminação de dados* • Informação sobre compartilhamento de seus dados com entes públicos e privados • Informação sobre o não consentimento de tratamento de dados e as suas consequências • Revogação do consentimento nos termos da lei • Reclamação contra o controlador dos dados junto às autoridades • Oposição, caso discorde de um tratamento feito sem seu consentimento e o considere irregular *Exceto quando o tratamento é legal, mesmo que sem o consentimento do titular. . LGPD Fonte: adaptado de Brasil ([s. d.]). 103Legislação no ethical hacking M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Em relação à atuação do hacker, é necessário que esteja atento a alguns pontos importantes relacionados à lei: • Para divulgação e uso de informações, é necessário o consenti- mento de ambas as partes, empresa e titular das informações. • O titular das informações possui o direito sob o acesso aos seus dados, no que se refere à correção, anonimização, bloqueio ou até mesmo eliminação de seu conteúdo. • O titular pode revogar seu consentimento de uso das informa- ções a qualquer momento. • Nos casos de menores de idade, os responsáveis respondem diante das ações quanto aos dados. NA PRÁTICA A LGPD tem influência direta no hacker ético e em suas ações de pentes- ting. Por exemplo, o possível vazamento de informações é considerado crime, mesmo em casos de invasões ou falhas de segurança que o oca- sionem. Além disso, nas ações de pentesting que tenham como finalida- de a verificação das vulnerabilidades em ambientes que possam conter informações sensíveis e de terceiros, a divulgação de tais dados deve ser realizada com cautela, evitando infringir os pontos presentes na lei. Portanto, o hacker ético precisa estar ciente de suas ações, especial- mente em relação à manipulação das informações coletadas. Mesmo sem a intenção, o profissional poderá sofrer consequências legais ao realizar suas atividades profissionais, caso não tenha o devido conheci- mento da lei e dos requisitos para seu cumprimento. 104 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão eo c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . 2 Crimes cibernéticos ligados ao hacker ético O hacker ético pode acabar violando a LGPD, pois algumas ações de pentesting e segurança executadas por ele podem ser contrárias às re- comendações da lei. Independentemente do ambiente de pentesting em que estiver (white box, gray box ou black box), o hacker realizará a coleta de informações para realizar as suas análises de segurança, e dados sen- síveis, que deveriam ser preservados, podem estar presentes nessa cole- ta (BASTA; BASTA; BROWN, 2014). Como mencionamos, o uso e acesso de informações sem o consentimento do seu titular é vedado pela LGPD. No entanto, esses dados podem ser necessários para a geração de rela- tórios ou até mesmo para comprovar a vulnerabilidade de um ambiente. Além do acesso à informação, podemos considerar também que a mo- dificação de dados muitas vezes é necessária para a obtenção de cre- denciais e acessos a sistemas. Basicamente, várias das atividades que o hacker ético pratica, especialmente as que necessitam de manipulação ou furto de dados, violam a LGPD. Segundo o artigo 42 da LGPD: O controlador ou o operador que, em razão do exercício de ativida- de de tratamento de dados pessoais, causar a outrem dano patri- monial, moral, individual ou coletivo, em violação à legislação de proteção de dados pessoais, é obrigado a repará-lo. (BRASIL, 2018) Dessa forma, o juiz responsável pela ação judicial pode definir como será o reparo à violação cometida, seja por meio de ações corretivas solidárias ou, até mesmo, por meio financeiro. IMPORTANTE Diante desse cenário, o hacker precisa criar mecanismos de proteção para evitar possíveis problemas legais em sua atuação. É nesse momen- 105Legislação no ethical hacking M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. to que as etapas das metodologias de pentesting mostram-se importan- tes, pois, na preparação do pentesting, na qual o hacker define junto ao contratante do serviço os limites e quais informações ele deverá infor- mar em seu relatório, também deverá ser considerada a LGPD, verifican- do as questões legais quanto à sua ação, de modo que o contratante possa garantir sua segurança jurídica, especialmente no pentesting, caso tenha contato com dados sem o consentimento de seus titulares. 3 Estatísticas, vulnerabilidades e exploits O hacker ético, além do conhecimento necessário para realizar as atividades de invasão e proteção, precisa também reconhecer os locais em que é possível encontrar informações sobre novos exploits, vulnera- bilidades e, principalmente, documentações e estatísticas de ataques, uma vez que esses dados configuram um complemento fundamental para o conhecimento do profissional. A quantidade de vulnerabilidades e exploits aumenta diariamente, principalmente com o trabalho de crackers e outros elementos envol- vidos na sua descoberta e criação. Para cada serviço, ou até mesmo novas versões de softwares, vulnerabilidades podem ser encontradas e, consequentemente, exploits são criados. De acordo com Melo et al. (2017), o Security Focus é um dos en- dereços que o hacker ético deve considerar em sua lista de fontes de informação, pois é uma comunidade de segurança cujo foco é a verifi- cação e documentação das vulnerabilidades encontradas, bem como o fornecimento dos exploits criados para cada uma delas, possibilitando ainda espaço para possíveis colaboradores que queiram compartilhar ou desenvolver conteúdo para a comunidade. 106 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . Outra fonte de informação muito utilizada pelos profissionais da área é o Exploit Database. Ela possui uma grande base de dados de vulnera- bilidades e exploits e é constantemente atualizada. Também há espaço para contribuição de materiais e códigos para reportar vulnerabilidades, bem como explorá-las. Destaca-se principalmente pelo fornecimento do código dos exploits e pela possibilidade de eventuais modificações, caso necessário. Por fim, o hacker deve sempre consultar a fonte das vulnerabilida- des conhecidas, como o Common Vulnerabilities Exposures (CVE), que contém as informações das principais vulnerabilidades conhecidas e é obrigatoriamente utilizado em pentesting. Segundo Muniz e Lakhani (2013), os relatórios de pentesting devem conter os códigos de CVE principalmente quando são vulnerabilidades conhecidas. Além de faci- litar as correções das vulnerabilidades encontradas, o código do CVE também classifica como elas podem ser exploradas. Além das fontes de vulnerabilidades e exploits apresentadas, desta- cam-se ainda algumas referências que demonstram a quantidade de ataques que ocorrem ao redor do mundo, como: • Hacker Watch: projeto que disponibiliza relatórios de informa- ções sobre ataques, como portas mais utilizadas, além das ori- gens e destinos dos ataques. • Threat Map: disponibiliza um mapa com as principais formas de ataque que acontecem em tempo real no mundo, com a apresen- tação de dados estatísticos e com um ranking dos países mais atacados no momento. • Netscout: de forma similar ao Threat Map, apresenta um mapa com a origem e destino de cada ataque, com feixes de luz repre- sentando os ataques, além dos dados de taxa de transferência de cada país. 107Legislação no ethical hacking M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Ao acessarmos essas bases de dados estatísticos, é possível verifi- car que diversos ataques ocorrem constantemente pelo mundo e que determinadas localidades podem ser mais propícias a ataques que ou- tras. Esses são dados importantes, uma vez que podem trazer infor- mações relevantes de possíveis infecções de malwares ou até mesmo ações controladas por bots1 espalhados por todo o mundo. Considerações finais O hacker ético, mesmo atuando profissionalmente e agindo de modo diferente que o cracker, necessita de sólidos conhecimentos a respeito das leis que tangem a manipulação de informações. O desconhecimen- to de regulamentações nessa área pode acarretar consequências legais para o hacker, que, sem saber, poderá estar violando as leis vigentes de proteção de dados. Além disso, é importante ressaltar que todo o conhecimento técni- co do hacker deve ser constantemente atualizado e, muitas vezes, até compartilhado para contribuir com o conhecimento da comunidade de segurança. Hackers podem descobrir em suas atividades novas vulne- rabilidades e falhas de segurança, que podem ser compartilhadas com outros membros da comunidade, fazendo com que todos possam iden- tificar formas de corrigir as novas descobertas. Por fim, o conhecimento de endereços e bases de dados de exploits é importante para eventuais consultas, relatórios e contribuições nas atividades de pentesting. 1 São conhecidos por bots equipamentos infectados por malwares que estão sob controle de crackers. São normalmente utilizados para ataques de negação de serviço, embora seja possível também encontrar ataques de mineração de criptomoedas, entre outros. 108 Ethical hacking M at er ia l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc iad a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . Referências BASTA, Alfred; BASTA, Nadine; BROWN, Mary. Segurança de computadores e teste de invasão. 2. ed. São Paulo: Cengage Learning, 2014. BRASIL. Lei no 13.709, de 14 de agosto de 2018. Lei Geral de Proteção de Dados Pessoais (LGPD). 2018. Disponível em: http://www.planalto.gov.br/ ccivil_03/_ato2015-2018/2018/lei/L13709.htm. Acesso em: 16 abr. 2020. BRASIL. Quais são os seus direitos? Serpro, [s. d.]. Disponível em: https://www. serpro.gov.br/lgpd/cidadao/quais-sao-os-seus-direitos-lgpd. Acesso em: 17 abr. 2020. MELO, Sandro et al. Exploração de vulnerabilidades em redes TCP/IP. 3. ed. Rio de Janeiro: Alta Books, 2017. MUNIZ, Joseph; LAKHANI, Aamir. Web penetration testing with Kali Linux. Birmingham: Packt Publishing, 2013. 111 M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Sobre o autor Raphael Hungaro Moretti é mestre em engenharia da computação pelo Instituto de Pesquisas Tecnológicas da Universidade de São Paulo (IPT-USP), pós-graduado em segurança em TI pelo Instituto Presbiteriano Mackenzie, pós-graduando em ethical hacking e cybersecurity, formado em redes de computadores pela Faculdade Bandtec e membro ativo do Grupo de Estudos de Segurança Computacional, Computação Forense, IPv6, SDN e Sistemas de Rede sem Fio. Competência e experiência com sistemas operacionais Windows e Linux, além de atuante na área de TI. Experiente em automação de tarefas em ShellScript, sistemas de virtu- alização KVM, Vmware, operação crítica e soluções de software livre. Currículo Lattes: http://lattes.cnpq.br/3386050551442840. ISO 9001. ETH_HACK_01_ACE_2020 ETH_HACK_02_ACE_2020 ETH_HACK_03_ACE_2020 ETH_HACK_04_ACE_2020 ETH_HACK_05_ACE_2020 ETH_HACK_06_ACE_2020 ETH_HACK_07_ACE_2020 ETH_HACK_08_ACE_2020