IBM X-Force 위협 분석: QuirkyLoader - 인포스틸러와 RAT를 제공하는 새로운 멀웨어 로더

컴퓨터 앞에 앉아 노트북을 보고 있는 얼굴 옆에서 손을 걱정하며 걱정하는 여성

2024년 11월부터 IBM X-Force는 새로운 로더인 QuirkyLoader가 감염된 시스템에 추가 페이로드를 전달하는 데 사용되는 것을 관찰했습니다. QuirkyLoader를 사용하는 잘 알려진 멀웨어 제품군은 다음과 같습니다.

  • Agent Tesla                  
  • AsyncRat
  • FormBook
  • MassLogger
  • Remcos 
  • Rhadamanthys
  • Snake Keylogger

다단계 감염은 이메일에서 시작됩니다. 위협 행위자는 합법적인 이메일 서비스 제공업체와 자체 호스팅 이메일 서버를 모두 사용하여 악성 아카이브가 첨부된 이메일을 보냅니다. 이 아카이브에는 합법적인 실행 파일, 암호화된 페이로드 및 악성 DLL의 세 가지 주요 구성 요소가 포함되어 있습니다. 이 행위자는 DLL 사이드로딩을 사용하는데, 이는 합법적인 실행 파일을 실행하면 악성 DLL도 로드되는 기법입니다. 그런 다음 이 DLL은 최종 페이로드를 로드, 암호 해독 및 대상 프로세스에 주입합니다.

특히 X-Force는 위협 행위자가 일관되게 .NET 언어로 DLL 로더 모듈을 작성하고 AOT(Ahead-of-Time) 컴파일을 사용하는 것을 관찰했습니다. 이 프로세스는 실행 전에 코드를 네이티브 머신 코드로 컴파일하여 결과 바이너리가 C 또는 C++로 작성된 것처럼 보이게 합니다.

위협 유형

  • 로더

분석

감염 체인

QuirkyLoader 감염 체인은 사용자가 스팸 이메일에 첨부된 악성 아카이브 파일을 열 때 시작됩니다. 이 아카이브에는 합법적인 실행 파일, DLL로 위장한 암호화된 페이로드 및 DLL 로더 모듈이 포함되어 있습니다. 경우에 따라 아카이브에는 악성 모듈을 숨기기 위한 다른 합법적인 DLL이 포함되어 있습니다.

합법적인 .EXE 파일을 실행하면 감염의 후속 단계가 시작됩니다. 실행 파일은 DLL 사이드 로딩을 사용하여 악성 DLL을 로드합니다. 그런 다음 이 DLL은 최종 페이로드를 로드, 암호 해독 및 대상 프로세스에 주입합니다. AddInProcess32.exe, InstallUtil.exe 또는 aspnet_wp.exe 프로세스 중 하나에서 프로세스 할로잉을 수행하여 이를 수행합니다.

멀웨어/로더를 전달하는 데 사용되는 이메일 샘플
그림 1: 이메일 샘플
QuirkyLoader의 감염 체인을 보여주는 순서도
그림 2: 감염 체인

DLL 로더 모듈

​QuirkyLoader의 DLL 모듈은 일관되게 C# .NET으로 작성됩니다. 먼저 C# 코드를 MSIL(Microsoft Intermediate Language)로 컴파일한 다음 MSIL을 네이티브 머신 코드로 컴파일하는 AOT(Ahead-of-Time) 컴파일을 사용하여 컴파일됩니다. 이 기술은 먼저 코드를 MSIL(Microsoft Intermediate Language)로 컴파일한 다음 CLR(공용 언어 런타임)을 사용하여 네이티브 코드로 변환하는 기존의 .NET 방식을 우회합니다. 따라서 최종 바이너리는 C 또는 C++로 작성된 프로그램과 유사합니다.

.NET AOT 바이너리에 대한 컴파일러 및 언어 식별 스크린샷
그림 3: .NET AOT 바이너리의 컴파일러 및 언어 식별

암호화된 페이로드를 로드하기 위해 멀웨어는 Win32 API인 CreateFileW() 및 ReadFile()을 호출합니다. 그런 다음 일반적으로 블록 암호를 사용하여 페이로드가 포함된 버퍼를 해독합니다.

