July 3, 2026
TryHackMe Reconhecimento ativo (versão em português)
Introdução

By Chris Mineff
18 min read
Introdução
O reconhecimento ativo é o processo de interagir diretamente com um sistema ou rede alvo para coletar informações sobre ele.
O reconhecimento passivo coleta dados a partir de fontes públicas, sem enviar nenhum tráfego ao alvo. O reconhecimento ativo, por outro lado, exige transmitir pacotes, estabelecer conexões e sondar serviços.
Essa diferença é importante porque técnicas ativas deixam rastros, como entradas em logs, alertas de IDS, bloqueios de WAF e acionamento de honeypots.
A sala anterior, sobre reconhecimento passivo, abordou a coleta de inteligência a partir de registros DNS, dados WHOIS, logs de certificados e serviços como o Shodan, sem que o alvo soubesse. Esta sala passa para o engajamento direto.
Você usará navegadores web, ping, traceroute, telnet e netcat para interagir com alvos e extrair informações que métodos passivos não conseguem revelar.
O reconhecimento passivo envolve verificar dados públicos, como registros DNS, resultados WHOIS, logs de certificados e consultas no Shodan, sem enviar pacotes ao alvo.
O reconhecimento ativo envolve fazer contato direto com o alvo, visitando sites, enviando ping para hosts, rastreando rotas e conectando-se a portas. Isso pode revelar serviços ativos, portas abertas, banners e caminhos de rede, mas deixa rastros.
Pré-requisitos: esta sala pressupõe familiaridade com conceitos básicos de redes, como TCP, UDP, ICMP e números de porta. Se esses termos forem desconhecidos, conclua o módulo de Redes antes de prosseguir.
O reconhecimento ativo está mais arriscado e detectável do que nunca. A maioria das organizações utiliza CDNs, como Cloudflare e Akamai, junto com WAFs e modelos de zero trust que registram ou bloqueiam diretamente sondagens incomuns. A adoção do IPv6 significa que muitos hosts respondem a ping6, mas filtram ICMPv4. O HTTPS domina o tráfego web, tornando protocolos em texto claro praticamente obsoletos para interações web. Do lado defensivo, SIEMs, soluções de EDR e monitoramento nativo em nuvem detectam padrões de reconhecimento de forma rápida e confiável.
Apesar do domínio dos protocolos criptografados, ferramentas como telnet ainda valem a pena ser compreendidas. Elas ilustram os fundamentos de banner grabbing e interação com protocolos em texto claro, o que ajuda você a entender por que alternativas modernas, como netcat e curl, são preferidas. Você também encontrará fraquezas baseadas em telnet em ambientes legados, portanto saber como ele funciona tem valor prático.
Regra crítica: nunca realize reconhecimento ativo sem autorização legal explícita e assinada, como um contrato de pentest ou um escopo de bug bounty. Sondagens não autorizadas são ilegais na maioria das jurisdições.
Do ponto de vista de red team, o objetivo é se misturar ao tráfego normal. Um navegador acessando um site parece idêntico ao tráfego comum entre milhares de usuários legítimos, e requisições cuidadosamente criadas com strings de User-Agent realistas e temporização lenta às vezes conseguem evitar detecções básicas.
Do ponto de vista de blue team, sondagens ativas aparecem em logs de acesso, logs de firewall, eventos de WAF e alertas de IDS. Monitorar sua própria exposição ajuda a identificar reconhecimento em estágio inicial.
Objetivos de aprendizagem
Ao final desta sala, você será capaz de:
Usar um navegador web e suas ferramentas de desenvolvedor para inspecionar cabeçalhos, arquivos-fonte JavaScript e certificados para fins de reconhecimento.
Usar ping para testar a alcançabilidade de hosts e inferir detalhes do sistema operacional a partir dos valores de TTL.
Usar traceroute e mtr para mapear caminhos de rede e descobrir saltos intermediários.
Usar telnet para banner grabbing em ambientes legados e entender por que alternativas modernas são preferidas.
Usar netcat, ou nc, para realizar banner grabbing, sondagem básica de portas e comunicação simples cliente-servidor.
Essas ferramentas são simples e geralmente já vêm pré-instaladas em distribuições Linux como AttackBox, Kali e Parrot. Esta sala é adequada para iniciantes que querem entender os fundamentos do reconhecimento ativo antes de avançar para as salas de Nmap.
Aviso importante: se você não for assinante, o AttackBox no navegador não terá acesso direto à internet. Para tarefas que exigem consultas web ou alvos externos, conecte-se via OpenVPN à rede do TryHackMe. Isso habilita conectividade completa com a internet a partir da sua máquina local ou do AttackBox.
Responda à pergunta abaixo:
Certifique-se de entender por que essas ferramentas se enquadram em reconhecimento ativo.
Inicie seu AttackBox e confirme que ele está pronto. Você precisará dele para responder às perguntas, especialmente nas tarefas posteriores.
Resposta: <Não é necessária resposta>
WEB Browser
O navegador web é uma das ferramentas mais convenientes e menos suspeitas para reconhecimento ativo. Ele está presente em praticamente todos os sistemas, e seu tráfego se mistura com a atividade normal dos usuários. Isso dificulta para os defensores distinguir reconhecimento de navegação legítima.
Conceitos básicos em nível de transporte
Navegadores se conectam, por padrão, à porta TCP 80 para HTTP simples, embora isso agora seja raro, pois quase todos os sites redirecionam automaticamente para HTTPS. A porta TCP 443 é o padrão para HTTPS e é usada por praticamente todos os sites atualmente.
Muitos sites modernos também oferecem suporte a HTTP/3, que usa o protocolo QUIC. QUIC é um protocolo de transporte originalmente desenvolvido pelo Google que combina as funções do TCP e do TLS em um único protocolo executado sobre a porta UDP 443. O resultado são conexões mais rápidas e confiáveis do que o modelo tradicional TCP + TLS. Você pode identificar tráfego HTTP/3 na aba Network do navegador, onde a coluna de protocolo exibe h3.
Você pode acessar serviços em portas não padrão especificando-as explicitamente na URL. Por exemplo, navegar para:
https://target.com:8443/https://target.com:8443/ou:
http://192.168.1.100:8080/http://192.168.1.100:8080/fará com que o navegador tente se conectar a essa porta. Se houver um servidor web escutando, a página será carregada.
Ferramentas de desenvolvedor
Pressione Ctrl + Shift + I no Windows e Linux, ou Option + Command + I no macOS, no Firefox, Chrome, Edge ou na maioria dos navegadores baseados em Chromium para abrir as Ferramentas de Desenvolvedor.
Várias abas disponíveis são diretamente úteis para reconhecimento.
A aba Network exibe todas as requisições e respostas em tempo real. Isso inclui cabeçalhos de requisição e resposta, como Server, X-Powered-By e Content-Security-Policy, além de dados de tempo, códigos de status e cookies enviados e recebidos.
A aba Console permite executar trechos de JavaScript diretamente no contexto da página, visualizar erros e interagir com o DOM.
A aba Sources permite navegar por arquivos JavaScript, CSS e HTML carregados pela página. Essa é uma das técnicas de reconhecimento mais práticas disponíveis pelo navegador. Arquivos-fonte JavaScript frequentemente contêm endpoints de API hardcoded, estruturas de diretórios, referências a serviços internos e comentários de desenvolvedores que nunca deveriam ter sido públicos. Inspecionar esses arquivos pode revelar informações invisíveis na página renderizada. Você usará essa técnica nas perguntas abaixo.
A aba Application, na seção Storage, permite inspecionar cookies, Local Storage e Session Storage. Essas áreas de armazenamento às vezes contêm tokens de sessão, chaves de API expostas acidentalmente no lado do cliente, IDs de rastreamento ou dados de autenticação.
A aba Security fornece detalhes do certificado, incluindo emissor, período de validade e Subject Alternative Names, ou SANs. Os SANs frequentemente revelam subdomínios adicionais ou domínios relacionados pertencentes à mesma organização.
Abaixo há uma captura de tela das Ferramentas de Desenvolvedor do Firefox. Chrome e Edge oferecem uma interface muito semelhante.
Extensões de navegador
Extensões de navegador podem transformar o navegador em uma plataforma de reconhecimento mais poderosa. As seguintes extensões são populares atualmente e mantidas ativamente.
FoxyProxy permite alternar entre proxies, como Burp Suite, ZAP e túneis SOCKS5. Isso é útil ao interceptar ou rotear tráfego por diferentes ferramentas durante um engajamento.
User-Agent Switcher and Manager altera a string de User-Agent para emular diferentes navegadores, sistemas operacionais ou dispositivos. Você pode se apresentar como um Safari mobile ou uma versão mais antiga de navegador para descobrir endpoints específicos de dispositivos móveis ou comportamentos específicos de determinadas versões. No entanto, muitos WAFs e CDNs modernos detectam mudanças suspeitas ou rápidas de User-Agent.
Wappalyzer identifica automaticamente as tecnologias usadas no site, incluindo plataformas CMS, servidores web, frameworks JavaScript, ferramentas de analytics, CDNs e bancos de dados. Ele funciona passivamente enquanto você navega e é uma das extensões mais usadas para fingerprinting rápido de tecnologias.
Outras alternativas úteis incluem o BuiltWith Technology Profiler, que é semelhante ao Wappalyzer, mas às vezes detecta tecnologias diferentes; o WhatRuns, como uma alternativa mais leve; e o Library Detector para Chrome e Firefox, que se concentra especificamente em bibliotecas e frameworks JavaScript.
Com o tempo, a maioria das pessoas acaba escolhendo um pequeno conjunto de três a cinco extensões que melhor se encaixam em seu fluxo de trabalho.
Mesmo que a navegação pareça normal, padrões incomuns ainda podem acionar regras comportamentais em WAFs modernos ou sistemas de detecção em endpoints. Carregamentos rápidos de páginas, cabeçalhos modificados, uso frequente das DevTools e strings de User-Agent anormais são sinais observados pelos defensores.
O objetivo é imitar o comportamento de um usuário legítimo sempre que possível.
Responda à pergunta abaixo:
Navegue até o site indicado (https://static-labs.tryhackme.cloud/sites/networking-tcp/) e certifique-se de ter aberto as Developer Tools no Firefox do AttackBox ou no navegador do seu computador. Usando as Developer Tools, descubra o número total de perguntas.
Resposta: 8
Dica: <respondendo as perguntas de SYN / ACK>
PING
O nome ping vem do som de um pulso de sonar. Você envia um sinal e escuta o eco voltar.
Em redes, o comando ping faz a mesma coisa. Ele envia um pequeno pacote de teste para um host remoto e aguarda uma resposta. Essa troca simples informa se o alvo está alcançável pela rede e se está online e respondendo.
Como o ping funciona
O ping usa o protocolo ICMP, ou Internet Control Message Protocol. Ele envia um pacote ICMP Echo Request, do tipo 8. Se o alvo receber o pacote e tiver permissão para responder, ele envia de volta um ICMP Echo Reply, do tipo 0.
Essa troca é muito leve e rápida, por isso o ping se tornou a primeira verificação padrão antes de gastar tempo com varreduras mais detalhadas.
Uso básico
No Linux e no macOS, use a flag -c para especificar o número de pacotes a serem enviados.
Você também pode usar ping em um hostname. Nesse caso, a resolução DNS acontece primeiro.
No Windows, a flag equivalente é -n.
Se você omitir a contagem no Linux, o ping continuará executando indefinidamente. Pressione Ctrl+C para interrompê-lo.
Você também pode forçar uma versão específica de IP usando as flags -4 e -6. Isso é útil em ambientes dual-stack, onde um hostname resolve tanto para endereços IPv4 quanto IPv6.
Em alguns sistemas, o comando ping6 está disponível como um comando separado para IPv6.
Interpretando a saída: ping bem-sucedido
O exemplo a seguir mostra um alvo que está ativo e permite tráfego ICMP.
O alvo respondeu a todas as cinco requisições, confirmando que está online e alcançável. A perda de pacotes de 0% confirma um caminho de rede limpo. O tempo de ida e volta, de aproximadamente 0,5 ms, é muito baixo, indicando que o alvo provavelmente está na mesma rede local.
O campo TTL, ou Time To Live, merece atenção especial. Embora a palavra "Time" apareça no nome, o TTL na verdade representa o número máximo de roteadores, ou saltos, pelos quais um pacote pode passar antes de ser descartado.
Cada roteador ao longo do caminho reduz o TTL em um. O valor inicial do TTL é definido pelo sistema operacional, o que o torna um indicador útil para fingerprinting de sistema operacional. Normalmente, sistemas Linux usam TTL inicial de 64, enquanto sistemas Windows costumam usar 128.
No entanto, roteadores intermediários reduzem esse valor antes que a resposta chegue até você. Um TTL de 58 em uma resposta provavelmente indica um sistema Linux a seis saltos de distância, e não necessariamente um sistema operacional completamente diferente. Tenha isso em mente ao interpretar os resultados.
Interpretando a saída: sem resposta
Existem vários motivos comuns para não receber resposta.
A máquina do laboratório pode estar desligada, travada ou ainda inicializando. Um roteador ou firewall no caminho pode estar bloqueando requisições ICMP Echo Request. O alvo pode estar atrás de um NAT que descarta ICMP.
O Windows Firewall bloqueia ping por padrão na maioria das versões. Firewalls corporativos, provedores de nuvem como AWS, Azure e GCP, além de WAFs e CDNs modernos, frequentemente bloqueiam ICMP completamente.
Sua própria rede ou máquina também pode estar bloqueando ICMP de saída.
Referência rápida
Responda às perguntas abaixo:
Qual opção você usaria para definir o tamanho dos dados carregados pela requisição ICMP Echo Request?
Resposta: -s
Qual é o tamanho do cabeçalho ICMP em bytes?
Resposta: 8
O Firewall do MS Windows bloqueia ping por padrão? — Y/N
Resposta: Y
Implante a VM desta tarefa e, usando o terminal do AttackBox, execute o comando ping -c 10 MACHINE_IP. Quantas respostas de ping você recebeu?
Resposta: 10
Traceroute
O comando traceroute rastreia a rota que os pacotes percorrem do seu sistema até um host alvo. Seu objetivo é descobrir os endereços IP dos roteadores, ou hops, ao longo do caminho e determinar quantos deles existem entre você e o destino.
Essa informação é útil para entender a topologia da rede, identificar onde ocorre filtragem ou latência e mapear a infraestrutura.
No entanto, a rota que os pacotes seguem não é fixa. Muitos roteadores usam protocolos de roteamento dinâmico, como BGP ou OSPF, que se adaptam a mudanças na rede. Redes modernas também utilizam balanceamento de carga e roteamento anycast, o que significa que os pacotes podem seguir caminhos diferentes mesmo em execuções consecutivas do mesmo comando.
No Linux e no macOS, o comando é:
traceroute MACHINE_IPtraceroute MACHINE_IPNo Windows, o comando é:
tracert MACHINE_IPtracert MACHINE_IPPara IPv6, use:
traceroute -6 MACHINE_IPV6traceroute -6 MACHINE_IPV6Ou o comando separado:
traceroute6traceroute6Como o traceroute funciona
Não existe uma forma direta de descobrir todo o caminho do seu sistema até um alvo. Em vez disso, o traceroute explora o campo TTL, ou Time To Live, no cabeçalho IP.
Cada roteador que processa um pacote reduz o TTL em um antes de encaminhá-lo. Quando o TTL chega a 0, o roteador descarta o pacote e envia uma mensagem ICMP Time-to-Live Exceeded de volta ao remetente.
O diagrama a seguir ilustra um pacote saindo de um sistema com TTL 64. Após passar por quatro roteadores, cada um reduzindo o TTL em um, o pacote chega ao alvo com TTL 60.
Ao enviar pacotes com valores de TTL incrementais, começando em 1, o traceroute força cada roteador sucessivo ao longo do caminho a revelar seu endereço IP.
Um TTL de 1 faz com que o primeiro roteador descarte o pacote e responda. Um TTL de 2 permite que o pacote chegue ao segundo roteador antes de ser descartado. Esse processo continua até que o pacote alcance o destino.
Alguns roteadores são configurados para não enviar mensagens ICMP Time-to-Live Exceeded. Isso é comum em ambientes seguros, onde se busca evitar reconhecimento. Esses roteadores aparecem como * na saída do traceroute.
No Linux, o traceroute envia datagramas UDP por padrão. Para mudar para um rastreamento baseado em TCP, o que é útil para contornar filtros UDP, use:
traceroute -T MACHINE_IPtraceroute -T MACHINE_IPPara rastreamento baseado em ICMP, use:
traceroute -I MACHINE_IPtraceroute -I MACHINE_IPLendo a saída
Os dois exemplos a seguir mostram o comando traceroute tryhackme.com executado duas vezes a partir do AttackBox do TryHackMe. Eles demonstram como as rotas podem mudar entre execuções consecutivas.
Traceroute A
Essa saída contém 14 linhas numeradas, cada uma representando um hop. O sistema envia três pacotes para cada valor de TTL, por isso você vê até três endereços IP e três tempos de ida e volta por linha.
Algumas linhas mostram endereços IP diferentes para o mesmo número de hop porque o balanceamento de carga fez com que cada um dos três pacotes seguisse um caminho ligeiramente diferente.
Considere a linha 12. O roteador em 99.83.69.207 respondeu aos três pacotes, com tempos de ida e volta de 17.603 ms, 15.827 ms e 17.351 ms.
Na linha 3, apenas um dos três pacotes recebeu resposta. Os dois símbolos * indicam que as outras duas mensagens ICMP Time-to-Live Exceeded foram descartadas ou suprimidas pelo roteador.
A linha final, hop 14, mostra 172.67.69.208, que corresponde ao endereço IP de destino de tryhackme.com exibido no cabeçalho do traceroute. Isso significa que o traceroute foi concluído com sucesso em um total de 14 hops.
Os hops de 1 a 13 são roteadores intermediários, e o hop 14 é o próprio destino.
Traceroute B
Nesta segunda execução, os pacotes seguiram uma rota significativamente mais longa, sendo concluída em 26 hops. O hop 26 é o destino 104.26.11.229, e os hops de 1 a 25 são roteadores intermediários.
Comparar as duas execuções mostra que nem o número de hops nem os roteadores específicos ao longo do caminho permaneceram consistentes. Esse é um comportamento esperado para tráfego que atravessa redes externas, especialmente quando CDNs como Cloudflare e Akamai estão envolvidas, pois elas usam anycast e balanceamento de carga para otimizar caminhos.
Há três observações principais nesses exemplos.
O número de hops entre o seu sistema e o alvo depende do momento em que você executa o comando. Não há garantia de que os pacotes seguirão a mesma rota, mesmo dentro de uma janela curta de tempo, porque balanceamento de carga, mecanismos de failover e atualizações de roteamento dinâmico podem alterar o caminho.
Alguns roteadores retornam endereços IP públicos que você pode examinar, dependendo do escopo do seu engajamento, embora esses endereços possam pertencer a terceiros.
Alguns roteadores não retornam nenhuma resposta, o que pode ocorrer por limitação de taxa, regras de firewall ou configurações que suprimem respostas ICMP.
Técnicas adicionais
Use:
mtr MACHINE_IPmtr MACHINE_IPO mtr, ou My Traceroute, fornece uma visão contínua e em tempo real que combina traceroute com estatísticas semelhantes às do ping, mostrando perda de pacotes e latência por hop.
Para contornar filtros, tente o modo TCP com:
traceroute -T MACHINE_IPtraceroute -T MACHINE_IPOu o modo ICMP com:
traceroute -I MACHINE_IPtraceroute -I MACHINE_IPPara IPv6, o comando separado:
traceroute6traceroute6garante compatibilidade com redes dual-stack.
Responda às perguntas abaixo:
No Traceroute A, qual é o endereço IP do último roteador/hop antes de alcançar tryhackme.com?
Resposta: 172.67.69.208
No Traceroute B, qual é o endereço IP do último roteador/hop antes de alcançar tryhackme.com?
Resposta: 104.26.11.229
No Traceroute B, quantos roteadores existem entre os dois sistemas?
Resposta: 25
Inicie a VM anexada da Tarefa 3, caso ela ainda não esteja iniciada. No AttackBox, execute traceroute MACHINE_IP. Verifique quantos roteadores/hops existem entre o AttackBox e a VM alvo.
Resposta: <não é necessária resposta>
Telnet
O protocolo TELNET, ou Teletype Network, foi desenvolvido em 1969 para comunicação com um sistema remoto por meio de uma interface de linha de comando. O comando telnet usa esse protocolo para administração remota, com a porta padrão 23.
Do ponto de vista de segurança, o telnet envia todos os dados em texto claro, incluindo nomes de usuário e senhas. Isso torna trivial para qualquer pessoa com acesso ao canal de comunicação interceptar credenciais de login. A alternativa segura é o SSH, ou Secure Shell, que criptografa todo o tráfego e é hoje o padrão para acesso remoto via linha de comando.
Apesar de suas limitações de segurança, o cliente telnet tem uma propriedade útil para reconhecimento. Como ele opera sobre TCP, você pode usá-lo para se conectar a qualquer porta TCP e observar a resposta do servidor.
Essa técnica é conhecida como banner grabbing. Você se conecta a um serviço e lê a resposta inicial, chamada de banner, que o servidor envia de volta. Banners frequentemente revelam o nome e a versão do software em execução naquela porta.
Se o telnet não estiver instalado no seu sistema, você pode instalá-lo no Debian e Ubuntu com:
apt install telnetapt install telnetNo entanto, netcat, ou nc, e curl geralmente são alternativas preferidas, pois oferecem funcionalidade semelhante com mais flexibilidade.
O exemplo abaixo demonstra banner grabbing contra um servidor web na porta 80. Você se conecta com:
telnet MACHINE_IP 80telnet MACHINE_IP 80Em seguida, envia uma requisição HTTP mínima. O comando:
GET / HTTP/1.1
host: exampleGET / HTTP/1.1
host: exampleseguido de duas teclas Enter, é suficiente para obter uma resposta.
Observação: a saída de terminal abaixo usa um servidor web de exemplo executando nginx apenas para fins ilustrativos. A VM anexada a esta tarefa executa um servidor web diferente. Ao realizar o exercício, sua saída será diferente deste exemplo.
O campo de interesse aqui é:
Server: nginx/1.6.2Server: nginx/1.6.2Ele revela o tipo e a versão do software do servidor web. Esse é exatamente o tipo de informação que o reconhecimento ativo busca descobrir. Versões de software podem ser cruzadas com vulnerabilidades conhecidas em bases como CVE e Exploit-DB.
Essa mesma técnica de banner grabbing funciona contra qualquer serviço baseado em TCP. Se você se conectar a um servidor de e-mail, usaria comandos SMTP ou POP3 em vez de HTTP. Se você se conectar a um servidor FTP na porta 21, normalmente o servidor envia seu banner imediatamente após a conexão, sem exigir nenhum comando.
O princípio básico é sempre o mesmo: conecte-se à porta, leia o que o servidor retorna e, opcionalmente, envie comandos específicos do protocolo para extrair mais informações.
Em ambientes modernos, muitos serviços exigem criptografia. Por exemplo, SMTPS roda na porta 465, e HTTPS roda na porta 443. O telnet não consegue lidar com conexões criptografadas.
Para HTTPS, use:
curl --head https://MACHINE_IPcurl --head https://MACHINE_IPou:
openssl s_client -connect MACHINE_IP:443openssl s_client -connect MACHINE_IP:443Para outros serviços encapsulados em TLS, openssl s_client ou ncat --ssl são as ferramentas apropriadas.
Responda às perguntas abaixo:
Inicie a VM anexada da Tarefa 3, caso ela ainda não esteja iniciada. No AttackBox, abra o terminal e use o cliente telnet para se conectar à VM na porta 80. Qual é o nome do servidor em execução?
Resposta: Apache
Qual é a versão do servidor em execução na porta 80 da VM?
Resposta: 2.4.61
Netcat
O Netcat, ou simplesmente nc, é um utilitário de rede versátil que oferece suporte aos protocolos TCP e UDP. Ele pode funcionar como um cliente que se conecta a uma porta em escuta ou como um servidor que escuta em uma porta de sua escolha.
Essa dupla capacidade o torna útil para banner grabbing, sondagem de portas, transferências simples de arquivos e comunicação básica cliente-servidor. Versões modernas, como o ncat do projeto Nmap, também oferecem suporte a IPv6 e criptografia SSL, tornando-o mais versátil do que ferramentas legadas como o telnet.
Observação: esta tarefa usa sua própria VM. Se você ainda tiver uma VM em execução de uma tarefa anterior, talvez seja necessário encerrá-la antes de iniciar a VM associada a esta tarefa. A pergunta abaixo instruirá você a iniciar a VM e o AttackBox.
Banner grabbing com Netcat
A técnica de banner grabbing descrita na tarefa anterior funciona de forma idêntica com o nc.
A sintaxe é:
nc MACHINE_IP PORTnc MACHINE_IP PORTVocê se conecta à porta alvo e, em seguida, envia comandos apropriados ao protocolo para ler a resposta do servidor.
Observe que talvez seja necessário pressionar Shift + Enter após a linha GET.
Neste exemplo, o comando:
nc MACHINE_IP 80nc MACHINE_IP 80abre uma conexão TCP com a porta 80.
A requisição HTTP:
GET / HTTP/1.1
host: netcatGET / HTTP/1.1
host: netcatgera uma resposta que inclui:
Server: nginx/1.6.2Server: nginx/1.6.2Isso revela o software do servidor web e sua versão.
Essa mesma abordagem se aplica a qualquer serviço baseado em TCP. Conectar-se a um servidor FTP na porta 21 com:
nc MACHINE_IP 21nc MACHINE_IP 21normalmente produz um banner imediato mostrando o software e a versão do servidor FTP, sem exigir nenhum comando.
Conectar-se a um servidor SMTP na porta 25 produz um banner identificando o servidor de e-mail. O princípio é consistente entre os protocolos: conecte-se, leia o banner e, opcionalmente, envie comandos específicos do protocolo.
Escutando com Netcat
O Netcat também pode atuar como um servidor, escutando em uma porta especificada. Isso é útil para testar conectividade, transferir dados simples ou configurar canais básicos de comunicação durante um engajamento.
No sistema servidor, execute:
nc -vnlp 1234nc -vnlp 1234Isso inicia a escuta na porta 1234.
No sistema cliente, execute:
nc MACHINE_IP 1234nc MACHINE_IP 1234para se conectar.
Depois que a conexão é estabelecida, qualquer texto digitado de um lado é transmitido para o outro. Como você talvez se lembre do módulo Linux Fundamentals, a ordem exata das flags não importa, desde que o número da porta seja precedido diretamente por -p.
A flag -p deve aparecer diretamente antes do número da porta. A flag -n evita consultas DNS e avisos associados.
Números de porta abaixo de 1024 exigem privilégios de root para escutar.
Para escuta em IPv6, adicione a flag -6:
nc -6 -lp 1234nc -6 -lp 1234Se você precisar de criptografia para transferência de dados sensíveis, use:
ncat --sslncat --sslOu combine o nc com uma ferramenta como o stunnel.
Responda à pergunta abaixo:
Inicie a VM e abra o AttackBox. Quando o AttackBox carregar, use o Netcat para se conectar à porta 21 da VM. Qual é a versão do servidor em execução?
Resposta: 0.17
Dica: não esqueça de pressionar SHIFT + ENTER
Juntando tudo
Esta sala abordou cinco ferramentas principais para reconhecimento ativo.
O navegador web com as Developer Tools revela tecnologias do servidor, cabeçalhos, arquivos JavaScript e detalhes do certificado.
O ping confirma se um alvo está acessível e fornece pistas baseadas no TTL sobre o sistema operacional.
O traceroute mapeia o caminho de rede entre você e o alvo, revelando roteadores intermediários e possíveis pontos de filtragem.
O telnet e o netcat se conectam a portas individuais para realizar banner grabbing e identificar serviços em execução, juntamente com suas versões.
Essas ferramentas são simples individualmente, mas combiná-las fornece uma visão estruturada de um alvo antes de avançar para scanners mais avançados.
Você pode usar o ping para confirmar que um host está ativo, o traceroute para entender o caminho de rede e, em seguida, o nc para sondar portas específicas e identificar serviços.
Para serviços baseados em HTTP, prefira:
curl -I MACHINE_IPcurl -I MACHINE_IPou:
nc MACHINE_IP PORTnc MACHINE_IP PORTem vez de telnet para banner grabbing, pois essas opções oferecem mais segurança e flexibilidade.
Referência rápida
Próximos passos
As ferramentas abordadas nesta sala representam a base do reconhecimento ativo.
As próximas salas deste módulo abordam o Nmap, que automatiza e amplia a descoberta de hosts e a varredura de portas muito além do que ping e nc conseguem fazer individualmente.
Para uma exploração mais aprofundada do reconhecimento baseado em web, a sala Walking An Application oferece um tratamento detalhado das Developer Tools e das técnicas manuais de inspeção de aplicações web.
Os tópicos avançados mencionados nesta sala, como temporização lenta, encadeamento de proxies e tráfego misturado ao tráfego legítimo, são abordados nas salas de stealth scanning e Burp Suite.
Responda à pergunta abaixo:
Certifique-se de dominar as diferentes ferramentas básicas, porém essenciais, que apresentamos nesta sala antes de avançar para ferramentas mais sofisticadas.
Resposta: Não é necessária resposta.