실제 환경에서 발견된 Coyote: UI 자동화를 악용한 최초의 멀웨어

Tomer Peled

에 의해 작성

Tomer Peled

July 22, 2025

Tomer Peled

에 의해 작성

Tomer Peled

토머 펠레드는 Akamai의 보안 연구원으로, 취약점 리서치부터 OS 내부까지 다양한 분야의 리서치를 담당하고 있습니다. 여가 시간에는 요리와 크라브마가(무술), PC 게임을 즐긴다고 합니다.

2024년 2월 처음 발견된 이후, 디지털 환경에서 활동해 온 악성 Coyote의 최신 변종이 UIA를 악용하고 있습니다.
2024년 2월 처음 발견된 이후, 디지털 환경에서 활동해 온 악성 Coyote의 최신 변종이 UIA를 악용하고 있습니다.

요약

  • Akamai 연구원들은 이미 UIA의 악용 가능성을 제기한 바 있습니다

  • 이번에는 Coyote 멀웨어의 새로운 변종을 분석했으며, 이는 실제 환경에서 Microsoft의 UIA(UI 자동화) 프레임워크가 악의적으로 사용된 첫 번째 확인 사례입니다.

  • 이 새로운 Coyote 변종은 브라질 사용자를 표적으로 삼아, 75개 금융 기관의 및 암호화폐 거래소와 관련된 웹사이트에서 UIA를 통해 인증정보를 탈취합니다.

  • Coyote 감염 및 UIA 악용을 방지하기 위해 본 블로그 게시물에 IoC(감염 지표)와 추가 탐지 조치를 함께 제공합니다.

서론

2024년 12월, Akamai는 공격자가 Microsoft의 UIA 프레임워크를 악용해 인증정보를 탈취하고 코드를 실행하는 등 다양한 공격을 수행할 수 있음을 강조한 블로그 게시물을 공개했습니다. 당시에는 단지 개념 증명(PoC)에 불과했지만, 지금은 상황이 달라졌습니다. 

해당 게시물을 공개한 지 약 두 달 후, 은행용 트로이 목마 멀웨어인 Coyote의 변종이 실제 환경에서 UIA를 악용하는 것이 관찰되었으며, 이는 해당 프레임워크가 실제로 악용된 첫 번째 사례로 기록되었습니다. 

2024년 2월 처음 발견된 이후, 디지털 환경에서 활동해 온 악성 Coyote의 최신 변종이 UIA를 악용하고 있습니다. 

이번 블로그 게시물에서는 이 변종을 자세히 분석해, UIA가 어떻게 악의적으로 활용되고 있는지, 그리고 이를 방어하는 보안팀 입장에서 어떤 의미를 갖는지 살펴봅니다.

Coyote 멀웨어란 무엇일까요?

Coyote는 2024년 2월에 발견된 멀웨어 군으로 라틴 아메리카 지역에서 심각한 피해를 일으켜 왔습니다. Coyote는 키로깅과 피싱 오버레이 등 다양한 악성 기법을 활용해 은행 정보를 탈취하는 트로이 목마형 멀웨어입니다. 

이 멀웨어는 Squirrel 설치 프로그램을 통해 전파됩니다. 이름인 "Coyote"는 다람쥐(Squirrel)를 사냥하는 코요테의 특성에서 유래했습니다. 가장 잘 알려진 캠페인 중 하나에서는 브라질 기업들을 표적으로 삼아, 시스템 내부에 정보 탈취용 원격 액세스 트로이 목마를 심으려 했습니다.

Coyote가 처음 발견된 이후, 다수의 보안 연구원이 그 작동 방식에 대한 세부 정보를 밝혀내고 심층적인 기술적 분석을 제공했습니다. 그중 Fortinet이 2025년 1월에 발표한 한 분석 보고서는 Coyote의 내부 구조와 공격 체인에 대한 내용을 조명했습니다.

UIA 악용

Akamai는 이러한 분석을 확장해 새로운 핵심 정보를 밝혀냈습니다. Coyote는 이제 UIA를 악용해 악성 활동을 수행합니다. Coyote는 여느 은행용 트로이 목마와 마찬가지로 은행 정보를 노리지만, UIA를 악용하는 정보 획득 방식에서 차별화됩니다.

