SOC Prime Bias: 높음

12 12월 2025 17:56

CyberVolk 다시 등장: VolkLocker의 새로운 기능과 결함

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
CyberVolk 다시 등장: VolkLocker의 새로운 기능과 결함
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

이 기사는 친러시아 해커 단체 CyberVolk의 부활과 베골냉의 새로운 랜섬웨어 가족 VolkLocker에 대해 다룹니다. 이 Golang 기반의 랜섬웨어는 Windows와 Linux 시스템을 모두 대상으로 하며, 명령 제어를 위해 Telegram을 사용합니다. 이는 하드코딩된 AES-256-GCM 마스터 키를 사용하며, 이 키는 %TEMP% 디렉터리에 평문으로도 기록되어 비의도적인 복호화 지름길을 제공합니다. VolkLocker는 레지스트리 설정을 조작하고, 보안 제어를 끄며, 내장된 타이머가 만료되면 시스템에 대해 파괴적인 행동을 시도합니다.

조사

연구자들은 VolkLocker 샘플을 조사하여 코드 난독화 없이 분배되는 것을 관찰했으며, 대신 UPX를 사용하여 패킹할 것을 권장합니다. 랜섬웨어는 환경 점검을 수행하고, 사용 가능한 드라이브를 열거하며, 정적 마스터 키를 사용하여 데이터를 암호화하고, 그 키를 숨겨진 백업 파일에 저장합니다. 지속성은 실행 파일을 여러 경로에 복제하고 레지스트리 변경을 적용하여 유지됩니다. Telegram 봇 토큰과 비트코인 주소는 성공적인 작동을 위한 필수 구성 요소입니다.

완화

방어자는 문서화된 레지스트리 변경, 평문 키 백업 파일 생성, 및 시작 위치에 나타나는 동일 실행 파일의 여러 사본을 주의 깊게 감시해야 합니다. Telegram 관련 도메인으로의 아웃바운드 트래픽 차단과 UPX로 패킹된 바이너리 플래그 설정은 위험을 제한하는데 도움이 될 수 있습니다. 정기적인 오프라인 백업 유지 또는 불변 백업 유지와 볼륨 섀도우 복사본의 자동 삭제 방지도 권장됩니다.

대응

탐지된 후 즉시 손상된 엔드포인트를 격리하고 %TEMP%에서 평문 키 백업 파일을 확보하여 알려진 마스터 키를 활용해 파일을 복호화합니다. VolkLocker 실행 파일의 모든 인스턴스를 제거하고, 변경된 레지스트리 값을 복구하며, 비활성화된 보안 솔루션을 재시작합니다. Telegram 기반 C2 트래픽의 포렌식 검토를 수행하고 노출된 봇 토큰의 이후 남용 여부를 계속 모니터링합니다.

