O que é pentesting?
Fala galera, hoje iremos abordar um assunto bem comum hoje em dia, porém muito mal explicado ou mal interpretado por muitas pessoas, o pentesting. Não iremos abordar técnicas ou ferramentas nesse post, mas sim conceitos, em outras palavras iremos tentar explicar o que é o pentest e termos relacionados.
O que é penetration testing?
O penetration testing, muitas vezes chamado de “pentesting”, “pen testing”, “network penetration testing” ou “security testing” é a prática de atacar aplicações e redes de computadores próprias ou de clientes da mesma forma que um hacker identificaria brechas de segurança. Claro, você faz isso sem realmente prejudicar a rede ou a aplicação, ou seja, sem causar dano ou prejuízo ao negócio. A pessoa que faz esse tipo de trabalho é chamado de pentester.
Precisamos deixar uma coisa bem clara, o pentest exige que você obtenha permissão da pessoa responsável pela rede ou aplicação que será testada. Caso contrário, você estará hackeando o sistema, o que é ilegal na maioria dos países, incluindo o Brasil, e confie em mim, você não vai querer ser processado por isso 😉 Em outras palavras: A diferença entre pentesting e hacking é ter permissão do proprietário do sistema para realizar os testes.
O que é vulnerabilidade?
Uma vulnerabilidade é um furo de segurança em um software, hardware ou sistema operacional que fornece um ângulo potencial para atacar o sistema. Uma vulnerabilidade pode ser tão simples como senhas fracas ou tão complexa quanto buffer overflows ou vulnerabilidades de SQL Injection.
Para verificar se você tem alguma vulnerabilidade em seu sistema, geralmente se utiliza uma solução de gerenciamento de vulnerabilidades, também conhecida como scanner de vulnerabilidades. Se você quiser testar algum scanner de vulnerabilidades recomendo o NeXpose, Nessus, OpenVAS ou o scanner da Qualys. É importante lembrar que um scanner não faz o trabalho de um pentester, ele só faz ataques automatizados, porém auxilia no processo do mesmo.
O que é um Exploit?
Para se explorar uma vulnerabilidade, muitas vezes você precisa de um exploit, um pequeno programa cuja única razão de existir é se aproveitar de uma vulnerabilidade específica e fornecer acesso a um sistema. Exploits muitas vezes entregam uma carga para o sistema para conceder o acesso ao atacante.
O Projeto Metasploit hospeda a maior base de dados pública do mundo de qualidade garantida. Vale muito apena conhecer um pouco mais desse espetacular framework de exploração. Aqui no blog a gente já falou algumas vezes sobre o Metasploit.
O que é um Payload?
Um payload é o software que permite controlar um sistema depois que ele foi explorado. Um payload é tipicamente anexado e fornecido pelo exploit. Basta imaginar que o exploit é uma mochila e o payload é a carga que ela carrega, depois que o exploit explora a vulnerabilidade ele deixa essa carga no sistema explorado, o que irá dar acesso ao atacante.
O payload mais popular do Metasploit é o Meterpreter, que permite que você faça todos os tipos de coisas imagináveis no sistema alvo. Por exemplo, você pode fazer upload e download de arquivos do sistema, tirar capturas de tela e coletar hashes de senha. Você pode até mesmo assumir a tela, mouse e teclado para controlar totalmente o computador. Você pode até ligar a webcam de um laptop e visualizar tudo que se passa.
Bem pessoal é isso ai, espero que tenham curtido. Em breve irei postar outros artigos sobre conceitos e terminologias sobre pentesting. Não esqueçam de curtir nossas páginas nas redes sociais, Facebook, G+ e seguir o Guia do Ti no Twitter. Compartilhem e comentem esse artigo, isso é muito importante para divulgação do nosso trabalho.
Referências
https://community.rapid7.com/docs/DOC-2248
- Metasploit Framework de cabo a rabo – Parte 6 - 4 de junho de 2018
- Metasploit Framework de cabo a rabo – Parte 5 - 28 de maio de 2018
- CEH – Scanning Networks – Parte 2 - 24 de maio de 2018