Bir arka kapı (backdoor) zararlısı artık kendi komuta-kontrol (C2) altyapısını işletmiyor — bunun yerine sizin kurumunuzun zaten güvendiği Microsoft’un kendi sunucularını kullanıyor. GoGra’nın Linux varyantı, Outlook gelen kutusunu bir posta kutusu gibi değil, gizli bir talimat kanalı olarak kullanıyor. Bu yöntem, geleneksel ağ tabanlı tehdit algılama (network-based threat detection) araçlarının büyük çoğunluğunu kör ediyor; çünkü Microsoft’un IP bloklarına giden HTTPS trafiği kurumsal ortamlarda neredeyse hiç sorgulanmıyor.
⚠️ GoGra Nedir ve Neden Farklı?
GoGra, ilk olarak Windows ortamlarında tespit edilen, Go programlama diliyle yazılmış bir arka kapı ailesidir. Yeni Linux varyantı ise bu tehdidin yalnızca bir platform güncellemesi değil, taktik açıdan olgunlaştığının işareti. Zararlı yazılım, Microsoft Graph API’sini kullanarak saldırgana ait bir Outlook hesabındaki gelen kutusunu C2 (komuta ve kontrol) kanalı olarak devreye alıyor. Yani zararlının iletişim kurduğu adres outlook.com — kurumsal güvenlik duvarlarının büyük çoğunluğunun zaten beyaz listeye aldığı bir alan adı.
Bu yaklaşım “living off the cloud” (bulut altyapısında gizlenme) olarak bilinen ve son yıllarda giderek yaygınlaşan bir taktiktir. Daha önce benzer yöntemleri APT gruplarının Google Drive, OneDrive ve Dropbox üzerinden kullandığını görmüştük. GoGra’nın bunu Linux için uyarlaması, tehdidin kurumsal sunucu ortamlarına, DevOps altyapısına ve hibrit bulut sistemlerine taşındığını gösteriyor.
🔧 Nasıl Çalışır: Teknik Mekanizma
Zararlının temel çalışma akışı şu şekilde işliyor:
- Kimlik doğrulama: Zararlı, ele geçirilmiş ya da saldırgan tarafından oluşturulmuş bir Microsoft hesabının OAuth erişim belirteci (access token) ile Graph API’ye kimlik doğruluyor.
- Komut alma: Saldırgan, Outlook gelen kutusuna şifreli e-posta mesajı bırakıyor. Zararlı bu kutuyu düzenli aralıklarla yokluyor (polling) ve mesajı alıp şifresini çözüyor.
- Yük çalıştırma: Gelen komut, yerel sistemde çalıştırılıyor; çıktı yine şifreli biçimde aynı Outlook kutusuna yazılıyor.
- İz gizleme: Tüm bu iletişim, standart HTTPS üzerinden
graph.microsoft.comadresine gidiyor. Ağ trafiği izleme araçları (network monitoring) açısından bu, meşru bir Microsoft 365 istemcisinden ayırt edilemiyor.
Burada kritik bir ayrıntı var: Saldırgan kendi C2 altyapısını sıfırdan kurmak, alan adı satın almak, TLS sertifikası yönetmek ya da barındırma maliyetine katlanmak zorunda kalmıyor. Microsoft’un küresel ölçekteki, yüksek erişilebilirliğe sahip altyapısını ücretsiz olarak kullanıyor. Bu aynı zamanda saldırganın altyapısının “alınıp kapatılması” riskini de önemli ölçüde düşürüyor.
📊 MITRE ATT&CK Eşleşmesi
GoGra Linux varyantının davranışları aşağıdaki MITRE ATT&CK teknikleriyle eşleşiyor:
- T1102.002 — Web Service: Bidirectional Communication: Komuta-kontrol iletişimi için meşru web servislerinin çift yönlü kanal olarak kullanılması.
- T1071.001 — Application Layer Protocol: Web Protocols: HTTPS üzerinden C2 iletişimi kurarak ağ trafik analizini zorlaştırma.
- T1027 — Obfuscated Files or Information: Komut ve çıktıların şifrelenerek iletilmesi.
- T1543.002 — Create or Modify System Process: Kalıcılık (persistence) sağlamak için sistem servislerinin kötüye kullanılması.
- T1078 — Valid Accounts: Meşru OAuth kimlik bilgilerinin Graph API erişiminde kullanılması.
🛡️ Kimin İçin Ne Kadar Önemli?
Bu zararlıyı özellikle kurumsal Linux ortamları açısından tehlikeli kılan birkaç faktör var. Şöyle düşünün: Kurumdaki güvenlik duvarınız muhtemelen *.microsoft.com adreslerine giden trafiği sorgusuz sualsiz geçiriyor. SIEM (güvenlik bilgi ve olay yönetimi) çözümünüz bu trafiği “normal Microsoft 365 trafiği” olarak sınıflandırıyor olabilir. EDR (uç nokta tespit ve yanıt) çözümünüz ise Go ile yazılmış ve meşru sistem kütüphaneleri kullanan bu zararlıyı tanımakta zorlanabilir.
Risk en yüksek olan ortamlar şunlar:
- Microsoft 365 veya Azure kullanan, Linux tabanlı sunucular barındıran hibrit kurumlar
- Geliştiricilerin kişisel Microsoft hesaplarıyla çalışabildiği DevOps ortamları
- Ağ trafiği denetimi (SSL inspection) uygulanmayan, güvenlik duvarında Microsoft IP bloklarının toplu olarak beyaz listeye alındığı ortamlar
- Linux sunucularda EDR kapsamının eksik olduğu kurumlar
Bir güvenlik mühendisi olarak şunu net söyleyeyim: Bu tehdit, “antivirüs yeterli” zihniyetiyle korunan Linux sunucu ortamlarında sessizce aylarca yaşayabilir. GoGra’nın iz bırakma yöntemi, imza tabanlı algılamayı neredeyse işlevsiz kılıyor.
🔧 Wazuh ile Tespit: Kural ve Yapılandırma Önerileri
Wazuh kullanan ortamlar için birkaç katmanlı tespit yaklaşımı öneriyorum. Önce ağ katmanında şüpheli Graph API çağrılarını yakalayacak bir kural yazalım. Linux ajanlarında auditd ile ağ bağlantısı izleme aktifse aşağıdaki Wazuh kuralı işe yarayacaktır:
<!-- Wazuh custom rule: GoGra-style Graph API C2 detection -->
<group name="gogra,living_off_cloud,c2_detection,">
<!-- Rule 1: Linux process making outbound connection to graph.microsoft.com -->
<rule id="100500" level="10">
<if_group>auditd</if_group>
<match>graph.microsoft.com</match>
<field name="audit.exe" negate="yes">outlook|teams|onedrive|office|msedge|chrome|firefox</field>
<description>Unexpected process connecting to Microsoft Graph API - possible C2 channel</description>
<mitre>
<id>T1102.002</id>
<id>T1071.001</id>
</mitre>
<group>high_priority,c2,</group>
</rule>
<!-- Rule 2: Go binary making repeated HTTPS calls (polling behavior) -->
<rule id="100501" level="12" frequency="10" timeframe="300">
<if_matched_sid>100500</if_matched_sid>
<same_field>audit.exe</same_field>
<description>Repeated Graph API calls from same non-standard process - C2 polling pattern detected</description>
<mitre>
<id>T1102.002</id>
</mitre>
<group>critical,c2,gogra,</group>
</rule>
<!-- Rule 3: New Go binary executed from suspicious path -->
<rule id="100502" level="10">
<if_group>auditd</if_group>
<field name="audit.exe" type="pcre2">\/tmp\/|\/var\/tmp\/|\/dev\/shm\/</field>
<field name="audit.syscall">execve</field>
<description>Binary executed from suspicious temporary path - possible GoGra dropper</description>
<mitre>
<id>T1059</id>
<id>T1543</id>
</mitre>
<group>high_priority,suspicious_exec,</group>
</rule>
</group>
Bu kuralların düzgün çalışması için Linux ajanlarında auditd yapılandırmasında ağ bağlantısı izlemenin aktif olması gerekiyor. Aşağıdaki audit.rules girdilerini ilgili sunuculara eklemenizi öneririm:
# /etc/audit/rules.d/gogra-detection.rules
# Ağ bağlantısı kuran tüm işlemleri izle
-a always,exit -F arch=b64 -S connect -k network_connect
# /tmp ve /dev/shm altında çalıştırılan ikili dosyaları izle
-a always,exit -F arch=b64 -S execve -F dir=/tmp -k suspicious_exec
-a always,exit -F arch=b64 -S execve -F dir=/dev/shm -k suspicious_exec
# OAuth token kullanımına dair dosya erişimlerini izle
-w /etc/oauth2 -p rwxa -k oauth_access
-w /home -p x -k home_exec
Bunlara ek olarak, Wazuh’un dosya bütünlüğü izleme (FIM — File Integrity Monitoring) modülünü /tmp, /var/tmp ve /dev/shm dizinleri için aktifleştirmenizi kesinlikle öneririm. GoGra gibi zararlılar çoğunlukla bu dizinlere düşürülüp oradan çalıştırılıyor.
Ne Yapmalı: 5 Somut Aksiyon
- 1. Microsoft Graph API trafiğini beyaz listeden çıkarın: Ağ güvenlik duvarı ve proxy politikalarınızda
graph.microsoft.comadresine yalnızca belirli, kimliği doğrulanmış iş istasyonlarından ve sunuculardan erişime izin verin. Linux sunucularınızın —özellikle uygulama veya CI/CD sunucularının— bu adrese çıkış yapmasına gerek yoksa engellemeyi değerlendirin. - 2. Linux EDR kapsamını denetleyin: Kurumunuzdaki Linux sunucularının kaç tanesi gerçek zamanlı EDR kapsamında? Bu sorunun cevabı çoğu kurumda rahatsız edici oluyor. CrowdStrike, SentinelOne veya en azından Wazuh ajanı olmayan Linux sunucularını acilen listeyin.
- 3. Koşulsuz SSL denetimi (SSL inspection) uygulayın: Microsoft IP bloklarını SSL denetiminden muaf tutan proxy politikalarını gözden geçirin. Bu muafiyet, GoGra gibi zararlıların tam da sığındığı kör noktadır.
- 4. OAuth uygulama denetimi yapın: Azure Active Directory / Microsoft Entra üzerinde kurum kiracısına (tenant) kayıtlı OAuth uygulamalarını listeleyin. Tanımadığınız, onaylamadığınız veya mail.read iznine sahip uygulamalar varsa derhal araştırın.
- 5. Go ikili dosyalarını izleyin: Linux ortamlarınızda Go ile derlenmiş ikili dosyaların varlığını izlemek için Wazuh FIM ve
auditdkurallarını devreye alın. Meşru Go uygulamalarınızı bir envantere alın; dışarısı şüphelidir. - 6. Tehdit avcılığı (threat hunting) sorgusu çalıştırın: SIEM’inizde son 90 günlük logları tarayarak
graph.microsoft.comadresine bağlanan süreçleri listeleyin. Outlook, Teams, OneDrive veya tarayıcı dışında bir süreç bu adrese bağlanıyorsa soruşturun.
GoGra’nın bu varyantı bana şunu hatırlatıyor: Modern tehdit aktörleri artık saldırı altyapısı kurmakla zaman kaybetmiyor. Sizin kurumunuzun halihazırda güvendiği, ödediği ve beyaz listeye aldığı servisleri silah olarak kullanıyorlar. Bu paradigma değişikliği, “güvenilir trafik” kavramını kökten sorgulatıyor. Benzer yaklaşımı daha önce yapay zeka ajanlarının e-posta kimliği saldırı yüzeyinde de ele almıştık — meşru servislerin kötüye kullanımı artık bir trend, istisna değil.
Sonuç olarak: “Microsoft’a giden trafik güvenlidir” varsayımı, 2026’da bir güvenlik açığıdır.
Orijinal kaynak: https://www.bleepingcomputer.com/news/security/new-gogra-malware-for-linux-uses-microsoft-graph-api-for-comms/
Bir Cevap Yazın