Malicious Code Analysis DAY_006 LAB01-01.exe, LAB01-01.dll, dependency walker, Kernel32.dll, WS2_32.dll, OpenMutexA, 악성코드분석실습, virustotal, PEview, strings, 정적 파일 분석도구 , automatic analysis, Malicious Code Analysis

2024. 3. 18. 23:34Information Security 정보보안/Malicious Code Analysis 악성 코드 분석

728x90

배울내용:

LAB01-01.exe

LAB01-01.dll

dependency walker

Kernel32.dll

WS2_32.dll

OpenMutexA

악성코드분석실습

virustotal 

PEview

strings

정적 파일 분석도구  

automatic analysis 

Malicious Code Analysis

 

 

 

  

 

 

[정적 분석]
> 분석 파일 : Lab01-01.exe

 

 

 

 

 

이번에는 strings.exe Lab01-01.exe 를 해서 모든 문자열을 확인했더니

유독 눈에 뛰는 글자들이 보인다 

 

 

 

 

 

strings.exe Lab01-01.exe > Lab01-01.txt 해서 글자로 만든뒤 악성코드 분석한다 

 

 

 

 

 

 

 

간단하게 말하면 위와같고 아래에는 자세히 설명해놨다 

 

 

아래에 테이블을 잘 정리해놨다 

 

 

 

 

우린 이런함수를 다알필요는 없지만 궁금하면 검색하면된다 

 

 

 

 

 

 

 

 

 

다시돌아와서 저런함수들은 기본적으로 있는데 자세히 보니 1개는 kerne132.dll  로 1 을 마치 l(소문자 L ) 처럼 보이게 해놨지만 알고보면 이것이 악성코드 함수라고 의심이 된다 

 

왜냐면 kernel32.dll 만이 windows 운영체제의 핵심적인 기능을 제공하는데 kerne132.dll 은 존재하지않는다 

 

 

 

 

 

 

분석시작

 


01. 자동화 분석 


1) 분석도구 : 바이러스 토털 사이트 - http://www.virustotal.com

 

점점 파일이 어려워져 갈수록 다양한 프로그램을 쓸것이다 그러나 기본적으로 자동화분석하는것은 동일할것이다

 

 

 

2) 분석결과 : 악성코드 임을 탐지(49/69) , V3 , 알약 모두 탐지 

 

 

 

 


02. 이 파일은 언제 컴파일 되었는가?


1) 분석도구 : Peview

 


2) 분석내용 : 2010/12/19 16:16:19 UTC
-NT Header -> File Header : Time Date Stamp

 

파일이 컴파일된 시간의 타임스탬프다. 이 값은 파일이 마지막으로 컴파일된 날짜와 시간을 나타낸다

즉 마지막으로 변경 또는 제작된 날짜를 나타낸다.

 

 

 

 

 


03 이파일은 패킹이 되거나 난독화가 되어있는가?
1) 분석도구 : PEID


2) 분석내용 : 패킹 이나 난독화가 안되어있다 

 

 




04 임포트를 보고 악성행위를 알아낼수있는가? 만일 알아낼수있다면 그 임포트가 무엇인가?


1)분석도구 : Dependency Walker 

 

 

Dependency Walker는 Windows 플랫폼용 프로그램 및 DLL 파일의 종속성을 분석하는 유틸리티다.

이 도구는 프로그램이나 DLL이 실행될 때 필요한 다른 DLL 파일들을 확인하고, 이러한 파일들 간의 종속성을 시각적으로 표시하여 시스템에서 실행할 수 있는지 여부를 판단하는 데 도움을 줍니다.

 

 

그러면 Lab01-01.exe 를 Dependency Walker로 열어보자 

 

 

 

 

 

KERNEL32.DLL 을 클릭하면 아까 봤었던 함수들이 모두다 나온다 

여기서

CopyFileA

CreateFileA

CreateFileMappingA 

가 있는데 파일이 복사되서 생성된뒤에 Mapping 이 된걸로 봐서 실행이 된걸 알수있다 

(매핑이된다는 얘기는 메모리 까지의 접근이 가능하다고 본다 ) 

 

 

CreateFileA : 파일을 생성, 수정 , 열기 등을 하는 함수 
CreateFileMappingA : 파일을 생성 , 수정 , 열기(실행) ,메모리접근 가능등을 하는 함수. (열기도함께 포함됨!! )
CopyFileA : 파일을 복사 
FindFirstFileA : 파일이나 디렉터리 검색 
FindNextFileA : FindFirsrtFileA 참조하여 다음 파일/ 디렉터리 검색

 

 

 

