암호화 그 이상의 위협, DireWolf는 왜 위험한가
DireWolf 랜섬웨어 그룹은 2025년 5월 처음 모습을 드러냈다. 같은 달 26일, 다크넷 유출 사이트에 첫 피해자 6곳을 공개하며 본격적인 활동을 시작했고, 목적은 오로지 ‘돈’이었다. 이들은 Tox 메신저를 통해 피해자와 접촉했으며, 공격 대상은 아시아, 호주, 이탈리아 등지의 제조업, IT, 건설, 금융 등 다양한 산업군에 걸쳐 있다. DireWolf는 데이터 암호화와 유출 협박을 병행하는 이중 갈취 방식을 사용하며, 현재까지 미국, 태국, 대만을 포함한 16개국 16개 조직이 피해를 입은 것으로 확인됐다. 최근 전 세계적으로 확산되고 있는 DireWolf 랜섬웨어의 전술과 기술적 특징에 대해 살펴보자.
DireWolf는 별도의 설정 파일 없이 실행 시 입력되는 명령 인자(옵션)를 기반으로 동작을 제어한다. 예를 들어, -d <path> 옵션을 주면 특정 디렉토리만 대상으로 삼고, -h 옵션을 입력하면 사용 방법(도움말)을 보여준다. 인자 처리가 끝나면 즉시 초기 보호 검사가 진행되는데, 이 과정에서 시스템에 이미 실행 중인 DireWolf가 있는지(시스템 전역 ‘Mutex’ 값 확인)와 암호화 완료를 알리는 표식 파일(C:\runfinish.exe)이 존재하는지를 체크한다. 이 두 조건 중 하나라도 만족하면 랜섬웨어는 추가 감염을 시도하지 않고 로그를 남긴 뒤 자기 삭제 루틴을 호출해 실행 파일을 제거하고 종료한다.
[그림 1] DireWolf 피해자 게시판
반대로 두 조건을 모두 충족하지 못한 경우 사전 작업용 고루틴을 실행한 뒤 약 2초간 대기한다. 이후 전역 변수로 관리되는 워커풀(Worker Pool)을 구성하는데, 이때 논리 CPU 개수의 8배에 해당하는 고루틴이 동시에 투입돼 지정된 경로를 병렬로 처리한다. 이런 설계는 I/O 대기 시간을 다른 작업으로 메우며 파일 암호화 속도와 처리량을 극대화한다. 그러나 동시에 CPU 사용률 급증과 디스크 대기열 증가를 유발해, 시스템 전반의 성능 저하와 서비스 지연을 초래할 수 있다.
랜섬웨어는 파일 암호화 성공률을 높이기 위해 다양한 복구 방해 기법을 활용한다. 우선, 자가 삭제를 통해 분석 흔적을 줄이는 동시에 이벤트 로그와 백업 관련 데이터를 제거해 사고 원인 분석과 시스템 복구를 어렵게 만든다. 특히 실행 중인 Windows 이벤트 로그 서비스(eventlog)를 표적으로 삼으며, WMI 쿼리(Get-WmiObject -Class win32_service -Filter “name = ‘eventlog'”)를 통해 프로세스 ID를 확인한 후, taskkill 명령으로 해당 프로세스를 강제로 종료한다.
[그림 2] DireWolf 실행 흐름
이 절차는 한 번으로 끝나지 않는다. ① 이벤트 로그 프로세스 ID 확인 → ② 강제 종료 → ③ 일정 시간 대기 → ④ 동일 절차 반복 순서로 주기적으로 실행된다. 따라서 eventlog 서비스가 재실행되더라도 곧바로 다시 종료되며, 결국 로그 수집 기능은 지속적으로 무력화된다.
[그림 3] 이벤트 로그 삭제 무한 반복 함수 일부
DireWolf는 시스템 복구를 방해하기 위해 백업 및 로그 관련 기능을 무력화한다. 우선 명령 프롬프트를 이용해 복원 지점(Shadow Copy)을 완전히 제거하고, 예약된 백업 작업과 메타데이터도 제거한다. 대표적으로 vssadmin delete shadows /all /quiet 명령어를 사용해 모든 볼륨 섀도 복사본을 삭제하며, 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 등이 있으며, 이는 각각 백업 관리, 데이터베이스 운영, 윈도우 업데이트, 가상화 자원 관리, 메일 서버 운용에 핵심적이다. 이러한 서비스 중단은 단순히 복원 지점 삭제나 백업 비활성화에 그치지 않고, 모니터링 및 보안 기능을 무력화해 탐지 회피와 분석 방해 효과를 극대화한다.
DireWolf 랜섬웨어는 본격적인 파일 암호화에 앞서 복구를 방해하기 위한 사전 단계를 수행한다. 우선 데이터베이스, 메일 서버, 가상화 플랫폼, 백업 프로그램, 보안 솔루션 등 주요 프로세스와 서비스를 강제로 종료해 복원과 방어 기능을 무력화한다. 그 후 암호화 루틴을 시작하는데, 이때 실행 시 전달되는 인자에 따라 암호화 대상 범위가 달라진다. 예를 들어 -d <path> 인자가 있으면 지정된 디렉터리와 하위 경로만 탐색하고, 인자가 없으면 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] 암호화 구조도
모든 암호화 과정이 완료되면 DireWolf는 후처리 단계에 들어간다. 먼저 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월 처음 등장한 신생 그룹임에도 불구하고, 빠르게 전 세계 기업을 대상으로 활발한 공격 활동을 전개하고 있다. 특정 산업군을 가리지 않고, 취약한 시스템이 존재하는 조직이라면 어디든 공격 대상으로 삼는 점에서 높은 위협성을 보인다.
DireWolf의 암호화 방식은 현재 알려진 복호화 방법으로는 대응이 불가능해, 피해자와 공격자와의 협상 외에는 복구 수단이 없도록 설계돼 있다. 또한, DireWolf는 단순히 파일 암호화에 그치지 않고, 복구 방해 및 분석 회피 기법을 적극적으로 적용한다. 더불어, 암호화 종료 후에는 강제 재부팅을 시도하고, 자가 삭제 루틴을 통해 악성 실행 파일을 제거함으로써 포렌식 분석과 악성코드 확보 가능성을 크게 낮춘다.
따라서 DireWolf는 단순한 랜섬웨어를 넘어 기업 보안 체계 전반을 위협하는 복합적인 공격 도구로 평가되며, 이에 대한 선제적 방어 전략과 대응 체계 마련이 필요하다.
출처 : AhnLab