본문 바로가기

Analysis

40. GuLoader

최근 보안뉴스, 해커뉴스, 시큐리티어페어즈 등 여러 매체에서 다뤄지는 악성코드이면서 드로퍼의 성격을 띄며 빠르게 퍼지고 있는 GuLoader에 대해 분석한다.

 

분석 환경 OS Windows 7
악성코드 해쉬 2374e67f9bafb16982479819931eeca7fcafda7dcf7248a15be29b0f061ffdc9
악성코드 종류 드로퍼

 

먼저, GuLoader 악성코드는 예전부터 악성코드들이 기용한 NSIS 실행 압축을 선택하고 있다. NSIS를 사용해 실행되는 이유는 백신 프로그램의 우회가 주 목적으로 생각된다. 일반적인 프로그램들도 NSIS를 사용하는 경우가 많기 때문에 백신 프로그램에서 악성코드만 골라내기 힘들기 때문이다.

 

NSIS 적용된 GuLoader

 

본격적으로 분석을 시작해본다. NSIS 가 적용되어있기 때문에 압축을 실행하면서 풀어내는데, 그 과정에서 이후 실제 프로그램(악성코드)에서 사용할 Window API를 불러오기 위해서 dll을 가져온다. 이후 가져온 dll 목록들을 기반으로 악성행위에 사용할 Window API를 가져온다.

 

dll 로드
사용할 Window API 로드

 

이후 악성행위의 시작으로 실행되고 있는 피해자 PC의 운영체제 정보를 확인한다.

 

IsOS 함수 호출, 운영체제 정보 확인

 

운영체제 정보 확인 이후에는 특수 경로(Admin 권한 사용자의 폴더 경로), Temp 폴더 경로를 가져온다.

 

특수 경로 로드
Temp 경로 로드

 

이후 로드한 Temp 경로에 tmp 파일을 생성한다.

 

tmp 파일 생성

 

tmp 파일 생성 뒤에는 PC가 사용하는 언어 종류를 탈취한다. 해당 분석 시스템에서는 한국어로 설정되어 있었기 때문에 0x412 를 반환하는 것을 볼 수 있다.

 

PC 언어 종류 탈취
반환된 언어 값(한국어)

 

 

언어 정보까지 확인하고 나면 악성 행위에 사용할 System.dll 파일을 Temp 폴더 아래 임시 폴더(xxxxxxx.tmp)를 생성하고 드롭한다.

 

System.dll 드롭

 

System.dll 까지 드롭한 뒤, 실제 드로퍼 행위를 수행하기 시작한다. 드롭되는 파일들은 %APPDATA%\Roaming\Bestikkendes8 폴더에 위치한다. Bestikkendes8 폴더 이름은 랜덤으로 생성되는 것으로 보여진다.

 

Roaming 폴더 아래 임시 폴더 생성
GuLoader 운영자로부터 드롭된 파일들

 

분석 당시에는 C2 서버가 살아있는 상태였기 때문에 떨어지는 파일들을 받아볼 수 있었으며, 떨어지는 파일은 PE 파일도 포함되어 있어 다른 악성행위까지 이어질 요소가 존재했다.

 

C2 서버 통신

 

해당 악성파일은 실제로는 엑셀 설치 파일인 것처럼 위장하고 있으며, 실행시에는 사용자를 속이기 위해 무언가를 설치하는 듯한 내용을 띄운다.

엑셀 아이콘
설치 프로그램 위장
설치 중인것처럼 표시

반응형