Blue Team ve Tehdit Avcılığı (Threat Hunting)

Enistein

Kıdemli Üye
16 Eyl 2012
2,222
1,228
Amsterdam
f8l1281.png

İyi günler Türk Hack Team ailesi.

Siber güvenlik dünyasında, proaktif savunma stratejileri giderek daha önemli hale gelmektedir.
Bu bağlamda, Blue Team için tehdit avcılığı (threat hunting) kavramı ön plana çıkmaktadır.
Bu içerikte, tehdit avcılığına odaklanarak, bu yaklaşımın Blue Team için nasıl uygulanabileceği ve hangi yeni nesil güvenlik araçlarının kullanılabileceği üzerinde duracağız.

Umarım blue team alanında kariyer yapmak isteyen üyeler için, kullanabilecekleri bir rehber olur.

Ayrıca son 3-4 konumda olduğu gibi bu içerikte ilk olarak genel bir anlatımla başlayıp, sonrasında teknik detaylarıyla anlatımını yapacağım.
Bundan dolayı sonunua kadar okumanızda fayda var.

PpUz4Fr.gif

IvwCnY9.png
Tehdit Avcılığı (Threat Hunting) Nedir?
F3beZqk.png


Tehdit avcılığı, siber güvenlik profesyonellerinin potansiyel tehditleri ve saldırıları önceden tespit etmeye çalıştığı proaktif bir süreçtir.
Bu süreçte, uzmanlar sistem ve ağlardaki anormallikleri ve şüpheli aktiviteleri analiz eder, bilgi toplar ve olaylara hızlı bir şekilde müdahale etmeyi amaçlar.

rHncnum.png


Temel olarak, bu süreç, ağ trafiğini ve sistemlerdeki belirli davranışları izleyerek, zararlı etkinlikleri tespit etmek ve bunları durdurmak için gerekli önlemleri almak için tasarlanmıştır.
Tehdit avcılığı, birçok farklı teknik kullanarak gerçekleştirilebilir.
7dxfJha.png

Bu teknikler, genellikle birçok farklı veri kaynağından (log dosyaları, ağ trafik analizleri, vb.) gelen verileri analiz etmek ve potansiyel tehditleri tespit etmek için birleştirilir.


Tehdit Avcılığı Süreci
F3beZqk.png

Tehdit avcılığı süreci, bir organizasyonun ağını, sistemlerini ve uygulamalarını potansiyel tehditlere karşı korumak için bir dizi adımdan oluşan proaktif bir yaklaşımdır.
Genellikle Blue Team tarafından yürütülür, ki bu ekip, organizasyonun siber güvenliği için sorumlu olan takımdır.

GOHgexH.png


Tehdit Avcılığı Adımları

Hedef belirleme
Öncelikle, hangi sistemlerin ve varlıkların kritik olduğunu belirlemek gerekir.

WnF7Vzv.png

İstihbarat toplama
Blue Team, mevcut tehditler ve saldırı vektörleri hakkında bilgi toplayarak, güvenlik stratejilerini güncel tutmalıdır.

oiNf75O.png

Anomalileri ve şüpheli etkinlikleri analiz etme
Sistem ve ağlardaki anormal davranışları ve şüpheli etkinlikleri tespit etmek için günlükler, ağ trafiği ve uygulama verileri analiz edilmelidir.

y45HVlB.png


Olay müdahalesi
Tespit edilen tehditlere ve saldırılara hızlı bir şekilde müdahale etmek, etkilerini en aza indirmeye yardımcı olur.

6qmpeSM.png


Tehdit Avcılığı Uygulamalı Senaryolar

F3beZqk.png

Bu kısımda ben, linux bir vds üzerinden anlatımlarımı yapacağım. Sizler dilerseniz kendi bilgisayarınızda da yapabilirsiniz.


Senaryo 1
Bu senaryoda, sunucumuzdaki ağı analiz ederek istekleri kontrol edeceğiz. Ardından gelen isteklerde anormallik olup olmadığını kontrol edeceğiz.

Senaryo 1 Uygulama
Ağımızı analiz edebilmek için öncelikle Wireshark'ın terminal tabanlı versiyonu olan Tshark'ı kuracağız.
Debian tabanlı bir donanımda kurmak için "
sudo apt-get install tshark" komutunu kullanalım.
7q8nlVd.png

Ardından gelen ekran'da yes diyip, kuruluma devam edelim.

Dk97YOS.png


Kurulum tamamlandıktan sonra, ağ trafiğini izlemeye hazırız.
Daha önceden Wireshark kullandıysanız filtreleme komutlarını hatırlıyorsunuzdur.
Tshark'da aynı bu komutlar ile çalışıyor. Zaten az önce belirttiğim gibi Wireshark'ın gui'siz hali.

