본문 바로가기

악성코드 분석

GINA intercept 악성코드 분석

반응형

지난 시간에 배웠던 GINA intercept에 이어서 이를 이용한 악성 code를 분석해보도록 할게

 

 

 

악성 code 행위분석

 

악성 code program을 실행하고 process monitor로 동작상태를 확인해봤어

악성 code를 실행하니까 바탕화면에 msgina32.dll이라는 file이 새롭게 생성되고

Winlogon을 실행할 때 import 하는 GINADLL에 대한 registry key 값을 변경한 것을 볼 수 있어

writefile = file 수정 및 작성

RegSetValue = registry에 있는 value 변경

 

 

 

인증과 관련된 악성 code이기 때문에 어떤 동작들을 하는지 살펴보기 위해서

windows에 새로운 user를 생성해볼게

 

 

 

그리고 rebooting하면 msutil32 이라는 새로운 file이 등록된 것을 볼 수 있어

 

 

 

이게 무슨 file인가 확인해보면...!

 

방금 전에 내가 새롭게 만든 계정정보와 password가 올라온 것을 볼 수 있어

key logging 기능이 들어간 악성 code인 것 같은데

간단하게 어떤 동작을 하는지 살펴봤으면 제대로 분석해봐야겠지?

string 분석 들어갑니다~

 

 

 

 

 

 

정적분석 (string, IDA)

 

 

string 분석을 보면 Winlogon이 위치한 HKLM registry key에 접근하고

msgina32.dll이 실행된 것을 볼 수 있어

그러면 msgina32.dll은 어떻게 제작되고 실행된 걸까?

 

 

 

 

 

 

처음 실행file을 분석할 때 

GetModuleHandleA, GetModuleFileNameA 라는 두 개의 API들이 실행되는 것을 볼 수 있는데

Ollydbg로 이를 좀 더 분석해보면

지정된 module에 대한 handle을 검색하고 module을 포함하는 file의 경로를 검색하게 돼

우리가 실행시킨 악성code file의 위치와 이름이 포함되는 걸 볼 수 있지

 

 

 

 

SizeofResource에서 EAX에 3A0000을 저장해서 해당 주소를 VirtualAlloc API의 

가상 공간 할당에 사용할 주소로 쓰고 있어 

 

 

 

 

 

memory 주소가 지정되고 가상 메모리를 추가하기 전에는 빈 공간이었다가

VirtaulAlloc API가 실행되면서 가상 메모리에 실행 file에 대한 data가 채워진 것을 볼 수 있어

즉, 3A0000은  data가 할당될 공간이라는 걸 유추할 수 있지! 

 

 

 

그리고 마지막으로 해당 file의 이름을 msgina32.dll로 설정하게 된 것을 볼 수 있지!

여기까지 살펴본게 악성 code를 실행하고 msgina32.dll이 어떻게 생성되었는지 그 과정을 확인해본거야

 

 

 


 

 

Reistry key value 변경

 

msgina32.dll을 생성했으니 이제 어떤 동작을 수행하는지 확인해봐야겠지?

생성된 후 첫번째 subroutine인 401000에 들어가니 바로 RegCreateKey와 RegSetValue API들이 실행되는 걸 볼 수 있어

RegCreateKey는 registry key를 생성하는 동작도 하지만 기존에 있는 key를 여는 기능도 있어!

그래서 winlogon key를 열고 해당 key의 value를 RegSetValue API로 설정하는거야

 

 

HKEY = 열려 있는 registry key에 대한 handle, 여기서 HKEY는 HKLM이다.

SubKey = 해당 함수가 열거나 생성하는 key의 이름, 여기서 Subkey는 winlogon이다.

 

 

 

 

 

 

lpValueName = 설정할 값의 이름, 여기서 이름은 GinaDLL로 설정했다.

ValueType = 저장할 data의 type, 여기서는 REG_SZ로 설정되어 문자열 기반의 data임을 알 수 있다.

 

 

 

 

regedit으로 registry key를 확인한 결과 

GinaDLL 이라는 key value에 msgina32.dll data가 들어간 것을 볼 수 있어!

즉, winlogon을 실행하면 GinaDLL을 실행하게 되는데 실행하는 key의 value에 msgina32.dll이 intercept 된거지!

 

 

여기까지 분석한 결과 우리가 실행한 악성code file의 목적은 이렇게 간단히 정리할 수 있어!

msgina32.dll을 생성해내고 

winlogon registry key에 GINADLL을 생성하여 dll을 winlogon에 연결시키는 행위를 한다.

 

그렇다면, msgina32.dll이 수행하는 행위들이 있을텐데 이는 다음 시간에 이어서 분석해보도록 할게!

 

반응형

'악성코드 분석' 카테고리의 다른 글

Wannacry 랜섬웨어 분석 1  (0) 2024.07.06
RAT 공격 정리  (0) 2023.04.06
kernel32.dll vs kernel132.dll (feat. 악의적인 program)  (0) 2023.01.19
DoS 공격분석 (feat. IDA)  (0) 2023.01.14
LAB1-2 (악성코드분석)  (1) 2023.01.12