Teste de penetração passo a passo
Autor: Admin | Publicado: 2016-08-31T19:43:00-03:00


    Segue uma republicação do post sobre teste de penetração, pois 
comentei esse nome com um grupo colegas, a maioria riram pensando que 
era algum tipo teste próstata, bem, para quem não tem conhecimento 
segue.


As invasões “reais” são realizadas por pessoas com alto nível de 
conhecimento técnico, com focos específicos em determinadas instalações 
ou empresas. Existe vários motivos pessoal, por questões financeiras, na
 intenção de cometer fraudes ou até mesmo contratados por empresas 
concorrentes para espionagem ou sabotagem.

Existe também uma categoria de profissionais que são contratados 
pelas empresas para testar seus próprios sistemas de segurança, essa 
atividade se chama de PenTest (Penetration Test ou Teste de Penetração).
 Entenderam né ! posso continuar !

Esse tipo de invasão é uma atividade coordenada e cuidadosamente 
planejada, que passa por diversas etapas, conforme vamos ver a seguir.

1. Coleta de informações

Antes de iniciar qualquer tentativa de invasão, devemos coletar o máximo de informações a respeito da&nbsp;empresa&nbsp;atacada.
 Uma pesquisa no Google pode ser um bom começo para saber o que existe 
de informação disponível na internet, a respeito de:

Atividades da empresa;Composição acionária;Nomes de sócios, diretores, gerentes de TI, administradores darede;Filiais e empresas coligadas;Endereços&nbsp;de homepages e e-mails;



Ainda nessa fase, considerando que a empresa possua um site na 
internet, podemos coletar as informações sobre endereços de servidores 
DNS (Domain Name Service ou Serviço de Nome de Domínio), nome do 
responsável técnico, endereço e cnpj.

Toda e qualquer informação deve ser considerada para que possamos ter uma visão&nbsp;global&nbsp;e
 um bom nível de entendimento sobre a empresa. Nomes de sócios, 
diretores, funcionários e parceiros comerciais podem ser utilizados para
 ataques de Engenharia Social. A existência de filiais e coligadas pode 
significar a existência de conexões VPN (Virtual Private Network ou Rede
 Privada Virtual), que a princípio é uma forma segura de interconectar 
redes pela internet. Endereços web servem para descobrir os endereços IP
 por onde a rede corporativa geralmente se conecta na internet.

2. Mapeamento da rede

O objetivo dessa fase é tentar descobrir a topologia da rede: quantos
 computadores existem e como estão interligados. Para isso, podemos 
iniciar com uma pesquisa nos servidores de DNS da empresa.

Um servidor DNS é responsável pela mapeamento dos nomes de 
domínio (ex: servidor.empresa.com) para endereços IP (ex: 
200.100.200.50). Ele é naturalmente acessível pela internet para 
determinados tipos de consultas, entretanto, existe um recurso, chamado 
de Transferência de Zona, que serve para sincronização de registros 
entre servidores primários e secundários. Alguns administradores de rede
 permitem que esse tipo de consulta seja feita de qualquer lugar da 
internet, por descuido ou desconhecimento, e simplesmente fornece o 
“mapa da mina” para um atacante, porque esse tipo de consulta permite 
que se obtenha todo os nomes e endereços de todos os servidores da rede.
 Se esse servidor DNS também for responsável pela resolução de nomes da 
rede interna, pode ser que o atacante obtenha não só os endereços dos 
computadores acessíveis pela internet, mas simplesmente de TODOS os 
computadores da rede interna da empresa.





Uma outra possibilidade para descobrir os computadores que existem no
 domínio da empresa, é através de consultas de DNS “reverso”, quando 
informamos o endereço IP e o servidor retorna o nome da máquina que 
responde por aquele endereço. Sabendo o endereço de um servidor, é 
possível inferir a faixa de endereços possivelmente destinados à empresa
 e limitar a pesquisa reversa nessa faixa.

Existe inclusive uma técnica sofisticada de mapeamento, chamada de 
firewalking, que permite “enxergar” quais são as máquinas que estão por 
trás do firewall. Seria mais ou menos como se pudéssemos ver através das
 paredes.

3. Enumeração de serviços

Uma feita já foram descobertas as máquinas existentes na rede, 
procuramos descobrir quais os serviços que estão sendo executados em 
cada uma delas. Um serviço não é nada mais do que um programa que fica 
aguardando conexões numa determinada “porta”. Por exemplo, todas as 
conexões de páginas web são feitas para a porta de número 80. Quem 
responde às solicitações de conexão nessa porta é um software servidor 
web como por exemplo, Apache, IIS (Internet Information Service) da 
Microsoft ou qualquer outro software com a mesma finalidade.

As portas de numeração 1 à 1024 (de um total de 65.535) são 
padronizadas de acordo com o tipo de serviço. Assim, se encontramos a 
porta 22 aberta, podemos ter quase certeza que existe um serviço SSH 
(terminal remoto), assim como a porta 25 implicaria num serviço de 
e-mail. Só não podemos ter certeza sobre o serviço que está “escutando” 
uma determinada porta porque essas numerações são padronizadas, mas não 
obrigatórias. Nada impede que o administrador disponibilize um serviço 
SSH na porta 25, por exemplo.