Şimdi taramaya başlamadan önce
ifconfig komutu ile ağ arayüzlerimize bakalım.
PRgn9dE.png

Burada gördüğünüz gibi, 2 adet ağ arayüzüm( eth0, eth1) mevcut.

eth0 sunucunun dışarıya açık olan ağını temsil ederken, eth1 iç ağı temsil ediyor.

Şimdi

Kod:
sudo tshark -i eth0 -Y 'http.request or http.response'
Komutu ile dış ağımızda gerçekleşen http isteklerini filtreleyelim.
Burada, -i parametresi ile izlemek istediğiniz ağ arayüzünü (ör. eth0) belirtmelisiniz.
-Y parametresi ile de ilgilendiğiniz trafiği filtrelemelisiniz. Bu örnekte, HTTP istek ve yanıtlarını izliyoruz.
obmEr1p.png

Yukarıdaki görselde gördüğünüz gibi, http istekleri terminalde listelenmeye başladı.

Şüpheli etkinlikleri ve anormallikleri tespit edelim.

Ağ trafiğinde şüpheli etkinlikler ve anormallikler tespit etmeye çalışalım.
Örneğin, anormal miktarda hatalı paketler, beklenmedik protokoller veya alışılmadık iletişim desenleri gibi şüpheli etkinlikler bulabilirsiniz.

Yukarıdaki görselde
Normalde sunucuda sadece https isteklerine yanıt verecek şekilde konfigüre etmiştim.
Fakat sunucuyu http'den bağlanmaya zorladım. Bundan dolayı tshark ağında önümüze istekler düşmeye başladı.

Benzer şekilde, diğer NTA araçları (ör. Darktrace, Cisco Stealthwatch, ExtraHop Reveal(x)) kullanarak da ağ trafiğini sürekli olarak analiz edebilir, şüpheli etkinlikleri ve anormallikleri tespit edebilir ve tehdit avcılığı sürecinde önemli bir rol oynayabilirsiniz.

GlXj09g.png

Senaryo 2

Bu senaryoda, sunucumuzda çalışan uygulamaların loglarını inceleyerek şüpheli etkinlikler ve olası saldırıları tespit etmeye çalışacağız.

Senaryo2 Uygulama

İlk olarak, sunucumuzda çalışan uygulamaların loglarını toplayalım. Örneğin, bir web sunucusu (Apache veya Nginx) ve bir veritabanı sunucusu (MySQL veya PostgreSQL) çalıştıralım.

Apache'nin loglarını incelemek için,
/var/log/apache2 dizinine gidip access.log ve error.log dosyalarını inceleyelim.
Nginx için, /var/log/nginx dizinine gidip aynı şekilde
access.log ve error.log dosyalarını inceleyelim.

Bu log dosyalarında, şüpheli IP adreslerinden gelen istekler, hatalı sayfa istekleri, yüksek trafikli dönemler ve diğer anormallikler bulunabilir.

Apache
access.log dosyasında şüpheli IP adreslerinden gelen istekleri bulmak için şu komutu kullanabilirsiniz:
Kod:
grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}' /var/log/apache2/access.log | sort | uniq -c | sort -n
A7LcWo1.png

Bu komut, IP adreslerini içeren satırları bulur, sayıları sıralar ve benzersiz IP adreslerinin sayısını sıralar. Böylece, en çok istek yapan IP adreslerini belirleyebilirsiniz.

Veritabanı sunucusu loglarını incelemek için, MySQL için
/var/log/mysql ve PostgreSQL için /var/log/postgresql dizinlerine gidebilirsiniz.
Log dosyalarında, hatalı sorgular, şüpheli kullanıcı girişimleri ve diğer anormallikler bulunabilir.

Log dosyalarını sürekli olarak izlemek ve anormallikleri otomatik olarak tespit etmek için, log analizi araçlarından (ör. Logwatch, Logstash, Graylog) yararlanabilirsiniz.
8wWlG7X.png

Senaryo 3
Bu senaryoda, bir IDS (Intrusion Detection System) kullanarak sunucumuzdaki şüpheli etkinlikleri ve saldırıları tespit etmeye çalışacağız.

Senaryo 3 Uygulama
Ubuntu üzerinde Snort adlı popüler bir IDS'yi kullanacağız. Snort'u yüklemek için aşağıdaki komutları kullanalım:
Kod:
sudo apt-get update
sudo apt-get install snort
npDusr2.png

Ardından gelen ekrandan, ip adresimize göre konfigürasyonu sağlayalım.
dE4qZ74.png

Snort'u yapılandırmak için, /etc/snort/snort.conf dosyasını düzenleyelim ve ağ ayarlarımızı girelim. Ayrıca buradan, kural, vb. aktifleştirebilirsiniz. Kurallar kısmına birazdan değineceğim.
Gutquch.png

Ardından, Snort'u başlatalım
Kod:
sudo systemctl start snort

Snort, şüpheli etkinlikleri ve saldırıları tespit etmek için kurallar kullanır. Bu kuralları /etc/snort/rules dizininde bulabilirsiniz.

Snort, önceden tanımlanmış kuralların yanı sıra özel kurallar da kullanabilir.

Önceden tanımlanmış kuralları indirmek için Snort'un resmi sitesini ziyaret edebilirsiniz.
Bu kurallar genellikle yaygın saldırı vektörlerine ve tehditlere yöneliktir.
JCf74n3.png

Özel kurallar oluşturarak, sunucunuzda daha spesifik şüpheli etkinlikleri ve saldırıları tespit etmek için Snort'u özelleştirebilirsiniz. Özel bir kural oluşturmak için, /etc/snort/rules/local.rules dosyasını düzenleyelim ve kuralı ekleyelim.
Örnek kural:
Kod:
alert tcp any any -> $HOME_NET 80 (msg:"Possible SQL Injection"; pcre:"/(\%27)|(\')|(\-\-)|(\%23)|(#)/i"; classtype:web-application-attack; sid:1000001; rev:1;)
d38tSy1.png

Bu örnek kural, gelen TCP trafiğinde olası SQL enjeksiyon saldırılarını tespit etmeye çalışır.
Kural, belirli karakter dizilerine (ör. tek tırnak, yorum işareti) sahip istekleri izler ve bir uyarı mesajı oluşturur.

Snort'u yapılandırdıktan ve kuralları ekledikten sonra, Snort'u yeniden başlatalım:

Kod:
sudo systemctl restart snort
Snort, şüpheli etkinlikleri ve saldırıları tespit ettiğinde, bu bilgileri /var/log/snort/alert dosyasında saklar. Bu dosyayı düzenli olarak kontrol ederek, sunucunuzdaki anormallikleri ve şüpheli etkinlikleri takip edebilirsiniz.

Kapanış
F3beZqk.png

Okuduğunuz için teşekkürler. Bu tarz içerikler genelde bütün günümü alıyor. Bundan dolayı diğer içeriklere birazcık motivasyon olması için cevap yazmayı unutmayın :)
Ayrıca önceki içeriklerim:

Code Review Nedir? Nasıl Yapılır? Örneklerle Anlatım!
SCADA & ICS Zaafiyetleri ve Bash Örnekleri!
Meltdown ve Spectre: Modern İşlemcilerdeki Güvenlik Zaafiyetleri
Python ile Zararlı Yazılım Analizi!
HackRF ile Bluetooth Low Energy Sniffing #3
HackRF ile Replay Attack #2
HackRF Nedir? | HackRF ile GPS Spoofing #1
Phishing URL Kısaltma Uygulaması Yazalım! | Phishing için URL Tekniği
QRLJacking Nedir? | Whatsapp Saldırı Vektörü Oluşturalım!


 

teux

Katılımcı Üye
23 Ocak 2023
960
1,346
f8l1281.png

İyi günler Türk Hack Team ailesi.

Siber güvenlik dünyasında, proaktif savunma stratejileri giderek daha önemli hale gelmektedir.
Bu bağlamda, Blue Team için tehdit avcılığı (threat hunting) kavramı ön plana çıkmaktadır.
Bu içerikte, tehdit avcılığına odaklanarak, bu yaklaşımın Blue Team için nasıl uygulanabileceği ve hangi yeni nesil güvenlik araçlarının kullanılabileceği üzerinde duracağız.

Umarım blue team alanında kariyer yapmak isteyen üyeler için, kullanabilecekleri bir rehber olur.

Ayrıca son 3-4 konumda olduğu gibi bu içerikte ilk olarak genel bir anlatımla başlayıp, sonrasında teknik detaylarıyla anlatımını yapacağım.
Bundan dolayı sonunua kadar okumanızda fayda var.

PpUz4Fr.gif

IvwCnY9.png
Tehdit Avcılığı (Threat Hunting) Nedir?
F3beZqk.png


Tehdit avcılığı, siber güvenlik profesyonellerinin potansiyel tehditleri ve saldırıları önceden tespit etmeye çalıştığı proaktif bir süreçtir.
Bu süreçte, uzmanlar sistem ve ağlardaki anormallikleri ve şüpheli aktiviteleri analiz eder, bilgi toplar ve olaylara hızlı bir şekilde müdahale etmeyi amaçlar.

rHncnum.png


Temel olarak, bu süreç, ağ trafiğini ve sistemlerdeki belirli davranışları izleyerek, zararlı etkinlikleri tespit etmek ve bunları durdurmak için gerekli önlemleri almak için tasarlanmıştır.
Tehdit avcılığı, birçok farklı teknik kullanarak gerçekleştirilebilir.
7dxfJha.png

Bu teknikler, genellikle birçok farklı veri kaynağından (log dosyaları, ağ trafik analizleri, vb.) gelen verileri analiz etmek ve potansiyel tehditleri tespit etmek için birleştirilir.


Tehdit Avcılığı Süreci
F3beZqk.png

Tehdit avcılığı süreci, bir organizasyonun ağını, sistemlerini ve uygulamalarını potansiyel tehditlere karşı korumak için bir dizi adımdan oluşan proaktif bir yaklaşımdır.
Genellikle Blue Team tarafından yürütülür, ki bu ekip, organizasyonun siber güvenliği için sorumlu olan takımdır.

GOHgexH.png


Tehdit Avcılığı Adımları

Hedef belirleme
Öncelikle, hangi sistemlerin ve varlıkların kritik olduğunu belirlemek gerekir.

WnF7Vzv.png

İstihbarat toplama
Blue Team, mevcut tehditler ve saldırı vektörleri hakkında bilgi toplayarak, güvenlik stratejilerini güncel tutmalıdır.

oiNf75O.png

Anomalileri ve şüpheli etkinlikleri analiz etme
Sistem ve ağlardaki anormal davranışları ve şüpheli etkinlikleri tespit etmek için günlükler, ağ trafiği ve uygulama verileri analiz edilmelidir.

y45HVlB.png


Olay müdahalesi
Tespit edilen tehditlere ve saldırılara hızlı bir şekilde müdahale etmek, etkilerini en aza indirmeye yardımcı olur.

6qmpeSM.png


Tehdit Avcılığı Uygulamalı Senaryolar

F3beZqk.png

Bu kısımda ben, linux bir vds üzerinden anlatımlarımı yapacağım. Sizler dilerseniz kendi bilgisayarınızda da yapabilirsiniz.


Senaryo 1
Bu senaryoda, sunucumuzdaki ağı analiz ederek istekleri kontrol edeceğiz. Ardından gelen isteklerde anormallik olup olmadığını kontrol edeceğiz.

Senaryo 1 Uygulama
Ağımızı analiz edebilmek için öncelikle Wireshark'ın terminal tabanlı versiyonu olan Tshark'ı kuracağız.
Debian tabanlı bir donanımda kurmak için "
sudo apt-get install tshark" komutunu kullanalım.
7q8nlVd.png

Ardından gelen ekran'da yes diyip, kuruluma devam edelim.

Dk97YOS.png


Kurulum tamamlandıktan sonra, ağ trafiğini izlemeye hazırız.
Daha önceden Wireshark kullandıysanız filtreleme komutlarını hatırlıyorsunuzdur.
Tshark'da aynı bu komutlar ile çalışıyor. Zaten az önce belirttiğim gibi Wireshark'ın gui'siz hali.

Şimdi taramaya başlamadan önce
ifconfig komutu ile ağ arayüzlerimize bakalım.
PRgn9dE.png

Burada gördüğünüz gibi, 2 adet ağ arayüzüm( eth0, eth1) mevcut.

eth0 sunucunun dışarıya açık olan ağını temsil ederken, eth1 iç ağı temsil ediyor.

Şimdi

Kod:
sudo tshark -i eth0 -Y 'http.request or http.response'
Komutu ile dış ağımızda gerçekleşen http isteklerini filtreleyelim.
Burada, -i parametresi ile izlemek istediğiniz ağ arayüzünü (ör. eth0) belirtmelisiniz.
-Y parametresi ile de ilgilendiğiniz trafiği filtrelemelisiniz. Bu örnekte, HTTP istek ve yanıtlarını izliyoruz.
obmEr1p.png

Yukarıdaki görselde gördüğünüz gibi, http istekleri terminalde listelenmeye başladı.

Şüpheli etkinlikleri ve anormallikleri tespit edelim.

Ağ trafiğinde şüpheli etkinlikler ve anormallikler tespit etmeye çalışalım.
Örneğin, anormal miktarda hatalı paketler, beklenmedik protokoller veya alışılmadık iletişim desenleri gibi şüpheli etkinlikler bulabilirsiniz.

Yukarıdaki görselde
Normalde sunucuda sadece https isteklerine yanıt verecek şekilde konfigüre etmiştim.
Fakat sunucuyu http'den bağlanmaya zorladım. Bundan dolayı tshark ağında önümüze istekler düşmeye başladı.

Benzer şekilde, diğer NTA araçları (ör. Darktrace, Cisco Stealthwatch, ExtraHop Reveal(x)) kullanarak da ağ trafiğini sürekli olarak analiz edebilir, şüpheli etkinlikleri ve anormallikleri tespit edebilir ve tehdit avcılığı sürecinde önemli bir rol oynayabilirsiniz.

GlXj09g.png

Senaryo 2

Bu senaryoda, sunucumuzda çalışan uygulamaların loglarını inceleyerek şüpheli etkinlikler ve olası saldırıları tespit etmeye çalışacağız.

Senaryo2 Uygulama

İlk olarak, sunucumuzda çalışan uygulamaların loglarını toplayalım. Örneğin, bir web sunucusu (Apache veya Nginx) ve bir veritabanı sunucusu (MySQL veya PostgreSQL) çalıştıralım.

Apache'nin loglarını incelemek için,
/var/log/apache2 dizinine gidip access.log ve error.log dosyalarını inceleyelim.
Nginx için, /var/log/nginx dizinine gidip aynı şekilde
access.log ve error.log dosyalarını inceleyelim.

Bu log dosyalarında, şüpheli IP adreslerinden gelen istekler, hatalı sayfa istekleri, yüksek trafikli dönemler ve diğer anormallikler bulunabilir.

Apache
access.log dosyasında şüpheli IP adreslerinden gelen istekleri bulmak için şu komutu kullanabilirsiniz:
Kod:
grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}' /var/log/apache2/access.log | sort | uniq -c | sort -n
A7LcWo1.png

Bu komut, IP adreslerini içeren satırları bulur, sayıları sıralar ve benzersiz IP adreslerinin sayısını sıralar. Böylece, en çok istek yapan IP adreslerini belirleyebilirsiniz.

Veritabanı sunucusu loglarını incelemek için, MySQL için /var/log/mysql ve PostgreSQL için /var/log/postgresql dizinlerine gidebilirsiniz.
Log dosyalarında, hatalı sorgular, şüpheli kullanıcı girişimleri ve diğer anormallikler bulunabilir.

Log dosyalarını sürekli olarak izlemek ve anormallikleri otomatik olarak tespit etmek için, log analizi araçlarından (ör. Logwatch, Logstash, Graylog) yararlanabilirsiniz.
8wWlG7X.png

Senaryo 3
Bu senaryoda, bir IDS (Intrusion Detection System) kullanarak sunucumuzdaki şüpheli etkinlikleri ve saldırıları tespit etmeye çalışacağız.

Senaryo 3 Uygulama
Ubuntu üzerinde Snort adlı popüler bir IDS'yi kullanacağız. Snort'u yüklemek için aşağıdaki komutları kullanalım:
Kod:
sudo apt-get update
sudo apt-get install snort
npDusr2.png

Ardından gelen ekrandan, ip adresimize göre konfigürasyonu sağlayalım.
dE4qZ74.png

Snort'u yapılandırmak için, /etc/snort/snort.conf dosyasını düzenleyelim ve ağ ayarlarımızı girelim. Ayrıca buradan, kural, vb. aktifleştirebilirsiniz. Kurallar kısmına birazdan değineceğim.
Gutquch.png

Ardından, Snort'u başlatalım
Kod:
sudo systemctl start snort

Snort, şüpheli etkinlikleri ve saldırıları tespit etmek için kurallar kullanır. Bu kuralları /etc/snort/rules dizininde bulabilirsiniz.

Snort, önceden tanımlanmış kuralların yanı sıra özel kurallar da kullanabilir.

Önceden tanımlanmış kuralları indirmek için Snort'un resmi sitesini ziyaret edebilirsiniz.
Bu kurallar genellikle yaygın saldırı vektörlerine ve tehditlere yöneliktir.
JCf74n3.png

Özel kurallar oluşturarak, sunucunuzda daha spesifik şüpheli etkinlikleri ve saldırıları tespit etmek için Snort'u özelleştirebilirsiniz. Özel bir kural oluşturmak için, /etc/snort/rules/local.rules dosyasını düzenleyelim ve kuralı ekleyelim.
Örnek kural:
Kod:
alert tcp any any -> $HOME_NET 80 (msg:"Possible SQL Injection"; pcre:"/(\%27)|(\')|(\-\-)|(\%23)|(#)/i"; classtype:web-application-attack; sid:1000001; rev:1;)
d38tSy1.png

Bu örnek kural, gelen TCP trafiğinde olası SQL enjeksiyon saldırılarını tespit etmeye çalışır.
Kural, belirli karakter dizilerine (ör. tek tırnak, yorum işareti) sahip istekleri izler ve bir uyarı mesajı oluşturur.

Snort'u yapılandırdıktan ve kuralları ekledikten sonra, Snort'u yeniden başlatalım:

Kod:
sudo systemctl restart snort
Snort, şüpheli etkinlikleri ve saldırıları tespit ettiğinde, bu bilgileri /var/log/snort/alert dosyasında saklar. Bu dosyayı düzenli olarak kontrol ederek, sunucunuzdaki anormallikleri ve şüpheli etkinlikleri takip edebilirsiniz.

Kapanış
F3beZqk.png

Okuduğunuz için teşekkürler. Bu tarz içerikler genelde bütün günümü alıyor. Bundan dolayı diğer içeriklere birazcık motivasyon olması için cevap yazmayı unutmayın :)
Ayrıca önceki içeriklerim:

Code Review Nedir? Nasıl Yapılır? Örneklerle Anlatım!
SCADA & ICS Zaafiyetleri ve Bash Örnekleri!
Meltdown ve Spectre: Modern İşlemcilerdeki Güvenlik Zaafiyetleri
Python ile Zararlı Yazılım Analizi!
HackRF ile Bluetooth Low Energy Sniffing #3
HackRF ile Replay Attack #2
HackRF Nedir? | HackRF ile GPS Spoofing #1
Phishing URL Kısaltma Uygulaması Yazalım! | Phishing için URL Tekniği
QRLJacking Nedir? | Whatsapp Saldırı Vektörü Oluşturalım!


Elinize sağlık gayet açıklayıcı ve net bir konu olmuş. İyi Çalışmalar dilerim.
 

Rewan

'Türk ün yaveri
26 Kas 2020
2,028
1,493
Konum
Bilgisine gerçekten inandığım ve saygı duyacağım sayılı insanlardan birisisin gerçekten eline emeğine sağlık
 

ACE Veen

Uzman üye
4 Şub 2023
1,128
569
Belirsiz
f8l1281.png

İyi günler Türk Hack Team ailesi.

Siber güvenlik dünyasında, proaktif savunma stratejileri giderek daha önemli hale gelmektedir.
Bu bağlamda, Blue Team için tehdit avcılığı (threat hunting) kavramı ön plana çıkmaktadır.
Bu içerikte, tehdit avcılığına odaklanarak, bu yaklaşımın Blue Team için nasıl uygulanabileceği ve hangi yeni nesil güvenlik araçlarının kullanılabileceği üzerinde duracağız.

Umarım blue team alanında kariyer yapmak isteyen üyeler için, kullanabilecekleri bir rehber olur.

Ayrıca son 3-4 konumda olduğu gibi bu içerikte ilk olarak genel bir anlatımla başlayıp, sonrasında teknik detaylarıyla anlatımını yapacağım.
Bundan dolayı sonunua kadar okumanızda fayda var.

PpUz4Fr.gif

IvwCnY9.png
Tehdit Avcılığı (Threat Hunting) Nedir?
F3beZqk.png


Tehdit avcılığı, siber güvenlik profesyonellerinin potansiyel tehditleri ve saldırıları önceden tespit etmeye çalıştığı proaktif bir süreçtir.
Bu süreçte, uzmanlar sistem ve ağlardaki anormallikleri ve şüpheli aktiviteleri analiz eder, bilgi toplar ve olaylara hızlı bir şekilde müdahale etmeyi amaçlar.

rHncnum.png


Temel olarak, bu süreç, ağ trafiğini ve sistemlerdeki belirli davranışları izleyerek, zararlı etkinlikleri tespit etmek ve bunları durdurmak için gerekli önlemleri almak için tasarlanmıştır.
Tehdit avcılığı, birçok farklı teknik kullanarak gerçekleştirilebilir.
7dxfJha.png

Bu teknikler, genellikle birçok farklı veri kaynağından (log dosyaları, ağ trafik analizleri, vb.) gelen verileri analiz etmek ve potansiyel tehditleri tespit etmek için birleştirilir.


Tehdit Avcılığı Süreci
F3beZqk.png

Tehdit avcılığı süreci, bir organizasyonun ağını, sistemlerini ve uygulamalarını potansiyel tehditlere karşı korumak için bir dizi adımdan oluşan proaktif bir yaklaşımdır.
Genellikle Blue Team tarafından yürütülür, ki bu ekip, organizasyonun siber güvenliği için sorumlu olan takımdır.

GOHgexH.png


Tehdit Avcılığı Adımları

Hedef belirleme
Öncelikle, hangi sistemlerin ve varlıkların kritik olduğunu belirlemek gerekir.

WnF7Vzv.png

İstihbarat toplama
Blue Team, mevcut tehditler ve saldırı vektörleri hakkında bilgi toplayarak, güvenlik stratejilerini güncel tutmalıdır.

oiNf75O.png

Anomalileri ve şüpheli etkinlikleri analiz etme
Sistem ve ağlardaki anormal davranışları ve şüpheli etkinlikleri tespit etmek için günlükler, ağ trafiği ve uygulama verileri analiz edilmelidir.

y45HVlB.png


Olay müdahalesi
Tespit edilen tehditlere ve saldırılara hızlı bir şekilde müdahale etmek, etkilerini en aza indirmeye yardımcı olur.

6qmpeSM.png


Tehdit Avcılığı Uygulamalı Senaryolar

F3beZqk.png

Bu kısımda ben, linux bir vds üzerinden anlatımlarımı yapacağım. Sizler dilerseniz kendi bilgisayarınızda da yapabilirsiniz.


Senaryo 1
Bu senaryoda, sunucumuzdaki ağı analiz ederek istekleri kontrol edeceğiz. Ardından gelen isteklerde anormallik olup olmadığını kontrol edeceğiz.

Senaryo 1 Uygulama
Ağımızı analiz edebilmek için öncelikle Wireshark'ın terminal tabanlı versiyonu olan Tshark'ı kuracağız.
Debian tabanlı bir donanımda kurmak için "
sudo apt-get install tshark" komutunu kullanalım.
7q8nlVd.png

Ardından gelen ekran'da yes diyip, kuruluma devam edelim.

Dk97YOS.png


Kurulum tamamlandıktan sonra, ağ trafiğini izlemeye hazırız.
Daha önceden Wireshark kullandıysanız filtreleme komutlarını hatırlıyorsunuzdur.
Tshark'da aynı bu komutlar ile çalışıyor. Zaten az önce belirttiğim gibi Wireshark'ın gui'siz hali.

Şimdi taramaya başlamadan önce
ifconfig komutu ile ağ arayüzlerimize bakalım.
PRgn9dE.png

Burada gördüğünüz gibi, 2 adet ağ arayüzüm( eth0, eth1) mevcut.

eth0 sunucunun dışarıya açık olan ağını temsil ederken, eth1 iç ağı temsil ediyor.

Şimdi

Kod:
sudo tshark -i eth0 -Y 'http.request or http.response'
Komutu ile dış ağımızda gerçekleşen http isteklerini filtreleyelim.
Burada, -i parametresi ile izlemek istediğiniz ağ arayüzünü (ör. eth0) belirtmelisiniz.
-Y parametresi ile de ilgilendiğiniz trafiği filtrelemelisiniz. Bu örnekte, HTTP istek ve yanıtlarını izliyoruz.
obmEr1p.png

Yukarıdaki görselde gördüğünüz gibi, http istekleri terminalde listelenmeye başladı.

Şüpheli etkinlikleri ve anormallikleri tespit edelim.

Ağ trafiğinde şüpheli etkinlikler ve anormallikler tespit etmeye çalışalım.
Örneğin, anormal miktarda hatalı paketler, beklenmedik protokoller veya alışılmadık iletişim desenleri gibi şüpheli etkinlikler bulabilirsiniz.

Yukarıdaki görselde
Normalde sunucuda sadece https isteklerine yanıt verecek şekilde konfigüre etmiştim.
Fakat sunucuyu http'den bağlanmaya zorladım. Bundan dolayı tshark ağında önümüze istekler düşmeye başladı.

Benzer şekilde, diğer NTA araçları (ör. Darktrace, Cisco Stealthwatch, ExtraHop Reveal(x)) kullanarak da ağ trafiğini sürekli olarak analiz edebilir, şüpheli etkinlikleri ve anormallikleri tespit edebilir ve tehdit avcılığı sürecinde önemli bir rol oynayabilirsiniz.

GlXj09g.png

Senaryo 2

Bu senaryoda, sunucumuzda çalışan uygulamaların loglarını inceleyerek şüpheli etkinlikler ve olası saldırıları tespit etmeye çalışacağız.

Senaryo2 Uygulama

İlk olarak, sunucumuzda çalışan uygulamaların loglarını toplayalım. Örneğin, bir web sunucusu (Apache veya Nginx) ve bir veritabanı sunucusu (MySQL veya PostgreSQL) çalıştıralım.

Apache'nin loglarını incelemek için,
/var/log/apache2 dizinine gidip access.log ve error.log dosyalarını inceleyelim.
Nginx için, /var/log/nginx dizinine gidip aynı şekilde
access.log ve error.log dosyalarını inceleyelim.

Bu log dosyalarında, şüpheli IP adreslerinden gelen istekler, hatalı sayfa istekleri, yüksek trafikli dönemler ve diğer anormallikler bulunabilir.

Apache
access.log dosyasında şüpheli IP adreslerinden gelen istekleri bulmak için şu komutu kullanabilirsiniz:
Kod:
grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}' /var/log/apache2/access.log | sort | uniq -c | sort -n
A7LcWo1.png

