sábado, 18 de maio de 2013

Esta é a parte 2 da série Introdução à Segurança da Informação! Se você ainda não leu, recomendo que leia a parte 1.


O Pentest

O Teste de Invasão, Teste de Intrusão, Teste de Penetração, Penetration Test ou seja lá como você chama, é um processo de análise de falhas de segurança de sistemas, aplicações web ou rede, normalmente do ponto de vista de uma pessoa mal intencionada, dentro de vários níveis diferentes, que veremos a seguir.

O objetivo principal deste teste é ver de uma forma controlada quais seriam as reações causadas por um ataque real, como os sistemas se comportariam perante a um ataque, e como a equipe de suporte resolveria este problema.


Tipos de Testes


Existem alguns tipos de testes, cada um com suas características próprias. Vamos a eles:

Blind ou Black Box - Neste tipo de teste, o auditor não tem nenhum conhecimento sobre o alvo, mas o alvo sabe quais testes serão executados, como e quando. Um dos testes mais próximos da realidade.

Double Blind - Similar ao Blind, mas neste teste nenhum lado tem informações, nem o auditor do alvo, nem o alvo do ataque. Também conhecido como Black Box.

Gray Box - Diferente do Black Box, neste caso o auditor tem um conhecimento parcial do alvo, não tão parecido como um ataque de fora, mais parecido com um ataque interno, de um funcionário insatisfeito.

Double Gray Box - Similar ao Gray Box, mas o atacante também sabe quando e como vai ser atacado.

Reversal ou White Box - Neste teste, o atacante tem total conhecimento da infraestrutura, usuários e sistemas. O teste mais longe da realidade, basicamente testando apenas a performance dos serviços em um ataque.

Tandem - Igual o teste acima, mas neste o alvo sabe que será atacado, no mesmo estilo do Double Gray Box.


O ataque


Se você reparar, boa parte das certificações de segurança seguem o mesmo estilo. Normalmente a fase de ataque está dividida em 5 partes: Levantamento de informações, Varredura, Ganhando acesso, Mantendo acesso e Limpando rastros.

Levantamento de informações - A fase mais importante de um Pentest. As informações que você conseguir obter do seu alvo serão usadas para moldar os ataques. Esta é a fase mais importante que o que você conseguir aqui vai ser essencial para que o ataque tenha sucesso. Se você falhar em obter informações possivelmente seu ataque será fraco e sem um objetivo certo, em alguns casos, é necessário voltar para essa fase no decorrer da auditoria, pode ser que quando você estiver mais a frente encontre coisas novas e vai precisar voltar para obter informações sobre essas novas descobertas. O levantamento de informações pode ser feito através do site da empresa, com engenharia social (exemplificado neste post), pelo lixo da empresa (dumpster diving), redes sociais, entre outros. Não existe informação inútil, toda informação que você obter é valiosa.

Varredura - Neste ponto vamos buscar informações mais precisas e técnicas do alvo, como por exemplo, que sistemas operacionais estão nas máquinas da empresa, quais serviços estão em execução, quais sistemas de proteção estão sendo usados, entre outros. Aqui entram em cena algumas ferramentas para varredura, a mais comum que falaremos em um post futuro deste guia é onmap.

Ganhando o acesso - Agora, de posse das informações da empresa e informações técnicas das máquinas da empresa, podemos moldar um ataque que vai nos dar acesso remoto a rede interna do alvo. Em muitos casos o pentest acaba aqui, mas varia muito de como o serviço foi acordado com o cliente, em alguns casos só mostrar que é possível invadir já é o suficiente. Para isso podemos explorar falhas nos serviços ou servidores do alvo, aplicações, roubo de credenciais ou o que ficar melhor, de acordo com as fases anteriores.

Mantendo o acesso - Para continuar os testes e escalar para pontos mais altos da rede, precisamos manter sempre uma porta de acesso no alvo, para isso vamos utilizar de malwares, backdoors, acesso remoto, vpn ou algum outro método de conexão remota.

Limpando os rastros - De nada adianta poder invadir qualquer sistema computacional se você deixar um rastro gigantesco de por onde passou ou o que fez. Algumas empresas contam com uma divisão chamada Resposta a Incidentes. Essa equipe tem a função de remontar seus passos. Caso esse seja o objetivo do teste é necessário que os rastros sejam cobertos. Como um pentester tem autorização para realizar aquele ataque ele não tem obrigração de apagar todos os rastros, esta decisão depende de como foi negociado o teste.


Tipos de ataques

Basicamente os ataques estão divididos em dois grandes grupos, os ataques Client Side e os ataquesServer Side. Quando nos referimos a Server Side, estamos falando de atacar diretamente o servidor, seja de fato explorando uma falha no servidor ou em algum serviço que está rodando nele, podemos usar como exemplo ataques a servidores web e suas aplicações e ataques a servidores DNS, os dois tipos de ataques serão vistos em um futuro post do guia.

Já os ataques Client Side são os ataques com alvo direto no cliente, diretamente na máquina do usuário. É bem comum ver tutoriais e guias de como usar esses ataques, mas na prática não é tão simples, tudo vai depender de como você se saiu na fase de obtenção de informação, porque um exploit vai funcionar para uma determinada versão de um software ou sistema. Exemplos de ataques Client Side são falhas em navegadores, falhas em softwares instalados na máquina, ou algum link que a vítima clica e a leva para um site com um conteúdo para baixar, esse conteúdo que vai abrir a conexão com o atacante.


Problemas Legais

Muito vem se falando ultimamente sobre crimes virtuais e leis e etc. Tudo isso porque a pouco que foi estabelecidas leis para crimes cibernéticos (como eles costumam chamar) no Brasil. Então, não custa lembrar, qualquer tipo de teste ou invasão a um site, serviço ou empresa agora é crime no Brasil. Estas leis ainda estão um pouco genéricas e generalizadas, mas já estão em vigor. Anteriormente os crimes eram categorizados como dano e sempre se ouvir falar na impunidade no país. Hoje em dia esse cenário está começando a mudar. Ainda existe impunidade, tem muita coisa passando em branco, mas está cada vez mais comum ver notícias de que cibercriminosos foram pegos.

Lembre-se sempre antes de iniciar qualquer teste, por mais simples que seja, ter um documento formal assinado pelo alvo com todas as informações do teste, como por exemplo, tipos de teste que serão realizados, duração, gravidade e etc.

No Brasil temos no momento duas leis sobre crimes virtuais em vigor. A lei 12.737/12, conhecida como LEI CAROLINA DIECKMANN tipifica os seguintes crimes:
  • Invasão de computadores para obter vantagem ilícita;
  • Falsificação de cartões e de documentos particulares;
  • Interrupção ou perturbação de serviço telegráfico, telefônico, informático, telemático ou de informação de utilidade pública.

E a outra lei, a 12.735/12 conhecida como LEI AZEREDO, diz o seguinte:
inclui um novo dispositivo na Lei de Combate ao Racismo (7.716/89) para obrigar que mensagens com conteúdo racista sejam retiradas do ar imediatamente, como já ocorre atualmente em outros meios de comunicação, como radiofônico, televisivo ou impresso;
prevê a criação das delegacias especializadas no combate a crimes cibernéticos na Polícia Federal e nas Polícias Civis

Da para ver que ainda não está bem certo, estas leis eram muito maiores e foram cortadas quando foram aprovadas, tudo indica é que ela vai ser modificada aos poucos, então fique ligado, agora temos leis para categorizar os crimes virtuais.

0 comentários:

Postar um comentário

Subscribe to RSS Feed Follow me on Twitter!