YARA ile Zararlı Yazılım Avı: Temelden Pratik Kurallara
Merhaba,
YARA, dosya ve bellek üzerinde imza (pattern) avlamak için endüstri standardı bir dildir. VirusTotal'ın YARA 4.5.x serisi hâlâ yaygın; yeni nesil YARA-X 1.21 de aktif geliştiriliyor. Bu rehberde kendi lab örneklerinizde güvenli şekilde kural yazmayı anlatıyoruz.
Konuda Anlatılacaklar
- Kurulum
- Kural anatomisi
- İlk kuralınız: metin ve hex dizileri
- Koşullar, jokerler, regex
- Dizin tarama ve CI'ye ekleme
- Kaynakça ve yasal uyarı
1) Kurulum
# Klasik YARA
sudo apt update && sudo apt install -y yara
yara --version
# YARA-X (opsiyonel, Rust temelli)
# https://github.com/VirusTotal/yara-x/releases (v1.21.0 örneği)2) Kural Anatomisi
rule Ornek_Lab_Kurali
{
meta:
author = "TurkTeam"
description = "Lab egitimi icin ornek kural"
date = "2026-10-16"
strings:
$a = "This program cannot be run in DOS mode"
$b = { 4D 5A 90 00 } // MZ basligi
$c = /https?:\/\/[a-z0-9\.\-]+\/gate\.php/i
condition:
uint16(0) == 0x5A4D and 2 of ($a,$b,$c)
}3) İlk Çalıştırma
# Tek dosya
yara kural.yar ornek_lab_dosyasi.bin
# Dizin (özyinelemeli)
yara -r kural.yar /lab/ornekler/
# Eşleşen dizileri de göster
yara -s kural.yar ornek_lab_dosyasi.bin4) Pratik İpuçları
- MZ kontrolü: uint16(0) == 0x5A4D PE dosyalarını hızlı eleyen klasik koşuldur.
- Geniş joker kullanmayın: Çok genel diziler yanlış pozitif üretir.
- meta alanını doldurun: Ekip içinde kuralın neden yazıldığını anlaşılır kılar.
- Özel zararlı örnekleri paylaşmayın: Forumda örnek dosya yüklemeyin; yalnızca kural ve IOC tartışın.
5) Küçük Alıştırma
# 1) Lab klasöründe bilinen bir EICAR test dosyası oluşturun
# (EICAR resmi test dizesi: https://www.eicar.org/)
# 2) EICAR dizesini arayan bir kural yazın
# 3) yara ile eşleştiğini doğrulayınKaynakça
Görsel: TurkTeam özgün kapak görseli.
Alıntı:Yasal Uyarı: Zararlı yazılım örneklerini yalnızca izole lab ortamında ve yasal kaynaklardan inceleyin. Dağıtmak, barındırmak veya üçüncü sistemlere bulaştırmak suçtur (TCK 243-245).
