Senha em texto claro
Protocolos antigos como FTP, Telnet e HTTP sem TLS mandam usuário e senha do jeito que foram digitados.
Muitos protocolos foram criados quando a rede era um lugar de confiança. Eles mandam tudo em texto claro, sem cifra, inclusive a senha. Quem captura o tráfego lê como se fosse um bilhete.
No FTP (porta 21), o login é assim, linha por linha:
servidor: 220 Bem-vindo
cliente: USER maria
servidor: 331 Informe a senha.
cliente: PASS erva-mate-123
servidor: 230 Login efetuado.
O número no começo de cada resposta diz o resultado. Os mais comuns no login:
| Código | Significado |
|---|---|
331 |
Usuário recebido, falta a senha |
230 |
Login aceito |
530 |
Login recusado (senha errada, por exemplo) |
Uma captura pode ter várias tentativas: só a que recebeu 230 tem a senha certa.
Outros exemplos: o Telnet (porta 23) manda cada tecla digitada, e o HTTP com autenticação básica manda usuario:senha em Base64 no cabeçalho Authorization, o que não protege nada.
Para achar senhas numa captura, filtre pelo protocolo (ftp, telnet, http) no Wireshark ou use o menu Tools > Credentials, que lista os logins que ele reconhece. A correção é usar as versões cifradas: SFTP ou FTPS no lugar do FTP, SSH no lugar do Telnet e HTTPS no lugar do HTTP.