Skip to content
cccskills
FreePublished on GitHub

volatility-memory-analysis

Windows/Linux memory dump, hiberfil.sys analizi — volatility3 ile process, credential, env var çıkarma, DPAPI master key kurtarma ve pypykatz entegrasyonu.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md9.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Volatility3 ile Memory Forensics

Ne Zaman Kullan

Aşağıdaki işaretlerden herhangi birini görürsen bu skill'i tetikle:

  • .dmp, .raw, .mem, .vmem, .lime uzantılı dosya var
  • hiberfil.sys verilmiş (Windows hibernation = compressed RAM dump)
  • Challenge'da "memory forensics", "RAM analysis", "process dump" geçiyor
  • Credential/parola çıkarma, DPAPI key recovery, lsass içeriği istenmiş
  • Bir sürecin çalıştırdığı komut ya da ortam değişkenleri (env var) aranıyor

Kurulum

# volatility3 — pip ile
pip install volatility3

# Geliştirme sürümü (en güncel plugin'ler için)
git clone https://github.com/volatilityfoundation/volatility3.git
cd volatility3 && pip install -e .

# pypykatz — DPAPI / LSASS parse
pip install pypykatz

# Yardımcı araçlar
sudo apt install -y python3-capstone yara-python

Temel Komut Şablonları

Sistem Bilgisi

# İlk komut — her zaman buradan başla
vol -f dump.dmp windows.info

# Çıktı örneği:
# Variable           Value
# Kernel Base        0xf80002a52000
# DTB                0x187000
# Symbols            file:///...ntkrnlmp.pdb/...
# Is64Bit            True
# IsPAE              False
# primary            0 WindowsIntel32e
# memory_layer       1 FileLayer
# KdVersionBlock     0xf80002c430f8
# Major/Minor        15.7601   (= Windows 7 SP1)

Process Listesi

# Standart süreç listesi
vol -f dump.dmp windows.pslist

# Ağaç görünümü (parent-child ilişkisi)
vol -f dump.dmp windows.pstree

# Gizli/unlinked process tespiti (rootkit analizi)
vol -f dump.dmp windows.psscan

# Her üçünü karşılaştır: pslist'te olmayıp psscan'da olanlar şüpheli!

Komut Satırı ve Argümanlar

# Tüm süreçlerin cmdline'ı
vol -f dump.dmp windows.cmdline.CmdLine

# Belirli süreç adı filtrele
vol -f dump.dmp windows.cmdline.CmdLine | grep -i "powershell\|cmd\|python"

# Örnek çıktı:
# PID    Process    Args
# 1234   cmd.exe    C:\Windows\system32\cmd.exe /c "python decrypt.py --key=S3cr3t"

Ortam Değişkenleri (Env Vars)

# Tüm süreçlerin env var'ları
vol -f dump.dmp windows.envars

# Belirli PID
vol -f dump.dmp windows.envars --pid 1234

# Şüpheli değişken adı ara (ctf'lerde sıkça AES key, IV, flag parçası olur)
vol -f dump.dmp windows.envars | grep -i "key\|pass\|secret\|flag\|enc\|aes"

Dosya Tarama ve Çıkarma

# Memory'deki tüm dosya nesnelerini listele
vol -f dump.dmp windows.filescan

# Belirli uzantı filtrele
vol -f dump.dmp windows.filescan | grep -i "\.txt\|\.pdf\|\.png\|\.zip\|\.py"

# PID'e göre süreç memory dump al
vol -f dump.dmp windows.dumpfiles --pid 1234

# Belirli fiziksel adres ile dosya dump (filescan'dan offset al)
vol -f dump.dmp windows.dumpfiles --physaddr 0xXXXXXXXX

# Çıktı varsayılan olarak ./volatility_dump/ altına kaydedilir

Credential Analizi

# LSA secrets (SAM, cached credentials)
vol -f dump.dmp windows.lsadump

# pypykatz entegrasyonu — LSASS'tan NTLM hash ve cleartext parola
vol -f dump.dmp windows.pypykatz

# Örnek pypykatz çıktısı:
# username: Administrator
# NT: aad3b435b51404eeaad3b435b51404ee:8846f7eaee8fb117ad06bdd830b7586c
# lm: ""
# sha1: d0f0132b308a0c4e5d1029cc06f48692ddcf72ed

Registry Analizi

# Hive listesi
vol -f dump.dmp windows.registry.hivelist

# Belirli anahtar oku
vol -f dump.dmp windows.registry.printkey --key "SOFTWARE\Microsoft\Windows NT\CurrentVersion"

