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·
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.commadencilik 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_aeadyolundaki 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.
| Özellik | root modu | Kullanıcı alanı modu |
|---|---|---|
| Madenci konumu | /opt/kernel-kd/xrandom | ~/.xrandom/xrandom |
| Kalıcılık | systemd (kernel-kd.service) | crontab (@reboot + */1 * * * *) |
| Rootkit | Evet (DKMS ile LKM) | Hayır |
| Rakip öldürme | Evet (killservice.sh) | Hayır |
| Çalışma biçimi | root (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.
| Özellik | Değer |
|---|---|
| Tür | ELF 64-bit LSB executable, x86-64, statik bağlı, strip edilmemiş |
| CVE | CVE-2026-31431 “Copy Fail” (CVSS 7.8, AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| Alt sistem | AF_ALG algif_aead, AEAD şablonu authencesn(hmac(sha256),cbc(aes)) |
| Etkilenen | Linux 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üvenilirlik | Belirlenimci, 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 splice → sendmsg (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.
| Özellik | Değer |
|---|---|
| Gerçek kimlik | XMRig 6.26.0 |
| Paketleme | UPX 4.2.4 (paketli 2,8 MB, paketsiz 10,1 MB) |
| Algoritma | RandomX (rx/0) |
| Havuz | stratum+ssl ile pool.supportxmr.com:443 |
| Cüzdan | 46NVDFL6v5STw5Qw4j77PoBSHRTYnHZGZ8WRoGvHmpaMX7ZyhNUP2u24TLV9pNgncz1bZF2Vm8KkaNTzU7SXqrnFUx5zgHQ |
| Bağış düzeyi | 0 (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.
| Özellik | Değer |
|---|---|
| Modül adı | intel_uncore_freq_aux |
| Sahte meta veri | MODULE_AUTHOR("Intel Corporation"), MODULE_DESCRIPTION("Intel Uncore Frequency Control Driver"), MODULE_VERSION("1.2.0") |
| Kancalama | kallsyms_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çinshow_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çinmeminfo_proc_show’u kancalar;MemFree,MemAvailable,Buffers,Cached,ActiveveInactive’i taklit eder. - Süreç gizleme.
/proclistelerini filtrelemek içiniterate_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_auxile eşleşen yolları ve sysfs dizininin kendisini gizler. - Kendini gizleme. Yüklenirken
list_del_initile kendini/proc/modulesve/sys/module/’den kaldırır, sysfs kobject’ini siler vermmod’un onu kaldıramaması içintry_module_getile 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.
| # | Mekanizma | Mod | Ayrıntı |
|---|---|---|---|
| 1 | systemd hizmeti | root | kernel-kd.service, Type=simple, Restart=always, RestartSec=3 |
| 2 | DKMS modülü | root | Rootkit’i /lib/modules/$(uname -r)/extra/ altına kurar; çekirdek yükseltmelerini atlatır |
| 3 | crontab | user | @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:
| Hizmet | Port |
|---|---|
| Redis | 6379 |
| Docker | 2375/2376 |
| PostgreSQL | 5432 |
| MongoDB | 27017 |
| Elasticsearch | 9200/9300 |
| Memcached | 11211 |
| Hadoop YARN | 8088 |
| Jenkins | 8080 |
| Confluence | 8090 |
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
Ağ
| Gösterge | Bağlam |
|---|---|
pool.supportxmr.com / pool.supportxmr.com:443 | Birincil Monero madencilik havuzu, stratum+ssl |
linuxutil5.pages[.]dev | Dağıtım / hazırlama (Cloudflare Pages) |
api.xmrig.com, randomx.xmrig.com:443 | XMRig API ve kıyaslama uç noktaları |
donate.v2.xmrig.com, donate.ssl.xmrig.com | XMRig geliştirici bağış havuzları (mevcut, bağış devre dışı) |
443 portuna stratum+ssl:// | Giden TLS madencilik trafiği |
Monero cüzdanı: 46NVDFL6v5STw5Qw4j77PoBSHRTYnHZGZ8WRoGvHmpaMX7ZyhNUP2u24TLV9pNgncz1bZF2Vm8KkaNTzU7SXqrnFUx5zgHQ
Dosyalar (SHA-256)
| Dosya | SHA-256 | MD5 |
|---|---|---|
rootpacket.tar.gz (dış) | e2d0dab6b29df89d123fe8581047a03ac9b89ae8fa0d1f334b5aefbb93152857 | |
getroot | dda96d8a4bcc39dc7679347a4386bf1024152d2ccc46d333725ad0cda855d952 | |
xrandom (paketli) | ec3ef3dce99fa6cbc480f0f0b0c292676afed68704c44396271c7dc6afea2937 |
Build ID: getroot 148d8d902efd93ed892a541972fbcea3a99d05a3, xrandom d7a91225bdd2e3ab67cabded9d7809bcc724401f.
Ana makine kalıntıları
| Yol | Bağlam |
|---|---|
/opt/kernel-kd/xrandom | Madenci ikilisi (root modu) |
~/.xrandom/xrandom, ~/.xrandom/run.sh | Madenci ve başlatıcı (kullanıcı alanı modu) |
/tmp/.xrandom.lock | PID kilidi (kullanıcı alanı modu) |
/etc/systemd/system/kernel-kd.service | Kö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.ko | Derlenmiş rootkit modülü |
Davranışsal
- root ya da mevcut kullanıcı olarak çalışan
xrandomadlı bir süreç. - Donanım performans sayaçlarıyla (
perf stat) ya da fan hızı ve güç çekişiyle çelişen/proc/statCPU rakamları. - Bir systemd hizmeti
kernel-kd(etkin,Type=simple,Restart=always). # xrandom-userland-autostartetiketli 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’yuperf statile donanım sayaçlarına karşı karşılaştırın. Büyük bir boşluk ipucudur.show_stat,meminfo_proc_showveiterate_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 birAF_ALG,SOCK_SEQPACKETsoketi temel ipucudur. Tam sıra şudur:socket(AF_ALG)→bind→setsockopt(SOL_ALG)→accept→pipe→splice→sendmsg→splice→recvmsg(tekrarlı), ardındanexecve(/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 diskidd if=<file> iflag=directile 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
- 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 vedkms 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 -fya damkinitcpio -P). DKMS girdisi gitmeli, yoksa yeniden derlenir. - Hizmeti kaldırın:
systemctl stop kernel-kd; systemctl disable kernel-kd; rm /etc/systemd/system/kernel-kd.service; systemctl daemon-reload. - Madenciyi kaldırın:
rm -rf /opt/kernel-kd/ ~/.xrandom/ /tmp/.xrandom.lock, ardındanpkill -9 -f xrandom. - cron’u temizleyin,
# xrandom-userland-autostartsatırlarından. - killservice.sh’nin bozduğunu geri yükleyin. Redis, Docker, PostgreSQL, MongoDB ve diğer ikili dosyalara
chmod 000koyar ve iptables DROP kuralları ekler. Etkilenen paketleri yeniden kurun ve güvenlik duvarını gözden geçirin. - Yanal olarak avlayın. İç
rootpacket.tar.gzyeniden 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çinkillservice.sh’deki hizmetlerin istismarı açısından günlükleri gözden geçirin. - 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.confardındanrmmod algif_aead. Konteynerler için, seccomp profilindeAF_ALG’ı (family 38) engelleyin. - 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
| Taktik | Teknik |
|---|---|
| Initial Access | T1190 Exploit Public-Facing Application (Redis, Docker, MongoDB, Elasticsearch, Jenkins, Hadoop YARN, ima edilir) |
| Execution | T1059.004 Unix Shell |
| Privilege Escalation | T1068 Exploitation for Privilege Escalation (CVE-2026-31431, AF_ALG algif_aead); T1611 Escape to Host (paylaşılan sayfa önbelleği) |
| Persistence | T1543.002 Systemd Service; T1053.003 Cron; T1547.006 Kernel Modules (DKMS) |
| Defense Evasion | T1014 Rootkit; T1036.005 Masquerading: Match Legitimate Name; T1027.002 Software Packing (UPX); T1070.004 File Deletion; T1564.001 Hidden Files |
| Discovery | T1057 Process Discovery (rakip avı) |
| Lateral Movement | T1570 Lateral Tool Transfer (iç yeniden dağıtım paketi) |
| Impact | T1496 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/susayfa önbelleği hedefi ve ikilidekisplice/sendmsg/recvmsgyazma 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.