악성코드 분석/동적 분석

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

IT공부 2020. 1. 21. 18:28
반응형

1. main 함수가 첫 번째 서브루틴은 무슨 오퍼레이션을 수행하는가?

 

아래와 같이 첫 번째 서브루틴 함수는 0x401000 인 것을 알 수 있었고, 401000 함수에 들어가 보면 2번째 사진과 같은 기능을 수행하는 것을 알 수 있었다.

인터넷 활성화 여부를 확인하는 InternetGetConnectedState 함수를 확인 가능하며, if구문으로 인터넷 상태를 확인하는 것으로 보인다. 

2. 0x40117F에 위치한 서브루틴은 무엇인가?

6 - 1과  똑같은 구조이므로 printf는 0x40117F 위치에 있는 서브루틴이다. 

3. main 함수가 호출하는 두 번째 서브루틴은 무엇인가?

main이 호출하는 두 번째 함수는 0x401040에 위치해 있다. http://www.practicalmalwareanalysis.com/cc.html url을 확인할 수 있었고, user-Agent로는 internet Explorer 7.5/pma를 사용하는 것을 알 수 있었다. 

4. 이 서브루틴에서 사용한 코드 구조는 어떤 유형인가?

InternetOpenA, InternetCloseHandle, InternetReadFile, InternetOpenA 코드 구조를 가지고 있으며, 정확히 알지 못하기 때문에 정리하고 넘어가도록 하겠습니다. 

 

  • InternetOpenA는  WinINet 라이브러리 사용을 초기화하는 데 이용하고 HTTP 통신에 사용하는 User-Agent를 설정한다. 
  • InternetOpenUrlA는 완전한 FTP나 HTTP URL이 명시하는 위치로 핸들을 오픈하는 데 사용한다.
  • InternetReadFile은  InternetOpenUrlA가 오픈한 핸들에서 데이터를 읽을 때 사용한다. 
  • InternetCloseHandle은 이 파일이 오픈한 핸들을 닫을 때 사용한다.  

5. 이 프로그램에서 네트워크 기반의 행위(indicator)가 존재하는가?

프로그램은 User-Agent인 Internet Explorer 7.5/pma를 이용해 http://www.practicalmalwareanalysis.com/cc.htm에 위치한 웹 페이지를 다운로드한다. 

 

6. 이 악성코드의 목적은 무엇인가?

먼저 프로그램은 인터넷 연결의 활성여부를 확인한다. 연결이 되지 않으면 프로그램은 종료한다. 연결이 된 경우 프로그램은 특정 User-Agent를 사용해 웹 페이지 다운을 시도한다. 해당 웹페이지는 <!?로 시작하는 Html 주석이 존재한다.