Haberler • Security

ARMORY CASTLE, BeyondTrust’taki zero-day açığını kullandı

arm-cover

Mandiant, Çin bağlantılı ARMORY CASTLE grubunun BeyondTrust Remote Support’taki CVE-2026-102764 açığını zero-day olarak kullandığını tespit etti. Teknik detaylar ve öneriler.

BeyondTrust 15 Ekim’de, BeyondTrust Remote Support (eski adıyla Bomgar) cihazlarını etkileyen CVE-2026-102764 açığını duyurdu. BeyondTrust Remote Support, IT ekiplerinin uzaktaki uç noktalara güvenli şekilde erişip sorun gidermesini sağlayan kurumsal bir uzaktan erişim çözümü. Açığın başarıyla istismar edilmesi, cihaza keyfi dosya yüklenmesine yol açıyor.

Mandiant, bir olay müdahalesi sırasında Çin bağlantılı olduğundan şüphelenilen casusluk grubu ARMORY CASTLE’ın (daha önce UNC5221 olarak takip ediliyordu) bu açığı Ağustos 2026 sonunda zero-day olarak kullandığına dair kanıt buldu. Google Threat Intelligence Group (GTIG) ve Mandiant’ın raporu, saldırganın istismarın ardından yetkilerini nasıl yükselttiğini ve ele geçirilen cihazlarda nasıl kalıcı erişim kurduğunu anlatıyor.

Uyarı: ARMORY CASTLE ve diğer tehdit aktörleri, geçmişte bir açık kamuya duyurulduktan sonra geniş çaplı ve fırsatçı istismar kampanyaları yürüttü. Kurumların bu duyurunun ardından benzer bir yaygın istismar dalgasına hazırlıklı olması gerekiyor.

İstismar

Mandiant, CVE-2026-102764 istismarının izlerini access, syslog, messages, thin-scc, brain ve SSL log dosyalarında buldu. Bu dosyalara sadece /home dizinini içeren LUKS şifreli bölüm üzerinden erişilebiliyor. Etkilenen kurumların BeyondTrust’ın yayımladığı güvenlik yamalarını hemen uygulaması ve şirketin blog yazısındaki ek önerileri incelemesi şiddetle tavsiye ediliyor.

İstismar sonrası

Saldırgan, istismardan sonra tutunmak, yetki yükseltmek ve yanal hareket etmek için birden fazla farklı TTP kullandı. Saldırı boyunca BeyondTrust cihazının iç yapısını çok iyi bildiğini gösterdi: cihaza özel CLI araçlarını, başlangıç yapılandırma şablonlarını ve yerel reverse proxy yönlendirmesini kötüye kullandı. Cihazla etkileşim için yeni tespit edilen özel zararlı yazılımlar kullandı: SAWFLY webshell ve BARECLAW tünel aracı. Ayrıca erişimini korumak ve tespit edilmemek için cihaz log’larını ve uç nokta izlerini düzenli olarak sildi.

Şekil 1: ARMORY CASTLE'ın BeyondTrust saldırısındaki olay sırası. Kaynak: Google Threat Intelligence Group
Şekil 1: ARMORY CASTLE’ın BeyondTrust saldırısındaki olay sırası. Kaynak: Google Threat Intelligence Group

Hazırlık webshell’i ve SAWFLY

Başarılı istismarın ardından saldırgan /app_84304470%2Ephp adresine POST istekleri gönderdi; Mandiant bu isteklerle ilişkili dosyayı kurtaramadı. İlk POST isteğinden yaklaşık 11 dakika sonra dosya sistemi, SAWFLY webshell’inin /%SITE_SERVICE_ACCOUNT%/ingredi/app/laravel/public/ web kök dizininde oluşturulduğunu kaydetti. SAWFLY, saldırı boyunca saldırganın ana tutunma noktalarından biri oldu.

SAWFLY (mangoapi.php), özel bir Base32 taşıma katmanı ve 256 bit RC4 akış şifresiyle çift yönlü şifreli C2 iletişimi kuran, gizlenmiş (obfuscated) hafif bir PHP webshell. Gelen HTTP POST isteklerinde _c94mfe parametresini arıyor. Parametre yoksa otomatik web tarayıcılarını ve açık tarayıcılarını atlatmak için hemen 404 döndürüp çıkıyor. Parametre varsa yükü Base32 ile çözüyor, sabit kodlanmış 32 baytlık anahtarla RC4 şifresini açıyor ve ortaya çıkan PHP kodunu @eval() ile çalıştırıyor. Dönen değer aynı anahtarla şifrelenip Base32 ile kodlanarak istemciye geri gönderiliyor.

