fi6s é um scanner de porta IPv6 projetado para ser rápido. Isto é conseguido enviando e processando pacotes brutos de forma assíncrona. O design e o objetivo são bastante semelhantes aos do Masscan, embora ainda não seja tão completo.
Construir fi6s é bastante fácil em qualquer sistema Linux recente, por exemplo, no Ubuntu:
# apt install gcc make git libpcap-dev
$ git clone https://github.com/sfan5/fi6s.git
$ cd fi6s
$ make BUILD_TYPE=release
O executável do scanner estará pronto em ./fi6s
.
Observe que o fi6s é desenvolvido e testado exclusivamente em Linux. Deve funcionar em outras plataformas semelhantes ao UNIX, mas não espere que funcione no Windows.
O uso é muito fácil, o fi6s tentará detectar automaticamente os detalhes técnicos sujos, como origem, endereços MAC do roteador e IP de origem.
# ./fi6s -p 80,8000-8100 --max-rate 170 2001:db8::/120
Este exemplo irá:
list
" Existem mais maneiras diferentes de especificar um intervalo de endereços para verificar, se você não tiver certeza do que está prestes a acontecer, execute fi6s com --print-summary
para obter uma visão geral rápida sobre a verificação ou --print-hosts
para imprimir todos os IPs potenciais .
Para recursos mais avançados, consulte a saída de fi6s --help
.
Os dados que um host remoto envia em resposta a uma nova conexão ou solicitação de investigação são chamados de "banner". fi6s facilita a coleta deles.
Tudo que você precisa fazer é passar a opção --banners
:
# ./fi6s -p 22 --banners 2001:db8::xx
Adicione o sinalizador --udp
à sua linha de comando:
# ./fi6s -p 53 --banners --udp 2001:db8::xx
Observe que, diferentemente do TCP, você só obterá resultados úteis (ou quaisquer) se fizer a varredura de uma porta cujo protocolo seja suportado para sondagem por fi6s. Use fi6s --list-protocols
para visualizar uma lista.
Como o fi6s traz sua própria pilha TCP/IP mínima, o sistema operacional deve ser impedido de tentar comunicar o TCP na mesma porta que o fi6s está usando, ou isso interromperia o processo de digitalização. Normalmente, neste caso, enviaria quadros RST.
Por padrão, o fi6s solicitará ao sistema operacional que reserve uma porta efêmera e a use durante a verificação. Isso só funciona no Linux.
Se isso não funcionar ou você estiver em uma plataforma diferente, você terá que usar uma porta de origem estática e configurar seu firewall para eliminar o tráfego nesta porta, por exemplo:
# ip6tables -A INPUT -p tcp -m tcp --dport 12345 -j DROP
# ./fi6s -p 22 --banners --source-port 12345 2001:db8::xx
Como o UDP não tem conexão, não há necessidade de evitar interferências, embora ainda seja uma boa ideia evitar que seu sistema operacional envie respostas ICMPv6 inacessíveis desnecessárias (o fi6s também tenta isso por padrão).