SIEM Saldırı Tespit Örnekleri — 1

Oğuz~#>

Kıdemli Üye
5 Tem 2009
4,772
16
Bursa

GİRİŞ​

Merhaba, bu makale serisinde aktif bir siem ürünü kullanarak gerçek saldırıların nasıl tespit edileceği ve alınabilecek aksiyonlar anlatılacaktır. Sizler ile birlikte örnek saldırı senaryolarını gözlemleyerek, bir saldırının keşif aşamasından exploit aşamasına kadar olan süreçte kullandığınız siem ürünü ile bu saldırıların nasıl tespit edileceğini inceleyeceğiz, ayrıca bu makalenin yazımında katkıları olan İrem ÇELİK’ e teşekkür ederim.

Keşif Aşamalarında User Agent Avcılığı​

SIEM üzerinde bulunan log kaynaklarımız arasında user agent alanı ile gelen loglar bulunuyor ise bunlar üzerinde, yazacağımız korelasyon ile gerçek saldırıları tespit edebilmemiz mümkün hale geliyor. Bunun için ilk olarak bir zararlı_user_agent adında payload, watchlist oluşturmamız gerekli benim kişisel olarak kullandığım listeye aşağıdaki bulunan github adresinden ulaşabilirsiniz.
https://raw.githubusercontent.com/Ogxd14g/zararli_user_agent_list/main/list.raw
Yukarıda bulunan adresten listeye ulaştıktan sonra, yapmanız gereken işlem user agent bilgisi gelen log kaynaklarınızdan “in” olarak oluşturduğunuz listeyi eşleştirmek olacaktır. Aşağıda bulunan Alıntı — 1 ‘den korelasyonun detaylarını görebilirsiniz.
1*tom8P17b77jXgBB4KiJmPw.png

Alıntı — 1 Korelasyon Detayları
Yazılan korelasyonu kaydedip alarmını oluşturuyoruz, burada dikkat etmemiz gereken konu fp durumların önüne geçmek için alarmları ve watchlisti güncel şekilde kontrol etmemiz gerekiyor, 3 haftalık gözlem sürecimizin sonunda alarmı aktifleştirdik ve gerçekten keşif aşamalarında kullanılan saldırıları tespit edebildiğimizi kesinleştirdik.

1*GjRmEuvBMZKppJaTywSAig.png

Alıntı — 2 Tetiklenen Korelasyon Alıntısı.
Tetiklenen korelasyona ait log :
Raw Data: 2021–02–26 07:35:31 W3SVC25 IIS-PUBLISH 1.1.1.1 GET /webdav/ — 80 103.242.119.217 HTTP/1.1 Mozilla/5.0 — — 1.1.1.1:80 404 0 2 1424 93 0
İlgili kaynak adres incelendiğinde repütasyonunun zararlı olduğu anlaşılmıştır.

1*tj5hgyPOJcx9IuQgZFMaWA.png

Alıntı — 3 Virustotal ‘ de IP adresinin aranması.
Tetiklenen korelasyonun ardından ilgili olayın alarmının oluşturulması alarm içerisinde saldırıyı düzenleyen kaynak ip adresinin de otomatik olarak güvenlik duvarı cihazı tarafından süreli olarak engellenmesi gerekmektedir.
Bu korelasyon ile ilgili unutmamamız gereken bir konuda : Keşif aşamasında kullanılan user agent bilgisinin de değiştirilebilir olmasıdır, ancak burada otomatize araçlar bi nebze tespit edilebilmektedir.

Process Avcılığı​

Process Avcılığı aşamasında Sysmon kullanarak log kaynaklarımız üzerinde oluşan processlerin takibi ve mitre tekniklerine göre alarmlarının oluşturulmasını sağlayacağız.
ilk olarak kullandığınız siem ürününde sysmon ile log topladığınız sunucuların log kaynağı olarak ekli olması gerekmektedir. Eğer Sysmon üzerinden doğru bir şekilde log alabiliyorsanız üründen bağımsız gelen olayların “unknow event” olarak gözükmesi ardından sizin bu eventleri ayrıştırmak için parser yazmanız gerekmektedir.

Sysmon Process Create Parser Yazımı​