Bu komut, IP adreslerini içeren satırları bulur, sayıları sıralar ve benzersiz IP adreslerinin sayısını sıralar. Böylece, en çok istek yapan IP adreslerini belirleyebilirsiniz.

Veritabanı sunucusu loglarını incelemek için, MySQL için /var/log/mysql ve PostgreSQL için /var/log/postgresql dizinlerine gidebilirsiniz.
Log dosyalarında, hatalı sorgular, şüpheli kullanıcı girişimleri ve diğer anormallikler bulunabilir.

Log dosyalarını sürekli olarak izlemek ve anormallikleri otomatik olarak tespit etmek için, log analizi araçlarından (ör. Logwatch, Logstash, Graylog) yararlanabilirsiniz.
8wWlG7X.png

Senaryo 3
Bu senaryoda, bir IDS (Intrusion Detection System) kullanarak sunucumuzdaki şüpheli etkinlikleri ve saldırıları tespit etmeye çalışacağız.

Senaryo 3 Uygulama
Ubuntu üzerinde Snort adlı popüler bir IDS'yi kullanacağız. Snort'u yüklemek için aşağıdaki komutları kullanalım:
Kod:
sudo apt-get update
sudo apt-get install snort
npDusr2.png

Ardından gelen ekrandan, ip adresimize göre konfigürasyonu sağlayalım.
dE4qZ74.png

Snort'u yapılandırmak için, /etc/snort/snort.conf dosyasını düzenleyelim ve ağ ayarlarımızı girelim. Ayrıca buradan, kural, vb. aktifleştirebilirsiniz. Kurallar kısmına birazdan değineceğim.
Gutquch.png

Ardından, Snort'u başlatalım
Kod:
sudo systemctl start snort

Snort, şüpheli etkinlikleri ve saldırıları tespit etmek için kurallar kullanır. Bu kuralları /etc/snort/rules dizininde bulabilirsiniz.

Snort, önceden tanımlanmış kuralların yanı sıra özel kurallar da kullanabilir.

Önceden tanımlanmış kuralları indirmek için Snort'un resmi sitesini ziyaret edebilirsiniz.
Bu kurallar genellikle yaygın saldırı vektörlerine ve tehditlere yöneliktir.
JCf74n3.png

Özel kurallar oluşturarak, sunucunuzda daha spesifik şüpheli etkinlikleri ve saldırıları tespit etmek için Snort'u özelleştirebilirsiniz. Özel bir kural oluşturmak için, /etc/snort/rules/local.rules dosyasını düzenleyelim ve kuralı ekleyelim.
Örnek kural:
Kod:
alert tcp any any -> $HOME_NET 80 (msg:"Possible SQL Injection"; pcre:"/(\%27)|(\')|(\-\-)|(\%23)|(#)/i"; classtype:web-application-attack; sid:1000001; rev:1;)
d38tSy1.png

Bu örnek kural, gelen TCP trafiğinde olası SQL enjeksiyon saldırılarını tespit etmeye çalışır.
Kural, belirli karakter dizilerine (ör. tek tırnak, yorum işareti) sahip istekleri izler ve bir uyarı mesajı oluşturur.

Snort'u yapılandırdıktan ve kuralları ekledikten sonra, Snort'u yeniden başlatalım:

Kod:
sudo systemctl restart snort
Snort, şüpheli etkinlikleri ve saldırıları tespit ettiğinde, bu bilgileri /var/log/snort/alert dosyasında saklar. Bu dosyayı düzenli olarak kontrol ederek, sunucunuzdaki anormallikleri ve şüpheli etkinlikleri takip edebilirsiniz.

Kapanış
F3beZqk.png

Okuduğunuz için teşekkürler. Bu tarz içerikler genelde bütün günümü alıyor. Bundan dolayı diğer içeriklere birazcık motivasyon olması için cevap yazmayı unutmayın :)
Ayrıca önceki içeriklerim:

Code Review Nedir? Nasıl Yapılır? Örneklerle Anlatım!
SCADA & ICS Zaafiyetleri ve Bash Örnekleri!
Meltdown ve Spectre: Modern İşlemcilerdeki Güvenlik Zaafiyetleri
Python ile Zararlı Yazılım Analizi!
HackRF ile Bluetooth Low Energy Sniffing #3
HackRF ile Replay Attack #2
HackRF Nedir? | HackRF ile GPS Spoofing #1
Phishing URL Kısaltma Uygulaması Yazalım! | Phishing için URL Tekniği
QRLJacking Nedir? | Whatsapp Saldırı Vektörü Oluşturalım!


şu profil fotoğrafı beni benden alıyor elinize sağlık hocam
 
Ü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.