광폭화하는 Coyote

Coyote는 감염 과정에서 피해자에 대한 상세 정보를 명령 및 제어 서버로 전송합니다. 여기에는 컴퓨터 이름, 사용자 이름, 기타 다양한 시스템 속성이 포함됩니다. 하지만 그중에서도 Coyote가 특히 공을 들여 수집하는 핵심 정보는 피해자가 이용하는 금융 서비스입니다.

초기 단계에서 Coyote는 전통적이고 흔히 사용되는 방식으로 접근을 시작합니다. Coyote는 GetForegroundWindow() Windows API를 호출해 현재 활성화된 창에 대한 핸들을 가져옵니다. Coyote는 창 핸들을 획득한 후, 해당 창의 제목을 표적 은행 및 암호화폐 거래소의 하드코딩된 웹 주소 목록과 비교합니다.

만약 창 제목이 Coyote가 노리는 주소와 일치하지 않으면, 이때부터 UIA 관련 흥미로운 로직이 작동합니다. 일치하는 주소가 발견되지 않을 경우 Coyote는 UIA를 사용해 창 내의 UI 자식 요소를 파싱해 브라우저 탭이나 주소 표시줄이 있는지 탐색합니다. 이러한 UI 요소에서 추출한 내용은 첫 번째 비교에서 사용된 동일한 주소 목록과 교차 참조됩니다.

이를 위해 Coyote는 포그라운드 창을 최상위 요소로 설정해 UIAutomation COM 오브젝트를 생성합니다(그림 1).

To do this, Coyote creates the UIAutomation COM object with the foreground window as its top element (Figure 1). Fig. 1: UIA creation

Coyote는 포그라운드 애플리케이션의 각 하위 요소를 순차적으로 탐색해 탭의 웹 주소를 찾습니다(그림 2).

Coyote will then iterate through each sub-element of the foreground application to find the web address of a tab (Figure 2). Fig. 2: UIA iterates through sub-elements

웹 주소를 발견하면 이를 사전 정의된 목록과 대조해 일치 여부를 확인합니다(그림 3).

Once the web address has been found, Coyote will try and match it to its pre-defined list (Figure 3). Fig. 3: Coyote attempting to match bank names to its list

아래 표는 Coyote가 은행 및 암호화폐 거래소를 이름이나 웹 주소를 기준으로 어떻게 분류하는지를 보여줍니다. 각 분류(class)마다 Coyote는 여러 개의 다른 주소를 검색합니다. Akamai 리서치에 따르면 75개의 다른 주소가 포함되어 있습니다.

이름

유형

Banco do Brasil

0

CaixaBank

1

Banco Bradesco

2

암호화폐(Binance, Electrum, Bitcoin, Foxbit 등)

3

Santander

4

라우터 앱

5

Original bank

6

Sicredi

7

Banco do Nordeste

8

Expanse 앱

9

은행과 Coyote의 매칭 시도 시 사용되는 번호 유형

UIA 없이 다른 애플리케이션의 하위 요소를 파싱하는 일은 결코 간단하지 않습니다. 다른 애플리케이션 내 하위 요소의 내용을 효과적으로 읽으려면, 표적이 되는 애플리케이션의 구조를 깊이 이해하고 있어야 하기 때문입니다.

Coyote는 멀웨어가 온라인이든 오프라인 모드이든 상관없이 이러한 검사를 수행할 수 있으며, 이를 통해 피해자가 이용하는 은행이나 암호화폐 거래소를 더 높은 확률로 식별하고 인증정보를 탈취할 수 있게 됩니다.

UIA는 공격자에게 여러 이점을 제공합니다. 그중 하나는 멀웨어 개발자가 다른 애플리케이션의 하위 요소를 파싱할 수 있는 간단한 솔루션을 제공한다는 점입니다.

추가 UIA 기법, 기술, 절차

이번 사례는 멀웨어가 UIA를 악용한 첫 번째 사례로, 멀웨어 개발자들이 새로운 기술을 얼마나 빠르게 공격 도구에 도입하고 있는지를 보여줍니다. 참고: 이 사례는 UIA가 악용될 수 있는 가능성 중 하나에 불과합니다.

