SOC Prime Bias: 높음

27 3월 2026 17:11

InterLock: 랜섬웨어 작전의 도구 전체 분석

Author Photo
Ruslan Mikhalov SOC Prime에서 위협 연구 책임자 linkedin icon 팔로우
InterLock: 랜섬웨어 작전의 도구 전체 분석
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

InterLock는 2024년 10월부터 활동 중인 이중 갈취 랜섬웨어 작전으로, 데이터를 훔치고, Tor 기반 유출 사이트를 운영하며, FreeBSD/ESXi 및 Windows 환경에서 파일을 암호화합니다. 침입 체인에는 초기 접근을 위한 ScreenConnect MSI 설치 프로그램, 지속성을 위한 다중 언어 Support 백도어, NTLM 자격 증명 수집기, 그리고 랜섬웨어 페이로드를 패키징하는 맞춤형 암호화 프레임워크가 포함됩니다. 명령 및 제어 트래픽은 RC4로 보호된 WebSocket 통신에 의존하며, 백업 정적 IP와 추가 Cloudflare Tunnel 엔드포인트가 지원합니다. 랜섬웨어는 .interlock 확장을 추가하고 .onion 협상 URL을 포함하는 랜섬 노트를 떨어뜨리며, 복구를 가능하게 할 수 있는 약한 PRNG에서 유도된 키를 사용합니다.

조사

이 보고서는 네 개의 ScreenConnect MSI 설치 프로그램, JavaScript, Java 및 네이티브 C++의 세 개의 NodeSnake 임플란트, 하나의 NTLM 도둑 DLL, 네 개의 랜섬웨어 실행 파일을 포함한 15개의 샘플을 분석합니다. 모든 아티팩트는 세 개의 하드코딩된 C2 IP 주소와 동일한 암호해독 루프를 공유하고 있으며, 바이트 패턴으로 표시됩니다. 488b041f483345f04889041e. NodeSnake는 네이티브 형태에서 TCP 터널링, 스레드 하이재킹 및 디버깅 방지를 추가합니다. Windows 랜섬웨어 변종은 일일 예약 작업을 생성하고, wevtapi.dll을 통해 Windows 이벤트 로그를 지웁니다. 인프라에는 또한 두 개의 Let’s Encrypt 보호 도메인과 여러 무료 Cloudflare Tunnel 하위 도메인이 포함됩니다.

완화

수비자는 알려진 C2 IP와 Cloudflare Tunnel 도메인을 페리미터에서 차단해야 합니다. ConnectWise ScreenConnect가 필요하지 않은 경우 제거하거나 비활성화해야 합니다. 보안 제어는 암호화된 바이트 패턴과 RC4로 암호화된 WebSocket 핸드셰이크 접두사를 탐지해야 합니다. 92 01 88 fe. 모니터링은 TaskSystem이라는 예약 작업과 .interlock 확장을 가진 파일 생성도 다루어야 합니다. 최소 권한 액세스 제어는 NTLM 자격 증명 수집 및 rundll32의 남용에 대한 노출을 더욱 줄일 수 있습니다.

응답

InterLock가 감지되면 영향을 받은 호스트를 격리하고, 포렌식 분석을 위해 전체 이진 파일을 보존하며, RSA-4096 공개 키와 암호화된 파일별 키를 추출해야 합니다. 가능할 경우 신뢰할 수 있는 타임스탬프가 있는 약한 rand() 플러스 clock() PRNG을 사용하여 키 복구를 시도하십시오. TaskSystem의 영구 작업을 제거하고 .interlock 아티팩트를 삭제하며 백업에서 영향을 받은 데이터를 복원하십시오. 영향을 받은 사용자에게 통보하고 이중 갈취 사건을 법 집행 기관에 보고해야 합니다.

