RustScan: Scanner de Portas rápido que existe

RustScan é uma ferramenta de port scanning moderna desenvolvida em Rust, projetada para varredura extremamente rápida de redes. A ferramenta tem como principal objetivo descobrir portas abertas de forma muito ágil e, em seguida, encadear automaticamente os resultados ao Nmap para detectar os serviços.

Em termos práticos, o RustScan “faz uma varredura que levaria 17 minutos no Nmap em apenas segundos”. Ele pode escanear as 65 mil portas TCP de um alvo em poucos segundos – relatos citam até 3 segundos no melhor caso.

Por ser escrito em Rust, o RustScan aproveita a concorrência e segurança de memória da linguagem, entregando um throughput muito alto. É uma ferramenta open source (licença GPLv3) e multiplataforma, adequada a iniciantes e profissionais de pentest: simples de usar, mas poderosa.

Em suma, RustScan acelera a fase de descoberta de portas abertas em testes de intrusão, especialmente em redes amplas ou escaneamentos frequentes.

Funcionamento interno do Rustscan

Em seu núcleo, RustScan realiza vários conexões TCP simultâneas (TCP connect) aos alvos, utilizando threads múltiplas e batch sizes controlados. Por padrão ele dispara cerca de 3000 portas por segundo (ajustável via a flag -b para diminuir o lote).

Internamente usa o stack TCP do sistema operacional (ligações de soquete padrão), fazendo 3-way handshake completo para cada porto. Isso garante alta precisão: não produz falsos positivos, pois confia no TCP real do SO. Para “turbo” ele recomenda aumentar o limite de descritores (--ulimit 5000) e variar o tamanho do lote (-b) e timeout (-T) até encontrar o balanço ideal.

Em conexões muito rápidas, entretanto, o sistema pode perder algumas respostas (possibilidade de falsos negativos) – não por culpa do RustScan, mas sim por sobrecarregar o SO. Em compensação, graças ao modelo multithread, RustScan lança pacotes em paralelo enquanto monitora tempo limite. Ele também emprega recursos de “aprendizado adaptativo”: observa as condições de rede e ajusta parâmetros (lotes, timeouts) ao longo do uso.

O RustScan, portanto, não substitui totalmente o Nmap; ele foca em descobrir portas abertas rapidamente e deixa para o Nmap (ou outras ferramentas) a tarefa de identificar os serviços.

Por exemplo, por padrão o RustScan termina executando:
nmap -vvv -p <ports> <alvo>,
mas o usuário pode customizar adicionando flags do Nmap após um -.

Instalação do Rustscan

Usuários de sistemas Linux geralmente encontram o RustScan nos repositórios ou o instalam por meio de pacotes.

Por exemplo, em distribuições Debian/Ubuntu/Kali basta baixar o .deb do repositório oficial e instalar com dpkg -i.

Em Arch Linux ou Manjaro, use o AUR (yay -S rustscan). Outra opção universal é o Cargo (gerenciador de pacotes do Rust): instale o Rust e execute cargo install rustscan.

No macOS há pacote Homebrew (brew install rustscan). No Windows, não há build oficial nativo – o recomendado é usar o Docker (funciona em qualquer sistema, inclusive Windows, sem precisar instalar Rust/Cargo), ou instalar via WSL.

O Docker é muitas vezes a melhor escolha: além de rodar em qualquer OS, ele já tem descritores altos e vem pronto com RustScan e Nmap inclusos.

Em resumo: Linux (APT/yum/pacman ou Cargo), macOS (brew ou cargo), Windows (Docker ou Cargo/WSL). Após instalação, rustscan -h mostra todas as flags disponíveis.

Uso prático

A sintaxe do RustScan é simples.

Use: rustscan -a <alvo>
para escanear todas as portas TCP do host.

Por exemplo: rustscan -a www.alvo.com

Isso retorna rapidamente as portas abertas (não faz detecção de serviço ainda).

Para escanear portas específicas, use -p. Ex:

rustscan -a 192.168.1.5 -p 22,80,443

Também é possível escanear faixas de portas com -r:
rustscan -a 10.0.0.1 -r 1-1000