흥미롭게도 한 변종은 Speck-128 cipher with Counter(CTR) 모드를 사용하여 페이로드를 해독하는데, 이는 멀웨어에서 일반적으로 사용하지 않는 방법입니다. Speck 암호는 마스터 키를 여러 라운드 키로 확장하여 작동합니다. 이 라운드 키와 논스를 함께 사용하여 ARX(Add-Rotate-XOR) 연산을 수행하여 키 스트림을 생성합니다. 마지막으로 멀웨어는 생성된 키 스트림을 16바이트 블록의 암호화된 데이터와 비교하여 XOR하여 복호화된 페이로드를 생성합니다.

__int64 __fastcall SPECK_128_KeyStream(__int64 *Nonce_Lower_Half, __int64
*Nonce_Upper_Half, __int64 Round_Keys)
{
  __int64 result; // rax
  __int64 v4; // r10
  LODWORD(result) = 0;
  if ( Round_Keys && *(Round_Keys + 8) >= 32 )
  {
    do
    {
      *Nonce_Lower_Half = *(Round_Keys + 8LL * result + 16) ^
(*Nonce_Upper_Half + __ROL8__(*Nonce_Lower_Half, 56));
      *Nonce_Upper_Half = *Nonce_Lower_Half ^ __ROL8__(*Nonce_Upper_Half, 3);
      result = (result + 1);
    }
    while ( result < 32 );
  }
  else
  {
    do
    {
      v4 = *Nonce_Upper_Half + __ROL8__(*Nonce_Lower_Half, 56);
      if ( result >= *(Round_Keys + 8) )
        ERR_Mb_15();
      *Nonce_Lower_Half = *(Round_Keys + 8LL * result + 16) ^ v4;
      *Nonce_Upper_Half = *Nonce_Lower_Half ^ __ROL8__(*Nonce_Upper_Half, 3);
      result = (result + 1);
    }
    while ( result < 32 );
  }
  return result;
}

코드 블록 1 Speck Cipher의 키 스트림 생성

보안 소프트웨어의 탐지를 피하기 위해 이 멀웨어는 프로세스 할로잉에 필요한 Win32 API를 동적으로 해결합니다.

첫째, 멀웨어는 CreateProcessW()를 사용하여 일시 중단된 상태의 프로세스를 시작합니다. 그런 다음 ZwUnmapViewofSection()을 사용하여 일시 중단된 프로세스의 메모리를 매핑 해제하고 ZwWriteVirtualMemory()를 사용하여 악성 페이로드를 해당 메모리 공간에 기록합니다. 이러한 초기화를 수행한 후 멀웨어는 SetThreadContext()를 사용하여 페이로드의 시작점을 설정하고 ResumeThread()를 호출하여 실행합니다.

GetProcAddress ( 0x00007ff899380000, "CreateProcessW" )
GetProcAddress ( 0x00007ff899380000, "OpenProcess" )
GetProcAddress ( 0x00007ff899380000, "TerminateProcess" )
GetProcAddress ( 0x00007ff899380000, "CloseHandle" )
GetProcAddress ( 0x00007ff899380000, "GetThreadContext" )
GetProcAddress ( 0x00007ff899380000, "Wow64GetThreadContext" )
GetProcAddress ( 0x00007ff899380000, "SetThreadContext" )
GetProcAddress ( 0x00007ff899380000, "Wow64SetThreadContext" )
GetProcAddress ( 0x00007ff899380000, "ResumeThread" )
GetProcAddress ( 0x00007ff899380000, "VirtualAllocEx" )
GetProcAddress ( 0x00007ff89a6d0000, "ZwUnmapViewOfSection" )
GetProcAddress ( 0x00007ff89a6d0000, "ZwWriteVirtualMemory" )
GetProcAddress ( 0x00007ff899790000, "memset" )
GetProcAddress ( 0x00007ff899380000, "VirtualProtectEx" )
GetProcAddress ( 0x00007ff899380000, "FlushInstructionCache" )
GetProcAddress ( 0x00007ff899380000, "ReadProcessMemory" )

피해자학

지난 몇 달 동안 QuirkyLoader의 지리적 분포에 대한 정보는 제한적이었지만, 2025년 7월 대만과 멕시코를 대상으로 하는 두 개의 별개의 캠페인이 발견되었습니다. 대만에서 진행된 이 캠페인은 네트워크 및 인터넷 보안 연구 회사인 Nusoft Taiwan의 직원을 대상으로 Snake Keylogger 인포스틸러를 배포했습니다. 멕시코에서는 개인을 무작위로 타겟팅하여 Remcos RAT와 AsyncRAT를 모두 배포하는 캠페인을 진행했습니다.