4. Busca por vulnerabilidades

Uma vulnerabilidade de um software é decorrente de um projeto 
deficiente ou erro de programação. Quando uma vulnerabilidade é 
descoberta por incontáveis pesquisadores (os verdadeiros Hackers) ao 
redor do mundo, o fabricante do software é notificado e a 
vulnerabilidade é divulgada em sites especializados para que todos tomem
 conhecimento da sua existência e tomem as providências necessárias para
 eliminar esse risco. Isso geralmente é atingido com a aplicação de uma 
Correção ou Patch (traduzindo literalmente: remendo), disponibilizado 
pelo fabricante do software.

Se o administrador da rede não aplicou as devidas correções num 
determinado software, pode ser que ele possa ser explorado para a 
invasão. Para isso, basta um pesquisa na internet para descobrir se 
aquela versão de software que está sendo usada, possui alguma 
vulnerabilidade e como ela é explorável.

Algumas ferramentas já automatizam todo o processo de identificação 
dos softwares, suas versões, assim como a vulnerabilidades existentes 
para aquelas versões específicas, simplificando o trabalho do atacante.

5. Exploração das vulnerabilidades

Essa é a etapa onde efetivamente ocorre a invasão. Dependendo do tipo
 de vulnerabilidade encontrada, a invasão será mais ou menos efetiva. 
Algumas vulnerabilidades permitem apenas a interrupção do serviço, ao 
qual damos o nome de ataque DOS (Denial of Service ou Negação de 
Serviço).

As vulnerabilidades mais perigosas são as que permitem a execução de 
programas e comandos no computador remoto. O Buffer Overflow (estouro de
 memória) é um exemplo de vulnerabilidade que pode permitir que o 
atacante obtenha acesso à uma tela de terminal remoto, podendo executar 
os comandos que desejar, como se estivesse sentado diante do computador 
atacado e geralmente com privilégios de administrador.

Outro exemplo de ataque perigoso é o do tipo SQL Injection, feito em 
aplicações web mal feitas, permite desde a consulta direta à um banco de
 dados (onde o atacante pode obter informações sigilosas como números de
 cartões de crédito) à execução comando do sistema operacional.

Muitos desses ataques podem ser feitos com uso de programas ou scripts prontos, chamados de sploits.



6. Implantação de Backdoors e Rootkits

Uma vez que o invasor tenha obtido sucesso na sua investida, é comum 
que ele implante programas que facilitem o seu retorno. São os chamados 
Backdoors, ou literalmente “porta dos fundos”. Além disso ele pode 
implantar os chamados Rootkits, que são programas que se agregam ao 
núcleo do sistema operacional, dificultando a sua localização.

7. Eliminação de Vestígios

Toda invasão deixa rastros no computador atacado, seja nos logs 
(históricos) do sistema seja em forma de arquivos temporários. Para 
dificultar a identificação da sua presença, o bom atacante procura 
eliminar esses vestígios, requerendo uma intervenção muito mais 
minuciosa na investigação do incidente e muitas vezes impossibilitando 
rastrear sua origem.

Formas de prevenção

Existe Varias formas de proteção que é da nossa responsabilidade de tomar medidas preventivas necessária

Uso de firewall, IDS e IPS: o firewall é um elemento indispensável na
 sua rede, para controlar e impedir os acessos indesejáveis. Hoje é 
simplesmente inaceitável que se tenha uma rede conectada na internet sem
 um firewall. O uso de IDS (Intrusion Detection System ou Sistema de 
Detecção de Intrusão) e um IPS (Intrusion Prevention System ou Sistema 
de Prevenção de Intrusão), são elementos desejáveis para uma defesa 
efetiva.

Serviços desnecessários: todos os serviços que não estiverem sendo 
efetivamente usados, devem ser desabilitados. Além de serem itens 
adicionais para atualizações de segurança, são pontos adicionais em 
potencial para serem explorados.Atualização e Configuração: é 
indispensável que todos os serviços disponíveis para internet estejam 
com as últimas atualizações de segurança aplicadas e, principalmente, 
corretamente configurados. Falhas de configurações são grandes causas de
 incidentes de segurança.Monitoração constante: a monitoração das 
atividades da rede devem fazer parte da rotina diária de um 
administrador de redes. Só assim você poderá perceber anomalias no seu 
funcionamento. Deve ser incluída nessa rotina, a monitoração dos logs, 
também para detectar registros de ocorrências anormais. O uso de 
ferramentas que detectem modificações nos arquivos do sistema também é 
uma medida desejável. Uma ferramenta gratuita que pode ser utilizada 
para esse fim, é o tripwire.A melhor forma de defesa, entretanto, é o
 conhecimento. Fique sempre atualizado quanto as novas formas de ataque e
 vulnerabilidades descobertas para poder agir de forma proativa, 
antecipando-se aos movimentos dos invasores.