Para varrer sub-redes inteiras, basta adicionar notação CIDR:

rustscan -a 10.0.0.0/24 -p 80,443(ligações simultâneas são ajustadas automaticamente).

O RustScan ainda permite afinar o desempenho: use -b para definir batch size (quantas portas de uma vez) e -T para timeout (tempo de espera por resposta, em milissegundos)
Exemplo:
rustscan -a alvo.com -b 100 -T 5000
(esse comando tenta 100 ports por lote, esperando 5s por resposta). Para melhorar a compatibilidade, há –ulimit (ajusta limite de arquivos abertos do SO) e –accessible (saída simplificada para leitores de tela).

Integração com Nmap

Uma das forças do RustScan é executar automaticamente um scan do Nmap nas portas encontradas. Por padrão, após descobrir portas abertas ele roda:

nmap -vvv -p
Se quiser usar scripts ou opções do Nmap, adicione — seguido delas.

Por exemplo:
rustscan -a 192.168.1.5 — -sC -sV

Nesse caso, -- indica que o restante são opções do Nmap.

O comando acima fará o RustScan descobrir portas e então chamar:

nmap -vvv -p <portas> -sC -sV 192.168.1.5.

Assim, usamos os scripts padrão do Nmap e detecção de versão de serviço sem precisar copiar e colar portas anualmente.

Em resumo, rustscan encontra portas abertas rapidamente e canaliza as informações úteis para o Nmap, otimizando o fluxo de trabalho de pentest.

Comparação com outras ferramentas.

Na prática de pentest, o RustScan não está sozinho; há diversas outras ferramentas de varredura de portas.

A seguir, comparamos características gerais de cada uma:

Nmap: É o clássico scanner de rede. É muito completo: detecta serviços, versão, até sistema operacional, e tem centenas de scripts NSE. Porém, essa profundidade custa tempo – varreduras completas podem durar minutos a horas em redes grandes, especialmente se fizer scan UDP ou usar muitas opções. RustScan complementa o Nmap ao acelerar a descoberta de portas; depois usa o Nmap para detalhes.

Masscan: É feito para velocidade máxima. Pode escanear a Internet inteira em minutos, graças a pacotes RAW paralelos e seu próprio stack TCP/IP. Isso também é sua limitação: ele só reporta portas abertas e não executa scripts ou detecção de serviços. Além disso, usar o stack próprio do Masscan pode conflitar com o tráfego da máquina local. Em resumo, Masscan supera todos em velocidade pura, mas não substitui o Nmap nem foca em portabilidade ou detalhes.

ZMap: Ferramenta acadêmica para varredura em larga escala (p. ex. usada por Shodan). É muito rápida para investigar um único porto em redes enormes. Entretanto, não escaneia múltiplas portas por host nem detecta serviços – é focada em internet-scale scanning de portas específicas.

Unicornscan: Scanner assíncrono desenvolvido há mais tempo. Foi inovador, mas hoje em dia é menos usado que Masscan. Tem velocidade boa, mas não teve a mesma evolução; não faz mapeamentos de serviços complexos como o Nmap.

Angry IP Scanner: Ferramenta gráfica Java, simples e focada em redes menores. Usa múltiplos threads, mas não alcança as velocidades de Masscan ou ZMap. É fácil para iniciantes (basta apontar rede e clicar), mas carece das funcionalidades avançadas (scripts, integridade, etc.) das outras ferramentas.

Ou seja..

Em geral, RustScan fica entre esses mundos: mais rápido que Nmap na descoberta inicial, mas menos especializado que Masscan/ZMap. Ele “faz uma coisa bem feita”: encontra portas e passa para o Nmap.

Ferramentas GUI como Angry IP são mais didáticas, mas não substituem scanners CLI quando se trabalha em ambientes profissionais. (Para detalhes técnicos sobre port scanners, vale lembrar que “Nmap, Masscan, Zmap e Unicornscan têm conjuntos de recursos únicos para casos de uso diferentes”)

Casos de uso e benchmarks

Benchmarks e casos reais reforçam o perfil do RustScan. Por exemplo, fontes oficiais informam que as 65.535 portas TCP podem ser verificadas em ~3 segundos nos testes mais otimistas.

