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

This commit is contained in:
Translator 2025-08-26 20:11:20 +00:00
parent b8ee316e73
commit fcbf83e8cb
5 changed files with 412 additions and 15 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

@ -2,78 +2,171 @@
{{#include ../../banners/hacktricks-training.md}}
## Skep en Monteer 'n Beeld
## Skep en Aankoppel van 'n Image
{{#ref}}
../../generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md
{{#endref}}
## Malware Analise
## Malware Analysis
Dit **is nie noodwendig die eerste stap wat jy moet uitvoer sodra jy die image het nie**. Maar jy kan hierdie malware analysis tegnieke onafhanklik gebruik as jy 'n lêer, 'n file-system image, memory image, pcap ... het — dit is dus goed om **hierdie aksies in gedagte te hou**:
Dit **is nie noodsaaklik die eerste stap om uit te voer sodra jy die beeld het nie**. Maar jy kan hierdie malware analise tegnieke onafhanklik gebruik as jy 'n lêer, 'n lêer-stelsel beeld, geheue beeld, pcap... het, so dit is goed om **hierdie aksies in gedagte te hou**:
{{#ref}}
malware-analysis.md
{{#endref}}
## Inspekteer 'n Beeld
## Inspeksie van 'n Image
As jy 'n **forensic image** van 'n toestel ontvang, kan jy begin om die **partitions, file-system** wat gebruik is te **ontleed** en moontlik **interessante lêers** te **hersteld** (selfs verwyderde). Leer hoe in:
{{#ref}}
partitions-file-systems-carving/
{{#endref}}# Basiese Forensiese Metodologie
## Skep en Aankoppel van 'n Image
{{#ref}}
../../generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md
{{#endref}}
## Malware Analysis
Dit **is nie noodwendig die eerste stap wat jy moet uitvoer sodra jy die image het nie**. Maar jy kan hierdie malware analysis tegnieke onafhanklik gebruik as jy 'n lêer, 'n file-system image, memory image, pcap ... het — dit is dus goed om **hierdie aksies in gedagte te hou**:
{{#ref}}
malware-analysis.md
{{#endref}}
## Inspeksie van 'n Image
As jy 'n **forensic image** van 'n toestel ontvang, kan jy begin om die **partitions, file-system** wat gebruik is te **ontleed** en moontlik **interessante lêers** te **hersteld** (selfs verwyderde). Leer hoe in:
As jy 'n **forensiese beeld** van 'n toestel ontvang, kan jy begin **analiseer die partisie, lêer-stelsel** wat gebruik word en **herstel** potensieel **interessante lêers** (selfs verwyderde). Leer hoe in:
{{#ref}}
partitions-file-systems-carving/
{{#endref}}
Afhangende van die gebruikte OS's en selfs platform, moet verskillende interessante artefakte gesoek word:
Afhangende van die gebruikte OSs en selfs platform, moet verskillende interessante artifacts gesoek word:
{{#ref}}
windows-forensics/
{{#endref}}
{{#ref}}
linux-forensics.md
{{#endref}}
{{#ref}}
docker-forensics.md
{{#endref}}
## Diep inspeksie van spesifieke lêer-tipes en Sagteware
As jy 'n baie **verdagte** **lêer** het, dan **afhangende van die lêer-tipe en sagteware** wat dit geskep het, kan verskeie **tricks** nuttig wees.\
{{#ref}}
ios-backup-forensics.md
{{#endref}}
## Diepe inspeksie van spesifieke lêertipes en sagteware
As jy 'n baie **suspekte** **lêer** het, kan, **afhangend van die file-type en software** wat dit geskep het, verskeie **truuks** nuttig wees.\
Lees die volgende bladsy om 'n paar interessante truuks te leer:
{{#ref}}
specific-software-file-type-tricks/
{{#endref}}
Ek wil 'n spesiale vermelding maak van die bladsy:
Ek wil 'n spesiale opmerking maak oor die bladsy:
{{#ref}}
specific-software-file-type-tricks/browser-artifacts.md
{{#endref}}
## Geheue Dump Inspeksie
## Memory Dump Inspection
{{#ref}}
memory-dump-analysis/
{{#endref}}
## Pcap Inspeksie
## Pcap Inspection
{{#ref}}
pcap-inspection/
{{#endref}}
## **Anti-Forensiese Tegnieke**
## **Anti-Forensic Techniques**
Hou die moontlike gebruik van Anti-Forensic Techniques in gedagte:
Hou in gedagte die moontlike gebruik van anti-forensiese tegnieke:
{{#ref}}
anti-forensic-techniques.md
{{#endref}}
## Bedreiging Jag
## Threat Hunting
{{#ref}}
file-integrity-monitoring.md
{{#endref}}
## Diepe inspeksie van spesifieke lêertipes en sagteware
As jy 'n baie **suspekte** **lêer** het, kan, **afhangend van die file-type en software** wat dit geskep het, verskeie **truuks** nuttig wees.\
Lees die volgende bladsy om 'n paar interessante truuks te leer:
{{#ref}}
specific-software-file-type-tricks/
{{#endref}}
Ek wil 'n spesiale opmerking maak oor die bladsy:
{{#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**
Hou die moontlike gebruik van Anti-Forensic Techniques in gedagte:
{{#ref}}
anti-forensic-techniques.md
{{#endref}}
## Threat Hunting
{{#ref}}
file-integrity-monitoring.md

View File

@ -0,0 +1,124 @@
# iOS Backup Forensics (Messagingcentric triage)
{{#include ../../banners/hacktricks-training.md}}
Hierdie bladsy beskryf praktiese stappe om iOSrugsteune te herbou en te ontleed vir tekens van 0click exploitaflewering via boodskapappaanhangsels. Dit fokus op die omskakeling van Apple se gehashede rugsteunstruktuur na mensleesbare paadjies, en daarna die opsomming en skandering van aanhangsels oor algemene apps.
Doelwitte:
- Herbou mensleesbare paaie vanaf Manifest.db
- Lys boodskapdatabasisse (iMessage, WhatsApp, Signal, Telegram, Viber)
- Los aanhangselpaaie op, ekstraheer ingeslote voorwerpe (PDF/Images/Fonts), en voer dit aan strukturele detektors
## Herbou van 'n iOSrugsteun
Rugsteune wat onder MobileSync gestoor word, gebruik gehashede lêernaamme wat nie mensleesbaar is nie. Die Manifest.db SQLitedatabasis koppel elke gestoorde objek aan sy logiese pad.
Hoëvlak prosedure:
1) Maak Manifest.db oop en lees die lêerrekords (domain, relativePath, flags, fileID/hash)
2) Herskep die oorspronklike vouerhiërargie gebaseer op domain + relativePath
3) Kopieer of hardlink elke gestoorde objek na sy herboude pad
Voorbeeldwerkvloei met 'n gereedskap wat dit endtoend implementeer (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!
```
Aantekeninge:
- Hanteer encrypted backups deur die backup password aan jou extractor te verskaf
- Behou oorspronklike timestamps/ACLs waar moontlik vir bewysewaarde
## Boodskap-app aanhegselopsomming
Na rekonstruksie, lys aanhegsels vir gewilde apps. Die presiese schema verskil per app/weergawe, maar die benadering is soortgelyk: voer navrae op die messaging-databasis uit, koppel boodskappe aan aanhegsels, en los paaie op die skyf op.
### iMessage (sms.db)
Belangrike tabelle: message, attachment, message_attachment_join (MAJ), chat, chat_message_join (CMJ)
Voorbeeld navrae:
```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;
```
Aanhegselpaaie kan absoluut wees of relatief tot die herkonstrueerde boom onder Library/SMS/Attachments/.
### WhatsApp (ChatStorage.sqlite)
Algemene koppeling: message table ↔ media/attachment table (benaming verskil per weergawe). Voer navrae op media-rye uit om die paaie op die skyf te verkry.
Example (generic):
```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;
```
Adjust table/column names to your app-weergawe (ZWAMESSAGE/ZWAMEDIAITEM is algemeen in iOS-builds).
### Signal / Telegram / Viber
- Signal: die boodskap-DB is geïnkripteer; attachments wat op skyf gecache is (en miniatuurprente) is gewoonlik deursoekbaar
- Telegram: ondersoek cache-gidse (foto-/video-/dokument-cache) en koppel dit aan gesprekke waar moontlik
- Viber: Viber.sqlite bevat boodskap-/aanhangsel-tabelle met verwysings op skyf
Tip: selfs wanneer metadata geïnkripteer is, openbaar die deursoeking van media-/cache-gidse steeds kwaadwillige voorwerpe.
## Scanning attachments for structural exploits
Sodra jy aanhangselpade het, voer hulle in strukturele detectors wat fileformat invariants valideer in plaas van signatures. Voorbeeld met 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)
```
Detections covered by structural rules include:
- PDF/JBIG2 FORCEDENTRY (CVE202130860): onmoontlike JBIG2-woordeboektoestande
- WebP/VP8L BLASTPASS (CVE20234863): oorgrootte Huffman-tabelkonstruksies
- TrueType TRIANGULATION (CVE202341990): ongedokumenteerde bytecode-opkodes
- DNG/TIFF CVE202543300: onversoenbaarhede tussen metadata en stroomkomponente
## Validering, voorbehoude en vals positiewe
- Tydomsettings: iMessage stoor datums in Apple-epoche/enhede in sommige weergawes; skakel dit toepaslik om tydens verslaggewing
- Schema drift: app SQLite-skema's verander oor tyd; bevestig tabel- en kolomname per device build
- Rekursiewe ekstraksie: PDFs kan JBIG2-strome en lettertipes inkapsel; ekstraheer en skandeer inwendige voorwerpe
- Vals positiewe: strukturele heuristieke is konserwatief maar kan seldsame, verkeerd gevormde maar onskadelike media aandui
## References
- [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,4 +1,4 @@
# Spesifieke Sagteware/Lêertipe Trukke
# Spesifieke sagteware-/lêertipe-truuks
{{#include ../../../banners/hacktricks-training.md}}
@ -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 @@
# Strukturele Lêerformaat Eksploit Opsporing (0Click Chains)
{{#include ../../../banners/hacktricks-training.md}}
Hierdie bladsy som praktiese tegnieke op om 0click mobiele exploit lêers te ontdek deur die strukturele invarianties van hul formate te valideer in plaas daarvan om op bytehandtekeninge te vertrou. Die benadering generaliseer oor monsters, polymorphic variants, en toekomstige exploits wat dieselfde parser logic misbruik.
Belangrikste idee: enkodeer strukturele onmoontlikhede en kruisveld inkonsekwenthede wat slegs verskyn wanneer 'n kwesbare decoder/parsertoestand bereik word.
See also:
{{#ref}}
pdf-file-analysis.md
{{#endref}}
## Waarom struktuur, nie handtekeninge nie
Wanneer weaponized samples onbeskikbaar is en payload bytes muteer, faal tradisionele IOC/YARA patrone. Strukturele opsporing inspekteer die houer se verklaarde uitleg teenoor wat wiskundig of semanties moontlik is vir die formaatimplementering.
Tipiese kontroles:
- Valideer tabelgroottes en grense wat afgelei is uit die spesifikasie en veilige implementerings
- Merk onwettige/ondokumenteerde opcodes of toestandsoorgange in ingesluit bytecode
- Kruiskontroleer metadata VS werklike gekodeerde stroomkomponente
- Detecteer teenstrydige velde wat parserverwarring of integer overflowopstellings aandui
Hieronder is konkrete, veldgetoetste patrone vir verskeie hoëimpak chains.
---
## PDF/JBIG2 FORCEDENTRY (CVE202130860)
Target: JBIG2 symbol dictionaries ingebed binne PDFs (dikwels gebruik in mobiele MMS parsing).
Strukturele seine:
- Teenstrydige dictionarytoestand wat nie in goedaardige inhoud kan voorkom nie maar vereis word om die overflow in arithmetic decoding te trigger.
- Verdagte gebruik van global segments gekombineer met abnormale symbol counts tydens 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")
```
Praktiese triage:
- Identifiseer en ekstraheer JBIG2-strome uit die PDF
- pdfid/pdf-parser/peepdf om strome te lokaliseer en te dump
- Verifieer aritmetiese koderingvlae en simboolwoordeboek-parameters teen die JBIG2-spesifikasie
Aantekeninge:
- Werk sonder ingesette payload-handtekeninge
- Lae FP in praktyk omdat die geflagte toestand wiskundig inkonsistent is
---
## WebP/VP8L BLASTPASS (CVE20234863)
Doelwit: WebP lossless (VP8L) Huffman prefixcode tables.
Strukturele seinale:
- Totale grootte van die saamgestelde Huffman-tabelle oortref die veilige boonste grens wat deur die verwysings-/gepatchte implementasies verwag word, wat die oorloop-voorwaarde impliseer.
Pseudologika:
```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")
```
Praktiese triage:
- Kontroleer WebP container chunks: VP8X + VP8L
- Ontleed VP8L prefix codes en bereken werklike toegewezen tabelgroottes
Aantekeninge:
- Robuust teen bytevlak polimorfisme van die payload
- Grens is afgelei van upstream-limiete/patch-analise
---
## TrueType TRIANGULATION (CVE202341990)
Teiken: TrueType bytecode binne fpgm/prep/glyf programme.
Strukturele seine:
- Aanwesigheid van ongedokumenteerde/verbode opcodes in Apples interpreter wat deur die exploit chain gebruik word.
Pseudologika:
```pseudo
# Flag undocumented TrueType opcodes leveraged by TRIANGULATION
switch opcode:
case 0x8F, 0x90:
mark_malicious("Undocumented TrueType bytecode")
default:
continue
```
Praktiese triage:
- Eksporteer fonttabelle (bv. met fontTools/ttx) en skandeer fpgm/prep/glyfprogramme
- Geen behoefte om die tolk volledig te emuleer om waarde uit aanwesigheidskontroles te kry
Aantekeninge:
- Kan seldsame FPs produseer as niestandaard fonte onbekende opkodes bevat; valideer met sekondêre gereedskap
---
## DNG/TIFF CVE202543300
Doelwit: DNG/TIFF beeldmetadata VS werklike komponenttelling in die gekodeerde stroom (bv. JPEGLossless SOF3).
Strukturele seine:
- Inkonsekwentheid tussen EXIF/IFDvelde (SamplesPerPixel, PhotometricInterpretation) en die komponenttelling wat gepars word uit die beeldstroomheader wat deur die pipeline gebruik word.
Pseudologika:
```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")
```
Praktiese triage:
- Ontleed primêre IFD- en EXIF-tags
- Vind en ontleed die ingeslote JPEGLossless-kop (SOF3) en vergelyk komponenttelle
Aantekeninge:
- In die veld gerapporteer as uitgebuit; uitstekende kandidaat vir strukturele konsekwentheidskontroles
---
## Implementasiepatrone en prestasie
'n Praktiese skandeerder moet:
- Outomaties lêertipe herken en slegs toepaslike ontleders aanroep (PDF/JBIG2, WebP/VP8L, TTF, DNG/TIFF)
- Stroom-/gedeeltelike ontleding om toewysings te minimaliseer en vroeë beëindiging moontlik te maak
- Voer ontledings parallel uit (threadpool) vir massatriage
Voorbeeldwerkstroom met ElegantBouncer (opensource Rustimplementering van hierdie kontroles):
```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 wenke en randgevalle
- Ingebedde objekte: PDFs kan beelde (JBIG2) en lettertipes (TrueType) inbed; onttrek en rekursief skandeer
- Decompressiebeveiliging: gebruik biblioteke wat tabelle/buffers streng beperk voordat hulle geallokeer word
- Valse positiewe: hou reëls konservatief, gee voorkeur aan teenstrydighede wat onmoontlik is volgens die spesifikasie
- Weergawedrift: stel die grondlyn vir grenswaardes weer (bv. VP8L-tabelgroottes) wanneer upstream parsers hul grense verander
---
## Verwante gereedskap
- ElegantBouncer strukturele skandeerder vir bogenoemde deteksies
- pdfid/pdf-parser/peepdf PDF-objek-uittrekking en statiese ontleding
- pdfcpu PDF-linter/saniteerder
- fontTools/ttx lees TrueType-tabelle en bytekode uit
- exiftool lees TIFF/DNG/EXIF-metadata
- dwebp/webpmux ontleed WebP-metadata en chunks
---
## References
- [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}}