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

Rootpacket: çekirdekte saklanan bir Linux kripto madenciliği araç takımı

Kinryū Labs, Rootpacket'i analiz etti: CPU ve bellek kullanımını taklit etmek için bir çekirdek rootkit'i taşıyan, CVE-2026-31431 (konteynerden ana makineye de kaçan bir AF_ALG sayfa önbelleği kusuru) üzerinden root'a yükselen, bir Intel sürücüsü gibi davranan ve rakip madencilerin içeri girmek için kullandığı aynı açıktaki hizmetleri devre dışı bırakan bir Linux kripto madenciliği araç takımı.

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. Genel yayım için onaylandı. Bu yalnızca statik analizdir: hiçbir örnek çalıştırılmadı ve her bulgu dize çıkarımı, sökme (disassembly) ve kaynak kodu incelemesinden gelir. Saldırganın Monero cüzdanı, havuzu ve altyapısı savunma göstergeleri olarak yayımlanı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 page-cache LPE)
  • ana makineayrıcalıksız bir konteynerden root

Rootpacket, Linux için çok bileşenli bir kripto madenciliği 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 olarak yeniden adlandırılmış UPX ile paketlenmiş bir XMRig 6.26.0 Monero madencisi ve bir rakip eleme betiği bir araya getirir. Kod büyük ölçüde Türkçe yazılmıştır (değişken adları, yorumlar, durum dizeleri), bu da Türkçe konuşan bir operatöre işaret eder.

Araç takımı iki moddan birinde çalışır. root modunda, intel_uncore_freq_aux kılığına girmiş yüklenebilir bir çekirdek modülü (LKM) rootkit’i yükler, çekirdek yükseltmelerini atlatması için onu DKMS aracılığıyla kurar, bir systemd hizmeti kaydeder ve makineyi rakiplerden temizler. root’u alamadığında, crontab ile kalıcı olan ve madenciyi bir arka plan süreci (daemon) olarak çalıştıran bir kullanıcı alanı moduna geri döner. Madenci stratum+ssl ile pool.supportxmr.com:443’e bağlanır ve RandomX ile Monero madenciliği yapar.

Üzerinde durmaya değer bileşen rootkit’tir. Madenci işlemciyi %100’e yakın tutarken, rootkit /proc/stat’ı yeniden yazar; öyle ki top ve htop sakin bir %40 ila %50 raporlar ve bu rakamı, yük sabit bir değerde takılı kalmak yerine gerçek görünsün diye jiffies kullanarak salındırır. Aynısını /proc/meminfo’ya da yapar ve kendi süreçlerini ve dosyalarını gizlemek için dizin listelerini filtreler.

Temel değerlendirmeler

  • Amaç kripto madenciliğidir (yüksek güven). Araç takımı XMRig 6.26.0, sabit kodlanmış bir Monero cüzdanı ve bir pool.supportxmr.com madencilik yapılandırması taşır; XMRig geliştirici bağışı kapatılmıştır, böylece tüm gelir operatöre gider.
  • Ayrıcalık yükseltme CVE-2026-31431’dir (“Copy Fail”); Linux AF_ALG algif_aead yolundaki belirlenimci bir sayfa önbelleği yazmasıdır (CVSS 7.8, Nisan 2026’da açıklandı). Sayfa önbelleği ana makine genelinde paylaşıldığından, aynı yazma konteynerden kaçıp ana makinede root alır; dolayısıyla enfekte bir konteyner, ele geçirilmiş bir ana makinedir (yüksek güven).
  • Operatör, tipik bırak-ve-madencilik-yap ekibinin epey üzerindedir (yüksek güven). ftrace kancaları olan özel bir LKM rootkit’i, yeni çekirdekler için kendini yeniden derleyen DKMS kalıcılığı, çalışan bir CVE-2026-31431 sayfa önbelleği istismarı ve katmanlı systemd/DKMS/cron kalıcılığı, çoğu kripto madencinin asla ulaşamadığı bir mühendislik düzeyidir.
  • Operatör muhtemelen Türkçe konuşmaktadır (orta güven). Türkçe değişken adları, yorumlar ve ROOT ele gecirildi! gibi durum mesajları araç takımının her yerinden geçer.
  • Rootpacket, bir ana makineye tek başına sahip olmak ve onu elde tutmak için yapılmıştır. killservice.sh’si rakip madencileri kaldırır ve ardından kripto madencilerin ilk erişim için kullandığı, dışa açık hizmetleri devre dışı bırakır; buna 2375/2376’daki Docker API de dahildir; RedTail yazımızda belgelediğimiz aynı vektör. Bu ekipler aynı yanlış yapılandırılmış makineler için kavga ediyor.

Araç takımı mimarisi

Rootpacket modüler bir damlalıktır. Parçaları:

setup.sh         Giriş noktası. Ayrıcalık düzeyini kontrol eder, bir dağıtım modu seçer.
getroot          Ayrıcalık yükseltme. Yerel root için CVE-2026-31431 (AF_ALG) istismar eder.
xrandom          UPX ile paketlenmiş XMRig 6.26.0, ada dayalı tespitten kaçmak için yeniden adlandırılmış.
kernel/
  stealth.c      LKM rootkit, DKMS ile derlenir, Intel sürücüsü kılığında.
  install.sh     DKMS kalıcılık motoru.
killservice.sh   Rakip eleme ve "sertleştirme".
rootpacket.tar.gz  Tüm araç takımının iç kopyası, yeniden dağıtım için paketlenmiş.

root modu. setup.sh, zaten root değilse getroot’u çalıştırır, xrandom’ı /opt/kernel-kd/’ye kopyalar, bir systemd hizmeti oluşturur, rootkit’i DKMS ile derleyip yüklemek için kernel/install.sh’yi çalıştırır, rekabeti temizlemek için killservice.sh’yi çalıştırır ve madenciyi kalıcı bir hizmet olarak başlatır.

Kullanıcı alanı yedeği. root erişilemez olduğunda, setup.sh, xrandom’ı ~/.xrandom/’a kopyalar, bir PID kilitli başlatıcı yazar, yeniden başlatmada ve her dakika tetiklenen bir crontab girdisi kurar ve ana kabuktan sağ çıkması için madenciyi 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 * * * *)
RootkitEvet (DKMS ile LKM)Hayır
Rakip öldürmeEvet (killservice.sh)Hayır
Çalışma biçimiroot (systemd)mevcut kullanıcı (setsid daemon)

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

getroot, getroot.c’den derlenmiş, statik bağlı ve strip edilmemiş bir ELF64 x86-64 ikilisidir. CVE-2026-31431’i (“Copy Fail”) istismar eder; bu, 29 Nisan 2026’da açıklanan, Linux çekirdeğinin AF_ALG algif_aead arayüzündeki bir mantık kusurudur (CVSS 7.8). Hata, çekirdeğin sayfa önbelleğine saldırganın denetlediği belirlenimci bir 4 baytlık yazma verir ve getroot bunu bir SUID ikilisini bellekte yamamak ve root olarak dışarı çıkmak için kullanır.

ÖzellikDeğer
TürELF 64-bit LSB executable, x86-64, statik bağlı, strip edilmemiş
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 – 6.19.11 (kusur 2017’de, commit 72548b093ee3 ile geldi); 6.18.22, 6.19.12, 7.0+‘da düzeltildi
Hedef/usr/bin/su — bellekteki .text’i sayfa önbelleğinde yamanır
GüvenilirlikBelirlenimci, yarış durumu yok
Kullanım / yedek./getroot <cmd> [args...]; istismar tutmazsa, komutu mevcut ayrıcalıklarla yine de çalıştırır

Mekanizma. AEAD kodundaki 2017 tarihli yerinde bir optimizasyon, splice edilmiş sayfa önbelleği sayfalarını hem kaynak hem de hedef scatterlist’te bıraktı. authencesn şablonu, 4 baytlık ESN geçici değerini saldırganın seçtiği assoclen + cryptlen ofsetine yazdığında, o yazma, kullanıcının okuyabildiği bir dosyanın sayfa önbelleği sayfasının içine iner. Ardından HMAC kontrolü başarısız olur ve recvmsg(), EBADMSG döndürür, ama çekirdek yazmayı asla geri almaz. getroot, giriş noktasının dosya ofsetini hesaplamak için /usr/bin/su’nun ELF başlıklarını ayrıştırır, ardından shellcode’un her 4 baytlık parçası için bir kez splicesendmsg (yazılacak 4 baytı AAD’de taşıyarak) → recvmsg döngüsü kurarak /usr/bin/su’yu sayfa önbelleğinde yamar. Sonra /usr/bin/su’yu execve eder: çekirdek artık bozulmuş sayfayı yükler, shellcode SUID-root olarak çalışır ve getroot, operatörün komutunu çalıştırmadan önce getuid() == 0’ı doğrular (ve Türkçe [+] ROOT ele gecirildi! mesajını yazdırır). Diskteki dosyaya asla dokunulmaz, dolayısıyla dosya bütünlüğü izleme hiçbir şey görmez.