Para efeito de comparação, o próprio autor do RustScan mostra que um escaneamento completo levou 39 segundos usando RustScan vs 17 minutos no Nmap em condições equivalentes.

Esses números ilustram que RustScan é usado quando a velocidade é crucial – por exemplo, em escaneamentos iniciais de rede antes de ataques posteriores. Já testes de detecção de vulnerabilidades (scripts avançados, OS detection etc.) ainda ficam por conta do Nmap e ferramentas especializadas.

Não existem muitos benchmarks acadêmicos publicados contra outras ferramentas, mas na prática cada ferramenta “vence” em seu domínio: RustScan em varredura rápida, Nmap em análise detalhada, Masscan em Internet-wide scan, etc.

Pontos fortes do RustScan

Destacam-se a velocidade e a simplicidade de uso. Ele requer poucos segundos para varrer grandes faixas de porta e a integração automática com o Nmap economiza bastante trabalho manual.

Além disso, por ser escrito em Rust, herda robustez e eficiência de memória, e suporta IPv6, CIDR, entrada via arquivo e outras comodidades.

Sua arquitetura multithread e algoritmos otimizados são pontos fortes que permitem escanear rapidamente redes amplas.

Limitações

Por outro lado, RustScan não substitui scanners de vulnerabilidade. Ele não faz detecção de serviços por si só (depende de ferramentas adicionais) e não implementa métodos furtivos como SYN scan do Nmap.

Redes muito protegidas podem detectar e bloquear o alto volume de conexões TCP completas gerado pela ferramenta. Em cenários de stealth, seria melhor reduzir batch size ou usar Nmap com opções furtivas.

Também há limite natural: em redes muito lentas ou hosts com firewalls agressivos, muitos pacotes simultâneos podem saturar o sistema e causar perdas de pacotes (falsos negativos).Finalmente, no Windows ele só funciona bem via WSL/Docker, pois não há build nativo.

CONCLUSÃO

Em resumo, o RustScan é indicado sempre que se deseja rapidez no mapeamento de portas de um alvo.

Pentesters geralmente usam essa ferramenta no início de uma operação, logo após a enumeração de alvos ou coleta de informações de rede, para descobrir rapidamente quais portas estão abertas.

Após isso, equipes geralmente passam os resultados a um scanner tradicional (como Nmap) para análise completa de serviços e vulnerabilidades.

Em cenários de escaneamento em massa, como o mapeamento de toda a internet, ou quando o usuário prefere não utilizar as bibliotecas padrão do sistema operacional, é mais adequado utilizar ferramentas como o Masscan ou o ZMap.

Já para uso casual em desktop, o Angry IP Scanner pode servir. RustScan combina muito bem com Nmap e outros scanners para otimizar fluxos de trabalho: “ele faz uma coisa e faz bem feito”, complementando (em vez de substituir) as ferramentas tradicionais.

No fim, o melhor scanner é aquele escolhido de acordo com o caso de uso: use RustScan quando precisar de velocidade de varredura, especialmente em redes médias/grandes, e continue usando Nmap ou afins para aprofundar a detecção.

Conforme reportado por guias do RustScan: trata-se de “um avanço significativo em tecnologia de varredura de rede” por combinar velocidade, eficiência e versatilidade num mesmo utilitário

Com os cursos da Solyd One, você vai dominar as mais variadas ferramentas hacker e todas as habilidades necessárias para se tornar como hacker ético.

São mais de 30 cursos que você pode fazer para se tornar um profissional devidamente certificado e requisitado no mercado.

Você terá acesso a labs que simulam situações reais, grupo de networking pelo WhatsApp, 5 certificações práticas e participar de uma comunidade que lhe dará todo o suporte que precisar.

Vai aprender a realizar testes de invasão, identificar vulnerabilidades e se preparar para atuar no mercado de trabalho, e até ganhar uma grana extra em programas de Bug Bounties, diga-se de passagem.

Aproveite a oportunidade para investir na sua carreira, e torne-se o próximo especialista em segurança cibernética.

Inscreva-se agora!