Her SIEM ürünündeki parser mantığı farklı olduğu için, ben benim kullandığım McAfee ESM üzerinden Sysmon parser yazımını anlatacağım.
Eğer logları Nxlog olarak Siem üzerine gönderiyorsanız gelen Syslogların multiline olarak gelmemesi parserin yazımı için önem arz etmektedir. Bu konularla ilgili gerekli ayarların ve doğru şekilde Sysmondan log almanın konusunu ayrıca ilerleyen günlerde yazacağım.
Bu makalede ele alınacak saldırı teknikleri “Sysmon ID 1 Process Create” ile ilgili olduğu için ilk olarak raw şeklinde Sysmondan gelen ve id numarası 1 olan logların incelemesini yapıyoruz.
1*EjqQK61OdFh_BU2-_-sSpA.png

Alıntı 1 - Örnek Process Create Log
Alıntı-1 de görebileceğiniz üzere Sysmon sayesinde, anlık olarak oluşan bir işlemin tüm detaylarını görebiliyoruz. Dikkat etmemiz gereken kritik alanlar CommandLine, Image, Hashes gibi kısımlar olsada logun tamamını parse edip siem üzerinde korelasyon yazılabilir hale getirmemiz gerekmektedir.
Bu aşamada sizlere Mcafe ESM üzerinde bu logun parse edilmesini göstereceğim.
ilk olarak logun raw ve ham halini gelen loglardan bulmamız gerekiyor bunun için unknow event leri inceliyoruz.

1*qogxAL74x9taxSE5Sxvf1w.png

Alıntı — 2 Raw Paket Örneği
Alıntı 2 de görebileceğiniz şekilde sysmondan doğru alınan logun raw cıktısı yukarıdaki gibi gözükmektedir. eğer default nxlog ayarları ile sysmon gönderirseniz bu şekilde bir log göremeyebilirsiniz bunun çözümü için nxlog conf dosyasına aşağıdaki parametreleri eklemektir.

1*zcBLgcBkF3IUJ8rskilT-Q.png

Alıntı — 3 Nxlog.conf dosyası
Nxlog conf dosynız’ın Alıntı — 3'deki gibi olması gelen logun multiline olmasını engelleyecektir bu sayede logun parse edilmesini kolaylaştırıyoruz.

Parser Yazımı​

Parser yazımı için log Sysmon log kaynağının secilip policy editor kısmının açılması gerekmektedir.

1*e5Tpt2hgdG4eFOsOkKHP6g.png

Alıntı — 4 Parser Kuralının Yazımı

1*KvjJGdN0Yo1wPXUlb8QbRw.png

Alıntı — 5 Parsing İşlemleri
Alıntı — 5 üzerinde görebileceğiniz gibi ilgili alanların regex ile eşleştirilmesi gerekmektedir. Kullandığım patternleri buraya ekliyorum. Unutmayınız her ürüne göre bu işlemler değişmektedir.

1*n0lmBDGU7cR87Y6hOGj0gw.png

Alıntı — 6 Process Create Regex Pattern
Alıntı — 6 ‘da bulunan regex işlemleri başarılı şekilde eşleştikten sonra ilgili alanlara görmek istediğimiz kısımları eklememiz gerekmektedir.

1*L950LENSBiFA5ZL0twNGHg.png

Alıntı — 7 Alanların Belirlenmesi
Alıntı — 7'deki aşamalardan sonra parseri kaydedip rollout işlemi yapılmalıdır. Ardından bir süre bekledikten sonra parsing işleminin gerçekleştiğini görebiliriz.

1*Q-_TPZ82e73elZp7r4NnCA.png

Alıntı — 8 Process Create logunun oluşması.

Mcafee ESM Hooking Detection

Bu aşamada windows legal processlerin üzerine kancalama işlemi yapıldığında ESM ile bunu nasıl tespit edeceğimizi anlatacağız.
Öncelikle zararlı ve bize ters bağlantı kurabileceğimiz bir dll payloadına ihtiyacımız var bunun için “msfvenom” aracını kullanıyoruz.
msfvenom aracı ile aşağıdaki şekilde dll formatında bir payload elde edebiliriz.

1*nO_fgboYVrWQiZpqVZQwSA.png

msfvenom ile zararlı dll payload oluşturulması
Yukarıda bulunan ekran alıntısında görebileceğiniz üzere Windows platformlarda x86 tabanlı sistemlerde calışacak ve bind_tcp bağlantısı sağlayacak bir payload oluşturuyoruz burada -e parametresi ile standart antivirüsler tarafından yakalanmamak için encode işlemi yapılıyor -f parametresi ile istediğimiz formatta payload üretebilmemiz mümkün olduğu için dll yazıp -o parametresi ile dosya adını belirtiyoruz, bu aşamadan sonra yapmamız gereken şey bu dll dosyasını legal ve yetkili bir process içerisine injecte etmek olacaktır.
 

