
CVE-2017-8779 alias RPCBomb
rpcbind fino alla 0.2.4, LIBTIRPC fino alla 1.0.1 e 1.0.2-rc fino a 1.0.2-rc3, e NTIRPC fino alla 1.4.3 non considerano la dimensione massima dei dati RPC durante l'allocazione di memoria per le stringhe XDR, consentendo a un attaccante remoto di causare un denial of service (consumo di memoria senza successiva liberazione) tramite un pacchetto UDP appositamente creato sulla porta 111, noto come rpcbomb.
Link 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
L'eseguibile compilato RPCBomb.exe ha diversi parametri che consentono all'attaccante di personalizzare l'attacco come meglio crede.
Questo è un flag OBBLIGATORIO. Imposta il sistema di destinazione. Predefinito: Obbligatorio
Questo NON è un flag obbligatorio. Imposta il numero di byte da tentare di allocare. Predefinito: 5999999999
Questo NON è un flag obbligatorio. È la porta su cui è in esecuzione RPC Bind. Predefinito: porta 111
Questo NON è un flag obbligatorio. Imposta il numero di pacchetti UDP da inviare, o il numero di volte per richiedere l'allocazione dei byte. Predefinito: 1
Questo NON è un flag obbligatorio. Imposta il numero di thread figli da utilizzare per inviare pacchetti UDP in concorrenza. Predefinito: 1
Il credito va a Guido Vranken che ha originariamente riportato la scoperta e scritto il codice di esempio dell'exploit in Ruby su cui si basa questo exploit in Go, disponibile su https://github.com/guidovranken/rpcbomb.
Il report originale può essere trovato su https://guidovranken.wordpress.com/2017/05/03/rpcbomb-remote-rpcbind-denial-of-service-patches/