티스토리 뷰



실습 5-1

  1. DllMain의 주소는 무엇인가?

    1000D02E




  2. Imports 윈도우를 이용해 gethostbyname을 탐색해보자. 임포트 위치는 어디인가?

    100163CC




  3. gethostbyname에 함수는 몇 개인가?
    ctrl + x  눌러 상호참조 확인
    sub_10001074
    sub_10001656
    sub_1000208F
    sub_10002CCE
    sub_10001365
    5개의 함수에 의해 9번 상호참조되고 있다.



  4. 0x10001757에 위치한 gethostbyname 호출을 보면 어떤 DNS 요청이 이루어지는지 알 수 있는가?

    pics.praticalmalwareanalysis.com 요청




  5. 0x10001656에 있는 서브루틴에서 IDA Pro는 지역변수 몇 개를 인지하고 있는가?

    23개





  6. 0x10001656에 있는 서브루틴에서 IDA Pro는 파라미터 몇 개를 인지하고 있는가?

    1개


  7. Strings 윈도우를 이용해 디스어셈블리 내의 문자열 /cmd.exe /c 를 찾아보자. 어디에 있는가?

    10095B34







  8. /cmd.exe /c를 참조하는 코드 영역에서 무슨 일이 발생하는가?

    Remote Shell Session 생성 및 통신









  9. 같은 영역 0x100101C8에서 dword_1008E5C4는 경로를 지정하는 전역 변수로 보인다. 악성코드는 어떻게 dword_1008E5C4를 설정하는가?

    sub_10001656+22 mov     dword_1008E5C4 에서 설정이 이루어짐

    eax값을 dword_1008E5C4에 저장하며, sub_10036C3에서 GetVersionExA로 운영체제 버전 정보를 얻어옴




  10. 0x1000FF58에서 서브루틴으로 수백 라인은 문자열을 비교하기 위한 일련의 memcmp 비교다. rotbotwork와 문자열 비교가 성공적으로 이뤄지면 무슨 일이 일어나는가?


    WorkTime, WorkTimes 값 원격 셸 세션을 이용해 send

     








  11. PSLIST 익스포트는 무슨 열할을 하는가?

    sub_100036C3 호출 


    운영체제 버전 정보 확인

  12. 그래프 모드를 이용해 Sub_10004E79 상호 참조 그래프를 그려보자. 이 함수에 진입하기 위해 호출하는 API 함수는 무엇인가? 해당 API 함수에만 기반을 두고 이함수를 어떤 이름으로 변경하겠는가?

    상호 참조를 그래프로 확인해 본 결과, 중요하게 볼 만한 함수는 GetSystemDefaultLangID ,Send 가 보인다.이를 이용해 Send_LangID 등 의미있는 이름으로 변경 시켜 줄 수 있다.




  13. DllMain이 직접 호출하는 윈도우 API함수는 몇개인가? 두 번째 깊이에서 몇개 인가?

    직접 호출하는 API함수는 4개, 두번째 깊이는 많다.



  14. 0x10001358에서 Sleep 호출이 존재한다.(sleep까지 수 밀리초 값을 파라미터로 갖는 함수) 코드 후반부를 보연 이 코드가 수향되려면 프로그램이 얼마동안 sleep해야하는가?

    30초

    off_10019020에서 [This is CTI]30 을 의미, 0Dh를 더해 30을 가르키게 함.
    30 * 3E8(1000)
    30000밀리세컨드를 초로 변환하면 30초
              


  15. 0x10001701에서 소켓을 호출한다. 세 가지 파라미터는 무엇인가?



  16. 소켓과 IDA Pro에서 명명한 심볼 상수 기능을 이용해 이 파라미터를 좀 더 유용하게 할 수 있는가? 변경 후 파라미터는 무엇인가?

    msdn 참조, https://msdn.microsoft.com/en-us/library/windows/desktop/ms740506(v=vs.85).aspx



  17. 명령어 옵코드 0xED의 사용법을 찾아보자. 이명령어는 VMWare 탐지를 수행하는 VMXh 매직문자열로 사용한다. 이 악성코드는 이를 이용하고 있는가? VMWare를 탐지하는 다른 증거가 있나?







  18. 0x1001D988로 점프해보자. 무엇을 찾을 수 있는가?

    알수없는 의미의 문자열



  19. IDA파이썬 플로그인을 설치했다면 Lab05-01.py를 실행해 보자. 스크립트 실행 후 무슨일이 일어났는가?

    의미를 알 수 없던 문자열이 의미있는 문자열로 변하였다.



  20. 동일한 위치에 커서를 두고 이 데이터를 ASCII문자열로 어떻게 변환할 수 있는가?
    A를 누르면 아래와 같이 변한다.



  21. 문자편집기로 스크립트를 열어보자. 어떻게 동작하는가?

    0x00에서 0x50 바이트까지 하나씩 불러와서 0x55와 XOR해서 복호화 시킨다.


댓글