ertan074

Üye
13 May 2021
125
59

GİRİŞ​

Merhaba, bu makale serisinde aktif bir siem ürünü kullanarak gerçek saldırıların nasıl tespit edileceği ve alınabilecek aksiyonlar anlatılacaktır. Sizler ile birlikte örnek saldırı senaryolarını gözlemleyerek, bir saldırının keşif aşamasından exploit aşamasına kadar olan süreçte kullandığınız siem ürünü ile bu saldırıların nasıl tespit edileceğini inceleyeceğiz, ayrıca bu makalenin yazımında katkıları olan İrem ÇELİK’ e teşekkür ederim.

Keşif Aşamalarında User Agent Avcılığı​

SIEM üzerinde bulunan log kaynaklarımız arasında user agent alanı ile gelen loglar bulunuyor ise bunlar üzerinde, yazacağımız korelasyon ile gerçek saldırıları tespit edebilmemiz mümkün hale geliyor. Bunun için ilk olarak bir zararlı_user_agent adında payload, watchlist oluşturmamız gerekli benim kişisel olarak kullandığım listeye aşağıdaki bulunan github adresinden ulaşabilirsiniz.
https://raw.githubusercontent.com/Ogxd14g/zararli_user_agent_list/main/list.raw
Yukarıda bulunan adresten listeye ulaştıktan sonra, yapmanız gereken işlem user agent bilgisi gelen log kaynaklarınızdan “in” olarak oluşturduğunuz listeyi eşleştirmek olacaktır. Aşağıda bulunan Alıntı — 1 ‘den korelasyonun detaylarını görebilirsiniz.
1*tom8P17b77jXgBB4KiJmPw.png

Alıntı — 1 Korelasyon Detayları
Yazılan korelasyonu kaydedip alarmını oluşturuyoruz, burada dikkat etmemiz gereken konu fp durumların önüne geçmek için alarmları ve watchlisti güncel şekilde kontrol etmemiz gerekiyor, 3 haftalık gözlem sürecimizin sonunda alarmı aktifleştirdik ve gerçekten keşif aşamalarında kullanılan saldırıları tespit edebildiğimizi kesinleştirdik.

1*GjRmEuvBMZKppJaTywSAig.png

Alıntı — 2 Tetiklenen Korelasyon Alıntısı.
Tetiklenen korelasyona ait log :
Raw Data: 2021–02–26 07:35:31 W3SVC25 IIS-PUBLISH 1.1.1.1 GET /webdav/ — 80 103.242.119.217 HTTP/1.1 Mozilla/5.0 — — 1.1.1.1:80 404 0 2 1424 93 0
İlgili kaynak adres incelendiğinde repütasyonunun zararlı olduğu anlaşılmıştır.

1*tj5hgyPOJcx9IuQgZFMaWA.png

Alıntı — 3 Virustotal ‘ de IP adresinin aranması.
Tetiklenen korelasyonun ardından ilgili olayın alarmının oluşturulması alarm içerisinde saldırıyı düzenleyen kaynak ip adresinin de otomatik olarak güvenlik duvarı cihazı tarafından süreli olarak engellenmesi gerekmektedir.
Bu korelasyon ile ilgili unutmamamız gereken bir konuda : Keşif aşamasında kullanılan user agent bilgisinin de değiştirilebilir olmasıdır, ancak burada otomatize araçlar bi nebze tespit edilebilmektedir.

Process Avcılığı​

Process Avcılığı aşamasında Sysmon kullanarak log kaynaklarımız üzerinde oluşan processlerin takibi ve mitre tekniklerine göre alarmlarının oluşturulmasını sağlayacağız.
ilk olarak kullandığınız siem ürününde sysmon ile log topladığınız sunucuların log kaynağı olarak ekli olması gerekmektedir. Eğer Sysmon üzerinden doğru bir şekilde log alabiliyorsanız üründen bağımsız gelen olayların “unknow event” olarak gözükmesi ardından sizin bu eventleri ayrıştırmak için parser yazmanız gerekmektedir.

Sysmon Process Create Parser Yazımı​

Her SIEM ürünündeki parser mantığı farklı olduğu için, ben benim kullandığım McAfee ESM üzerinden Sysmon parser yazımını anlatacağım.
Eğer logları Nxlog olarak Siem üzerine gönderiyorsanız gelen Syslogların multiline olarak gelmemesi parserin yazımı için önem arz etmektedir. Bu konularla ilgili gerekli ayarların ve doğru şekilde Sysmondan log almanın konusunu ayrıca ilerleyen günlerde yazacağım.
Bu makalede ele alınacak saldırı teknikleri “Sysmon ID 1 Process Create” ile ilgili olduğu için ilk olarak raw şeklinde Sysmondan gelen ve id numarası 1 olan logların incelemesini yapıyoruz.
1*EjqQK61OdFh_BU2-_-sSpA.png