SUID ile yetki yükseltme

SAWFLY, sitenin yetkisiz yerel kullanıcısı olan service account altında çalışıyordu. Saldırgan yetki yükseltmek için sistem kabuğunu (/bin/sh) /usr/bin/dbus-authd dosyasına kopyaladı, dosyanın sahibini root yaptı ve Set User ID (SUID) iznini açtı. SUID izni olan bir dosya, komutu çalıştıran kullanıcının değil dosya sahibinin (root) yetkileriyle çalışıyor; bu da saldırgana sistemde kalıcı bir root arka kapısı verdi. Böylece saldırgan cihazın sakladığı ya da aracılık ettiği tüm kimlik bilgilerine erişebildi ve yeniden başlatma ile yapılandırma sıfırlamasından sonra da kalan dosyaları değiştirebildi.

Kimlik bilgisi toplama: BeyondTrust vault’u

Mandiant, saldırganın kimlik bilgilerini doğrudan cihazın yerel gizli bilgi yönetim veritabanından toplamaya çalıştığını gözlemledi. Bunun için BeyondTrust cihazlarına özel, parola, API anahtarı ve uç nokta kimlik bilgilerini yönetmek için kullanılan /ns/sbin/bt-secrets yönetim CLI aracını kullandı. Saldırgan vault’u bulup boşaltmak için farklı komut sözdizimlerini sırayla denedi:

/ns/sbin/bt-secrets get -p %SITE_SERVICE_ACCOUNT% vault
/ns/sbin/bt-secrets get %SITE_SERVICE_ACCOUNT% vault
/ns/sbin/bt-secrets get vault

Önce belirli bir site service account’unun vault’unu, ardından tüm yönetici kimlik bilgilerini boşaltmak için cihaz düzeyindeki genel parola kasasını hedefledi. Son olarak bt-secrets log’larını ve arşivlerini sildi:

/usr/sbin/sh -c 'rm -f /home/bomgar/log/bt-secrets.log /home/bomgar/log/bt-secrets.log.* 2>/dev/null;'

Kalıcılık

Uzun vadeli erişim için saldırgan, site service account’una parolasız root yetkisi vermek üzere BeyondTrust yapılandırma şablonlarını hedefledi. Sistem açılışında otomatik çalışan betikler için ayrılmış /home/bomgar/sbin/post_boot.d dizinini oluşturdu ve içine zz-root-persist adlı bir betik koydu. Betik, hesabın /ns/config/sudoers.template dosyasında parolasız root yetkisi olup olmadığını kontrol ediyor, yoksa ilgili satırı ekliyor. Ardından bt-sysconfig ile cihazın şablonu okuyup aktif /etc/sudoers dosyasını yeniden oluşturmasını sağlıyor. Bu yöntem, normalde /etc/sudoers‘a yapılan elle değişiklikleri silen yeniden başlatma ve yapılandırma sıfırlamalarına rağmen yetki yükseltmenin kalıcı olmasını sağlıyor.

#!/bin/bash
grep -qF '%SITE_SERVICE_ACCOUNT% ALL=(ALL) NOPASSWD: ALL' '/ns/config/sudoers.template' || echo '%SITE_SERVICE_ACCOUNT% ALL=(ALL) NOPASSWD: ALL' >> '/ns/config/sudoers.template'
'/ns/sbin/bt-sysconfig' --no-restart misc

İz silme (anti-forensics)

Saldırgan erişimi boyunca savunmaları zayıflatmak ve tespiti zorlaştırmak için sistem, web sunucusu ve uygulama log’larını sistematik olarak sildi. SAWFLY üzerinden sudo yetkisiyle hem sistem hem site dizinlerindeki aktif log’ları silen bir komut çalıştırdı:

'rm -f \'/ns/log/auth.log\' \'/ns/log/ssl.log\' \'/ns/log/proto-handler.log\' \'/ns/log/bt-docker.log\' \'/ns/log/http-access.log\' \'/ns/log/http-errors.log\' \'/ns/log/php-fpm.log\' \'/ns/log/php-fpm-access.log\' \'/ns/log/php_debug.log\' \'/ns/log/php_web_errors.log\' \'/var/log/messages\' \'/home/%SITE_SERVICE_ACCOUNT%/ingredi/log/httpd_access.log\' \'/home/%SITE_SERVICE_ACCOUNT%/ingredi/log/httpd_error.log\' /tmp/sshauth.*'

