악성코드 분석/정적 분석

실전 악성코드와 멀웨어 분석 - 실습 1-1

IT공부 2019. 12. 27. 21:14
반응형

!! 해당 자료가 저작권상 문제가 있다면 해당 글을 바로 삭제하겠습니다. 

 

 

실습 목적 

1장에서 배운 기술을 연습할 기회를 제공하기 위함이다. 

 

실습  1-1 

Lab01-01.exe와 Lab01-01.dll 파일을 사용하여 분석한다. 파일에 관한 정보를 얻으려면 1장에서 사용한 기법과 도구를 사용하고 다음 질문에 대답해보자. 

 

질문 

1.http://www.virustotal.com/에 파일을 업로드한 후 보고서를 보자. 기존 안티바이러스 시그니처에 일치하는 파일이 존재하는가?

 

Lab01-01.exe 파일

43/71의 백신에서 탐지하였습니다. 대중적으로 알고 계신 백신은 ALYac, AhnLab-V3 백신에서 탐지한 것을 알 수 있습니다. 

Lab01-01.dll 파일

31/69개의 백신이 탐지하였습니다. 많은 백신에서 탐지는 하였습니다 반이 넘는 백신에서는 탐지가 안된다는 것을 볼 수 있습니다.

 

 

 

2. 이 파일은 언제 컴파일됐는가? 

Lab01-01.exe 파일

PEView 도구로 확인을 하였으며 2010/12/19 16:16:19 UTC에  컴파일되었다는 것을 확인할 수 있습니다. 

Lab01-01.dll 파일

dll 파일의 경우는 사진은 생략하겠습니다. 2010/12/19 16:16:38 UTC에 컴파일 되었습니다.

 

3. 이 파일이 패킹되거나 난독화 된 징후가 있는가?  그렇다면 무엇으로 판단했는가?

 

Lab01-01.exe과 Lab01-01.dll 파일의 경우 Microsoft visual C++ 6.0로 패킹이나 난독화 된 징후는 없었습니다. 

PEiD를 통해서 확인하였다. 

 

 

4. 임포트를 보고 악성코드 행위를 알아낼 수 있는가? 그렇다면 어떤 임포트인가?

Lab01-01.exe에 경우는  CreateFileA와 CopyFileA에 임포트를 확인한 결과, 파일을 생성하고, 파일을 복사하는 행위를 하는 악성코드란 것을 알 수 있었습니다. 그리고 FindFirstFileA과 FindNextFileA로 어떠한 File을 찾는 행위가 있다는 것을 알 수 있다. 

 

 

Lab01-01.dll에 경우 CreateProcessA로 프로세스를 생성하고, Slepp 함수로 보아 프로세스를 생성한 후에 Sleep을 통해서 프로그램을 잠시 멈추는 행위를 하는 것을 알 수 있습니다. 

WS2_32.dll로 인해 네트워크 기능을 제공하는 함수를 로드하고 있다.  

 

 

5. 감염된 시스템에서 검색할 수 있는 다른 파일이나 호스트 기반의 증거가 존재하는가?

Strings 도구로 확인을 해본 결과 Kerne132.dll 파일이 있다. Kernel32.dll 파일이 아닌 L을 1로 변경된 파일이 존재하는 것을 알 수 있다. 

 

 

6. 감염된 장비에서 이 악성코드를 발견하기 위해 사용한 네트워크 기반의 증거는 무엇인가?

 

Lab-01-01.dll 파일을 Strings로 확인한 결과 127.26.152.13의 네트워크 주소를 확인할 수 있다. 

 

7. 이 파일의 목적은 무엇이라고 판단되는가?

 

자신을 Kerne132.dll으로 위장하기 위해 복사하고 CreateProcess를 이용해 실행을 시키고 C&C 서버(127.26.152.13)와 통신하는 용도로 사용될 것으로 추축 되며 백도어일 가능성이 커 보인다.