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.
NTP
Serviço:
Network Time Protocol (NTP)
Descrição do serviço:
Protocolo para sincronização dos relógios dos computadores baseado no protocolo UDP sob a porta 123. É utilizado para sincronização do relógio de um conjunto de computadores e dispositivos em redes de dados com latência variável.
Vulnerabilidade:
Pode ser utilizado para ataques de negação de serviço, distribuído e com reflexão e amplificação. Exposição de informações sensíveis.
Descrição do ataque:
Ataques são feitos forjando o IP da vítima e o servidor NTP retornando respostas muito maiores que a requisição.
https://www.security.unicamp.br/blog/24-amplificacao-udp/
Verificação:
- https://vtest.cais.rnp.br/cgi-bin/check_vul.pl
- Executar NTPQ em uma máquina fora da sua rede com a consulta READVAR:
# ntpq -c rv [IP]
- Executar o NMAP com os parâmetros abaixo:
# nmap -sU -p 123 --script ntp-info [IP]
Solução:
Desinstalar/desabilitar se não for necessário.
Atualizar servidor e aplicar correções.
Limitar acesso via firewall ou configuração do serviço.
https://sgis.rnp.br/wiki/06hardening/Ntp
Referências:
http://pt.wikipedia.org/wiki/Network_Time_Protocol
Portmapper
Serviço:
Port Mapper (Portmap / Portmapper / rpcbind)
Olhar “MSRPC”, outra implementação Remote Procedure Call (RPC).
Descrição do serviço:
O PortMap é um daemon que mapeia dinamicamente portas TCP/UDP para serviços do tipo RPC, como o NIS e o NFS. Esse é um tipo de comunicação utilizada entre processos de diferentes máquinas em uma rede. Dessa forma, o serviço PortMap pode controlar uma grande gama de portas a fim de delegá-las a outros serviços legítimos ou maliciosos. Tem mecanismos de autenticação fracos e é uma ferramenta poderosa que deve ser utilizada de forma monitorada. Ele usa a porta 111 TCP ou UDP.
O serviço de PortMap deve estar disponível apenas para máquinas que necessitem trocar dados da máquina hospedeira do serviço ou apenas a máquinas da mesma rede. É extremamente recomendado que esse serviço não esteja disponível para acesso público, visto que ele pode ser utilizado para realizar ataques do tipo DDoS e DRDoS.
Vulnerabilidade:
Pode ser utilizado para ataques de negação de serviço, distribuído e com reflexão e amplificação. Exposição de informações sensíveis sobre a rede.
Descrição do ataque:
O serviço responde a chamadas listando serviços e portas habilitadas no servidor.
Pode ser usado em ataques de negação de serviço distribuído (DDoS) e ataques de negação de serviço reflexivo distribuído (DRDoS). Ao usar uma solicitação de mapeador de porta falsificada, um invasor pode amplificar os efeitos em um alvo porque uma consulta do portmap retornará muitas vezes mais dados do que na solicitação original.
Verificação:
Os comandos devem ser executados de fora da rede local.
- tcpdump -i eth0 -n -Ss 0 -Xx host [IP]
- rpcinfo -T udp -p [IP] ou somente rpcinfo -p [IP]
- showmount -e [IP]
Web
Solução:
Desativar o serviço: http://wiki.nti.furg.br/wiki/seguranca/desativar_rpc_portmapper.
Se estritamente necessário, limitar acesso via firewall ou configuração do serviço.
Referências:
https://en.wikipedia.org/wiki/Portmap
https://bcp.nic.br/i+seg/acoes/amplificacao/#servidor-portmap
http://www.cyberciti.biz/faq/linux-secure-portmap-with-iptables-tcp-wrappers
https://www.cyberciti.biz/faq/debian-ubuntu-linux-disable-remove-nfs-services-daemons
https://www.security.ufrj.br/tutoriais/port-mapper-risco-e-protecao-de-servicos
https://qastack.com.br/unix/234154/exactly-what-does-rpcbind-do
QOTD
Serviço:
Quote of the Day (QotD)
Descrição do serviço:
Protocolo de Internet cuja utilização é para propósitos de testes e medidas.
Um host pode conectar-se a um servidor que suporta o protocolo QOTD, na porta 17, tanto TCP ou UDP. O servidor então retorna uma mensagem curta e arbitrária que tradicionalmente é selecionada aleatoriamente de uma lista de citações motivacionais e inspiradoras.
O serviço QOTD raramente é habilitado, e em qualquer caso geralmente é bloqueado pelo firewall para evitar ataques do tipo pingpong.
Atualmente, testes e medição de redes IP são feitos com ping e traceroute.
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.
Verificação:
Windows
- netstat -an | findstr 17
Linux
- netstat -an | grep 17
Web
Solução:
Desativar o serviço: http://wiki.nti.furg.br/wiki/seguranca/desativar_servico_qotd
Se estritamente necessário, limitar acesso via firewall ou configuração do serviço.
Referências:
SMB
Serviço:
Server Message Block (SMB)
Olhar Netbios mais acima.
Descrição do serviço:
É um protocolo de compartilhamento de arquivos em rede que permite que os aplicativos de um computador leiam e gravem em arquivos e solicitem serviços dos programas do servidor em uma rede de computadores.
Vulnerabilidade:
Usuários maliciosos podem explorar essa porta para atividades maliciosas, é o caso dos ataques ransomware WannaCry e Petya.
Descrição do ataque:
Várias vulnerabilidades no protocolo.
https://minutodaseguranca.blog.br/vulnerabilidade-cve-2020-0796-no-protocolo-smb/
Verificação:
Executar comando de fora da rede local
- nmap -p445 --script smb-vuln-ms17-010 [IP/rede]
Web
Solução:
Limitar acesso via firewall (recomendação da própria Microsoft para bloqueio das portas: TCP 137, 139 e 445 e UDP 137 e 138).
https://tecnoblog.net/214637/ransomware-wannacry-windows-smb-remover/
https://tecnoblog.net/221089/como-desativar-smb-v1-windows
Referências:
https://pt.wikipedia.org/wiki/Server_Message_Block
https://www.security.ufrj.br/tutoriais/host-vulneravel-usando-o-servico-smb-aberto/
SMTP
Serviço:
Simple Mail Transfer Protocol (SMTP) na porta 25
Descrição do serviço:
É o protocolo padrão de envio de mensagens de correio eletrônico através da Internet entre dois dispositivos computacionais (emissor e receptor), definido na RFC 821. A porta TCP 25 deve ser usada somente para comunicação e troca de mensagens entre dois MTAs (Servidores de e-mail). A comunicação e consequente submissão de e-mails do cliente para um MTA também deve ser feita pelo protocolo SMTP mas na porta TCP 587 (submission). Já a recuperação e leitura de mensagens deve ser feita por protocolos próprios como POP ou IMAP.
Vulnerabilidade:
Sistemas mal configurados ou infectados podem ser abusados para enviar e-mails com malware, phishing ou spam.
Descrição do ataque:
E-mails disparados de equipamentos não autorizados distribuem spams, phishings e malwares.
Verificação:
Executar comando de fora da rede local
- telnet [IP] 25
Web
Solução:
Limitar acesso via firewall de borda à porta 25, tanto na entrada quanto na saída.
https://www.abuseat.org/advanced.html
https://www.cert.br/docs/ct-spam/ct-spam-gerencia-porta-25.pdf
Obs:
Este tipo de comunicação não está filtrado no firewall de borda, é importante a análise por parte da equipe para que seja feito o bloqueio no menor prazo possível.
Referências:
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