라자루스 추적: 전염성 인터뷰 C2 인프라 내부
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
Red Asgard는 Upwork를 통해 홍보된 암호화폐 프로젝트와 관련된 공급망 침해를 보고하였으며, Lazarus 운영자들이 빌드/워크플로우에 악성 코드를 내장했습니다. 이 체인은 VSCode 작업 자동 실행을 악용하고, Function 생성자를 통해 구현된 Node.js 백도어 및 Vercel에 호스팅된 명령 및 제어 인프라에서 악성 JavaScript를 가져오기 위해 쿠키 게이트 배달을 사용합니다. C2 스택은 단계 하나의 Vercel 도메인과 단계 두의 전용 Windows 서버로 나뉘며, 이는 XMRig 채굴 기능을 갖춘 강력하게 난독화된 Python 백도어를 제공합니다. 캠페인에는 또한 Pastebin 데드 드롭, 사용자 정의 바이너리 프로토콜 및 분석과 중단을 복잡하게 만드는 엄격한 자격 증명 분할이 사용됩니다.
조사
연구자들은 토큰 인증 엔드포인트를 노출하는 세 개의 Vercel 도메인을 나열하고 Express.js on 포트 1244에서 실행되는 다섯 개의 전용 C2 시스템을 확인했습니다. 그들은 또한 활발한 캠페인 토큰을 추론하거나 열거하기 위해 사용된 타이밍 오라클 기술을 문서화했습니다. 64 계층의 암호화된 페이로드를 역공학하여, 시작 폴더를 통해 지속성을 유지하고 예약된 작업 생성을 통해 지속성을 유지하는 트로이 목마화된 구성 요소가 밝혀졌습니다. 추가 발견 사항으로는 하드코딩된 MongoDB 자격 증명, 약 1000개의 Pastebin 데드 드롭 URL, 여러 포트에서 사용자 정의 Z238 바이너리 프로토콜 리스너가 포함되었습니다. 64-layer obfuscated payload ultimately revealed a trojanized component that persists via Startup folder placement and scheduled task creation. Additional findings included hard-coded MongoDB credentials, approximately 1,000 Pastebin dead-drop URLs, and custom Z238 binary protocol listeners on multiple ports.
완화
식별된 Vercel 도메인에 대한 아웃바운드 통신을 차단하고 포트 1244, 1249, 22411-22412에 대한 출구를 제한하세요. 시작 위치에서 Windows Update Script.pyw 생성 모니터링, ‘Runtime Broker’라는 예약된 작업 및 채굴기로 위장한 의심스러운 msedge.exe 실행을 모니터링하세요. Function.constructor를 호출하는 Node.js 프로세스 및 /keys 엔드포인트에 대한 비정상적인 HTTP POST 활동을 감지하세요. VSCode 자동 실행 작업을 비활성화하고 신뢰할 수 없는 저장소에서 npm 설치 또는 빌드 단계 실행 전에 패키지 스크립트를 검토하여 노출을 줄이세요.
대응
지표가 관찰되면 영향을 받은 시스템을 격리하고 의심스러운 프로세스를 종료하며 포렌식 검토를 위해 메모리 및 디스크 아티팩트를 보존하세요. 노출된 MongoDB 자격 증명을 취소하고 관련 서비스 계정 비밀을 회전시키세요. 영향을 받은 사용자를 식별하기 위해 계정 및 접근 재고 조사를 수행한 후 자격 증명을 재설정하고 활성 세션/토큰을 무효화하세요. 암호화폐 도난 또는 지갑 침해 증거가 있는 경우 내부 이해 관계자에게 통지하고 법 집행 기관과 협조하세요.
공격 흐름
탐지
제 3자 서비스 / 도구를 통한 데이터 유출 / 유입 / C2 가능성 (dns 사용)
보기
Windows Defender 환경설정 의심스러운 변경 (powershell 사용)
보기
자동 시작 위치의 의심스러운 바이너리 / 스크립트 (file_event 사용)
보기
숨겨진 파일이 Linux 호스트에서 생성되었습니다 (파일 이벤트 경유)
보기
제3자 서비스/도구를 통한 데이터 침입/탈출/C2 가능성 (프록시 경유)
보기
IOCs(이메일) 탐지: 라자루스 사냥하기: 전염성 인터뷰 C2 인프라 내부
보기
IOCs(목적지 IP) 탐지: 라자루스 사냥하기: 전염성 인터뷰 C2 인프라 내부
보기
IOCs(출발지 IP) 탐지: 라자루스 사냥하기: 전염성 인터뷰 C2 인프라 내부
보기
IOCs(HashSha256) 탐지: 라자루스 사냥하기: 전염성 인터뷰 C2 인프라 내부
보기
의심스러운 getCookie 함수가 Vercel 도메인에서 악성 자바스크립트를 가져옵니다 [Windows 파일 이벤트]
보기
errorHandler.js의 Function.constructor 사용이 의심스러움 [Windows 파일 이벤트에서 백엔드 RCE]
보기
악성 프로세스가 RuntimeBroker 및 msedge.exe로 XMRig 채굴 소프트웨어로 가장 [Windows 프로세스 생성]
보기
악성 VSCode 자동 실행 구성 [Windows 파일 이벤트]
보기
시뮬레이션 실행
필수 사전 작업: Telemetry & Baseline Pre-flight Check가 통과해야 합니다.
공격 서사 & 명령어
공격자는 합법적인 RuntimeBroker.exe 바이너리를 비표준 위치로 복사합니다 (%TEMP%) 잘 알려진 시스템 경로 기반 탐지를 피하면서 신뢰할 수 있는 프로세스로 위장합니다. 복사본을 실행함으로써 프로세스 생성 이벤트는 예상된 이미지 이름을 포함하지만, 기존 ‘System32’ 포함 검사에 실패하는 경로를 포함하여 수정합니다. selection_runtime.
회귀 테스트 스크립트
# -----------------------------------------------
# TC-20260114-A1B2C – 위장 시뮬레이션
# -----------------------------------------------
# 1. 경로 정의
$src = "$env:SystemRootSystem32RuntimeBroker.exe"
$dest = "$env:TEMPRuntimeBroker.exe"
# 2. 합법적인 바이너리를 비시스템 디렉터리에 복사합니다
Copy-Item -Path $src -Destination $dest -Force
# 3. 복사된 바이너리를 실행합니다 (이것은 Sigma 규칙을 트리거할 것입니다)
Start-Process -FilePath $dest -WindowStyle Hidden
# 4. 선택 사항: msedge 위장(채굴자) 시나리오 시뮬레이션
# (베나인 실행 파일을 복사, msedge.exe로 이름 변경, %LOCALAPPDATA%MicrosoftWindowsApplications에 배치)
$minerSrc = "$env:SystemRootSystem32notepad.exe"
$minerDest = "$env:LOCALAPPDATAMicrosoftWindowsApplicationsmsedge.exe"
Copy-Item -Path $minerSrc -Destination $minerDest -Force
Start-Process -FilePath $minerDest -WindowStyle Hidden
# -----------------------------------------------
정리 명령
# 악성 복사본 제거
Remove-Item -Path "$env:TEMPRuntimeBroker.exe" -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$env:LOCALAPPDATAMicrosoftWindowsApplicationsmsedge.exe" -Force -ErrorAction SilentlyContinue