Pentest

1 de setembro de 2016

O que é Pentest?

Mais artigos de »
Escrito por: Leonardo Souza
Tags:

O que é Pentest

Pentest, ou teste de invasão, é um conjunto de técnicas que possui o intuito de testar a segurança de sistemas de informação, sejam eles locais ou remotos, invadi-los se possível e avaliar sua segurança. A intenção do profissional pentester é realizar diagnósticos de segurança, indicando ações que podem melhorar a segurança destes sistemas.

Por meio do pentest é possível encontrar vulnerabilidades, ou seja, falhas na segurança, que podem permitir uma possível invasão e explorá-las descobrindo qual o grau de comprometimento, caso ela seja explorada. Dessa forma, é possível criar mecanismos que irão sanar a vulnerabilidade e acabar com a ameaça em potencial.




Um ponto importante do pentest é que o auditor de testes realiza ele com base em vulnerabilidades já descobertas, ou seja, vulnerabilidades divulgadas. Isso é possível porque sempre que um vulnerabilidade é descoberta, ela é logo divulgada, assim como sua solução, geralmente por meio de atualizações de versão de softwares. Dessa forma, o auditor verifica que estas vulnerabilidades divulgadas fazem parte do sistema testado.

Tipos de Pentes

O pentest pode ser classificado pelo tipo de informação que a equipe de auditores possui antes de iniciar o teste. Neste sentido, podemos classificá-lo em black-box, white-box e gray-box.

Black box: é o tipo de teste de segurança em que a equipe não possui qualquer tipo de informação sobre a infraestrutura da organização que será testada, por este motivo é conhecido como “caixa preta”. Por este motivo a equipe de pentest precisará investir um tempo maior nas fases iniciais do teste, pois precisa descobrir o máximo possível sobre a organização que será testada.

Normalmente é o tipo de teste realizado quando a organização deseja saber qual o risco oferece um atacante de fora da organização, que possui o mínimo possível de informação dela, como por exemplo, sua infraestrutura de rede. Isso é feito porque o aspirante a invasor normalmente possui scripts automatizados e os executa em todos os sistemas que conseguir e quando percebe uma vulnerabilidade, ele a explora.

A metodologia black-box pode ser classificada em duas subcategorias:

Blid: neste modelo o auditor de testes não possui qualquer informação sobre o alvo e o alvo sabe que será atacado e, exatamente, quais os testes serão realizados.

Double blid: neste modelo o auditor de testes não possui informação alguma sobre a rede a ser testada e o alvo não sabe que será atacado, nem quais metodologias de ataque serão aplicadas.

White-box: neste tipo de metodologia, o auditor de testes conhece totalmente a infraestrutura testada. Entre outras informações possui diagrama e mapeamento da rede, ranges de IPs, firewalls, etc. Normalmente é utilizada para simular um ataque partindo de dentro da organização, ou seja, de alguém que possui informações privilegiadas dela, como um funcionário, por exemplo.

Neste tipo de teste é possível que o auditor solicite usuário e senha com privilégios semelhantes aos funcionários que os utiliza, e, assim simular possíveis ataques aos sistemas, algo semelhante a um boicote realizado por um possível funcionário insatisfeito. Se deseja descobrir os prejuízos que um funcionário mau intencionado pode causar, este é o tipo de teste que precisa realizar.

Esta metodologia se divide em duas categorias:

Tande: conhecida como caixa de cristal, nela o auditor tem total conhecimento dos sistemas que serão testados, inclusive com acesso a usuário e senhas dos sistemas e o alvo sabe o que será testado e como será.

Reversal: aqui o auditor possui total conhecimento do sistema testado, porém o alvo não sabe o que será atacado e como será.

Este tipo de ataque é bem mais específico que o black-box, pois nele o auditor conhecerá toda a infraestrutura dos sistemas testados, sendo assim nenhuma informação realmente importante poderá ser esquecida e nenhum sistema deixará de ser testado.

Gray-box: neste método o auditor possui conhecimento parcial dos sistemas testados, por isso é conhecido como teste parcialmente cego. Pode-se dizer que é uma mescla dos modelos black-box e white-box. Como exemplo, podemos apresentar um auditor que possui informações sobre um sistema web, porém não possui acesso ao código fonte da apliação utilizada nele.

