Jenkins RCE Erstellen/Ändern eines Projekts

Reading time: 3 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

Erstellen eines Projekts

Diese Methode ist sehr laut, da Sie ein ganz neues Projekt erstellen müssen (offensichtlich funktioniert dies nur, wenn der Benutzer berechtigt ist, ein neues Projekt zu erstellen).

  1. Erstellen Sie ein neues Projekt (Freestyle-Projekt), indem Sie auf "Neues Element" klicken oder in /view/all/newJob
  2. Im Abschnitt Build setzen Sie Shell ausführen und fügen einen PowerShell Empire Launcher oder eine Meterpreter PowerShell ein (kann mit unicorn erhalten werden). Starten Sie die Payload mit PowerShell.exe anstelle von powershell.
  3. Klicken Sie auf Jetzt bauen
  4. Wenn die Schaltfläche Jetzt bauen nicht erscheint, können Sie trotzdem zu konfigurieren --> Build-Auslöser --> Build regelmäßig gehen und einen Cron von * * * * * festlegen.
  5. Anstelle von Cron können Sie die Konfiguration "Bauten remote auslösen" verwenden, bei der Sie nur den API-Token-Namen festlegen müssen, um den Job auszulösen. Gehen Sie dann zu Ihrem Benutzerprofil und generieren Sie einen API-Token (nennen Sie diesen API-Token so, wie Sie den API-Token genannt haben, um den Job auszulösen). Schließlich lösen Sie den Job mit folgendem Befehl aus: curl <username>:<api_token>@<jenkins_url>/job/<job_name>/build?token=<api_token_name>

Ändern eines Projekts

Gehen Sie zu den Projekten und überprüfen Sie ob Sie eines von ihnen konfigurieren können (suchen Sie nach der "Konfigurieren"-Schaltfläche):

Wenn Sie keine Konfigurations schaltfläche sehen können, dann können Sie es wahrscheinlich nicht konfigurieren (aber überprüfen Sie alle Projekte, da Sie möglicherweise einige von ihnen und nicht andere konfigurieren können).

Oder versuchen Sie, auf den Pfad /job/<proj-name>/configure oder /me/my-views/view/all/job/<proj-name>/configure __ in jedem Projekt zuzugreifen (Beispiel: /job/Project0/configure oder /me/my-views/view/all/job/Project0/configure).

Ausführung

Wenn Sie berechtigt sind, das Projekt zu konfigurieren, können Sie es so einstellen, dass es Befehle ausführt, wenn ein Build erfolgreich ist:

Klicken Sie auf Speichern und bauen Sie das Projekt, und Ihr Befehl wird ausgeführt.
Wenn Sie keine Reverse-Shell, sondern einen einfachen Befehl ausführen, können Sie die Ausgabe des Befehls in der Ausgabe des Builds sehen.

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks