Log4Shell을 이용한 미국 연방기관 침해사고

JHLee·2026년 7월 15일

침해 사고 사례

목록 보기
2/5
post-thumbnail

1. 개요

2022년 이란 정부 지원 APT 공격자는 미국의 한 연방 민간 행정부 기관이 운영하던 패치되지 않은 VMware Horizon 서버에서 Log4Shell 취약점 CVE-2021-44228을 악용해 내부 네트워크에 침투했다.

공격자는 원격 코드 실행 이후 Windows Defender의 탐지 범위를 축소하고 XMRig 암호화폐 채굴기를 설치했다. 이후 RDP와 탈취한 자격 증명을 이용해 내부로 이동한 뒤, 관리자 계정과 Ngrok 터널을 통해 지속적인 접근 경로를 확보했다.

항목내용
피해 조직미국 연방 민간 행정부 기관·FCEB, 기관명 비공개
최초 침투 대상외부에 공개된 VMware Horizon 서버
최초 침투 취약점CVE-2021-44228, Log4Shell
취약 구성요소Apache Log4j 2의 log4j-core
추정 공격 주체이란 정부 지원 APT
최초 탐지 시점2022년 4월
주요 공격 결과암호화폐 채굴, 자격 증명 탈취, 내부 이동, 관리자 계정 생성, 원격 접근 경로 확보
주요 도구XMRig, Mimikatz, PsExec, Ngrok, PowerShell

Log4Shell 취약점

Log4Shell은 Log4j가 로그 메시지에 포함된 JNDI Lookup 표현식을 평가하는 과정에서 공격자가 지정한 LDAP 등의 외부 서버로 연결하고, 특정 조건에서 외부 코드를 불러와 실행할 수 있었던 취약점이다.

공격자는 애플리케이션이 기록하는 HTTP 헤더나 요청 파라미터에 조작된 문자열을 삽입하는 것만으로 인증 없이 코드 실행을 유도할 수 있었다. 영향을 받는 주요 구성요소는 log4j-core이며, log4j-api만 사용하는 애플리케이션은 직접적인 영향을 받지 않는다.

공격 문자열이 포함된 HTTP 요청
        ↓
VMware Horizon이 요청값을 로그로 기록
        ↓
취약한 Log4j가 JNDI 표현식 평가
        ↓
공격자가 지정한 외부 서버로 연결
        ↓
VMware Horizon 서버에서 원격 코드 실행

VMware는 2021년 12월 VMware Horizon을 포함한 여러 제품이 CVE-2021-44228과 관련 취약점의 영향을 받는다고 공지하고 패치와 임시 조치 방법을 안내했다. 그러나 피해 기관의 서버에는 필요한 조치가 적용되지 않았다.


2. 사고 내용

2.1 패치되지 않은 VMware Horizon 서버 침해

공격자는 인터넷에 공개돼 있던 VMware Horizon 서버가 Log4Shell 패치를 적용하지 않은 상태라는 것을 확인하고 취약점을 악용했다.

피해 서버는 초기 공격 과정에서 알려진 악성 IP인 다음 주소와 통신했다.

182.54.217[.]2

CISA는 피해 VMware Horizon 서버와 해당 IP 사이의 통신을 확인했으며, 공격자가 취약점 공개 약 두 달 뒤인 2022년 2월경부터 내부에 접근했을 가능성이 있다고 판단했다.

2.2 Windows Defender 탐지 기능 약화

공격자는 Log4Shell을 통해 명령 실행 권한을 얻은 직후 PowerShell을 사용해 Windows Defender의 제외 경로를 수정했다.

특히 C:\ 드라이브 전체를 검사 제외 대상으로 추가해 이후 내려받는 도구와 악성 파일이 백신 검사에 탐지될 가능성을 낮췄다.

2.3 XMRig 암호화폐 채굴기 설치

공격자는 PowerShell 스크립트와 압축 파일을 내려받아 VMware Horizon 서버에 XMRig 기반 암호화폐 채굴기를 설치했다.

확인된 주요 구성 파일은 다음과 같다.

  • WinRing0x64.sys: 하드웨어 접근에 사용되는 드라이버
  • wuaucltservice.exe: XMRig 채굴기 실행 파일
  • config.json: 채굴 서버 및 실행 설정
  • RuntimeBroker.exe: 채굴기 실행과 지속성 확보에 사용된 파일
  • mde.ps1: 후속 파일 다운로드에 사용된 PowerShell 스크립트

