
CVE-2017-8779 também conhecido como RPCBomb
rpcbind até 0.2.4, LIBTIRPC até 1.0.1 e 1.0.2-rc até 1.0.2-rc3, e NTIRPC até 1.4.3 não consideram o tamanho máximo de dados RPC durante a alocação de memória para strings XDR, o que permite que atacantes remotos causem uma negação de serviço (consumo de memória sem liberação subsequente) através de um pacote UDP malicioso para a porta 111, também conhecido como rpcbomb.
Link do CVE https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8779
git clone https://github.com/drbothen/GO-RPCBOMB.git
go build RPCBomb.go
O RPCBomb.exe compilado possui várias opções que permitem ao atacante adaptar o ataque conforme julgar adequado.
Esta é uma flag OBRIGATÓRIA. Define o sistema alvo. Padrão: OBRIGATÓRIO
Esta NÃO é uma flag obrigatória. Define o número de bytes a tentar alocar. Padrão: 5999999999
Esta NÃO é uma flag obrigatória. Esta é a porta em que o RPC Bind está rodando. Padrão: porta 111
Esta NÃO é uma flag obrigatória. Define o número de pacotes UDP a enviar, ou o número de vezes para solicitar a alocação de bytes. Padrão: 1
Esta NÃO é uma flag obrigatória. Define o número de threads filhas a utilizar para enviar pacotes UDP concorrentemente. Padrão: 1
O crédito pertence a Guido Vranken, que originalmente reportou a descoberta e escreveu o código de exploit de exemplo em Ruby no qual este exploit em Golang é baseado, localizado em https://github.com/guidovranken/rpcbomb.
O relatório original pode ser encontrado em https://guidovranken.wordpress.com/2017/05/03/rpcbomb-remote-rpcbind-denial-of-service-patches/