Linux Adli Bilişim Modülü / Linux Forensic Module
Linux modülü iki farklı çalışma modunu destekler:
Yerel İmaj Alma — Amele'un çalıştığı makinedeki disklerden doğrudan imaj alma
Uzak İmaj Alma — Hedef Linux makineye yerleştirilen amele-linux ajanı üzerinden ağdan imaj ve RAM edinimi
Root/sudo yetkisi gerektirir. Amele kendini pkexec ile yeniden başlatarak yetki yükseltir.
Özellik
Açıklama
Kaynak
/dev/sdX, /dev/nvmeXn1, /dev/vdX blok cihazları
Çıktı
RAW (.img) bit-by-bit tam kopyası
Hash
SHA-256 (otomatik, .sha256 sidecar dosyası)
Boyut Algılama
ioctl(BLKGETSIZE64) ile blok cihaz boyutu
Chunk Boyutu
4 MB (varsayılan)
Kontrol
Pause / Resume / Cancel desteği
Kısmî Kurtarma
Hata durumunda .partial dosya olarak saklanır
İş Akışı:
Disk listesi alınır (/dev/sd[a-p], /dev/nvme[0-7]n1, /dev/vd[a-h])
Kullanıcı disk ve vaka seçer
Bit-by-bit kopyalama başlatılır (read() → write())
SHA-256 hash eşzamanlı hesaplanır
.img + .sha256 dosyaları vaka klasörüne yazılır
Özellik
Açıklama
Araç
AVML (Microsoft)
Yetki
Root gerekli
Çıktı
Lime formatında bellek dökümü
Arama Yolları
PATH, /usr/bin/avml, /usr/local/bin/avml
İlerleme
Çıktı dosyası boyutu izlenerek takip edilir
Zaman Aşımı
2 saat
Kontrol
SIGSTOP/SIGCONT ile pause/resume, kill ile cancel
Uzak İmaj Alma (amele-linux Ajanı)
Hedef Linux makineye amele-linux ajanı yerleştirilir ve TCP üzerinden JSON protokolü ile iletişim kurulur.
Alan
Değer
Açıklama
Transport
TCP
JSON-over-TCP
Başlatma
{"komut":"merhaba"}
El sıkışma (handshake)
Kimlik Doğrulama
guvenlik_anahtar_b64
Base64 token (opsiyonel)
Veri Akışı
Binary stream
JSON kontrol mesajları arasında ham veri
Komut
Açıklama
disk_listele
Hedef makinedeki diskleri listeler (id, ad, boyut)
imaj_baslat
Disk imaj transferini başlatır (RAW binary stream)
edinim_kontrol
Devam et / duraklat / iptal et
Toplanan Veri:
RAW disk imajı (bit-by-bit)
SHA-256 + MD5 hash (ajan tarafından hesaplanır)
İlerleme bilgisi (gerçek zamanlı)
Komut
Açıklama
avml_kontrol
Ajanda AVML mevcut mu? Root yetkisi var mı? RAM boyutu?
ram_edinim_baslat
AVML'yi uzaktan başlatır, RAM bellek dökümünü alır
ram_dosya_indir
Alınan RAM dökümünü ağ üzerinden indirir
~/Amele/Vakalar/{vaka_adı}/
├── {disk_ismi}_{tarih}.img # Disk imajı
├── {disk_ismi}_{tarih}.img.sha256 # SHA-256 hash
├── ram_{tarih}.lime # RAM dökümü
└── ram_{tarih}.lime.sha256 # RAM hash
Tip
Yol
Açıklama
SATA/SAS/USB
/dev/sd[a-p]
Geleneksel diskler + USB
NVMe
/dev/nvme[0-7]n1
M.2 SSD'ler
VirtIO
/dev/vd[a-h]
Sanal makine diskleri
The Linux module supports two operating modes:
Local Imaging — Direct disk imaging from the machine running Amele
Remote Imaging — Network-based disk and RAM acquisition via amele-linux agent deployed on the target
Requires root/sudo. Amele re-invokes itself via pkexec for privilege escalation.
Feature
Description
Source
/dev/sdX, /dev/nvmeXn1, /dev/vdX block devices
Output
RAW (.img) bit-by-bit full copy
Hash
SHA-256 (automatic, .sha256 sidecar file)
Size Detection
ioctl(BLKGETSIZE64) for block device size
Chunk Size
4 MB (default)
Control
Pause / Resume / Cancel support
Partial Recovery
Saved as .partial file on error
Workflow:
Disk list obtained (/dev/sd[a-p], /dev/nvme[0-7]n1, /dev/vd[a-h])
User selects disk and case
Bit-by-bit copy begins (read() → write())
SHA-256 hash calculated simultaneously
.img + .sha256 files written to case folder
Feature
Description
Tool
AVML (Microsoft)
Privilege
Root required
Output
Memory dump in Lime format
Search Paths
PATH, /usr/bin/avml, /usr/local/bin/avml
Progress
Tracked by monitoring output file size
Timeout
2 hours
Control
Pause/resume via SIGSTOP/SIGCONT, cancel via kill
Remote Imaging (amele-linux Agent)
A amele-linux agent is deployed on the target Linux machine, communicating over TCP with a JSON protocol.
Field
Value
Description
Transport
TCP
JSON-over-TCP
Handshake
{"komut":"merhaba"}
Initial hello
Authentication
guvenlik_anahtar_b64
Base64 token (optional)
Data Transfer
Binary stream
Raw data between JSON control messages
Command
Description
disk_listele
Lists disks on the target (id, ad, boyut)
imaj_baslat
Starts disk image transfer (RAW binary stream)
edinim_kontrol
Continue / pause / cancel
Collected Data:
RAW disk image (bit-by-bit)
SHA-256 + MD5 hash (computed by the agent)
Real-time progress reporting
Command
Description
avml_kontrol
Is AVML present on agent? Root privilege? RAM size?
ram_edinim_baslat
Starts AVML remotely, captures RAM dump
ram_dosya_indir
Downloads captured RAM dump over the network
~/Amele/Vakalar/{case_name}/
├── {disk_name}_{date}.img # Disk image
├── {disk_name}_{date}.img.sha256 # SHA-256 hash
├── ram_{date}.lime # RAM dump
└── ram_{date}.lime.sha256 # RAM hash
Type
Path
Description
SATA/SAS/USB
/dev/sd[a-p]
Traditional disks + USB
NVMe
/dev/nvme[0-7]n1
M.2 SSDs
VirtIO
/dev/vd[a-h]
Virtual machine disks