Pentest

8 de setembro de 2016

Fase de obtenção de acesso em um pentest

Mais artigos de »
Escrito por: Leonardo Souza
Tags:

Fase de obtenção de acesso

A fase de obtenção de acesso, também chamado de ataque, é o momento em que o auditor de testes de intrusão utiliza todas as informações sobre vulnerabilidades, descobertas nas fases anteriores, e realiza o ataque ao alvo. Por este motivo o sucesso desta fase depende diretamente da boa execução nas fases anteriores, principalmente na realização de relatório de vulnerabilidades.

Vulnerabilidades são os pontos fracos existentes em sistemas ou nos procedimentos de disponibilização destes, e que podem ser exploradas, causando danos, em alguns casos irreversíveis. Entretanto, em se tratando de pentest, esta definição inclui também as politicas de segurança da própria empresa. Por este motivo todo o risco deve ser calculado, evitando problemas com danos causados pelo teste.




Estes pontos fracos podem estar ou não dentro da rede, presentes no código fonte de um software, em procedimentos de segurança ineficazes, dispositivos configurados de forma errada e até a partir de pessoal mau treinado nos aspectos de segurança e que podem ser explorados por meio de engenharia social. Todos estes aspectos precisam ser devidamente analisados, evitando a existência destas vulnerabilidades.

A exploração de vulnerabilidades possui basicamente dois objetivos, o acesso a informações confidenciais e/ou causar indisponibilidade do serviço ou sistema, este último chamado de negação de serviço (DoS). Tando o furto de informações críticas, quanto a negação de serviço podem causar prejuízos gigantescos para uma organização, por isso, as técnicas apresentadas devem ser utilizadas sempre em ambiente controlado e com a permissão do alvo.

Tipos de Ataques

Como já foi explicado anteriormente, quando uma vulnerabilidade é descoberta, na maioria das vezes, ela é logo divulgada e, geralmente com a sua devida “vacina”. Dessa forma, se o sistema estiver devidamente atualizado não sofrerá com vulnerabilidades, pelo menos as já descobertas e divulgadas.

O que um invasor faz é utilizar programas que exploram estas vulnerabilidades. Para isso, ele utiliza softwares criados para este fim, os chamados “exploits”. Estes softwares são os responsáveis por explorar as falhas descobertas e realizar uma tarefa, na maioria das vezes, de controle do alvo ou negação do serviço.

Invasão do sistema: é o tipo de ataque que permite ao invasor acesso a recursos compartilhados pelo sistema ou a captura de informações do alvo, geralmente por meio de um terminal de comandos do sistema (Shell). Na maioria das vezes, o acesso é conseguido através de uma conta que não possui privilégios para realizar alterações no sistema, por isso entra em ação a tarefa de escalação de privilégios.

Esta técnica consiste em utilizar ferramentas para aumentar o privilégio do atacante em relação ao alvo invadido. Dessa forma, o atacante pode copiar arquivos, hospedá-los no alvo e até realizar tarefas administrativas, como criar e excluir usuários no sistema e alterar configurações sensíveis nele.

Ataque de negação de serviço (DoS): também conhecido como teste de stress, esta técnica consiste em sobrecarregar o servidor com um excesso de pacotes, com a finalidade de testar a capacidade dele em atender uma grande demanda. No momento que o servidor estiver sobrecarregado, se tornará lento, podendo até negar a prestação do serviço, daí o nome da técnica.

Esta técnica permite descobrir o limite de tempo e pacotes enviados e que podem fazer o serviço ficar indisponível. É esse tipo de ataque que normalmente “derruba um site”, pois ao ficar sobrecarregado ele nega as requisições realizadas e passa a negar este acesso, tornando o site ou sistema indisponível.

Existem centenas de softwares, com esta finalidade, disponíveis na internet, porém nem todos fazem o que prometem. Sendo assim, é fundamental que seu código seja devidamente inspecionado antes de utilizar qualquer um deles, pois muitos são, na verdade, armadilhas para curiosos sem conhecimento em programação.

Principais Ferramentas

Para a fase de obtenção de acesso, o Kali Linux possui uma ferramenta nativa no sistema que é, sem dúvidas, a mais famosa para esta fase: o metasploit. Ele não é um exploit, mas como o nome sugere, é um conjunto de ferramentas que possuem a finalidade de explorar vulnerabilidades descobertas, ou seja, vários tipos de exploits para vários tipos de vulnerabilidades diferentes e para sistemas operacionais distintos. Embora nativa no Kali Linux, esta não é uma ferramenta exclusiva dele, podendo ser utilizada em outros sistemas Unix base, já que possui código aberto, inclusive o FreeBSD.

Seu uso é relativamente simples, de posse da lista de vulnerabilidades do alvo, basta pesquisar por módulos que explorem a vulnerabilidade escolhida e selecionar um exploit na lista apresentada e utilizá-lo. Como todos os exploits dele possuem código aberto, podem ser utilizados de forma independente do metasploit, bastando apenas uma adaptação para isso.

Veremos nos próximos artigos quais as principais ferramentas e técnicas e como utilizá-las para explorar vulnerabilidades.

Próximo Passo

Depois de passar pela fase de obtenção de acesso e realizar o ataque, o auditor terá uma boa lista de vulnerabilidades exploradas e o risco real para a organização, caso elas sejam realmente exploradas. Porém é importante que ele consiga retornar para o alvo, se necessário, e sem realizar o ataque novamente, mas criar um atalho.

Assim, inicia-se a nova fase do teste, a preservação do acesso. Neste momento o auditor vai criar mecanismos que permitam seu retorno ao alvo, porém sem realizar novamente todo o processo de invasão. É o que veremos no artigo sobre a fase de preservação de acesso.






Sobre o Autor

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.