리버스 엔지니어링/난독화 스크립트 분석

PowerShell을 이용한 GandCrab 5.0.4 (FileLess) -2

뿔맨 2018. 12. 23. 00:44
반응형
이번 분석 건은 전에 분석했던 GandCrab FileLess 입니다.
분석을 하던 중에 전에 분석했던 것과 다른 점이 있어서 블로그를 작성하게 되었습니다.

다른 점은 Delphi 짜여진 바이너리 파일 행위가 바뀌었습니다.
전에 분석했던 것은 단순 GandCrab PE복호화 및 실행이었는데, 해당 분석 건에서는 V3 Check, UAC Bypss, ALYac Check 하는 기능들이 확인되었습니다.

자바스크립트를 열어보면 위와 같이 난독화 된 문자열들을 확인할 수 있다.
아래는 복호화한 스크립트 이다.

파워셸을 실행시키며 인자 값으로 .log를 실행하는 것으로 확인된다.

log파일을 열어보면 base64로 인코딩 된 문자열들이 확인되며 복호화를 하면 아래와 같다.


전과 같이 분석을 하다보면 파일시그니처 중 MZP가 확인된다.

덤프 후 PEInfo로 확인하면 Delphi 로 만들어진 프로그램인 것을 확인할 수 있다.

Delphi 분석 중에 백신 체크를 하는 것을 찾았으며 다음과 같다.

V3 Check 하는 Call문을 들어가 보면 다음과 같다.

V3 서비스 체크를 한 후 help22.exe 파일을 드랍하기 위해서 난독화 된 문자열들을 복호화 한다.
그리고 파일을 드랍 후 UAC Bypass를 하기 위해서 특정 경로의 레지스트리를 변조한다.

레지스트리 경로를 설정 후 RegSetValue 함수로 help22.exe 경로를 삽입한다.

그리고 ShellExecute 함수로 C:\Windows\System32\eventvwr.exe 실행을 하는데 help22.exe 가 실행이 되면서 V3를 강제종료한다.
다음은 help22.exe 동작 방식이다.

C#으로 만들어진 것을 확인할 수 있으며, dnspy 프로그램을 사용하여 열어보면 다음과 같다.

V3 강제종료 하는 소스코드이며, V3가 설치 된 폴더에 Uninst.exe 를 Administrator 폴더에 파일명 help로 바꿔서 복사한다.
그리고 Winexec 함수를 사용하여 ASCli.exe /stop 을 실행시키는 것으로 추정된다.

행위가 끝나면 다시 V3 Check를 하고 마지막으로 GandCrab을 실행시키고 ALYac Service 체크 후 종료된다.


감사합니다.

+ GandCrab 실행 후 ALYac 서비스를 왜 체크하는지 모르겠네요

참고 



반응형