Fundamentos de Pentest e Information Gathering

Fundamentos de Pentest, Footprinting e Information Gathering
Voltar

Pentest

Teste, realizado por profissional contratado, fará em empresa, rede ou sistema, a fim de obter a efetividade de segurança de tal.
As ferramentas abaixo devem ser testadas no site fictício, preparado para fins didáticos, no link bancocn.com.

  • Black Hat: Hacker com más intenções;
  • White Hat: Ethical Hacker profissional. Isso a fim de proteger o sistema, rede e empresa de Black Hat. Geralmente possui maiores habilidades quando comparado ao Black Hat, possui precisa-se de maiores conhecimentos para defender um sistema, para prever possíveis ataques, do que simplesmente para atacar. Nesse meio, o Pentester é o profissional contratado para testar sistemas, encontrar vulnerabilidades e reportá-las.

Fases do Pentest

  1. Definição do escopo e coleta de informações (information gathering);
  2. Análise de vulnerabilidades;
  3. Exploração (Invasão);
  4. Pós exploração (Aquisição de dados);
  5. Relatório.

Tipos de Pentest

  1. White Box: Quando o Pentester possui informações/dados sobre seu alvo;
  2. Black Box: Quando o Pentester não possui nenhuma informação/dado sobre seu alvo;
  3. Grey Box: Quando o Pentester possui algumas informações/dados sobre seu alvo.

Information Gathering

Coletar todas as informações que pareçam-lhe úteis(emails, telefones, nomes, links, inspecionar código fonte...). Lógica da técnica é, através do whois, descobrir alguns ip's relacionados e, com isso, fazer o host nos endereços de email e relacionados. Então encontrará ip's, que pode ser feito whois e descobrir mais informações. Na maioria das vezes, encontrar ip's verdadeiros pelo domínio pode esbarrar em firewalls(Cloudflare, Akamai...). Desta forma, pode-se pesquisar por subdomínios (admin.bancocn.com, painel.bancocn.com ...)


Whois e RegistroBr


Url who.is, ou no  terminal Kali Linux: "whois url"

Site mundial para visualização proprietária do site(registro de url). Exibirão dados cadastrais, Name Servers (servidores que apontam para o ip do servidor do site - geralmente pode ser um firewall, que protege o verdadeiro ip deste servidor). O RegistroBr, registrobr.com, é o Whois dos sites brasileiros. Para pesquisas no RegistroBr pode-se informar a url do site, ip ou o cnpj do proprietário. Cada país tem o seu Whois.



Host


"host url"

Comando para localizar ip's de determinada url.



Dnsenum


dnsenum url
dnsenum -f listaSubdominios.txt url (com brute force)
dnsenum -f listaSubdominios.txt url > relatorio.txt (guarda em arquivo)

Comando para enumeração de DNS (Domain Name Server - Pega o nome do domínio e redireciona a determinado ip). Sugere-se pesquisa com subdomínios também.



Dnsbrute.py

Software Python que enumera DNS através de uma lista de subdomínios informados num txt. Download no link dnsbrute.py. 1º crie um txt com lista de subdomínios que deseja pesquisar. Depois execute no terminal(no diretório da ferramenta) "python dnsbrute.py url pasta/documento.txt".


Criei um documento 'lista.txt', na pasta desktop, onde informei os seguintes subdomínios:
www
admin
administrador
painel
webmail
mail
Executo o dnsbrute.py, na pasta downloads: python dnsbrute.py bancocn.com ../Desktop/lista.txt
Mostrarão os subdomínio encontrados, juntamente com seus ip's

Wafw00f (Ids/Ips Identificator)


"wafw00f url"

Identifica o nome do firewall por detrás da url informada.


Robots.txt


No browser: "url/robots.txt"

Guarda conteúdo que não deve ser inspecionado pelos robots do Google (disallow).



Elaborado por Mateus Schwede
ubsocial.github.io