Bu sayfa bir çeviridir. Esas alınan metin İngilizce sürümdür. İngilizce kaynağın 23 Ekim 2026 tarihli sürümüyle eşleşmektedir. İngilizcesini okuyun

malware · cryptomining · rootkit · linux · kernel · monero · privilege-escalation · cve-2026-31431 · container-escape

Rootpacket: Çekirdeğin İçinde Saklanan Bir Linux Cryptojacking Araç Takımı

Kinryū Labs, CPU ve bellek kullanımını taklit etmek üzere bir çekirdek rootkit'i ile dağıtılan, CVE-2026-31431 (konteynerden ana makineye de kaçan bir AF_ALG sayfa önbelleği kusuru) üzerinden root'a yükselen, kendisini bir Intel sürücüsü kılığına sokan ve rakip madencilerin içeri girmek için kullandığı aynı dışa açık servisleri devre dışı bırakan Linux cryptojacking araç takımı Rootpacket'i analiz etti.

Yazan Davis Zheng·

CVE
CVE-2026-31431
CVSS
7.8 (CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)

TLP:CLEAR. Kamuya açık yayım için onaylanmıştır. Kinryū Labs honeypot sensör ağı tarafından yakalanmıştır. Aşağıdaki göstergeler zararsızlaştırılmıştır.

Yönetici özeti

  • ~45%%100'e yakın çalışırken top'un gösterdiği CPU
  • 3kalıcılık mekanizması
  • 7.8CVSS, CVE-2026-31431 (AF_ALG sayfa önbelleği LPE)
  • ana makineayrıcalıksız bir konteynerden root

Rootpacket, Linux için çok bileşenli bir cryptojacking araç takımıdır. Gizlilik için çekirdek düzeyinde bir rootkit, Linux AF_ALG kripto arayüzündeki CVE-2026-31431 için bir ayrıcalık yükseltme istismarı, xrandom adıyla yeniden adlandırılmış UPX ile paketlenmiş bir XMRig 6.26.0 Monero madencisi ve bir rakip eleme betiğini bir arada barındırır. Kod büyük ölçüde Türkçe yazılmıştır (değişken adları, yorumlar, durum dizgileri); bu da Türkçe konuşan bir operatöre işaret etmektedir.

Araç takımı iki moddan birinde çalışır. Root modunda, intel_uncore_freq_aux kılığına sokulmuş yüklenebilir bir çekirdek modülü (LKM) rootkit’ini yükler, çekirdek yükseltmelerinden sağ çıkması için DKMS üzerinden kurar, bir systemd servisi kaydeder ve makineyi rakiplerinden temizler. Root elde edemediğinde, crontab üzerinden kalıcılık sağlayan ve madenciyi bir arka plan süreci olarak çalıştıran kullanıcı alanı moduna geriler. Madenci pool.supportxmr.com:443 adresine stratum+ssl üzerinden bağlanır ve RandomX ile Monero madenciliği yapar.

Üzerinde durulmaya değer bileşen rootkit’tir. Madenci işlemciyi %100’e yakın bir düzeyde tutarken, rootkit /proc/stat’ı yeniden yazar; böylece top ve htop sakin bir %40 ila %50 değeri bildirir ve bu değer jiffies üzerinden salındırılır, dolayısıyla yük sabit bir noktaya çakılı kalmak yerine gerçekçi görünür. Aynı işlemi /proc/meminfo üzerinde de uygular ve kendi süreçlerini ve dosyalarını saklamak için dizin listelemelerini filtreler.

