Translated ['src/generic-methodologies-and-resources/basic-forensic-meth

This commit is contained in:
Translator 2025-08-26 20:11:39 +00:00
parent 33443652d4
commit 8e7b49edce
5 changed files with 415 additions and 18 deletions

View File

@ -41,6 +41,7 @@
- [Anti-Forensic Techniques](generic-methodologies-and-resources/basic-forensic-methodology/anti-forensic-techniques.md)
- [Docker Forensics](generic-methodologies-and-resources/basic-forensic-methodology/docker-forensics.md)
- [Image Acquisition & Mount](generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md)
- [Ios Backup Forensics](generic-methodologies-and-resources/basic-forensic-methodology/ios-backup-forensics.md)
- [Linux Forensics](generic-methodologies-and-resources/basic-forensic-methodology/linux-forensics.md)
- [Malware Analysis](generic-methodologies-and-resources/basic-forensic-methodology/malware-analysis.md)
- [Memory dump analysis](generic-methodologies-and-resources/basic-forensic-methodology/memory-dump-analysis/README.md)
@ -61,6 +62,7 @@
- [Office file analysis](generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/office-file-analysis.md)
- [PDF File analysis](generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md)
- [PNG tricks](generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/png-tricks.md)
- [Structural File Format Exploit Detection](generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/structural-file-format-exploit-detection.md)
- [Video and Audio file analysis](generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/video-and-audio-file-analysis.md)
- [ZIPs tricks](generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/zips-tricks.md)
- [Windows Artifacts](generic-methodologies-and-resources/basic-forensic-methodology/windows-forensics/README.md)

View File

@ -1,79 +1,172 @@
# Βασική Εγκληματολογική Μεθοδολογία
# Βασική Μεθοδολογία Forensic
{{#include ../../banners/hacktricks-training.md}}
## Δημιουργία και Τοποθέτηση μιας Εικόνας
## Δημιουργία και Προσάρτηση ενός Image
{{#ref}}
../../generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md
{{#endref}}
## Ανάλυση Κακόβουλου Λογισμικού
## Malware Analysis
Αυτό **δεν είναι απαραίτητα το πρώτο βήμα που πρέπει να εκτελέσετε μόλις έχετε το image**. Αλλά μπορείτε να χρησιμοποιήσετε αυτές τις malware analysis τεχνικές ανεξάρτητα αν έχετε ένα αρχείο, ένα file-system image, memory image, pcap... οπότε είναι καλό να **έχετε αυτές τις ενέργειες στο μυαλό**:
Αυτό **δεν είναι απαραίτητο το πρώτο βήμα που πρέπει να εκτελέσετε μόλις έχετε την εικόνα**. Αλλά μπορείτε να χρησιμοποιήσετε αυτές τις τεχνικές ανάλυσης κακόβουλου λογισμικού ανεξάρτητα αν έχετε ένα αρχείο, μια εικόνα συστήματος αρχείων, εικόνα μνήμης, pcap... οπότε είναι καλό να **κρατάτε αυτές τις ενέργειες στο μυαλό σας**:
{{#ref}}
malware-analysis.md
{{#endref}}
## Επιθεώρηση μιας Εικόνας
## Έλεγχος ενός Image
αν σας δοθεί μια **forensic image** μιας συσκευής μπορείτε να ξεκινήσετε **να αναλύετε τα partitions, το file-system** που χρησιμοποιείται και **να ανακτάτε** ενδεχομένως **ενδιαφέροντα αρχεία** (ακόμη και διαγραμμένα). Μάθετε πώς στο:
{{#ref}}
partitions-file-systems-carving/
{{#endref}}# Βασική Μεθοδολογία Forensic
## Δημιουργία και Προσάρτηση ενός Image
{{#ref}}
../../generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md
{{#endref}}
## Malware Analysis
Αυτό **δεν είναι απαραίτητα το πρώτο βήμα που πρέπει να εκτελέσετε μόλις έχετε το image**. Αλλά μπορείτε να χρησιμοποιήσετε αυτές τις malware analysis τεχνικές ανεξάρτητα αν έχετε ένα αρχείο, ένα file-system image, memory image, pcap... οπότε είναι καλό να **έχετε αυτές τις ενέργειες στο μυαλό**:
{{#ref}}
malware-analysis.md
{{#endref}}
## Έλεγχος ενός Image
αν σας δοθεί μια **forensic image** μιας συσκευής μπορείτε να ξεκινήσετε **να αναλύετε τα partitions, το file-system** που χρησιμοποιείται και **να ανακτάτε** ενδεχομένως **ενδιαφέροντα αρχεία** (ακόμη και διαγραμμένα). Μάθετε πώς στο:
Αν σας δοθεί μια **εγκληματολογική εικόνα** μιας συσκευής μπορείτε να ξεκινήσετε **να αναλύετε τις κατατμήσεις, το σύστημα αρχείων** που χρησιμοποιείται και **να ανακτάτε** δυνητικά **ενδιαφέροντα αρχεία** (ακόμα και διαγραμμένα). Μάθετε πώς στο:
{{#ref}}
partitions-file-systems-carving/
{{#endref}}
Ανάλογα με τα χρησιμοποιούμενα λειτουργικά συστήματα και ακόμη και την πλατφόρμα, θα πρέπει να αναζητηθούν διάφορα ενδιαφέροντα τεκμήρια:
Ανάλογα με τα χρησιμοποιούμενα OSs και ακόμη την πλατφόρμα, πρέπει να αναζητηθούν διαφορετικά ενδιαφέροντα artifacts:
{{#ref}}
windows-forensics/
{{#endref}}
{{#ref}}
linux-forensics.md
{{#endref}}
{{#ref}}
docker-forensics.md
{{#endref}}
## Βαθιά επιθεώρηση συγκεκριμένων τύπων αρχείων και Λογισμικού
Αν έχετε ένα πολύ **ύποπτο** **αρχείο**, τότε **ανάλογα με τον τύπο αρχείου και το λογισμικό** που το δημιούργησε, αρκετές **τεχνικές** μπορεί να είναι χρήσιμες.\
Διαβάστε την παρακάτω σελίδα για να μάθετε μερικές ενδιαφέρουσες τεχνικές:
{{#ref}}
ios-backup-forensics.md
{{#endref}}
## Βαθύς έλεγχος συγκεκριμένων τύπων αρχείων και Software
Αν έχετε ένα πολύ **ύποπτο** **αρχείο**, τότε **ανάλογα με τον τύπο αρχείου και το software** που το δημιούργησε, διάφορα **κόλπα** μπορεί να είναι χρήσιμα.\
Διαβάστε την παρακάτω σελίδα για να μάθετε μερικά ενδιαφέροντα κόλπα:
{{#ref}}
specific-software-file-type-tricks/
{{#endref}}
Θέλω να κάνω μια ειδική αναφορά στη σελίδα:
Θέλω να κάνω ειδική μνεία στη σελίδα:
{{#ref}}
specific-software-file-type-tricks/browser-artifacts.md
{{#endref}}
## Επιθεώρηση Dump Μνήμης
## Memory Dump Inspection
{{#ref}}
memory-dump-analysis/
{{#endref}}
## Επιθεώρηση Pcap
## Pcap Inspection
{{#ref}}
pcap-inspection/
{{#endref}}
## **Αντι-Εγκληματολογικές Τεχνικές**
## **Anti-Forensic Techniques**
Λάβετε υπόψη τη πιθανή χρήση anti-forensic techniques:
Λάβετε υπόψη τη δυνατότητα χρήσης αντι-εγκληματολογικών τεχνικών:
{{#ref}}
anti-forensic-techniques.md
{{#endref}}
## Κυνήγι Απειλών
## Threat Hunting
{{#ref}}
file-integrity-monitoring.md
{{#endref}}
## Βαθύς έλεγχος συγκεκριμένων τύπων αρχείων και Software
Αν έχετε ένα πολύ **ύποπτο** **αρχείο**, τότε **ανάλογα με τον τύπο αρχείου και το software** που το δημιούργησε, διάφορα **κόλπα** μπορεί να είναι χρήσιμα.\
Διαβάστε την παρακάτω σελίδα για να μάθετε μερικά ενδιαφέροντα κόλπα:
{{#ref}}
specific-software-file-type-tricks/
{{#endref}}
Θέλω να κάνω ειδική μνεία στη σελίδα:
{{#ref}}
specific-software-file-type-tricks/browser-artifacts.md
{{#endref}}
## Memory Dump Inspection
{{#ref}}
memory-dump-analysis/
{{#endref}}
## Pcap Inspection
{{#ref}}
pcap-inspection/
{{#endref}}
## **Anti-Forensic Techniques**
Λάβετε υπόψη τη πιθανή χρήση anti-forensic techniques:
{{#ref}}
anti-forensic-techniques.md
{{#endref}}
## Threat Hunting
{{#ref}}
file-integrity-monitoring.md

View File

@ -0,0 +1,124 @@
# iOS Ανάλυση Backup (Τριάρισμα εστιασμένο σε μηνύματα)
{{#include ../../banners/hacktricks-training.md}}
Αυτή η σελίδα περιγράφει πρακτικά βήματα για την ανακατασκευή και ανάλυση iOS backups για ενδείξεις παράδοσης 0click exploits μέσω συνημμένων σε messaging apps. Εστιάζει στην μετατροπή της κατακερματισμένης διάταξης backup της Apple σε διαδρομές αναγνώσιμες από άνθρωπο και στη συνέχεια στην απαρίθμηση και σάρωση συνημμένων σε κοινές εφαρμογές.
Στόχοι:
- Ανακατασκευή αναγνώσιμων διαδρομών από το Manifest.db
- Απαρίθμηση βάσεων δεδομένων μηνυμάτων (iMessage, WhatsApp, Signal, Telegram, Viber)
- Επίλυση διαδρομών συνημμένων, εξαγωγή ενσωματωμένων αντικειμένων (PDF/Images/Fonts) και τροφοδότηση τους σε structural detectors
## Ανακατασκευή backup iOS
Τα backups που αποθηκεύονται στο MobileSync χρησιμοποιούν κατακερματισμένα ονόματα αρχείων που δεν είναι αναγνώσιμα από άνθρωπο. Η βάση δεδομένων Manifest.db (SQLite) αντιστοιχίζει κάθε αποθηκευμένο αντικείμενο στην λογική του διαδρομή.
Γενική διαδικασία:
1) Ανοίξτε το Manifest.db και διαβάστε τις εγγραφές αρχείων (domain, relativePath, flags, fileID/hash)
2) Αναδημιουργήστε την αρχική ιεραρχία φακέλων βάσει domain + relativePath
3) Αντιγράψτε ή δημιουργήστε hardlink για κάθε αποθηκευμένο αντικείμενο στην επανακατασκευασμένη διαδρομή
Παράδειγμα ροής εργασίας με ένα εργαλείο που υλοποιεί όλη τη διαδικασία endtoend (ElegantBouncer):
```bash
# Rebuild the backup into a readable folder tree
$ elegant-bouncer --ios-extract /path/to/backup --output /tmp/reconstructed
[+] Reading Manifest.db ...
✓ iOS backup extraction completed successfully!
```
Σημειώσεις:
- Χειριστείτε τα encrypted backups παρέχοντας το backup password στον extractor σας
- Διατηρήστε τα original timestamps/ACLs όταν είναι δυνατόν, για την αξία τους ως αποδεικτικό υλικό
## Απαρίθμηση συνημμένων σε εφαρμογές μηνυμάτων
Μετά την ανακατασκευή, απαριθμήστε τα συνημμένα για δημοφιλείς εφαρμογές. Το ακριβές schema διαφέρει ανά app/version, αλλά η προσέγγιση είναι παρόμοια: query στη messaging database, κάντε join τα messages με τα attachments και επιλύστε τα paths στο δίσκο.
### iMessage (sms.db)
Key tables: message, attachment, message_attachment_join (MAJ), chat, chat_message_join (CMJ)
Example queries:
```sql
-- List attachments with basic message linkage
SELECT
m.ROWID AS message_rowid,
a.ROWID AS attachment_rowid,
a.filename AS attachment_path,
m.handle_id,
m.date,
m.is_from_me
FROM message m
JOIN message_attachment_join maj ON maj.message_id = m.ROWID
JOIN attachment a ON a.ROWID = maj.attachment_id
ORDER BY m.date DESC;
-- Include chat names via chat_message_join
SELECT
c.display_name,
a.filename AS attachment_path,
m.date
FROM chat c
JOIN chat_message_join cmj ON cmj.chat_id = c.ROWID
JOIN message m ON m.ROWID = cmj.message_id
JOIN message_attachment_join maj ON maj.message_id = m.ROWID
JOIN attachment a ON a.ROWID = maj.attachment_id
ORDER BY m.date DESC;
```
Οι διαδρομές συνημμένων μπορεί να είναι απόλυτες ή σχετικές σε σχέση με το επανακατασκευασμένο δέντρο κάτω από Library/SMS/Attachments/.
### WhatsApp (ChatStorage.sqlite)
Συνήθης συσχέτιση: message table ↔ media/attachment table (η ονοματολογία διαφέρει ανά έκδοση). Κάντε ερώτημα στις εγγραφές media για να αποκτήσετε τις διαδρομές στο δίσκο.
Παράδειγμα (γενικό):
```sql
SELECT
m.Z_PK AS message_pk,
mi.ZMEDIALOCALPATH AS media_path,
m.ZMESSAGEDATE AS message_date
FROM ZWAMESSAGE m
LEFT JOIN ZWAMEDIAITEM mi ON mi.ZMESSAGE = m.Z_PK
WHERE mi.ZMEDIALOCALPATH IS NOT NULL
ORDER BY m.ZMESSAGEDATE DESC;
```
Προσαρμόστε τα ονόματα πινάκων/στηλών στην έκδοση της εφαρμογής σας (ZWAMESSAGE/ZWAMEDIAITEM είναι συνηθισμένα σε iOS builds).
### Signal / Telegram / Viber
- Signal: η message DB είναι encrypted; ωστόσο, τα attachments που είναι cached on disk (και τα thumbnails) συνήθως είναι scanable
- Telegram: επιθεωρήστε τα cache directories (photo/video/document caches) και συσχετίστε τα με chats όταν είναι δυνατόν
- Viber: το Viber.sqlite περιέχει message/attachment tables με ondisk references
Tip: ακόμα κι όταν τα metadata είναι encrypted, το σκανάρισμα των media/cache directories εξακολουθεί να αποκαλύπτει malicious objects.
## Σάρωση attachments για structural exploits
Μόλις αποκτήσετε attachment paths, περάστε τα σε structural detectors που επικυρώνουν fileformat invariants αντί για signatures. Παράδειγμα με ElegantBouncer:
```bash
# Recursively scan only messaging attachments under the reconstructed tree
$ elegant-bouncer --scan --messaging /tmp/reconstructed
[+] Found N messaging app attachments to scan
✗ THREAT in WhatsApp chat 'John Doe': suspicious_document.pdf → FORCEDENTRY (JBIG2)
✗ THREAT in iMessage: photo.webp → BLASTPASS (VP8L)
```
Οι ανιχνεύσεις που καλύπτονται από κανόνες δομής περιλαμβάνουν:
- PDF/JBIG2 FORCEDENTRY (CVE202130860): αδύνατες καταστάσεις λεξικού JBIG2
- WebP/VP8L BLASTPASS (CVE20234863): υπερμεγέθεις κατασκευές πινάκων Huffman
- TrueType TRIANGULATION (CVE202341990): μη τεκμηριωμένες bytecode opcodes
- DNG/TIFF CVE202543300: ασυμφωνίες μεταξύ metadata και stream component
## Επαλήθευση, προειδοποιήσεις και false positives
- Μετατροπές χρόνου: το iMessage αποθηκεύει ημερομηνίες σε Apple epochs/units σε κάποιες εκδόσεις· μετατρέψτε κατάλληλα κατά την αναφορά
- Schema drift: τα app SQLite schemas αλλάζουν με την πάροδο του χρόνου· επιβεβαιώστε τα ονόματα πινάκων/στηλών ανά build συσκευής
- Αναδρομική εξαγωγή: τα PDFs μπορεί να ενσωματώνουν JBIG2 streams και fonts· εξαγάγετε και σαρώστε τα εσωτερικά αντικείμενα
- False positives: οι δομικές ευριστικές μέθοδοι είναι συντηρητικές αλλά μπορεί να επισημάνουν σπάνια κακώς μορφοποιημένα αλλά ακίνδυνα μέσα
## Αναφορές
- [ELEGANTBOUNCER: When You Can't Get the Samples but Still Need to Catch the Threat](https://www.msuiche.com/posts/elegantbouncer-when-you-cant-get-the-samples-but-still-need-to-catch-the-threat/)
- [ElegantBouncer project (GitHub)](https://github.com/msuiche/elegant-bouncer)
{{#include ../../banners/hacktricks-training.md}}

View File

@ -1,8 +1,8 @@
# Τεχνικές για Συγκεκριμένα Λογισμικά/Τύπους Αρχείων
# Συγκεκριμένα κόλπα για λογισμικό/τύπους αρχείων
{{#include ../../../banners/hacktricks-training.md}}
Εδώ μπορείτε να βρείτε ενδιαφέρουσες τεχνικές για συγκεκριμένους τύπους αρχείων και/ή λογισμικό:
Εδώ θα βρείτε ενδιαφέροντα κόλπα για συγκεκριμένους τύπους αρχείων και/ή λογισμικό:
{{#ref}}
@ -35,6 +35,11 @@ pdf-file-analysis.md
{{#endref}}
{{#ref}}
structural-file-format-exploit-detection.md
{{#endref}}
{{#ref}}
png-tricks.md
{{#endref}}

View File

@ -0,0 +1,173 @@
# Ανίχνευση Εκμεταλλεύσεων Μορφής Αρχείων (0Click Chains)
{{#include ../../../banners/hacktricks-training.md}}
Αυτή η σελίδα συνοψίζει πρακτικές τεχνικές για τον εντοπισμό 0click mobile exploit αρχείων επαληθεύοντας δομικές αμεταβλητές των φορμάτ αντί να βασίζεται σε byte signatures. Η προσέγγιση γενικεύει μεταξύ δειγμάτων, πολυμορφικών παραλλαγών και μελλοντικών exploits που καταχρώνται την ίδια λογική parser.
Κύρια ιδέα: κωδικοποιήστε δομικές αδυνατότητες και ασυμφωνίες μεταξύ πεδίων που εμφανίζονται μόνο όταν επιτυγχάνεται κατάσταση ευάλωτου decoder/parser.
See also:
{{#ref}}
pdf-file-analysis.md
{{#endref}}
## Γιατί δομή, όχι signatures
Όταν weaponized samples δεν είναι διαθέσιμα και τα payload bytes μεταλλάσσονται, τα παραδοσιακά IOC/YARA patterns αποτυγχάνουν. Η δομική ανίχνευση εξετάζει τη δηλωμένη διάταξη του container σε σχέση με το τι είναι μαθηματικά ή σημασιολογικά δυνατό για την υλοποίηση του format.
Τυπικοί έλεγχοι:
- Validate table sizes and bounds derived from the spec and safe implementations
- Flag illegal/undocumented opcodes or state transitions in embedded bytecode
- Crosscheck metadata VS actual encoded stream components
- Detect contradictory fields that indicate parser confusion or integer overflow setups
Παρακάτω υπάρχουν συγκεκριμένα, fieldtested μοτίβα για πολλαπλές highimpact αλυσίδες.
---
## PDF/JBIG2 FORCEDENTRY (CVE202130860)
Στόχος: JBIG2 symbol dictionaries ενσωματωμένα μέσα σε PDFs (συχνά χρησιμοποιούνται στο mobile MMS parsing).
Δομικά σήματα:
- Αντιφατική κατάσταση dictionary που δεν μπορεί να συμβεί σε αβλαβές περιεχόμενο αλλά απαιτείται για να πυροδοτήσει το overflow στην arithmetic decoding.
- Ύποπτη χρήση global segments συνδυασμένη με μη φυσιολογικούς αριθμούς symbols κατά τη διάρκεια refinement coding.
Pseudologic:
```pseudo
# Detecting impossible dictionary state used by FORCEDENTRY
if input_symbols_count == 0 and (ex_syms > 0 and ex_syms < 4):
mark_malicious("JBIG2 impossible symbol dictionary state")
```
Practical triage:
- Εντοπίστε και εξαγάγετε JBIG2 streams από το PDF
- pdfid/pdf-parser/peepdf για εντοπισμό και dump των streams
- Επαληθεύστε τα arithmetic coding flags και τα symbol dictionary parameters σε σχέση με το JBIG2 spec
Notes:
- Λειτουργεί χωρίς embedded payload signatures
- Χαμηλό FP στην πράξη επειδή η επισημασμένη κατάσταση είναι μαθηματικά ασυνεπής
---
## WebP/VP8L BLASTPASS (CVE20234863)
Target: WebP lossless (VP8L) Huffman prefixcode tables.
Structural signals:
- Το συνολικό μέγεθος των κατασκευασμένων Huffman πινάκων υπερβαίνει το ασφαλές άνω όριο που αναμένεται από τις reference/patched implementations, υπονοώντας την προϋπόθεση overflow.
Pseudologic:
```pseudo
# Detect malformed Huffman table construction triggering overflow
let total_size = sum(table_sizes)
if total_size > 2954: # example bound: FIXED_TABLE_SIZE + MAX_TABLE_SIZE
mark_malicious("VP8L oversized Huffman tables")
```
Πρακτική διαλογή:
- Ελέγξτε τα WebP container chunks: VP8X + VP8L
- Αναλύστε τους κώδικες προθέματος VP8L και υπολογίστε τα πραγματικά εκχωρημένα μεγέθη πινάκων
Σημειώσεις:
- Ανθεκτικό απέναντι στο bytelevel polymorphism του payload
- Το όριο προκύπτει από την ανάλυση upstream limits/patch
---
## TrueType TRIANGULATION (CVE202341990)
Στόχος: TrueType bytecode μέσα σε προγράμματα fpgm/prep/glyf.
Δομικά σήματα:
- Παρουσία μη τεκμηριωμένων/απαγορευμένων opcodes στον Apples interpreter που χρησιμοποιούνται από την exploit chain.
Ψευδο-λογική:
```pseudo
# Flag undocumented TrueType opcodes leveraged by TRIANGULATION
switch opcode:
case 0x8F, 0x90:
mark_malicious("Undocumented TrueType bytecode")
default:
continue
```
Πρακτική διαλογή:
- Εξαγωγή πινάκων γραμματοσειράς (π.χ., χρησιμοποιώντας fontTools/ttx) και σάρωση των προγραμμάτων fpgm/prep/glyf
- Δεν είναι αναγκαία η πλήρης προσομοίωση του interpreter για να αντληθεί χρήσιμη πληροφορία από ελέγχους παρουσίας
Σημειώσεις:
- Μπορεί να παράγει σπάνια FPs αν μη-τυπικές γραμματοσειρές περιέχουν άγνωστα opcodes· επικυρώστε με δευτερογενή εργαλεία
---
## DNG/TIFF CVE202543300
Στόχος: τα metadata εικόνας DNG/TIFF έναντι του πραγματικού αριθμού συστατικών στο κωδικοποιημένο stream (π.χ., JPEGLossless SOF3).
Δομικά σήματα:
- Ασυμφωνία μεταξύ πεδίων EXIF/IFD (SamplesPerPixel, PhotometricInterpretation) και του πλήθους συστατικών που αναλύεται από την κεφαλίδα του image stream που χρησιμοποιείται από την pipeline.
Ψευδο‑λογική:
```pseudo
# Metadata claims 2 samples per pixel but stream header exposes only 1 component
if samples_per_pixel == 2 and sof3_components == 1:
mark_malicious("DNG/TIFF metadata vs. stream mismatch")
```
Πρακτική ταξινόμηση:
- Ανάλυση των κύριων ετικετών IFD και EXIF
- Εντοπισμός και ανάλυση του ενσωματωμένου JPEGLossless header (SOF3) και σύγκριση του αριθμού των συστατικών
Σημειώσεις:
- Αναφέρθηκε ότι έχει εκμεταλλευτεί στο φυσικό περιβάλλον· εξαιρετικός υποψήφιος για ελέγχους δομικής συνέπειας
---
## Πρότυπα υλοποίησης και απόδοση
Ένας πρακτικός σαρωτής θα πρέπει να:
- Αυτόματη ανίχνευση τύπου αρχείου και δρομολόγηση μόνο στους σχετικούς αναλυτές (PDF/JBIG2, WebP/VP8L, TTF, DNG/TIFF)
- Χρήση stream/μερικής ανάλυσης για ελαχιστοποίηση των κατανομών μνήμης και δυνατότητα πρώιμου τερματισμού
- Εκτέλεση αναλύσεων παράλληλα (threadpool) για μαζική ταξινόμηση
Example workflow with ElegantBouncer (opensource Rust implementation of these checks):
```bash
# Scan a path recursively with structural detectors
$ elegant-bouncer --scan /path/to/directory
# Optional TUI for parallel scanning and realtime alerts
$ elegant-bouncer --tui --scan /path/to/samples
```
---
## Συμβουλές DFIR και οριακές περιπτώσεις
- Ενσωματωμένα αντικείμενα: Τα PDFs μπορεί να ενσωματώνουν εικόνες (JBIG2) και fonts (TrueType)· εξάγετε και σαρώστε αναδρομικά
- Ασφάλεια αποσυμπίεσης: χρησιμοποιήστε βιβλιοθήκες που επιβάλλουν αυστηρούς περιορισμούς σε πίνακες/buffers πριν την κατανομή
- Ψευδώς θετικά: κρατήστε τους κανόνες συντηρητικούς, προτιμήστε αντιφάσεις που είναι αδύνατες σύμφωνα με την προδιαγραφή
- Απόκλιση έκδοσης: επαναπροσδιορίστε τα όρια (π.χ., VP8L table sizes) όταν οι upstream parsers αλλάζουν τα όριά τους
---
## Σχετικά εργαλεία
- ElegantBouncer δομικός σαρωτής για τις παραπάνω ανιχνεύσεις
- pdfid/pdf-parser/peepdf εξαγωγή αντικειμένων PDF και στατική ανάλυση
- pdfcpu ελεγκτής/καθαριστής PDF
- fontTools/ttx εξαγωγή πινάκων TrueType και bytecode
- exiftool ανάγνωση μεταδεδομένων TIFF/DNG/EXIF
- dwebp/webpmux ανάλυση μεταδεδομένων και chunks WebP
---
## Αναφορές
- [ELEGANTBOUNCER: When You Can't Get the Samples but Still Need to Catch the Threat](https://www.msuiche.com/posts/elegantbouncer-when-you-cant-get-the-samples-but-still-need-to-catch-the-threat/)
- [ElegantBouncer project (GitHub)](https://github.com/msuiche/elegant-bouncer)
- [Researching FORCEDENTRY: Detecting the exploit with no samples](https://www.msuiche.com/posts/researching-forcedentry-detecting-the-exploit-with-no-samples/)
- [Researching BLASTPASS Detecting the exploit inside a WebP file (Part 1)](https://www.msuiche.com/posts/researching-blastpass-detecting-the-exploit-inside-a-webp-file-part-1/)
- [Researching BLASTPASS Analysing the Apple & Google WebP PoC file (Part 2)](https://www.msuiche.com/posts/researching-blastpass-analysing-the-apple-google-webp-poc-file-part-2/)
- [Researching TRIANGULATION Detecting CVE202341990 with singlebyte signatures](https://www.msuiche.com/posts/researching-triangulation-detecting-cve-2023-41990-with-single-byte-signatures/)
- [CVE202543300: Critical vulnerability found in Apples DNG image processing](https://www.msuiche.com/posts/cve-2025-43300-critical-vulnerability-found-in-apples-dng-image-processing/)
{{#include ../../../banners/hacktricks-training.md}}