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

This commit is contained in:
Translator 2025-08-26 20:10:50 +00:00
parent 67e05f3fa9
commit 704c66c7f0
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 @@
# Osnovna Forenzička Metodologija
# Osnovna forenzička metodologija
{{#include ../../banners/hacktricks-training.md}}
## Kreiranje i Montiranje Slike
## Kreiranje i montiranje image-a
{{#ref}}
../../generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md
{{#endref}}
## Analiza Malvera
## Malware analiza
Ovo **nije nužno prvi korak koji treba uraditi nakon što imate image**. Ali ove Malware analysis tehnike možete koristiti nezavisno ako imate file, file-system image, memory image, pcap... zato je dobro **imati ove radnje na umu**:
Ovo **nije nužno prvi korak koji treba preduzeti kada imate sliku**. Ali možete koristiti ove tehnike analize malvera nezavisno ako imate datoteku, sliku datotečnog sistema, sliku memorije, pcap... tako da je dobro **imati ove akcije na umu**:
{{#ref}}
malware-analysis.md
{{#endref}}
## Istraživanje Slike
## Inspekcija image-a
Ako vam je dat **forensic image** uređaja, možete početi **analizu particija, file-system** koji je korišćen i **oporavak** potencijalno **interesantnih file-ova** (čak i obrisanih). Saznajte kako u:
{{#ref}}
partitions-file-systems-carving/
{{#endref}}# Osnovna forenzička metodologija
## Kreiranje i montiranje image-a
{{#ref}}
../../generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md
{{#endref}}
## Malware analiza
Ovo **nije nužno prvi korak koji treba uraditi nakon što imate image**. Ali ove Malware analysis tehnike možete koristiti nezavisno ako imate file, file-system image, memory image, pcap... zato je dobro **imati ove radnje na umu**:
{{#ref}}
malware-analysis.md
{{#endref}}
## Inspekcija image-a
Ako vam je dat **forensic image** uređaja, možete početi **analizu particija, file-system** koji je korišćen i **oporavak** potencijalno **interesantnih file-ova** (čak i obrisanih). Saznajte kako u:
Ako dobijete **forenzičku sliku** uređaja, možete početi **analizirati particije, datotečni sistem** koji se koristi i **opraviti** potencijalno **zanimljive datoteke** (čak i obrisane). Saznajte kako u:
{{#ref}}
partitions-file-systems-carving/
{{#endref}}
U zavisnosti od korišćenih OS-ova i čak platformi, različiti zanimljivi artefakti treba da se pretražuju:
U zavisnosti od korišćenih OSs pa čak i platforme, treba tražiti različite interesantne artefakte:
{{#ref}}
windows-forensics/
{{#endref}}
{{#ref}}
linux-forensics.md
{{#endref}}
{{#ref}}
docker-forensics.md
{{#endref}}
## Dubinska Inspekcija Specifičnih Tipova Datoteka i Softvera
Ako imate veoma **sumnjivu** **datoteku**, onda **u zavisnosti od tipa datoteke i softvera** koji je kreirao, nekoliko **trikova** može biti korisno.\
Pročitajte sledeću stranicu da biste saznali neke zanimljive trikove:
{{#ref}}
ios-backup-forensics.md
{{#endref}}
## Dubinska inspekcija specifičnih tipova file-ova i softvera
Ako imate veoma **sumnjiv** **file**, onda **u zavisnosti od file-type i softvera** koji ga je kreirao, nekoliko **trikova** može biti korisno.\
Pročitajte sledeću stranicu da naučite neke interesantne trikove:
{{#ref}}
specific-software-file-type-tricks/
{{#endref}}
Želim da posebno pomenem stranicu:
Želim posebno pomenuti stranicu:
{{#ref}}
specific-software-file-type-tricks/browser-artifacts.md
{{#endref}}
## Inspekcija Dump-a Memorije
## Inspekcija Memory Dump-a
{{#ref}}
memory-dump-analysis/
{{#endref}}
## Inspekcija Pcap-a
## Inspekcija pcap-a
{{#ref}}
pcap-inspection/
{{#endref}}
## **Anti-Forenzičke Tehnike**
## **Anti-Forensic Techniques**
Imajte na umu mogućnost upotrebe anti-forensic tehnika:
Imajte na umu moguću upotrebu anti-forenzičkih tehnika:
{{#ref}}
anti-forensic-techniques.md
{{#endref}}
## Lov na Pretnje
## Threat Hunting
{{#ref}}
file-integrity-monitoring.md
{{#endref}}
## Dubinska inspekcija specifičnih tipova file-ova i softvera
Ako imate veoma **sumnjiv** **file**, onda **u zavisnosti od file-type i softvera** koji ga je kreirao, nekoliko **trikova** može biti korisno.\
Pročitajte sledeću stranicu da naučite neke interesantne trikove:
{{#ref}}
specific-software-file-type-tricks/
{{#endref}}
Želim posebno pomenuti stranicu:
{{#ref}}
specific-software-file-type-tricks/browser-artifacts.md
{{#endref}}
## Inspekcija Memory Dump-a
{{#ref}}
memory-dump-analysis/
{{#endref}}
## Inspekcija pcap-a
{{#ref}}
pcap-inspection/
{{#endref}}
## **Anti-Forensic Techniques**
Imajte na umu mogućnost upotrebe anti-forensic tehnika:
{{#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}}
Ova stranica opisuje praktične korake za rekonstrukciju i analizu iOS backupova radi traganja za isporukom 0click exploita putem priloga u messaging aplikacijama. Fokus je na pretvaranju Appleovog haširanog layouta backupa u čitljive putanje, zatim na enumeraciju i skeniranje priloga u uobičajenim aplikacijama.
Ciljevi:
- Rekonstruisati čitljive putanje iz Manifest.db
- Enumerisati messaging baze podataka (iMessage, WhatsApp, Signal, Telegram, Viber)
- Rešavati putanje priloga, izdvajati ugrađene objekte (PDF/Images/Fonts) i prosleđivati ih detektorima strukture
## Rekonstrukcija iOS backupa
Backupovi smešteni pod MobileSync koriste haširana imena fajlova koja nisu čitljiva čoveku. Manifest.db SQLite baza podataka preslikava svaki sačuvan objekat na njegovu logičku putanju.
Opšti postupak:
1) Otvoriti Manifest.db i pročitati zapise o fajlovima (domain, relativePath, flags, fileID/hash)
2) Ponovo kreirati originalnu hijerarhiju foldera na osnovu domain + relativePath
3) Kopirati ili napraviti hardlink za svaki sačuvan objekat na rekonstruisanu putanju
Primer radnog toka sa alatom koji ovo implementira od početka do kraja (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!
```
Beleške:
- Rukujte šifrovanim rezervnim kopijama tako što ćete svom alatu za ekstrakciju proslediti lozinku za backup
- Sačuvajte originalne vremenske oznake i ACL-ove kad je moguće radi dokazne vrednosti
## Enumeracija priloga u aplikacijama za razmenu poruka
Nakon rekonstrukcije, popišite priloge za popularne aplikacije. Tačan šematski raspored varira po aplikaciji/verziji, ali pristup je sličan: upitovanje baze podataka poruka, spajanje poruka sa prilozima i rešavanje putanja na disku.
### iMessage (sms.db)
Ključne tabele: message, attachment, message_attachment_join (MAJ), chat, chat_message_join (CMJ)
Primer upita:
```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;
```
Putanje priloga mogu biti apsolutne ili relativne u odnosu na rekonstruisano stablo pod Library/SMS/Attachments/.
### WhatsApp (ChatStorage.sqlite)
Uobičajena veza: message table ↔ media/attachment table (nazivi se razlikuju po verziji). Izvršite upit nad redovima u media tabeli da biste dobili putanje na disku.
Primer (generički):
```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;
```
Prilagodite nazive tabela/kolona vašoj verziji aplikacije (ZWAMESSAGE/ZWAMEDIAITEM are common in iOS builds).
### Signal / Telegram / Viber
- Signal: message DB je šifrovana; međutim, prilozi keširani na disku (i sličice) se obično mogu skenirati
- Telegram: pregledajte keš direktorijume (keševi fotografija/video/dokumenata) i mapirajte ih na razgovore kad je moguće
- Viber: Viber.sqlite sadrži tabele poruka/priloga sa referencama na disku
Tip: čak i kada su metapodaci šifrovani, skeniranje direktorijuma medija/keša i dalje otkriva maliciozne objekte.
## Scanning attachments for structural exploits
Kada imate putanje priloga, prosledite ih u strukturne detektore koji proveravaju invariantnost formata fajla umesto potpisa. Primer sa 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)
```
Detekcije obuhvaćene strukturnim pravilima uključuju:
- PDF/JBIG2 FORCEDENTRY (CVE202130860): impossible JBIG2 dictionary states
- WebP/VP8L BLASTPASS (CVE20234863): oversized Huffman table constructions
- TrueType TRIANGULATION (CVE202341990): undocumented bytecode opcodes
- DNG/TIFF CVE202543300: metadata vs. stream component mismatches
## Validacija, ograničenja i lažno pozitivni
- Konverzije vremena: iMessage čuva datume u Apple epochs/units na nekim verzijama; konvertujte odgovarajuće pri izveštavanju
- Schema drift: app SQLite šeme se menjaju tokom vremena; potvrdite imena tabela/kolona po build-u uređaja
- Rekurzivno izdvajanje: PDF-ovi mogu ugrađivati JBIG2 streamove i fontove; izdvojite i skenirajte unutrašnje objekte
- Lažno pozitivni: strukturne heuristike su konzervativne, ali mogu označiti retke, malformisane, ipak benignе medije
## 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,8 +1,8 @@
# Specifične trikovi za softver/tipove datoteka
# Trikovi za specifičan softver/format fajla
{{#include ../../../banners/hacktricks-training.md}}
Ovde možete pronaći zanimljive trikove za specifične tipove datoteka i/ili softver:
Ovde možete pronaći zanimljive trikove za specifične tipove fajlova i/ili softver:
{{#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 @@
# Detekcija eksploatacije strukturnog formata datoteke (0Click Chains)
{{#include ../../../banners/hacktricks-training.md}}
Ova stranica sažima praktične tehnike za otkrivanje 0click mobilnih exploit datoteka proverom strukturnih invarijanata njihovih formata umesto oslanjanja na byte potpise. Pristup se generalizuje preko uzoraka, polimorfnih varijanti i budućih exploita koji zloupotrebljavaju istu parser logiku.
Ključna ideja: enkodirati strukturne nemoguћnosti i međupoljske nekonzistentnosti koje se pojavljuju samo kada je dostignuto ranjivo stanje dekodera/parsera.
Vidi takođe:
{{#ref}}
pdf-file-analysis.md
{{#endref}}
## Zašto struktura, a ne potpisi
Kada weaponized uzorci nisu dostupni i payload bajtovi mutiraju, tradicionalni IOC/YARA paterni ne uspevaju. Strukturna detekcija ispituje deklarisani raspored kontejnera u odnosu na ono što je matematički ili semantički moguće za implementaciju formata.
Tipične provere:
- Validirati veličine tabela i granice izvedene iz specifikacije i sigurnih implementacija
- Obeležiti ilegalne/neudokumentovane opkode ili tranzicije stanja u ugrađenom bytecodeu
- Crosscheck metadata VS actual encoded stream components
- Otkrivanje kontradiktornih polja koja ukazuju na zbunjenost parsera ili postavke za integer overflow
Ispod su konkretni, u praksi testirani obrasci za više lanaca visokog uticaja.
---
## PDF/JBIG2 FORCEDENTRY (CVE202130860)
Cilj: JBIG2 symbol dictionaries ugrađene u PDFove (često korišćeno pri parsiranju mobilnih MMS poruka).
Strukturni signali:
- Kontradiktorno stanje rečnika koje ne može nastati u benignom sadržaju ali je potrebno da bi se pokrenuo overflow u aritmetičkom dekodiranju.
- Sumnjiva upotreba global segments u kombinaciji sa abnormalnim brojem simbola tokom refinement kodiranja.
Pseudologika:
```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")
```
Praktična trijaža:
- Identifikovati i izdvojiti JBIG2 streamove iz PDF-a
- pdfid/pdf-parser/peepdf za lociranje i dumpovanje streamova
- Proveriti arithmetic coding flags i symbol dictionary parametre prema JBIG2 specifikaciji
Napomene:
- Radi bez ugrađenih payload potpisa
- Nizak FP u praksi jer je označeno stanje matematički nekonzistentno
---
## WebP/VP8L BLASTPASS (CVE20234863)
Cilj: WebP lossless (VP8L) Huffman prefixcode tables.
Strukturni signali:
- Ukupna veličina konstruisanih Huffman tabela prelazi sigurnu gornju granicu koju očekuju referentne/patchovane implementacije, što implicira preuslov za overflow.
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")
```
Praktična trijaža:
- Proveri WebP container chunks: VP8X + VP8L
- Parsuj VP8L prefix codes i izračunaj stvarne dodeljene veličine tabela
Notes:
- Otporno na polimorfizam na nivou bajta u payload-u
- Gornja granica je izvedena iz analize upstream ograničenja/patch-eva
---
## TrueType TRIANGULATION (CVE202341990)
Target: TrueType bytecode inside fpgm/prep/glyf programs.
Strukturni signali:
- Prisutnost nedokumentovanih/zabranjenih opcodes u Apple-ovom interpreteru koji koristi exploit chain.
Pseudologic:
```pseudo
# Flag undocumented TrueType opcodes leveraged by TRIANGULATION
switch opcode:
case 0x8F, 0x90:
mark_malicious("Undocumented TrueType bytecode")
default:
continue
```
Praktična trijaža:
- Izdvojiti font tabele (npr. koristeći fontTools/ttx) i skenirati fpgm/prep/glyf programe
- Nije potrebno potpuno emulirati interpreter da bi provere prisustva bile korisne
Napomene:
- Moguće retke lažno pozitivne detekcije ako nestandardni fontovi sadrže nepoznate opkode; validirati pomoću sekundarnih alata
---
## DNG/TIFF CVE202543300
Cilj: DNG/TIFF metadata slike naspram stvarnog broja komponenti u kodiranom toku (npr. JPEGLossless SOF3).
Strukturni signali:
- Nekompatibilnost između EXIF/IFD polja (SamplesPerPixel, PhotometricInterpretation) i broja komponenti parsiranog iz zaglavlja toka slike koje koristi pipeline.
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")
```
Praktična trijaža:
- Parsirati primarne IFD i EXIF oznake
- Pronaći i parsirati ugrađeno JPEGLossless zaglavlje (SOF3) i uporediti broj komponenti
Napomene:
- Prijavljeno iskorišćavanje u realnom okruženju; odličan kandidat za provere strukturne konzistentnosti
---
## Obrasci implementacije i performanse
Praktičan skener treba:
- Automatski otkriti tip fajla i pokretati samo relevantne analizatore (PDF/JBIG2, WebP/VP8L, TTF, DNG/TIFF)
- Koristiti stream/delimično parsiranje da se minimizuju alokacije i omogući ranije prekinjanje
- Pokretati analize paralelno (threadpool) za masovnu trijažu
Primer toka rada sa ElegantBouncer (opensource Rust implementacija ovih provera):
```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 saveti i rubni slučajevi
- Ugrađeni objekti: PDF fajlovi mogu da ugrade slike (JBIG2) i fontove (TrueType); izdvojiti i rekurzivno skenirati
- Sigurnost dekompresije: koristiti biblioteke koje striktno ograničavaju veličine tabela/bafera pre alokacije
- Lažno pozitivni: držati pravila konzervativnim, davati prednost kontradikcijama koje su nemoguće prema specifikaciji
- Version drift: ponovo postaviti granice (npr. veličine VP8L tabela) kada upstream parseri promene limite
---
## Related tools
- ElegantBouncer strukturni skener za gore navedene detekcije
- pdfid/pdf-parser/peepdf izdvajanje PDF objekata i statička analiza
- pdfcpu PDF linter/sanitizator
- fontTools/ttx ispis TrueType tabela i bajtkoda
- exiftool čitanje TIFF/DNG/EXIF metapodataka
- dwebp/webpmux parsiranje WebP metapodataka i chunk-ova
---
## 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}}