graph TB %% 클래스 정의 classDef technique fill:#99ccff classDef malware fill:#ffcc99 classDef tool fill:#cccccc classDef file fill:#e6e6e6 classDef operator fill:#ff9900 %% 권한 상승 tech_pe_bypass_uac[“<b>기법</b> – <b>T1548.002 사용자 계정 컨트롤(UAC) 우회</b><br/><b>설명</b>: HKCU\\Software\\Classes\\ms-settings\\shell\\open\\command 를 하이재킹하여 관리자 권한 획득”] class tech_pe_bypass_uac technique %% 지속성 tech_persistence_rc[“<b>기법</b> – <b>T1037.004 부팅 또는 로그온 초기화 스크립트: RC 스크립트</b><br/><b>설명</b>: 페이로드를 시작 프로그램 위치로 복사”] class tech_persistence_rc technique tech_persistence_startup[“<b>기법</b> – <b>T1037.005 시작 프로그램 항목</b><br/><b>설명</b>: 사용자 시작 폴더에 cvolk.exe 배치”] class tech_persistence_startup technique tech_persistence_active[“<b>기법</b> – <b>T1547.014 Active Setup</b><br/><b>설명</b>: 지속성을 위해 Active Setup 항목 등록”] class tech_persistence_active technique file_cvolk[“<b>파일</b> – cvolk.exe<br/>경로: %APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\Startup”] class file_cvolk file file_svchost[“<b>파일</b> – svchost.exe<br/>경로: %PUBLIC%\\Documents”] class file_svchost file file_wlanext[“<b>파일</b> – wlanext.exe<br/>경로: %SYSTEMDRIVE%\\ProgramData\\Microsoft\\Network”] class file_wlanext file file_windowsupdate[“<b>파일</b> – WindowsUpdate.exe<br/>경로: %TEMP%”] class file_windowsupdate file %% 방어 회피 tech_account_removal[“<b>기법</b> – <b>T1531 계정 접근 제거</b><br/><b>설명</b>: 사용자 계정 및 도구 비활성화”] class tech_account_removal technique tech_exclusive_control[“<b>기법</b> – <b>T1668 독점적 제어</b><br/><b>설명</b>: 레지스트리를 수정하여 작업 관리자, CMD, Defender 차단”] class tech_exclusive_control technique tech_impair_defenses[“<b>기법</b> – <b>T1562.010 보안 도구 비활성화 또는 수정</b><br/><b>설명</b>: 실시간 모니터링 비활성화”] class tech_impair_defenses technique %% 가상화 회피 tech_vm_check[“<b>기법</b> – <b>T1497.002 사용자 활동 기반 검사</b><br/><b>설명</b>: MAC 주소 접두사 및 VM 레지스트리 키 확인”] class tech_vm_check technique %% 파일 암호화 tech_custom_archive[“<b>기법</b> – <b>T1560.003 사용자 정의 방법을 통한 아카이브</b><br/><b>설명</b>: 하드코딩된 마스터 키를 사용하여 AES-256-GCM으로 파일 암호화”] class tech_custom_archive technique tech_upx_packing[“<b>기법</b> – <b>T1027.015 난독화/압축 파일: UPX</b><br/><b>설명</b>: UPX로 바이너리 패킹”] class tech_upx_packing technique %% 키 백업 file_key_backup[“<b>파일</b> – system_backup.key<br/>위치: %TEMP%<br/><b>문제</b>: 마스터 키를 평문으로 저장”] class file_key_backup file %% 시스템 복구 방해 tech_vss_delete[“<b>기법</b> – <b>T1490 시스템 복구 방해</b><br/><b>설명</b>: vssadmin을 사용하여 모든 볼륨 섀도 복사본 삭제”] class tech_vss_delete technique %% 데이터 파괴 tech_disk_wipe[“<b>기법</b> – <b>T1561.001 디스크 내용 삭제: 파일</b><br/><b>설명</b>: 문서, 바탕화면, 다운로드, 사진 삭제”] class tech_disk_wipe technique tech_bsod[“<b>기법</b> – <b>T1499.004 엔드포인트 서비스 거부: 애플리케이션 악용</b><br/><b>설명</b>: NtRaiseHardError를 사용하여 BSOD 발생”] class tech_bsod technique %% 명령 및 제어 tech_c2_telegram[“<b>기법</b> – <b>T1102.002 웹 서비스: 양방향 통신</b><br/><b>설명</b>: C2를 위해 Telegram 봇 사용, 동적 해석”] class tech_c2_telegram technique %% 지표 제거 tech_file_deletion[“<b>기법</b> – <b>T1070.004 파일 삭제</b><br/><b>설명</b>: 임시 파일 삭제 및 숨김/시스템 속성 설정”] class tech_file_deletion technique %% 흐름 연결 tech_pe_bypass_uac –>|활성화| tech_persistence_rc tech_persistence_rc –>|복사| file_cvolk tech_persistence_rc –>|복사| file_svchost tech_persistence_rc –>|복사| file_wlanext tech_persistence_rc –>|복사| file_windowsupdate tech_persistence_rc –>|생성| tech_persistence_startup tech_persistence_rc –>|생성| tech_persistence_active tech_persistence_startup –>|배치| file_cvolk tech_persistence_active –>|등록| file_cvolk tech_persistence_rc –>|유도| tech_account_removal tech_account_removal –>|수정| tech_exclusive_control tech_exclusive_control –>|비활성화| tech_impair_defenses tech_impair_defenses –>|준비| tech_vm_check tech_vm_check –>|우회| tech_custom_archive tech_custom_archive –>|사용| tech_upx_packing tech_upx_packing –>|생성| file_cvolk tech_custom_archive –>|기록| file_key_backup tech_custom_archive –>|트리거| tech_vss_delete tech_vss_delete –>|복구 방지 대상| tech_disk_wipe tech_disk_wipe –>|이후 실행| tech_bsod tech_bsod –>|신호 전송| tech_c2_telegram tech_c2_telegram –>|보고| tech_file_deletion tech_file_deletion –>|제거| file_key_backup %% 스타일 class tech_pe_bypass_uac,tech_persistence_rc,tech_persistence_startup,tech_persistence_active,tech_account_removal,tech_exclusive_control,tech_impair_defenses,tech_vm_check,tech_custom_archive,tech_upx_packing,tech_vss_delete,tech_disk_wipe,tech_bsod,tech_c2_telegram,tech_file_deletion technique class file_cvolk,file_svchost,file_wlanext,file_windowsupdate,file_key_backup file

