티스토리 뷰

728x90
반응형

[Malware analysis] Nemty 스페셜 에디션 랜섬웨어


참조

> https://asec.ahnlab.com/search/nemty


Nemty 스페셜 에디션 랜섬웨어는 캠페인을 통해 배포되는 것으로 확인되었으며, 첨부파일 및 다운로드 링크로 악성 파일을 포함한다.

본 블로그에는 늦은감이 있지만, Nemty 스페셜 에디션에 대한 분석 내용을 작성하겠습니다.

"전산 및 비전산자료 보존 요청서.zip" 첨부파일을 통해 배포하였으며, 압축 해제 시 (그림 1)와 같이 한글파일로 위장한 .exe 실행 파일을 확인할 수 있다.

(그림 1)


해당 파일을 실행하게 되면 바탕화면이 변하면서 여러명의 확장자를 가진 파일들이 (그림 2)와 같이 NEMTY_[랜덤한 문자]로 변경이 되는 것을 알 수 있다.

(그림 2)


암호화가 이루어진 폴더에는 추가로 랜섬노트가 생성되는데 (그림 3)와 같으며 , 강력한 암호화를 했다는 문구와 함께 연락할 수 있는 spaxl(넴티)1425 메일 계정 정보를 확인할 수 있다.

(그림 3)


전산 및 비전산자료 보존 요청서_20200506(꼭 자료 보존해주세요)1.exe 파일을 살펴보면 (그림 4)와 같이 ntdll.dll, kernel32.dll의 API LiadLibrary(), GetProcAddress()을 먼저 호출하는 것을 확인할 수 있다.

본 블로그 peb, api 관련 내용 참조

(그림 4)


이후 진행 시 문자열을 해시값으로 표시하여 나머지 API를 로딩하는 것을 확인할 수 있었으며, API 로딩 후 (그림 5)와 같이 메모리 할당 후 해당 메모리에 unpack 된 Nemty 파일을 얻을 수 있었다.

(그림 5)


다음으로 unpack 된 파일을 살펴보도록 하겠습니다.

(그림 6)


(그림 7)을 살펴보면 초기 문자열은 암호화하는 키로 base64로 되어있으며, CryptStringToBinary()을 이용하여 바이트 배열로 변환하는 걸 확인할 수 있다. 

(그림 7)


이후 CryptAcquireContext()을 이용하여 CSP안에서 현재 사용자의 Key container의 핸들을 얻은 후 CryptImportKey()을 이용하여 키를 지정하는 걸 확인할 수 있다.

계속 진행 시 CryptCreateHash()를 통해 sha1 핸들을 생성 후 CryptHashData()를 이용하여 "bbbbb*" 문자를 해시 값에 추가한다. 다음으로는 (그림 8)와 같이 CryptDeriveKey()를 이용하여 rc4 키 생성을 확인할 수 있다.

(그림 8)


다음으로는 다른 초기 문자열을 바이트 배열로 변환 후 CryptDecrypt()을 이용하여 디코딩 시 감염 이후 보여지는 랜섬노트 내용을 확인할 수 있다.

(그림 9)


러시아로 되어 있는 이름의 특정 Key container의 핸들 얻은 뒤 CryptExportKet()을 이용하여 RSA 공개키를 생성하는 것을 확인할 수 있다.

(그림 10)


NEMTY_[랜덤한 문자]을 생성하는 것을 확인할 수 있다.

(그림 11)


이후 진행 시 HW 정보, 사용자 IP, 나라(네트워크 통신 확인), 컴퓨터 이름, 호스트명, OS Version등을 악성코드 제작자가 만든 양식에 맞춰 수집한 데이터를 정리하는 것을 알 수 있다.

(그림 12)


이후 진행 시 파일 암호화를 진행하였으며, (그림 12)의 god.jpg를 이용하여 바탕화면 변경까지 진행한 후 키는 파기하는 것을 확인할 수 있다.

파일암호화, 스레드 부분이 디버깅 진행이 안되서..여기까지만 분석했다.

(그림 13)














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