2016년 4월 1일 금요일

Practical Malware Analysis Lab 1-2

Lab 1-2

  Analyze the file Lab01-02.exe

Q1. Upload the Lab01-02.exe file to http://www.VirusTotal.com/. Does it match
      any existing antifirus definitions?

    A: Trojan 이라고 나오네...


Q2. Are there any indications that this file is packed or obfuscated? 
    If so, what are these indicators? If the file is packed, unpack it if possible.
 
    A: UPX v3.0 Packing 되어 있다.
 

   upx.exe로 잘~ 풀린다.

    > upx.exe -d Lab01-01.exe


Q3. Do any imports hint at this program's functionality?
      If so, which imports are they and what do they tell you?
  
      A: WinINet.dll의 InternetOpen / Url로 웹페이지에 접속한다.
         ADVAPI32.dll의 CreateServiceA로 서비스로 실행된다.
         SystemTimeToFileTime으로 파일 시간을 위장? 할 수 있고,
         CreateMutex/OpenMutex와 WaitForSingleObject로 내가 실행 중인지 알거나,
         무엇을 위해 대기 할 수 있다.

Q4. What host- or network-based indicators could be used to identify this malware
     on infected machines?

     A: 시스템에 멀웨어가 생성한 뮤텍스가 존재하는가?
        혹은 "MalServices" 서비스가 실행/존재 하는가?
        
      

Practical malware analysis LAB 1-1


지나가다 알게 된 너무나 설명이 좋은 책.
난이도는 초급 ~ 중급 사이라고 할 수 있는데,
어려운 주제도 쉽게 설명하는 저자가 이 시대에 필요한 사람!


각설하고, 총  22챕터, 800페이지로 구성되어 있으며
각 챕터마다 LAB으로 문제를 풀어야만 다음 장으로 넘어갈 수 있다. (나는..)
실습해 볼 수 있는 악성 모듈들을 저자 블로그에 가면 다운로드 할 수 있으니 얼마나 감사한 일인가. 
다운로드에 주의하길 바라며, 이제 LAB 1을 풀어본다.

LAB 1-1



Analyze the file Lab01-01.exe / dll


Q1. Upload the files to http://www.VirusTotal.com/ and view reports.
     Does either file match any existing antivirus signatures?

    A:




이 사이트에 Lab01-01.dll / Lab01-01.exe 파일을 업로드 하고 검사를 하면, 30여가지 이상의 안티 바이러스 제품이 결과를 알려주는데, 재미있는 것은 트로이 목마류의 악성코드라고 하지만, 사용자 리뷰 쪽에는 Practical Malware Analysis LAB 1이라고 코멘트가 남겨져 있다. 


Q2. When were these files complied?

   A:  2010년 12월 19일 16:16:38 UTC
       dll과 exe는 1분 차이로 컴파일 되었다.

 PEview로 Lab-01-01.dll 모듈을 보면 NT_HEADER -> FILE_HEADER에 TimeDateStamp 값을 UTC 시간으로 보여주고 있다.
 

Q3. Are there any indications that either of these files is packed or obfuscated?
     If so, what are these indicators?

     A: Packing이나 obfuscating 되지 않았다.

  

Q4. Do any imports hint at what this malware does? If so, which imports are they?

    A: Lab01-01.dll은 WS2_32.dll을 임포트 하며, Hint가 N/A인 걸로 봐서 Ordinal로 GetProcAddress를 하고 있다. Socket관련 함수를 사용한다는 점이 키 포인트임.

   Lab01-01.exe는 CreateFileA과 FileFirstFileA등을 사용하므로 파일을 찾는 것으로 보인다.
   CopyFileA도 사용하는 것 뭘까..

Q5. Are there any other files or host-based indicators that you could look for
     on infected systems?
   
   A: Kernel32.dll을 Kerne132.dll로 위장하고 있다!! (이 부분은 해답을 보고 알았다.. 보고도       노쳐 버렸네..)
 

 Q6. What network-based indicators could be used to find this malware
      on infected machines?

      A: Strings.exe Lab01-01.dll 치면 IP 주소를 볼 수 있다. 이 IP 서버와 통신할 것으로
         보인다... 127.26.152.13 은 Local 네트워크 주소이므로 악성 로직은 아닌 것으로..
      
      

 Q7. What would you guess is the purpose of these files?
    
    A:  음.. 이 파일의 목적은 아마도... 어떤 파일을 생성하거나 찾아서,
        127.26.152.13 서버로 전송하지 않을까..