HAURI

전체메뉴 열기

Security issues analysis

주의해야 할 보안위협요소에 대한 분석자료 제공

보안이슈 분석

[긴급]유럽을 강타한 변종 Petya 랜섬웨어 국내 확산 주의!
등록일 :
2017.06.27

개요


WannaCry 랜섬웨어 유포방식과 동일하게 전파되는 Petya 랜섬웨어 변종이 유포되고 있다. 금번에 발견된 랜섬웨어는 Microsoft Windows SMB 원격 임의 코드 실행 취약점(CVE-2017-0144)으로 공격자가 SMBv1 서버로 특수 제작한 패킷을 보내면 대상 서버에서 임의의 코드를 실행 시킬 수 있다. 해당 취약점은 2017314일 마이크로소프트에서 보안 업데이트(MS17-10)가 발표되었으나 현재 해당 업데이트가 적용되지 않은 시스템을 대상으로 랜섬웨어가 확산되고 있다.

내용

Petya 랜섬웨어는 다른 랜섬웨어와 다르게 하드디스크의 MFT(Master File Table) 영역을 암호화하며 MBR(Master Boot Record) 영역을 변조하여 부팅을 불가능하게 만들고 금전을 요구한다.

 

 

[그림 1] 감염 후 재부팅   

 

 

[그림 2] Petya의 감염화면 

 

​이번 변종 Petya는 ​크게 3가지의 악성 행위를 동시에 수행한다.

 

A. MBR 감염

악성 행위를 수행하기 전 중복 감염 여부를 확인하기 위해 특정 파일이 존재하는지 확인한다. 파일이 존재할 경우 이미 감염되었다고 판단해 악성 행위를 수행하지 않고 종료되지만 존재하지 않을 경우 파일을 생성한다.

 

[그림 3] 특정 파일 존재 여부 확인

 

이번 Petya 변종 또한 기존의 Petya와 같이 MBR을 덮어써 부팅을 불가능하게 한다. 감염 루틴은 먼저 MBR코드를 가져오고 난 후 부팅 과정을 대체할 랜섬노트의 코드를 MBR에 기록한다.  

 

[그림 4] MBR 기록 루틴

[그림 5] 변경된 MBR

 

이후 메모리에 적재된 원본 MBR 코드를 0x07 값으로 XOR연산을 수행해 인코딩 한다. 원본 코드가 저장되는 위치는 0x4400이며 저장된 코드를 디코딩 해 원본 MBR을 복구할 수 있다.​  

 

[그림 6] 메모리에 적재 된 MBR을 암호화 하는 루틴

 

 

B. SMB 취약점과 공유 폴더 접근을 통한 악성코드 유포

(1) 공유 폴더 접근을 통한 악성코드 유포

위의 SMB 취약점을 통한 유포 공격과 더불어 공유 폴더와 WMIC를 이용한 내부 전파 기능이 확인되었다. 이 랜섬웨어는 내부 전파기능을 사용하기 위해 먼저 자신의 리소스에 저장된 #mimikatz 모듈을 복호화 한 뒤 %temp% 디렉토리 내에 저장한다.

#. Mimikatz는 관리자 권한을 통해 시스템 정보와 계정 정보를 탈취할 수 있는 모듈이다.


[그림 7] mimikatz 복호화 및 저장

 

이후 생성한 파일을 실행하며 실행 인자로 파이프 이름을 넘겨준다. 두 프로세스는 이 파이프를 통해 탈취한 계정에 대한 정보를 전달받게 된다.



[그림 8] 파이프 이름을 인자로 실행


  

[그림 9] 파이프 생성 및 데이터 전달

  

해당 루틴은 공유 폴더에 접근해 자기 자신을 복제하고 WMIC 명령어를 이용해 자기 자신을 원격 실행하도록 명령하여 전파를 시도한다.  

 


[그림 10] 공유 폴더 접근 시도



[그림 11] 공유 폴더에 복제한 자신을 WIMC를 이용해 원격 실행

 

WMIC가 아닌 PsExec를 통해 실행 명령을 내리는 루틴도 존재하는데, PsExec는 Sysinternals의 프로그램 중 하나로 원격 시스템에 명령을 내릴 수 있는 도구이다. PsExec도 Mimikatz와 같이 Resource영역에 존재하며 zlib를 통해 압축을 해제하고 실행 파일로 생성된다.

 

[그림 12] PsExec 파일을 압축을 해제해 생성

[그림 13] PsExec를 통해 원격 실행 명령

   

(2) SMB 취약점을 통한 악성코드 유포

MBR을 감염시킴과 동시에 SMB를 통한 유포 행위을 수행하기 위해 쉘코드를 복호화 한 후 공격을 시도한다. 공격을 수행하기 위해 네트워크 상에 445번 포트와 139번 포트가 열려있는 호스트가 존재하는지 확인한다.  

 

[그림 14] 445번 포트와 139번 포트 확인

 

포트가 열린 호스트가 존재할 경우 공격을 수행하기 위해 쉘코드를 디코딩한다. 쉘코드는 0xCC 값으로 XOR 되어있으며 이를 페이로드로 공격을 수행한다.  

 

[그림 15] 쉘코드 복호화 루틴

 

랜섬웨어 자신을 리소스에 포함하고 있는 DLL 파일을 생성하여 연결된 호스트로 전파한다.  

 


[그림 16] DLL 파일 생성
 

전파된 DLL이 실행되면 리소스에 포함된 랜섬웨어를 공격지에서 실행된 파일명으로 C:\WINDOWS 경로에 생성하고 rundll32.exe를 통해 실행한다.

 


[그림 17] 전파된 랜섬웨어 파일 생성 및 실행 

 

C. 특정 확장자의 파일 감염 

MBR 영역을 훼손하는 행위와 더불어 특정 확장자의 파일을 암호화한다. 암호화 대상 파일 목록은 아래와 같다.

 

 

[표 1] 감염 대상 확장자 목록

 

금번에 발견된 Petya 변종 랜섬웨어도 WannaCry와 같이 Kill-Switch가 존재하므로 C:\Windows\perfc 경로에 파일을 생성하면 감염을 예방할 수 있으며 SMB 취약점과 공유폴더를 통해 타 PC에 유포되므로 무엇보다 윈도우 보안업데이트를 최신으로 패치하는 것이 중요하다.

 

바이로봇 업데이트 내역

Trojan.Win32.Petya

 

 

 ※ 상세분석을 통해 추가된 정보는 계속 업데이트 될 예정이다.

 

  • - 본 정보의 저작권은 (주)하우리에 있으므로 허가없이 전체 또는 일부를 사용 시 저작권 침해로 간주될 수 있습니다.
  • - 상업적인 목적이나 단체에서 사용할 경우, 별도로 허가를 받으셔야 합니다. (정보 이용 문의 skim@hauri.co.kr)

Top