Malicious Code Analysis DAY_008 LAB01-03.exe, LAB01-04.exe, Kernel32.dll , AdjustTokenPrivilege, LookupPrivilegeValueA, OpenProcessToken, WinExec, 악성코드 분석실습, virustotal, PEview, strings, 정적 파일 분석도구, automatic analysis, ..
배울내용:
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
이렇게 봐서는 모르기에 기능과 예측된 공격을 테이블로 설명하면
아래와 같다
예측된 공격으로는 다음과 같은 시나리오가 가능하다:
- 파일 조작 및 실행: CreateFileA와 MoveFileA를 사용하여 시스템에 악성 파일을 생성하고 이동시킨 후, WinExec를 사용하여 해당 파일을 실행하여 악성 코드를 실행시키는 것이 가능하다.
- 정보 유출: WriteFile을 사용하여 시스템에서 수집한 정보를 파일에 쓸 수 있다. 이 정보는 이후 공격자에 의해 수집되거나 전송될 수 있다.
- 리소스 악용: 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. 파일의 시나리오는?