Skip to content

새로운 랜섬웨어, 오래된 테크닉: 웜 기능을 탑재한 Petya

By Microsoft Korea Enterprise Blog Team on 6월 29, 2017

Filed under IT 리더

(이 글은 2017년 6월 27일에 TechNet Windows Security 블로그에 게시된 ” New ransomware, old techniques: Petya adds worm capabilities” 게시물을 한글로 번역한 것입니다. 원문은 여기에서 보실 수 있습니다.)

 

2017 년 6 월 27 일, 유럽 전역에 랜섬웨어 감염에 대한 보고가 퍼지기 시작했습니다. 마이크로소프트는 12,500 대가 넘는 장비가 우크라이나에서 처음으로 감염된 것을 발견했습니다. 더불어 벨기에, 브라질, 독일, 러시아 및 미국을 포함한 다른 64 개국에서 감염이 된 사실을 알게 되었습니다.

새로운 랜섬웨어에는 웜 기능이있어 감염된 네트워크에서 전파될 수 있습니다. 조사 결과에 따르면, 새로운 랜섬웨어는 Ransom:Win32/Petya의 변종이며 유사한 코드를 공유합니다. 그러나 새로운 랜섬웨어는 보다 정교합니다.

우리의 고객을 보호하기 위해, 마이크로소프트는 클라우드에서 제공하는 프로텍션 업데이트를 발표한 뒤, 즉시 시그니쳐 패키지에 업데이트를 적용했습니다. 이 업데이트는 Windows Defender Antivirus 및 Microsoft Security Essentials를 비롯한 모든 마이크로소프트의 무료 안티맬웨어 제품에 자동으로 제공됩니다. Malware Protection Center에서 이 파일의 최신 버전을 수동으로 다운로드 할 수 있습니다.

Windows Defender Advanced Threat Protection (Windows Defender ATP)는 별도 업데이트 없이 새로운 변종 랜섬웨어에서 사용되는 동작을 자동으로 감지합니다.

 

확산 및 설치

초기 감염은 세무 회계 소프트웨어 인 MEDOC을 개발 한 우크라이나 회사 인 M.E.Doc과 관련된 소프트웨어 공급망 위협과 관련이 있는 것으로 보입니다. 이 벡터는 뉴스 매체와 우크라이나의 사이버 경찰을 포함한 보안 연구자에 의해 추측되었지만, 정황상의 증거만 있었습니다. 마이크로소프트는 현재 랜섬웨어의 몇 가지 활성화된 감염이 처음에 합법적인 MEDOC 업데이터 프로세스에서 시작되었다는 증거를 가지고 있습니다. 이전에 강조했듯이, 소프트웨어 공급망에 대한 공격은 최근 공격자들과 마찬가지로 위험한 추세이며, 고급 방어가 필요합니다.

마이크로소프트는 6 월 27 일 화요일 GMT 오전 10시 30분 경, 이 정확한 공격 패턴과 일치하는 악의적인 명령 줄을 실행하는 MEDOC 소프트웨어 업데이터 프로세스 (EzVit.exe)를 보여주는 텔레메트리 정보를 발견했습니다.

랜섬웨어 설치로 이어지는 실행 체인은 아래 그림에 표시되어 있으며, 알려지지 않은 이유로 EzVit.exe 프로세스가 MEDoc에서 어떤 시점에 다음 명령 줄을 실행했음을 확인합니다.

C:\\Windows\\system32\\rundll32.exe\”\”C:\\ProgramData\\perfc.dat\”,#1 30

 

 

 

동일한 업데이트 벡터는 우크라이나 사이버 경찰이 MEDOC 업데이터가 포함 된 IOC(Indicator of compromise) 공개 목록에서도 언급되었습니다.

 

 

하나의 랜섬웨어, 다양한 확산 기술

이 새로운 랜섬웨어의 추가 측면 이동 기능을 감안할 때, 단 하나의 감염된 시스템이 전체 네트워크에 영향을 미칩니다. 랜섬웨어 확산 기능은 다음을 담당하는 여러 가지 방법으로 구성됩니다.

  • 자격 증명을 도용하거나 기존의 활성 세션을 다시 사용합니다.
  • 파일 공유를 사용하여 같은 네트워크상의 여러 컴퓨터에 악의적인 파일을 전송합니다.
  • 패치되지 않은 컴퓨터에서 페이로드를 실행하거나 SMB 취약성을 악용하기 위해 기존의 합법적 인 기능을 활용합니다.

 