Ana makineye konteyner kaçışı. Linux sayfa önbelleği ana makine geneldir; konteynerlerin kendine ait olanı yoktur. Ayrıcalıksız bir konteynerin içindeki, ana makinenin /usr/bin/su’sunu splice eden bir süreç, ana makinenin önbelleğe alınmış 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 makinedir ve setup.sh devamında çekirdek rootkit’ini ana makineye yükler. Konteyneri durdurup kaldırmak yetmez; ana makinenin yeniden kurulması gerekir.

getroot’u yalıtılmış bir VM’de (Kali, çekirdek 6.6.15) bir kez çalıştırdık. Tam AF_ALG dizisini yürüttü ama o derlemede root alamadı ve komutu ayrıcalıksız çalıştırmaya geri döndü; bu da belirli çekirdek düzenlerini 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ış, UPX ile paketlenmiş bir kopyasıdır.

ÖzellikDeğer
Gerçek kimlikXMRig 6.26.0
PaketlemeUPX 4.2.4 (paketli 2,8 MB, paketsiz 10,1 MB)
AlgoritmaRandomX (rx/0)
Havuzstratum+ssl ile pool.supportxmr.com:443
Cüzdan46NVDFL6v5STw5Qw4j77PoBSHRTYnHZGZ8WRoGvHmpaMX7ZyhNUP2u24TLV9pNgncz1bZF2Vm8KkaNTzU7SXqrnFUx5zgHQ
Bağış düzeyi0 (XMRig geliştirici bağışı devre dışı)

443 portu üzerinden TLS ile madencilik, trafiğin ilk bakışta sıradan HTTPS’e karışmasını sağlar, ancak stratum el sıkışmasının yakından bakan biri için farklı bir TLS parmak izi vardır.

stealth.c: çekirdek rootkit’i

Bu, araç takımının en gelişmiş parçasıdır. Çekirdek işlevlerini araya girip kötü amaçlı yazılımın izini silmek için ftrace işlev kancalaması kullanan bir LKM rootkit’idir ve baştan sona bir Intel donanım sürücüsü kılığına girer.

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

Neyi kancaladığı ve nedeni:

  • CPU maskeleme. /proc/stat’ı yeniden yazmak için show_stat’ı kancalar; kullanımı yapılandırılabilir sınırlar arasında (varsayılan %40 ila %50) taklit eder ve sayının düz durmak yerine gerçek bir yük gibi hareket etmesi için jiffies ile salındırır.
  • Bellek maskeleme. /proc/meminfo’yu yeniden yazmak için meminfo_proc_show’u kancalar; MemFree, MemAvailable, Buffers, Cached, Active ve Inactive’i taklit eder.
  • Süreç gizleme. /proc listelerini filtrelemek için iterate_dir’i kancalar; adları sabit kodlanmış bir kümeyle eşleşen PID’leri gizler: stealth, masscan, sshruns, ransomx, cpumask, xrandom, cpm_, kcpm, mask_helper, ftrhook, kintel_aux. Bir operatör, /sys/kernel/intel_uncore_freq/hide_tag üzerinden çalışma zamanında ad ekleyebilir.
  • Dosya gizleme. stealth, cpumask, kintel_aux, intel_uncore_freq_aux ile eşleşen yolları ve sysfs dizininin kendisini gizler.
  • Kendini gizleme. Yüklenirken list_del_init ile kendini /proc/modules ve /sys/module/’den kaldırır, sysfs kobject’ini siler ve rmmod’un onu kaldıramaması için try_module_get ile kendi referans sayacını artırır.

O gizleme listesi de bir ipucudur: madencinin yanında masscan, sshruns ve ransomx’i gizler, dolayısıyla operatör muhtemelen bir tarayıcı çalıştırıyordur ve kitte bir madenciden fazlası olabilir.

Pratik etki şudur: top’a bakan bir yönetici, meşgul ama normal bir makine görür, hain bir süreç bulamaz ve yalan söyleyen çekirdek modülünü göremez. İpuçları fiziksel ve bant dışıdır: makine ısınır, fanlar hızlanır ve güç çekişi artar; bunların hiçbirini rootkit taklit edemez.

Kalıcılık: moda göre bölünmüş üç mekanizma

Rootpacket’in kalıcılığı, indiği moda bağlıdır. root modunda birbirini güçlendiren iki mekanizmayı katmanlar; kullanıcı alanı modunda üçüncüsüne geri döner.

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

DKMS girdisi inatçı olanı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 derler ve yeniden silahlandırır.

killservice.sh: makineyi temizlemek ve kapatmak

Betik, başlığında kendini “cryptojacker hardening” (“kripto madenci sertleştirme”) olarak adlandırır ve operatörün bakış açısından bu tanım isabetlidir. Üç aşamada çalışır.