2)분석내용 :  파일생성, 실행되고 복사됨 , FindFirstFileA, FindNextFileA  등 파일을 찾는 행위가 이뤄짐 
그러나 어떤파일인지는 파악불가 

 

 

 

 

 

 

Lab01-01.exe 파일에 동일하게 dll 도 있기에 이것도 Dependency Walker로 분석한다 

Lab01-01.dll

 

분석해보면 딱하나 WS2_32.DLL 이 있는걸아는데 이는 아래와 같다 .

 


-WS2_32.dll :  (네트워킹을 연결하기 위한 ) windows socket 통신 라이브러리
(이걸로 통해서 통신을 하기위함 , 외부와통신할수있다.) 

 

 

자세한 설명 : 

WS2_32.dll: Windows 소켓 통신 라이브러리는 네트워크 통신을 위한 Windows API 중 하나다.  이 라이브러리를 사용하여 네트워크 통신을 설정하고 관리할 수 있고 외부 서버나 클라이언트와의 통신에 사용된다.

 

 

CreateProcessA 이게 있는걸봐서 어떤 프로세스를 생성했고 

 


그전에 OpenMutexA 가 실행된걸 생각할수있다

이건 즉, 내가 실행하고있으면 다른것들은 실행못하게 되는데 이걸 deadrock 이라고함 
또한,lab01-01 실행하면서 WS2_32.dll있는걸보니 네트워킹도 하는걸 알수있다

실제로 네트워킹하는지 안하는지는 동적분석하면 알수있다   

 

 

 

 

CopyFileA

CreateFileA

CreateFileMappingA 

WS2_32.dll

OpenMutexA

 

 

 

=============================================================== ============ ============

분석 정리  : 

 


01. 자동화 분석 
1) 분석도구 : 바이러스 토털 사이트 - http://www.virustotal.com
2) 분석결과 : 악성코드 임을 탐지(49/69) , V3 , 알약 모두 탐지 

02. 이 파일은 언제 컴파일 되었는가?
1) 분석도구 : Peview
2) 분석내용 : 2010/12/19 16:16:19 UTC
-NT Header -> File Header : Time Date Stamp


03 이파일은 패킹이 되거나 난독화가 되어있는가?
1) 분석도구 : PEID
2) 분석내용 : 패킹 이나 난독화가 안되어있음 


04 임포트를 보고 악성행위를 알아낼수있는가? 만일 알아낼수있다면 그 임포트가 무엇인가?
1)분석도구 : Dependency Walker 
2)분석내용 :   파일생성, 실행되고 복사됨 , FindFirstFileA, FindNextFileA  등 파일을 찾는 행위가 이뤄짐 

+
CreateFileA : 파일을 생성, 수정 , 열기 등을 하는 함수 
CreateFileMappingA : 파일을 생성 , 수정 , 열기(실행) ,메모리접근 가능등을 하는 함수. (열기도함께 포함됨!! )
CopyFileA : 파일을 복사 
FindFirstFileA : 파일이나 디렉터리 검색 
FindNextFileA : FindFirsrtFileA 참조하여 다음 파일/ 디렉터리 검색

 

 

05. 악성코드가 감염된 시스템에서 검색 할수 있는 파일이나 호스트기반의 증거가 있는가?
1) 분석도구 : strings , OllyDBG , Dependency Walker 
2) 분석내용 : 
-파일 기반 증거 : kernel32.dll 파일을 kerne132.dll 파일로 복사함. 
c:\windows\system32\kerne132.dll
-호스트 기반 증거 : Warning This will destroy your machine (OllyDBG)


06. 감염된 시스템에서 네트워크 기반증거가 있는가? 
 WS2_32.dll
 127.26.152.13(원격지 IP주소로 추측)


07. 이파일의 목적은?
1) Label01-01.exe 파일을 실행
-Label01-01.dll 파일을 설치하기 위한 프로그램 

-kernel32.dll -> kerne132.dll 복제

2) 127.26.152.13 IP 주소로 접속(요청)

> 백도어의 역할 

 

 Lab01-01.dll 분석

1)분석도구 : Dependency Walker 

2)분석내용 : WS2_32.DLL 과 OpenMutexA 를 봐서 네트워킹 통신을 위한 시도를 했고  OpenMutexA 함수를 통해 특정 뮤텍스를 열어 다른 프로세스가 실행되지 못하도록 하는 것을 의미하는 것으로 보인다 

 

=================================================== ============ ============ ============

 

 

 

728x90