관련 네트워크 인프라

IBM X-Force는 멀스팸 이메일을 배포하는 데 사용된 도메인과 관련된 추가 네트워크 IOCs를 발견했습니다. 조사는 157[.]66[.]225[.]11 IP 주소로 확인되고 Zimbra 웹 클라이언트를 호스팅하는 catherinereynolds[.]info 도메인에서 시작되었습니다. 자세히 조사한 결과, 도메인은 일반 이름이 mail[.]catherinereynolds[.]info인 SSL 인증서를 사용하는 것으로 나타났습니다. 이 인증서에서 피벗하여 103[.]75[.]77[.]90 및 161[.]248[.]178[.]212 IP가 동일한 SSL 인증서를 사용하고 있는 것으로 확인되었습니다. X-Force는 이러한 추가 IP가 유사한 ISP를 사용하고, 유사한 서비스를 호스팅하고, SSL 인증서에서 동일한 일반 이름을 공유하기하므로 이러한 추가 IP가 관련되어 있다고 매우 확신합니다.

Catherinereynolds[.]info의 SSL 인증서
그림 4: Catherinereynolds[.]info의 SSL 인증서

결론

QuirkyLoader는 Agent Tesla, AsyncRAT, Remcos 등 잘 알려진 멀웨어군을 적극적으로 배포하는 새로운 로더 멀웨어입니다. 위협 행위자는 아카이브 파일이 포함된 악성 이메일을 사용하여 다단계 감염을 시작합니다. 이 멀웨어는 DLL 사이드 로딩을 활용하여 .NET으로 일관되게 작성되고 미리 컴파일되어 그 성격을 위장하는 핵심 DLL 모듈을 실행합니다. 그런 다음 이 모듈은 최종 페이로드를 복호화하고 주입하여 다양한 멀웨어 위협을 전달하는 정교한 방법을 보여줍니다.

권장 사항

  • 실행 가능한 첨부파일이 있는 메시지를 차단하세요.
  • 예상치 못한 이메일을 열지 마세요.
  • 신뢰할 수 없는 출처에서 온 파일은 열지 마세요.
  • 보안 제품을 최신 상태로 유지하고 적절하게 구성하세요.
  • 최종 페이로드는 일반적으로 정보 도용 도구 및 원격 액세스 도구이므로 아웃바운드 네트워크 트래픽을 적극적으로 모니터링하고 검사하세요.
  • 다음과 같은 합법적인 프로세스의 동작은 QuirkyLoader에 의한 프로세스 할로잉의 일반적인 대상이므로 면밀히 모니터링합니다.
  •  
    • AddInProcess32.exe
    • InstallUtil.exe
    • aspnet_wp.exe

침해 지표

지표

지표 유형

컨텍스트

011257eb766f2539828bdd45
f8aa4ce3c4048ac2699d9883
29783290a7b4a0d3

파일

QuirkyLoader DLL 모듈

0ea3a55141405ee0e2dfbf33
3de01fe93c12cf34555550e4f
7bb3fdec2a7673b

파일

QuirkyLoader DLL 모듈

a64a99b8451038f2bbcd32
2fd729edf5e6ae0eb70a244
e342b2f8eff12219d03

파일

QuirkyLoader DLL 모듈

9726e5c7f9800b36b671b06
4e89784fb10465210198fbbb
75816224e85bd1306

파일

QuirkyLoader DLL 모듈

a1994ba84e255eb02a6140c
ab9fc4dd9a6371a84b1dd631
bd649525ac247c111

파일

QuirkyLoader DLL 모듈

d954b235bde6ad02451cab
6ee1138790eea569cf8fd0b
95de9dc505957c533cd

파일

QuirkyLoader의 샘플 이메일

5d5b3e3b78aa25664fb2bfdb
f061fc1190310f5046d969adab
3e7565978b96ff

파일

QuirkyLoader의 샘플 이메일

6f53c1780b92f3d5affcf095ae
0ad803974de6687a4938a2e
1c9133bf1081eb6

파일

QuirkyLoader의 샘플 이메일

ea65cf2d5634a81f37d3241a7
7f9cd319e45c1b13ffbaf5f8a63
7b34141292eb

파일

QuirkyLoader의 샘플 이메일

