AD 환경에서 전파기능을 포함한 다크사이드 랜섬웨어

다크사이드 랜섬웨어는 분석 및 샌드박스 탐지를 우회하기 위해 로더(Loader)와 데이터 파일이 함께 있어야 동작한다. “msupdate64.exe” 이름의 로더는 (같은 경로에 존재하는) 랜섬웨어를 인코딩 상태로 저장하고 있는 “config.ini” 데이터 파일을 읽어 정상 프로세스의 메모리 상에서 랜섬웨어를 실행한다. 실행 시, 특정 인자값이 맞아야 동작하는 구조이며, 작업 스케줄러에 등록되어 주기적으로 동작하도록 구성되어 있다.

[그림 1] 랜섬웨어 동작 방식

다크사이드 랜섬웨어의 기능은 아래와 같다.

1) 랜섬웨어의 암호화 대상 제외 목록
정상 프로세스에 인젝션된 랜섬웨어는 특정 폴더 및 파일명을 제외한 나머지 모든 파일을 암호화한다. 아래 [표 1], [표 2]는 암호화 제외와 관련된 파일 경로 및 파일명 정보이다.

암호화 제외 폴더 경로
“AppData”
“Boot”
“Windows”
“WINDOWS”
“Windows.old”
“Ahnlab”
“Tor Browser”
“Internet Explorer”
“Google”
“Opera”
“Opera Software”
“Mozilla”
“Mozilla Firefox”
“$Recycle.Bin”
“ProgramData”
“All Users”
“Program Files”
“Program Files (x86)”
“#recycle”
“..”
“.”
“SYSVOL”
“bootmgr”
“ntldr”
[표 1] 암호화 제외 폴더 경로 목록
암호화 제외 파일명
“autorun.inf”
“boot.ini”
“bootfont.bin”
“bootsect.bak”
“bootmgr.efi”
“bootmgfw.efi”
“desktop.ini”
“iconcache.db”
“ntuser.dat”
“ntuser.dat.log”
“ntuser.ini”
“thumbs.db”
“AUTOEXEC.BAT”
“autoexec.bat”
“bootfont.bin”
“bootfont.bin”
“ntldr”
“config.ini”
“begin.txt”
“finish.txt”
[표 2] 암호화 제외 파일명 목록

2) 실행중인 프로세스 강제 종료 기능
랜섬웨어는 암호화 중 파일 핸들 충돌 방지를 위해 실행중인 프로세스를 종료한다. 다음은 해당 대상 목록이다.

프로세스 강제 종료 대상
“sql.exe”
“oracle.exe”
“ocssd.exe”
“dbsnmp.exe”
“synctime.exe”
“agntsvc.exe”
“isqlplussvc.exe”
“xfssvccon.exe”
“mydesktopservice.exe”
“ocautoupds.exe”
“encsvc.exe”
“firefox.exe”
“tbirdconfig.exe”
“mydesktopqos.exe”
“ocomm.exe”
“dbeng50.exe”
“sqbcoreservice.exe”
“excel.exe”
“infopath.exe”
“msaccess.exe”
“mspub.exe”
“onenote.exe”
“outlook.exe”
“powerpnt.exe”
“steam.exe”
“thebat.exe”
“thunderbird.exe”
“visio.exe”
“winword.exe”
“wordpad.exe”
“wrapper.exe”
“dbsrv12.exe”
“WinSAT.exe”
[표 3] 프로세스 강제 종료 대상 목록

3) 서비스 종료 대상
랜섬웨어는 백업 및 AV 제품 관련 서비스를 종료한다. 다음 [표 4]는 관련 대상 목록이다.

서비스 종료 대상
vss
sql
svc$
memtas
mepocs
sophos
backup
GxCIMgr
DefWatch
ccEvtMgr
ccSetMgr
SavRoam
RTVscan
QBFCService
QBIDPService
Intuit.QuickBooks.FCS
QBCFMonitorService
YooBackup
zhudongfangyu
stc_raw_agent
VSNAPVSS
VeeamTransportSvc
VeeamDeploymentService
VeeamNFSSvc
PDVFSService
BackupExecVSSProvider
BackupExecAgentAccelerator
BackupExecAgentBrowser
BackupExecDiveciMediaService
BackupExecJobEngine
BackupExecManagementService
BackupExecRPCService
AcrSch2Svc
AcronisAgent
CASAD2DWebSvc
CAARCUpdateSvc
[표 4] 서비스 종료 대상 목록

4) 볼륨 쉐도우 삭제, 윈도우 이벤트로그 중지, 윈도우 복구 비활성화

