티스토리 뷰

728x90
반응형

[Malware analysis] 류크(Ryuk) 랜섬웨어 ②


[Malware analysis] 류크(Ryuk) 랜섬웨어 ①


① 다음으로 계속 진행하겠다. 대상 프로세스인 taskhost.exe을 상세분석한 부분이다


암호화와 관련된 Crypt API와 “Microsoft Enhanced RSA and AES Cryptographic Provider” 문자열을 확인할 수 있다. CryptAcquireContext() szContainer에 있는 ”AES_unique_” 컨테이너를 가져오는 것을 확인할 수 있다.

이후 CryptImportKey()을 이용하여 RSA 공개키 핸들을 구해 키 지정을 확인할 수 있다.


1. Ransom Note

다음을 살펴보면 루프문을 통해 Ransom Note 내용을 저장하는 것을 확인할 수 있다.


2. 제외 폴더 & 확장자

GetDriveType()을 이용하여 C:을 얻는 것을 확인할 수 있다. 이후 0x300036C0 진행하는 것을 확인할 수 있다. 


이후 이와 같이 AhnLab, Chrome, Mozilla, $Recycle.Bin 폴더를 제외하는 것을 확인할 수 있다.


dll, ink, hrnlog, ini, exe 확장자를 제외하는 것을 확인할 수 있다. 또한, 대소문자 모두를 확인하는 것을 알 수 있다.


다음으로 위 제외 폴더가 아닌 폴더에 랜섬노트를 생성하는 것을 확인할 수 있다.


3. 파일 암호화 & HERMES 

GetFileSizeEx()을 이용하여 파일 사이즈를 확인하는 것을 확인할 수 있다.

이후 해당 파일 사이즈 기준으로 파일 암호화 유무를 진행하는 것을 확인할 수 있다.


48 35 52 4D 45 53 (HERMES) 문자열을 스택에 넣는 것을 확인할 수 있다. 

CryptGenKey()을 이용하여 ASE_256 키를 생성하는 것을 확인할 수 있으며 _tkinter.pyd 파일 내용을 읽어오는 것을 확인할 수 있다.

다음으로 CryptEncrypt()을 이용하여 암호화를 진행하는 것을 확인할 수 있다. 이후 파일 포인터를 조정한 후 암호화된 내용을 원본 파일에 쓰는 것을 확인할 수 있다.


진행 시 암호화 파일 내용 뒤에 이전 얻은 HERMES 문자열과 고유키를 함께 추가적으로 쓰는 것을 확인할 수 있다.

728x90
반응형
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today