공격자는 RuntimeBrokerService라는 예약 작업을 생성해 RuntimeBroker.exe가 매일 SYSTEM 권한으로 실행되도록 했다. 정상 Windows 구성요소와 유사한 이름을 사용해 관리자의 의심을 줄이려 한 것으로 볼 수 있다.

2.4 기존 Windows 기본 계정을 이용한 내부 이동

암호화폐 채굴기 설치 이후 공격자는 VMware Horizon 서버에 머무르지 않고 내부 시스템으로 이동했다.

공격자는 기존 Windows 기본 계정인 DefaultAccount와 RDP를 이용해 VMware VDI-KMS 호스트에 접속한 뒤 Mimikatz, PsExec, Ngrok 등의 도구를 전송했다. 다만 공개 자료에는 해당 계정의 자격 증명을 어떤 경로로 확보했는지 명시되어 있지 않다.

2.5 자격 증명 탈취와 관리자 계정 생성

공격자는 Mimikatz를 사용해 내부 이동에 필요한 자격 증명을 확보하고 LSASS 메모리 덤프를 시도했다. 일부 LSASS 덤프 시도는 피해 기관의 보안 제품에 의해 차단된 것으로 보고됐다.

획득한 자격 증명을 기반으로 공격자는 새로운 도메인 관리자 계정을 생성했다. 또한 기존 로컬 관리자 계정의 비밀번호를 변경해 새로 만든 계정이 발견되거나 삭제되더라도 다른 관리자 계정을 통해 접근을 유지할 수 있도록 했다.

2.6 도메인 컨트롤러 접근과 내부 자산 정찰

공격자는 탈취한 관리자 권한으로 도메인 컨트롤러에 접근했다.

이후 PowerShell 명령을 이용해 도메인에 등록된 컴퓨터, 운영체제와 IP 주소 등을 수집하고 내부 네트워크 구조와 추가 공격 대상을 파악했다.

2.7 Ngrok을 이용한 접근 유지

공격자는 여러 내부 시스템에 Ngrok을 설치해 내부 RDP 서비스를 외부와 연결하는 암호화된 터널을 구성했다.

Ngrok은 정상적인 터널링 서비스지만, 공격자는 이를 악용해 별도의 인바운드 포트를 개방하지 않고도 외부에서 내부 호스트에 접근했다. 이 터널은 지속적인 원격 접근과 명령제어 경로로 활용될 수 있다.


3. 공격 흐름

외부 공개 VMware Horizon 서버에서 Log4Shell 악용
        ↓
PowerShell 실행 및 Windows Defender 탐지 범위 축소
        ↓
XMRig 설치와 예약 작업을 통한 지속성 확보
        ↓
RDP를 이용한 VDI-KMS 호스트 이동
        ↓
Mimikatz를 이용한 자격 증명 탈취와 관리자 계정 생성
        ↓
도메인 컨트롤러 접근 및 내부 자산 정찰
        ↓
여러 시스템에 Ngrok을 설치해 원격 접근 경로 확보

4. 주요 도구 및 구성요소 분석

4.1 XMRig 및 RuntimeBrokerService

XMRig는 Monero 등의 암호화폐를 채굴할 수 있는 공개 소프트웨어다. 프로그램 자체는 합법적으로 사용할 수 있지만, 공격자는 피해 서버의 CPU 자원을 무단으로 이용하기 위해 이를 설치했다.

이 사고에서는 XMRig 실행 파일이 정상 Windows 구성요소와 유사한 wuaucltservice.exe라는 이름으로 위장됐다. 공격자는 악성 RuntimeBroker.exe를 실행하는 RuntimeBrokerService 예약 작업을 생성해 채굴기가 매일 SYSTEM 권한으로 실행되도록 했다.

정상 파일과 구분하기 위해서는 파일명뿐만 아니라 실행 경로, 디지털 서명, 파일 해시, 부모 프로세스, 명령행과 예약 작업 생성 시각을 함께 확인해야 한다.

4.2 Mimikatz

Mimikatz는 Windows 메모리에서 자격 증명과 인증 정보를 추출하는 데 사용될 수 있는 도구다.

공격자는 VDI-KMS 호스트에서 Mimikatz와 LSASS 메모리 덤프를 이용해 내부 이동에 필요한 자격 증명을 확보하려 했다. 확보된 권한은 도메인 관리자 계정 생성과 추가 시스템 접근에 사용됐다.

4.3 PsExec

PsExec은 Microsoft Sysinternals에서 제공하는 정상적인 원격 관리 도구다. 관리자는 원격 Windows 시스템에서 프로그램을 실행할 때 사용할 수 있지만, 공격자는 탈취한 관리자 권한을 이용해 다른 호스트에 명령을 실행하거나 파일을 배포하는 데 악용할 수 있다.

