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

This commit is contained in:
Translator 2025-08-26 20:11:55 +00:00
parent 7704bb4c60
commit daae1f28ea
5 changed files with 398 additions and 13 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,25 +2,52 @@
{{#include ../../banners/hacktricks-training.md}}
## Bir Görüntü Oluşturma ve Bağlama
## Bir İmaj Oluşturma ve Bağlama
{{#ref}}
../../generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md
{{#endref}}
## Kötü Amaçlı Yazılım Analizi
## Malware Analysis
Bu **görüntüyü aldıktan sonra gerçekleştirilecek ilk adım olmak zorunda değil**. Ancak bir dosyanız, bir dosya sistemi görüntüsü, bellek görüntüsü, pcap... varsa bu kötü amaçlı yazılım analiz tekniklerini bağımsız olarak kullanabilirsiniz, bu yüzden **bu eylemleri aklınızda bulundurmak iyi**:
Bu **imajı elde ettikten sonra yapılması gereken ilk adım olmak zorunda değil**. Ancak bir dosyanız, bir dosya-sistemi imajı, bellek imajı, pcap... varsa bu malware analysis tekniklerini bağımsız olarak kullanabilirsiniz; bu yüzden bu eylemleri **akılda tutmak** iyidir:
{{#ref}}
malware-analysis.md
{{#endref}}
## Bir Görüntüyü İnceleme
## İmajı İnceleme
Eğer size bir **adli görüntü** verilmişse, **bölümleri, kullanılan dosya sistemini** analiz etmeye ve **potansiyel olarak ilginç dosyaları** (silinmiş olanlar dahil) **geri kazanmaya** başlayabilirsiniz. Bunu nasıl yapacağınızı öğrenin:
Eğer size bir cihazın **adli imajı** verildiyse, kullanılan **bölümleri, dosya sistemi**ni **analiz etmeye** ve potansiyel olarak **ilginç dosyaları** (hatta silinmiş olanları) **kurtarmaya** başlayabilirsiniz. Nasıl yapılacağını öğrenin:
{{#ref}}
partitions-file-systems-carving/
{{#endref}}# Temel Adli Metodoloji
## Bir İmaj Oluşturma ve Bağlama
{{#ref}}
../../generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md
{{#endref}}
## Malware Analysis
Bu **imajı elde ettikten sonra yapılması gereken ilk adım olmak zorunda değil**. Ancak bir dosyanız, bir dosya-sistemi imajı, bellek imajı, pcap... varsa bu malware analysis tekniklerini bağımsız olarak kullanabilirsiniz; bu yüzden bu eylemleri **akılda tutmak** iyidir:
{{#ref}}
malware-analysis.md
{{#endref}}
## İmajı İnceleme
Eğer size bir cihazın **adli imajı** verildiyse, kullanılan **bölümleri, dosya sistemi**ni **analiz etmeye** ve potansiyel olarak **ilginç dosyaları** (hatta silinmiş olanları) **kurtarmaya** başlayabilirsiniz. Nasıl yapılacağını öğrenin:
{{#ref}}
@ -44,17 +71,22 @@ linux-forensics.md
docker-forensics.md
{{#endref}}
## Belirli Dosya Türleri ve Yazılımlarının Derin İncelemesi
Eğer çok **şüpheli** bir **dosyanız** varsa, o zaman **dosya türüne ve onu oluşturan yazılıma** bağlı olarak birkaç **numara** faydalı olabilir.\
Bazı ilginç numaraları öğrenmek için aşağıdaki sayfayı okuyun:
{{#ref}}
ios-backup-forensics.md
{{#endref}}
## Belirli Dosya Türleri ve Yazılımların Derin İncelenmesi
Eğer çok **şüpheli** bir **dosyanız** varsa, onu oluşturan **dosya tipi ve yazılıma** bağlı olarak birkaç **püf noktası** faydalı olabilir.\
Bazı ilginç püf noktalarını öğrenmek için aşağıdaki sayfayı okuyun:
{{#ref}}
specific-software-file-type-tricks/
{{#endref}}
Özellikle şu sayfayı belirtmek istiyorum:
Özellikle şu sayfaya değinmek istiyorum:
{{#ref}}
@ -82,13 +114,62 @@ Anti-adli tekniklerin olası kullanımını aklınızda bulundurun:
{{#ref}}
anti-forensic-techniques.md
{{#endref}}
{{#endref}
## Tehdit Avı
## Tehdit Avcılığı
{{#ref}}
file-integrity-monitoring.md
{{#endref}
## Belirli Dosya Türleri ve Yazılımların Derin İncelenmesi
Eğer çok **şüpheli** bir **dosyanız** varsa, onu oluşturan **dosya tipi ve yazılıma** bağlı olarak birkaç **püf noktası** faydalı olabilir.\
Bazı ilginç püf noktalarını öğrenmek için aşağıdaki sayfayı okuyun:
{{#ref}}
specific-software-file-type-tricks/
{{#endref}}
Özellikle şu sayfaya değinmek istiyorum:
{{#ref}}
specific-software-file-type-tricks/browser-artifacts.md
{{#endref}
## Bellek Dökümü İncelemesi
{{#ref}}
memory-dump-analysis/
{{#endref}
## Pcap İncelemesi
{{#ref}}
pcap-inspection/
{{#endref}
## **Anti-Adli Teknikler**
Anti-adli tekniklerin olası kullanımını aklınızda bulundurun:
{{#ref}}
anti-forensic-techniques.md
{{#endref}
## Tehdit Avcılığı
{{#ref}}
file-integrity-monitoring.md
{{#endref}
{{#include ../../banners/hacktricks-training.md}}

View File

@ -0,0 +1,124 @@
# iOS Yedekleme Adli Bilişim (Messagingcentric triage)
{{#include ../../banners/hacktricks-training.md}}
Bu sayfa, iOS yedeklerini mesajlaşma uygulaması ekleri aracılığıyla 0click exploit dağıtımına dair izler açısından yeniden oluşturmak ve analiz etmek için pratik adımlarııklar. Odak, Appleın hashed backup düzenini insanokunur yollara dönüştürmek ve ardından ortak uygulamalarda ekleri listeleyip taramaktır.
Amaçlar:
- Manifest.db'den okunabilir yolları yeniden oluşturmak
- Mesajlaşma veritabanlarını listelemek (iMessage, WhatsApp, Signal, Telegram, Viber)
- Ek yollarını çözümlemek, gömülü nesneleri çıkarmak (PDF/Görseller/Yazı tipleri) ve bunları yapısal dedektörlere vermek
## iOS yedeğinin yeniden oluşturulması
MobileSync altında saklanan yedekler, insantarafından okunamayan hashed dosya adları kullanır. Manifest.db SQLite veritabanı, saklanan her nesneyi mantıksal yoluna eşler.
Genel prosedür:
1) Manifest.db'yi açın ve dosya kayıtlarını okuyun (domain, relativePath, flags, fileID/hash)
2) domain + relativePath temel alınarak orijinal klasör hiyerarşisini yeniden oluşturun
3) Her saklanan nesneyi yeniden oluşturulan yoluna kopyalayın veya hardlink yapın
Bunu uçtan uca uygulayan bir araçla örnek iş akışı (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!
```
Notes:
- Şifreli yedeklemeleri, yedekleme parolasını extractor'ınıza sağlayarak işleyin
- Orijinal zaman damgalarını/ACL'leri mümkünse delil değeri için koruyun
## Mesajlaşma uygulaması eklerinin listelenmesi
Yeniden oluşturma sonrası, popüler uygulamalar için ekleri listeleyin. Kesin şema uygulama/sürüme göre değişir, ancak yaklaşım benzerdir: mesajlaşma veritabanını sorgulayın, mesajları eklerle ilişkilendirin ve diskteki yolları çözün.
### 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;
```
Eklenti yolları Library/SMS/Attachments/ altında yeniden oluşturulan ağaca göre mutlak veya göreli olabilir.
### WhatsApp (ChatStorage.sqlite)
Yaygın bağlantı: message table ↔ media/attachment table (isimlendirme sürüme göre değişir). Ondisk yolları elde etmek için media satırlarını sorgulayın.
Örnek (genel):
```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 version (ZWAMESSAGE/ZWAMEDIAITEM are common in iOS builds).
### Signal / Telegram / Viber
- Signal: message DB şifrelenmiştir; ancak diske cached attachments (ve thumbnails) genellikle taranabilir
- Telegram: cache directories (photo/video/document caches) inceleyin ve mümkünse sohbetlere eşleyin
- Viber: Viber.sqlite, diskteki referanslarla birlikte message/attachment tabloları içerir
Tip: metadata şifreli olsa bile, media/cache dizinlerini taramak hâlâ kötü amaçlı öğeleri ortaya çıkarır.
## Scanning attachments for structural exploits
Once you have attachment paths, feed them into structural detectors that validate fileformat invariants instead of signatures. Example with 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)
```
Yapısal kurallar tarafından kapsanan tespitler şunlardır:
- PDF/JBIG2 FORCEDENTRY (CVE202130860): mümkün olmayan JBIG2 sözlük durumları
- WebP/VP8L BLASTPASS (CVE20234863): aşırı büyük Huffman tablo yapıları
- TrueType TRIANGULATION (CVE202341990): belgelendirilmeyen bytecode opcode'ları
- DNG/TIFF CVE202543300: metadata ile stream bileşen uyumsuzlukları
## Doğrulama, çekinceler ve yanlış pozitifler
- Zaman dönüşümleri: iMessage bazı sürümlerde tarihleri Apple epoch/birimlerinde saklar; raporlama sırasında uygun şekilde dönüştürün
- Şema kayması: uygulamanın SQLite şemaları zamanla değişir; cihaz build'ine göre tablo/sütun adlarını doğrulayın
- Özyinelemeli çıkarım: PDF'ler JBIG2 stream'leri ve font'ları gömebilir; iç nesneleri çıkarın ve tarayın
- Yanlış pozitifler: yapısal heuristikler temkinlidir ancak nadir hatalı ama zararsız medya dosyalarını işaretleyebilir
## Referanslar
- [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 @@
# Belirli Yazılım/Dosya Türü Hileleri
# Belirli Yazılım/Dosya Türü Püf Noktaları
{{#include ../../../banners/hacktricks-training.md}}
Burada belirli dosya türleri ve/veya yazılımlar için ilginç hileler bulabilirsiniz:
Burada belirli dosya türleri ve/veya yazılımlar için ilginç püf noktalarını bulabilirsiniz:
{{#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 @@
# Yapısal Dosya Formatı İstismar Tespiti (0Click Chains)
{{#include ../../../banners/hacktricks-training.md}}
Bu sayfa, byte imzalarına dayanmak yerine formatların yapısal invariyantlarını doğrulayarak 0click mobil exploit dosyalarını tespit etmeye yönelik pratik teknikleri özetler. Yaklaşım, aynı parser mantığını kötüye kullanan örnekler, polimorfik varyantlar ve gelecekteki exploitler arasında genelleştirilebilir.
Ana fikir: yalnızca zayıf bir decoder/parser durumuna ulaşıldığında görünen yapısal imkansızlıkları ve alanlar arası tutarsızlıkları kodlamak.
See also:
{{#ref}}
pdf-file-analysis.md
{{#endref}}
## Neden yapı, imzalar değil
Silahlandırılmış örnekler mevcut olmadığında ve payload byte'ları değiştiğinde, geleneksel IOC/YARA desenleri başarısız olur. Yapısal tespit, konteynerin beyan edilen düzenini format uygulaması için matematiksel veya semantik olarak mümkün olanla karşılaştırır.
Tipik kontroller:
- Spec ve güvenli uygulamalardan türetilen tablo boyutlarını ve sınırlarını doğrulayın
- Gömülü bytecode içindeki yasadışı/dokümante edilmemiş opcod'ları veya durum geçişlerini işaretleyin
- Metadata'yı gerçek kodlanmış akış bileşenleriyle çapraz kontrol edin
- Parser karışıklığına veya integer overflow kuruluma işaret eden çelişkili alanları tespit edin
Aşağıda birden çok yüksek etkili zincir için saha testli somut desenler bulunmaktadır.
---
## PDF/JBIG2 FORCEDENTRY (CVE202130860)
Target: JBIG2 symbol dictionaries embedded inside PDFs (often used in mobile MMS parsing).
Yapısal sinyaller:
- Benign içerikte oluşamayacak, ancak aritmetik çözümlemede taşmayı tetiklemek için gerekli olan çelişkili sözlük durumu.
- refinement coding sırasında anormal sembol sayılarıyla birleşen global segmentlerin şüpheli kullanımı.
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 triyaj:
- PDF'ten JBIG2 akışlarını belirleyin ve çıkarın
- Akışları bulmak ve dökmek için pdfid/pdf-parser/peepdf kullanın
- Aritmetik kodlama bayraklarını ve sembol sözlüğü parametrelerini JBIG2 spesifikasyonuna göre doğrulayın
Notes:
- Gömülü payload imzaları olmadan çalışır
- Pratikte yanlış pozitif (FP) oranı düşüktür çünkü işaretli durum matematiksel olarak tutarsızdır
---
## WebP/VP8L BLASTPASS (CVE20234863)
Target: WebP kayıpsız (VP8L) Huffman prefixcode tabloları.
Yapısal sinyaller:
- Oluşturulan Huffman tablolarının toplam boyutu, referans/düzeltilmiş uygulamaların beklediği güvenli üst sınırııyor; bu, taşma (overflow) önkoşulunu gösterir.
Sözde-mantik:
```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")
```
Pratik triyaj:
- WebP container chunk'larını kontrol et: VP8X + VP8L
- VP8L prefix kodlarını ayrıştır ve gerçek ayrılan tablo boyutlarını hesapla
Notlar:
- Payload'ın baytdüzeyindeki polimorfizmine karşı dayanıklı
- Sınır, upstream limitleri ve yama analizinden türetilir
---
## TrueType TRIANGULATION (CVE202341990)
Hedef: fpgm/prep/glyf programları içindeki TrueType bytecode.
Yapısal sinyaller:
- Exploit zincirinin kullandığı Appleın interpreter'ında belgelenmemiş/yasak opcode'ların varlığı.
Sözdemantık:
```pseudo
# Flag undocumented TrueType opcodes leveraged by TRIANGULATION
switch opcode:
case 0x8F, 0x90:
mark_malicious("Undocumented TrueType bytecode")
default:
continue
```
Pratik triaj:
- Font tablolarını dök (ör. fontTools/ttx kullanarak) ve fpgm/prep/glyf programlarını tara
- Varlık kontrollerinden değer elde etmek için yorumlayıcıyı tamamen emüle etmeye gerek yok
Notes:
- Standart dışı fontlar bilinmeyen opcode'lar içeriyorsa nadir yanlış pozitifler (FP) üretebilir; ikincil araçlarla doğrula
---
## DNG/TIFF CVE202543300
Hedef: DNG/TIFF görüntü metadata'sı ile kodlanmış akıştaki gerçek bileşen sayısı arasındaki uyumsuzluk (ör. JPEGLossless SOF3).
Yapısal sinyaller:
- EXIF/IFD alanları (SamplesPerPixel, PhotometricInterpretation) ile pipeline tarafından kullanılan görüntü akış başlığından ayrıştırılan bileşen sayısı arasındaki tutarsızlık.
Sözde mantık:
```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")
```
Pratik ön değerlendirme:
- Birincil IFD ve EXIF etiketlerini ayrıştırın
- Gömülü JPEGLossless header (SOF3)'ü bulun ve ayrıştırarak bileşen sayılarını karşılaştırın
Notlar:
- Sahada exploit edildiği bildirildi; yapısal tutarlılık kontrolleri için mükemmel bir aday
---
## Uygulama kalıpları ve performans
Pratik bir tarayıcı şunları yapmalıdır:
- Dosya türünü otomatik algılayıp yalnızca ilgili analizörlere yönlendirin (PDF/JBIG2, WebP/VP8L, TTF, DNG/TIFF)
- Tahsisleri en aza indirmek ve erken sonlandırmaya izin vermek için stream/partialparse kullanın
- Toplu ön değerlendirme için analizleri paralel (threadpool) çalıştırın
ElegantBouncer ile örnek iş akışı (bu kontrollerin açık kaynaklı Rust uygulaması):
```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 ipuçları ve uç durumlar
- Gömülü nesneler: PDF'ler görüntüleri (JBIG2) ve yazı tiplerini (TrueType) içerebilir; çıkarın ve özyinelemeli olarak tarayın
- Decompression safety: tahsisattan önce tabloları/buffer'ları katı bir şekilde sınırlandıran kütüphaneleri kullanın
- False positives: kuralları ihtiyatlı tutun, spesifikasyona göre imkansız olan çelişkileri tercih edin
- Version drift: upstream parser'lar limitleri değiştirdiğinde sınırları yeniden belirleyin (ör. VP8L tablo boyutları)
---
## İlgili araçlar
- ElegantBouncer yukarıdaki tespitler için yapısal tarayıcı
- pdfid/pdf-parser/peepdf PDF nesne çıkarımı ve statik analiz
- pdfcpu PDF linter/temizleyici
- fontTools/ttx TrueType tablolarını ve bytecode'u dökme
- exiftool TIFF/DNG/EXIF meta verilerini okuma
- dwebp/webpmux WebP meta verilerini ve chunk'ları ayrıştırma
---
## Kaynaklar
- [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}}