그림 4는 UIA를 활용해 주요 UI 구성요소를 식별할 뿐만 아니라, 그로부터 민감한 데이터를 추출할 수 있음을 보여줍니다.

Figure 4 shows how UIA can be used not only to identify critical UI components, but also to extract sensitive data from them. Fig. 4: PoC of UIA abuse to extract sensitive information

그림 5에는 공격자가 UI 구성요소를 조작해 은밀한 소셜 엔지니어링 공격을 수행하는 방식이 설명되어 있습니다. 공격자는 브라우저의 주소 표시줄을 변경하고 클릭을 시뮬레이션해, 시각적으로 거의 드러나지 않게 피해자를 악성 서버로 자연스럽게 리디렉션합니다.

In Figure 5, we demonstrate how attackers can manipulate UI components to carry out stealthy social engineering attacks. Fig. 5: PoC of abusing UIA for social engineering

자세한 내용은 Akamai의 기존 UIA 블로그 게시물을 참고해 주세요.

비정상적인 UIA 사용 탐지

UIA 자체를 탐지하기 위해 관리자는 UIAutomationCore.dll의 사용을 모니터링할 수 있습니다. 이전에 알려지지 않은 프로세스에 로드된다면, 이는 우려할 만한 신호가 될 수 있습니다.

마찬가지로, 네트워크 관리자는 UIA가 엔드포인트에서 생성한 네임드 파이프를 모니터링해 UIA 사용 여부를 판단할 수도 있습니다. 그림 6과 그림 7은 이러한 활동을 탐지하기 위해 사용할 수 있는 osquery입니다.

  SELECT DISTINCT pid, name, proc.path FROM process_memory_map AS pmm JOIN processes AS proc USING(pid) WHERE pmm.path LIKE '%uiautomationcore.dll'

그림 6: UIAutomationCore.dll을 로드하는 프로세스

  WITH uia_pipes AS (SELECT name AS pipe_name, SUBSTR(name, 10, INSTR(SUBSTR(name, 10), '_')-1) AS pid FROM pipes WHERE name LIKE 'UIA_PIPE_%' ) SELECT DISTINCT pid, name AS process_name, path, pipe_name FROM uia_pipes JOIN processes USING(pid)

그림 7: UIA 네임드 파이프를 연 프로세스

Akamai Hunt는 Akamai의 매니지드 위협 헌팅 서비스로, 악성 활동을 탐지하기 위해 환경을 지속적으로 모니터링하는 다양한 비정상 행위 탐지 기술을 통해 보호를 제공합니다. Akamai Hunt는 고객 시스템을 스캔해 UIA의 비정상적인 사용 여부를 식별하고, 의심스러운 활동이 감지되면 즉시 알림을 제공합니다.

결론

멀웨어는 끊임없이 진화하고 있습니다. 코요테와 다람쥐가 벌이는 이러한 지속적인 추격전 속에서 보안팀과 공격자 모두 새로운 위협을 면밀히 추적하며 한발 앞서 대응하는 것이 중요합니다.

UIA는 겉보기엔 무해한 툴처럼 보일 수 있지만, 이전 블로그 게시물에서 강조했듯이 그 기능을 악용할 경우 기업에 중대한 피해를 초래할 수 있습니다. Akamai는 Coyote의 기법을 공개함으로써 보안팀이 이러한 위협을 탐지하고 대응할 수 있는 다양한 수단을 갖추는 데 도움이 되기를 바랍니다.

Akamai는 UIA가 반드시 주목해야 할 유효하고 위험한 공격 기법이라고 판단하며, 앞으로 이 기술의 악용 사례가 더욱 늘어날 것으로 보고 있습니다.

이 멀웨어를 처음 제보해 주신 @johnk3r 님께 특별히 감사드립니다.



Tomer Peled

에 의해 작성

Tomer Peled

July 22, 2025

Tomer Peled

에 의해 작성

Tomer Peled

토머 펠레드는 Akamai의 보안 연구원으로, 취약점 리서치부터 OS 내부까지 다양한 분야의 리서치를 담당하고 있습니다. 여가 시간에는 요리와 크라브마가(무술), PC 게임을 즐긴다고 합니다.