Identificação de Alvos: Arquitetura de Host, Detecção de Honeypots, WAFs, Varredura de Portas, Protocolos e Segurança de Serviços

A identificação de alvos é uma etapa crucial em testes de penetração e segurança ofensiva. Este processo envolve a coleta de informações detalhadas sobre a infraestrutura de um sistema, incluindo sua arquitetura, serviços em execução, possíveis defesas como Web Application Firewalls (WAFs) e honeypots, e configurações de rede.

Pontos Chave:

  1. Varredura de Portas e Protocolos: Identificar quais portas estão abertas e quais serviços estão rodando nelas é fundamental. Isso ajuda a mapear a superfície de ataque.
  2. Identificação de WAF: Detectar a presença e o tipo de Web Application Firewall em uso permite planejar estratégias para contornar ou explorar suas vulnerabilidades.
  3. Identificação de Honeypots: Reconhecer sistemas configurados como honeypots é importante para evitar perder tempo em armadilhas ou, em alguns casos, para obter informações sobre as táticas dos atacantes.

Detalhes Técnicos:

  • Linguagens de Desenvolvimento Comuns: PHP, Java, Ruby, Python, C#, JavaScript, etc.
  • Servidores Web: Apache, Nginx, IIS, lighttpd.
  • Servidores de Aplicação: Tomcat, JBoss, WebLogic, WebSphere.
  • Bancos de Dados: MySQL, SQL Server, Oracle, Redis, MongoDB.
  • Sistemas Operacionais: Linux, Windows.
  • Serviços de Rede: FTP, SSH, RDP, SMB, SMTP, LDAP, Rsync.
  • Serviços de CDN: Akamai, Cloudflare, AWS CloudFront, Alibaba Cloud CDN.
  • Soluções de WAF: ModSecurity, FortiWeb, Imperva, Sucuri WAF.
  • Plataformas de Honeypot: HFish, Cowrie, Dionaea, T-Pot, Glastopf.
  • Outros Componentes: Fastjson, Apache Shiro, Log4j, sistemas de gestão de escritório (OA).

A tabela abaixo resume portas comuns, seus serviços associados e potenciais vetores de exploração em um cenário de pentest:

Porta TCP/UDP Serviço Vetores de Exploração
20, 21 FTP Upload/download anônimo, força bruta, sniffing, escalonamento de privilégios, RCE.
22 SSH Força bruta, ataques Man-in-the-Middle (v1), túneis SSH, proxy.
23 Telnet Força bruta, sniffing, senhas fracas em dispositivos de rede.
25 SMTP Falsificação de e-mail, enumeração de usuários (VRFY/EXPN).
53 DNS Transferência de zona, sequestro de DNS, envenenamento de cache, túneis DNS.
69 TFTP Download de arquivos de configuração.
80-89, 443, 8080-8089 Serviços Web Exploração de vulnerabilidades em aplicações web, painéis de administração, etc.
110 POP3 Força bruta, sniffing.
111, 2049 NFS Configuração incorreta de permissões.
137, 139, 445 Samba/SMB Força bruta, exploração de vulnerabilidades de RCE (ex: MS08-067, MS17-010).
143 IMAP Força bruta.
161 SNMP Força bruta de community strings, coleta de informações.
389 LDAP Injeção de LDAP, acesso anônimo, senhas fracas.
512, 513, 514 Rexec/Rlogin Força bruta.
873 Rsync Acesso anônimo, upload de arquivos.
1194 OpenVPN Roubo de credenciais VPN para acesso interno.
1352 Lotus Notes Senhas fracas, vazamento de informações.
1433 SQL Server Injeção SQL, escalonamento de privilégios, força bruta de SA.
1521 Oracle Força bruta TNS, injeção SQL.
2082, 2083 cPanel Força bruta.
2181 ZooKeeper Acesso não autorizado.
3306 MySQL Injeção SQL, escalonamento de privilégios, força bruta.
3389 RDP Força bruta, exploração de vulnerabilidades (ex: BlueKeep).
3690 SVN Vazamento de repositório, acesso não autorizado.
4848 GlassFish Senhas fracas.
5000 Sybase/DB2 Força bruta, injeção SQL.
5432 PostgreSQL Força bruta, injeção SQL, senhas fracas.
5900-5902 VNC Força bruta de senhas fracas.
5984 CouchDB Execução remota de comandos devido a acesso não autorizado.
6379 Redis Acesso não autorizado, senhas fracas.
7001, 7002 WebLogic Deserialização remota, senhas fracas.
8000 Ajenti Senhas fracas.
8009 Tomcat AJP Vulnerabilidades no protocolo AJP.
8080-8089 Jenkins, JBoss Deserialização, senhas fracas em painéis de controle.
9200, 9300 Elasticsearch Execução remota de comandos devido a acesso não autorizado.
11211 Memcached Acesso não autorizado.
27017, 27018 MongoDB Força bruta, acesso não autorizado.
50070, 50030 Hadoop Acesso não autorizado a painéis de gestão.

Identificação de Honeypots (Usando Quake como exemplo):

