Tehdit Veritabanı Rootkit'ler LinkPro Linux Rootkit

LinkPro Linux Rootkit

Amazon Web Services (AWS) ortamında yakın zamanda gerçekleşen bir saldırı, daha önce belgelenmemiş bir GNU/Linux rootkit'ini ortaya çıkardı. Bu arka kapı, eBPF modüllerini iki farklı şekilde kullanmasıyla dikkat çekiyor: Biri eserleri gizlemek için, diğeri ise gizli bir tetikleyici görevi görüyor; yani uzaktan komut işlevini yalnızca özel olarak hazırlanmış bir TCP paketi görüldükten sonra uyandıran bir "vuruş". Saldırı zinciri ve rootkit'in mekanizmaları, konteyner kötüye kullanımı, çekirdek düzeyinde gizleme ve esnek ağ etkinleştirmeyi bir araya getirerek tespit ve adli korelasyonu engelleyen karmaşık bir operatörü gözler önüne seriyor.

Enfeksiyon Vektörü ve İlk Dağıtım

Saldırı, CVE‑2024‑23897 (CVSS 9.8) güvenlik açığı bulunan, açık bir Jenkins örneğinin istismar edilmesiyle başladı. Saldırganlar, bu güvenlik açığından yararlanarak kötü amaçlı bir Docker imajını (kvlnt/vv, Docker Hub'dan kaldırıldı) birden fazla Kubernetes kümesine yükledi. İmaj, bir Kali Linux tabanını kullanıyordu ve kalıcılık, uzaktan erişim ve aşamalı bir arka kapı indirmesi sağlamak amacıyla tasarlanmış küçük bir uygulama klasörü taşıyordu.

Kötü Amaçlı Docker Görüntüsünün İçinde

Görüntünün uygulama klasöründe farklı rollere sahip üç temel dosya vardı:

start.sh — SSH hizmetini başlatan ve diğer iki bileşeni çalıştıran bir kabuk betiği.

bağlantı — VPN/proxy istemcisi olarak hareket etmek üzere derlenmiş/paketlenmiş, vnt.wherewego[.]top:29872'ye giden bağlantıları sağlayan açık kaynaklı bir program (vnt). Bu, saldırganın tehlikeye atılmış ana bilgisayara her yerden ulaşmasını ve diğer hedeflere bu bağlantı üzerinden ulaşmasını sağlar.

uygulama — S3 kovasından şifrelenmiş bir vShell yükünü alan ve ardından 56.155.98[.]37 adresindeki komut ve kontrol (C2) sunucusuna bir WebSocket bağlantısı kuran Rust tabanlı bir indirici (vGet olarak adlandırılır).

Kubernetes Düğümlerine Ek Yükler Teslim Edildi

Operatörler, kötü amaçlı görüntünün yanı sıra düğümlere iki bileşen daha ekledi: başka bir vShell arka kapısı kuran bir dropper ve Golang ile yazılmış bir rootkit olan LinkPro. LinkPro, yapılandırmasına bağlı olarak iki modda çalışacak şekilde tasarlanmıştır: pasif (ters) veya aktif (ileri). Pasif modda, özel bir ağ paketi tarafından etkinleştirilmeyi bekler; aktif modda ise C2 ile iletişimi başlatır. İleri mod beş aktarım protokolünü (HTTP, WebSocket, UDP, TCP, DNS) desteklerken, ters mod iletişimi HTTP ile sınırlar.

LinkPro Nasıl Kalıcı Olur?

Kötü amaçlı yazılımın genel yürütme ve kalıcılık davranışı net bir sırayı takip eder:

  • eBPF Gizle modülünü yükleyin. Bu modül, LinkPro'nun süreçlerini ve ağ etkinliğini gizlemek için kullanılan Tracepoint ve Kretprobe eBPF programlarını içerir.
  • Hide eBPF modülünün kurulumu başarısız olursa veya devre dışı bırakılmışsa, /etc/libld.so konumuna paylaşımlı bir kütüphane kurun ve bu yolu bir geri dönüş gizleme mekanizması olarak /etc/ld.so.preload konumuna ekleyin.
  • Ters (pasif) işlem için Knock eBPF modülünü kurun. Knock, bir XDP programı ve bir TC programı içerdiğinden, C2 kanalı yalnızca belirli bir 'sihirli paket' aldıktan sonra aktif hale gelir.
  • Bir systemd servisi oluşturarak kalıcılığı sağlayın.
  • C2'den alınan komutları yürütün.
  • Kapatma sırasında veya sinyal verildiğinde (SIGHUP, SIGINT, SIGTERM), eBPF modüllerini kaldırın ve /etc/libld.so ön yükleme değişikliğini kaldırın/geri yükleyin, böylece sistem önceki durumuna geri döner.

Sihirli Paket ve Vuruş Aktivasyon Mekanizması

LinkPro'nun pasif aktivasyonu, belirli bir TCP paketine bağlıdır: Pencere boyutu 54321'e eşit olan herhangi bir TCP paketi "sihirli paket" olarak kabul edilir. Knock bu paketi tespit ettiğinde, kaynak IP adresini depolar ve bir saatlik bir son kullanma tarihiyle etiketler. Bu kaynaktan gelen sonraki TCP paketleri izlenir ve uygun durumlarda Knock, operatörün trafiğinin LinkPro'nun dinleme portuna (2333) yönlendirilmesi için başlıkları yeniden yazar. Giden paketler, orijinal portu ağa geri gönderecek şekilde ayarlanır (kaynak portu 2233 olarak yeniden yazılır). Amaç basit ama etkilidir: Saldırganın, ön uç güvenlik duvarının izin verdiği herhangi bir port üzerinden LinkPro'ya erişmesine izin verirken, harici güvenlik duvarı kayıtlarının ana bilgisayarın dahili ağ etkinliğiyle ilişkilendirilmesini zorlaştırır.

LinkPro Kendini Nasıl Gizliyor?

LinkPro iki kademeli gizleme stratejisi kullanır:

Çekirdek/eBPF gizleme : eBPF'yi Gizle modülü, getdents (dosyaları/dizinleri gizlemek için) ve sys_bpf (kendi BPF programlarını gizlemek için) gibi sistem çağrılarını yakalayan Tracepoint ve Kretprobe programlarını yükler. Bu yaklaşım, CONFIG_BPF_KPROBE_OVERRIDE etkinleştirilmiş bir çekirdek gerektirir.

Kullanıcı alanı LD_PRELOAD geri dönüşü : Çekirdek yeteneği mevcut değilse, LinkPro paylaşımlı bir kitaplık (libld.so) yazar ve yolunu /etc/ld.so.preload'a yerleştirir. /etc/ld.so.preload, belirtilen kitaplığın dinamik olarak bağlı tüm işlemlere (/lib/ld-linux.so ve glibc kullananlar) yüklenmesine neden olduğundan, eklenen libld.so, libc işlevlerini erken (glibc'nin kendi davranışından önce) bağlar ve aksi takdirde varlığını açığa çıkaracak eserleri gizlemek için libc çağrılarından gelen dönüşleri değiştirir.