따라서 PsExec 실행 자체보다 비정상 계정의 사용, 관리자 공유 접근, 원격 서비스 생성과 짧은 시간 내 여러 호스트에서 발생한 실행 행위를 함께 확인해야 한다.

4.4 Ngrok

Ngrok은 내부 포트를 외부 서비스와 연결하는 리버스 프록시·터널링 도구다.

공격자는 여러 내부 호스트에 Ngrok을 설치해 RDP 접근을 중계하고, 네트워크 경계 장비에서 직접적인 외부 인바운드 연결이 보이지 않도록 했다. 정상 개발 업무에도 사용될 수 있으므로 설치 주체, 대상 포트, 실행 계정, 실행 호스트와 접속 시각을 종합적으로 확인해야 한다.

4.5 PowerShell

PowerShell은 Windows Defender 제외 설정 변경, 외부 파일 다운로드, 네트워크 상태 확인, 도메인 자산 수집과 후속 도구 실행에 사용됐다.

따라서 PowerShell 자체를 차단하기보다 인코딩 명령, 보안 설정 변경, 외부 다운로드와 후속 프로세스 생성이 연속적으로 발생하는 행위를 탐지해야 한다.


5. MITRE ATT&CK 매핑

아래 표는 공개 자료에서 확인된 공격 행위를 MITRE ATT&CK 기법에 매핑한 것이다.

순서전술기법적용 내용
1Initial AccessT1190 Exploit Public-Facing Application공개된 VMware Horizon의 Log4Shell 취약점 악용
2ExecutionT1059.001 PowerShell백신 설정 변경, 파일 다운로드 및 정찰
3Defense EvasionT1562.001 Impair DefensesWindows Defender 제외 경로 추가
4Command and ControlT1105 Ingress Tool TransferXMRig, Mimikatz, PsExec, Ngrok 다운로드
5PersistenceT1053.005 Scheduled TaskRuntimeBrokerService 예약 작업 생성
6ImpactT1496.001 Compute HijackingXMRig을 통한 암호화폐 채굴
7Lateral MovementT1021.001 Remote Desktop ProtocolHorizon 서버에서 내부 VDI-KMS로 이동
8Credential AccessT1003.001 LSASS MemoryLSASS 메모리 덤프 시도
9Credential AccessT1555 Credentials from Password StoresMimikatz로 저장된 자격 증명 추출
10PersistenceT1136.002 Domain Account신규 도메인 관리자 계정 생성
11PersistenceT1098 Account Manipulation로컬 관리자 계정 비밀번호 변경
12DiscoveryT1018 Remote System Discovery도메인 내부 시스템 목록 확인
13DiscoveryT1016.001 Internet Connection Discovery외부 네트워크 연결 여부 확인
14Command and ControlT1090 ProxyNgrok으로 암호화된 원격 접근 터널 구성
15Defense EvasionT1070.004 File Deletion다운로드에 사용한 PowerShell 스크립트 삭제

6. 주요 IoC

아래 IoC는 본 사고에서 확인된 지표다. 현재도 동일한 인프라나 파일이 악성 활동에 사용된다는 의미는 아니므로, 차단 목록에 바로 적용하기보다 과거 침해 흔적을 조사하는 용도로 활용하는 것이 적절하다.

6.1 네트워크 지표

유형지표설명
IP182.54.217[.]2초기 Log4Shell 악용 및 후속 파일 다운로드와 관련된 악성 IP
서비스ngrok내부 RDP 접근을 중계한 리버스 프록시
외부 통신LDAP·RMI·DNSJNDI Lookup 악용 과정에서 발생할 수 있는 외부 연결
프로토콜RDP내부 시스템 이동
프로토콜HTTPS도구 다운로드와 Ngrok 터널 통신

182.54.217[.]2는 CISA가 해당 사고에서 확인한 알려진 악성 IP다. Ngrok과 RDP는 정상적으로도 사용될 수 있으므로 단독 IoC보다 실행 주체와 전후 행위를 함께 분석해야 한다.

6.2 파일 및 해시

파일명MD5역할
WinRing0x64.sys0c0195c48b6b8582fa6f6373032118daXMRig 관련 하드웨어 접근 드라이버
wuaucltservice.exe6b8d058db910487ff90fe39e1dcd93b8XMRig 채굴기
config.json910350d4f72b7b25f4fbecfc08d815cd채굴기 설정 파일

6.3 파일·작업·프로세스 이름

