Baixe o app para aproveitar ainda mais
Prévia do material em texto
SEGURANÇA DE SISTEMAS DA INFORMAÇÃO Andressa Dellay Agra Técnicas para teste de penetração na rede Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: Definir pentest ou testes de intrusão. Diferenciar os tipos de pentests. Descrever as etapas do pentest. Introdução Quando se trabalha com a tecnologia, a segurança é um dos pilares mais fortes e necessários de todos os envolvidos no projeto. Testes de invasões são uma importante ferramenta para garantir a segurança contra ataques e disponibilidade da ferramenta no período máximo de tempo. Este capítulo vai facilitar esse entendimento e também sobre testes de invasão. Definir pentest ou testes de intrusão Após muito tempo dedicado ao desenvolvimento do sistema, com ações de marketing para o lançamento, equipe de vendas fi ca frenética na comercia- lização do novo produto e há expectativa e desejo dos clientes em utilizar a nova solução. Esse cenário é muito comum na abertura aos clientes de um novo sistema desenvolvido. Apesar de parecer correto o planejamento, é necessário adicionar uma outra fase antes do lançamento do produto, que é o de testes. Assim, uma bateria de testes é necessária para atestar o bom funcionamento do sistema, bem como testar a sua fragilidade contra acessos não autorizados. O pentest, ou penetration test, é a forma de tentar invadir um sistema e se aproveitar desse acesso não autorizado, seja pelo roubo de informações, pela manipulação das informações ali constantes ou, ainda, pela retirada do ar do próprio sistema. Um sistema é considerado seguro caso consiga atender aos requisitos básicos de quem, quando e o que cada usuário pode acessar. Dessa forma, considere que testes de intrusão devem atestar a segurança do sistema em relação aos privilégios de acesso, bem como de usuário cadastrado no próprio sistema em questão. Testes de intrusão e penetração, ou simplesmente pentest, podem ser direcionados tanto para sistemas como também para redes de computadores. Convém lembrar que o pentest não é uma atividade ilegal, mas sim uma consultoria para identificar e corrigir falhas de segurança em sistemas e redes de computadores. Geralmente uma empresa contrata profissionais para realizar esse tipo de atividade de pentest, servindo como base para que corrija falhas e iniba ataques verdadeiros por parte de pessoas realmente mal-intencionadas. Em voga nos dias atuais, o certificado de Ethical Hacker concede atestado de conhecimento (como se fosse um selo de garantia) aos profissionais que realizam testes de intrusão, fazendo ser reconhecidos no mercado para a con- tratação por parte das organizações que querem validar seus sistemas e redes. Kali Para realizar esse trabalho de análise e testes de intrusão, diversas ferramentas e muito conhecimento são necessários. Como forma de facilitar uma parte dessa atividade, existe uma distribuição Linux própria em que os testadores podem se basear como ponto de partida: Kali Linux. Kali é uma distribuição Linux que é considerada um canivete suíço, re- cheado de sistemas para trabalhar nessa área de testes e segurança. O nome Kali é atribuído à mitologia hindu. Obviamente que subsistemas dentro do Kali são fundamentais para o trabalho do testador de invasão, tal como Nmap, Nessus e Metasploit, tendo mais de 300 ferramentas disponíveis para os testes. Técnicas para teste de penetração na rede2 Para realizar o download do Kali Linux basta entrar no site oficial da distribuição: https://goo.gl/SbA0E1 Burp Suite Agora estudaremos outra ferramenta bastante versátil para quem trabalha com testes de invasão: o Burp Suite. A defi nição sobre a ferramenta Burp que melhor defi ne sua utilidade é a da própria página do software: Burp Suite é uma plataforma integrada para a realização de testes de segurança em aplicações web. Suas diversas ferramentas funcionam perfeitamente em conjunto para apoiar todo o processo de testes, de mapeamento e análise de superfície de ataque de uma requisição inicial até encontrar e explorar vulnerabilidades de segurança (PRTSWIGGER, 2018, documento on-line). O Burp Suite está disponível em três versões distintas em preços e fun- cionalidades, cada qual com o seu propósito (Quadro 1): 3Técnicas para teste de penetração na rede Versão Enterprise Professional Community Preço $ 3999/ano $ 399/usuário/ ano Sem custos (pesquisa e hobby) Scanner de vulnerabilidade web Sim Sim - Repetição de varredura e agendamento Sim - - Escalabilidade ilimitada Sim - - Integração CI Sim - - Ferramentas manuais avançadas - Sim - Ferramentas manuais essenciais - sim Sim Quadro 1. Diferença entre versões do Burp A versão Community permite o download da edição 1.7.36 atualmente, para plataformas MacOS, Linux e Windows. O download do Burp Suite pode ser realizado no link a seguir. https://goo.gl/jJcYEU Técnicas para teste de penetração na rede4 Diferenciando os tipos de pentests Para realizar a diferenciação entre os dois tipos de testes de intrusão, é ne- cessário saber que cada um serve para um propósito específi co, permitindo identifi car diferentes problemas e falhas (Figura 1). White Box Neste tipo de pentest, o conhecimento das características do sistema e/ou da rede de computadores pelo profi ssional que conduzirá o pentest é certo. Em outras palavras, a pessoa responsável pelo teste de intrusão tem total conhe- cimento sobre o funcionamento do sistema ou rede a ser testada. Endereços IPs, como é realizada a configuração do sistema, atividades de auditoria, etc. são de conhecimento obrigatório da pessoa que conduz o teste. Black Box Já nesta confi guração de teste de intrusão, o testador não tem conhecimento da rede de computadores ou sistema-alvo, ou seja, o inverso do White Box, que o testador tem informações relevantes sobre o alvo. Gray Box Esta última modalidade é uma forma híbrida de pentest, portanto, uma mistura entre o White Box e o Black Box. O atacante tem alguma informação relevante do sistema, mas não de forma ampla ou total, como no White Box, nem nas escuras, como no caso envolvendo o tipo Black Box. Lembre-se dos três tipos de pentests que existem e suas particularidades: White Box: o atacante tem conhecimento interno da aplicação ou rede de computadores. Black Box: o atacante não tem conhecimento interno da aplicação ou rede de computadores. Gray Box: uma mistura dos dois tipos anteriores. 5Técnicas para teste de penetração na rede Figura 1. Relação entre os tipos de pentests. Fonte: Auzac (2016, documento on-line). Tempo de execução Eficiência x custo Qualidade dos resultados Profundidade do teste White box Black box Grey box Autonomia do analista 5 4 3 2 1 0 Para a correta interpretação da Figura 1 anterior, é necessário verificar as informações de atividades que ocorrem nas “pontas” das figuras, tipos de testes de penetração e também os níveis de relação. A seguir, de forma mais clara, essas informações são reapresentadas: 1. Atividades ■ Tempo de execução. ■ Autonomia do analista. ■ Profundidade do teste. ■ Qualidade dos resultados. ■ Eficiência x Custo. 2. Tipos de pentests ■ White Box (linha azul). ■ Black Box (linha preta). ■ Gray Box (linha cinza). Técnicas para teste de penetração na rede6 3. Níveis ■ 0 ou mínimo. ■ 1. ■ 2. ■ 3. ■ 4. ■ 5 ou máximo. Análise do White Box O pentest do tipo White Box alcança nota máxima em dois quesitos, sendo eles profundidade do teste e qualidade dos resultados, e nota 4 em outros dois quesitos, efi ciência x custo e tempo de execução. A autonomia do especialista no White Box fi ca comprometida, uma vez que a nota obtida nesse quesito é 2. Análise do Black Box Para o pentest do tipo Black Box, a única nota máxima atingida é no quesito de autonomia do especialista, duas notas 3 em qualidade dos resultados e efi ciência x custo e duas notas 2 nos quesitos tempo de execução e profundidade dostestes. Análise do Gray Box Sendo o modelo híbrido entre o White e Black Box, o Gray Box atingiu notas que chamam a atenção: duas notas 5 em efi ciência x custo e tempo de execução e três notas 4 nos quesitos autonomia do analista, profundidade dos testes e qualidade dos resultados. Análise geral O Quadro 2 a seguir demonstra as notas obtidas com a soma dos quesitos de cada tipo de pentest e a média simples das notas: 7Técnicas para teste de penetração na rede Pentest Notas Média White Box 5 + 5 + 4 + 4 + 2 = 20 4 Black Box 5 + 3 + 3 + 2 + 2 = 15 3 Gray Box 5 + 5 + 4 + 4 + 4 = 22 4,4 Quadro 2. Notas dos pentests Por meio da extração da média de nota e também com base na Figura 1 anterior, é claro o entendimento de que o pentest do tipo Gray Box (também conhecido como pentest híbrido) é o que mais entrega resultados amplos. Por se tratar de situação mais cotidiana, o pentest do tipo Black Box é o mais utilizado para realizar baterias de tentativas de invasão em sistemas atualmente. Descrição das etapas do pentest Observando-se o pentest como um framework, ocorre a sua divisão em fases bem defi nidas e estratégicas, conhecido como Penetration Testing Execution Standard (PTES), sendo suas divisões, segundo Augusto (2017): Pré-acordo de interação: em que a empresa e o tester combinam o que deve ser testado, quais os meios de teste e qual a finalidade do teste. Nessa etapa, também é assinado um contrato de sigilo pelas duas partes. Fase de reconhecimento: momento em que a equipe de testadores faz um levantamento do máximo de informações sobre a empresa que será analisada. Fase de varredura: esse é o momento em que os testadores fazem uma varredura completa na rede para saber o que está presente. Por exemplo, o range de IPs, servidores, sistemas operacionais, portas abertas, etc. Técnicas para teste de penetração na rede8 Fase de obtenção de acesso e exploração: usando as informações obti- das na fase de varredura, o pentester irá explorar cada item de forma separada, tentando encontrar as vulnerabilidades de cada um, seja por exploit ou por brute force. Fase de obtenção de evidências e relatório: após identificar todas as vulnerabilidades e possíveis ameaças, essas evidências são arquivadas pela equipe testadora. Com base nas evidências, é elaborado um rela- tório completo sobre as vulnerabilidades e os prejuízos que a empresa poderia ter em caso de invasão. Para ciência e comparação, em serviços webs, Moreno (2015) divide o pentest em sete etapas, sendo elas: reconhecimento, scanning, exploração de falhas, escalonamento de privilégios, manutenção do acesso, negação do serviço e correção (Figura 2). Figura 2. Pentest web. Fonte: Adaptada de Moreno (2015) Na fase de reconhecimento, são levantadas as informações sobre o alvo e também se descobre o que é desejado que seja realizado (objetivo). Na fase de scanning são rastreadas as informações que o sistema entrega, bem como há a verificação de versões de linguagem de programação, frameworks, versão do sistema operacional, etc. Em sua terceira fase, a de exploração de falhas, são confrontadas todas as informações levantadas previamente e comparadas com o que existe de falhas de segurança a nível de plataforma e, também, erros de programação, como validação incorreta de campos. Inicia-se, então, a fase de escalonamento de privilégios. Nessa fase, já é possível acessar o sistema, por meio do qual tentará aumentar as permissões 9Técnicas para teste de penetração na rede originais do invasor para maior amplitude. Para a manutenção de acesso, geralmente temos um backdoor a ser instalado, de forma a garantir o retorno do acesso do invasor em um outro momento futuro. Seguimos para a negação de serviço, na qual ocorre a interrupção do sistema-alvo por meio de ataque distribuído de acessos, por exemplo. Com isso, temos a etapa de correção, na qual todos os dados e valores levantados no pentest ficam disponíveis para que, em conjunto com desenvolvedores e administradores de sistemas, possam realizar as atividades de remediação das falhas encontradas. AUGUSTO, C. Entenda o que é Pentest (Teste de Intrusão), para que serve e como é feito. Ninja do Linux, 10 fev. 2017. Disponível em: <http://ninjadolinux.com.br/o-que- -e-pentest/>. Acesso em: 16 dez. 2018. MORENO, D. Introdução ao Pentest. São Paulo: Novatec, 2015. PORTSWIGGER. Burp Suite Editions. 2018. Disponível em: <https://portswigger.net/ burp>. Acesso em: 16 dez. 2018. AUZAC. Tipos de Pentest. 2016. Disponível em: <http://www.auzac.com.br/testes-de- -invasao/tipos-de-pentest/>. Acesso em: 16 dez. 2018. Leituras recomendadas SITE BLINDADO. Quais as fases do Pentest? 21 set. 2017. Disponível em: <https://blog. siteblindado.com/quais-as-fases-do-pentest/>. Acesso em: 16 dez. 2018. VIEGAS, J. O que é (e para que serve) o pentest. One Day Testing, 11 jul. 2016. Disponível em: <http://blog.onedaytesting.com.br/o-que-e-pentest-e-para-que-serve/>. Acesso em: 16 dez. 2018. Técnicas para teste de penetração na rede10 Conteúdo:
Compartilhar