Tipo de Honeypot Sintaxe de Busca no Quake
Struts Honeypot app:"StrutsHoneypot"
Conpot (HTTP, Modbus, S7) app:"Conpot Http Honeypot", app:"Conpot modbus Honeypot", app:"Conpot s7 Honeypot"
Kippo Honeypot app:"kippo Honeypot"
Honeypy (HTTP, ES) app:"Honeypy Http Honeypot", app:"Honeypy ES Honeypot"
Amun (IMAP, HTTP) app:"amun imap Honeypot", app:"amun http Honeypot"
Nepenthes (Netbios, FTP) app:"Nepenthes netbios Honeypot", app:"Nepenthes FTP Honeypot"
SshEsame SSH Honeypot app:"sshesame ssh Honeypot"
OpenCanary Admin app:"opencanary Honeypot Admin"
Dionaea (SIP, SMB, HTTP, etc.) app:"Dionaea sipd Honeypot", app:"Dionaea smbd Honeypot", app:"Dionaea Http Honeypot", app:"Dionaea MSSQL Honeypot", app:"Dionaea ftp Honeypot", app:"Dionaea Memcached Honeypot"
Kojoney SSH Honeypot app:"Kojoney SSH Honeypot"
WebLogic Honyepot app:"weblogic Honeypot"
MySQL Honeypot app:"MySQL Honeypot"
HFish Honeypot app:"HFish Honeypot", app:"HFish Honeypot Admin"
HoneyThing IoT Honeypot app:"honeything IoT Honeypot"
Elasticsearch Honeypot app:"elasticsearch Honeypot"
HostUS Honeypot app:"HostUS Honeypot"
WhoisScanMe Honeypot app:"whoisscanme Honeypot"
Unknown Honeypot app:"Unknown Honeypot"
Cowrie Telnetd Honeypot app:"Cowrie telnetd Honeypot"
Glastopf Honeypot app:"glastopf Honeypot"

Processo de Identificação:

  1. Identificação de Servidores Web:
  • Análise de Cabeçalhos HTTP: Inspecionar as respostas HTTP (usando ferramentas como Burp Suite ou o DevTools do navegador) pode revelar o servidor web (ex: Server: Apache, Server: Nginx).
  • Varredura de Portas: Utilizar Nmap ou Masscan para identificar portas abertas. Nmap é mais detalhado para análise de serviços, enquanto Masscan é otimizado para varreduras rápidas em larga escala.
  • Nmap: nmap -sV -p- <target_ip> (Varredura intensa em todas as portas com detecção de versão de serviço).
  • Masscan: masscan -p 1-65535 <target_ip> (Varredura rápida de todas as portas).
  • Ferramentas de Prospecção: Utilizar plataformas de busca de vulnerabilidades e informações de sistemas expostos na internet (ex: Shodan, Censys, Quake).
  1. Identificação de Servidores de Aplicação e Outros Serviços:
  • A varredura de portas (Nmap, Masscan) é o método primário. A análise dos serviços em execução nas portas abertas (ex: Tomcat na porta 8080, JBoss na 8080/8089, Oracle TNS na 1521) permite inferir o tipo de servidor de aplicação ou banco de dados.
  • Ferramentas específicas de detecção de middleware podem ser usadas.
  1. Identificação de WAFs:
  • Padrões de Bloqueio: WAFs frequentemente retornam páginas de erro ou bloqueio com assinnaturas específicas (ex: "Forbidden", "Access Denied", mensagens personalizadas).
  • Ferramentas Automatizadas:
  • wafw00f: Uma ferramenta dedicada a identificar WAFs comuns.
  • Instalação: pip install wafw00f
  • Uso: wafw00f https://<target_url>
  • identYwaf: Outra ferramenta para detecção de WAFs.
  • Uso: python identYwaf.py https://<target_url>
  • Análise de Requisições: Enviar requisições maliciosas e observar como o WAF responde pode ajudar na identificação.
  1. Identificação de Honeypots:
  • Padrões de Serviço: Alguns honeypots simulam serviços conhecidos, mas com comportamento anômalo ou portas inesperadas.
  • Plataformas de Inteligência de Ameaças: Ferramentas como Quake (360), Shodan, ou outros scanners de superfície de ataque podem ser usadas com consultas específicas para encontarr assinaturas de honeypots conhecidos.
  • Análise Manual: Observar características como tráfego excessivo em portas incomuns, respostas lentas ou padrões de log suspeitos.
  • Ferramentas de Prospecção de Honeypots: Existem projetos focados em identificar honeypots (ex: Heimdallr).

Exemplo de Configuração de Honeypot (HFish em Linux):

A instalação de um honeypot como o HFish em um ambiente Linux pode ser simplificada com um script de implantação automática. É crucial configurar o firewall corretamente.

  1. Configurar Firewall (Exemplo com firewalld):
sudo firewall-cmd --add-port=4433/tcp --permanent  # Porta da interface web
sudo firewall-cmd --add-port=4434/tcp --permanent  # Porta de comunicação do nó
sudo firewall-cmd --reload

Se o honeypot precisar expor outros serviços, as portas correspondentes devem ser abertas.

  1. Executar Script de Instalação:
bash <(curl -sS -L https://hfish.net/webinstall.sh)

  1. **Acessar a Interface de Gerenciamento:**Após a instalação, a interface geralmente fica acessível via https://<ip_do_servidor>:4433/web/. As credenciais padrão são admin/HFish2021.

Observações:

  • Ao acessar interfaces de gerenciamento ou serviços simulados, certifique-se de usar https:// quando aplicável.
  • É fundamental habilitar os serviços e portas desejados no firewall do honeypot para que eles sejam acessíveis.
  • A varredura de portas pode ser influenciada por firewalls de rede ou regras de segurança do próprio sistema operacional, podendo resultar em estados como Closed, Open, ou Filtered.
  • Em ambientes de rede interna, a visibilidade das portas pode ser diferente da internet pública devido a firewalls internos ou segmentação de rede.

Tags: varredura de portas identificação de WAF identificação de honeypot nmap Masscan

Publicado em 7-10 16:58