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.
LDAP
Serviço:
Lightweight Directory Access Protocol (LDAP)
Descrição do serviço:
Protocolo que serve para atualizar e pesquisar diretórios rodando sobre a camada TCP/IP. Ele roda sobre o TCP/IP que permite organizar os recursos de rede de forma hierárquica, como uma árvore de diretório, onde temos primeiramente o diretório raiz, em seguida a rede da empresa, o departamento e por fim o computador do funcionário e os recursos de rede (arquivos, impressoras, etc.) compartilhados por ele. A árvore de diretório pode ser criada de acordo com a necessidade. Por padrão usa a porta 389/TCP.
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:
O ataque é feito direcionando consultas com cabeçalho mal-formado. Além disso, servidores LDAP mal configurados podem permitir acesso a dados de usuários / vazamento de informações.
https://www.security.unicamp.br/blog/24-amplificacao-udp/
Verificação:
- nmap -p 389 --script ldap-rootdse [IP/rede]
- https://vtest.cais.rnp.br/cgi-bin/check_vul.pl
Solução:
Limitar acesso via firewall ou configuração do serviço.
Referências:
https://pt.wikipedia.org/wiki/LDAP
https://www.hardware.com.br/termos/ldap
https://por.small-business-tracker.com/ddos-attacks-abusing-exposed-ldap-servers-rise-981802
Obs:
Existe um serviço CLDAP, variante do LDAP usando UDP, com capacidade de amplificação maior que o LDAP.
mDNS
Serviço:
Multicast DNS (mDNS)
Descrição do serviço:
O mDNS é um protocolo DNS Multicast. Um “multicast” repassa a mesma mensagem para vários pontos em uma rede. O mDNS é um método para descoberta de vizinhos de uma rede, indicado para redes pequenas sem servidores DNS próprios. Por padrão usa a porta 5353/UDP.
Vulnerabilidade:
Pode ser utilizado para ataques de negação de serviço, distribuído e com reflexão e amplificação. Além disso, qualquer usuário da internet pode obter informações sensíveis sobre a rede local.
Descrição do ataque:
https://www.kb.cert.org/vuls/id/550620
https://www.security.unicamp.br/blog/24-amplificacao-udp/
Verificação:
- https://vtest.cais.rnp.br/cgi-bin/check_vul.pl
- dig +short @[IP] -p 5353 -t any _services._dns-sd._udp.local
O teste deve ser feito de fora da rede local
Solução:
- Não deixar esse serviço público para toda a internet. Limitar acesso via firewall ou configuração do serviço.
- Não executar o serviço como root.
- Não utilizar pois esse protocolo não tem uso prático e não é necessário dentro da rede da instituição.
http://wiki.nti.furg.br/wiki/seguranca/desativar_dns_e_mdns
Referências:
https://en.wikipedia.org/wiki/Multicast_DNS
https://www.security.ufrj.br/tutoriais/tratamento-de-hosts-vulneraveis-executando-protocolo-mdns/
Memcached
Serviço:
Memcached
Descrição do serviço:
Memcached é um sistema de cache em memória distribuído de propósitos gerais.
É frequentemente utilizado para acelerar sites dinâmicos orientados a banco de dados, cacheando dados e objetos na memória RAM para reduzir o número de vezes que uma fonte de dados externa (como um banco de dados ou uma API) deve ser acessada.
Por padrão configurado na porta 11211 tanto TCP quanto UDP.
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 de amplificação: os invasores enviam uma solicitação de pacote baseada em UDP de pequeno tamanho ao servidor memcached. Os pacotes são falsificados para parecer como se fossem enviados do alvo pretendido do ataque DDoS. Em resposta, o servidor memcached responde enviando o alvo falsificado uma resposta massivamente desproporcional.
https://www.senki.org/memcached-on-port-11211-udp-tcp-being-exploited
https://minutodaseguranca.blog.br/12043-2/
https://www.security.unicamp.br/blog/24-amplificacao-udp/
Verificação:
- https://vtest.cais.rnp.br/cgi-bin/check_vul.pl
- nmap -p 11211 [IP] --script memcached-info
- telnet [IP] 11211
Executar Telnet de algum computador fora da sua rede e executar um dos comandos abaixo para ver se o servidor está respondendo a consultas:
#stats
ou
#stats items
Solução:
- Se o servidor precisa estar acessível remotamente na Internet, as portas usadas pelo sistema precisam ser tratadas no firewall ou filtradas.
- Por padrão ele escuta em toda a interface disponível, deve-se alterar para limitar a uma interface específica como ' 127.0.0.1 '.
- Caso o servidor suporte autenticação de controle de acesso ou recursos de criptografia, recomenda-se a utilização deles.
- É recomendado logar os acessos solicitados, incluindo falhas de autenticação ou autorizações.
Referências:
MSRPC
Serviço:
Microsoft Remote Procedure Call (MSRPC)
Olhar “Portmapper”, outra implementação Remote Procedure Call (RPC).
Descrição do serviço:
Tecnologia de comunicação entre processos que permite a um programa de computador chamar um procedimento (sub-rotina) em outro espaço de endereçamento (geralmente em outro computador, conectado por uma rede). O programador não se preocupa com detalhes de implementação dessa interação remota: do ponto de vista do código, a chamada se assemelha a chamadas de procedimentos locais.
Vulnerabilidade:
Diversas vulnerabilidades na implementação da Microsoft (MSRCP), tais como buffer overflow, que permite execução de códigos arbitrários, e ataques DOS.
https://memoria.rnp.br/cais/alertas/2004/MS04-029.html
https://memoria.rnp.br/cais/alertas/2006/MS06-031.html
https://www.listas.unicamp.br/pipermail/security-l/2003-August/000760.html
https://www.kb.cert.org/vuls/id/326746
Descrição do ataque:
Vários exploits causam falhas que comprometem máquinas e podem causar ataques de negação de serviço.
https://www.nic.br/noticia/na-midia/especialistas-alertam-para-exploit-de-falha-no-rpc-do-windows
https://tribunapr.uol.com.br/arquivo/tecnologia/microsoft-alerta-para-novas-falhas-de-seguranca
https://www.exploit-db.com/exploits/76
Verificação:
No próprio equipamento:
- Windows
netstat -an | findstr 135
- Linux
netstat -an | grep 135
De fora da rede local
- nmap -p 135 [IP/rede]
*se necessário, substituir a porta 135 pela denunciada
Solução:
Filtrar as portas 135/TCP, 135/UDP, 139/TCP, 139/UDP, 445/TCP, 445/UDP no firewall.
Desativar o serviço se não for necessário.
Referências:
https://pt.wikipedia.org/wiki/Chamada_de_procedimento_remoto
https://en.wikipedia.org/wiki/Remote_procedure_call
https://en.wikipedia.org/wiki/Microsoft_RPC
https://www.geeksforgeeks.org/remote-procedure-call-rpc-in-operating-system
https://searchapparchitecture.techtarget.com/definition/Remote-Procedure-Call-RPC
NetBios
Serviço:
Network Basic Input/Output System (NetBios)
Olhar SMB mais abaixo.
Descrição do serviço:
NetBios é uma especificação criada pela IBM e pela Microsoft que permite que aplicativos distribuídos acessem serviços de rede uns dos outros, independente do protocolo de transporte usado. Ele se integra com o TCP/IP (NETBios sobre TCP/IP) e é executado nas camadas Sessão, transporte e Rede do modelo OSI.
O NETBIOS define nomes sobre a rede, estabelece sessões entre dois serviços com nome em uma rede e dá suporte à transferência confiável de dados entre computadores com uma sessão já estabelecida. Fornece serviços de entrada e saída de rede para dar suporte a aplicativos cliente-servidor conectados por rede.
Normalmente utiliza a porta UDP 137, mas pode também utilizar TCP.
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 e dados armazenados.
Descrição do ataque:
https://www.security.unicamp.br/blog/24-amplificacao-udp/
Verificação:
Web
No próprio equipamento:
- Windows
netstat -an | findstr 137
- Linux
netstat -an | grep 137
A partir de outro equipamento, preferencialmente fora da rede interna:
- Windows:
$ nbtstat -A [IP]
- Unix com Samba:
$ nmblookup -A [IP]
http://pentestlab.wordpress.com/2012/08/19/scanning-netbios
Solução:
Desativar o serviço NetBios ou limitar acesso via firewall ou configuração do serviço.
Linux: https://sgis.rnp.br/wiki/101/plugin/attachments/download/40
Windows: https://sgis.rnp.br/wiki/100/plugin/attachments/download/39
Windows 2000: http://technet.microsoft.com/en-us/library/cc940063.aspx
Windows 8: http://chandank.com/os/netbios-disable-windows-8
Referências:
https://pt.wikipedia.org/wiki/NetBIOS
https://bcp.nic.br/i+seg/acoes/amplificacao/#servidor-netbios
https://rogeriomolina.com.br/2009/08/08/configurando-o-servico-netbios-no-windows/
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/