다음 섹션에서는 각 방법에 대한 세부 사항을 설명합니다.

 

자격 도용 및 가장을 사용한 확산

이 랜섬웨어는 Mimikatz와 코드 유사성을 공유하고 32 비트 및 64 비트 변형으로 제공되는 자격 증명 덤프 도구(일반적으로는 %Temp% 폴더의 .tmp 파일)를 삭제합니다. 사용자는 로컬 관리자 권한이 있는 계정을 사용하여 자주 로그인하고 여러 컴퓨터에서 활성 세션을 열어 놓기 때문에 사용자가 다른 컴퓨터에서 동일한 수준의 액세스 권한을 제공 할 수 있습니다.

랜섬웨어가 유효한 자격 증명을 가지면 로컬 네트워크를 검색하여 포트 tcp/139tcp/445에 유효한 연결을 설정합니다. 도메인 컨트롤러 또는 서버에 특별한 동작이 예약되어 있습니다. 이 랜섬웨어는 DhcpEnumSubnets()를 호출하여 DHCP 서브넷을 열거합니다. 각 서브넷에 대해 tcp/139tcp/445 서비스를 검색하기 위해 모든 호스트/클라이언트(DhcpEnumSubnetClients() 사용)를 수집합니다. 응답을 받으면 맬웨어는 도용된 자격 증명으로 일반 파일 전송 기능을 사용하여 원격 컴퓨터에서 바이너리를 복사하려고 시도합니다.

그런 다음 PSEXEC 또는 WMIC 도구를 사용하여 멀웨어를 원격으로 실행하려고 시도합니다.

랜섬웨어는 맬웨어 내의 임베디드 리소스에서 합법적인 psexec.exe (일반적으로 dllhost.dat로 이름이 바뀜)를 삭제하려고 시도합니다. 그런 다음 로컬 네트워크에서 admin$ 공유를 검색하고 네트워크를 통해 자신을 복사 한 다음 PSEXEC을 사용하여 새로 복사한 맬웨어 바이너리를 원격으로 실행합니다.

자격 증명 덤프 외에 맬웨어는 CredEnumerateW 함수를 사용하여 자격 증명 저장소에 잠재적으로 저장되어있는 다른 모든 사용자 자격 증명을 가져 와서 자격 증명을 도용하려고합니다. 크레덴셜 이름이 “TERMSRV/”로 시작되고 유형이 1(제네릭 generic)으로 설정된 경우 해당 크레덴셜을 사용하여 네트워크를 통해 전파됩니다.

다른 컴퓨터에서 \\Admin$ 공유에 액세스하는 랜섬웨어 코드

 

또한 이 랜섬웨어는 WMIC (Windows Management Instrumentation Command-line)을 사용하여 NetEnum/NetAdd 이용) 원격 공유를 찾아 전파합니다. 현재 사용자의 복제 토큰 (기존 연결의 경우) 또는 사용자 이름 / 비밀번호 조합 (적법한 도구를 통해 확산됨)을 사용합니다.

 

WMIC를 사용하여 원격 컴퓨터에서 맬웨어를 실행하는 스크린 샷

 

EternalBlue 및 EternalRomance를 사용한 확산

새로운 랜섬웨어는 SMB (Server Message Block) 취약성 CVE-2017-0144 (EternalBlue라고도 함)을 통해 확산될 수 있스니다. 이 취약성은 보안 업데이트 MS17-010에서 수정되었으며, 구형 머신들에 대해 WannaCrypt가 퍼져나가게 되었던 것과 연관이 있습니다. 또한 새로운 랜섬웨어는 두 번째 취약점인 CVE-2017-0145 (EternalRomance라고도 함) 역시 이용합니다.

악성 프로그램 코드의 다음 주소에서 이러한 취약점을 유발하는 SMBv1 패킷 (모두 XOR 0xCC로 암호화 됨)을 생성하여 악용하려는 시도를 확인할 수 있었습니다.

 

