HTTP/S Protokolü ile C2 Analizi ve Anomaliler
Siber güvenlikte, HTTP/S protokolü üzerinden yapılan C2 iletişimlerini analiz etmek kritik öneme sahiptir. Bu yazıda, başlık anomalileri ve tespit yöntemlerine dair önemli bilgiler bulacaksınız. HTTP/S protokolünün bu yönünü keşfedin.
Giriş ve Konumlandırma
HTTP/S C2 Tanımı
HTTP/S (Hypertext Transfer Protocol / Secure) protokolü, web üzerinde veri iletimi için kullanılan en yaygın iletişim protokollerinden birisidir. Saldırganlar, bu protokolü kullanarak Command and Control (C2) iletişimi gerçekleştirebilirler. C2 yapıları, zararlı yazılımların uzaktan yönetilmesi ve komutların verilmesi için kritik bir rol oynar. HTTP/S protokolü, trafiğin genellikle güvenlik duvarları ve ağ cihazları tarafından kısıtlanmadığı için tercih edilmektedir. Yani, saldırganlar kendi zararlı aktivitelerini meşru web trafiği gibi gizleyerek, tespit edilme riskini azaltmış olurlar.
Neden Önemli?
HTTP/S tabanlı C2 iletişimi, günümüzde siber güvenlik açısında önemli bir tehdit olarak öne çıkmaktadır. Siber saldırılar, genellikle zararlı yazılımların ağa sızmasından ve daha sonra kontrol altına alınmasından ibarettir. Bu nedenle, bir organizasyonun savunma mekanizmaları, HTTP/S üzerindeki bu tür iletişimleri tespit edebilmesi için güçlendirilmelidir. Penetrasyon testleri (pentest) ve güvenlik analizleri yapılarak, bu tür anomalilerin belirlenmesi ve önlenmesi mümkündür.
Siber Güvenlik ve C2 Yapılarının Bağlantısı
Siber güvenlik dünyasında, C2 yapıları genellikle bir tehdit aktörünün kontrolünü sağlamak için kullanılır. HTTP/S protokolü üzerinden gerçekleştirilen bu iletişim, genellikle veri hırsızlığı, sistem manipülasyonu veya diğer zararlı aktiviteler için istismar edilir. Bu bağlamda, güvenlik analistlerinin bu tür C2 iletişimlerine yönelik belirli stratejiler geliştirmeleri ve tespit yöntemlerini sürekli güncellemeleri gerekmektedir.
Gelişmiş tehdit aktörleri (APT) tarafından kullanılan HTTP/S tabanlı C2 yapıları genellikle şifrelenmiş veri ile iletişim kurar. Bu da, basit ağ izleme ve analiz yöntemleri ile tespit edilmelerini zorlaştırır. Anomalileri tespit etmek için kullanılan metotlar; kullanıcı ajanları, URI desenleri, başlık anomalileri gibi çeşitli teknikleri kapsar. Bu nedenle, analistlerin bu tür başlıkların incelenmesine ve analiz edilmesine yönelik becerileri güçlendirilmelidir.
Teknik İçeriğe Hazırlık
HTTP/S üzerinden C2 analizi amacıyla kullanılacak bazı temel metotlar şunlardır:
- Metodolojiler: Belirli HTTP metotlarının kaçınılmaz kullanımı gibi GET ve POST metotları arasında bir ayrım yapılmalıdır. GET metodu, ajanın sunucudan yeni komutları sorması ve içerik indirmesi için kullanılırken, POST metodu ise elde edilen çıktıların, sistem bilgileri veya çalınan verilerin sunucuya iletilmesi için kullanılır.
- Anomalilerin Tespiti: Kötü niyetli bir C2 yapısının tespiti için, ağ trafiğinde şüpheli karakterler veya standart dışı başlıklar aramak önemlidir. Örneğin,
User-Agentbaşlıkları üzerinde yapılacak uzmanlık, C2 ajanın kimliğini ifşa edebilir.
tshark -Y http.request -T fields -e http.user_agent sort -u
Bu komut, ağ trafiğinde bulunan tüm HTTP User-Agent bilgilerini tekilleştirerek listelemenizi sağlar.
- Veri Şifreleme: HTTP trafiğinde şifrelenmiş ikili verinin görünmesi, veri gizleme amaçlı yapılmış bir iletişim olduğunu gösterir. Bu tür durumları tespit etmek için durumsal farkındalık ve geçmiş tespit yöntemlerini kullanmak; analistlerin elini güçlendirir.
Sonuç olarak, HTTP/S protokolü üzerinden yapılan C2 iletişimi, siber güvenlik alanında kritik bir tehdit oluştururken, bu tehditlerin tespitinde kullanılacak tekniklerin de sürekli güncellenmesi gerekmektedir. Siber güvenlik analistleri, bu noktada teorik bilgi ile pratiği bir arada harmanlamalı ve güncel olay müdahale süreçlerine entegre bir yaklaşım benimsemelidir.
Teknik Analiz ve Uygulama
HTTP/S Protokolü ile C2 Analizi ve Anomaliler
HTTP/S C2 Tanımı
HTTP ve HTTPS, en yaygın olarak kullanılan uygulama katmanı protokolleridir. Saldırganlar, bu protokollerin genel kullanımı sayesinde C2 (Command and Control) iletişimini meşru web trafiği gibi gizleyerek, güvenlik duvarlarından geçmeyi kolaylaştırırlar. C2 iletişiminin HTTP(s) üzerinden gerçekleştirilmesi, birçok durumda ağ güvenliği çözümlerinden kaçınmayı mümkün kılar. Bu nedenle, HTTP/S protokolü aracılığıyla gerçekleştirilen kötü niyetli iletişimi tanımlamak ve analiz etmek kritik bir öneme sahiptir.
Metotların Kullanımı
HTTP C2 iletişiminde genellikle üç ana metot tercih edilir: GET, POST ve CONNECT.
- HTTP GET: Ajanın sunucudan yeni komutları talep etmesi (polling) veya belirli bir aşamanın indirilmesini sağlar.
- HTTP POST: Çalınan verilerin veya sistem bilgilerinin sunucuya iletilmesinde kullanılır.
- HTTP CONNECT: Trafiği bir proxy üzerinden tünellemek için kullanılan bir yöntemdir.
Bu yöntemlerin analizi, başlıkların incelenmesi esnasında oldukça faydalıdır. GET ve POST isteklerinin sıklığı ve içeriği, şüpheli aktivitelerin tespitinde önemli bir ipucu verebilir.
User-Agent Anomalisi
Ağ trafiğinde görülen User-Agent başlıkları, C2 ajanlarının varlığını gösteren önemli bir göstergedir. Yazım hatası içeren, çok eski tarayıcı sürümlerine ait olan veya standart dışı karakterler barındıran User-Agent başlıkları, genellikle uyumsuz bir davranış sergileyen ajanın habercisidir. Örneğin, aşağıdaki komut ile ağ üzerinde görülen tüm User-Agent bilgilerini filtreleyebiliriz:
tshark -Y http.request -T fields -e http.user_agent | sort -u
İletişim Akışı
HTTP tabanlı bir C2 iletişiminin tipik akışı, ajan ve sunucu arasında gerçekleşen etkileşimi içerir. Ajan, belirli aralıklarla sunucuya GET isteği göndererek yeni komutları alır. Sunucu, gelen istek doğrultusunda gerekli bilgileri veya komutları iletir. Ajan, aldığı bilgiler doğrultusunda gerekli adımları uyguladıktan sonra sonuçları POST isteği ile sunucuya gönderir. Bu döngü, kötü niyetli aktivitelerin sürdürülmesini sağlar.
Content-Type Şüphesi
HTTP trafiğinde, isteklerde beklenen Content-Type başlıkları genellikle belirli bir formatta (örneğin, application/json veya text/html) olmalıdır. Ancak, bu başlıkların beklenmedik bir şekilde değişmesi veya binari veri içermesi, veri gizleme (data hiding) girişimlerini gösterir. Aşağıdaki örnekte görüldüğü gibi, içerik türünde bir tutarsızlık tespit edildiğinde, bu durum dikkatlice incelenmelidir:
POST /submit HTTP/1.1
Host: example.com
Content-Type: application/octet-stream
<binary-data>
Yukarıdaki örnekte, Content-Type olarak application/octet-stream belirlenmesi, içerikte beklenmeyen bir durum olduğunu gösterir.
Şüpheli URI Desenleri
Şüpheli URI desenleri, kötü niyetli C2 iletişimini tespit etmek için önemli bir diğer parametredir. Özellikle eski nesil PHP tabanlı C2 panellerinde sıkça görülen belirli yollar, saldırganların kullanılma olasılığını artırır. Örneğin, /admin/get.php veya /login/process.php gibi yollar, birçok C2 framework'ü tarafından varsayılan olarak kullanılır. Bu tür şüpheli desenlerin ağ trafiğinde tespit edilmesi, bir saldırının potansiyelizmi hakkında ciddi ipuçları verebilir.
Referer Başlığı Kontrolü
Meşru bir web trafiğinde, her isteğin bir önceki sayfadan geldiğini belirten Referer başlığı bulunmaktadır. Bu başlığın sürekli eksik kalması veya ifade edilen değerin anormal olması, bot trafiğine işaret edebilir. Bir ağ analisti olarak, bu başlığın sürekli izlenmesi ve herhangi bir uyumsuzluk durumunun ciddi bir şekilde incelenmesi önemlidir.
SOC L2 Pratiği
SOC L2 analistleri, HTTP tabanlı C2 tespiti için temel bir yaklaşım benimsemelidir. Bu yaklaşım, anormal URI yapılarını ve başlık uyumsuzluklarını öncelikle proxy loglarından ayıklamak üzerine kuruludur. Buradan elde edilen veriler doğrultusunda, şüpheli alan adlarını tespit ederek, web geçidi üzerinde engelleme yapabilir veya kompromisli hostları izole edebilirler.
Olay Müdahale (IR) Adımı
HTTP C2 tespiti kesinleştiğinde, izlenmesi gereken yol, olay müdahale adımlarını kapsar. İlk olarak, tehlike kaynağı etkin bir şekilde izlenmeli ve güvenlik protokolleri devreye sokulmalıdır. Gerekli adımların atılması, ağa olan olası zararları en aza indirebilir ve saldırının etkisini dindirebilir.
HTTP/S protokolü üzerinden gerçekleştirilen C2 analizi, uzmanlar için sürekli olarak dikkat edilmesi gereken bir alandır ve doğru teknik bilgi ve uygulamalarla yapılmalıdır. Bu süreçte doğru araçların kullanılması, bilgiye dayalı kararlar alınmasını kolaylaştırır.
Risk, Yorumlama ve Savunma
Risk Değerlendirmesi
HTTP/S protokolü, kötü niyetli aktörlerin C2 (Command and Control) iletişimini gerçekleştirmek için en çok tercih ettiği yolların başında gelir. Bu protokol üzerinden gerçekleştirilen iletişimler genellikle meşru kullanıcı trafiği ile karıştırıldığından, tespit edilmesi zor olur. Özellikle uygun yapılandırmalara sahip bir ağda, HTTP trafiği çoğunlukla güvenlik duvarlarından kısıtlamadan geçer. Bu nedenle, HTTP/S üzerinden gerçekleşen anormal aktiviteleri tespit etmek, siber güvenlik uzmanlarının en büyük zorluklarından biri durumundadır.
Yanlış Yapılandırmalar ve Zafiyetler
Yanlış yapılandırmalar veya sistemlerdeki zafiyetler, siber saldırganların HTTP/S protokolünü kötüye kullanmasına olanak tanır. Örneğin, bir web uygulamasında eksik olan bir güvenlik başlığı, bir saldırganın o uygulamayı hedef almasına ve kötü niyetli istekler göndermesine olanak tanır. Aşağıda, olası yapılandırma hataları ve sonuçları verilmiştir:
User-Agent Anomalileri: Saldırgan, olağan dışı bir User-Agent başlığı ekleyerek tespiti zorlaştırabilir. Örneğin;
curl -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0" http://example.comBu tür başlıklar, genellikle sahte olup, normal kullanıcı davranışlarını taklit etme amacındadır.
Referer Başlığı Eksikliği: HTTP isteklerinde referer başlığı olmaması, bot trafiği veya kötü niyetli istekler için önemli bir belirti olabilir. Örneğin:
curl -H "Referer:" http://example.com/malicious
Bu tür durumlar, sonunda veri sızıntısına veya sistemin kötüye kullanılmasına yol açabilir.
Sızan Veriler, Topoloji ve Servis Tespiti
C2 iletişimleri sırasında sızan veriler, genellikle kimlik bilgileri, sistem bilgileri veya çalınan verilerin içerdiği bilgilerdir. Kötü niyetli bir kullanıcı, HTTP POST metotunu kullanarak bu tür verileri sunucuya gönderebilir. Örnek bir HTTP POST isteği:
POST /submit.php?id=123 HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
username=attacker&password=12345
Bu tür istekler, sistemin güvenliğini tehlikeye atabilir ve şüpheli bir davranış tespit edilmediği takdirde, daha fazla zarara yol açabilir. C2 yapılandırmaları genellikle belirli URI desenlerine sahiptir. Örneğin:
/admin/get.php/login/process.php/submit.php?id=
Bu URI desenleri, özel framework’ler veya sistemlere ait olabilir, bu yüzden dikkatli bir inceleme ve analiz gerektirir.
Savunma ve Hardening Önerileri
C2 iletişimlerini tespit etmek ve önlemek için çeşitli yöntemler uygulanabilir:
Ağ İzleme: HTTP/S trafiği düzenli olarak izlenmeli ve anormal User-Agent, başlık eksiklikleri veya olağan dışı veri gönderimleri tespit edilmelidir. Bu amaçla
tsharkgibi araçlar kullanılabilir:tshark -Y http.request -T fields -e http.user_agent | sort -uGüvenlik Duvarı Kuralları: Özellikle HTTP/S portları üzerindeki gelen ve giden trafiği kısıtlamalı ve yalnızca gerekli olan bağlantılara izin verilmelidir.
Header Kontrolleri: HTTP başlıkları üzerinde sıkı kontroller gerçekleştirilmeli, eksik veya şüpheli başlıklar çok katmanlı bir analiz sürecine tabi tutulmalıdır.
Olay Müdahale Planları: C2 iletişimleri tespit edildiğinde hızlı bir müdahale planı oluşturulmalı; şüpheli alan adları engellenmeli ve ilgili sistemler izole edilmelidir.
Sonuç
HTTP/S protokolü ile gerçekleştirilen C2 analizi, siber güvenlik alanında sürekli gelişim gerektiren bir konudur. Yanlış yapılandırmalar, başlık anomalileri ve veri sızıntıları gibi tehditler, doğru analiz ve izleme ile tespit edilebilir. Ağ güvenlik sistemleri için önerilen hardening teknikleri, bu tarz tehditlerin önlenmesi ve sistemlerin sağlamlaştırılması açısından büyük önem taşımaktadır. Siber savunma stratejilerini sürekli güncel tutmak, olası saldırılara karşı en etkili koruma yöntemidir.