Take a Product Tour Request a Demo Cybersecurity Assessment Contact Us

Stories

The latest cybersecurity trends, best practices,
security vulnerabilities, and more

가짜 랜섬웨어의 귀환

우크라이나를 대상으로 한 '랜섬웨어' 캠페인에 대한 최근 뉴스 보도와 관련하여 귀속 요인뿐만 아니라 가능한 동기에 대해서도 상당한 언론 보도가 뒤따랐습니다. Unlike traditional ransomware campaigns where the motive is obvious, this particular campaign is believed to be pseudo in nature1. 다시 말해서, 단계 4의 와이퍼는 단순히 피해자 시스템의 데이터를 덮어써서 암호 해독이 불가능하므로 감염된 시스템을 파괴하는 것이 그 의도일 가능성이 있습니다. 이 캠페인이 주로 한 국가를 대상으로 하는 동안 Trellix Advanced Threat Research 팀은 다른 국가에서 발견된 지표를 강조하는 위협을 추적하기 위해 MVISION Insights 캠페인을 게시했습니다. (추가 세부 정보)

출처: Insights 미리 보기

따라서 당사는 조직이 위협으로부터 보호하고 탐지하는 데 필요한 제어 기능을 보안 포스처에 포함할 것을 적극 권장합니다. Indicators of Compromise for active hunting are available within the preview, and we have incorporated all known indicators into our products. 또한 이 공격에 대한 새로운 요소가 발생하면 이를 식별할 수 있도록 계속 작업하고 있습니다.

캠페인 세부 정보

첫 번째 샘플과 지표는 UTC 시간으로 1월 13일 목요일 오후 늦게 보고되었으며, 이는 우크라이나 시간으로 약 오전 1시 이후입니다.

The attack consists of three stages, as can be seen below.

그림 1: 공격 흐름

단계 1: MBR을 덮어쓰고 모든 파티션 파괴하기
검색된 초기 파일은 다음과 같습니다.

파일 이름 Stage1.exe
컴파일 시간 01-10-2022 10:37:18
SHA1 189166d382c73c242ba45889d57980548d4ba37e
SHA256 a196c6b8ffcb97ffb276d04f354696e2391311db3841ae16c8c9f56f36a38e92
MD5 5d5c99a08a7d927346ca2dafa7973fc1

단계 2: Discord에서 호스트하는 CDN을 통해 단계 3 다운로드

파일 이름 Stage2.exe(원래 이름 Tbopbh.exe)
컴파일 시간 01-10-2022 14:39:54
SHA1 16525cb2fd86dce842107eb1ba6174b23f188537
SHA256 dcbbae5a1c61dbbbb7dcd6dc5dd1eb1169f5329958d38b58c3fd9384081c9b78
MD5 14c8482f302b5e81e3fa1b18a509289d

단계 3: 파일 와이퍼 실행

파일 이름 Frkmlkdkdubkznbkmcf.dll
SHA1 82d29b52e35e7938e7ee610c04ea9daaf5e08e90
SHA256 9ef7dbd3da51332a78eff19146d21c82957821e464e8133e9594a07d716d892d
MD5 e61518ae9454a563b8f842286bbdb87b

두 실행 파일의 파일 경로는 'C:\'였습니다. 사족을 제외하면 파일 이름은 실제로 이와 같습니다.

두 파일 모두 샘플 분석 중에 관찰한 것처럼 파괴적인 특성이 있습니다.

단계 1 - Master Boot Record 재작성

첫 번째 단계인 'Stage1.exe'로 시작하면, 실행 후 스스로를 랜섬웨어로 규정하여 MBR(Master Boot Record)을 덮어씁니다. 가상 시스템에서 맬웨어를 실행하고 시스템을 재부팅하면 다음 노트가 나타납니다.

대부분의 랜섬웨어 노트와 마찬가지로 일반적인 언어로 되어 있습니다. 즉, 기기가 암호화되었고 파일이 인질로 잡혀 있다는 알림과 함께 요청 금액을 요청한 통화로 보낼 수 있는 지급 주소가 있습니다. 이 경우 드문 일이지만 TOX ID가 포함됩니다. TOX는 피어 투 피어 연결을 통해 암호화된 엔드 투 엔드 채팅에 사용됩니다.

서로 다른 변형 내용이 분석되었지만 금액과 BTC 주소는 동일하게 유지되었고, 대부분의 Ransomware-as-a-Service 작전에서는 비트 믹서를 사용하여 트랜잭션을 난독화합니다.