Este modelo é divido em duas subcategorias:

Gray-box: o auditor tem conhecimento parcial do sistema, e o alvo sabe o que será atacado e quais técnicas serão utilizadas.

Double gray-box: neste tipo de testes o auditor possui conhecimento parcial dos sistemas, e o alvo não sabe que será atacado e quais técnicas serão utilizadas.

O auditor de pentest

Muitos são os nomes utilizados para definir o auditor de testes, o mais aceito é o Ethical Hacker (hacker ético). Embora a expressão “hacker“ tenha adquirido sentido altamente negativo nos últimos anos, pela mídia em geral, principalmente por ser associada a criminosos virtuais, ela significa basicamente um profissional, especialista, que possui domínio de várias técnicas de invasão, além de possuir grande conhecimento em redes de computadores e profundos conhecimentos a respeito de sistemas operacionais e programação .

Porém, mesmo que este termo seja o mais utilizado, temos na literatura expressões como auditor de pentest, pentester, entre outros.

Outros termos são citados na literatura para pessoas que realizam testes de invasão, porém nem todos são pentester. Entre estes termos podemos citar: white hat, black hat ou gray hat.

White hat: é o hacker ético propriamente dito, aquele que possui permissão da instituição para realizar os teste de invasão. Possui o compromisso, assumido por meio de contrato, de gerar relatórios sobre as vulnerabilidades encontradas e apontar possíveis soluções para saná-las. Entretanto, não possui o compromisso de dizer como sanar estas vulnerabilidades, já que isso deve ser realizado pela equipe local de T.I, levando em conta os recursos disponíveis.

A resolução do problema de vulnerabilidade é algo que deve ser feito pela equipe local de TI, sendo assim, caso haja o interesse da instituição de contratar este serviço, isso deve ser feito em uma solicitação à parte do serviço de pentest, afinal, por definição, esta prática não faz parte do escopo de um pentest.

Black hat: este é o cracker, indivíduo que possui grandes conhecimentos em tecnologia e os utiliza para burlar sistemas e agir de forma ilegal, causando prejuízos a terceiros. Não possuem permissão da organização para realizar qualquer procedimento e por este motivo suas práticas são na verdade crimes passíveis de punição.

Em geral, estes invasores não possuem alvos específicos, eles utilizam as várias técnicas de varredura de vulnerabilidades em vários alvos ao mesmo tempo e quando encontram possíveis brechas, exploram elas, causando danos e cometendo crimes.

Grey hat: especialista com grande conhecimento técnico e que atuam normalmente entre os black hats e os white hats. Dessa forma, utilizam seu conhecimento para invadir sistemas, não para obter lucro ou causar prejuízos, e sim para descobrir falhas nos sistema e informar os responsáveis sobre estes pontos fracos. Como não conhecem os pontos sensíveis, em alguns casos, seus ataques causam negação de serviço.

Embora não possuam a intenção de causar prejuízos, sua prática não é considerada um pentest, pois um pentest é realizado por meio de uma relação de confiança firmada por meio de um contrato legal. Normalmente este contrato declara as limitações do auditor, enquanto o grey hat não possui qualquer limitação estipulada, já que o alvo não sabe que está sendo atacado.

Ciclo de vida de um Pentest

um pentest possui fases bem definidas e organizadas, comumente chamadas de “ciclo de vida de um teste de invasão”. O modelo mais difundido atualmente apresenta o pentest como tendo cinco fases: reconhecimento, varredura, obtenção de acesso, preservação de acesso e ocultação das pistas.

Cada fase deste teste será devidamente explicada e exemplificada em artigos específicos, por isso por enquanto vamos explicar de forma resumida o que é cada uma destas fases:

A fase de reconhecimento é o momento em que o auditor e sua equipe realizam o levantamento do máximo de informações possíveis sobre o alvo, como nome da organização, ramo de atuação, localização física, etc. É neste momento que a equipe descobre nomes de funcionários, e-mails deles, serviços prestados, entre outras informações.