이 두 가지 공격은 Shadow Brokers라는 그룹에 의해 유출되었습니다. 그러나 이 두 가지 취약점은 모두 2017 년 3 월 14 일자 보안 업데이트 MS17-010에서 마이크로소프트에 의해 수정되었음을 유의해야 합니다.

이 악용 사례(보안 업데이트 MS17-010 포함)에 대해 패치를 적용하거나 SMBv1을 해제한 시스템은 이러한 특정 확산 메커니즘의 영향을 받지 않습니다. 이러한 악용에 대한 자세한 내용과 최신 Windows 10 완화가 유사한 위협 요소를 포함하는 방법에 대한 자세한 내용은 이전 블로그를 참조하십시오.

 

암호화

이 랜섬웨어의 암호화 동작은 맬웨어 프로세스 권한 수준과 컴퓨터에서 실행중인 것으로 확인된 프로세스에 따라 상이합니다. 프로세스 이름에 간단한 XOR 기반 해시 알고리즘을 적용하고 다음 해시 값을 검사하여 동작 제외로 사용합니다.

  • 0x6403527E 또는 0x651B3005 – 시스템에서 실행중인 프로세스 이름의 해시가 발견되면 랜섬웨어는 MBR을 감염시키지 않습니다

  • 0x2E214B44 – 이 해시값을 가진 이름의 프로세스가 발견되면, 랜섬웨어는 SMBv1 취약점을 악용하려는 것과 같은 네트워크 관련 작업을 수행하지 않습니다.

그리고 이 랜섬웨어는 마스터 부트 레코드 (MBR)에 기록한 다음 재부팅하도록 시스템을 설정합니다. 현재 시간보다 적어도 10 분 후에 컴퓨터를 종료하는 예약 된 작업을 설정합니다. 정확한 시간은 무작위입니다 (GetTickCount ()). 예를 들면:

schtasks / Create / SC once / TN “”/ TR “<시스템 폴더> \ shutdown.exe / r / f”/ ST 14:23

MBR을 성공적으로 수정 한 후 다음과 같은 가짜 시스템 메시지를 표시합니다. 이 메시지는 드라이브에 가정된 오류를 기록하고 가짜 무결성 검사를 보여줍니다.

그런 다음이 몸값을 표시합니다.

맬웨어가 가장 높은 권한 (예: SeDebugPrivilege 사용)으로 실행중인 경우에만, MBR 코드를 덮어 씁니다.

이 랜섬웨어는 C:\Windows를 제외한 모든 고정 드라이브의 모든 폴더에서 다음 파일 이름 확장명을 가진 모든 파일을 암호화하려고 시도합니다.

.3ds      .7z      .accdb   .ai

.asp      .aspx    .avhd    .back

.bak      .c         .cfg      .conf

.cpp     .cs       .ctl       .dbf

.disk     .djvu     .doc     .docx

.dwg     .eml     .fdb      .gz

.h        .hdd     .kdbx    .mail

.mdb    .msg     .nrg      .ora

.ost      .ova     .ovf      .pdf

.php     .pmf     .ppt      .pptx

.pst      .pvi      .py       .pyc

.rar       .rtf       .sln      .sql

.tar       .vbox    .vbs      .vcb

.vdi      .vfd      .vmc     .vmdk

.vmsd   .vmx     .vsdx     .vsv

.work    .xls       .xlsx      .xvd

.zip

이 랜섬웨어는 일반적인 ReadFile() / WriteFile() API 대신 파일 매핑 API를 사용합니다.

대부분의 다른 랜섬웨어와 달리, 이 랜섬웨어는 암호화 된 파일에 새로운 파일 이름 확장명을 추가하지 않습니다. 대신, 이 파일을 덮어 씁니다.

암호화를 위해 생성 된 AES 키는 고정 드라이브 당 컴퓨터별로 생성되며 공격자의 내장된 2048 비트 RSA 공개 키를 사용하여 내보내고 암호화됩니다.

임베디드 RSA 공개 키