1. aşama: açıktaki hizmetleri kapat. 0.0.0.0’da dinleyen, kripto madenciliğinin yaygın giriş noktaları olan hizmetleri hedefler; her birini durdurur, devre dışı bırakır ve maskeler, ikili dosyalara chmod 000 koyar ve iptables DROP kuralları ekler:

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

Docker satırı, RedTail raporumuzla bağ kuran dokudur: Rootpacket, RedTail’in içinden geçtiği tam o 2375/2376 kapısını kapatır. Önce inen bir operatör ana makinede madencilik yapar ve ardından bir sonraki ekibi dışarıda bırakır; makineyi onların kullanacağı tekniklere karşı sertleştirir.

2. aşama: rakip madencileri kaldır. Süreçleri öldürür, dosyaları siler, cron işlerini temizler ve bilinen kripto madenciliği ailelerine bağlı SSH anahtarlarını temizler; buna XMRig, Kinsing (kdevtmpfsi), TeamTNT (tntrecht, mdrfckr), sustes, watchdogs ve minerd’nin yanı sıra masscan, pnscan ve zgrab gibi tarayıcılar dahildir.

3. aşama: kullanıcı alanı rootkit’lerini kaldır. Bilinen kötü amaçlı LD_PRELOAD girdilerini (libprocesshider.so, libjdk.so, libpamx.so, sahte bir libselinux.so.3 ve xhide) /etc/ld.so.preload’dan söker ve kütüphaneleri siler; kendisine karışabilecek rakip kullanıcı alanı rootkit’lerini temizler.

Atıf

Araç takımının Türkçe değişken adları, yorumları ve durum dizeleri (örneğin ROOT ele gecirildi!, “root ele geçirildi”), orta güvenle Türkçe konuşan bir operatöre işaret eder. Cloudflare Pages’te barındırılan linuxutil5.pages[.]dev’de bir dağıtım ya da hazırlama URL’si bulduk; bu, karışmak için yükleri ücretsiz ve itibarlı bir altyapıda hazırlama desenine uyar. İç rootpacket.tar.gz, tüm araç takımının kendi kendine yeten bir kopyası, operatöre bir sonraki ana makineye itecek hazır bir paket verir.

İhlal göstergeleri