Yanal hareket: yönetici oturumunun kötüye kullanılması

Cihazı ele geçirdikten sonra saldırgan, ele geçirilmiş Administrator kimlik bilgileriyle BeyondTrust Remote Support uygulamasına geçip keşif yaptı. Önce web yönetim portalına giriş yaptı. İlk erişimini test edip geçici olarak Administrators grubuna katılabildiğini doğruladıktan sonra stratejisini değiştirdi ve hesabın yerel Jump Item ile Team izinlerini “No Access”ten “Administrator”e yükseltti. Jump Item’lar, bir Jump Group içinde uzaktan erişime açılan tek tek sistemler ya da cihazlar. Bu değişiklik saldırgana, cihazın Jump Item listesindeki tüm alt sistemlere uzaktan oturum açmak için kalıcı ve sınırsız yetki verdi.

{
  "event": "user_changed",
  "old_username": "[REDACTED]",
  "old_permissions:jump_item_role:default:name": "No Access",
  "new_permissions:jump_item_role:default:name": "Administrator",
  "old_permissions:jump_item_role:teams:name": "No Access",
  "new_permissions:jump_item_role:teams:name": "Administrator"
}

Yönetici yetkisini aldıktan sonra saldırgan iç uç noktaları hedef alan bir uzaktan destek oturumu açtı, cihazın yerleşik destek araçlarıyla tam dosya sistemi erişimi aldı ve BeyondTrust’ın kendi dosya aktarım servisiyle yazılım envanteri gibi ağ keşfine yarayan hassas iç dokümanları doğrudan kullanıcının masaüstünden indirip dışarı çıkardı.

BARECLAW tünel aracı

Saldırgan trafiği BeyondTrust cihazı üzerinden özel bir SOCKS5 proxy tünel aracıyla geçirdi. BARECLAW, C ile yazılmış, WebSocket üzerinden SOCKS5 proxy hizmeti sunan ve TCP bağlantılarını uzak istemci ile hedefler arasında aktaran bir araç. HTTP ve WebSocket işlevi için CivetWeb web sunucusunu, TLS için OpenSSL’i statik olarak içeriyor. Kimlik doğrulama, istemci ile tünel arasında şifreleme, erişilebilir hedefleri belirli CIDR aralıklarıyla sınırlama, trafiği üst bir proxy’ye zincirleme ve varsayılan WebSocket yolunu ve portları değiştirme seçenekleri var; kimlik doğrulama, şifreleme, hedef filtreleme ve TLS varsayılan olarak kapalı. Saldırgan aracı şu parametrelerle çalıştırdı:

/tmp/ingredi_ws --listen 19800 --token %REDACTED% --obfs -q --ws-path /uidchanarge

Bu komut BARECLAW’ı 19800 numaralı TCP portunda dinleyecek ve kurban sistemde /uidchanarge WebSocket yolunu oluşturacak şekilde ayarlıyor. İstemcilerin komuttaki token ile kimlik doğrulaması gerekiyor, -q parametresi loglamayı kapatıyor. Tünellenen veri, token’dan ve istemcinin oturum başında verdiği 8 baytlık bir değerden türetilen XOR tabanlı bir yöntemle şifreleniyor. --ssl-cert ve --listen-tls kullanılmadığı için bu örnekte TLS açık değildi.

haproxy.conf değişiklikleri

Saldırgan BARECLAW’a doğrudan internetten erişilebilmesi için /ns/config/haproxy.conf dosyasını da değiştirdi. BeyondTrust cihazlarında çalışan HAProxy, gelen istekleri karşılayıp port ya da URL yoluna göre yerel arka uç servislere yönlendiren bir reverse proxy. Saldırgan önce /uidchanarge yolunu izleyen wswsws adlı bir ACL tanımladı; bu yola gelen istekler normal cihaz servislerini atlayıp webskd3 adlı özel bir arka uca gidiyor:

    acl wswsws path /uidchanarge
    use_backend webskd3 if wswsws

