Malicious Code Analysis DAY_009 LAB01-04.exe, Resource Hacker, 리소스 추출, 악성 코드에 자주 사용되는 API, DLL Injection 에서 사용되는 API, File 관련 API, Thread 관련 API, Thread 관련 API, 악성코드 분석, 악성코드..

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

728x90

배울내용:

LAB01-04.exe

Resource Hacker

리소스  추출

악성 코드에 자주 사용되는 API 

 DLL Injection 에서 사용되는 API

 File 관련 API Thread 관련 API

Thread 관련 API

악성코드 분석

악성코드 분석실습

정적 파일 분석도구  

automatic analysis 

Malicious Code Analysis

 

 

 

 지난번에 여기까지 아래의 부분까지 Lab01-04.exe 를 분석했다 

 

 

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

분석 정리  : 

>> 분석 파일 
>> Lab01-04.exe

01 자동화분석
1)분석 도구 : VIRUSTOTAL

2)분석 내용 : 73/62 악성코드로 탐지

02 이 파일은 패킹 되거나 난독화가 되어있는가? 만약, 되어있다면 종류는?
1)분석 도구 : PEiD  
2)분석 내용 : 난독화 X  , Visual C++ 5-6.0
 

03 이파일은 언제 컴파일 되었는가?
1)분석도구 : PEview
2)분석내용 : 2019/08/30 22:26:59 UTC  .

04 임포트를 보고 악성행위를 알아낼수 있는가? 그렇다면 어떤 임포트를 보고알수있는가?
1)분석도구 : Dependency Walker, Strings
2)분석내용 : 
<Kernel33.dll>
> CreateFileA 
> MoveFileA
> WinExec
> WriteFile
> GetTempPathA
> FindResourceA
> LoadResource
> SizeofResource 


> ADVAPI32.DLL
    -AdjustTokenPrivileges : 인증토큰관련 정보를 적용 (수정/변경)
    -LookupPrivilegeValueA : 현재 권한을 확인 
    -OpenProcessToken : 인증토큰오픈 /권한 획득 
=> 권한관련 API 로 보임 (추측)

 

 

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

 

위에 관련된것은 아래의 링크를 가면 다시볼수있다

https://sarimus.tistory.com/110

 

Malicious Code Analysis DAY_008 LAB01-03.exe, LAB01-04.exe, Kernel32.dll , AdjustTokenPrivilege, LookupPrivilegeValueA, OpenProc

배울내용: LAB01-03.exe LAB01-04.exe Kernel32.dll AdjustTokenPrivilege LookupPrivilegeValueA OpenProcessToken WinExec 악성코드 분석 악성코드 분석실습 virustotal PEview strings 정적 파일 분석도구 automatic analysis Malicious Code An

sarimus.tistory.com

 

 

 

여기 포스팅에선 추가적으로 아래의 질문을 찾아볼것이다 


05 감염된 시스템에서 악성코드를 인식했는데, 어떤 호스트, 네트워크 기반증거를
발견했는가? 

06 이파일은 리소스 섹션에 하나의 리소스가 있다. Resource Hacker 를 활용해 리소스를 
점검하고 , 리소스를 추출해보자. 또한 리소스로부터 무엇을 알수있는가? 

 


07. 파일의 시나리오는?
 

 

 

 

 

 

 

 

 

 


05 감염된 시스템에서 악성코드를 인식했는데, 어떤 호스트, 네트워크 기반증거를
발견했는가? 

 

이부분에서는 당연히 String 으로 모든 string을 뽑아서 의심되는게 있나 확인해본다 

 

분석도구 :  Strings

분석내용 :

 

 


 >PE 구조가 2개 보임 
- 실행 파일이 2개 존재함. 
c>\windows\system32\wupdmgr.exe : 파일 다운로드/설치 관련실행파일
Winup.exe 
c>\windows\system32\wupdmgrd.exe : 파일 다운로드/설치 관련실행파일
-http://www.practicalmalwareanalysis.com/updater.exe

 

 

그리고 그외에도 함수에서도 힌트를 얻을수있다 


WinExec 윈도우실행
GetTempPathA : 절대 경로를 가져온다 
URLDownloadToFileA : 다운로드 

 

 

 

 

 

 

 

 


06 이파일은 리소스 섹션에 하나의 리소스가 있다. Resource Hacker 를 활용해 리소스를 
점검하고 , 리소스를 추출해보자. 또한 리소스로부터 무엇을 알수있는가? 

 

1)분석도구 : Resource Hacker 
2)분석내용 :

 Resource Hacker 는 리소스 섹션에 있는 리소스를 확인하고 추출하기 위해서 사용한다.

 

 

 

 

 

 

 파일을 올리게 되면 Peview 처럼 MZ 라는 PE 파일이 보이는것도 볼수있다

 

 

 

>리소스 파일추출 : Action -> resource to BIN -> 확장자.res

리소스추출하는 이유는 리소스로부터 추출된 정보를 기반으로 프로그램의 동작 및 기능을 이해할 수 있다. 예를 들어, 아이콘 리소스는 프로그램의 아이콘을 나타내며, 문자열 리소스는 프로그램의 메시지나 라벨을 포함할 수 있다.

 

 

 

 

 

 

 