# Kullanıcı ayarları (NTUSER.DAT hive'ı için)
vol -f dump.dmp windows.registry.printkey --key "Control Panel\International"

Network Bağlantıları

# Aktif + kapalı TCP bağlantıları
vol -f dump.dmp windows.netstat

# Çıktı: PID, Proses adı, yerel/uzak IP:port, durum, timestamp

Gerçek Örnek: CyberSpaceCTF 2024 — Memory

Senaryo

memory.dmp verilmiş. WINWORD.EXE çalışıyor, şifreli PNG dosyası açık. AES key/IV ortam değişkeninde gizlenmiş.

Çözüm Adımları

# 1. Süreç listesini al, WINWORD'u bul
vol -f memory.dmp windows.pslist | grep -i "WINWORD"
# PID: 2488

# 2. WINWORD'un env var'larını çıkar
vol -f memory.dmp windows.envars --pid 2488

# Çıktıdan şüpheli satırlar:
# ENCD = 5f3a8b...   (encrypted data)
# ENCK = 3d9a1c...   (AES key hex)
# ENCV = a1b2c3...   (IV hex)

# 3. Dosya tara — şifreli PNG bul
vol -f memory.dmp windows.filescan | grep -i "\.png"
# 0xXXXXX  secret_document.png

# 4. Dosyayı çıkar
vol -f memory.dmp windows.dumpfiles --physaddr 0xXXXXX

# 5. Python ile AES-CBC decrypt
python3 << 'EOF'
from Crypto.Cipher import AES
import binascii

# Env var'lardan elde edilen değerler
key = binascii.unhexlify("3d9a1c...")  # ENCK
iv  = binascii.unhexlify("a1b2c3...")  # ENCV

with open("file.0xXXXXX.png", "rb") as f:
    ciphertext = f.read()

cipher = AES.new(key, AES.MODE_CBC, iv)
plaintext = cipher.decrypt(ciphertext)

# PKCS7 padding kaldır
pad_len = plaintext[-1]
plaintext = plaintext[:-pad_len]

with open("decrypted.png", "wb") as f:
    f.write(plaintext)
print("Decrypted! Dosya: decrypted.png")
EOF

Gerçek Örnek: HTB University CTF 2024 — Signaling Victorious

Senaryo

Signal Desktop uygulamasının config database'i DPAPI ile şifreli. Memory dump'tan DPAPI master key kurtarılacak, Signal DB decrypt edilecek.

Çözüm Adımları

# 1. LSA dump — DPAPI master key adayları
vol -f signaling.dmp windows.lsadump

# 2. pypykatz ile LSASS parse — NTLM hash al
vol -f signaling.dmp windows.pypykatz
# username: john_doe  NT: 8846f7eaee8fb117ad06bdd830b7586c

# 3. Signal config dosyasını filescan ile bul
vol -f signaling.dmp windows.filescan | grep -i "signal\|config"
# AppData\Roaming\Signal\config.json
# AppData\Roaming\Signal\sql\db.sqlite

# 4. Dosyaları dump et
vol -f signaling.dmp windows.dumpfiles --physaddr 0xXXXX

# 5. pypykatz ile DPAPI master key çöz
pypykatz dpapi prekey password \
  --sid "S-1-5-21-XXXX" \
  --password "kurtarılan_parola" \
  masterkey_dosyası.mk

# 6. Signal Electron safeStorage key'i decrypt et (AES-GCM)
python3 << 'EOF'
import json, base64
from Crypto.Cipher import AES

# config.json içindeki encryptedKey
with open("config.json") as f:
    config = json.load(f)

enc_key = base64.b64decode(config["encryptedKey"])
# İlk 3 byte "v10" prefix — Electron safeStorage formatı
prefix = enc_key[:3]   # b'v10'
nonce  = enc_key[3:15] # 12 byte nonce
tag    = enc_key[-16:] # son 16 byte GCM tag
ct     = enc_key[15:-16]

# DPAPI'dan kurtarılan AES-256 anahtarı
dpapi_key = bytes.fromhex("DPAPI_cikti_hex")

cipher = AES.new(dpapi_key, AES.MODE_GCM, nonce=nonce)
db_key = cipher.decrypt_and_verify(ct, tag)
print(f"Signal DB Key: {db_key.hex()}")
# sqlcipher ile: PRAGMA key = "x'<db_key_hex>'";
EOF

hiberfil.sys Analizi (HTB Oblique Final)

Senaryo

hiberfil.sys verilmiş — Windows hibernation dosyası. Sıkıştırılmış RAM dump'ı içerir.