Temel bulgular
  • Amaç cryptojacking'dir (yüksek güven). Araç takımı XMRig 6.26.0, gömülü bir Monero cüzdanı ve bir pool.supportxmr.com madencilik yapılandırması ile birlikte gelir; XMRig geliştirici bağışı kapatılmıştır, dolayısıyla tüm kazanç operatöre gider.
  • Ayrıcalık yükseltmesi CVE-2026-31431 ("Copy Fail"), yani Linux AF_ALG algif_aead yolundaki deterministik bir sayfa önbelleği yazımıdır (CVSS 7.8, Nisan 2026'da açıklandı). Sayfa önbelleği ana makine genelinde paylaşıldığı için aynı yazım bir konteynerden kaçarak ana makinede root elde eder; dolayısıyla enfekte bir konteyner, ele geçirilmiş bir ana makine anlamına gelir (yüksek güven).
  • Operatör, tipik bırak-ve-madencilik yapan gruplardan belirgin biçimde ileridedir (yüksek güven). ftrace kancaları içeren özel bir LKM rootkit'i, yeni çekirdekler için otomatik yeniden derleme yapan DKMS kalıcılığı, çalışan bir CVE-2026-31431 sayfa önbelleği istismarı ve katmanlı systemd/DKMS/cron kalıcılığı, cryptojacking yapanların çoğunun hiç ulaşmadığı bir mühendislik düzeyini temsil eder.
  • Operatörün Türkçe konuştuğu değerlendirilmektedir (orta güven). Araç takımı boyunca Türkçe değişken adları, yorumlar ve ROOT ele gecirildi! gibi durum mesajları yer alır.
  • Rootpacket, bir ana makineyi münhasıran sahiplenmek ve elinde tutmak üzere kurgulanmıştır. killservice.sh betiği rakip madencileri kaldırır, ardından cryptojacking yapanların ilk erişim için kullandığı dışa açık servisleri devre dışı bırakır; bunlara 2375/2376 üzerindeki Docker API de dahildir ve bu, RedTail incelememizde belgelediğimiz vektörün aynısıdır. Bu gruplar aynı hatalı yapılandırılmış makineler üzerinde birbirleriyle çekişmektedir.

Araç takımı mimarisi

Rootpacket modüler bir dropper’dır. Bileşenleri:

setup.sh         Entry point. Checks privilege level, picks a deployment mode.
getroot          Privilege escalation. Exploits CVE-2026-31431 (AF_ALG) for local root.
xrandom          UPX-packed XMRig 6.26.0, renamed to dodge name-based detection.
kernel/
  stealth.c      LKM rootkit, compiled via DKMS, disguised as an Intel driver.
  install.sh     DKMS persistence engine.
killservice.sh   Competitor elimination and "hardening".
rootpacket.tar.gz  An inner copy of the whole toolkit, packaged for redistribution.

Root modu. setup.sh, halihazırda root değilse getroot’u çalıştırır, xrandom’ı /opt/kernel-kd/ dizinine kopyalar, bir systemd servisi oluşturur, rootkit’i DKMS üzerinden derleyip yüklemek için kernel/install.sh’ı çalıştırır, rakipleri temizlemek için killservice.sh’ı çalıştırır ve madenciyi kalıcı bir servis olarak başlatır.

Kullanıcı alanı yedek modu. Root erişilemez olduğunda setup.sh, xrandom’ı ~/.xrandom/ dizinine kopyalar, PID kilidi olan bir başlatıcı yazar, yeniden başlatmada ve her dakika tetiklenen bir crontab kaydı kurar ve madenciyi üst kabuk kapandığında da ayakta kalması için setsid ile başlatır.

ÖzellikRoot moduKullanıcı alanı modu
Madenci konumu/opt/kernel-kd/xrandom~/.xrandom/xrandom
Kalıcılıksystemd (kernel-kd.service)crontab (@reboot + */1 * * * *)
RootkitVar (DKMS üzerinden LKM)Yok
Rakip elemeVar (killservice.sh)Yok
Çalıştığı hesaproot (systemd)mevcut kullanıcı (setsid arka plan süreci)

getroot: CVE-2026-31431, sayfa önbelleği bozulmasıyla root

getroot, getroot.c kaynağından derlenmiş, statik olarak bağlanmış ve sembolleri çıkarılmamış bir ELF64 x86-64 ikili dosyasıdır. 29 Nisan 2026’da açıklanan (CVSS 7.8), Linux çekirdeğinin AF_ALG algif_aead arayüzündeki bir mantık kusuru olan CVE-2026-31431 (“Copy Fail”) açığını istismar eder. Hata, çekirdek sayfa önbelleğine deterministik ve saldırgan denetiminde 4 baytlık bir yazım imkânı verir; getroot bunu bellekteki bir SUID ikilisini yamalamak ve root olarak dışarı çıkmak için kullanır.

ÖzellikDeğer
TürELF 64-bit LSB çalıştırılabilir, x86-64, statik bağlı, sembolleri çıkarılmamış
CVECVE-2026-31431 “Copy Fail” (CVSS 7.8, AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
Alt sistemAF_ALG algif_aead, AEAD şablonu authencesn(hmac(sha256),cbc(aes))
EtkilenenLinux 4.14 ile 6.19.11 arası (kusur 2017’de, 72548b093ee3 commit’i ile geldi); 6.18.22, 6.19.12, 7.0+ sürümlerinde giderildi
Hedef/usr/bin/su: bellekteki .text bölümü sayfa önbelleğinde yamalanır
GüvenilirlikDeterministik, yarış durumu yok
Kullanım / geri dönüş davranışı./getroot <cmd> [args...]; istismar başarısız olursa komutu yine de mevcut ayrıcalıklarla çalıştırır

Mekanizma. AEAD kodunda 2017’de yapılan yerinde bir optimizasyon, splice ile aktarılan sayfa önbelleği sayfalarını hem kaynak hem de hedef scatterlist içinde bırakmıştır. authencesn şablonu 4 baytlık ESN geçici değerini saldırganın seçtiği assoclen + cryptlen konumuna yazdığında, bu yazım kullanıcı tarafından okunabilir bir dosyanın sayfa önbelleği sayfasının içine düşer. Ardından HMAC denetimi başarısız olur ve recvmsg() EBADMSG döndürür, ancak çekirdek yazımı hiçbir zaman geri almaz. getroot, /usr/bin/su’nun ELF başlıklarını ayrıştırarak giriş noktasının dosya ofsetini hesaplar, sonra shellcode’un her 4 baytlık parçası için bir kez olmak üzere splice → sendmsg (yazılacak 4 baytı AAD içinde taşır) → recvmsg döngüsünü işletir ve /usr/bin/su’yu sayfa önbelleğinde yamalar. Daha sonra /usr/bin/su’yu execve ile çalıştırır: çekirdek artık bozulmuş olan sayfayı yükler, shellcode SUID-root olarak çalışır ve getroot, operatörün komutunu çalıştırmadan önce getuid() == 0 koşulunu doğrular (Türkçe [+] ROOT ele gecirildi! mesajını yazdırarak). Diskteki dosyaya hiç dokunulmaz, dolayısıyla dosya bütünlüğü izlemesi hiçbir şey görmez.

Konteynerden ana makineye kaçış. Linux sayfa önbelleği ana makine genelindedir; konteynerler kendilerine ait bir önbelleğe sahip değildir. Ayrıcalıksız bir konteyner içindeki bir süreç ana makinenin /usr/bin/su dosyasını splice ettiğinde ana makinenin önbellekteki kopyasını bozar, dolayısıyla execve yalnızca konteynerde değil ana makinede root verir. Bu nedenle enfekte bir konteyner, ele geçirilmiş bir ana makine demektir ve setup.sh bunun ardından çekirdek rootkit’ini ana makineye yükler. Konteyneri durdurup kaldırmak yeterli değildir; ana makinenin yeniden kurulması gerekir.

getroot’u izole bir sanal makinede (Kali, çekirdek 6.6.15) bir kez çalıştırdık. Tüm AF_ALG dizisini yürüttü, ancak o yapıda root elde edemedi ve komutu ayrıcalıksız çalıştırmaya geriledi; bu da belirli çekirdek yerleşimlerini hedefleyen bir istismarla uyumludur. Madenciyi çalıştırmadık.

xrandom: madenci

xrandom, açık kaynaklı Monero madencisi XMRig 6.26.0’ın yeniden adlandırılmış ve UPX ile paketlenmiş bir kopyasıdır.

ÖzellikDeğer
Gerçek kimlikXMRig 6.26.0
PaketlemeUPX 4.2.4 (paketli 2.8 MB, açılmış 10.1 MB)
AlgoritmaRandomX (rx/0)
Havuzpool.supportxmr.com:443, stratum+ssl üzerinden
Cüzdan46NVDFL6v5STw5Qw4j77PoBSHRTYnHZGZ8WRoGvHmpaMX7ZyhNUP2u24TLV9pNgncz1bZF2Vm8KkaNTzU7SXqrnFUx5zgHQ
Bağış düzeyi0 (XMRig geliştirici bağışı devre dışı)

Madenciliğin TLS ile 443 numaralı port üzerinden yapılması, trafiğin ilk bakışta sıradan HTTPS ile karışmasını sağlar; ancak stratum el sıkışmasının TLS parmak izi, dikkatle bakan biri için farklıdır.

stealth.c: çekirdek rootkit’i

Araç takımının en gelişmiş parçası budur. Çekirdek fonksiyonlarını araya girerek yakalamak ve zararlının izlerini silmek için ftrace fonksiyon kancalaması kullanan bir LKM rootkit’idir ve baştan sona kendisini bir Intel donanım sürücüsü kılığına sokar.

ÖzellikDeğer
Modül adıintel_uncore_freq_aux
Sahte üst veriMODULE_AUTHOR("Intel Corporation"), MODULE_DESCRIPTION("Intel Uncore Frequency Control Driver"), MODULE_VERSION("1.2.0")
Kancalamakallsyms_lookup_name üzerinden ftrace (5.7 ve sonrası çekirdeklerde bir kprobe aracılığıyla çözümlenir)
Denetim/sys/kernel/intel_uncore_freq/ altındaki sysfs (enabled, cpu_lo, cpu_hi, mem_lo, mem_hi, hide_tag)

Neyi, neden kancaladığı:

  • CPU maskeleme. /proc/stat’ı yeniden yazmak için show_stat’ı kancalar; kullanımı yapılandırılabilir sınırlar arasında (öntanımlı olarak %40 ila %50) taklit eder ve jiffies ile salındırır, böylece değer sabit kalmak yerine gerçek bir yük gibi hareket eder.
  • Bellek maskeleme. /proc/meminfo’yu yeniden yazmak için meminfo_proc_show’u kancalar; MemFree, MemAvailable, Buffers, Cached, Active ve Inactive değerlerini taklit eder.
  • Süreç saklama. /proc listelemelerini filtrelemek için iterate_dir’i kancalar ve adları gömülü bir kümeyle eşleşen PID’leri saklar: stealth, masscan, sshruns, ransomx, cpumask, xrandom, cpm_, kcpm, mask_helper, ftrhook, kintel_aux. Operatör, /sys/kernel/intel_uncore_freq/hide_tag üzerinden çalışma zamanında yeni adlar ekleyebilir.
  • Dosya saklama. stealth, cpumask, kintel_aux, intel_uncore_freq_aux ile eşleşen yolları ve sysfs dizininin kendisini saklar.
  • Kendini saklama. Yüklenirken list_del_init ile kendisini /proc/modules ve /sys/module/ içinden çıkarır, sysfs kobject’ini siler ve try_module_get ile kendi referans sayacını artırır; böylece rmmod modülü kaldıramaz.

Bu saklama listesi aynı zamanda bir ipucudur: madencinin yanı sıra masscan, sshruns ve ransomx’i de gizler, dolayısıyla operatörün bir tarayıcı çalıştırdığı ve kitinde bir madenciden fazlasının bulunabileceği değerlendirilmektedir.

Pratik sonuç şudur: top’u izleyen bir yönetici meşgul ama normal bir makine görür, hiçbir yetkisiz süreç bulamaz ve bu yanıltmayı yapan çekirdek modülünü göremez. İpuçları fiziksel ve bant dışıdır: makine ısınır, fanlar hızlanır ve güç tüketimi yükselir; rootkit bunların hiçbirini taklit edemez.

Kalıcılık: moda göre ayrılan üç mekanizma

Rootpacket’in kalıcılığı, içine düştüğü moda bağlıdır. Root modunda birbirini pekiştiren iki mekanizmayı katmanlar; kullanıcı alanı modunda ise üçüncü bir mekanizmaya geriler.

#MekanizmaModAyrıntı
1systemd servisirootkernel-kd.service, Type=simple, Restart=always, RestartSec=3
2DKMS modülürootRootkit’i /lib/modules/$(uname -r)/extra/ altına kurar; çekirdek yükseltmelerinden sağ çıkar
3crontabkullanıcı@reboot ve her dakika (* * * * *), PID kilidi ve setsid ile

İnatçı olan DKMS kaydıdır: rootkit’i çekirdeğin kendi modül derleme sistemi üzerinden kurar, dolayısıyla rutin bir çekirdek yükseltmesi onu kaldırmak yerine yeniden derleyip tekrar devreye alır.

killservice.sh: makineyi temizlemek ve kapatmak

Betik, banner’ında kendisini “cryptojacker hardening” olarak tanımlar ve bu tanım operatörün bakış açısından doğrudur. Üç aşamada çalışır.

Aşama 1: dışa açık servisleri kapatmak. 0.0.0.0 üzerinde dinleyen ve yaygın cryptojacking giriş noktaları olan servisleri hedefler; her birini durdurur, devre dışı bırakır ve maskeler, ikili dosyalara chmod 000 uygular ve iptables DROP kuralları ekler:

ServisPort
Redis6379
Docker2375/2376
PostgreSQL5432
MongoDB27017
Elasticsearch9200/9300
Memcached11211
Hadoop YARN8088
Jenkins8080
Confluence8090

Docker satırı, RedTail raporumuzla bağ kuran halkadır: Rootpacket, RedTail’in içinden geçtiği tam olarak aynı 2375/2376 kapısını kapatır. İlk gelen operatör ana makinede madencilik yapar, ardından sıradaki grubu dışarıda bırakır ve makineyi onların kullanacağı tekniklere karşı sıkılaştırır.

Aşama 2: rakip madencileri kaldırmak. Süreçleri sonlandırır, dosyaları siler, cron işlerini temizler ve bilinen cryptojacking ailelerine bağlı SSH anahtarlarını temizler; bunlar arasında XMRig, Kinsing (kdevtmpfsi), TeamTNT (tntrecht, mdrfckr), sustes, watchdogs ve minerd ile birlikte masscan, pnscan ve zgrab gibi tarayıcılar yer alır.

Aşama 3: kullanıcı alanı rootkit’lerini kaldırmak. /etc/ld.so.preload içinden bilinen zararlı LD_PRELOAD kayıtlarını (libprocesshider.so, libjdk.so, libpamx.so, sahte bir libselinux.so.3 ve xhide) çıkarır ve ilgili kütüphaneleri siler; böylece kendi rootkit’ine karışabilecek rakip kullanıcı alanı rootkit’lerini temizler.

Atıf

Araç takımındaki Türkçe değişken adları, yorumlar ve durum dizgileri (örneğin ROOT ele gecirildi!, yani “root elde edildi”) orta güvenle Türkçe konuşan bir operatöre işaret etmektedir. Cloudflare Pages üzerinde barındırılan linuxutil5.pages[.]dev adresinde bir dağıtım veya hazırlık URL’si tespit ettik; bu, yükleri karışıp kaybolmak amacıyla ücretsiz ve itibarlı altyapıda hazırlama örüntüsüyle uyumludur. Araç takımının tamamının kendi içinde eksiksiz bir kopyası olan içteki rootpacket.tar.gz, operatöre sıradaki ana makineye aktarmaya hazır bir paket sağlar.

İhlal göstergeleri

Ağ

GöstergeBağlam
pool.supportxmr.com / pool.supportxmr.com:443Birincil Monero madencilik havuzu, stratum+ssl
linuxutil5.pages[.]devDağıtım / hazırlık (Cloudflare Pages)
api.xmrig.com, randomx.xmrig.com:443XMRig API ve kıyaslama uç noktaları
donate.v2.xmrig.com, donate.ssl.xmrig.comXMRig geliştirici bağış havuzları (mevcut, bağış devre dışı)
443 portuna stratum+ssl://Dışa doğru TLS madencilik trafiği

Monero cüzdanı: 46NVDFL6v5STw5Qw4j77PoBSHRTYnHZGZ8WRoGvHmpaMX7ZyhNUP2u24TLV9pNgncz1bZF2Vm8KkaNTzU7SXqrnFUx5zgHQ

Dosyalar (SHA-256)

DosyaSHA-256MD5
rootpacket.tar.gz (dış)e2d0dab6b29df89d123fe8581047a03ac9b89ae8fa0d1f334b5aefbb93152857
getrootdda96d8a4bcc39dc7679347a4386bf1024152d2ccc46d333725ad0cda855d952
xrandom (paketli)ec3ef3dce99fa6cbc480f0f0b0c292676afed68704c44396271c7dc6afea2937

Build ID’leri: getroot 148d8d902efd93ed892a541972fbcea3a99d05a3, xrandom d7a91225bdd2e3ab67cabded9d7809bcc724401f.

Ana makine artefaktları

YolBağlam
/opt/kernel-kd/xrandomMadenci ikilisi (root modu)
~/.xrandom/xrandom, ~/.xrandom/run.shMadenci ve başlatıcı (kullanıcı alanı modu)
/tmp/.xrandom.lockPID kilidi (kullanıcı alanı modu)
/etc/systemd/system/kernel-kd.serviceZararlı systemd birimi
/usr/src/intel_uncore_freq_aux-1.2.0/Rootkit için DKMS kaynağı
/sys/kernel/intel_uncore_freq/Rootkit sysfs denetim arayüzü
/lib/modules/*/extra/intel_uncore_freq_aux.koDerlenmiş rootkit modülü

Davranışsal

  • root veya mevcut kullanıcı olarak çalışan xrandom adlı bir süreç.
  • Donanım performans sayaçlarıyla (perf stat) ya da fan hızı ve güç tüketimiyle çelişen /proc/stat CPU değerleri.
  • kernel-kd adlı bir systemd servisi (etkin, Type=simple, Restart=always).
  • # xrandom-userland-autostart etiketli bir cron kaydı.
  • Açılışta yüklenen ancak lsmod çıktısında görünmeyen bir intel_uncore_freq_aux çekirdek modülü.

Tespit

Rootkit yüklü değilse

systemctl status kernel-kd.service
ls -la /opt/kernel-kd/ ~/.xrandom/
dkms status | grep intel_uncore_freq
crontab -l | grep xrandom
lsmod | grep intel_uncore

Rootkit yüklüyse

Kullanıcı alanı görünümleri ele geçirilmiş durumdadır, dolayısıyla tespitin rootkit’in altından veya yanından gelmesi gerekir:

  • /proc/stat CPU değerlerini perf stat ile donanım sayaçlarıyla karşılaştırın. Büyük bir fark, aradığınız ipucudur.
  • show_stat, meminfo_proc_show ve iterate_dir üzerindeki ftrace kancalarını izleyin.
  • Bildirilen CPU ile gerçek güç tüketimi, ısı veya fan hızı arasındaki tutarsızlığı güçlü bir sinyal olarak değerlendirin.

Ayrıcalık yükseltmesini yakalamak

  • Bilinen bir kripto aracı (cryptsetup, openssl, gpg, systemd-cryptsetup) olmayan bir süreç tarafından açılan AF_ALG, SOCK_SEQPACKET soketi temel ipucudur. Tam sıra şöyledir: socket(AF_ALG) → bind → setsockopt(SOL_ALG) → accept → pipe → splice → sendmsg → splice → recvmsg (tekrarlı), ardından execve(/usr/bin/su).
  • Her SUID ikilisinin diskteki baytlarını sayfa önbelleği görünümüyle karşılaştırın. sha256sum önbellek üzerinden okuma yapar ve bozulmuş kopyayı gösterir, bu nedenle diski doğrudan dd if=<file> iflag=direct ile okuyup onun özetini alın, sonra karşılaştırın. Bir SUID ikilisinde uyuşmazlık, sayfa önbelleği bozulması anlamına gelir.

Aday YARA

rule Rootpacket_Cryptojacker
{
    meta:
        description = "Rootpacket Linux cryptojacking toolkit"
        reference   = "Kinryu Labs CTI 2026-06-16"
    strings:
        $wallet = "46NVDFL6v5STw5Qw4j77PoBSHRTYnHZGZ8WRoGvHmpaMX7ZyhNUP2u24TLV9pNgncz1bZF2Vm8KkaNTzU7SXqrnFUx5zgHQ" ascii
        $svc    = "kernel-kd" ascii
        $cron   = "xrandom-userland-autostart" ascii
        $mod    = "intel_uncore_freq_aux" ascii
    condition:
        $wallet or 2 of ($svc, $cron, $mod)
}

Giderme

  1. Rootkit’i bilinen temiz bir durumdan kaldırın. Canlı ortam veya kurtarma medyasından başlatın. /lib/modules/*/extra/intel_uncore_freq_aux.ko* dosyalarını silin ve dkms remove intel_uncore_freq_aux/1.2.0 --all komutunu çalıştırın, ardından /usr/src/intel_uncore_freq_aux-1.2.0/ dizinini silin ve initramfs’i yeniden oluşturun (update-initramfs -u, dracut -f veya mkinitcpio -P). DKMS kaydı mutlaka kaldırılmalıdır, aksi halde modül yeniden derlenir.
  2. Servisi kaldırın: systemctl stop kernel-kd; systemctl disable kernel-kd; rm /etc/systemd/system/kernel-kd.service; systemctl daemon-reload.
  3. Madenciyi kaldırın: rm -rf /opt/kernel-kd/ ~/.xrandom/ /tmp/.xrandom.lock, ardından pkill -9 -f xrandom.
  4. Cron’u temizleyin: # xrandom-userland-autostart satırlarını kaldırın.
  5. killservice.sh’ın bozduklarını onarın. Betik Redis, Docker, PostgreSQL, MongoDB ve diğer ikili dosyalara chmod 000 uygular ve iptables DROP kuralları ekler. Etkilenen paketleri yeniden kurun ve güvenlik duvarını gözden geçirin.
  6. Yatay olarak av yapın. İçteki rootpacket.tar.gz yeniden dağıtım için hazırlanmıştır, bu nedenle diğer ana makineleri aynı göstergeler açısından kontrol edin ve giriş yolunu bulmak için killservice.sh içindeki servislerin istismarına ilişkin kayıtları inceleyin.
  7. CVE-2026-31431’i kapatın. Düzeltilmiş bir çekirdeğe (6.18.22, 6.19.12, 7.0+ veya dağıtımınızın geri aktarımı) güncelleyin. Hemen yama uygulayamadığınız yerlerde, zafiyetli arayüzü devre dışı bırakın: echo 'install algif_aead /bin/false' > /etc/modprobe.d/disable-algif-aead.conf ardından rmmod algif_aead. Konteynerler için seccomp profilinde AF_ALG’ı (aile 38) engelleyin.
  8. Konteynerden ana makine ele geçirilmesini varsayın. Sayfa önbelleği yazımı konteyner sınırını aştığı için, setup.sh çalıştırmış olan her ana makineyi, bu konteyner içinden olmuş olsa bile tümüyle ele geçirilmiş kabul edin. Yalnızca konteyneri kaldırmak yerine ana makineyi yeniden kurun.

MITRE ATT&CK eşlemesi

TaktikTeknik
Başlangıç ErişimiT1190 Exploit Public-Facing Application (Redis, Docker, MongoDB, Elasticsearch, Jenkins, Hadoop YARN; ima ediliyor)
YürütmeT1059.004 Unix Shell
Ayrıcalık YükseltmeT1068 Exploitation for Privilege Escalation (CVE-2026-31431, AF_ALG algif_aead); T1611 Escape to Host (paylaşılan sayfa önbelleği)
KalıcılıkT1543.002 Systemd Service; T1053.003 Cron; T1547.006 Kernel Modules (DKMS)
Savunmadan KaçınmaT1014 Rootkit; T1036.005 Masquerading: Match Legitimate Name; T1027.002 Software Packing (UPX); T1070.004 File Deletion; T1564.001 Hidden Files
KeşifT1057 Process Discovery (rakip arama)
Yatay HareketT1570 Lateral Tool Transfer (içteki yeniden dağıtım paketi)
EtkiT1496 Resource Hijacking (Monero madenciliği)

Yöntem ve analist notları

  • Analiz ağırlıklı olarak statik yöntemlerle (dizgi çıkarımı, disassembly, kaynak incelemesi, yapısal analiz) Kali Linux x86-64 üzerinde yürütülmüştür. Ayrıca davranışını izlemek için getroot’u izole bir sanal makinede (çekirdek 6.6.15) bir kez çalıştırdık: AF_ALG dizisini denedi, o yapıda root elde edemedi ve komutu ayrıcalıksız çalıştırmaya geriledi. Madenci çalıştırılmamış ve hiçbir şey yüklenmemiştir.
  • Ayrıcalık yükseltme bileşeni CVE-2026-31431’dir; bu, AF_ALG soketine bağlanan authencesn(hmac(sha256),cbc(aes)) şablonu, /usr/bin/su sayfa önbelleği hedefi ve ikili dosyadaki splice/sendmsg/recvmsg yazım döngüsünden tespit edilmiştir.
  • Örnekler (araç takımı ve bileşenleri), talep üzerine diğer araştırmacılara ve savunuculara sunulmaktadır. Kim olduğunuzu ve örnekleri ne için istediğinizi kısaca belirten bir not ile [email protected] adresine e-posta gönderin.
Sample
rootpacket · e2d0dab6b29df89d…
How to cite
Kinryū Labs (2026). Rootpacket: Çekirdeğin İçinde Saklanan Bir Linux Cryptojacking Araç Takımı. https://kinryu.sh/tr/reports/rootpacket-linux-cryptojacking-rootkit/