Information Security 정보보안/Malicious Code Analysis 악성 코드 분석

Malicious Code Analysis DAY_008 LAB01-03.exe, LAB01-04.exe, Kernel32.dll , AdjustTokenPrivilege, LookupPrivilegeValueA, OpenProcessToken, WinExec, 악성코드 분석실습, virustotal, PEview, strings, 정적 파일 분석도구, automatic analysis, ..

사리머스 2024. 3. 20. 22:15
728x90

배울내용:

LAB01-03.exe

LAB01-04.exe

Kernel32.dll

 AdjustTokenPrivilege

LookupPrivilegeValueA

OpenProcessToken

WinExec

악성코드 분석

악성코드 분석실습

virustotal 

PEview

strings

정적 파일 분석도구  

automatic analysis 

Malicious Code Analysis

 

 

 

  

이번시간에는 Lab01.03.exe 파일을 분석해보자 

 

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

 

 

 

 


01 자동화분석


1)분석 도구 : VIRUSTOTAL

 


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

 

 

 

 

 

 


02 이 파일은 패킹 되거나 난독화가 되어있는가? 만약, 되어있다면 종류는?


1)분석 도구 : PEiD, Exeinfo PE,  Vmunpacker 

 

 

 

 

 

2)분석 내용 : 패킹돼있음,  FSG1.0 (패킹프로그램) 

ExeinfoPE 에서는 Unknown exe 로만 보였지만 PEiD 에서는 PSG 라는 패킹프로그램으로 패킹이 되어있는걸 볼수있다

 

 

 

 

 


03. 임포트를 보고 악성행위를 알아낼 수 있는가? 


1) 분석도구 : Dependency Walker , Strings ,OllyDBG

 

 

패킹되어있는 상태에서는 string.exe Lab01-03.exe 를해서 string을 다봐도 정보가 거이 없음을 알수있다

 

Strings 로 확인 

 

 

 

Dependency Walker 로 확인 

 

 

 

잘안보이지만 언패킹을한뒤에 보게되면 더많은 함수를 볼수있다

 

지난시간처럼 upx.exe 에 있는 파일에 Lab01-03.exe 를위치하고

upx.exe -d Lab01-03.exe 를해서 Unpacking 을해준다 

그리고 확인하면 더 많은 함수를 찾을수있다 

 

 

 


04. 감염된 시스템에서 악성코드로 인식되는 호스트 나 네트워크 기반이 있는가?

 

그렇게 찾은것들중에 아래처럼 호스트와 네트워크으로 나눠서 찾았다 

 


>호스트기반 :  Kernel32.dll - LoadLibraryA(DLL파일 오픈) , GetProcAddress(DLL안에 함수오픈) 프로세스 주소 가져오는 함수 

>네트워크 기반 : http://www.malwareanalysisbook.com/ad.html

 

 

 

 

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

분석 정리  : 

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

01 자동화분석
1)분석 도구 : VIRUSTOTAL
2)분석 내용 : 71/61 악성코드로 탐지


02 이 파일은 패킹 되거나 난독화가 되어있는가? 만약, 되어있다면 종류는?
1)분석 도구 : PEiD, Vmunpacker 
2)분석 내용 : 패킹돼있음,  FSG1.0 (패킹프로그램) 
 

03. 임포트를 보고 악성행위를 알아낼 수 있는가? 
1) 분석도구 : Dependency Walker , Strings ,OllyDBG
2) 

04. 감염된 시스템에서 악성코드로 인식되는 호스트 나 네트워크 기반이 있는가?
1) 분석도구 :  
 
>호스트기반 :  Kernel32.dll - LoadLibraryA(DLL파일 오픈) , GetProcAddress(DLL안에 함수오픈) 프로세스 주소 가져오는 함수 

>네트워크 기반 : http://www.malwareanalysisbook.com/ad.html


05. 이 파일의 목적은?
http://www.malwareanalysisbook.com/ad.html 로 유도하는 백도어 추측

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

 

 

 

 

 

 

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

 

 

 


01 자동화분석


1)분석 도구 : VIRUSTOTAL


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

 

 

 

 

 

 


02 이 파일은 패킹 되거나 난독화가 되어있는가? 만약, 되어있다면 종류는?


1)분석 도구 : PEiD  

 

 


2)분석 내용 : 난독화 X  , Microsoft Visual C++ 5-6.0
패킹되었을때와 안되어있을때의 차이점을 잘아는게 중요하다  (또한 안되있으면 패킹해보면서 비교해보기도한다 )

 

 

 

 

 


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

1)분석도구 : PEview

 

 

 

 


2)분석내용 : 2019/08/30 22:26:59 UTC 

 

 

  



04 임포트를 보고 악성행위를 알아낼수 있는가? 그렇다면 어떤 임포트를 보고알수있는가?


1)분석도구 : Dependency Walker, Strings

 

 

KERNEL32.DLL 의 함수를 보면 여럿함수가 있는걸 볼수있다. 

 

 

자세히보면 AdjustTokenPrivilege, LookupPrivilegeValueA, OpenProcessToken 이 있는걸로봐

인증과 관련된게 있다고 본다 

 

물론 String.exe 를 이용했을때 더많은 정보를 얻을수있지만 중요한 것들만 뽑아내면 아래와 같다고 본다

 


2)분석내용 : 
<Kernel33.dll>
> CreateFileA 
> MoveFileA
> WinExec
> WriteFile
> GetTempPathA
> FindResourceA
> LoadResource
> SizeofResource


이렇게 봐서는 모르기에 기능과  예측된 공격을 테이블로 설명하면

아래와 같다

 

 

 

 

 

 

예측된 공격으로는 다음과 같은 시나리오가 가능하다:

  1. 파일 조작 및 실행: CreateFileA와 MoveFileA를 사용하여 시스템에 악성 파일을 생성하고 이동시킨 후, WinExec를 사용하여 해당 파일을 실행하여 악성 코드를 실행시키는 것이 가능하다.
  2. 정보 유출: WriteFile을 사용하여 시스템에서 수집한 정보를 파일에 쓸 수 있다. 이 정보는 이후 공격자에 의해 수집되거나 전송될 수 있다.
  3. 리소스 악용: FindResourceA 및 LoadResource를 사용하여 시스템의 리소스를 확인하고 활용할 수 있다. 이를 통해 악성 코드는 실행에 필요한 추가 리소스를 동적으로 가져올 수 있다.

이러한 함수의 조합은 파일 조작, 실행, 정보 유출 및 추가적인 시스템 침투를 목적으로 하는 다양한 유형의 악성 코드에 사용될 수 있다.

 

 

 

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

분석 정리  : 

>> 분석 파일 
>> 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 감염된 시스템에서 악성코드를 인식했는데, 어떤 호스트, 네트워크 기반증거를
발견했는가? 

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

 


07. 파일의 시나리오는?
 

728x90