1b8c6d3268a5706fb41ddfff99
c8579ef029333057b911bb490
5e24aacc05460

파일

QuirkyLoader의 샘플 이메일

d0a3a1ee914bcbfcf709d36741
7f8c85bd0a22d8ede0829a66
e5be34e5e53bb9

파일

QuirkyLoader의 샘플 이메일

b22d878395ac2f2d927b78b16
c9f5e9b98e006d6357c98dbe
04b3fd78633ddde

파일

QuirkyLoader의 샘플 이메일

a83aa955608e9463f272adca
205c9e1a7cbe9d1ced1e10c9d
517b4d1177366f6

파일

QuirkyLoader의 샘플 이메일

3391b0f865f4c13dcd9f08c6d3e
3be844e89fa3afbcd95b5d1a1c
5abcacf41f4

파일

QuirkyLoader의 샘플 이메일

b2fdf10bd28c781ca354475be6
db40b8834f33d395f7b5850be
43ccace722c13

파일

QuirkyLoader의 샘플 이메일

bf3093f7453e4d0290511ea6a0
36cd3a66f456cd4a85b7ec8fbf
ea6b9c548504

파일

QuirkyLoader가 포함된 이메일 첨부 파일

97aee6ca1bc79064d21e1eb7b8
6e497adb7ece6376f355e47b2
ac60f366e843d

파일

QuirkyLoader가 포함된 이메일 첨부 파일

b42bc8b2aeec39f25babdcbbd
aab806c339e4397debfde2ff1b
69dca5081eb44

파일

QuirkyLoader가 포함된 이메일 첨부 파일

5aaf02e4348dc6e962ec54d5d
31095f055bd7fb1e5831768200
3552fd6fe25dc

파일

QuirkyLoader가 포함된 이메일 첨부 파일

8e0770383c03ce6921079879
9d543b10de088bac147dce47
03f13f79620b68b1

파일

QuirkyLoader가 포함된 이메일 첨부 파일

049ef50ec0fac1b99857a6d2b
eb8134be67ae67ae134f9a3c5
3699cdaa7c89ac

파일

QuirkyLoader가 포함된 이메일 첨부 파일

cba8bb455d577314959602eb
15edcaa34d0b164e2ef9d89b0
8733ed64381c6e0

파일

QuirkyLoader가 포함된 이메일 첨부 파일

catherinereynolds[.]info

도메인

악성 스팸 캠페인에 사용된 도메인

mail[.]catherinereynolds[.]info

도메인

악성 스팸 캠페인에 사용된 도메인

157[.]66[.]22[.]11

IPv4

catherinereynolds[.]info가 확인하는 IP 주소

103[.]75[.]77[.]90

IPv4

QuirkyLoader와 관련된 IP 주소

161[.]248[.]178[.]212

IPv4

QuirkyLoader와 관련된 IP 주소

IBM X-Force Premier Threat Intelligence는 이제 OpenCTI와 통합되어, 이번 위협 활동을 포함한 실행 가능한 위협 인텔리전스를 제공합니다. 위협 행위자, 악성코드, 업계 위험에 대한 인사이트를 확인하세요. 탐지 및 대응 능력을 강화하고 IBM X-Force의 전문 역량으로 사이버 보안을 강화하기 위해 OpenCTI Connector를 설치하세요. 앞서 나가세요. 오늘 바로 통합하세요.

관련 솔루션
ID 및 액세스 관리(IAM) 서비스

IBM IAM 서비스를 통해 보안 및 규정 준수를 강화하고 하이브리드 클라우드 환경 전반에서 ID 관리를 간소화하세요.

IAM 서비스 살펴보기
위협 탐지 및 대응 서비스

IBM의 글로벌 벤더 중립적 위협 대응 서비스를 통해 보안 프로그램을 최적화하세요.

위협 탐지 서비스 살펴보기
IBM Verify

IBM Verify로 보안 ID 기반을 구축하여 액세스를 간소화하고 인증을 개선하며 확신을 가지고 확장할 수 있습니다.

IBM Verify 살펴보기
다음 단계 안내

IBM X-Force가 사이버 위험을 줄이고 방어를 검증하며 공격 및 방어 전문 지식을 통해 지속적인 사이버 복원력을 구축하는 데 어떻게 도움이 되는지 알아보세요.

  1. X-Force와 함께 디스커버리 세션 예약하기
  2. IBM X-Force 살펴보기