Rootkit Yetenekleri ve Komut Seti

LinkPro, hem etkileşimli hem de otomatik uzaktan eylemleri destekler. Uygulanan özellikleri şunlardır:

  • /bin/bash sözde terminalini başlatma ve etkileşimli kabuk oturumlarını çalıştırma.
  • Keyfi kabuk komutlarını çalıştırma.
  • Dosya ve dizinleri numaralandırmak ve dosya işlemlerini gerçekleştirmek.
  • Dosyaların diske indirilmesi ve yazılması.
  • Pivotlama ve araziden geçinme amaçlı bir SOCKS5 proxy tüneli kurulması.

Ağ Protokolü Desteği ve C2 Davranışı

Aktif (ileri) modda LinkPro esnektir: HTTP, WebSocket, UDP, TCP veya DNS taşıyıcılarını kullanarak iletişim kurabilir. Pasif (ters) modda ise iletişimi HTTP ile sınırlıdır, ancak gizli moddan yararlanır çünkü yalnızca Knock sihirli paketi geçici bir saatlik komut penceresi açtıktan sonra dinler.

Temizleme ve Kaldırma Davranışı

İşlem sonlandırma sinyalleri alırsa, LinkPro izleri kaldırmayı hedefler: yüklü eBPF modüllerini kaldırır ve /etc/libld dosyasını siler veya geri yükler, böylece sistem değişmemiş gibi görünür ve önceki durumuna geri döner. Bu bilinçli temizleme rutini, operatörün kaçınma ve uzun vadeli adli ayak izlerini en aza indirme konusunda endişeli olduğunu gösterir.

Operasyonel Bağlam ve Atıf

Saldırıda yüksek yoğunluklu bir Jenkins açığı, kötü amaçlı konteyner görüntüleri, birden fazla arka kapı çeşidi ve çekirdek düzeyinde gizlilik kullanıldı; bu kombinasyon, motive olmuş ve yetenekli bir operatöre işaret ediyor. Kesin bir açıklama kamuoyuna yapılmadı; ancak, araç seti ve ihlalin proxy ve kalıcı uzaktan erişim için açıkça kullanılması, finansal amaçlı bir faaliyete (ek saldırılar için yönlendirme, proxy veya erişimin yeniden satışı) güçlü bir şekilde işaret ediyor.

Çekirdek Bağımlılığı ve Geri Dönüş Davranışı

LinkPro, gizli çekirdek yakalama için BPF kprobe geçersiz kılma özelliklerine güvendiğinden, çekirdek düzeyinde gizleme tekniğini yalnızca ana çekirdek CONFIG_BPF_KPROBE_OVERRIDE'ı açığa çıkardığında uygular. Bu çekirdek yeteneğinin eksik olduğu durumlarda, LinkPro kullanıcı alanında kendini gizlemek için kasıtlı olarak LD_PRELOAD paylaşımlı kütüphane yöntemine geri döner ve böylece çok çeşitli ortamlarda gizliliği garanti eder.

Kapanış Notu

LinkPro, modern saldırıların, gizlilik ve esnekliği korumak için konteyner güvenliğini ihlal etme, aşamalı yükleyiciler, çekirdek enstrümantasyonu (eBPF) ve akıllı ağ hilelerini (sihirli paket etkinleştirme ve bağlantı noktası yeniden yazma) nasıl bir araya getirebileceğini göstermektedir. Algılama ve düzeltme, yetkisiz eBPF programları, /etc/ld.so.preload dosyasındaki beklenmedik girişler, alışılmadık systemd hizmetleri ve belirtilen altyapıya ağ bağlantıları (adli göstergeler arasında IP 56.155.98[.]37, 29872, 2333, 2233 portları ve kaldırılan Docker görüntü adı kvlnt/vv bulunur) açısından dikkatli bir inceleme gerektirir.

trend

En çok görüntülenen

Yükleniyor...