실전 악성코드와 멀웨어 분석 – 3장 기초 동적 분석 실습 3-2

 

Notice : 해당 자료가 저작권등에 의해서 문제가 있다면 바로 삭제하겠습니다.
연구목적으로 사용하지 않고 악의적인 목적으로 이용할 경우 발생할 수 있는 법적은 책임은 모두 본인에게 있습니다.

Practical_Malware_Analysis
[구매하기]

실전 악성코드와 멀웨어 분석 – 1장 기초 정적분석 실습 1-1
실전 악성코드와 멀웨어 분석 – 1장 기초 정적분석 실습 1-2
실전 악성코드와 멀웨어 분석 – 1장 기초 정적분석 실습 1-3
실전 악성코드와 멀웨어 분석 – 1장 기초 정적분석 실습 1-4
실전 악성코드와 멀웨어 분석 – 3장 기초 동적 분석 실습 3-1
실전 악성코드와 멀웨어 분석 – 3장 기초 동적 분석 실습 3-2
실전 악성코드와 멀웨어 분석 – 3장 기초 동적 분석 실습 3-3
실전 악성코드와 멀웨어 분석 – 3장 기초 동적 분석 실습 3-4

실습문제 다운로드 받는 곳 : http://nostarch.com/malware

실습 3-2
기초 동적분석 도구를 이용해 Lab03-02.dll 파일에서 발견된 악성코드를 분석하라.

질문
1. 악성코드 자체가 어떻게 설치됐는가?
A : 먼저 악성코드 파일을 보니 DLL 파일이다. DLL을 설치하려면 rundll23.exe 을 사용해서 설치을 해야 할 것으로 보인다.
그래서 Dependency Walker를 사용해서 Lab03-02.dll에서 익스포트된 함수를 확인해보았다.
3-2-1

확인해보니 5개의 익스포트 함수가 있었고, 악성코드 설치를 위해 아래와 같이 실행하였다.
3-2-2

그리고 설치된 후 스냅샷을 확인해보니 아래와 같이 레지스트리에 변화가 있는 것을 확인했다.
3-2-3

2. 설치 후 악성코드를 어떻게 실행할 수 있는가?
A : 위의 스냅샷으로 보아 해당 악성코드는 IPRIP 서비스로 구동하는 것으로 보인다.
확인하기 위해 strings를 실행해보았다.

SYSTEM\CurrentControlSet\Services\, SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost 등과 같이 레지스트리도 보이고, 서비스관련 함수들과 HTTP 함수들도 볼 수 있고, 서비스 관련 문구들과 http 관련 string을 확인해볼 수 있다.
그리고 인터넷 주소(practicalmalwareanalysis.com)와 uri(serve.html) 와 base64으로 인코딩된 것으로 보이는 문자열도 볼 수 있다.

3. 악성코드가 동작할 때 어떤 프로세스를 발견할 수 있는가?
A : 동적분석을 위해 준비를 하고 해당 악성코드를 구동시켜 보았다.
3-2-4

악성코드는 서비스이므로 svchost.exe 프로세스로 구동이 될 것으로 보인다. 하지만 프로세스 리스트에서는 svchost.exe가 여러개이고 속성만으로는 어떤 프로세스가 악성인지 확인이 안되서 File > Find Handle or DLL..을 사용해 Lab03-02.dll을 찾아보니, 1128 PID를 가지는 프로세스가 범인임을 확인했다.
3-2-5

3-2-6 3-2-7

4. 정보를 수집하는 ProcMon을 사용하기 위해 어떤 필터를 설정했는가?
A : 위의 Process Explorer에서 확인한 PID(1128)를 필터로 사용하면 된다.
하지만 나는 보통 ProcMon보다는 시스템 익스플로러의 스냅샷 기능을 더 애용하는 편이다.
파일과 레지스트리를 동시에 볼 수 있고, tree형태 또는 text 형태를 변화를 볼 수 있어서 편하다.
3-2-8 3-2-9

5. 악성코드임을 의미하는 호스트 기반 표시자는 무엇인가?
A : 해당 악성코드의 특징 중 하나는 IPRIP 서비스를 등록하는 것이며, 서비스의 설명이 “Depends INA+, Collects and stores network configuration and location information, and notifies applications when this information changes.” 으로 표시된다.
3-2-10

그리고 레지스트리에 ServiceDll을 정의하는데 dll 파일명을 그대로 사용한다.
3-2-11

6. 악성코드에서 유용한 네트워크 기반 시그니쳐가 존재하는가?
A : 악성코드를 실행후 패킷을 Wireshark 를 통해 practicalmalwareanalysis.com 도메인에 대해 dns 질의를 하는 것을 확인할 수 있었다.
3-2-12

hosts 파일에 해당 도메인을 설정하고 응답을 받아보니 아래와 같이 GET으로 /serve.html 파일을 요청하는 것을 확인할 수 있었다.
3-2-13

 

This entry was posted in Reading, Reversing and tagged , . Bookmark the permalink.

6 Responses to 실전 악성코드와 멀웨어 분석 – 3장 기초 동적 분석 실습 3-2

댓글 남기기