컴퓨터 당 고정 드라이브 당 AES 128 비트 키를 내보내고 내보내기 중에 내장 된 RSA 공개 키를 사용하여 암호화합니다.

 

파일 암호화 (AES)에 사용 된 고유 키는 “Your personal installation key:”. 섹션에서 위협이 기록하는 README.TXT 파일에 암호화 된 형식으로 추가됩니다.

파일을 암호화하는 것 외에, 이 랜섬웨어는 MBR과 VBR의 첫 번째 섹터를 덮어 쓰려고 시도합니다. 맬웨어가 SeShutdownPrivilege 또는 SeDebugPrivilege 또는 SeTcbPrivilege 권한으로 실행되면 피해자의 컴퓨터의 MBR을 덮어 씁니다. 다음 코드 스냅샷에 설명 된대로 drive0\\\\. \\PhysicalDrive0에 직접 액세스합니다.

MBR 수도pseudo 코드 덮어 쓰기 :

VBR의 첫 번째 섹터 덮어 쓰기 :

암호화 루틴을 완료 한 후, 이 랜섬웨어는 각 고정 드라이브에 README.TXT라는 텍스트 파일을 삭제합니다. 이 파일의 텍스트는 다음과 같습니다.

 

또한 이 랜섬웨어는 시스템, 설치, 보안, 응용 프로그램 이벤트 로그를 지우고 NTFS 저널 정보를 삭제합니다.

 

Windows Defender 고급 위협 요소 방지를 통한 탐지 및 조사

Windows Defender Advanced Threat Protection (Windows Defender ATP)는 사후 보안 솔루션으로 시그니쳐 업데이트 없이 이 공격에 대한 설계별 탐지 기능을 제공합니다. Windows Defender ATP 센서는 엔드포인트에서 원격 측정을 지속적으로 모니터링하고 수집하며, 이 랜섬웨어에서 사용되는 일반적인 측면 이동 기술 및 도구에 대한 머신러닝 감지 기능을 제공합니다. 예를 들면,  PsExec.exe를 다른 파일 이름으로 실행하거나 원격 공유(UNC) 경로에서의 perfc.dat 파일 생성 등이 이에 해당합니다.

오늘날 추가 업데이트가 필요없는 감염된 시스템은 다음과 같이 보일 수 있습니다.

두 번째 경고는 네트워크를 통해 랜섬웨어의 .dll 파일 배포를 대상으로합니다. 이 이벤트는 파일을 원격으로 이동하는 데 사용된 사용자 컨텍스트를 포함하므로 조사 중에 유용한 정보를 제공합니다. 이 사용자는 공격당했으며 환자 0 (patient-zero, 첫번째 피해자)과 관련된 사용자를 나타낼 수 있습니다.

 

Windows Defender ATP를 사용하면 기업 고객은 Petya 발발 상황을 즉각 파악하고, 공격 범위를 조사하며, 맬웨어의 공격에 신속하게 대응할 수 있습니다.

 

새로운 랜섬웨어 공격에 대한 보호

Windows 10을 최신 상태로 유지하면 최신 버전의 Windows에 내장된 최신 기능과 사전 예방책의 혜택을 누릴 수 있습니다. Creators Update에서는 새 차세대 기술을 도입하고 기존 차세대 기술을 강화하여 Windows 10을 랜섬웨어 공격으로부터 더욱 강화했습니다.

또 다른 보호 방법인 Windows 10 S는 Windows 스토어에서 제공하는 어플리케이션만 실행할 수 있습니다. Windows 10 S 사용자는 이러한 위협으로부터 더욱 안전하게 보호됩니다.

보안 업데이트 MS17-010을 설치하지 않은 고객께서는 가능한 한 빨리 해당 업데이트를 진행하십시오. 더불어 마이크로소프트는 패치를 적용 할 때까지 공격 표면을 줄이기위한 두 가지 가능한 해결 방법을 권장합니다.

위협이 포트 139 및 445를 대상으로 함에 따라, 고객은 해당 포트의 모든 트래픽을 차단하여 네트워크의 시스템 내외부로 전파되는 것을 방지 할 수 있습니다. 더불어 원격 WMI 및 파일 공유를 비활성화 할 수도 있습니다. 이는 네트워크 성능에 큰 영향을 줄 수 있지만 영향을 평가하고 정의 업데이트를 적용하는 동안 매우 짧은 기간 동안 제안 될 수 있습니다.