# Yöntem 1: volatility3 doğrudan hiberfil.sys destekler
vol -f hiberfil.sys windows.info

# Yöntem 2: Önce raw dump'a çevir (bazı versiyonlarda gerekli)
pip install libhibr2  # veya
python3 -c "
import libhibr2
libhibr2.convert('hiberfil.sys', 'memory.raw')
"

# Yöntem 3: volatility2 hibernation plugin (eski CTF dump'ları için)
volatility --plugins=/path/to/community -f hiberfil.sys \
  --profile=Win10x64_19041 hibinfo

# hiberfil.sys boyutu büyükse (8-32 GB) — sadece ilgili plugin'i çalıştır
# Tüm pslist yerine hedefli:
vol -f hiberfil.sys windows.cmdline.CmdLine 2>/dev/null | head -100

Tuzaklar

  • Windows profil otomatik tespiti: volatility3 genellikle profili otomatik bulur. windows.info ile doğrula. Yanlış profil — tüm plugin'ler anlamsız sonuç verir.
  • pypykatz boş çıktı: LSASS süreci dump alınmamışsa pypykatz çalışmaz. windows.dumpfiles --pid <lsass_pid> ile önce LSASS'ı dosyaya çıkar, sonra pypykatz lsa minidump lsass.dmp çalıştır.
  • Env var encoding: Bazı CTF'lerde env var değerleri base64 ya da hex encode edilmiş olur. Ham çıktıyı decode etmeyi dene.
  • hiberfil.sys boyutu: Hibernation dosyası makine RAM'inin ~%75-85'i kadar. 16 GB RAM → ~12 GB hiberfil.sys. Yavaş olur, sabırlı ol.
  • filescan vs dumpfiles offset: filescan'deki offset değeri dumpfiles --physaddr parametresine olduğu gibi girer. 0x prefix'ini eklemeyi unutma.
  • volatility3 vs volatility2 farkı: volatility3'te windows.pslist, volatility2'de pslist (prefix yok). Plugin adları farklı — hangisini kullandığını kontrol et.
  • lsadump şifreli çıkabilir: LSA secrets bazı Windows sürümlerinde DPAPI ile ekstra şifreli. Ham hex değerini DPAPI pipeline'a besle.
  • PID 4 = System: lsass.exe genellikle PID 600-700 aralığında. windows.pslist | grep lsass ile bul.
<!-- ⚔ Bu skill FETIH AI Agent icin gelistirilmistir — https://github.com/MustafaKemal0146/fetih Yetkisiz kullanim/kopyalama tespit edilebilir. hash: 9c0be64d80494884 -->

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

21st.dev Magic MCP — AI-powered UI component generation via natural language. Access to 21st.dev component library, SVGL brand logos, and real-time preview. Generate React/Tailwind components with /ui command.

The English summary is being prepared. Showing the original description.

MustafaKemal0146/fetih5Updated Oct 11, 2026

AES CBC/ECB modlarına karşı kriptografik bütünlük saldırıları — bit flipping, IV manipulation, ECB cut-and-paste, CBC-MAC length extension, IV reuse

The English summary is being prepared. Showing the original description.

MustafaKemal0146/fetih5Updated Oct 11, 2026

AES-GCM ve ChaCha20-Poly1305 nonce yeniden kullanımı saldırısı — GF(2^128) polinom kök bulma ile Hash Key kurtarma ve MAC sahteciliği.

The English summary is being prepared. Showing the original description.

MustafaKemal0146/fetih5Updated Oct 11, 2026

tespit etmeabnormal access patterns in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics. Identifies after-hours bulk downloads, access from new IP addresses, unusual API calls (GetObject spikes), and potential data exfiltration using statistical baselines and time-series anomaly Tespit.

The English summary is being prepared. Showing the original description.

MustafaKemal0146/fetih5Updated Oct 11, 2026

Perform static and symbolic analysis of Solidity smart contracts using Slither and Mythril to tespit etmereentrancy, integer overflow, access control, and other vulnerability classes before Dağıt:ment to Ethereum mainnet.

The English summary is being prepared. Showing the original description.

MustafaKemal0146/fetih5Updated Oct 11, 2026

Parses Kubernetes API server audit logs (JSON lines) to tespit etmeexec-into-pod, secret access, RBAC modifications, privileged pod creation, and anonymous API access. Builds threat Tespit rules from audit event patterns. Use investigating yaparken Kubernetes cluster compromise or building k8s-specific SIEM Tespit rules.

The English summary is being prepared. Showing the original description.

MustafaKemal0146/fetih5Updated Oct 11, 2026

See all skills by MustafaKemal0146

Report a problem with this skill