코드를 분석한 결과 볼륨 섀도 복사본을 삭제하거나 맬웨어 제거 및/또는 복원 작업에 자주 사용되는 복구 모드 부트 프로세스를 차단하는 코드는 관찰되지 않았습니다. 대부분의 랜섬웨어 샘플에서 이러한 단계는 매우 일반적입니다.

아래의 코드 스니펫에서, 맬웨어는 MBR이 상주하는 물리적 드라이브에 액세스한 후 해당 MBR을 덮어씁니다.

단계 2 - Discord 다운로더

The ‘Stage2’ file is using an icon that resembles the icon of the proxy client “Proxifier”. 작성자는 인증서로 샘플에 서명하고 자신을 운영 체제에 속한 Microsoft 이진으로 가장하여 탐지를 회피하려고 했습니다. 파일에 첨부된 메타데이터는 아래의 스크린샷에서 볼 수 있듯이 러시아어입니다. 아래의 스크린샷 24~25줄에서 볼 수 있듯이 어셈블리 설명과 제목은 모두 'Проводник'(또는 영어로 'Conductor')와 같습니다.

stage2가 실행되면 다음과 같이 인코딩된 PowerShell 명령이 실행됩니다.

powershell.exe" -enc UwB0AGEAcgB0AC0AUwBsAGUAZQBwACAALQBzACAAMQAwAA==

base64로 인코딩된 명령이 디코딩되면 실제 명령이 나타납니다. 실행 지연을 위한 10초 sleep:

Powershell.exe Start-Sleep -s 10

그런 다음 맬웨어는 Discord CDN 서버에서 'Tbopbh.jpg'라는 파일을 다운로드합니다.

hxxps://cdn[.]discordapp[.]com/attachments/928503440139771947/930108637681184768/Tbopbh[.]jpg

파일 이름 Tbobph.jpg
SHA1 b2d863fc444b99c479859ad7f012b840f896172e
SHA256 923eb77b3c9e11d6c56052318c119c1a22d11ab71675e6b95d05eeb73d1accd6
MD5 b3370eb3c5ef6c536195b3bea0120929

이 파일은 이미지가 아니라 반전된 PE 파일입니다. 호출하기 전에 데이터가 순서대로 반전됩니다. 아래의 스니펫에서 볼 수 있듯이 이 파일은 단계 3의 시작점이 반사적으로 호출되는 DotNet Framework 기반 DLL입니다.

세 번째 단계의 정적 함수는 이름이 'Ylfwdwgmpilzyaph'이며, 'ClassLibrary1.Main'에 각각 네임스페이스와 클래스로 상주합니다. 이 함수는 인수를 사용하지 않으며 값을 반환하지도 않습니다.

단계 3 - 재사용된 로더

파일 이름 Frkmlkdkdubkznbkmcf.dll
SHA1 82d29b52e35e7938e7ee610c04ea9daaf5e08e90
SHA256 9ef7dbd3da51332a78eff19146d21c82957821e464e8133e9594a07d716d892d
MD5 e61518ae9454a563b8f842286bbdb87b

이 단계는 또한 이전 단계의 반사적 호출에서 파생될 수 있는 DotNet Framework 이진입니다. 사용된 로더는 좀 더 일반적이며, 상용 맬웨어를 퍼뜨리는 데 일반적으로 사용됩니다. As described in this recent Twitter thread, the xClient RAT was also distributed via this loader family.

이 로더는 실행 중에 여러 프로세스를 시작한 후 프로세스 할로잉을 사용하여 단계 4를 주입 및 실행합니다. 처음에 로더는 관리 권한이 있는지 확인합니다. 없으면 해당 권한을 요청하는 동안 프로세스가 다시 시작됩니다.

The first process it starts, is a file it drops to “%temp%\Nmddfrqqrbyjeygggda.vbs”. 아래에서 볼 수 있듯이 이 파일의 내용은 적은 편입니다.

CreateObject("WScript.Shell").Run "powershell Set-MpPreference -ExclusionPath 'C:\'", 0, False

이는 Windows Defender의 감시 범위에서 'C:\'를 제외합니다. 위에서 언급했듯이 처음 두 단계는 모두 정확히 이 위치에 있었습니다. 즉, 제외가 제자리에 있으면 Defender에서 스캔할 때 탐지되지 않습니다.