Ardından webskd3 arka ucu, gelen akışı yerelde (127.0.0.1) BARECLAW’ın dinlediği 19800 portuna yönlendiriyor. Sadece yerel adrese bağlanması, arka kapının dış ağ taramalarından tamamen gizli kalmasını sağlıyor; ona sadece HAProxy’nin yerel yönlendirmesiyle ulaşılabiliyor.

backend webskd3
    mode http
    server websocks5srv 127.0.0.1:19800
    option http-keep-alive
    timeout server 28s
    timeout tunnel 5h

Atıf ve değerlendirme

GTIG, CVE-2026-102764’ün zero-day olarak istismar edilmesini ve ardından SAWFLY ile BARECLAW’ın yerleştirilmesini Çin bağlantılı olduğundan şüphelenilen ARMORY CASTLE’a atfediyor. Kullanılan araçlar ve teknikler grubun daha önce gözlemlenen faaliyetleriyle örtüşüyor. GTIG daha önce de ARMORY CASTLE’ın uç (edge) cihazlardaki birçok açığı istismar ettiğini ve pasif arka kapılardan webshell’lere ve truva atı haline getirilmiş cihaz bileşenlerine kadar geniş bir özel araç seti kullandığını raporlamıştı. Grup en az Ekim 2023’ten beri aktif ve çok sayıda ülke ve sektörü hedef aldı.

GTIG, ARMORY CASTLE’ın casusluk hedefleri için uç cihazlardaki zero-day açıklarını kullanmaya devam edeceğini yüksek güvenle değerlendiriyor. Grup geçmişte, seçici olarak zero-day olarak kullandığı açıklar kamuya duyurulduktan sonra yamalar uygulanmadan hedeflere sızmak için yaygın ve fırsatçı istismar kampanyaları yürüttü. Savunmacıların, 2024’te CVE-2023-46805 ve CVE-2024-21887 sonrasında görülene benzer bir yaygın istismar ihtimaline hazırlanması gerekiyor.

Düzeltme ve sıkılaştırma

CVE-2026-102764, 26.2.3’e kadar desteklenen tüm Remote Support sürümlerini etkiliyor ve kimlik doğrulaması yapılmamış uzak bir saldırganın cihazda dosya işlemleri yapmasına izin veriyor; bu da host düzeyinde kontrole ve cihazın sakladığı ya da aracılık ettiği tüm kimlik bilgilerine erişime yol açabiliyor. İstismar penceresi boyunca savunmasız bir sürümle internetten erişilebilen her cihaz, incelenene kadar ele geçirilmiş olabilir kabul edilmeli. Mandiant, önce yamayı uygulayan ve destek operasyonlarındaki kesintiyi dengeleyen aşamalı bir yaklaşım öneriyor.

Seçenek 1: BT26-05 yamasını uygulayın (Mandiant’ın önerisi).

  • Remote Support SaaS: BeyondTrust yamayı 9 Ekim 2026’da tüm SaaS tenant’larına uyguladı; cihaz için müşterinin bir şey yapmasına gerek yok. Ancak Seçenek 3’teki kimlik bilgisi ve yapılandırma adımları hâlâ geçerli.
  • Kendi barındırdığınız, 24.3.1 ve sonrası: BT26-05-RS yamasını /appliance arayüzünden uygulayın ya da cihaz otomatik güncellemelere abone ise uygulandığını doğrulayın.
  • Kendi barındırdığınız, 24.3.1’den eski: Önce desteklenen bir sürüme yükseltin, sonra yamayı uygulayın. Yükseltme açığı kapatıyor ama önceki maruziyeti gidermiyor.
  • Yama /appliance’ta görünmüyorsa BT26-05 referansıyla BeyondTrust Destek’te kayıt açın.

