본문 바로가기

Analysis

34. makop ransomware

요즘에 makop라고 이름붙여진 랜섬웨어가 유포중이다.

 

ASEC 팀의 관련 글을 보고 분석해봐야지 생각이 들어 분석해봤다.

 

- ASEC 팀의 분석 글

https://asec.ahnlab.com/1314

 

[주의] 이력서로 위장한 makop 랜섬웨어 (04.13)

ASEC 분석팀은 4월 13일 이력서로 위장해 유포 중인 makop랜섬웨어를 발견하였다. 이메일의 압축 첨부파일 형태로 유포되며, 내부에는 한글 문서(.hwp) 아이콘의 실행파일(exe)이 존재한다. 금일 확인된 유포 파일..

asec.ahnlab.com

 

일단 분석 대상은 위 글에 나온 이력서_항상무었을하던지~ 샘플로 정해 시작했다.

분석 샘플

 

예전부터 악성코드에서 많이 보이듯, 정적 분석을 피하기 위한 목적으로 실제 사용하는 함수들을 미리 로드해둔채로 프로그램을 동작시키는 것이 아닌, 프로그램 실행에서 처음에 사용할 함수들을 로드한다.

사용함수 로드

 

랜섬웨어 행위 중에 레지스트리도 건드리기 때문에 그 목적으로 레지스트리의 현재 크기와 같은 정보를 얻어온다.

레지스트리 관련 정보

 

이후에 현재 실행되고 있는 시스템의 언어가 무엇인지를 확인한다.

시스템 언어 확인

 

현재 시스템 내에서 실행중인 프로세스들에 대한 정보도 알아오며, 해당 프로세스와 관련된 첫번째 모듈의 정보를 얻어온다. 현재 실행중 프로세스의 경우에는 암호화 행위 전 해당 프로세스 삭제의 목적인 것으로 보이는데, 모듈 관련 정보는 왜인지 아직 모르겠다.

실행중 프로세스 정보
첫번째 모듈 정보

 

이후에 현재 시스템의 윈도우 버전을 알아온다.

윈도우 버전

이 앞의 행위들을 수행한 이후에, 향후 수행할 암호화 행위를 위해서 암호화와 관련된 기능을 로드한다.

암호화 관련 기능

 

시스템 윈도우 디렉토리를 알아온다. 물론 dll 로드를 위한 목적도 있을 것으로 보인다.

시스템 윈도우 디렉토리

 

현재 프로세스, 즉 악성코드가 실행중인 경로에 대해서도 특정 함수를 통해 얻어오고 윈도우 상의 특수 폴더(바탕화면, 즐겨찾기 등)의 경로도 얻어온다.

프로세스 실행 경로
특수폴더 경로

 

이후에는 레지스트리를 건드리기 시작한다. 먼저 자동실행과 관련된 Run 키를 열어서 해당 레지스트리에 악성코드를 세팅하고, 시스템의 재부팅시에도 악성코드가 자동실행되도록 설정한다.

Run 레지스트리 키 오픈
밸류 세팅

 

이후에는 레지스트리로부터 ProductId를 얻어온다. 아마 이 ProductId도 윈도우와 관련된 정보를 식별하기 위함인 것으로 보인다.

ProductId
ProductId

 

SystemDrive 환경변수도 얻어온다.(암호화에 사용해야하기 때문에)

SystemDrive

 

그 환경변수로부터 얻어온 정보로 드라이브를 식별한다. 이후, 식별한 드라이브가 어떤 유형인지 등의 정보를 알아낸다.

드라이브 정보 식별

 

중간중간 랜섬웨어 자체의 정상적인 실행을 위해서인지는 모르겠으나 프로세스의 종료 상태도 점검한다.

프로세스 종료 상태 점검

 

여기까지의 행위들이 모두 정상적으로 수행되면, 자신과 똑같은 프로세스를 하나 생성하는데, 인자값이 다르게 들어가서 이 프로세스에서 암호화와 같은 행위들이 수행된다.

프로세스 생성
프로세스 생성

 

해당 프로세스에서는 가장먼저 중복실행 방지를 위해서 뮤텍스를 만든다.

뮤텍스 생성

 

이후 논리 드라이브를 싹 다 가져오고, 해당 드라이브의 타입을 검사한다.

논리 드라이브
드라이브 타입 검사

 

그리고 CreateFile 함수를 이용해서 드라이브의 가장 윗 단을 읽기/쓰기 모드로 연다.

드라이브 윗 단 오픈

 

DeviceIoControl 함수를 이용해서 지정된 볼륨(여기선 C드라이브)의 물리적 위치을 가져온다.

볼륨 물리적 위치

 

이후, 암호화 관련된 정보를 해당 프로세스에서 불러온다.

암호화 관련

 

그리고 암호화 이후에 시스템에서의 복구방지를 목적으로 윈도우에 존재하는 볼륨 섀도우 카피본을 삭제하는 명령어를 cmd를 이용해 실행한다.

섀도우 카피 삭제
섀도우 카피 삭제

 

이후 암호화는 생성된 프로세스 안의 쓰레드를 하나 더 생성해서 그 안에서 이루어진다.

쓰레드 생성

 

맨 윗단부터 파일을 찾아가면서 해당 파일들을 오픈하고 Write 파일을 이용해서 암호화된 값을 덮어씌운다.

파일 탐색
파일 탐색
파일 오픈
암호화 내용 Write

 

파일을 암호화하고나면 암호화된 파일은 다음과 같은 형식으로 이름이 변경된다. 원래파일명.[랜덤8글자(알파벳+숫자)].[akzhq412@protonmail.com].makop

암호화 후 파일명 변경

 

그리고 이후에는 InternetOpen 등의 함수를 이용해서 iplogger.org 사이트에 접속을 시도하는데 해당 사이트는 IP를 이용해서 위치를 추적해주는 서비스 사이트이다. 아마, 피해자의 국가와 위치를 추적하기 위함으로 판단된다.

iplogger.org
iplogger.org 사이트

 

반응형

'Analysis' 카테고리의 다른 글

36. Threat graph(North Korea)  (0) 2020.11.07
35. Maze ransomware  (0) 2020.08.13
33. Remcos  (0) 2020.04.16
32. Lazarus Graph  (0) 2020.03.24
31. Lazarus's Ratankba  (0) 2020.01.21