The two processes that are started after that, utilise the same tool to execute commands: AdvancedRun by Nir Sofer. 사용된 버전(1.2.2.6, 2020년 8월 3일 월요일 오전 5:45:51 Nir Sofer에 의해 서명됨)은 이 맬웨어에 의해 남용되는 합법적인 실행 파일입니다.

AdvancedRun의 첫 번째 실행은 보이지 않는 창을 사용하여 Defender를 중지하는 데 사용됩니다.

%temp%\AdvancedRun.exe /EXEFilename "C:\Windows\System32\sc.exe" /WindowState 0 /CommandLine "stop WinDefend" /StartDirectory "" /RunAs 8 /Run

AdvancedRun의 두 번째 실행은 시스템에서 Defender의 파일을 완전히 제거하는 데 사용됩니다.

%temp%\AdvancedRun.exe /EXEFilename "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" /WindowState 0 /CommandLine "rmdir 'C:\ProgramData\Microsoft\Windows Defender' -Recurse" /StartDirectory "" /RunAs 8 /Run

그런 다음 로더는 DotNet Framework 내부의 상호 운용성 기능을 사용하여, 관리되는 컨텍스트에서 관리되지 않는 코드를 실행합니다. 아래의 함수 목록은 분명한 순서 없이 어떤 관리되지 않는 함수가 사용되었는지를 보여줍니다. 이러한 파일의 이름은 로더에서 base64로 인코딩됩니다.

  • ResumeThread
  • Wow64SetThreadContext
  • SetThreadContext
  • GetThreadContext
  • VirtualAllocEx
  • WriteProcessMemory
  • ZwUnmapViewOfSection
  • CreateProcessA
  • CloseHandle
  • ReadProcessMemory

이러한 함수 호출은 프로세스 주입의 사용을 나타냅니다. 이를 기반으로 네 번째 단계를 덤핑할 수 있으며 해당 분석은 아래에서 확인할 수 있습니다.

단계 4 - 와이퍼

파일 이름 -
SHA1 8be3c66aecd425f1f123aadc95830de49d1851b5
SHA256 191ca4833351e2e82cb080a42c4848cfbc4b1f3e97250f2700eff4e97cf72019
MD5 343fcded2aaf874342c557d3d5e5870d

와이퍼는 C로 작성되었으며 기호나 기타 디버그 정보를 포함하지 않습니다. 기본 함수는 몇 가지 노트와 함께 아래에 나와 있습니다.

맬웨어는 모든 드라이브를 반복하고, 다음 191개 확장과 일치하는 모든 파일을 지웁니다.

.HTML, .HTM, .SHTML, .XHTML, .PHTML, .PHP, .JSP, .ASP, .PHPS, .PHP5, .ASPX, .PHP4, .PHP6, .PHP7, .PHP3, .DOC, .DOCX, .XLS, .XLSX, .PPT, PPTX, .PST, .OST, .MSG, .EML, .VSD, .VSDX, .TXT, .CSV, .RTF, .WKS, .WK1, .PDF, .DWG, .ONETOC2, .SNT, .JPEG, .JPG, .DOCB, .DOCM, .DOT, .DOTM, .DOTX, .XLSM, .XLSB, .XLW, .XLT, .XLM, .XLC, .XLTX, .XLTM, .PPTM, .POT, .PPS, .PPSM, .PPSX, .PPAM, .POTM, .EDB, .HWP, .602, .SXI, .STI, .SLDX, .SLDM, .BMP, .PNG, .GIF, .RAW, .CGM, .SLN, .TIF, .TIFF, .NEF, .PSD, .AI, .SVG, .DJVU, .SH, .CLASS, .JAR, .BRD, .SCH, .DCH, .DIP, .PL, .VB, .VBS, .PS1, .BAT, .CMD, .JS, .ASM, .H, .PAS, .CPP, .C, .CS, .SUO, .ASC, .LAY6, .LAY, .MML, .SXM, .OTG, .ODG, .UOP, .STD, .SXD, .OTP, .ODP, .WB2, .SLK, .DIF, .STC, .SXC, .OTS, .ODS, .3DM, .MAX, .3DS, .UOT, .STW, .SXW, .OTT, .ODT, .PEM, .P12, .CSR, .CRT, .KEY, .PFX, .DER, .OGG, .RB, .GO, .JAVA, .INC, .WAR, .PY, .KDBX, .INI, .YML, .PPK, .LOG, .VDI, .VMDK, .VHD, .HDD, .NVRAM, .VMSD, .VMSN, .VMSS, .VMTM, .VMX, .VMXF, .VSWP, .VMTX, .VMEM, .MDF, .IBD, .MYI, .MYD, .FRM, .SAV, .ODB, .DBF, .DB, .MDB, .ACCDB, .SQL, .SQLITEDB, .SQLITE3, .LDF, .SQ3, .ARC, .PAQ, .BZ2, .TBK, .BAK, .TAR, .TGZ, .GZ, .7Z, .RAR, .ZIP, .BACKUP, .ISO, .VCD, .BZ, .CONFIG