공격자는 vssadmin.exe와 같은 도구를 이용해 볼륨 섀도우 복사본 삭제 등의 행위를 수행하지만 아래와 같은 방식을 이용해 커맨드 라인 기반의 행위 탐지를 우회한다.
SUSPEND 모드로 각 프로세를 실행시키는데, 커맨드 라인 인자는 “11111111” 같이 쓰레기 값을 준다. 이후 해당 프로세스 메모리에서 PEB를 읽어와 RTL_USER_PROCESS_PARAMETERS 구조체를 구한 후 CommandLine 이 위치하는 주소를 획득한다.
마지막으로 해당 주소에 실제 커맨드 라인 인자를 WriteProcessMemory()를 이용해 다시 씀에 따라 vssadmin.exe와 같은 툴들은 새롭게 전달받은 인자를 이용해 정상적으로 행위를 수행할 수 있다.

[그림 2] 기존 커맨드 라인
[그림 3] 커맨드 라인 인자 변경
[그림 4] 변경된 커맨드 라인 인자
프로세스 실행 로그실제 커맨드 라인
vssadmin.exe 11111111111111111111111111
vssadmin.exe Delete Shadows /All /Quiet
bcdedit.exe 111111111111111111111111111111111
bcdedit.exe /set {default} recoveryenabled No
bcdedit.exe 1111111111111111111111111111111111111111111111111bcdedit.exe /set {default} bootstatuspolicy ignoreallfailures
wbadmin.exe 111111111111111111111111wbadmin.exe DELETE SYSTEMSTATEBACKUP
wbadmin.exe 11111111111111111111111111111111111111wbadmin.exe DELETE SYSTEMSTATEBACKUP -deleteOldest
wbadmin.exe 111111111111111111111wbadmin.exe delete catalog -quiet
wbadmin.exe 1111111111111wbadmin.exe delete backup
wbadmin.exe 1111111111111111111111111111111111111111wbadmin.exe delete systemstatebackup -keepversions:0
wevtutil.exe 111111111111111111111wevtutil.exe clear-log Application
wevtutil.exe 111111111111111111wevtutil.exe clear-log Security
wevtutil.exe 1111111111111111wevtutil.exe clear-log System
wevtutil.exe 111111111111111111111111111111wevtutil.exe clear-log “windows powershell”
wmic.exe 1111111111111111111111111wmic.exe SHADOWCOPY /nointeractive
net.exe 1111111111net.exe stop MSDTC
net.exe 1111111111111111111net.exe stop SQLSERVERAGENT
net.exe 1111111111111111net.exe stop MSSQLSERVER
net.exe 11111111net.exe stop stop vds
net.exe 11111111111111net.exe stop SQLWriter
net.exe 111111111111111net.exe stop SQLBrowser
net.exe 1111111111111111net.exe stop MSSQLSERVER
net.exe 1111111111111111111net.exe stop MSSQL$CONTOSO1
netsh.exe 1111111111111111111111111111111111111111netsh.exe advfirewall set currentprofile state off
netsh.exe 11111111111111111111111111111111netsh.exe firewall set opmode mode=disable
[표 5] 실제 실행된 커맨드라인
[그림 5] 표-5 프로세스 비정상 실행 탐지(안랩 EDR)
[그림 6] 실행 및 메모리에 쓴 데이터 탐지 화면(안랩 MDS)

안랩 EDR/MDS제품 군은 위와 같은 실행을 비정상적인 실행으로 판단하고 탐지한다. MDS제품은 대상 프로세스 메모리에 쓴 데이터까지 추가적으로 확인이 가능하다.

쓰여진 데이터
76 00 73 00 73 00 61 00 64 00 6d 00 69 00 6e 00 2e 00 65 00 78 00 65 00 20 00 44 00 65 00 6c 00 65 00 74 00 65 00 20 00 53 00 68 00 61 00 64 00 6f 00 77 00 73 00 20 00 2f 00 41 00 6c 00 6c 00 20 00 2f 00 51 00 75 00 69 00 65 00 74 00
상기 데이터가 의미하는 명령어
vssadmin.exe Delete Shadows /All /Quiet
[표 6] 메모리에 쓰여진 커맨드

5) 랜섬노트 및 파일 암호화 확장자
랜섬웨어는 암호화가 완료된 폴더마다 [그림 7]와 같은 랜섬노트 파일(_r_e_a_d_m_e.txt)을 생성한다.

[그림 7] 랜섬노트

또한 랜섬웨어는 파일을 암호화한 뒤 파일 확장자명을 “.s1s2s3[파일 암호화 개수]” 형태로 수정한다.

6) 랜섬웨어 자가삭제
랜섬웨어 행위가 종료되면 다음 명령어를 통해 자가 삭제를 시도한다.

