Protocolos de Rede Vulneráveis
Oque são Protocolos de Rede?
Protocolos de rede são os conjuntos de normas que permitem duas ou mais máquinas conectadas à internet se comuniquem. Essas normas operam como uma linguagem universal, que pode ser interpretada por dispositivos (computadores, notebooks, celulares, ...) de qualquer fabricante, por meio de qualquer sistema operacional.
Eles são responsáveis por pegar os dados transmitidos pela rede e dividi-los em pequenos pedaços, que são chamados de pacotes. Cada pacote carrega em si informações de endereçamento de origem e destino. Os protocolos também são responsáveis pela sistematização das fases de estabelecimento, controle, tráfego e encerramento.
Porém algumas normas apresentam falhas que podem ser exploradas para fornecer ao atacante algum tipo de benefício.
Abaixo você encontrará uma lista com alguns protocolos monitorados pela FURG, porque são vulneráveis e alguns links de estudo.
SNMP
Serviço:
Simple Network Management Protocol (SNMP)
Descrição do serviço:
É um "protocolo padrão da Internet para gerenciamento de dispositivos em redes IP". Dispositivos que normalmente suportam SNMP incluem roteadores, computadores, servidores, estações de trabalho, impressoras, racks modernos e etc. SNMP é usado na maioria das vezes em sistemas de gerenciamento de rede para monitorar dispositivos ligados na rede, assim provendo condições que garantem atenção administrativa. Ele consiste de um conjunto de padrões de gerenciamento de rede, incluindo um protocolo da camada de aplicação, um esquema de banco de dados, e um conjunto de objetos de dados.
O software de gerência de redes não segue o modelo cliente-servidor convencional, pois para as operações GET e SET, a estação de gerenciamento se comporta como cliente e o dispositivo de rede a ser analisado ou monitorado se comporta como servidor, enquanto que na operação TRAP ocorre o oposto, pois no envio de alarmes é o dispositivo gerenciado que toma iniciativa da comunicação. Por conta disso, os sistemas de gerência de redes evitam os termos 'cliente' e 'servidor' e optam por usar "gerente" para a aplicação que roda na estação de gerenciamento e "agente" para a aplicação que roda no dispositivo de rede.
Vulnerabilidade:
As consultas podem fornecer amplificação em torno de 6x.
Podem sofrer os ataques: denial of service attacks, format string vulnerability, e buffer overflows.
Servidores mal configurados podem expor dados sensíveis do equipamento e rede.
Descrição do ataque:
Principais ameaças (6): https://www.gta.ufrj.br/grad/11_1/snmp/cap4p1.html
Verificação:
Executar os comandos abaixo, fora da rede local
- # snmpget -c public -v 2c [IP] 1.3.6.1.2.1.1.1.0
- # snmpget -c public -v 2c [IP] 1.3.6.1.2.1.1.5.0
Web
Solução:
Desativar SNMP v1 e v2c e utilizar SNMP v3
Restringir acesso por meio de firewall e ACLs
Desativar onde não for necessário
Referências:
https://pt.wikipedia.org/wiki/Simple_Network_Management_Protocol
SSDP
Serviço:
Simple Service Discovery Protocol (SSDP)
Descrição do serviço:
Protocolo de rede utilizado em uma rede local, para descoberta de dispositivos Plug and Play rodando o protocolo UPnP (Universal Plug and Play). Por padrão utiliza a porta 1900/UDP.
Vulnerabilidade:
Pode ser utilizado para ataques de negação de serviço, distribuído e com reflexão e amplificação.
Descrição do ataque:
Um usuário malicioso pode realizar consultas em um host vulnerável e através da técnica de spoofing direcionar o resultado dessa consulta para o ip spoofado gerando assim um ataque de negação de serviço usando seu host como atacante.
https://www.cloudflare.com/pt-br/learning/ddos/ssdp-ddos-attack
Verificação:
De fora da rede local
- nmap -sU -p [PORTA] --script=upnp-info.nse [IP/rede]
- Download do script: http://nmap.org/nsedoc/scripts/upnp-info.html
Web
Windows
- netstat -an | findstr [PORTA]
Linux
- netstat -an | grep [PORTA]
Solução:
Limitar acesso via firewall ou configuração do serviço.
Desinstalar/desabilitar se não for necessário.
Referências:
https://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol
https://bcp.nic.br/i+seg/acoes/amplificacao/#servidor-ssdp
https://www.security.ufrj.br/tutoriais/boas-praticas-de-seguranca-para-servidores-ssdp/
TFTP
Serviço:
Trivial File Transfer Protocol (TFTP)
Descrição do serviço:
É um protocolo implementado usando o protocolo UDP para enviar e receber dados. O protocolo TFTP possui seu próprio esquema de confiabilidade usando UDP.
O protocolo TFTP não oferece suporte a mecanismos de autenticação ou criptografia e, sendo assim, pode oferecer risco de segurança quando presente. A instalação do cliente TFTP não é recomendada para sistemas que acessam a Internet.
É baseado em UDP (usa a porta 69) ao contrário do FTP que se baseia no TCP (usa a porta 21).
Não permite listar o conteúdo de diretórios.
Não possui mecanismos de autenticação e encriptação de dados.
Suporta 3 modos diferentes de transferência: netascii (corresponde ao modo ascii do ftp), octet (corresponde ao binary do ftp) e mail (obsoleto).
Vulnerabilidade:
Pode ser utilizado como fonte de ataques de negação de serviço distribuídos (DDoS).
Descrição do ataque:
Um pequeno número de pacotes é enviado aos servidores TFTP, que podem conter vários problemas na implementação do protocolo e os enviam de volta multiplicados aos destinos spoofados. O fator de multiplicação para ataques TFTP DDoS é 60.
https://hightechnews.info/os-ataques-ddos-via-protocolo-tftp-se-tornam-realidade
Verificação:
Os comandos devem ser executados de fora da rede local.
- $tftp [IP] [porta]
tftp> get a.pdf
*Porta padrão é 69
- tcpdump -i "interface_rede" -Ss 0 -Xx host [IP]
Web
Solução:
Não deixar esse serviço público para toda a internet.
Não executar o serviço como root.
Substituir por SFTP ou SSH.
Referências:
https://pt.wikipedia.org/wiki/Trivial_File_Transfer_Protocol