"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#cccccc classDef operator fill:#ff9900 %% Initial Access initial_access["<b>Action</b> – <b>T1204.004 User Execution</b>: Malicious MSI installer delivered"] class initial_access action msiexec_tool["<b>Tool</b> – <b>Name</b>: Msiexec<br/><b>Technique</b>: T1218.007 System Binary Proxy Execution"] class msiexec_tool tool screenconnect_client["<b>Malware</b> – <b>Name</b>: ScreenConnect client<br/><b>Purpose</b>: Remote access component"] class screenconnect_client malware nodesnake_backdoor["<b>Malware</b> – <b>Name</b>: NodeSnake backdoor<br/><b>Capabilities</b>: Interactive Windows shell and oneu2011shot commands"] class nodesnake_backdoor malware %% Persistence persistence_task["<b>Action</b> – <b>T1546 Event Triggered Execution</b>: Scheduled task created"] class persistence_task action scheduled_task["<b>Process</b> – <b>Name</b>: TaskSystem<br/><b>Schedule</b>: Daily at 20:00"] class scheduled_task process self_delete["<b>Action</b> – <b>T1070.009 Indicator Removal</b>: Selfu2011deletion after execution"] class self_delete action %% Credential Access credential_access["<b>Action</b> – <b>T1556.008 Modify Authentication Process</b>: NTLM hash harvesting"] class credential_access action ntlmthief_dll["<b>Tool</b> – <b>Name</b>: NtlmThief DLL<br/><b>Function</b>: Harvest NTLM hashes and force NTLMv1"] class ntlmthief_dll tool %% Defense Evasion defense_evasion["<b>Action</b> – <b>T1027 Obfuscated Files or Information</b>: Payloads packed with custom crypter"] class defense_evasion action custom_crypter["<b>Tool</b> – <b>Name</b>: Custom Crypter<br/><b>Techniques</b>: XOR, junk code, compileu2011afteru2011delivery, compression, stripped binaries"] class custom_crypter tool %% Command and Control c2_communication["<b>Action</b> – <b>T1071.001 Application Layer Protocol</b>: WebSocket channel (RC4 encrypted)"] class c2_communication action websocket_impl["<b>Tool</b> – <b>Name</b>: WebSocket client<br/><b>Features</b>: Dynamic URLs via Cloudflare Tunnel"] class websocket_impl tool %% Proxy Services proxy_service["<b>Action</b> – <b>T1090 Proxy</b>: Internal and multiu2011hop proxying"] class proxy_service action cloudflare_tunnel["<b>Tool</b> – <b>Name</b>: Cloudflare Tunnel<br/><b>Purpose</b>: Dynamic resolution of C2 URLs"] class cloudflare_tunnel tool protocol_tunneling["<b>Action</b> – <b>T1572 Protocol Tunneling</b>: TCP tunnel relays"] class protocol_tunneling action %% Privilege Escalation / Defense Evasion priv_esc["<b>Action</b> – <b>T1055.003 Process Injection</b>: Thread Execution Hijacking"] class priv_esc action tls_injection["<b>Action</b> – <b>T1055.005 Process Injection</b>: Thread Local Storage injection"] class tls_injection action process_injection_tool["<b>Tool</b> – <b>Name</b>: Process Injection routine"] class process_injection_tool tool %% Discovery discovery["<b>Action</b> – <b>T1016 System Network Configuration Discovery</b>: Collect system and network info"] class discovery action %% Collection collection["<b>Action</b> – <b>T1560.001 Archive via Utility</b> and <b>T1560.003 Archive via Custom Method</b>: Package exfiltrated data"] class collection action %% Exfiltration exfiltration["<b>Action</b> – <b>T1020 Automated Exfiltration</b> and <b>T1048.002 Exfiltration Over Asymmetric Encrypted Nonu2011C2 Protocol</b>"] class exfiltration action %% Impact impact["<b>Action</b> – <b>T1486 Data Encrypted for Impact</b>: InterLock ransomware encrypts files"] class impact action ransomware["<b>Malware</b> – <b>Name</b>: InterLock ransomware<br/><b>Encryption</b>: AESu2011256u2011CBC and RSAu20114096 OAEP<br/><b>Extension</b>: .interlock"] class ransomware malware ransom_note["<b>Action</b> – <b>T1490 Inhibit System Recovery</b>: Clear event logs and drop ransom note"] class ransom_note action artifact_cleanup["<b>Action</b> – <b>T1070 Indicator Removal</b>: Delete artifacts and files"] class artifact_cleanup action %% Connections initial_access –>|uses| msiexec_tool msiexec_tool –>|installs| screenconnect_client screenconnect_client –>|drops| nodesnake_backdoor nodesnake_backdoor –>|creates| persistence_task persistence_task –>|creates| scheduled_task scheduled_task –>|executes| self_delete nodesnake_backdoor –>|enables| credential_access credential_access –>|uses| ntlmthief_dll nodesnake_backdoor –>|obfuscates| defense_evasion defense_evasion –>|employs| custom_crypter nodesnake_backdoor –>|communicates via| c2_communication c2_communication –>|uses| websocket_impl websocket_impl –>|routes through| cloudflare_tunnel cloudflare_tunnel –>|supports| proxy_service proxy_service –>|includes| protocol_tunneling nodesnake_backdoor –>|performs| priv_esc priv_esc –>|uses| process_injection_tool process_injection_tool –>|also performs| tls_injection nodesnake_backdoor –>|performs| discovery nodesnake_backdoor –>|packages data with| collection collection –>|exfiltrates via| exfiltration exfiltration –>|delivers payload to| impact impact –>|uses| ransomware ransomware –>|leaves| ransom_note ransom_note –>|triggers| artifact_cleanup %% Class assignments class msiexec_tool tool class screenconnect_client malware class nodesnake_backdoor malware class ntlmthief_dll tool class custom_crypter tool class websocket_impl tool class cloudflare_tunnel tool class process_injection_tool tool class ransomware malware "

공격 흐름

탐지

의심스러운 Trycloudflare 도메인 통신 (dns를 통해)

SOC Prime 팀
2026년 3월 27일

공용 사용자 프로필에서의 의심스러운 실행 (프로세스 생성 통해)

SOC Prime 팀
2026년 3월 27일

지속성을 위한 가능한 Schtasks 또는 AT 사용 (cmdline 통해)

SOC Prime 팀
2026년 3월 27일

