image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image

LF

Luana Ferreira07/09/2023 16:21
Compartilhe

Desvendando o Pentest

    • Introdução
    • O que é pentest?
    • Diferença entre pentest e red team
    • Métodos de teste
    • Fases de pentest
    • Ferramentas de pentes
    • Tipos de pentest
    • Conclusão
    • Referências

    Introdução: 

    No primeiro semestre de 2022 houve um aumento de 94% de ataques cibernéticos, em comparação ao primeiro semestre de 2021, totalizando 31.5 billhões de tentativas de ataque a empresas, segundo um levantamento feito pela Fortinet ¹. 

    Tornando o Brasil o segundo maior atacado na América Latina, ficando atrás do México, e o primeiro na América do Sul.

    Entre as empresas atacadas em 2022, podemos lembrar do grupo Americanas S.A que teve quase 1 bilhão de prejuízo e demoraram 3 dias para voltarem a funcionar normalmente.

    Temos também o ataque a Record TV que teve seu conteúdo criptografado por dias, mesmo tendo backup.

    Mesmo com esses incidentes, devemos levar em consideração que nem todo hacker é do mal, essa categoria é dividida em 3 tipos, black hat, gray hat, e white hat ².

    image

    Imagem 1: Desenho de pessoas usando chapéus nas cores preta, cinza e branca, referenciando aos tipos de hackers (black, gray e white hat)


    • Black hat: Os hackers black hat, são os hackers “do mal”, aqueles que não tem autorização legal para testar os sistemas. São os famosos hackers que vemos em filmes e séries. Suas intenções são maliciosas, ou seja, roubar dados, danificar o sistema…
    • Gray hat: Os hackers gray hat, também não tem autorização para testar os sistemas, mas suas intenções não são maliciosas, e quando encontram uma vulnerabilidade eles informam aos responsáveis ao invés de usá-las de forma maliciosa. 
    • White hat: Os hackers white hat, são os contratados ou que tem autorização legal para os testes, eles encontram as vulnerabilidades, informam aos responsáveis e auxiliam na correção.

    Como podemos ver, há hackers que trabalham para empresas com o objetivo de encontrar vulnerabilidades antes que os black hats as encontrem. Para isso é importante ter uma equipe de pentest. 

    O que é pentest:

    Pentest é a abreviação de ‘penetration test’, que em português significa teste de intrusão. 

    O que isso significa? Em termos simples, é um teste cujo objetivo é encontrar o máximo de vulnerabilidades em sistemas específicos (web, mobile, redes…), e com isso deixá-los mais seguros e dificultar ataques hackers.

    Diferença entre pentest e red team: ³

    Muitas pessoas confundem os dois termos, mesmo sendo semelhantes há diversas diferenças. 

    Uma equipe de red team tem como objetivo principal simular ataques reais, gerar maturidade para outras equipes, além de criar ferramentas para o teste.

    Nas simulações de Red team, o objetivo não é achar vulnerabilidades de um sistema específico, mas usar diversos sistemas, inclusive pessoas (engenharia social) para atingir um objetivo definido.

    Já a equipe de Pentest tem como objetivo encontrar vulnerabilidades em um sistema específico.

    A questão de tempo também é relativa, uma simulação de red team pode durar meses, enquanto um pentest costuma ter a duração de 1 a 2 semanas.

    Mesmo se sua intenção for boa, não se deve invadir um sistema sem autorização dos responsáveis, pois há quesitos legais, você pode ver mais na referência.⁴

    Métodos de teste: ⁵

    Há 3 modelos de teste, são divididos em black box, gray box e white box.

    image

    Imagem 2: Caixas nas cores branca, cinza e preta para exemplificar black, gray e whitebox. 


    • Black box: Esse método é um teste “cego”, ou seja, o atacante não tem nenhuma informação do sistema, que simula de maneira mais realista um ataque hacker real.
    • Gray box: Essa modalidade, a pessoa que testa tem informações parciais, exemplo: ele sabe como o sistema funciona, o objetivo do sistema ser usado, se tem comunicação com outros sistemas, os bancos de dados usados, entre outras coisas que a empresa define.
    • White box: A forma white é mais aberta, ou seja, a pessoa tem acesso a documentação, as todas as comunicações do sistema (seja interna ou externa), tem acesso ao código fonte, toda estrutura do sistema a ser testado.

    Fases de pentest:

    Não há um acordo entre a comunidade sobre as nomenclaturas das fases de pentest, há empresas que dividem de forma mais detalhada, enquanto outras são mais generalistas. 

    No entanto há uma instituição norte-americana chamada NIST - ‘National Institute of Standards and Technology’, traduzindo - Instituto Nacional de Padrões e Tecnologia, e dentro dele temos o NIST 800-115 ⁶.

    O NIST 800-115 é um Guia Técnico para Teste e Avaliação de Segurança da Informação, publicado em setembro de 2008. Nele é dividido em planejamento, execução e pós-execução.

    • A fase de planejamento é usada para reunir informações necessárias para execução da avaliação - como ativos, ameaças contra os ativos e os controles de segurança a serem usados para mitigar essas ameaças  - e para desenvolver a abordagem  de avaliação.
    • A fase de execução é a fase do teste em si. Ou seja, identificar e validar as vulnerabilidades. 
    • E a fase de pós execução que se concentra na causa raiz da vulnerabilidade, mitigação e desenvolvimento do relatório final⁷.

    Ferramentas de pentest:

    image

    Imagem: Mãos em cima de um notebook, com um cadeado digital, representando o trabalho de encontrar vulnerabilidades.

    Já sabemos as principais fases de um pentest, agora vamos detalhar ainda mais essas fases com exemplos de ferramentas. 

    Quando vamos executar um teste, mesmo tendo toda a documentação, precisamos fazer o reconhecimento. Existe o reconhecimento ativo e passivo. 

    O reconhecimento ativo é tudo que gera “barulho” na rede/sistema da vítima, ou seja, é interagir diretamente com o sistema. Para isso utilizamos scans de rede, (sendo) o mais conhecido é o NMAP⁸. 

    Com o NMAP é possível encontrar portas abertas (Em uma rede há 65536 portas, essas portas são endereços que ficam os protocolos, os protocolos são responsáveis pela comunicação. Exemplo, um site utiliza o protocolo https, o protocolo normalmente é referente a porta 443).

    Essa parte pode ser um pouco confusa para quem não tem conhecimento técnico, por isso caso você não saiba o que é protocolo, porta, TCP/UDP…

    Recomendo que acesse o seguinte link: https://www.cloudflare.com/pt-br/learning/network-layer/what-is-a-protocol/

    E leia o livro: Redes de computadores do  Andrew Stuart Tanenbaum.

    Mas em um teste há possíveis bloqueios de ferramentas, por isso é importante saber a lógica por trás da ferramenta e fazer seus próprios scripts. 

    No reconhecimento passivo, não interagimos diretamente com a vítima. Nesse caso é utilizado ferramentas como o google, github, pesquisa aberta no postman e a ferramenta wireshark⁹.

    O Wireshark é uma ferramenta que analisa pacotes, para isso é necessário estar na mesma rede. Mas nele você consegue ver todas as trocas de pacote, e inclusive, se tiver algum sistema dentro da rede que utilize UDP, você consegue ver tudo que se passa em texto claro, incluindo usuários e senhas. 

    Há também ferramentas automatizadas de vulnerabilidades, o Nessus é um exemplo - Não vou me aprofundar, se quiser saber mais sobre o Nessus é só ir no site oficial: https://pt-br.tenable.com/products/nessus

    Após o reconhecimento da rede/sistema, teremos informações de protocolos e suas versões, com isso podemos partir para pesquisas a respeito de vulnerabilidades. 

    Em relação a web eu gosto de usar a ferramenta: burpsuite¹⁰. (pessoalidade)

    Com o burpsuite é possível fazer interceptações de requisições, análises automáticas de vulnerabilidades, ataques automáticos (bruteforce por exemplo), também tem uma parte de token, onde você consegue “descriptografar” informações de base64 para texto claro, utilizar extensões para “descriptografia” de jwt tokens, entre outras coisas.

    Há uma ferramenta chamada metasploit¹¹, ela é útil tanto para reconhecimento, quanto para ataques em si, nela conseguimos linkar o nmap há um banco de dados local, e ao rodar o comando, todas as informações ficam salvas nos hosts.

    Também é possível executar uma série de exploits  (são scripts que exploram uma falha ou vulnerabilidade), dessa forma otimizando o tempo do atacante. 

    Na pós - exploração, é necessário fazer um relatório apresentando as vulnerabilidades encontradas, por isso é importante tirar evidências e registrar tudo que é feito. Eu utilizo o próprio printScreen do teclado.

    Tipos de pentest:

    imageImagem 4: Lupa em cima da tela de um notebook, como se estivesse em busca de informações.

    Dentro de uma organização há diversos tipos de pentest, na teoria todo sistema deveria ser testado, seja ele web, mobile, redes… Porém sabemos que isso é uma realidade utópica e poucas empresas conseguem fazer esse fluxo em todos os seus sistemas.

    Podemos categorizar os tipos de pentest pelo seu núcleo tecnológico, ou seja, pentest web, pentest em redes, pentest mobile, entre outros. 

    -No pentest web é feito os testes em aplicações web (sites). Esses sites podem ter diferentes níveis de dificuldade, desde uma página estática, até aplicações com login, senha, endereços, chamados. 

    Para conseguir fazer um pentest web é necessário conhecimentos de como funciona a estrutura web, como um site é feito, comandos de banco de dados, entender o fluxo cliente-servidor. Existe uma ferramenta chamada OWASP ¹², nela tem as 10 principais vulnerabilidades do ano, também tem exemplos de como executar o teste daquela vulnerabilidade. 

    -O pentest em redes corporativas costuma ser feito presencialmente em algum escritório. Uma das formas mais comuns é por protocolo ¹³. Ou seja, ao fazer o reconhecimento de rede, nos é retornado uma série de protocolos e portas abertas, tendo o conhecimento sobre protocolos mais vulneráveis fica mais fácil identificar a porta de entrada.

    Um exemplo recorrente em um teste de redes é o protocolo SMB, as versões 1 e 2 deste protocolo são bastante vulneráveis, e muitas empresas ainda usam essa versão. Então, se você faz o reconhecimento de rede e vê o SMB v1, você pode testar para confirmar que está vulnerável. 

    -O Pentest Mobile o foco é em aplicativos android e ios. É importante também entender um pouco da arquitetura mobile, pois o teste em android é diferente de um teste no ios. No Owasp¹⁴ também tem uma parte para mobile, assim como tem para web.

    Também tem pentest em apis, em redes wi-fi, dispositivos IOT, etc. Não há um limite bem definido dos tipos de pentest, cada empresa vai definir quais os tipos se encaixam na regra de negócio e no segmento. Mas web e redes internas são os mais requisitados. Para ver mais detalhes sobre os tipos de pentest tem o seguinte site: https://brightsec.com/blog/penetration-testing-types/

    Conclusão:

    Chegamos em um ponto que é só uma questão de tempo até sua empresa ser atacada. 

    Em um ataque real muitas coisas ficam em jogo, como a confiabilidade da empresa, além de ter multas federais por conta de vazamento de dados. Sabendo que toda empresa será atacada um dia, o profissional pentester auxilia muito em diminuir os “estragos” causados e também a dificultar a entrada de hackers maliciosos nos sistemas. 

    Tem o princípio do mínimo esforço. Um hacker que está em busca de dinheiro irá desistir se estiver muito difícil de encontrar uma vulnerabilidade, tendo em mente que eles testam dezenas de sistemas simultaneamente em busca de brechas para entrar no sistema. 

    Nas referências terá alguns links de estudo para quem quiser se aprofundar nessa parte e também meu linkedin pessoal caso precisem de algum auxílio e tenham vergonha. 

    Referências:

    ¹ Levantamento mostra que ataques cibernéticos no Brasil cresceram 94% https://www.cnnbrasil.com.br/tecnologia/levantamento-mostra-que-ataques-ciberneticos-no-brasil-cresceram-94/

    ² Hackers type - https://www.avast.com/c-hacker-types

    ³ Pentest vs Red team https://www.ibliss.com.br/pentest-vs-red-team-qual-a-diferenca/

    ⁴ A invasão de dispositivos eletrônicos - https://www.jusbrasil.com.br/artigos/a-invasao-de-dispositivos-eletronicos/1125086551

    ⁵ Tipos de pentest, black, white e grey hat - https://www.softwall.com.br/blog/tipos-de-pentest-black-white-grey/

    ⁶ NIST 800-115 - https://csrc.nist.gov/pubs/sp/800/115/final

    ⁷ Página 13 - https://nvlpubs.nist.gov/nistpubs/legacy/sp/nistspecialpublication800-115.pdf

    ⁸ Nmap- https://nmap.org/

    ⁹ Wireshark- https://www.wireshark.org/

    ¹⁰ Burpsuite - https://portswigger.net/burp

    ¹¹ Metasploit- https://www.rapid7.com/products/metasploit/

    ¹² Owasp top ten - https://owasp.org/www-project-top-ten/

    ¹³ Para ver mais sobre protocolos e vulnerabilidades - https://book.hacktricks.xyz/

    ¹⁴ Owasp top ten mobile- https://owasp.org/www-project-mobile-top-10/

    Imagem 1- https://www.searchenginejournal.com/wp-content/uploads/2020/04/white-hat-grey-hat-black-hat-seo-5eaab5acb0e80-760x400.webp

    Imagem 2- https://backoffice.hardsecure.pt/uploads/pentest_981b619153.png,

    Imagem 3 - https://blog.algartelecom.com.br/wp-content/uploads/2022/10/ferramentas-de-seguranca-da-informacao.jpg

    Imagem 4 - https://cleancloud.io/wp-content/uploads/Pentest_CSPM-2.png

    Links de estudo: 

    https://portswigger.net/web-security

    https://tryhackme.com/ 

    https://academy.hackthebox.com/ https://cryptohack.org/courses/ https://www.hacker101.com/start-here https://portswigger.net/web-security/all-materials https://247ctf.com/dashboard https://skillsforall.com/career-path/cybersecurity?userLang=pt-BR&courseLang=pt-BR 

    Roadmap https://roadmap.sh/cyber-security

    Linkedin da autora: Luana Ferreira

    Compartilhe
    Comentários (0)