AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
Last updated
Last updated
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε τι είναι ένα VPC και για τα συστατικά του σε:
AWS - VPC & Networking Basic InformationΤο Amazon EC2 χρησιμοποιείται για την εκκίνηση εικονικών διακομιστών. Επιτρέπει τη διαμόρφωση ασφάλειας και δικτύωσης και τη διαχείριση αποθήκευσης. Η ευελιξία του Amazon EC2 είναι προφανής στην ικανότητά του να κλιμακώνει τους πόρους προς τα πάνω και προς τα κάτω, προσαρμόζοντας αποτελεσματικά τις μεταβαλλόμενες απαιτήσεις ή τις αυξήσεις δημοτικότητας. Αυτή η δυνατότητα μειώνει την ανάγκη για ακριβείς προβλέψεις κυκλοφορίας.
Ενδιαφέροντα πράγματα για να καταγράψετε στο EC2:
Εικονικές Μηχανές
Κλειδιά SSH
Δεδομένα Χρήστη
Υπάρχοντα EC2s/AMIs/Στιγμιότυπα
Δικτύωση
Δίκτυα
Υποδίκτυα
Δημόσιες IPs
Ανοιχτές θύρες
Ενσωματωμένες συνδέσεις με άλλα δίκτυα εκτός AWS
Η χρήση ρόλων για την παροχή δικαιωμάτων σε εφαρμογές που εκτελούνται σε εγκαταστάσεις EC2 απαιτεί λίγη επιπλέον διαμόρφωση. Μια εφαρμογή που εκτελείται σε μια εγκατάσταση EC2 είναι απομονωμένη από το AWS μέσω του εικονικοποιημένου λειτουργικού συστήματος. Λόγω αυτής της επιπλέον απομόνωσης, χρειάζεστε ένα επιπλέον βήμα για να αναθέσετε έναν ρόλο AWS και τα σχετικά δικαιώματα σε μια εγκατάσταση EC2 και να τα κάνετε διαθέσιμα στις εφαρμογές της.
Αυτό το επιπλέον βήμα είναι η δημιουργία ενός προφίλ εγκατάστασης που συνδέεται με την εγκατάσταση. Το προφίλ εγκατάστασης περιέχει τον ρόλο και μπορεί να παρέχει τα προσωρινά διαπιστευτήρια του ρόλου σε μια εφαρμογή που εκτελείται στην εγκατάσταση. Αυτά τα προσωρινά διαπιστευτήρια μπορούν στη συνέχεια να χρησιμοποιηθούν στις κλήσεις API της εφαρμογής για την πρόσβαση σε πόρους και για τον περιορισμό της πρόσβασης μόνο στους πόρους που καθορίζει ο ρόλος. Σημειώστε ότι μόνο ένας ρόλος μπορεί να ανατεθεί σε μια εγκατάσταση EC2 τη φορά, και όλες οι εφαρμογές στην εγκατάσταση μοιράζονται τον ίδιο ρόλο και δικαιώματα.
Τα μεταδεδομένα AWS EC2 είναι πληροφορίες σχετικά με μια εγκατάσταση Amazon Elastic Compute Cloud (EC2) που είναι διαθέσιμες στην εγκατάσταση κατά την εκτέλεση. Αυτά τα μεταδεδομένα χρησιμοποιούνται για την παροχή πληροφοριών σχετικά με την εγκατάσταση, όπως το ID της εγκατάστασης, η ζώνη διαθεσιμότητας στην οποία εκτελείται, ο ρόλος IAM που σχετίζεται με την εγκατάσταση και το όνομα υπολογιστή της εγκατάστασης.
Στην επόμενη σελίδα μπορείτε να δείτε πώς να καταχραστείτε τις άδειες EC2 για να κερδίσετε δικαιώματα:
AWS - EC2 PrivescΗ EBS (Elastic Block Store) της Amazon snapshots είναι βασικά στατικά αντίγραφα ασφαλείας των όγκων EBS της AWS. Με άλλα λόγια, είναι αντίγραφα των δίσκων που είναι συνδεδεμένοι σε μια EC2 Εγκατάσταση σε μια συγκεκριμένη χρονική στιγμή. Τα EBS snapshots μπορούν να αντιγραφούν σε περιοχές και λογαριασμούς, ή ακόμα και να κατεβούν και να τρέξουν τοπικά.
Τα snapshots μπορεί να περιέχουν ευαίσθητες πληροφορίες όπως κώδικα πηγής ή κλειδιά API, επομένως, αν έχετε την ευκαιρία, συνιστάται να το ελέγξετε.
Ένα AMI χρησιμοποιείται για να εκκινήσει μια EC2 εγκατάσταση, ενώ ένα EC2 Snapshot χρησιμοποιείται για να δημιουργήσει αντίγραφα ασφαλείας και να ανακτήσει δεδομένα που είναι αποθηκευμένα σε έναν όγκο EBS. Ενώ ένα EC2 Snapshot μπορεί να χρησιμοποιηθεί για να δημιουργήσει ένα νέο AMI, δεν είναι το ίδιο πράγμα με ένα AMI, και δεν περιλαμβάνει πληροφορίες σχετικά με το λειτουργικό σύστημα, τον διακομιστή εφαρμογών ή άλλο λογισμικό που απαιτείται για να τρέξει μια εφαρμογή.
Στην επόμενη σελίδα μπορείτε να δείτε πώς να καταχραστείτε τις άδειες EBS για να κερδίσετε δικαιώματα:
AWS - EBS PrivescΟ Amazon Simple Systems Manager (SSM) επιτρέπει την απομακρυσμένη διαχείριση των EC2 εγκαταστάσεων για να διευκολύνει πολύ τη διαχείρισή τους. Κάθε μία από αυτές τις εγκαταστάσεις πρέπει να εκτελεί την υπηρεσία SSM Agent καθώς αυτή θα είναι υπεύθυνη για την εκτέλεση των ενεργειών από το AWS API.
Ο SSM Agent καθιστά δυνατή την ενημέρωση, διαχείριση και ρύθμιση αυτών των πόρων από τον Systems Manager. Ο πράκτορας επεξεργάζεται αιτήματα από την υπηρεσία Systems Manager στο AWS Cloud, και στη συνέχεια τα εκτελεί όπως καθορίζεται στο αίτημα.
Ο SSM Agent έρχεται προεγκατεστημένος σε ορισμένα AMIs ή πρέπει να τον εγκαταστήσετε χειροκίνητα στις εγκαταστάσεις. Επίσης, ο IAM Ρόλος που χρησιμοποιείται μέσα στην εγκατάσταση πρέπει να έχει την πολιτική AmazonEC2RoleforSSM συνημμένη για να μπορεί να επικοινωνεί.
Μπορείτε να ελέγξετε σε μια EC2 instance αν το Systems Manager εκτελείται απλά εκτελώντας:
Στην επόμενη σελίδα μπορείτε να ελέγξετε πώς να καταχραστείτε τις άδειες SSM για να κλιμακώσετε τα δικαιώματα:
AWS - SSM PrivescElastic Load Balancing (ELB) είναι μια υπηρεσία ισορροπίας φορτίου για τις Υπηρεσίες Ιστού της Amazon (AWS). Το ELB αυτόματα κατανέμει την εισερχόμενη κίνηση εφαρμογών και κλιμακώνει τους πόρους για να καλύψει τις απαιτήσεις κίνησης.
AWS Nitro είναι μια σουίτα από καινοτόμες τεχνολογίες που αποτελούν την υποκείμενη πλατφόρμα για τις EC2 περιπτώσεις AWS. Εισήχθη από την Amazon για να βελτιώσει την ασφάλεια, την απόδοση και την αξιοπιστία, το Nitro εκμεταλλεύεται προσαρμοσμένα hardware components και έναν ελαφρύ hypervisor. Απομονώνει πολλές από τις παραδοσιακές λειτουργίες εικονικοποίησης σε ειδικό hardware και software, ελαχιστοποιώντας την επιφάνεια επίθεσης και βελτιώνοντας την αποδοτικότητα πόρων. Με την εκφόρτωση των λειτουργιών εικονικοποίησης, το Nitro επιτρέπει στις EC2 περιπτώσεις να παρέχουν σχεδόν bare-metal απόδοση, καθιστώντας το ιδιαίτερα ωφέλιμο για εφαρμογές που απαιτούν πολλούς πόρους. Επιπλέον, το Nitro Security Chip διασφαλίζει ειδικά την ασφάλεια του hardware και του firmware, ενισχύοντας περαιτέρω την ανθεκτική του αρχιτεκτονική.
Get more information and how to enumerate it from:
AWS - Nitro EnumΈνα VPN επιτρέπει τη σύνδεση του on-premise network (site-to-site VPN) ή των laptops των εργαζομένων (Client VPN) με ένα AWS VPC ώστε οι υπηρεσίες να είναι προσβάσιμες χωρίς να χρειάζεται να τις εκθέσετε στο διαδίκτυο.
Customer Gateway:
Ένα Customer Gateway είναι ένας πόρος που δημιουργείτε στο AWS για να αντιπροσωπεύει την πλευρά σας σε μια σύνδεση VPN.
Είναι ουσιαστικά μια φυσική συσκευή ή εφαρμογή λογισμικού στην πλευρά σας της σύνδεσης Site-to-Site VPN.
Παρέχετε πληροφορίες δρομολόγησης και τη δημόσια IP διεύθυνση της συσκευής δικτύου σας (όπως ένας δρομολογητής ή ένα firewall) στο AWS για να δημιουργήσετε ένα Customer Gateway.
Λειτουργεί ως σημείο αναφοράς για τη ρύθμιση της σύνδεσης VPN και δεν επιβαρύνει με επιπλέον χρεώσεις.
Virtual Private Gateway:
Ένα Virtual Private Gateway (VPG) είναι ο συγκεντρωτής VPN στην πλευρά της Amazon της σύνδεσης Site-to-Site VPN.
Είναι συνδεδεμένο με το VPC σας και λειτουργεί ως ο στόχος για τη σύνδεση VPN σας.
Το VPG είναι το σημείο τερματισμού της AWS για τη σύνδεση VPN.
Διαχειρίζεται την ασφαλή επικοινωνία μεταξύ του VPC σας και του on-premises δικτύου σας.
Site-to-Site VPN Connection:
Μια σύνδεση Site-to-Site VPN συνδέει το on-premises δίκτυό σας με ένα VPC μέσω ενός ασφαλούς, IPsec VPN τούνελ.
Αυτός ο τύπος σύνδεσης απαιτεί ένα Customer Gateway και ένα Virtual Private Gateway.
Χρησιμοποιείται για ασφαλή, σταθερή και συνεπή επικοινωνία μεταξύ του κέντρου δεδομένων ή του δικτύου σας και του περιβάλλοντος AWS.
Συνήθως χρησιμοποιείται για κανονικές, μακροχρόνιες συνδέσεις και χρεώνεται με βάση την ποσότητα δεδομένων που μεταφέρονται μέσω της σύνδεσης.
Client VPN Endpoint:
Ένα Client VPN endpoint είναι ένας πόρος που δημιουργείτε στο AWS για να ενεργοποιήσετε και να διαχειριστείτε τις συνεδρίες client VPN.
Χρησιμοποιείται για να επιτρέπει σε μεμονωμένες συσκευές (όπως laptops, smartphones, κ.λπ.) να συνδέονται με ασφάλεια σε πόρους AWS ή στο on-premises δίκτυό σας.
Διαφέρει από το Site-to-Site VPN στο ότι έχει σχεδιαστεί για μεμονωμένους πελάτες αντί να συνδέει ολόκληρα δίκτυα.
Με το Client VPN, κάθε συσκευή πελάτη χρησιμοποιεί ένα λογισμικό client VPN για να δημιουργήσει μια ασφαλή σύνδεση.
You can find more information about the benefits and components of AWS VPNs here.
Τοπικά Προσωρινά Διαπιστευτήρια
Όταν χρησιμοποιείται ο πελάτης AWS VPN για να συνδεθεί σε ένα VPN, ο χρήστης συνήθως συνδέεται στο AWS για να αποκτήσει πρόσβαση στο VPN. Στη συνέχεια, κάποια διαπιστευτήρια AWS δημιουργούνται και αποθηκεύονται τοπικά για να καθοριστεί η σύνδεση VPN. Αυτά τα διαπιστευτήρια αποθηκεύονται στο $HOME/.config/AWSVPNClient/TemporaryCredentials/<region>/temporary-credentials.txt
και περιέχουν ένα AccessKey, ένα SecretKey και ένα Token.
Τα διαπιστευτήρια ανήκουν στον χρήστη arn:aws:sts::<acc-id>:assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials
(TODO: ερευνήστε περισσότερα σχετικά με τις άδειες αυτών των διαπιστευτηρίων).
αρχεία ρυθμίσεων opvn
Εάν η σύνδεση VPN έχει καθοριστεί, θα πρέπει να αναζητήσετε αρχεία ρυθμίσεων .opvn
στο σύστημα. Επιπλέον, ένα μέρος όπου θα μπορούσατε να βρείτε τις ρυθμίσεις είναι στο $HOME/.config/AWSVPNClient/OpenVpnConfigs
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)