sexta-feira, 21 de agosto de 2009

ARTIGO: Framework para PenTests

Bom dia a todos. Mediante a tantos testes de penetração (internos e externos) executados no decorrer de alguns anos de experiência, resolvi elaborar um framework macro para auxílio neste tipo de trabalho. Minha idéia não é dar o caminho das pedras para ninguém, mas, auxiliar a todos nas etapas necessárias para este tipo de trabalho.

Basicamente temos 3 etapas distintas neste tipo de serviço, sendo as mesmas detalhadas no decorrer deste artigo. A primeira etapa é denominada como Network Footprint ou mapeamento de informações. Nesta etapa é realizado um mapeamento completo da empresa “alvo” do pentest. São levantados notícias da empresa, citação da mesma em grupos de discussão, a situação da mesma no registro.br entre outras atividades que serão descritas posteriormente.

A segunda etapa é realizar o chamado Discovering & Probing isto é, identificar vulnerabilidades juntos aos dados mapeados na etapa anterior. Nesta etapa são utilizados softwares como NMAP, NETCAT, AMAP entre outros, de acordo com a necessidade do serviço. Por exemplo, caso estejam sendo mapeados problemas com as páginas ou aplicações web disponibilizadas pela empresa, é aconselhável a utilização de sistemas e software como o PAROS por exemplo.

A terceira e última etapa, basicamente consiste na exploração das vulnerabilidades encontradas nas etapas anteriores. Nesta fase vai do conhecimento do consultor responsável pelo serviço, de saber e mapear as ferramentas, scripts e qualquer outro procedimento necessário para explorar as vulnerabilidades identificadas.

Vale lembrar que este tipo de serviço pode causar paralisação de serviços e até mesmo do ambiente do cliente como um todo. Tenha sempre cuidado com os comandos e scripts que serão utilizados nos serviços e, antes de mais nada entendam a necessidade de seu cliente para que não se perca com tarefas que não irão gerar o resultado esperado pelo cliente.

Abaixo apresento alguns sites ou ferramentas que podem ser utilizada em cada uma das etapas descritas anteriormente neste artigo.

Etapa 1 (Network Footprinting – Mapeamento)

1. Google Search (www.google.com)
2. Registro.br (www.registro.br)
3. Subnet Calculator (http://www.subnet-calculator.com/)
4. Traceroute (http://registro.br/cgi-bin/nicbr/trt e http://www.traceroute.org)
5. TCPTraceroute – Comando Linux
6. DNS Stuff (http://www.dnsstuff.com/# e http://member.dnsstuff.com/pages/tools.php?ptype=free)

Etapa 2 (Discovery & Probing.)

1. nmap (http://insecure.org/)
2. netcat (http://netcat.sourceforge.net/)
3. amap (Comando Linux)
4. hping (http://www.hping.org/download.html)
5. DNS Auditing tool (http://www.packetfactory.net/Projects/dnsa/)
6. Nessus (http://www.nessus.og)
7. Paros (http://www.parosproxy.org/index.shtml)

Etapa 3 (Exploração de vulnerabilidades)

1. Security Focus (www.securityfocus.com)
2. Metasploit (http://www.metasploit.com/)
3. Testar conexões (aplicativo putty) (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)
4. SQL Injection

Para este tipo de Trabalho costume utilizar sistema operacional linux como o Nubuntu e o Back Track já que estes são sistemas operacionais preparados para a execução deste tipo de trabalho.

Não explorei muito comandos utilizados, pois não é este meu intuito e sim de levar um modelo macro de framework para este tipo de serviço. Na internet é possível encontrar frameworks mais detalhados que podem servir de complementos para o apresentado neste artigo.

De qualquer forma me coloco a disposição para esclarecimentos de dúvidas e debates sobre ferramentas e tecnologias utilizadas.

Nenhum comentário:

Postar um comentário