Dire Wolf 랜섬웨어: 데이터 암호화와 유출 압박을 병행하는 위협
DireWolf 랜섬웨어 그룹
DireWolf 랜섬웨어 그룹은 2025년 5월 처음 모습을 드러냈다. 이들은 같은 달 26일 다크넷 유출 사이트에 첫 피해자 6곳을 공개하며 본격적인 활동을 시작했다. 그룹은 “돈만이 목적”이라고 밝히며, 피해자와는 Tox 메신저를 통해 접촉한다. 공격 대상은 아시아, 호주, 이탈리아 등지의 제조업, IT, 건설, 금융 등 다양한 산업군으로, 데이터 암호화와 유출 협박을 병행하는 이중 갈취(double extortion) 방식을 사용한다. 현재까지 16개국 16개 조직이 피해를 입었으며, 피해국에는 미국, 태국, 대만 등도 포함된다.

그림 1. DireWolf 피해자 게시판
분석내용

그림 2. DireWolf 실행 흐름
DireWolf는 설정 파일 없이 명령 인자를 기반으로 동작을 제어한다. -d <path> 인자를 통해 특정 디렉터리만 대상으로 삼을 수 있으며, -h 인자는 실행 도움말을 출력한다. 인자 처리 이후에는 초기 보호 검사가 즉시 수행된다. 해당 검사에서는 시스템 전역 Mutex인 Global\direwolfAppMutex를 활용해 중복 실행 여부를 판별하고, 암호화 완료 표식 파일인 C:\runfinish.exe의 존재 여부를 확인함으로써 이미 처리된 시스템인지를 추가로 식별한다. 두 조건 중 하나라도 충족되면 프로그램은 더 이상의 진행을 중단하고, 로그를 남긴 뒤 자기 삭제 루틴을 호출하여 실행 파일을 제거하고 종료한다.
반대로 조건을 통과한 경우에는 사전 작업 고루틴을 기동하고 약 2초간의 대기 이후 워커풀(Worker Pool)을 구성한다. 워커풀의 규모는 전역 변수로 관리되며, 논리 CPU 개수의 8배에 해당하는 고루틴이 동시 투입되어 대상 경로를 병렬 처리한다. 이 설계는 I/O 대기 시간을 다른 작업으로 메우는 방식으로 처리량을 극대화하지만, 시스템에 따라 CPU 사용률과 디스크 대기열이 눈에 띄게 상승해 성능 저하 및 서비스 지연을 야기할 수 있다.
랜섬웨어는 파일 암호화 성공률을 극대화하기 위해 다양한 복구 방해 기법을 적용한다. 우선, 자가 삭제를 통해 분석 흔적을 줄이는 동시에, 이벤트 로그 및 백업 관련 데이터를 제거하여 사고 분석과 시스템 복구를 어렵게 한다. 실행 중인 Windows 이벤트 로그 서비스(eventlog)는 WMI 쿼리(Get-WmiObject -Class win32_service -Filter “name = ‘eventlog'”)를 통해 프로세스 ID를 확인한 후 taskkill 명령어로 강제 종료한다.
이러한 과정은 단발성이 아니라 ① 이벤트 로그 프로세스 ID 확인 → ② 강제 종료 → ③ 일정 시간 대기 후 동일 절차 반복 형태로 수행된다. 즉, eventlog 서비스가 재실행되더라도 주기적으로 다시 탐색하고 종료하기 때문에 로그 수집은 지속적으로 차단된다.

그림 3. 이벤트 로그 삭제 무한 반복 함수 일부
또한, 명령 프롬프트를 이용해 복원 지점(Shadow Copy)을 완전히 제거하고, 예약된 백업 작업 및 메타데이터를 삭제한다. 대표적으로 vssadmin delete shadows /all /quiet 명령어를 통해 모든 볼륨 쉐도우 복사본을 제거하고, wbadmin 명령어를 사용하여 실행 중인 백업 작업 중단(wbadmin stop job -quiet), 시스템 상태 백업 및 모든 백업 버전 삭제(wbadmin delete backup -keepVersions:0 -quiet)를 수행한다. 더불어 bcdedit /set {default} recoveryenabled No 명령어로 Windows 복구 환경(WinRE)을 비활성화하고, bcdedit /set {default} bootstatuspolicy ignoreallfailures를 통해 부팅 실패 시 복구 모드 진입을 차단한다. 이후 wevtutil cl 명령어를 활용하여 Application, System, Security, Setup 로그를 포함한 주요 이벤트 로그를 삭제한다.

그림 4. 복구 방해 명령어 모음
이외에도 랜섬웨어는 정상적인 복구 절차를 방해하기 위해 파일 암호화 이전에 특정 프로세스를 선제적으로 종료한다. 종료 대상에는 데이터베이스(MSSQL, Oracle), 메일 서버(Exchange), 가상화 플랫폼(VMware), 백업 소프트웨어(Veeam, Veritas BackupExec), 그리고 보안 솔루션(Symantec, Sophos) 등이 포함된다. 주요 예시로는 sqlservr.exe, vss.exe, memtas.exe, tomcat6.exe, onenote.exe, outlook.exe 등이 있으며, 이는 데이터 저장·관리, 협업 및 보안 관련 프로세스를 마비시켜 복구 및 운영 지속성을 저해하는 효과를 노린다.
또한, 다양한 서비스 역시 종료 대상으로 삼아 복구와 보안 기능을 무력화한다. 확인된 서비스에는 BackupExecJobEngine, SQLSERVERAGENT, wuauserv, VeeamTransportSvc, MSExchangeIS 등이 포함되며, 이는 백업 관리, 데이터베이스 운영, 윈도우 업데이트, 가상화 자원 관리 및 메일 서버 운용에 핵심적인 역할을 수행한다. 이러한 서비스 중단은 단순히 복구 지점 삭제나 백업 비활성화에 그치지 않고, 모니터링 및 보안 기능까지 동시에 무력화하여 탐지 회피와 분석 방해 효과를 극대화한다.
사전 단계에서 복구를 방해하기 위해 백업, 보안, 데이터베이스 및 메일 서버 관련 프로세스와 서비스를 강제로 종료한 이후 본격적인 암호화 루틴을 실행한다. 암호화는 실행 시 전달되는 인자에 따라 범위가 달라지는데, -d 인자가 제공될 경우 해당 디렉터리와 하위 디렉터리만 순회하며, 인자가 없으면 CD/ROM 드라이브를 제외한 연결된 모든 로컬 및 네트워크 드라이브를 대상으로 한다. 대상 디렉터리를 탐색하는 과정에서 암호화 예외 조건이 적용되는데, AppData, Windows, Program Files, $Recycle.Bin, system volume information 등 운영체제 및 복구에 필수적인 폴더와 함께 bootmgr, ntldr, NTUSER.DAT 같은 시스템 경로와 HowToRecoveryFiles.txt와 같은 파일명도 보호 목록에 포함된다. 또한 실행 파일(.exe), 라이브러리(.dll), 드라이버(.sys, .drv), 이미지(.iso, .img) 등 특정 확장자도 암호화 대상에서 제외된다. 이와 같은 예외 처리는 시스템이 암호화 직후에도 기본적으로 동작 가능한 상태를 유지하게 하여 랜섬노트가 표시되고 피해자가 지불 절차를 진행할 수 있도록 보장하는 역할을 한다.
우선 각 파일별로 독립적인 암호화 키를 생성하기 위해 난수 기반의 개인키를 생성하고, 이를 이용해 하드코딩된 DireWolf 공개키와 함께 Curve25519 키 교환 연산을 수행한다. 이 과정을 통해 생성된 공유 비밀(shared secret)은 SHA-256 알고리즘을 거쳐 암호화 키로 사용되며, 동일 암호화값 결과를 다시 처리하여 nonce 값이 파생된다. 이 키-nonce 쌍은 암호화 과정에서 ChaCha20 스트림 암호화 알고리즘의 입력으로 활용된다. ChaCha20은 속도가 빠르면서도 대용량 데이터 처리에 적합한 특성을 갖는다. 또한 DireWolf 랜섬웨어는 파일 크기에 따라 전략적으로 적용한다. 1MB 이하의 소형 파일은 전체 데이터를 암호화하고, 1MB를 초과하는 대형 파일은 첫 1MB 구간만 암호화하여 전체 암호화와 유사한 효과를 주면서도 처리 속도를 크게 높이는 방식이다. 이는 공격자가 빠른 시간 내에 최대한 많은 파일을 손상시켜 복구 가능성을 낮추고 협상력을 확보하려는 의도가 반영된 것이다.

그림 5. 암호화 구조도
모든 암호화 과정이 완료된 이후에는 랜섬웨어의 후처리 단계가 진행된다. 우선 악성코드는 C:\runfinish.exe 경로에 빈 마커 파일을 생성하여 암호화 절차의 종료 상태를 기록한다. 이 마커는 앞선 초기 루틴에서 재실행 방지를 위한 체크포인트로 활용되며, 동일한 시스템에서 불필요하게 중복 암호화가 발생하지 않도록 설계되어 있다. 이어서 cmd /c start shutdown -r -f -t 10 명령어를 호출해 10초 후 강제 재부팅을 예약한다. 이 명령은 -r 플래그로 시스템 재부팅, -f 플래그로 실행 중인 모든 사용자 프로세스 강제 종료, -t 10 옵션으로 10초의 지연 시간을 두어 사용자가 대응할 수 있는 시간을 최소화한다. 실행 시 start를 통해 별도의 프로세스 컨텍스트로 분리하여, 본 프로세스가 종료되더라도 재부팅 명령이 독립적으로 수행되도록 구성되어 있다.
재부팅 성공 여부와 관계없이 자가 삭제 루틴은 무조건 실행된다. 구체적으로는 timeout /T 3 명령으로 3초 대기한 후 del <자기 경로> 명령을 실행하는 방식이 사용되며, 이 역시 cmd.exe를 별도 프로세스로 호출하여 비동기적으로 수행된다. 따라서 시스템이 실제로 재부팅되더라도 해당 프로세스가 동작을 이어가 자가 삭제가 실행되며, 악성 실행 파일은 디스크에서 제거된다. 이로 인해 보안 담당자나 분석가는 재부팅 이후 현장에서 샘플을 확보하기가 어려워지고, 포렌식 분석 과정에서도 원본 악성코드 파일을 입수하기 힘들어진다.
랜섬노트는 “HowToRecoveryFiles.txt” 라는 이름으로 생성된다. 특정 폴더의 암호화 작업 완료 후 해당 경로에 랜섬노트를 생성하는 방식이므로 시스템에 존재하는 모든 폴더에 랜섬노트가 생성된다.

그림 6. 랜섬 노트
랜섬노트에는 피해 기업의 회사명이 하드코딩된 roomID와 username이 포함되어 있어, 이는 랜섬웨어 실행 이전에 이미 해당 기업을 표적으로 한 침해사고가 발생했음을 보여준다. 또한 공격자는 유출된 파일 일부를 무료 파일 공유 사이트에 업로드하여 열람할 수 있도록 제공하면서, 이를 통해 실제 데이터 탈취 사실을 입증하고 협박 수단으로 활용한다.
결론
DireWolf 랜섬웨어는 2025년 5월 처음 등장한 신생 그룹임에도 불구하고, 빠르게 전 세계 기업을 대상으로 활발한 공격 활동을 전개하고 있다. 특히 제조·IT·건설·금융 등 특정 산업군을 가리지 않고, 취약한 시스템이 존재하는 조직이라면 어디든 공격 대상으로 삼는 점에서 높은 위협성을 보인다. 기술적으로 DireWolf는 Curve25519 기반 키 교환과 ChaCha20 스트림 암호화를 결합하여 파일 암호화를 수행한다. 이 과정에서 각 파일마다 랜덤한 세션 키를 생성하고, 하드코딩된 공격자 공개키와 공유 비밀을 형성해 암호화 키를 도출한다. 키는 SHA-256을 거쳐 암호화 키 및 nonce로 활용되며, 최종적으로 피해 파일에 .direwolf 확장자를 부여한다. 이러한 설계는 현재 알려진 복호화 방법을 원천적으로 차단하여, 피해자가 공격자와의 협상 외에는 복구 수단이 없도록 만든다. 또한 DireWolf는 단순히 파일 암호화에 그치지 않고, 복구 방해 및 분석 회피 기법을 적극적으로 적용한다. 백업 및 복원 관련 프로세스와 서비스(Veeam, Veritas, MSSQL, Exchange, 보안 솔루션 등)를 선제적으로 종료하고, wevtutil과 wbadmin, bcdedit 명령어를 통해 이벤트 로그 삭제와 복구 환경 비활성화를 수행한다. 더불어, 암호화 종료 후 shutdown -r -f -t 10 명령어로 강제 재부팅을 시도하고, 자가 삭제 루틴을 통해 악성 실행 파일을 제거함으로써 포렌식 분석과 악성코드 확보 가능성을 크게 낮춘다.
안랩 대응 현황
안랩 제품군의 진단명과 엔진 날짜 정보는 다음과 같다.
V3
Malware/Win.Generic.C5380825
Ransom/MDP.Delete.M2117(2021.10.13.01)
Ransom/MDP.Command.M1751(2021.10.08.00)
Ransom/MDP.Behavior.M2813 (2020.03.24.03)
Ransom/MDP.Decoy.M1171 (2016.07.15.02)
Ransom/MDP.Event.M1946 (2018.06.06.00)
EDR
SystemManipulation/EDR.Event.M2486 (2022.07.09.00)
SystemManipulation/EDR.Event.M1751(2018.09.08.00)
Ransom/MDP.Event.M1946 (2018.09.07.03)
Ransom/EDR.Decoy.M2470 (2022.09.30.00)