Seçenek 2: Ele geçirilmiş ya da şüpheli cihazları izole edin.

  • Önce koruyun: Sanal cihazların bellekle birlikte snapshot’ını alın ve herhangi bir değişiklik ya da yeniden başlatmadan önce diski dışa aktarın. B Series donanım ve SaaS tenant’ları için BeyondTrust Destek’ten adli koruma isteyin. Host erişimi olan bir saldırgan cihaz üzerindeki log’ları silebildiği için maruziyet penceresinin tamamını kapsayan syslog, reverse proxy veya WAF ve perimeter firewall log’larını toplayın.
  • Perimetrede izole edin: Yapılandırma inceleme için bozulmasın diye cihazın public adresine gelen trafiği /appliance’tan değil firewall’dan engelleyin.
  • Çıkışı kısıtlayın: BeyondTrust güncelleme ve lisans endpoint’leri dışındaki tüm giden trafiği engelleyin ve reddedilen her bağlantıyı loglayın.
  • Erişim yollarını kapatın: Aktif destek oturumlarını sonlandırın; /login’den yeni oturumları, Jump Client’ları, Jumpoint’leri ve API hesaplarını devre dışı bırakın. Denetim izi kalsın diye silmek yerine devre dışı bırakın.
  • Temizlemek yerine yeniden kurun: Ele geçirildiği doğrulanan ya da durumu bilinmeyen cihazları temiz, tamamen yamalı bir imajdan yeniden deploy edin. Müşteriler cihazın host dosya sistemini denetleyemiyor ve host düzeyindeki kalıcılık yeniden başlatma ile yapılandırma sıfırlamasından sonra da sürüyor. Sadece maruziyet penceresinden önceki bir yapılandırma yedeğini geri yükleyin; yeni TLS sertifikası alın ve Jump Client’ları, Jumpoint’leri ve temsilci konsolunu yeniden kurulan cihazdan yeniden dağıtın.

İzolasyon ve oturum sonlandırma destek operasyonlarını kesintiye uğratacağı için yardım masası ve tedarikçi destek paydaşlarıyla önceden koordinasyon gerekiyor.

Seçenek 3: Hedefli telafi edici kontroller uygulayın. Bu kontroller maruziyeti azaltıyor ve istismar sonrası etkiyi sınırlıyor ama yamanın yerini tutmuyor.

  • Ağ kısıtlamaları: /login ve /appliance yönetim arayüzlerine erişimi IP ya da ağ segmentiyle sınırlayın; internetten sadece temsilci konsolu, müşteri portalı ve Jump Client trafiği erişebilmeli. Mümkünse cihazın önüne tam URI loglaması yapan bir reverse proxy ya da WAF koyun.
  • Kimlik bilgisi rotasyonu ve yapılandırma incelemesi: Tüm oturumları sonlandırın ve Jump Client, Jumpoint ve temsilci konsolunu yamalı ya da yeniden kurulmuş cihazdan yeniden dağıtın. Kimlik bilgilerini bağımlılık sırasıyla değiştirin: /appliance yönetici bilgileri, /login yöneticileri ve yerel kullanıcılar, API istemci sırları, güvenlik sağlayıcı bağlama hesapları ve SAML imzalama anahtarları, Remote Support Vault ile entegre Password Safe veya PRA kimlik bilgileri, SMTP, syslog ve ITSM gibi entegrasyon bilgileri ve pencere süresince bir destek oturumuna yazılan her kimlik bilgisi. /login yapılandırmasını, özellikle Administrator’a yükseltilmiş Jump Item rolleri açısından, maruziyet öncesi bir referansla karşılaştırın ve destek oturumu raporlarını dosya aktarımları dahil inceleyin.
  • Kontrol düzlemi kısıtlamaları: Tüm /login kullanıcıları için kimlik avına dayanıklı MFA ile SAML SSO zorunlu tutun; kullanımı alarm üreten tek bir acil durum (break-glass) hesabı dışında yerel hesapları kaldırın. Yerleşik Admin hesabında MFA’yı BeyondTrust’ın iki faktörlü kimlik doğrulama kılavuzuna göre etkinleştirin. Her grup politikasında varsayılan Jump Item rolünü No Access yapın, API hesaplarını minimum yetkiyle sınırlayın, ayrıcalıklı kimlik bilgilerini Remote Support Vault yerine Password Safe ya da harici bir kasada tutun ve cihazdan giden trafikte varsayılan olarak reddet politikası uygulayın.
  • Loglama ve tespit: Cihaz syslog’unu TLS ile, aylara yayılan bir maruziyet penceresini kapsayacak saklama süresiyle bir SIEM’e gönderin. Jump Item ya da takım rolünü yükselten user_changed olaylarını, değişiklik kaydı olmayan kullanıcı, API hesabı ve güvenlik sağlayıcı değişikliklerini, konut ya da ticari VPN adreslerinden gelen başarılı girişleri, mesai dışı yönetici girişlerini, dosya aktarım olaylarını, bilinmeyen .php yollarını ve beklenmeyen WebSocket yükseltmelerini ve syslog akışındaki boşlukları izleyin. Tek bir oturumla sınırlı bir syslog kesintisi, log manipülasyonunun güçlü bir göstergesi.