GöstergeBağlam
pool.supportxmr.com / pool.supportxmr.com:443Birincil Monero madencilik havuzu, stratum+ssl
linuxutil5.pages[.]devDağıtım / hazırlama (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://Giden TLS madencilik trafiği

Monero cüzdanı: 46NVDFL6v5STw5Qw4j77PoBSHRTYnHZGZ8WRoGvHmpaMX7ZyhNUP2u24TLV9pNgncz1bZF2Vm8KkaNTzU7SXqrnFUx5zgHQ

Dosyalar (SHA-256)

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

Build ID: getroot 148d8d902efd93ed892a541972fbcea3a99d05a3, xrandom d7a91225bdd2e3ab67cabded9d7809bcc724401f.

Ana makine kalıntıları

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.serviceKötü amaçlı systemd birimi
/usr/src/intel_uncore_freq_aux-1.2.0/Rootkit’in DKMS kaynağı
/sys/kernel/intel_uncore_freq/Rootkit’in sysfs denetim arayüzü
/lib/modules/*/extra/intel_uncore_freq_aux.koDerlenmiş rootkit modülü

Davranışsal

  • root ya da 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üç çekişiyle çelişen /proc/stat CPU rakamları.
  • Bir systemd hizmeti kernel-kd (etkin, Type=simple, Restart=always).
  • # xrandom-userland-autostart etiketli bir cron girdisi.
  • Önyüklemede yüklenen ama lsmod’da bulunmayan bir çekirdek modülü intel_uncore_freq_aux.

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ştir, dolayısıyla tespit rootkit’in altından ya da yanından gelmelidir:

  • /proc/stat’taki CPU’yu perf stat ile donanım sayaçlarına karşı karşılaştırın. Büyük bir boşluk ipucudur.
  • show_stat, meminfo_proc_show ve iterate_dir üzerindeki ftrace kancalarına dikkat edin.
  • Raporlanan CPU ile gerçek güç, ısı ya da fan hızı arasındaki bir tutarsızlığı güçlü bir sinyal olarak ele alın.

Ayrıcalık yükseltmeyi yakalamak

  • Bilinen bir kripto aracı (cryptsetup, openssl, gpg, systemd-cryptsetup) olmayan bir süreç tarafından açılan bir AF_ALG, SOCK_SEQPACKET soketi temel ipucudur. Tam sıra şudur: socket(AF_ALG)bindsetsockopt(SOL_ALG)acceptpipesplicesendmsgsplicerecvmsg (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 okur ve bozuk kopyayı gösterir, dolayısıyla diski dd if=<file> iflag=direct ile doğrudan okuyup onu özetleyin, sonra karşılaştırın. Bir SUID ikilisindeki bir uyumsuzluk, sayfa önbelleği bozulmasıdır.

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ı ya da kurtarma ortamından önyükleyin. /lib/modules/*/extra/intel_uncore_freq_aux.ko*’yu silin ve dkms remove intel_uncore_freq_aux/1.2.0 --all çalıştırın, ardından /usr/src/intel_uncore_freq_aux-1.2.0/’yi silin ve initramfs’i yeniden derleyin (update-initramfs -u, dracut -f ya da mkinitcpio -P). DKMS girdisi gitmeli, yoksa yeniden derlenir.
  2. Hizmeti 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ından.
  5. killservice.sh’nin bozduğunu geri yükleyin. Redis, Docker, PostgreSQL, MongoDB ve diğer ikili dosyalara chmod 000 koyar ve iptables DROP kuralları ekler. Etkilenen paketleri yeniden kurun ve güvenlik duvarını gözden geçirin.
  6. Yanal olarak avlayın. İç rootpacket.tar.gz yeniden dağıtım için yapılmıştır, dolayısıyla diğer ana makineleri aynı göstergeler için kontrol edin ve giriş yolunu bulmak için killservice.sh’deki hizmetlerin istismarı açısından günlükleri gözden geçirin.
  7. CVE-2026-31431’i kapatın. Düzeltilmiş bir çekirdeğe (6.18.22, 6.19.12, 7.0+ ya da dağıtımınızın geri taşıması) yama uygulayın. Hemen yama yapamadığınız yerde, savunmasız 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’ı (family 38) engelleyin.
  8. Bir konteynerden ana makine ihlalini varsayın. Sayfa önbelleği yazması konteyner sınırını aştığından, setup.sh’yi çalıştıran herhangi bir ana makineyi, bir konteynerin içinden bile olsa, tümüyle ele geçirilmiş kabul edin. Konteyneri yalnızca kaldırmak yerine ana makineyi yeniden kurun.

MITRE ATT&CK eşlemesi

TaktikTeknik
Initial AccessT1190 Exploit Public-Facing Application (Redis, Docker, MongoDB, Elasticsearch, Jenkins, Hadoop YARN, ima edilir)
ExecutionT1059.004 Unix Shell
Privilege EscalationT1068 Exploitation for Privilege Escalation (CVE-2026-31431, AF_ALG algif_aead); T1611 Escape to Host (paylaşılan sayfa önbelleği)
PersistenceT1543.002 Systemd Service; T1053.003 Cron; T1547.006 Kernel Modules (DKMS)
Defense EvasionT1014 Rootkit; T1036.005 Masquerading: Match Legitimate Name; T1027.002 Software Packing (UPX); T1070.004 File Deletion; T1564.001 Hidden Files
DiscoveryT1057 Process Discovery (rakip avı)
Lateral MovementT1570 Lateral Tool Transfer (iç yeniden dağıtım paketi)
ImpactT1496 Resource Hijacking (Monero madenciliği)

Metodoloji ve analist notları

  • Analiz ağırlıklı olarak statikti (dize çıkarımı, sökme, kaynak kodu incelemesi, yapısal analiz), Kali Linux x86-64 üzerinde. Davranışını izlemek için getroot’u yalıtılmış bir VM’de (çekirdek 6.6.15) bir kez de çalıştırdık: AF_ALG dizisini denedi, o derlemede root alamadı ve komutu ayrıcalıksız çalıştırmaya geri döndü. Madenci çalıştırılmadı ve hiçbir şey yüklenmedi.
  • Ayrıcalık yükseltme bileşeni CVE-2026-31431’dir; AF_ALG soketine bağlı authencesn(hmac(sha256),cbc(aes)) şablonu, /usr/bin/su sayfa önbelleği hedefi ve ikilideki splice/sendmsg/recvmsg yazma döngüsünden tanımlandı.
  • Örnekler (araç takımı ve bileşenleri) diğer araştırmacılara ve savunuculara talep üzerine sunulur. Kim olduğunuza ve ne için gerektiğine dair kısa bir notla [email protected] adresine yazın.
How to cite
Kinryū Labs (2026). Rootpacket: çekirdekte saklanan bir Linux kripto madenciliği araç takımı. https://kinryu.sh/tr/reports/rootpacket-linux-cryptojacking-rootkit/