# Jenkins RCE Creazione/Modifica Progetto

{{#include ../../banners/hacktricks-training.md}}

## Creazione di un Progetto

Questo metodo è molto rumoroso perché devi creare un nuovo progetto (ovviamente questo funzionerà solo se l'utente è autorizzato a creare un nuovo progetto).

1. **Crea un nuovo progetto** (progetto Freestyle) cliccando su "Nuovo Elemento" o in `/view/all/newJob`
2. All'interno della sezione **Build** imposta **Esegui shell** e incolla un lanciatore di powershell Empire o un powershell di meterpreter (può essere ottenuto usando _unicorn_). Avvia il payload con _PowerShell.exe_ invece di usare _powershell._
3. Clicca su **Build now**
1. Se il pulsante **Build now** non appare, puoi comunque andare su **configura** --> **Trigger di Build** --> `Build periodically` e impostare un cron di `* * * * *`
2. Invece di usare cron, puoi usare la configurazione "**Trigger builds remotely**" dove devi solo impostare il nome del token API per attivare il lavoro. Poi vai al tuo profilo utente e **genera un token API** (chiama questo token API come hai chiamato il token API per attivare il lavoro). Infine, attiva il lavoro con: **`curl <username>:<api_token>@<jenkins_url>/job/<job_name>/build?token=<api_token_name>`**

![](<../../images/image (165).png>)

## Modifica di un Progetto

Vai ai progetti e controlla **se puoi configurare uno** di essi (cerca il "pulsante Configura"):

![](<../../images/image (265).png>)

Se **non puoi** vedere alcun **pulsante di configurazione** allora **non puoi** **configurarlo** probabilmente (ma controlla tutti i progetti poiché potresti essere in grado di configurarne alcuni e non altri).

Oppure **prova ad accedere al percorso** `/job/<proj-name>/configure` o `/me/my-views/view/all/job/<proj-name>/configure` \_\_ in ciascun progetto (esempio: `/job/Project0/configure` o `/me/my-views/view/all/job/Project0/configure`).

## Esecuzione

Se ti è permesso configurare il progetto puoi **farlo eseguire comandi quando una build ha successo**:

![](<../../images/image (98).png>)

Clicca su **Salva** e **build** il progetto e il tuo **comando verrà eseguito**.\
Se non stai eseguendo una reverse shell ma un semplice comando puoi **vedere l'output del comando all'interno dell'output della build**.

{{#include ../../banners/hacktricks-training.md}}