Not: Kimlik bilgilerini ancak cihaz yamalandıktan ya da yeniden kurulduktan sonra değiştirin. Daha önce değiştirmek, yeni bilgileri cihazı hâlâ kontrol eden bir saldırgana açık eder.

Tehdit göstergeleri (IOC)

Mandiant, kayıtlı kullanıcılar için IOC’leri bir GTI Collection olarak paylaştı. Dosya göstergeleri:

Dosya adıAçıklamaSHA-256
app_84304470%2EphpHazırlık webshell’iYok
mangoapi.phpSAWFLY webshelldc14e215269a93fdbc4c1a80b984c23faf7af0911c6dbb85309796a6f2ae95fb
ingredi_wsBARECLAW tünel aracı1f19b9a27d79c11bda00a1e8faf74a7fdd683d38ccef1b60df2fd0307e3aa462

YARA kuralları

rule G_Hunting_Webshell_SAWFLY_1 {
  meta:
author = "Google Threat Intelligence Group"
  strings:
    $b32 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567" ascii wide
    $rc4 = "range(0,255)" ascii wide
    $pack = "pack('H*'," ascii wide
    $eval = "@eval(" ascii wide
    $code404 = "http_response_code(404)" ascii wide
  condition:
    filesize < 20KB and
    all of them
}
rule G_Hunting_Backdoor_BARECLAW_1 {
  meta:
    author = "Google Threat Intelligence Group"
  strings:
    $s1 = "[%s ws_socks5d] " ascii wide
    $s2 = "--obfs requires --token" ascii wide
    $s3 = "mux: %s (frame[%lu]: %s)" ascii wide
    $s4 = "cannot create stream pump/writer thread (stream %d)" ascii wide
    $s5 = "reject: bad or missing token from %s" ascii wide
    $s6 = "listening on %s path=%s (token=%s obfs=%s max_tunnels=%d threads=%d)" ascii wide
    $s7 = "--ws-path must start with '/'" ascii wide
    $b_xorshift = { 48 c1 e0 17 48 31 c1 48 89 f0 48 c1 e8 1a 48 31 f0 48 31 c8 48 c1 e9 11 48 31 c8 }
  condition:
    uint32(0) == 0x464c457f and (5 of ($s*)) or ($b_xorshift and (3 of ($s*)))
}

Google SecOps müşterileri bu faaliyeti Mandiant Hunting, Mandiant Frontline Threats ve Mandiant Intel Emerging Threats kural paketlerinde şu kurallarla tespit edebiliyor: Echo Pipes Base64 To Shell, Base64 Encoded Shell Command Execution, Low Severity Endpoint Detection Cluster on Host, Suspicious Curl Download to tmp ve Suspicious Curl Network Connection to Staging Directory.


Bu olay, uzaktan erişim ve ayrıcalıklı erişim cihazlarının neden saldırganların bir numaralı hedefi olduğunu tekrar gösteriyor: bir BeyondTrust cihazını ele geçirmek, cihazın aracılık ettiği tüm sistemlerin anahtarlarını ele geçirmek demek. Saldırganın sudoers şablonunu ve post_boot betiklerini kullanarak yeniden başlatmalara dayanıklı kalıcılık kurması, “yamayı uyguladım, tamam” demenin yetmeyeceğini gösteriyor; Mandiant’ın da altını çizdiği gibi şüpheli cihazlar temizlenmek yerine yeniden kurulmalı. Kendi barındırdığı BeyondTrust Remote Support kullanan kurumların sürümlerini, yama durumlarını ve Ağustos sonundan bu yana log’larını hemen kontrol etmesini öneririm.

Kaynak: https://cloud.google.com/blog/topics/threat-intelligence/armory-castle-exploits-beyondtrust

Yazar Hakkında

Kerem Şuğle

Solution Architect, VMware vExpert ve Microsoft sertifikalı altyapı uzmanı. VMware vSphere/vSAN/VCF, Azure, AWS, Google Cloud, enterprise sanallaştırma ve yapay zeka konularında 15+ yıl deneyim. AI/cloud dönüşümü, sovereign cloud, enterprise güvenlik ve modern altyapı mimarisi alanlarında yazıyor.

Leave a Comment