본문 바로가기
IT 보안소식

Windows PowerShell을 이용한 "갠드크랩(GandCrab) v5.0.4" 파일리스(Fileless) 공격

by 잡다한 처리 2019. 1. 19.
반응형


음....보안쪽 포스팅은 또 오랫만이라 떨리네 ㅋㅋㅋㅋ


요즘 핫한 악성코드라고 하면 아직도 랜섬웨어가 아닐까 싶다.

그중에서도 갠드크랩(GandCrab)은 꾸준히 국내 사용자들에게도 유포가 되고 있는데,
그중에서 JS 스크립트를 통해 유포되는 버전인 갠드크랩(GandCrab) v5.0.4 버전에 대해서 정리해 둔게 좀 있어서 간단하게 포스팅 하려고 한다.

※ 참고로 최근 갠드크랩(GandCrab) 버전은 v5.1 버전이며 이력서를 사칭한 이메일로 유포 중이다.


해당 파일은 "네봄이" 사이트에서 수집 되었으며 2018년 11월 21일경에 수집 해 둔 파일인데
예전에는 JS 파일을 통해 EXE가 실행되는 형태였다면, 이 파일은 JS 파일이 "파워쉘 명령어를 통해
파일리스(Fileless) 형태로 메모리에서 동작한다는 점이 좀 틀리다.

* 파일리스(Fileless)는 파일이 존재하지 않는다는 뜻으로 악성 파일이 어디에도 남지 않는다는 뜻이다.


서론이 좀 길었다;;


아까 말했듯이 네봄이 사이트에서 "MZK 최신 파일"을 다운로드 시 압축파일("mzk_최신.zip")이 다운로드 되며, 해당 압축파일에는 "mzk_최신.js" 파일이 존재한다.



mzk_최신.js 파일을 열어보면 아래와 같이 중간중간 쓸데 없는 코드들이 섞여있지만 크게 2개의 데이터 함수를 복호화 하는 것으로 대략적으로 보인다.


mzk_최신.js 을 1차 디코드하게 되면 아래와 같은 명령어들을 확인 할 수 있으며,
결과적으로 [랜덤].log 파일을 생성한다.


또한 생성 된 log 파일에서 .Replace('#','') 명령어를 통해 #을 빈공란으로 들게 되면 파워쉘 스크립트를 확인 할 수 있습니다.


아래 처럼  .Replace('#','') 명령어를 통하면 파우쉘 명령어들이 보이기 시작하는데 이중에 "FromBase64String" 명령어를 보아 특정데이터들을 Base64로 디코딩하는 것으로 보입니다.


그래서 Base64로 한번 디코딩을 하면 이제 실제 메모리에 올릴 데이터가 최종적으로 보여집니다.

해당 데이터가 메모리에 올라가면서 PE파일의 구조를 가지게 됩니다.


그래서 해당 공격을 파일리스(Fileless) 공격이라고 합니다^^


실제 메모리에 올라간 내용을 확인하기 위해 디버거로 열심히 찾았더니, 아래와 같이 PE구조를 가진
메모리 주소가 존재했다. 


후딱 DUMP 떠서 확인해 보니 Delphi로 만들어진 파일이다.


좀 더 분석을 해보니 V5.0.4 버전의 GandCrab으로 확인되었다.

아주 마무리까지 확실하게 했다;;

※ 오랫만의 분석이다 보니 조금....힘들었음 ㅠㅠ

댓글