A fase de varredura é o momento em que se realiza um scanner para descobrir informações que podem ser utilizadas em outro momento do pentest, como por exemplo, serviços prestados e servidores que os prestam, ranges de IPs da rede local, firewall e servidores de e-mail, etc.

A fase de obtenção de acesso é o momento em que o auditor utiliza as informações adquiridas nas fases anteriores para realizar o ataque e conseguir o acesso ao alvo. Dessa forma, ele consegue acesso a informações do alvo e em alguns casos até o controle dele propriamente dito.

Presevação de acesso é a fase do pentest que o auditor cria mecanismos que permitam seu retorno ao sistema invadido, sem que precise realizar todo o processo que fez para conseguir o acesso.

A fase de ocultação de pistas nessa fase a equipe de testes apaga todos os indícios que denunciariam que o sistema foi invadido. A maioria das técnicas nesta fase envolvem a destruição ou edição de LOGs do sistema.

Este é um artigo apenas introdutório, veremos em outros artigos como funcionam cada fase e quais as principais ferramentas utilizadas nelas.

Ferramentas de um Pentest

Existem centenas, talvez milhares, de ferramentas de auditoria de testes de segurança e invasão. Porém é possível encontrar grande parte delas em um só sistema operacional: o Kali Linux. Este é um sistema operacional completo, baseado na distribuição Debian Linux e que foi desenvolvida para ser um sistema específico de auditoria de segurança e testes de intrusão.

Embora seja o sistema operacional mais utilizado para testes de invasão, o Kali não é uma ferramenta única, na verdade ele é fruto da junção de centenas de ferramentas de segurança em um sistema operacional, desenvolvido para teste fim. Porém, é totalmente possível utilizar estas ferramentas em um outro sistema operacional, seja GNU/Linux ou não. Existem, inclusive, ferramentas para pentest desenvolvidos para o sistema operacional da janelinha.

Mas por que utilizar um outro sistema operacional para testes de intrusão se já existe um que une a maioria das ferramentas em um só lugar? A resposta é simples, o Kali possui muitas ferramentas que desempenham as mesmas funções que outras ferramentas. A grande maioria, possui as mesmas funções e funcionam de forma semelhante. Um exemplo clássico deste cenário é dos programas que realizam interrogação de servidores DNS, podemos citar como o exemplo o DnsRecon ou o DNSenum e até o DNSmap, além de outros. Por este motivo, existem dezenas de ferramentas existentes neste sistema, que a maioria das pessoas se quer vai utilizar.

Neste sentido, o ideal seria testar as ferramentas semelhantes e eleger as que mais se aproximam do desejado e utilizá-las nos seus testes. Assim, fica fácil perceber que não preciso de um sistema com dezenas de ferramentas que não vou utilizar, só para manter o status de “sistema completo de pentest”.

Por este motivo não utilizaremos aqui o Kali Linux, as ferramentas que serão apresentadas aqui, serão utilizadas no sistema FreeBSD. Porém nada impede que você as utilize no Kali Linux.

Considerações finais

O pentest, ao contrário do que muitos pensam, é um serviço prestado por profissionais devidamente qualificados e autorizados pelo alvo, ou seja, organização testada, a exercer as tarefas e técnicas de invasão. Isso significa que se alguém realiza técnicas de invasão sem uma devida autorização, este não pratica pentest e sim um crime passível de sanções penais.

Sendo assim, uma das qualidades fundamentais de um auditor de testes de segurança é o senso ético e moral, já que vai ter acesso a informações cruciais para a vida da organização testada. Arrisco-me a dizer que sem uma postura ética é impossível realizar pentest e ser bem sucedido.

Este é apenas o primeiro artigo sobre o tema, em breve teremos muitos outros. Espero que o conteúdo tenha sido útil.




Sobre o Autor

Foto de perfil de Leonardo Souza
Leonardo Souza
Bacharel em Informática, pós graduado em Segurança de Redes de Computadores e analista de Segurança da Informação. Entusiasta de Segurança da Informação e usuário FreeBSD, porém sem xiismo.




0 Comments


Seja o Primeiro a Comentar!


You must be logged in to post a comment.