안전 삭제 프로세스는 아래의 다이어그램에 나와 있습니다.

이름 제외 목록에는 '.', '..', '$RECYCLE.BIN' 또는 'HOMEDRIVE'라는 환경 변수와 같은 파일 이름이 포함됩니다.

너무 긴 파일 이름은 디스크 지정자를 사용하여 제대로 처리할 수 없으므로 다른 접근 방식을 취해야 합니다. Microsoft’s documentation describes all scenarios clearly, including the how and why.

안전 삭제가 완료되면 기본 함수 내의 두 번째 함수가 호출되는데, 이는 지정된 명령의 비동기 실행을 보장하며 자체 프로세스가 종료되면 해당 시점에서 더 이상 사용되지 않는 와이퍼의 파일이 삭제됩니다. 코드는 다음과 같습니다.

모듈 이름이 명령에 복사되며, 이 명령은 최소화된 창을 실행하여 각 요청 사이에 10밀리초의 대기 시간으로 핑 요청을 '111.111.111.111'에 5번 일으킵니다. 명령의 출력은 'Nul'로 전송되어 출력이 숨겨집니다. 또한 와이퍼에 대한 경로가 인수로 사용되어 디스크에서 강제로 조용히 삭제됩니다. 프로그램이 계속 실행 중이면 실패할 것이므로 핑 명령이 먼저 실행됩니다. 아래 스크린샷의 함수는 지정된 명령을 실행하고 모든 핸들을 닫습니다.

마지막으로 EWX_SHUTDOWN을 플래그로 사용하며 ExitWindowsEx가 호출되어, 모든 파일 버퍼가 디스크로 플러시되었는지 확인합니다. 지정된 종료 이유는 네트워크 연결과 관련이 있습니다.

MITRE 기법
T1059.001 PowerShell PowerShell을 사용하여 Discord에서 파일을 다운로드하고 실행합니다.
T1485 Data Destruction MBR 안전 삭제 및/또는 파일 덮어쓰기로 손상시키기
T1059.005 Visual Basic Stage3이 Wscript init으로 vbs를 실행합니다.
T1562.004 Disable or Modify System firewall Stage3이 Defender를 비활성화합니다.
T1112 Modify Registry 도구 비활성화를 위해 레지스트리 설정이 변경되었습니다.
T1105 인그레스 도구 전송 Stage1.exe 및 stage2.exe와 같은 파일이 네트워크를 통해 전송되었습니다.

방어 지침

위협 인텔리전스

MVISION Insights는 이 캠페인과 관련된 IOC 및 관련 탐지(환경에 있는 경우)에 대한 조기 가시성을 제공합니다.

MVISION Insights는 또한 ENS 탐지를 캠페인과 매칭하고 실행 흐름을 보여주기 위한 프로세스 추적 정보를 제공하여 환경 내에 파고드는 징후를 제공합니다.

ENS AMCore 정의가 최신 상태이고 GTI 및 실제 보호가 활성화되어 있는지 확인하십시오.

그림 2: stage1과 2의 트리거된 ENS 탐지

MVISION EDR은 다음과 같이 프로세스 실행에 대한 완전한 가시성을 제공합니다.

여기에서 두 번째 단계 페이로드에 대한 통신 흐름과 PowerShell 스크립트 실행의 의도를 확인할 수 있습니다.

위협 탐지에서 조사를 만들면 PowerShell, cmd 같은 듀얼 인텔 도구를 사용하여 OS 명령을 실행하고 시스템을 변경하고 추가 페이로드를 다운로드하는 것을 볼 수 있습니다.


1 https://www.helpnetsecurity.com/2017/08/14/pseudo-ransomware/

최신 버전 확인

사이버 보안에 대해서는 이미 전문가지만 새로운 기업으로 다시 태어났습니다.
Trellix의 발전하는 모습을 놓치지 말고 지켜봐 주시기 바랍니다.

올바른 전자 메일 주소를 입력하십시오.
스팸은 하나도 없습니다. 언제든지 구독을 취소하실 수 있습니다.