mde.ps1
file.zip
RuntimeBroker.exe
RuntimeBrokerService
WinRing0x64.sys
wuaucltservice.exe
config.json
mimikatz.exe
PsExec.exe
ngrok.exe

파일명은 쉽게 변경될 수 있고 RuntimeBroker.exe, PsExec.exe, WinRing0x64.sys 등은 정상 파일과 이름이 같을 수 있다. 따라서 파일 해시, 디지털 서명, 실행 경로와 실제 행위를 함께 확인해야 한다.


7. 탐지 포인트

7.1 취약 패키지 및 자산 탐지

  • 외부에 노출된 VMware Horizon·UAG 자산 식별
  • 제품 버전과 Log4Shell 패치 적용 여부 확인
  • 애플리케이션과 제품 내부의 log4j-core JAR 탐색
  • Fat JAR, WAR, 컨테이너 이미지 내부의 중첩 의존성 검사
  • SBOM과 SCA 결과를 실제 배포 자산과 비교
  • 패치 적용 후 취약 구성요소가 제거됐는지 재검사

자산 목록에 존재하는 서버만 점검해서는 관리되지 않는 외부 공개 시스템을 놓칠 수 있다. 외부 공격 표면과 실제 운영 환경을 함께 확인해야 한다.

7.2 웹·애플리케이션 로그

다음 요청 영역에서 JNDI 관련 문자열과 변형된 표현식을 탐지한다.

  • User-Agent
  • X-Forwarded-For
  • Referer
  • Cookie
  • URL 경로와 쿼리 파라미터
  • 로그인 ID, 검색어와 JSON 요청 필드
  • 오류 메시지에 포함된 사용자 입력값

