Ethical-Hacking: Reconhecimento
Estou escrevendo este artigo a fim de melhor estruturar meu conhecimento na área.
Estou fazendo uma série de cursos na área de Segurança da Informação, e estarei escrevendo sobre os temas aprendidos, com o objetivo de identificar as lacunas no meu conhecimento e aprimorá-lo.
O que é?
“Reconhecimento” é a primeira etapa do processo de Teste de Invasão. É a etapa na qual os atacantes reúnem o máximo de informações o possível, sem discriminar qualquer informação.
Nesta etapa, levanta-se dados públicos, como dados disponíveis no site e mídias sociais do alvo, dados de Whois, dados de DNS, dados de colaboradores, dados de procedimentos internos e externos, dentre muitos outros.
Objetivo
Esse levantamento massivo de informações serve a um propósito: mapear a Superfície de Ataque.
Superfície de Ataque é um termo que se refere à soma dos vetores possíveis de ataque, a soma dos meios possíveis de se atacar um alvo.
Quanto mais informações disponíveis acerca do alvo tivermos, maiores serão as chances de encontrarmos possíveis vetores de ataque, que podem ser explorados (ou não) nas etapas futuras do Teste de Invasão.
Tipos de Reconhecimento
Reconhecimento pode ser dividido em dois tipos: Reconhecimento Ativo e Reconhecimento Passivo.
Reconhecimento Passivo
O que é Reconhecimento Passivo?
Reconhecimento Passivo é o processo de se obter informações públicas acerca do alvo, sem que seja feita qualquer interação direta com o alvo, podendo ser feita através de consultas aos sites e mídias sociais do alvo e colaboradores, a informações em serviços de terceiros, e até mesmo através da observação das instalações físicas do alvo.
Reconhecimento Passivo é o processo de se obter informações que vêm “de graça”, sem que seja necessária qualquer interação com o alvo.
Exemplos do que É Reconhecimento Passivo
Alguns exemplos de Reconhecimento Passivo são:
-
Coletar informações disponíveis no site do alvo
-
Coletar informações nas mídias sociais do alvo
-
Coletar informações dos colaboradores do alvo
-
Coletar informações de domínios e subdomínios do alvo
-
Coletar informações de VHosts nos domínios e subdomínios do alvo
-
Coletar informações de Whois
-
Coletar informações de DNS
-
Coletar informações, em mecanismos de busca, sobre o alvo
-
Coletar HTML, CSS e JS das páginas dos sites do alvo
-
Coletar informações e critérios para contratação de colaboradores
-
Observar, de fora, o funcionamento geral das instalações físicas do alvo
Exemplos do que NÃO É Reconhecimento Passivo
-
Entrar fisicamente nas instalações do alvo
-
Entrar nos sistemas do alvo
-
Provocar mensagens de erro através do uso incomum dos serviços do alvo
-
Enganar colaboradores do alvo
-
Qualquer interação com o sistema interno do alvo (físico e digital)
Reconhecimento Ativo
Reconhecimento Ativo é o processo de se obter informações que não seriam possíveis de serem obtidas através do Reconhecimento Passivo.
Após termos levantado informações através do Reconhecimento Passivo, podemos agora traçar estratégias para expandir essas informações através do Reconhecimento Ativo.
As informações do Reconhecimento Passivo vão servir para que averiguemos quais métodos de Reconhecimento Ativo podem ser mais efetivos contra o nosso alvo, a fim de maximizar os resultados e minimizar os riscos.
O Reconhecimento Ativo envolve riscos, pois envolve interagir com o alvo e colaboradores, a fim de extrair o máximo de informações o possível.
Riscos:
-
Sermos detectados
-
Alvo perceber potencial ataque e levantar a guarda
-
Frustração completa do Teste de Invasão
Através das informações que obtivemos no Reconhecimento Passivo, podemos, por exemplo:
-
Escolher de forma mais acertiva os colaboradores que serão vítimas de Engenharia Social
-
Servidores e VHosts nos quais podemos provocar mensagens de erro a fim de obtermos informações sobre as aplicações
-
Colaboradores que estão de férias, o que nos abre margem para Personificação
-
Colaboradores insatisfeitos, o que nos abre margem para subornos
-
Critérios para a contratação de novos colaboradores, o que nos abre margem para Engenharia Social e enumeração do funcionamento interno do alvo
Enquanto o Reconhecimento Passivo é o processo de se obter informações que estão disponíveis publicamente na Internet e na vida real, sem necessidade de interação, o Reconhecimento Ativo é o processo de expandir essas informações através de interações diretas, com o objetivo de obter outras informações públicas e informações privadas sobre o alvo.
Zona Cinzenta
Às vezes podemos nos deparar com zonas cinzentas entre Reconhecimento Passivo e Ativo.
Um bom critério para diferenciá-los (ao menos em parte dos casos) seria nos perguntarmos: “Um indivíduo legítimo, sem intenção de atacar o alvo, poderia eventualmente esbarrar nessas informações?”.
Se a resposta for positiva, se trata de um Reconhecimento Passivo. Caso contrário, pode ser que seja um Reconhecimento Ativo.
Um indivíduo legítimo poderia esbarrar em todas as informações presentes no site e mídias sociais do alvo e seus colaboradores (pode ser amigo de funcionários ou sócios da empresa), poderia esbarrar em suas informações de Whois e DNS (caso tente, por acaso, comprar um domínio já existente e pertencente ao alvo), poderia esbarrar nos códigos HTML, CSS e JS do site (apertando CTRL+U, F12 ou CTRL+Shift+C sem querer), poderia esbarrar em informações sobre o alvo em mecanismos de busca e etc…
E isso se estende até mesmo para Reconhecimento Passivo feito fora da Internet. Um indivíduo, por exemplo, pode ser amigo de um ou mais colaboradores do alvo, e saber o horário de entrada e saída dos mesmos, assim como a instalação na qual trabalham, onde almoçam, as informações em seus crachás e etc…
Etapas
O Reconhecimento (tanto Passivo quanto Ativo) geralmente é feito seguindo (mas não restrito) as seguintes etapas:
-
Obtenção de informações sobre o alvo, colaboradores e funcionamento interno
-
Enumeração dos domínios do alvo
-
Enumeração dos subdomínios para cada domínio do alvo
-
Enumeração de bloco de IPs para cada subdomínio do alvo
-
Enumeração de portas nos IPs do alvo
-
Enumeração de VHosts para cada IP e porta do alvo
-
Enumeração de aplicações e serviços web para cada IP e porta do alvo
-
Mapeamento da rede do alvo (externa e/ou interna)
Conclusão
O principal objetivo do Reconhecimento é mapear a Superfície de Ataque do alvo.
Para que alcancemos este objetivo, temos que recorrer a meios Passivos e Ativos de Reconhecimento.
Meios Passivos servem para que melhor estruturemos nossas estratégias para executarmos os meios Ativos.
Os meios Passivos e Ativos levantarão informações acerca do alvo, de seus colaboradores, do funcionamento geral do alvo, das tecnologias, aplicações, serviços, DNSs, servidores, faixas de IPs, portas e VHosts por ele sendo utilizados. Informações estas, que configuram a Superfície de Ataque.
Nota: Até aqui, nenhuma invasão foi feita, nenhum ataque foi feito, somente foi mapeada a estrutura geral do alvo. Essa etapa consiste única e exclusivamente de obtenção de informações.