Jenkins RCE Creating/Modifying Project
Last updated
Last updated
Αυτή η μέθοδος είναι πολύ θορυβώδης επειδή πρέπει να δημιουργήσετε ένα ολοκαίνουργιο έργο (φυσικά αυτό θα λειτουργήσει μόνο εάν ο χρήστης σας επιτρέπεται να δημιουργήσει ένα νέο έργο).
Δημιουργήστε ένα νέο έργο (Freestyle project) κάνοντας κλικ στο "Νέο Στοιχείο" ή στο /view/all/newJob
Στην ενότητα Build ορίστε Εκτέλεση κέλυφους και επικολλήστε έναν εκκινητή Empire powershell ή έναν meterpreter powershell (μπορεί να ληφθεί χρησιμοποιώντας το unicorn). Ξεκινήστε το payload με το PowerShell.exe αντί να χρησιμοποιήσετε το powershell.
Κάντε κλικ στο Εκτέλεση τώρα
Εάν το κουμπί Εκτέλεση τώρα δεν εμφανίζεται, μπορείτε ακόμα να πάτε στην διαμόρφωση --> Ενεργοποίηση Συμβάντων --> Εκτέλεση περιοδικά
και ορίστε ένα cron της μορφής * * * * *
Αντί για τη χρήση του cron, μπορείτε να χρησιμοποιήσετε τη ρύθμιση "Ενεργοποίηση εκτέλεσης απομακρυσμένα" όπου απλά χρειάζεται να ορίσετε το όνομα του τοκέν API για να ενεργοποιήσετε το έργο. Στη συνέχεια, πηγαίνετε στο προφίλ χρήστη σας και δημιουργήστε ένα τοκέν API (ονομάστε αυτό το τοκέν API όπως αποκαλέσατε το τοκέν API για να ενεργοποιήσετε το έργο). Τέλος, ενεργοποιήστε το έργο με: curl <όνομα_χρήστη>:<τοκέν_API>@<διεύθυνση_Jenkins>/job/<όνομα_έργου>/build?token=<όνομα_τοκέν_API>
Πηγαίνετε στα έργα και ελέγξτε αν μπορείτε να διαμορφώσετε οποιοδήποτε από αυτά (ψάξτε για το κουμπί "Διαμόρφωση"):
Εάν δεν μπορείτε να δείτε κανένα κουμπί διαμόρφωσης, τότε πιθανώς δεν μπορείτε να το διαμορφώσετε (αλλά ελέγξτε όλα τα έργα, καθώς μπορεί να μπορείτε να διαμορφώσετε μερικά από αυτά και όχι άλλα).
Ή προσπαθήστε να αποκτήσετε πρόσβαση στη διαδρομή /job/<όνομα_έργου>/configure
ή /me/my-views/view/all/job/<όνομα_έργου>/configure
__ σε κάθε έργο (παράδειγμα: /job/Project0/configure
ή /me/my-views/view/all/job/Project0/configure
).
Εάν σας επιτρέπεται να διαμορφώσετε το έργο, μπορείτε να κάνετε εκτέλεση εντολών όταν ένα έργο είναι επιτυχημένο:
Κάντε κλικ στο Αποθήκευση και κατασκευάστε το έργο και η εντολή σας θα εκτελεστεί. Εάν δεν εκτελείτε ένα αντίστροφο κέλυφος αλλά μια απλή εντολή, μπορείτε να δείτε την έξοδο της εντολής μέσα στην έξοδο της κατασκευής.