TravisCI Security
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Τι είναι το TravisCI
Travis CI είναι μια φιλοξενούμενη ή σε τοπικό συνεχή ολοκλήρωση υπηρεσία που χρησιμοποιείται για την κατασκευή και δοκιμή λογισμικών έργων που φιλοξενούνται σε πολλές διαφορετικές πλατφόρμες git.
Επιθέσεις
Ενεργοποιήσεις
Για να ξεκινήσετε μια επίθεση, πρέπει πρώτα να γνωρίζετε πώς να ενεργοποιήσετε μια κατασκευή. Από προεπιλογή, το TravisCI θα ενεργοποιήσει μια κατασκευή σε pushes και pull requests:
.png)
Cron Jobs
Αν έχετε πρόσβαση στην εφαρμογή ιστού, μπορείτε να ρυθμίσετε cron jobs για να εκτελούν την κατασκευή, αυτό μπορεί να είναι χρήσιμο για επιμονή ή για να ενεργοποιήσετε μια κατασκευή:
.png)
Note
Φαίνεται ότι δεν είναι δυνατό να ρυθμίσετε cron jobs μέσα στο
.travis.ymlσύμφωνα με αυτό.
PR Τρίτων
Το TravisCI από προεπιλογή απενεργοποιεί την κοινή χρήση μεταβλητών περιβάλλοντος με PRs που προέρχονται από τρίτους, αλλά κάποιος μπορεί να το ενεργοποιήσει και τότε θα μπορούσατε να δημιουργήσετε PRs στο repo και να εξάγετε τα μυστικά:
.png)
Εκχύλιση Μυστικών
Όπως εξηγείται στη σελίδα βασικές πληροφορίες, υπάρχουν 2 τύποι μυστικών. Μυστικά Μεταβλητών Περιβάλλοντος (τα οποία αναφέρονται στη σελίδα ιστού) και προσαρμοσμένα κρυπτογραφημένα μυστικά, τα οποία αποθηκεύονται μέσα στο αρχείο .travis.yml ως base64 (σημειώστε ότι και τα δύο, καθώς αποθηκεύονται κρυπτογραφημένα, θα καταλήξουν ως μεταβλητές περιβάλλοντος στις τελικές μηχανές).
- Για να καταμετρήσετε τα μυστικά που έχουν ρυθμιστεί ως Μεταβλητές Περιβάλλοντος, μεταβείτε στις ρυθμίσεις του έργου και ελέγξτε τη λίστα. Ωστόσο, σημειώστε ότι όλες οι μεταβλητές περιβάλλοντος του έργου που έχουν ρυθμιστεί εδώ θα εμφανιστούν κατά την ενεργοποίηση μιας κατασκευής.
- Για να καταμετρήσετε τα προσαρμοσμένα κρυπτογραφημένα μυστικά, το καλύτερο που μπορείτε να κάνετε είναι να ελέγξετε το αρχείο
.travis.yml. - Για να καταμετρήσετε κρυπτογραφημένα αρχεία, μπορείτε να ελέγξετε για αρχεία
.encστο repo, για γραμμές παρόμοιες μεopenssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -dστο αρχείο ρύθμισης, ή για κρυπτογραφημένα iv και κλειδιά στις Μεταβλητές Περιβάλλοντος όπως:
.png)
TODO:
- Παράδειγμα κατασκευής με reverse shell που εκτελείται σε Windows/Mac/Linux
- Παράδειγμα κατασκευής που διαρρέει τη μεταβλητή περιβάλλοντος κωδικοποιημένη σε base64 στα logs
TravisCI Enterprise
Αν ένας επιτιθέμενος βρεθεί σε ένα περιβάλλον που χρησιμοποιεί TravisCI enterprise (περισσότερες πληροφορίες για το τι είναι αυτό στη βασικές πληροφορίες), θα είναι σε θέση να ενεργοποιήσει κατασκευές στον Worker. Αυτό σημαίνει ότι ένας επιτιθέμενος θα είναι σε θέση να κινηθεί οριζόντια σε αυτόν τον διακομιστή από τον οποίο θα μπορούσε να είναι σε θέση να:
- διαφύγει στον κεντρικό υπολογιστή;
- συμβιβάσει το kubernetes;
- συμβιβάσει άλλες μηχανές που εκτελούνται στο ίδιο δίκτυο;
- συμβιβάσει νέες πιστοποιήσεις cloud;
Αναφορές
- https://docs.travis-ci.com/user/encrypting-files/
- https://docs.travis-ci.com/user/best-practices-security
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
HackTricks Cloud

