2024. 3. 18. 23:34ㆍInformation Security 정보보안/Malicious Code Analysis 악성 코드 분석
배울내용:
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 함수를 통해 특정 뮤텍스를 열어 다른 프로세스가 실행되지 못하도록 하는 것을 의미하는 것으로 보인다
=================================================== ============ ============ ============