Windows Defender Antivirus는이 위협을 1.247.197.0 업데이트에 따라 Ransom:Win32/Petya로 감지합니다. Windows Defender Antivirus는 클라우드 기반 보호 기능을 사용하므로, 최신 위협으로부터 사용자를 보호할 수 있습니다.

기업의 경우 Device Guard를 사용하여 장치를 락다운하고 커널 수준의 가상화 기반 보안을 제공하여 신뢰할 수있는 응용 프로그램만 실행할 수 있게 할 경우, 맬웨어의 구동을 방지할 수 있습니다.

Windows Defender Advanced Threat Protection을 이용하여 네트워크를 모니터링 하십시오. WDATP는 의심스러운 활동에 대해 보안 오퍼레이션 팀에 알리는 역할을 수행합니다. 이 플레이북을 다운받으시고, WDATP를 통해 네트워크의 랜섬웨어를 감지하고, 조사하고, 피해를 방지할 수 있도록 하십시오: Windows Defender Advanced Threat Protection – Ransomware response playbook.

 

관련 자료

Windows 10 Creators Update를 통한 차세대 랜섬웨어 보호 방법: https://blogs.technet.microsoft.com/mmpc/2017/06/08/windows-10-creators-update-hardens-security-with-next-gen-defense/

영문 보안 업데이트 다운로드: Windows Server 2003 SP2 x64, Windows Server 2003 SP2 x86, Windows XP SP2 x64, Windows XP SP3 x86, Windows XP Embedded SP3 x86, Windows 8 x86, Windows 8 x64

로컬 언어 보안 업데이트 다운로드: Windows Server 2003 SP2 x64, Windows Server 2003 SP2 x86, Windows XP SP2 x64, Windows XP SP3 x86, Windows XP Embedded SP3 x86, Windows 8 x86, Windows 8 x64

MS17-010 보안 업데이트: https://technet.microsoft.com/en-us/library/security/ms17-010.aspx

랜섬웨어에 대한 일반적인 정보: https://www.microsoft.com/en-us/security/portal/mmpc/shared/ransomware.aspx

 

침해당했음을 보여주는 지표

네트워크 디펜더가 다음의 지표를 포함할 경우:

파일 지표

  • 34f917aaba5684fbe56d3c57d48ef2a1aa7cf06d
  • 9717cfdc2d023812dbc84a941674eb23a2a8ef06
  • 38e2855e11e353cedf9a8a4f2f2747f1c5c07fcf
  • 56c03d8e43f50568741704aee482704a4f5005ad

명령문

커맨드라인 로깅이 가능한 환경일 경우, 아래의 커맨드 라인이 발견될 수 있습니다:

  • 재부팅 일정 :  Petya 는 현재로부터 10분부터 60분 사이의 시간에 재부팅을 설정합니다.
    • schtasks /Create /SC once /TN “” /TR “<system folder>\shutdown.exe /r /f” /ST <time>
    • cmd.exe /c schtasks /RU “SYSTEM” /Create /SC once /TN “” /TR “C:\Windows\system32\shutdown.exe /r /f” /ST <time>

이는 EventId 106 (일반 태스크 등록)를 검색함으로써 발견할 수 있습니다. EventId 106 는 태스크 일정 서비스에 등록된 바를 통해 확인할 수 있습니다.

  • 확산 Lateral Movement (원격 WMI)
    • “process call create \”C:\\Windows\\System32\\rundll32.exe \\\”C:\\Windows\\perfc.dat\\\” #1”

네트워크 지표

NetFlow데이터가 가능한 환경에서, 이 랜섬웨어의 서브넷 스캐닝 행동이 아래의 정보를 통해 감지될 수 있습니다:

  • 로컬 네트워크 영역(/24)에서의 워크스테이션 스캐닝 포트 tcp/139 와 tcp/445
  • /24 영역에서의 서버 스캐닝 포트(특히 도메인 컨트롤러) tcp/139 와 tcp/445

 

 

Useful Links

문의하기