부동산, 채권, 주식, 경제흐름 자료를 모아 보는 블로그입니다.

Script Downloader 분석 - 2 본문

Analysis

Script Downloader 분석 - 2

runardor 2016. 3. 30. 23:41

Script Downloader 분석 - 1 ( http://runardor.tistory.com/8)  에 이어서 본격적으로 Script Downloader에 대해 살펴보겠습니다.



ADO 및 FSO를 사용할 수 있는 대표적인 언어는 아래와 같습니다.

1. Visual Basic

2. Visual C++

3. Visual J++


아래의 언어를 지원하는 프로그램 및 파일들은 ADO 및 FSO를 사용할 수 있다는 뜻입니다.



악성코드를 기준으로 Script Downloader를 살펴보면 해야할 행위는 다음과 같습니다.

1. 특정 C&C로 접근한다.

2. C&C 접근 가능시 파일전송을 요청한다.

3. 요청된 파일을 PC에 생성한다.

4. 생성된 파일을 실행한다.



위 행위를 위해 필요한 기능은 아래와 같습니다.

1. 파일 생성기능

2. 파일 전송기능

3. 파일 실행기능



1 ) 파일 생성기능


파일을 생성하기 위해서 그럼 어떤 기능을 사용해야 할까요???


이전에 설명드린 FSO 객체를 사용하면 파일 생성이 가능합니다.


FSO 사용을 위한 예제 코드는 아래와 같습니다.




2) 파일 전송기능 


파일 전송에는 ADO & WINHTTP, XMLHTTP를 통해 전송이 이루어 집니다. ( 해당 부분은 다음장에서 다룰 예정입니다. )



3) 파일 실행 기능

파일 실행기능은 앞서 다루지 않았지만 Shell 객체를 이용하여 실행을 할 수 있습니다.


간단한 예제는 아래와 같습니다.

https://msdn.microsoft.com/en-us/library/d5fk67ky(v=vs.84).aspx





Wrap UP


Script Downlaoder는 크게 파일생성, 파일전송, 파일 실행으로 나누어지며


FSO, ADO, WINHTTP or XMLHTTP, SHELL 객체들이 Chain형식으로 유기적으로 합쳐서 동작합니다.


대부분의 Script Downloader들은 위의 틀에서 크게 벗어나지 않습니다.


물론 악성코드들은 AV진단을 우회하기 위해 문자열을 쪼개거나 난독화를 하여 진단을 우회하지만, 


결론적으로 난독화 해제 또는 문자열 Decode, 합치기의 결과를 수행하여 최종 실행되는 코드를 확인하게 되면 위의 구조를 벗어나지 않습니다.


어렵게 생각하면 어렵겠지만, 동작방식에 대한 이해 및 각 객체별 특징, 정의를 이해하신다면 스크립트 다운로더는 매우 쉽게 느껴지실 것입니다.




다음장에서는 파일전송에 관련된 ADO 및 WINHTTP, XMLHTTP에 대해 알아보도록 하겠습니다.








'Analysis' 카테고리의 다른 글

메모리 교체형 악성 코드 분석 - 1  (0) 2016.04.04
Script Downloader 분석 - 4 ( XMLHTTP)  (0) 2016.04.01
Script Downloader 분석 - 3 ( WINHTTP )  (0) 2016.03.31
Script Downloader 분석 - 1  (0) 2016.03.30
Comments