>PEiD활용 :  패킹여부확인 : 패킹 안됨 

패킹이 되어있으면 분석할수있는 자료가 한정적이라 패킹이 안되있어야 분석하기 훨씬 수월하다 

 

 

 

 

 

 

>PEview 활용 : PE 구조확인, 리소스데이터 확인 

 

Peview 로도 확인했을때 MZ 라는 PE 구조랑 Section.data 로 경로가 다 나오는걸 볼수있다 

 

 

그럼 전체적으로 정리하면 아래와 같다 

 

 

 

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

분석 정리  : 

>> 분석 파일 
>> Lab01-04.exe

01 자동화분석
1)분석 도구 : VIRUSTOTAL

2)분석 내용 : 73/62 악성코드로 탐지

02 이 파일은 패킹 되거나 난독화가 되어있는가? 만약, 되어있다면 종류는?
1)분석 도구 : PEiD  
2)분석 내용 : 난독화 X  , Visual C++ 5-6.0
 

03 이파일은 언제 컴파일 되었는가?
1)분석도구 : PEview
2)분석내용 : 2019/08/30 22:26:59 UTC  .

04 임포트를 보고 악성행위를 알아낼수 있는가? 그렇다면 어떤 임포트를 보고알수있는가?
1)분석도구 : Dependency Walker, Strings
2)분석내용 : 
<Kernel33.dll>
> CreateFileA 
> MoveFileA
> WinExec
> WriteFile
> GetTempPathA
> FindResourceA
> LoadResource
> SizeofResource 


> ADVAPI32.DLL
    -AdjustTokenPrivileges : 인증토큰관련 정보를 적용 (수정/변경)
    -LookupPrivilegeValueA : 현재 권한을 확인 
    -OpenProcessToken : 인증토큰오픈 /권한 획득 
=> 권한관련 API 로 보임 (추측)

 

 

05 감염된 시스템에서 악성코드를 인식했는데, 어떤 호스트, 네트워크 기반증거를
발견했는가?
분석도구 :  Strings
분석내용 :
 >  PE 구조가 2개 보임 
 > 실행 파일이 2개 존재함. 
c>\windows\system32\wupdmgr.exe : 파일 다운로드/설치 관련실행파일
Winup.exe 
c>\windows\system32\wupdmgrd.exe : 파일 다운로드/설치 관련실행파일
-http://www.practicalmalwareanalysis.com/updater.exe
WinExec 윈도우실행
GetTempPathA : 절대 경로를 가져옴
URLDownloadToFileA : 다운로드 


06 이파일은 리소스 섹션에 하나의 리소스가 있다. Resource Hacker 를 활용해 리소스를 
점검하고 , 리소스를 추출해보자. 또한 리소스로부터 무엇을 알수있는가?
1)분석도구 : Resource Hacker 
2)분석내용 : 
>리소스 파일추출 : Action -> resource to BIN -> 확장자.res
>PEiD활용 :  패킹여부확인 : 패킹 안됨 
>PEview 활용 : PE 구조확인, 리소스데이터 확인 

 


06-1 파일의 시나리오는?
1)원격지에 있는 -http://www.practicalmalwareanalysis.com/updater.exe
2) c:\wondows\system32\wupdmgrd.exe 로 파일명 이걸로 변경
3) Winexec Api로 파일을 실행함 
(정적분석으론 모름.  ->  동적분석으로 확인해야함. )
=> 백도어 (Backdoor) 로 판단됨 

 

 

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

 

이렇게 Lab01-01~ Lab01-04 분석이 끝났다 

분석하면서 다양한 API 및 함수를 봐왔는데 아래의 함수들을 잘 알아두면 좋다 

 


[악성 코드에 자주 사용되는 API]

 


>DLL Injection 에서 사용되는 API
-OpenProces
-VirtualAllocEx
-WriteProcessMemory
-LoadLibrary
-GetProcAddress
-CreateRemoteThread

 

 

 

 

 

 


>Resource 섹션에 있는 리소스 사용 API
-LoadResource
-SizeofResource
-LockResource 
-FreeResource
-FindResourceA

 



>특정 파일 이름 확인// 특정 파일을 읽고, 생성, 기록, 복사 ,이동
-WriteFile
-ReadFile
-DeleteFileA
-CreateFileA
-CopyFileA
-CreateProcessA
-FindFirstFileA
-FindNextFileA

 

 


>File 관련 API
-WriteFile
-ReadFile
-CreateFile
-CopyFile
-MoveFile

 

 




>Thread 관련 API
-LoadLibrary
-CreateThread
-ResumeThread
-CreateRemoteThread

 



>기타 API
-CreateMutex
-CreateCaptureWindows
-ClientScreen

 

 


>메모리 관련 API
-VirtualAlloc
-VirtualFree
-VirtualProtect

 

 

 

주로나오는거니 알아두면 좋다 

외울필요는 없이 영어 단어를 해석만해도 어떤 기능의 API 인지 알수가 있다 . 

 

 

 

 

728x90