Alıntı 1 - Örnek Process Create Log
Alıntı-1 de görebileceğiniz üzere Sysmon sayesinde, anlık olarak oluşan bir işlemin tüm detaylarını görebiliyoruz. Dikkat etmemiz gereken kritik alanlar CommandLine, Image, Hashes gibi kısımlar olsada logun tamamını parse edip siem üzerinde korelasyon yazılabilir hale getirmemiz gerekmektedir.
Bu aşamada sizlere Mcafe ESM üzerinde bu logun parse edilmesini göstereceğim.
ilk olarak logun raw ve ham halini gelen loglardan bulmamız gerekiyor bunun için unknow event leri inceliyoruz.

1*qogxAL74x9taxSE5Sxvf1w.png

Alıntı — 2 Raw Paket Örneği
Alıntı 2 de görebileceğiniz şekilde sysmondan doğru alınan logun raw cıktısı yukarıdaki gibi gözükmektedir. eğer default nxlog ayarları ile sysmon gönderirseniz bu şekilde bir log göremeyebilirsiniz bunun çözümü için nxlog conf dosyasına aşağıdaki parametreleri eklemektir.

1*zcBLgcBkF3IUJ8rskilT-Q.png

Alıntı — 3 Nxlog.conf dosyası
Nxlog conf dosynız’ın Alıntı — 3'deki gibi olması gelen logun multiline olmasını engelleyecektir bu sayede logun parse edilmesini kolaylaştırıyoruz.

Parser Yazımı​

Parser yazımı için log Sysmon log kaynağının secilip policy editor kısmının açılması gerekmektedir.

1*e5Tpt2hgdG4eFOsOkKHP6g.png

Alıntı — 4 Parser Kuralının Yazımı

1*KvjJGdN0Yo1wPXUlb8QbRw.png

Alıntı — 5 Parsing İşlemleri
Alıntı — 5 üzerinde görebileceğiniz gibi ilgili alanların regex ile eşleştirilmesi gerekmektedir. Kullandığım patternleri buraya ekliyorum. Unutmayınız her ürüne göre bu işlemler değişmektedir.

1*n0lmBDGU7cR87Y6hOGj0gw.png

Alıntı — 6 Process Create Regex Pattern
Alıntı — 6 ‘da bulunan regex işlemleri başarılı şekilde eşleştikten sonra ilgili alanlara görmek istediğimiz kısımları eklememiz gerekmektedir.

1*L950LENSBiFA5ZL0twNGHg.png

Alıntı — 7 Alanların Belirlenmesi
Alıntı — 7'deki aşamalardan sonra parseri kaydedip rollout işlemi yapılmalıdır. Ardından bir süre bekledikten sonra parsing işleminin gerçekleştiğini görebiliriz.

1*Q-_TPZ82e73elZp7r4NnCA.png

Alıntı — 8 Process Create logunun oluşması.

Mcafee ESM Hooking Detection

Bu aşamada windows legal processlerin üzerine kancalama işlemi yapıldığında ESM ile bunu nasıl tespit edeceğimizi anlatacağız.
Öncelikle zararlı ve bize ters bağlantı kurabileceğimiz bir dll payloadına ihtiyacımız var bunun için “msfvenom” aracını kullanıyoruz.
msfvenom aracı ile aşağıdaki şekilde dll formatında bir payload elde edebiliriz.

1*nO_fgboYVrWQiZpqVZQwSA.png

msfvenom ile zararlı dll payload oluşturulması
Yukarıda bulunan ekran alıntısında görebileceğiniz üzere Windows platformlarda x86 tabanlı sistemlerde calışacak ve bind_tcp bağlantısı sağlayacak bir payload oluşturuyoruz burada -e parametresi ile standart antivirüsler tarafından yakalanmamak için encode işlemi yapılıyor -f parametresi ile istediğimiz formatta payload üretebilmemiz mümkün olduğu için dll yazıp -o parametresi ile dosya adını belirtiyoruz, bu aşamadan sonra yapmamız gereken şey bu dll dosyasını legal ve yetkili bir process içerisine injecte etmek olacaktır.
Emeğin için tşkler
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.