자가삭제 명령
“C:\Windows\System32\cmd.exe” /c ping 127.0.0.1 -n 3 && del /f/q “C:\Users\Default\Desktop\msupdate64.exe”
[표 7] 자가삭제 명령
[그림 8] 자가삭제 명령 탐지(안랩 MDS)
[그림 9] 자가삭제 명령 탐지(안랩 EDR)

내부 전파(도메인 컨트롤러에 의한 랜섬웨어 유포 방식)

해당 랜섬웨어가 AD 서버의 도메인 컨트롤러에서 동작될 경우 [그림 9]과 같이 그룹정책을 생성하여 현재 도메인과 연결된 다른 PC에 랜섬웨어를 유포한다.

[그림 10] 도메인 컨트롤러에 의한 랜섬웨어 유포 방식

[표 8]은 랜섬웨어의 도메인 컨트롤러에 존재하는 실행 파일을 감염 대상 PC의 바탕화면 경로에 “[유포날짜]_[랜섬웨어 파일명].exe” 형식으로 복사 명령을 내리는 파일 관련 그룹 정책이다.

{D6C45CD3-BCB9-4D6C-A16C-FD416DAA1C47}\User\Preferences\Files\Files.xml
<?xml version=”1.0″ encoding=”utf-8″?>
<Files clsid=”{215B2E53-57CE-475c-80FE-9EEC14635851}”><File clsid=”{50BE44C8-567A-4ed1-B1D0-9234FE1F38AF}” name=”[유포날짜][랜섬웨어 파일명].exe” status=”[유포날짜][랜섬웨어 파일명].exe” image=”2″ changed=”[유포날짜]” uid=”{1F86D6A8-6640-47D8-A26B-E263CAECE394}” bypassErrors=”1″>
[표 8] 랜섬웨어 실행 파일 생성 그룹 정책
[그림 11] 그룹 정책으로 생성 된 랜섬웨어 실행 탐지 화면(안랩 EDR)

다크사이드 랜섬웨어는 재현 및 분석 방해를 위해 특정인자가 맞지 않으면 동작하지 않는다. 하지만 [그림 10]과 같이 안랩 EDR은 AD환경에서 그룹 정책으로 생성되는 랜섬웨어를 위와 같이 탐지하고 있으며, 실행 당시의 인자까지 확인이 가능하다.

지속적인 전파를 위해 아래와 같은 명령어로 그룹 정책을 배포한다.

파워쉘 명령어
 powershell.exe -Command “Get-ADComputer -filter * -Searchbase ‘DC=ahnlabs,DC=com’ | foreach{ Invoke-GPUpdate -computer $_.name -force -RandomDelayInMinutes 0}”
[표 9] 전파 명령어
[그림 12] 파워쉘을 이용한 그룹 정책 배포 탐지 화면(안랩 EDR)

금전을 목적으로 기업 AD환경을 대상으로 ATP 공격하는 공격자는 사용하는 악성코드를 기존 시그니처 기반의 AV제품의 탐지는 모두 확인하고 우회하여 유포한다.

[그림 13] VirusTotal 확인이 불가한 다크사이드 랜섬웨어

상기 [그림 13]와 같이 바이러스 토탈에 수집도 되지 않은 다크사이드 랜섬웨어는 기존 시그니처 기반의 AV들은 탐지하지 못할 가능성이 매우 크다.

이를 효과적으로 탐지하기 위해서는 APT 탐지 솔루션인 MDS나, EndPoint에서 모든 의심 행위를 기록/보고하는 EDR제품의 중요성이 부각된다.

[그림 14] 다크사이드 랜섬웨어 탐지화면(안랩 MDS)
[그림 15] 다크사이드 랜섬웨어 탐지화면(안랩 EDR)

다크사이드 랜섬웨어 공격은 MITRE ATT&CK 프레임워크에서 다음 Techniques에 해당한다.

  • T1486 Data Encrypted for Impact[1]
  • T1484.001 Domain Policy Modification: Group Policy Modification[2]
  • T1053.005 Scheduled Task/Job: Scheduled Task[3]
  • T1562.001 Impair Defenses: Disable or Modify Tools or T1489 Service Stop[4]
  • T1489 Service Stop[5]
  • T1021.002 Remote Services: SMB/Windows Admin Shares[6]
  • T1562.001 Impair Defenses: Disable or Modify Tools[7]

연관 IOC 및 관련 상세 분석 정보는 안랩의 차세대 위협 인텔리전스 플랫폼 ‘AhnLab TIP’ 구독 서비스를 통해 확인 가능하다.

Categories:안랩 탐지

Tagged as:,,,,,

5 1 vote
별점 주기
Subscribe
Notify of
guest

0 댓글
Inline Feedbacks
View all comments