단순히 ${jndi:ldap: 문자열만 검색하면 인코딩되거나 난독화된 요청을 놓칠 수 있다. URL 디코딩과 문자열 정규화를 수행한 뒤 ${lower:}, ${upper:}, 환경변수 치환 등의 우회 표현식을 함께 검사해야 한다.

7.3 네트워크 로그

다음 통신을 중점적으로 확인한다.

Java 또는 VMware 프로세스
→ 외부 LDAP/RMI/DNS 통신
→ 실행 파일 또는 스크립트 다운로드
→ 짧은 시간 내 PowerShell 실행
  • Java 또는 VMware 프로세스에서 발생한 외부 LDAP·RMI·DNS 연결
  • 평소 외부 연결이 없던 Horizon 서버의 직접 인터넷 접속
  • 외부 IP에서 실행 파일·ZIP·PowerShell 스크립트를 내려받는 행위
  • 채굴 풀 또는 Stratum 프로토콜 방향의 반복 통신
  • Ngrok 인프라와 장시간 유지되는 TLS 세션
  • Horizon 서버에서 내부 VDI·KMS·도메인 컨트롤러로 발생한 RDP 연결

네트워크 이벤트만 단독으로 판단하기보다 해당 시점의 웹 요청, 프로세스 실행과 계정 로그를 함께 분석해야 한다.

7.4 PowerShell 및 보안 설정 변경

다음 PowerShell 행위는 높은 우선순위로 탐지해야 한다.

  • Add-MpPreference 또는 Set-MpPreference 실행
  • 루트 드라이브나 광범위한 경로를 Defender 제외 대상으로 추가
  • -EncodedCommand, -enc 사용
  • Invoke-WebRequest, WebClient, DownloadString 을 이용한 외부 다운로드
  • 외부 IP에서 ZIP·EXE·PS1 다운로드
  • 다운로드한 스크립트 실행 후 즉시 삭제
  • PowerShell이 예약 작업이나 신규 프로세스를 생성

특히 Java·VMware 프로세스가 PowerShell을 자식 프로세스로 생성하고, 이어서 Defender 설정 변경과 외부 다운로드가 발생하면 높은 우선순위로 조사해야 한다.

7.5 지속성 및 계정 변경

  • RuntimeBrokerService와 유사한 예약 작업 생성
  • SYSTEM 권한으로 주기적으로 실행되는 신규 작업
  • 정상 Windows 파일명과 유사하지만 비정상 경로에서 실행되는 파일
  • 신규 로컬·도메인 관리자 계정 생성
  • 기존 관리자 계정의 비밀번호 변경
  • 예약 작업 생성 직후 채굴기 실행 또는 CPU 사용률 상승

계정과 예약 작업 이벤트는 생성 주체, 실행 계정, 대상 파일 경로와 발생 시간을 기준으로 상관분석해야 한다.

7.6 채굴 행위

  • 서버 CPU가 장시간 높은 수준으로 유지
  • 업무 시간과 무관하게 지속되는 높은 CPU 사용률
  • config.json에서 채굴 풀 주소·지갑 설정 확인
  • XMRig 또는 이름이 변경된 유사 실행 파일 탐지
  • WinRing0x64.sys 드라이버 로드
  • 채굴 풀 방향으로 반복되는 외부 연결

파일명 기반 탐지만으로는 이름이 변경된 XMRig을 놓칠 수 있으므로 CPU 사용 패턴, 드라이버 로드, 프로세스 계보와 외부 연결을 함께 분석해야 한다.

7.7 자격 증명 탈취 및 내부 이동

  • 비보안 프로세스가 LSASS에 접근하는 행위
  • LSASS 메모리 덤프 파일 생성 시도
  • Mimikatz 관련 명령, 메모리 패턴과 파일 해시
  • Horizon 서버에서 내부 VDI·KMS·도메인 컨트롤러로 발생한 RDP 연결
  • PsExec 사용 시 생성되는 원격 서비스와 관리자 공유 접근
  • 짧은 시간에 여러 시스템에서 발생한 동일 관리자 계정 로그인
  • 신규 도메인 관리자 계정 생성과 기존 로컬 관리자 비밀번호 변경

7.8 Ngrok 탐지

  • 서버 환경에서 승인되지 않은 ngrok.exe 실행
  • Ngrok 설정 파일 또는 인증 토큰 생성
  • Ngrok 도메인·인프라로 장시간 유지되는 TLS 연결
  • Ngrok 실행 이후 내부 RDP 포트 접근
  • 개발자 단말이 아닌 서버·도메인 컨트롤러에서 Ngrok 실행

조직에서 Ngrok을 정상적으로 사용한다면 허용 사용자, 호스트, 대상 포트와 업무 목적을 사전에 정의하고 예외 목록으로 관리해야 한다.

7.9 권장 상관분석 시나리오

VMware Horizon에 Log4Shell 의심 요청
        ↓ (30초 이내)
Java·VMware 프로세스에서 PowerShell 실행
        ↓
Windows Defender 제외 설정 변경
        ↓ (5분 이내)
외부 IP에서 ZIP·EXE·PS1 다운로드
        ↓
신규 예약 작업 생성 및 채굴 프로세스 실행
        ↓
내부 호스트로 RDP·PsExec 이동
        ↓
신규 관리자 계정 또는 Ngrok 프로세스 생성

각 이벤트를 단독으로 탐지하는 것보다 웹 요청, 프로세스, 보안 설정, 네트워크와 계정 이벤트를 연결하면 정확도를 높일 수 있다.


8. 정리

이 사고는 패치되지 않은 외부 공개 서버 하나가 내부 이동과 지속적인 원격 접근으로 확대될 수 있음을 보여준다.

공격자는 Log4Shell로 VMware Horizon 서버에서 코드를 실행한 뒤 Defender 탐지 범위를 축소하고, XMRig과 예약 작업을 설치했다. 이후 RDP와 탈취한 자격 증명을 이용해 도메인 환경으로 이동하고 Ngrok 터널을 통해 접근 경로를 유지했다.

특히 Log4Shell 패치와 대응 지침이 이미 공개된 이후에도 실제 운영 자산에 조치가 적용되지 않아 침해가 발생했다. 따라서 조직은 외부 공개 자산과 취약 구성요소를 지속적으로 식별하고, PowerShell 기반 보안 설정 변경, 서버 간 RDP, 특권 계정 생성과 비인가 터널링 도구 실행을 연계해 탐지해야 한다.


9. 참고 자료

  1. CISA·FBI
    Iranian Government-Sponsored APT Actors Compromise Federal Network, Deploy Crypto Miner, Credential Harvester

  2. CISA·미 해안경비대
    Malicious Cyber Actors Continue to Exploit Log4Shell in VMware Horizon Systems

  3. CISA
    Mitigating Log4Shell and Other Log4j-Related Vulnerabilities

  4. Apache Logging Services
    Apache Log4j Security Vulnerabilities

  5. NIST NVD
    CVE-2021-44228 Detail

  6. VMware
    VMSA-2021-0028: VMware Response to Apache Log4j Remote Code Execution Vulnerabilities

  7. VMware Blogs
    Guidance to VMware Horizon Customers Regarding Log4j

  8. Picus Security
    CISA Alert AA22-320A: Iranian APT Actors Target US Federal Network

  9. Check Point Software
    What Is XMRig Malware?

  10. MITRE ATT&CK
    Enterprise Techniques

profile
렛츠고

0개의 댓글