EternalBlue

agnusdei·2025년 9월 11일

CTF

목록 보기
109/185

EternalBlue는 Microsoft Windows의 Server Message Block (SMB, 서버 메시지 블록) 1.0 구현의 취약점(CVE-2017-0144)을 악용하는 원격 코드 실행 (Remote Code Execution, RCE) 익스플로잇(=공격 도구)입니다. 이 도구는 2017년 NSA( National Security Agency, 미국 국가안보국 ) 관련 도구 유출(Shadow Brokers)에 포함되어 공개되었고, 패치가 적용되지 않은 시스템을 통해 랜섬웨어·웜 형태로 대규모 피해를 일으켰습니다. ([NVD][1])


1) 유래·시간표(간단)

  • 2017년 초: Microsoft는 SMB 관련 취약점들을 MS17-010로 패치(보안업데이트) 배포. ([Microsoft Learn][2])
  • 2017년 4월: “Shadow Brokers”라는 그룹이 NSA(미국 국가안보국) 소속으로 추정되는 여러 익스플로잇 도구(Equation Group 도구들)를 유출 — 여기서 EternalBlue가 포함되었다고 보도됨. ([WIRED][3])
  • 2017년 5월~6월: 유출된 도구들이 현실 공격에 사용되어 WannaCry(5월)·NotPetya(6월) 등 대규모 피해 유발. 많은 피해는 패치 미적용 환경에서 발생. ([Microsoft][4])

2) 기술적 개요(높은 수준 — 원리 설명, 명령·코드·PoC는 제공하지 않음)

무엇이 취약한가?

  • 취약점은 SMB version 1 (SMBv1) 서버 구현의 메시지 처리 로직에 있음. 취약한 SMBv1 서비스가 외부에서 악의적으로 조작된 SMB 패킷을 수신하면 메모리 손상(힙/풀 오염 등)이 발생하고, 이를 통해 원격에서 코드가 실행될 수 있습니다(=RCE). ([NVD][1])

기술적 핵심(요약)

  • 분석자들이 밝힌 바에 따르면 취약 코드는 커널(윈도우의 Server 서비스 / srv.sys 등) 내부에서 특정 함수가 입력 크기를 잘못 계산하거나 처리하는 과정에서 정수·버퍼 연산 에러가 발생하고, 이를 이용해 커널 풀(kernel pool) 상태를 조작(grooming)한 뒤 제어 흐름을 탈취하는 형태입니다(메모리 손상 → 원격 코드 실행). 함수명 등 상세 분석은 보안 리포트에서 다루어졌습니다(예: Srv!SrvOS2FeaListSizeToNt 등). 구현·재현 방법은 설명하지 않습니다. ([Rapid7][5])

익스플로잇 체인(개념)

  1. 공격자는 취약한 SMBv1 포트(일반적으로 TCP 포트 445)를 통해 조작된 패킷을 전송.
  2. 취약점 트리거 → 커널 메모리 손상 → 임의 코드 실행(커널 권한 가능).
  3. 이후 공격자는 백도어/페이로드(예: DoublePulsar 같은 로더/백도어)를 설치하거나 랜섬웨어 등 악성 페이로드를 주입. ([NHS England Digital][6])

(다시 강조) 위 설명은 동작 원리의 개괄이며, 실제 익스플로잇 코드·PoC·명령어 등은 제공하지 않습니다.


3) 왜 그렇게 파괴적이었나? (설계·운영 취약점의 결합)

  • 패치 이미 존재: Microsoft는 2017년 3월(일부 보안업데이트)으로 MS17-010을 통해 취약점을 수정했지만, 많은 시스템이 패치되지 않았음. ([Microsoft Learn][2])
  • SMB가 네트워크에 널리 열려 있음: SMB(파일·프린트 공유)는 내부 네트워크에서 널리 쓰이며, 인터넷에 노출된 경우 악용 위험이 큼(특히 포트 445 노출). ([CIS][7])
  • 웜(스스로 확산) 기능: EternalBlue로 권한을 얻은 악성코드는 네트워크 내부에서 다른 호스트를 자동 스캔·감염하여 웜처럼 급속 확산. 이 점이 WannaCry·NotPetya의 대규모 피해 원인. ([Microsoft][4])