공격 플로우

시뮬레이션 실행

전제 조건: Telemetry 및 기준 동작 사전 비행 점검이 통과해야 합니다.

이유: 이 섹션은 탐지 규칙을 트리거하도록 설계된 적대적 기법 (TTP)의 정확한 실행을 상세히 설명합니다. 명령과 설명은 식별된 TTP를 직접 반영해야 하며 탐지 로직에 의해 예상되는 정확한 텔레메트리를 생성하도록 해야 합니다. 추상적이거나 관련 없는 예는 진단 실패로 이어질 것입니다.

  • 공격 서사 및 명령:

    1. 목표:보안 툴을 피하면서 표준 사용자 업무용 컴퓨터에서 SYSTEM 권한을 얻습니다.
    2. 단계 1 – UAC 우회:공격자는 ms-settings.exe 를 실행하여 NtRaiseHardError 라는 알려지지 않은 API를 호출하도록 하는 명령 줄을 사용하여 특정 오작동에서 자동으로 수락될 수 있는 UAC 상승 프롬프트를 트리거 합니다.
    3. 단계 2 – 방어 방해:상승 후 즉시, 동일한 명령 줄이 taskkill.exe 을 호출하여 (procmon.exeprocesshacker.exe 등) 특권 프로세스를 모니터링할 수 있는 분석 도구를 종료합니다.
    4. 검출된 텔레메트리:단일 프로세스 생성 이벤트에서 Image = ms-settings.exeCommandLine 에 모두 나타나는 taskkill.exeNtRaiseHardErrorSigma 규칙의 selection.
    # ms-settings.exe 인수로 보이도록 조작된 악성 명령
    $maliciousCmd = '"C:WindowsSystem32ms-settings.exe" "taskkill.exe /F /IM procmon.exe" "NtRaiseHardError"'
    Start-Process -FilePath "$env:SystemRootsystem32ms-settings.exe" -ArgumentList $maliciousCmd
  • 회귀 테스트 스크립트:다음 파워쉘 스크립트는 정확한 공격을 재현하며 자동 회귀 테스트에 재사용할 수 있습니다.

    <#
    .SYNOPSIS
        CyberVolk ms-settings UAC 우회 + 분석 도구 종료 기술을 시뮬레이션합니다.
    .DESCRIPTION
        ms-settings.exe를 taskkill.exe 및 NtRaiseHardError를 포함한 조작된 인수 목록과 함께 실행합니다.
        Sigma 탐지 규칙을 활성화하는 특정 프로세스 생성 텔레메트리를 생성합니다.
    .NOTES
        일반 사용자 계정으로 실행합니다. 대상 환경에 프로세스 생성 로그가 활성화되어 있는지 확인합니다.
    #>
    
    # 파라미터 (필요할 경우 조정)
    $msSettings = "$env:SystemRootsystem32ms-settings.exe"
    $analysisTools = @("procmon.exe","processhacker.exe","ida64.exe")
    $killCmd = "taskkill.exe /F /IM " + ($analysisTools -join " /IM ")
    $hardError = "NtRaiseHardError"
    
    # 악성 인수 문자열 생성
    $argList = @($killCmd, $hardError) -join " "
    
    Write-Host "ms-settings.exe를 악성 인수로 실행 중..."
    Start-Process -FilePath $msSettings -ArgumentList $argList
    
    Write-Host "실행된 명령:"
    Write-Host "`"$msSettings`" $argList"
  • 정리 명령:검증 후, 나머지 ms-settings.exe 프로세스를 종료하고 정상적인 시스템 상태로 복원하십시오.

    # 아직 실행 중일 수 있는 ms-settings 프로세스 종료
    Get-Process -Name "ms-settings" -ErrorAction SilentlyContinue | Stop-Process -Force
    
    # 선택 사항: 분석 도구가 의도치 않게 종료되지 않았는지 확인
    foreach ($tool in @("procmon","processhacker","ida64")) {
        if (Get-Process -Name $tool -ErrorAction SilentlyContinue) {
            Write-Host "$tool가 여전히 실행 중입니다."
        } else {
            Write-Host "$tool가 종료되었습니다 (테스트 예상)."
        }
    }