요즘 악성코드가 점점 교묘해지고 있는 거, 알고 계셨나요?
최근 Palo Alto Networks의 Unit 42가 발견한 공격 방식은 정말 놀라웠습니다.
무려 "비트맵 이미지" 속에 악성코드를 숨기는 신종 스테가노그래피 기법이 .NET 애플리케이션에 사용되고 있었거든요.
🧠 무슨 일이 있었나?
2024년 말부터 2025년 초까지 아시아 및 튀르키예 지역의 금융 및 물류 분야를 대상으로 유포된 이 공격 캠페인은,
이메일을 통해 '견적서', '입찰 요청서' 등으로 위장한 악성 실행파일(.exe)을 전달했습니다.
문제는 이 실행파일이 단순한 악성코드가 아니라, 이미지 리소스에 숨겨진 코드를 통해 다단계 공격 체인을 실행한다는 점입니다. 첫 실행파일은 harmless하게 보이지만, 내부에 숨겨진 비트맵 리소스를 디코딩하면서 실제 악성 DLL이 추출됩니다.
이름만 봐도 무해해 보이는 Remington.exe, Montero.dll 같은 파일이 바로 이 과정의 핵심입니다.
공격자는 XOR + 뺄셈 조합의 암호화 알고리즘과 같은 기법을 통해 일반적인 안티바이러스 탐지를 회피하고 있었죠.
🔍 어떤 악성코드가 숨어 있었을까?
Unit 42에 따르면 이번 공격에 활용된 악성코드는 다음과 같습니다.
- Agent Tesla: 키로깅, 스크린샷 수집, SMTP 데이터 유출 등 기능 보유
- Remcos RAT: 원격 제어 기능을 통한 시스템 장악
- XLoader: 정보 탈취 및 지속적인 C2 서버 통신
게다가 Agent Tesla는 SMTP를 통한 정보 유출 경로도 탐지되었습니다.
예: packagelog@gtpv[.]online → hosting2.ro.hostsailor[.]com:587
🧩 얼마나 정교했을까?
이 악성코드는 다음과 같은 정교한 기법을 활용했습니다.
- 비트맵 리소스에 악성코드 은닉
- 리소스 디코딩 후 실행 파일 동적 로드 (Reflection)
- 타임스탬프 위조: 2102-09-02 같은 미래 날짜로 탐지 회피
- .NET API 후킹 회피: Assembly.Load, ResourceManager.GetObject 활용
또한, v4 버전 악성코드는 Google Chrome, Brave, MetaMask 등에서 암호화된 자격 증명을 훔치는 모듈도 포함되어 있었고, 클립보드 내용을 OS 네이티브 명령어로 수집하는 등 탐지를 피하려는 시도도 포착되었습니다.
⚠️ 왜 위험한가?
이런 공격이 무서운 이유는 명확합니다.
평범한 개발 도구처럼 보이는 .NET 앱이 실제로는 은밀한 백도어를 열어두고 있다는 것이죠.
✅ 탐지 회피
✅ 다양한 시스템 지원 (Windows, Linux, macOS)
✅ 위장된 파일명과 리소스로 분석 혼란
특히 기업 내부에서 개발자 환경이나 문서 뷰어 프로그램으로 위장하면 더 치명적일 수 있습니다.
CI/CD 파이프라인 내부로 침투할 가능성도 높아지거든요.
🛡️ 어떻게 대응할 수 있을까?
- 실행파일 분석 시 .NET 리소스도 반드시 점검
- .NET 실행 중 ResourceManager::GetObject 및 Assembly::Load 후킹으로 동적 실행 감시
- SMTP 트래픽 이상 징후 모니터링
- 백신 업데이트 & EDR 활용
- WildFire, XDR, XSIAM 등 차세대 분석 툴 적극 활용
Palo Alto Networks는 이번 공격 탐지를 위해 자사 WildFire ML 모델을 개선했고,
Cortex XDR 및 XSIAM에서도 연관된 행위 기반 탐지를 추가했다고 밝혔습니다.
🧾 결론
이번에 발견된 .NET 기반 악성코드는 단순한 파일이 아닌 '시각적으로 보이지 않는 악성코드'였습니다.
스테가노그래피 기법을 .NET 환경에까지 활용한 것은 상당히 이례적이며,
앞으로 유사한 공격이 더 확산될 가능성도 큽니다.
보안 담당자와 개발자 모두가 의심 없이 사용하는 실행파일일수록 더욱 조심해야 합니다.
탐지되지 않는다고 안심하기보다는, 탐지되지 않을 만큼 정교해졌다는 점에 주목하고,
방어 체계를 다시 한번 점검해보세요.
'CyberSecurity > Security🔐' 카테고리의 다른 글
🇨🇳 중국 AI 보안, 미국 턱밑까지 추격 중?! 우리에게 주는 시사점은? (2) | 2025.05.13 |
---|---|
🛡️ .NET 악성코드 추적하기! GetObject와 Assembly::Load 후킹으로 알아보는 숨겨진 실행 감시법 (1) | 2025.05.12 |
🦦 OtterCookie의 진화: 북한 연계 해킹그룹 WaterPlum의 치밀한 다단계 사이버 공격 분석 (0) | 2025.05.10 |
🐍 악성 NPM 패키지, 개발 환경까지 노린다! – rand-user-agent 감염 사건 분석 (0) | 2025.05.10 |
🧨 macOS 개발자 노린다! Cursor AI IDE로 위장한 악성 NPM 패키지 주의보 (1) | 2025.05.10 |