capa ile hızlı zararlı yazılım analizi
Bugün Fireeye tarafından DFIR Summit'de tanıtılan capa projesi, Sigma benzeri davranış kurallarını zararlı yazılım içerisinde aratarak hızlıca triyaj yapabildiğiniz bir uygulama. Geleneksel statik analizden farklı olarak, çıkardığı feature'ları girdi olarak verdiği mantıksal kurallar ile dinamik analize çok yakın bir bağlam sunmakta.
Şu adresten indirilerek capa.exe zararli.exe -v şeklinde çalıştırılan uygulamanın; https://app.any.run/tasks/1e240593-0076-4046-8d67-ac7498872d2f/ zararlısı için örnek çıktısının bir kısmı aşağıdaki gibi;
use process replacement
namespace host-interaction/process/inject
scope function
matches 0x400058E1
create thread
namespace host-interaction/thread/create
scope function
matches 0x400024D5
persist via Run registry key
namespace persistence/registry/run
scope function
matches 0x400024D5
Bu çıktıya göre zararlının process replacement yaptığını, thread oluşturduğunu ve registry'yi persistence için kullandığını adres değerleriyle birlikte hızlıca öğrenebiliyoruz. Analizi farklı platformlarda detaylandırmak için IDA Plugin'i de mevcut.
Örnek olarak registry tespitini yapan kural detayı alttaki gibi. Bu sayede capa'ya bir binary'i parametre olarak verdiğinizde (capa.exe zararli.bin -v
), eğer registry kullanan bir persistence mekanizması dosyada mevcutsa bunu üstteki gibi ekrana basacaktır. Kuralların tamamı şurada
rule:
meta:
name: persist via Run registry key
namespace: persistence/registry/run
author: [email protected]
scope: function
att&ck:
- Persistence::Boot or Logon Autostart Execution::Registry Run Keys / Startup Folder [T1547.001]
examples:
- Practical Malware Analysis Lab 06-03.exe_:0x401130
features:
- and:
- or:
- or:
- api: advapi32.RegOpenKey
- api: advapi32.RegOpenKeyEx
- or:
- api: advapi32.RegSetValue
- api: advapi32.RegSetValueEx
- or:
- number: 0x80000001 = HKEY_CURRENT_USER
- number: 0x80000002 = HKEY_LOCAL_MACHINE
- string: /Software\\Microsoft\\Windows\\CurrentVersion\\Run/i
-f/--format parametresiyle hedef mimariyi (sc32 yada sc64) verirseniz shellcode analiz kabiliyeti de mevcut.
Orta-uzun vadede Sigma, Yara ve Snort kuralları gibi capa kurallarının da de-facto bir standart olma ihtimali mevcut gibi duruyor.