ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Practical Malware Analysis 실습 1-1
    Malware Analysis/Practical Malware Analysis 실습 2019. 4. 9. 19:56

    Lab01-01.exe 와 Lab01-01.dll 파일을 사용한다.

    파일에 관한 정보를 얻으려면 1장에서 사용한 기법과 도구를 사용하고 다음 질문에 대답해 보자.

     

    질문 : 

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

     

    ↑ Lab01-01.dll

     

    ↑ Lab01-01.exe

     

    Lab01-01.exe의 안티바이러스 시그니처 파일은 최초로 2012년 2월 16일 오전7시경으로 확인되었습니다. Lab01-01.dll은 2011년 7월 4일 오후7시경으로 확인되었습니다.

     

     

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

     

    파일의 컴파일 일자는 파일 내부를 확인해 보면 IMAGE_NT_HEADERS 안에있는 IMAGE_FILE_HEADER의 Time Data Stamp에 기록 되어있습니다.

    ↑ Lab01-01.exe 의 IMAGE_FILE_HEADER

     

    ↑ Lab01-01.dll 의 IMAGE_FILE_HEADER

     

    하지만 PEview에서도 확인할수 있지만, VIRUSTOTAL에서도 확인 가능합니다.

    ↑ Lab01-01.exe 의 virustotal에서의 TimeStamp

     

    ↑ Lab01-01.dll 의 virustotal에서의 TimeStamp

     

     

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

     

    패킹이나 난독화 징후를 확인하기 위해서는 PEID 프로그램이 있으면 확인할 수 있습니다.

    ↑ Lab01-01.exe

     

    ↑ Lab01-01.dll

     

    아무런 패킹과 난독화가 되어있지 않습니다.

     

     

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

     

    임포트 함수를 보기 위해서는 Dependency_Walker 프로그램이 필요합니다. 

    ↑ Lab01-01.exe 파일의 KERNEL32.DLL 파일에 있는 임포트 함수

     

    ↑ Lab01-01.dll 파일의 KERNEL32.DLL 파일에 있는 임포트 함수

     

    Lab01-01.exe 파일에서 눈여겨 봐야 하는 함수는 CopyFileA, CreateFileA, FindFirstFile, FindNextFile 함수 입니다. 

     

     - CreateFileMappingA 함수 : 파일을 메모리로 로드하는 매핑 핸들을 생성하고 메모리 주소를 통해 접근 가능하게 한다. 실행기, 로더, 인젝터 등이 이 함수를 이용하여 PE파일을 읽고 수정할 수 있다.

     

     - FindFirstFileA, FindNextFileA, CopyFileA, CreateFileA 함수등을 보면, 어떠한 파일을 찾고 복제하는 행위를 할 가능성이 있다고 예상됩니다.

     

    Lab01-01.dll 파일에서 눈여겨봐야 하는 함수는 CreateProcessA, Sleep 함수 입니다.

    또한 WS2_32.DLL은 네트워크 기능을 제공합니다.

     

     - 가장 의심이 되는 것은 네트워크 통신을 가능하게 해주는 WS2_32.dll을 import 하고 있다는 점이다.  WS2_32.dll은 Windows Socket 통신을 하기 위해서 사용하는 dll파일입니다.

     

     - kernel32.dll에서 import 함수인 CreateProcessA, Sleep 함수로 보아 네트워크관력 작업을 하는 것이 확실하며, 프로세스에 소켓을 생성후 해당 소켓으로 통신을 할것 같다.

     

     

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

     

    저기에 kernel32.dll 이라는 문자열이 보이는데 바로 위에 kerne132.dll 이라는 거짓되 보이는 문자열이 있습니다.

    해당 dll에 악의적인 프로그램이나 함수를 사용하여 넣어 뒀을 것을 예상됩니다.

     

    또한 맨아래에 WARNING_THIS_WILL_DESTORY_YOUR_MACHINE라는 경고 문자열도 보입니다.

     

     

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

     

    저기에 127.26.152.13 이라는 IP주소가 적혀 있는 것으로 보아 네트워크 통신을 하는 것 같고, 앞에서 본 WS2_32.dll 파일로 보아서 네트워크 소켓 통신을 하는것 같습니다.

     

     

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

     

    해당 파일은 Lab01-01.exe를 실행 하게 되면 Lab01-01.dll 파일을 불러오고 dll파일의 함수기능인 네트워크 기능을 통해서 프로세스 생성후 해당 프로세스에 ip를 가지고 소켓통신 할 것으로 판단 됩니다.

     

     

    댓글

Designed by Tistory.