Finalizamos o primeiro tópico da jornada, Introdução a Cyber Security e agora avançaremos ao segundo tópico que é o "Introduction to Pentesting" que vai introduzir tudo relacionado aos testes de penetração, seus fundamentos e princípios.
Lembre-se, se você ainda não tem conta no TryHackMe, utilize nosso link para criar sua conta, e ganhar um desconto de $5 na sua assinatura premium.
Iniciando o tópico "Introduction to Pentest" vamos aos Fundamentos do Pentest:
Os caminhos que passaremos nesse artigo, são os seguintes:
Acesso ao Lab: https://tryhackme.com/r/room/pentestingfundamentals
Nesse tópico, nenhum dos subtópicos tem "atividades práticas", basta somente responder as questões para fixação do conhecimento. Iniciamos os trabalhos, com o primeiro tópico:
Antes de falarmos sobre os aspectos práticos e técnicos do hacking ético, é necessário entender mais sobre as responsabilidades de trabalho de um pentester e quais processos são seguidos durante um teste.
A cibersegurança vem ganhando importância e relevância em todos os aspectos da vida de uma pessoa ou empresa. Com o aumento das notícias sobre hacking e vazamentos de dados, a cibersegurança tornou-se crucial para o usuário comum, desde o maior cuidado com seus próprios dados até a criação de senhas mais fortes e seguras, além de uma maior disposição em proteger suas contas e dispositivos.
Um pentest é uma tentativa ética de testar as defesas de segurança utilizadas para proteger informações de diversas organizações. Esse teste consiste basicamente em utilizar as mesmas ferramentas e técnicas que cibercriminosos, analisando até que ponto esses criminosos conseguiriam acessar a infraestrutura. Após isso, são identificadas as falhas de segurança e vulnerabilidades na infraestrutura, para corrigi-las e melhorar as ferramentas de segurança.
De acordo com a Revista Security Magazine, todos os dias ocorrem 2,200 ataques Hacker. Um a cada 39 segundos.
Na segurança da informação, há uma batalha entre ética e legalidade, especialmente quando o assunto é pentest. A cultura pop, devido a informações equivocadas, traz os termos "hacking" e "hacker" como pejorativos, por causa de algumas "maçãs podres" do passado. A ideia de um pentest é obter acesso legal aos sistemas de computador da empresa "alvo". Uma das coisas que buscamos entender nesse tópico é o que exatamente torna legal essa ação de "hackear" uma empresa.
Um pentest é uma auditoria autorizada da segurança de um sistema de computadores, de acordo com as diretivas acordadas com o proprietário desse sistema. Isso garante a legalidade da ação; qualquer coisa fora desse acordo é considerada não autorizada e, por consequência, ilegal.
Antes de um pentest ser iniciado, há diversos passos a serem seguidos. Por exemplo, uma discussão formal entre o responsável pelos testes e o proprietário do sistema ou infraestrutura a ser testado. Nessa discussão, são acordados os termos do pentest, como o sistema a ser testado e quais ferramentas e técnicas podem ou não ser utilizadas durante os testes, o horário de execução e todo o escopo que será englobado.
Empresas que fornecem esse tipo de serviço são mantidas dentro de estruturas legais e acreditações da indústria. Por exemplo, no Reino Unido, o Centro Nacional de Cibersegurança (NCSC) credita as empresas aprovadas por eles para a realização desses testes de segurança. Lá, apenas empresas aprovadas pelo NCSC podem realizar pentest em sistemas e redes do setor público.
Ética é o debate moral entre certo e errado; uma ação pode ser legal, mas ir contra o sistema de crenças de certo e errado de um indivíduo. Os pentesters frequentemente se deparam com decisões potencialmente questionáveis do ponto de vista moral durante uma ação. Eles podem, por exemplo, ganhar acesso a um banco de dados que contenha informações sensíveis da organização ou realizar um ataque de phishing em um funcionário para testar a cultura de segurança da organização. Porém, apesar de serem ações eticamente questionáveis, desde que tenham sido acordadas nas etapas iniciais de contratação, não são ilegais.
O termo hacker, no geral, se refere a especialistas em computação e pode ser utilizado para qualquer pessoa que usa seu conhecimento técnico para explorar, modificar ou solucionar problemas em qualquer tipo de sistema. Na área de segurança da informação, os hackers são divididos basicamente em três grupos:
White Hat: São os considerados "hackers do bem". Permanecem dentro da lei e utilizam as suas habilidades para melhorar a segurança de uma organização ou empresa. Por exemplo, os pentesters.
Gray Hat: São pessoas que, normalmente utilizam suas habilidades para beneficiar os outros, porém nem sempre respeitando a lei ou padrões éticos da comunidade. Por exemplo, alguém que derruba sites golpistas
Black Hat: São pessoas que utilizam seu conhecimento e capacidade técnica para cometer crimes buscando beneficio próprio (geralmente financeiro). Por exemplo, autores de Ransoware.
Regras de Engajamento (ROE)
O ROE é um documento criado antes do início de um pentest. Esse documento é baseado em três seções, que são responsáveis por decidir como o pentest será realizado. Um exemplo desse documento pode ser encontrado no site do instituto SANS, aqui. As três principais seções desse documento são:
Permissão: Nessa seção do documento, o contratante dá a permissão explícita para que o pentest seja realizado. Ela é essencial para proteger os envolvidos na ação.
Escopo do Teste: Nessa seção do documento, são inclusos todos os "alvos" e sistemas contidos no escopo do teste, uma vez que um pentest pode ser específico em somente um servidor ou uma aplicação e não em toda a rede.
Regras: Nessa seção do documento, são inseridas as regras que devem ser seguidas durante a ação, ou seja, quais técnicas e ferramentas são permitidas ou não.
Responda as questões abaixo:
Você recebe permissão para realizar uma auditoria de segurança em uma organização; que tipo de hacker você seria? (You are given permission to perform a security audit on an organisation; what type of hacker would you be?)
Resposta: White Hat
Você ataca uma organização e rouba seus dados; que tipo de hacker você seria? (You attack an organisation and steal their data, what type of hacker would you be?)
Resposta: Black Hat
Qual documento define como uma ação de pentest é realizada? (What document defines how a penetration testing engagement should be carried out?)
Resposta: Rules of Engagement
Não existe uma única abordagem para um pentest; nenhum é igual ao outro, pois cada um pode ter uma ampla variedade de alvos e objetivos em seu escopo.
A metodologia é o conjunto de passos que um pentester segue durante uma ação. Uma metodologia eficaz é aquela em que todos os passos seguidos são relevantes para a situação em questão. Por exemplo, uma metodologia utilizada para testes em aplicações web não é adequada para testes de rede.
Antes de explorarmos as principais metodologias do mercado, devemos notar que existem estágios em comum entre elas, que são os seguintes:
Coleta de informações (Information Gathering): Aqui é o ponto em que se começa a levantar informações sobre o alvo através de pesquisa, OSINT e etc. Porém, nenhuma varredura é realizada no alvo.
Enumeração/varredura (Enumeration/Scanning): Nesse ponto, começam-se as interações com o alvo com o intuito de descobrir aplicações e serviços rodando na sua infraestrutura, por exemplo, um servidor WEB potencialmente vulnerável.
Exploração (Exploitation): A exploração envolve aproveitar vulnerabilidades conhecidas dos softwares expostos utilizando-se de exploits (públicos ou não) ou aproveitando-se de uma falha lógica da aplicação.
Escalação de privilégios (Privilege Escalation): Depois de explorar com sucesso uma aplicação, é necessário tentar obter um acesso administrativo ao ambiente explorado e isso é feito nesse estágio.
Pós-exploração (Post-exploitation): Alguns sub-estágios são envolvidos aqui: Identificar e comprometer outros hosts vulneráveis na rede; Coletar informações adicionais através do acesso administrativo obtido anteriormente; Cobrir os seus rastros; Construir o relatório.
OSSTMM
O Open Source Security Testing Methodology Manual fornece uma estrutura detalhada para estratégias de pentest para sistemas, software, aplicações comunicações e o aspecto humano da segurança de uma organização. Essa metodologia foca principalmente na comunicação entre essas aplicações, assim sendo, inclui uma metodologia detalhada para testes em:
- Telecomunicações;
- Redes com e sem fio;
- Comunicações em geral.
Vantagens dessa metodologia:
- Cobre várias estratégias de teste em profundidade;
- Inclui estratégias de teste para alvos específicos (ou seja, telecomunicações e redes);
- A estrutura é flexível dependendo das necessidades da organização;
- A estrutura visa estabelecer um padrão para sistemas e aplicações, significando que uma metodologia universal pode ser usada em um cenário de teste de penetração.
Desvantagens da metodologia:
- A estrutura é difícil de entender, muito detalhada e tende a usar definições únicas.
OWASP
O framework Open Web Application Security Project é um projeto publico dirigido pela comunidade e atualizado frequentemente e utilizando somente para testes em aplicações e serviços WEB. Essa organização publica, periodicamente, relatórios que indicam as principais vulnerabilidades de segurança que uma aplicação web pode ter, como isso pode ser testado e como remediar isso, as famosas OWASP Top Ten.
Vantagens da metodologia:- Fácil de entender e aplicar;
- Ativamente mantido e frequentemente atualizado;
- Cobre todas as etapas de um pentest: desde o teste até a elaboração de relatórios e remediação;
- Especializa-se em aplicações e serviços web.
Desvantagens da metodologia:
- Pode não ser claro que tipo de vulnerabilidade uma aplicação web possui (elas frequentemente se sobrepõem);
- O OWASP não faz sugestões para ciclos de vida específicos de desenvolvimento de software;
- O framework não possui nenhuma acreditação como o CHECK;
NIST Cybersecurity Framework 1.1
Esse
framework é popular e utilizado para melhorar os padrões de cibersegurança de organizações e empresas e também gerenciar o risco de ameaças cibernéticas. Ele fornece diretrizes sobre controles de segurança e benchmarks de sucesso para empresas de todos os ramos, desde de infraestrutura critica como usinas de geração de energia até comerciais. Há uma seção limitada sobre diretrizes padrão para a metodologia que um testador de penetração deve seguir.
Vantagens da metodologia:
- O Framework do NIST é estimado para ser usado por 50% das organizações americanas até 2020;
- O framework é extremamente detalhado na definição de padrões para ajudar as organizações a mitigar a ameaça representada por ameaças cibernéticas;
- O framework é frequentemente atualizado;
- O NIST fornece acreditação para organizações que utilizam este framework;
- O framework do NIST é projetado para ser implementado juntamente com outros frameworks.
Desvantagens da metodologia:
- O NIST possui muitas iterações de frameworks, então pode ser difícil decidir qual se aplica à sua organização;
- O framework do NIST possui políticas de auditoria fracas, tornando difícil determinar como uma violação ocorreu;
- O framework não considera a computação em nuvem, que está rapidamente se tornando cada vez mais popular para organizações.
NCSC CAF
O CAF é baseado em 14 princípios usados para avaliar o risco de várias ameaças cibernéticas e as formas pelas quais as organizações podem se proteger dessas ameaças. O framework se aplica, principalmente, para organizações consideradas "vitais", como infraestrutura critica, bancos e similares. Os principais tópicos avaliados são:
- Segurança dos dados;
- Segurança dos sistemas;
- Controle de identidade e acesso;
- Resiliência;
- Monitoramento;
- Planejamento de resposta e recuperação.
Vantagens da metodologia:- Este framework é apoiado por uma agência governamental de cibersegurança;
- Este framework fornece acreditação;
- Este framework cobre quatorze princípios que vão desde segurança até resposta.
Desvantagens da metodologia:
- O framework ainda é novo na indústria, o que significa que as organizações não tiveram muito tempo para fazer as mudanças necessárias para se adequar a ele;
- O framework é baseado em princípios e ideias e não é tão direto quanto ter regras, como alguns outros frameworks.
Responda as questões abaixo:
Qual estágio do pentest envolve o uso de informações disponíveis publicamente? (What stage of penetration testing involves using publicly available information?)
Resposta: Information Gathering
Se você quisesse usar um framework para testes de penetração em telecomunicações, qual framework você usaria? Nota: Estamos procurando o acrônimo aqui e não o nome completo (If you wanted to use a framework for pentesting telecommunications, what
framework would you use? Note: We're looking for the acronym here and
not the full name.)
Resposta: OSSTMM
Qual framework foca no teste de aplicações web? (What framework focuses on the testing of web applications?)
Resposta: OWASP
Existem três principais escopos para realização de um pentest. O que determina o escopo, é o grau de informações que o profissional responsável pelo teste possui. Aqui, discutiremos os três escopos:
Testes caixa preta (black box): Esse é o mais complexo que há. O profissional, não recebe nenhuma informação sobre o alvo, somente seu nome. O teste Black-Box aumenta significativamente a quantidade de tempo gasto durante a fase de coleta de informações e enumeração para entender a superfície de ataque do alvo.
Testes caixa cinza (Grey-Box): Esse é o teste mais comum que é contratado. O profissional recebe algumas informações sobre o alvo e sobre sua superfície de ataque. Com o teste Grey-Box, o conhecimento limitado economiza tempo e é frequentemente escolhido para superfícies de ataque extremamente bem reforçadas.
Testes caixa branca (White-Box): Esse teste também é bastante comum no mercado. O profissional tem todas as informações sobre o alvo. O conhecimento completo em um cenário de teste White-Box fornece uma abordagem de teste que garante que toda a superfície de ataque possa ser validada.
Responda as questões abaixo:
Você é solicitado a testar uma aplicação, mas não tem acesso ao seu código-fonte - qual é o processo de teste? (You are asked to test an application but are not given access to its source code - what testing process is this?)
Resposta: Black Box
Você é solicitado a testar um site e recebe acesso ao código-fonte - qual é o processo de teste? (You are asked to test a website, and you are given access to the source code - what testing process is this?)
Resposta: White Box
Clique no botão "View Site" siga as instruções e obtenha a chave:
Resposta: THM{PENTEST_COMPLETE}
Obrigado pela leitura, entre no TryHakMe, faça o LAB e obtenha a recompensa. Use nosso link e ganhe desconto na assinatura premium.
Let1s Hacking
Comentários
Postar um comentário