4) 실제 사건과 피해(요약)

  • WannaCry (2017년 5월): SMB 취약점(주로 EternalBlue)을 이용한 랜섬웨어 웜으로, 빠르게 전 세계 수십만 대(초기 보고는 200k~300k 이상)의 기기를 감염시켰고, 병원·기업·공공기관 등 큰 피해 발생. MS·보안업체의 초기 분석에서 많은 감염은 패치 미적용 시스템에서 발생했다고 보고됨. ([Microsoft][4])
  • NotPetya (2017년 6월): 여러 전파 수단을 결합한 파괴적 랜섬웨어(사실상 파괴형)에서도 EternalBlue가 횡적 이동(네트워크 확산)에 사용됨 — 피해 규모가 크고 경제적 손실이 막대했음. ([sipa.columbia.edu][8])

5) 관련 도구: DoublePulsar 등

  • DoublePulsar는 공개된 툴셋(FuzzBunch)에 포함된 백도어/로더로, EternalBlue로 접근권을 확보한 뒤 원격에서 추가 악성코드를 주입·실행하는 데 사용된 것으로 알려져 있습니다. 이 둘이 조합되어 실제 공격 캠페인에서 악성 페이로드를 빠르게 배포했습니다. ([NHS England Digital][6])

6) 방어·대응(실무적 권장사항 — 방어용 조치만 포함)

아래는 현재까지 업계 권고로 널리 수용된 실무적인 방어·복구 조치입니다.

  1. 패치 적용(우선)

    • Microsoft의 보안업데이트 MS17-010(및 이후 릴리스)을 즉시 적용. (지원 종료 OS의 경우 공급업체 권고나 마이크로소프트의 특수 패치 공지 확인). ([Microsoft Learn][2])
  2. SMBv1 사용 중지(권장)

    • 더 오래된 프로토콜인 SMBv1을 비활성화하고 SMBv2/SMBv3 사용으로 전환. Microsoft는 SMBv1 비활성화 권고와 관련 문서를 제공. 네트워크 환경(레거시 장비)에서 영향도 점검 후 적용. ([Microsoft Learn][9])
  3. 네트워크 경계에서 SMB 차단

    • 외부(인터넷)으로부터의 TCP 445(및 관련 포트) 접근을 방화벽에서 차단. 내부에서도 불필요한 노출을 제한(네트워크 분할·세그멘테이션). ([Tenable®][10])
  4. 엔드포인트·네트워크 탐지 강화

    • 엔드포인트 탐지·대응(Endpoint Detection and Response, EDR) 솔루션·로그 분석으로 비정상 SMB 트래픽, 알려진 백도어 행위(예: DoublePulsar 징후) 등을 모니터링. 보안 벤더의 IOC·시그니처를 참고해 탐지 룰을 적용. ([NHS England Digital][6])
  5. 백업·복구 전략

    • 오프라인(또는 접근 제한된) 백업을 준비하고, 정기 복구(복원) 테스트를 수행. 랜섬웨어 감염 시 빠른 복구가 핵심. (백업이 안전하지 않다면 복구 불가 위험).
  6. 사후 대응(감염 시)

    • 격리(네트워크 분리) → 포렌식(로그·이미지 확보) → 패치/재이미징 → 점검 후 재연결. 감염된 시스템은 신뢰할 수 없으므로 재설치(이미지 복원)가 권장되는 경우가 많음. (공격 절차·포렌식은 전문 대응팀과 협업 권장).

(위 권장사항은 방어·복구 목적입니다 — 공격·익스플로잇 방법은 절대 제공하지 않습니다.) ([Microsoft Learn][2])


7) 참고·권위 정보원 (핵심 출처)

  • Microsoft Security Bulletin MS17-010(SMB 업데이트). ([Microsoft Learn][2])
  • NIST National Vulnerability Database — CVE-2017-0144 상세. ([NVD][1])
  • Wired 정리: Shadow Brokers 유출·EternalBlue 배경. ([WIRED][3])
  • Microsoft 보안 블로그(WannaCry 초기 분석). ([Microsoft][4])
  • NHS / 보안업체의 기술 공지(이 익스플로잇 및 DoublePulsar 설명). ([NHS England Digital][6])

profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0개의 댓글