지연 실행을 위한 가능한 PING 사용 (cmdline 통해)

SOC Prime 팀
2026년 3월 27일

비정상적인 최상위 도메인 (TLD) DNS 요청으로 인한 의심스러운 명령 및 제어 (dns를 통해)

SOC Prime 팀
2026년 3월 27일

시스템 열거 가능성 (cmdline 통해)

SOC Prime 팀
2026년 3월 27일

계정 또는 그룹 열거 / 조작 가능성 (cmdline 통해)

SOC Prime 팀
2026년 3월 27일

IOC (이메일) 탐지: InterLock: 랜섬웨어 작전의 전체 도구 분해

SOC Prime AI 규칙
2026년 3월 27일

IOC (SourceIP) 탐지: InterLock: 랜섬웨어 작전의 전체 도구 분해

SOC Prime AI 규칙
2026년 3월 27일

IOC (HashSha256) 탐지: InterLock: 랜섬웨어 작전의 전체 도구 분해

SOC Prime AI 규칙
2026년 3월 27일

IOC (DestinationIP) 탐지: InterLock: 랜섬웨어 작전의 전체 도구 분해

SOC Prime AI 규칙
2026년 3월 27일

IOC (HashMd5) 탐지: InterLock: 랜섬웨어 작전의 전체 도구 분해

SOC Prime AI 규칙
2026년 3월 27일

NodeSnake WebSocket 핸드셰이크 및 URL 패턴 탐지 [Windows 네트워크 연결]

SOC Prime AI 규칙
2026년 3월 27일

sysconf를 사용한 InterLock ELF 변종 탐지 [Linux 프로세스 생성]

SOC Prime AI 규칙
2026년 3월 27일

NodeSnake JS 임플란트 및 InterLock DLL 실행 방법 탐지 [Windows 프로세스 생성]

SOC Prime AI 규칙
2026년 3월 27일

InterLock 랜섬웨어 및 NodeSnake 명령 출력 스테이징 탐지 [Windows 파일 이벤트]

SOC Prime AI 규칙
2026년 3월 27일

시뮬레이션 실행

전제 조건: 원격 감사 및 기준 상태 사전 비행 검사가 통과되어야 합니다.

이유: 이 섹션은 탐지 규칙을 트리거하기 위해 설계된 적의 기술(TTP)의 정확한 실행을 설명합니다. 명령 및 설명은 발견된 TTP를 직접적으로 반영해야 하며, 탐지 논리에서 예상되는 정확한 원격 감사를 생성하려고 합니다.

  • 공격 서사 및 명령:
    적은 낮은 권한을 가진 워크스테이션을 침해하고 두 가지 작업을 실행하는 NodeSnake JavaScript 임플란트를 실행하고 있습니다:

    1. 권한 수준 열거 – 그것은 cmd.exe /c net1 session 을 실행하여 프로세스가 SYSTEM인지 일반 사용자로 실행 중인지 여부를 발견하기 위한 알려진 방법인 활성 네트워크 세션을 나열합니다.
    2. DLL 기반 페이로드 실행 – 그것은 악성 DLL을 드롭합니다 (evilpayload.dll) 위치로 %TEMP% 에 드롭하고 이를 통하여 실행합니다 rundll32.exe %TEMP%evilpayload.dll,run %TEMP%evilpayload.dll. 이는 rundll32를 두 번째 단계 페이로드의 로더로 사용하는 InterLock 기법을 모방합니다.

    두 명령은 정확히 Sigma 규칙과 일치하는 명령행 문자열을 생성하도록 직접 실행됩니다.

  • 회귀 테스트 스크립트:

    # -------------------------------------------------
    # NodeSnake/InterLock 시뮬레이션 – Sigma 규칙 트리거
    # -------------------------------------------------
    
    # 1. 더미 악성 DLL 생성 (탐지를 위한 바이너리 필요 없음)
    $dllPath = "$env:TEMPevilpayload.dll"
    Set-Content -Path $dllPath -Value "MZ" -Encoding ASCII   # 최소한의 PE 헤더 자리표시자
    
    # 2. 권한 열거 명령 실행 (정확한 일치)
    Write-Host "[*] 권한 열거 실행 (cmd.exe /c net1 session)"
    cmd.exe /c net1 session
    
    # 3. rundll32 페이로드 로더 실행 (정확한 일치)
    Write-Host "[*] rundll32.exe를 통해 악성 DLL 실행"
    rundll32.exe "$dllPath,run $dllPath"
    
    # 4. SIEM 수집을 허용하기 위한 일시 정지
    Start-Sleep -Seconds 10
  • 정리 명령:

    # -------------------------------------------------
    # 시뮬레이션을 위한 정리
    # -------------------------------------------------
    $dllPath = "$env:TEMPevilpayload.dll"
    
    if (Test-Path $dllPath) {
        Remove-Item -Path $dllPath -Force
        Write-Host "[+] $dllPath 제거됨"
    } else {
        Write-Host "[-] 제거할 DLL이 없습니다."
    }
    
    # 법의학적 발자국을 줄이기 위해 선택적으로 PowerShell 기록을 지웁니다
    Clear-History