
CVE-2017-8779 alias RPCBomb
rpcbind hasta 0.2.4, LIBTIRPC hasta 1.0.1 y 1.0.2-rc hasta 1.0.2-rc3, y NTIRPC hasta 1.4.3 no consideran el tamaño máximo de datos RPC durante la asignación de memoria para cadenas XDR, lo que permite a atacantes remotos causar una denegación de servicio (consumo de memoria sin liberación posterior) mediante un paquete UDP manipulado enviado al puerto 111, también conocido como rpcbomb.
Enlace 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
El ejecutable RPCBomb.exe compilado tiene varios modificadores que permiten al atacante adaptar el ataque según su criterio.
Esta es una bandera OBLIGATORIA. Establece el sistema objetivo. Por defecto es OBLIGATORIO
Esta NO es una bandera obligatoria. Establece la cantidad de bytes a intentar asignar. Por defecto es 5999999999
Esta NO es una bandera obligatoria. Es el puerto en el que se ejecuta RPC Bind. Por defecto es el puerto 111
Esta NO es una bandera obligatoria. Establece el número de paquetes UDP a enviar, o el número de veces que se solicitará la asignación de bytes. Por defecto es 1
Esta NO es una bandera obligatoria. Establece el número de hilos secundarios a utilizar para enviar paquetes UDP de forma concurrente. Por defecto es 1
El crédito pertenece a Guido Vranken, quien reportó originalmente el hallazgo y escribió el código de exploit de ejemplo en Ruby en el que se basa este exploit en Go, ubicado en https://github.com/guidovranken/rpcbomb.
El informe original se puede encontrar en https://guidovranken.wordpress.com/2017/05/03/rpcbomb-remote-rpcbind-denial-of-service-patches/