본문 바로가기

악성코드 분석

동적분석 (LAB 3-1)

반응형

악성코드 동적분석 

 

지난 시간까지는 악성코드 분석기법 중 정적분석에 대해서 공부를 해봤어 (string 분석, PE 분석)

이번 시간에는 악성코드를 가상머신에서 직접 실행해보면서

어떤 동작을 하는지 하나씩 분석해보는 동적분석을 진행해보도록 할거야

새로운 Tool을 사용할 예정이니까 하나씩 잘 따라와보도록 해...!!

windows xp에서 LAB03-01.exe 파일 분석 들어갑니다~

 

 

 

 

 

 

1. PEid 분석

 

 

imports 함수를 보려고하니 exitprocess 밖에 없네...?? 난독화나 암호화가 진행된 것을 알 수 있지

 

pe분석을 해보려했지만 암호화가 걸려있네?

그렇다면 string 분석을 시도해보도록 하지 string 분석을 해보니까...!!

 

 

 

 

 

- SOFTWARE\Microsoft\windows\currentVersion\Run --> host기반의 signature

자동실행을 시키는 레지스트리키로 컴퓨터를 종료 후 다시 시작해도 지속성을 갖고 있는 특성으로 인해

영구적으로 실행되는 레지스트리키야

 

 

- CONNECT HTTP/1.0 --> network 기반의 signature

http 통신을 통해서 연결을 취하는 것을 보아하니 인터넷 연결을 하도록 하는 악성코드임을 알 수 있겠지?

 

 

이정도까지가 우리가 배운 정적분석으로 알아낼 수 있는 부분인듯해!
이제 여기서부터 proc monior로 동적분석 들어갑니다

 

 

 

 

 

[동적분석시 사용하는 tool]

 

proc monitor --> 프로세스 모니터링
procexp --> 프로세스 상세분석 tool 
접근하는 모든 프로세스에 대해 전부 모니터링하고 있음을 볼 수 있도록 하는 tool들이야

한번 실행해보도록 할께

 

process explorer 실행 모습

 

여기보면 svchost.exe 라는 실행파일들이 많이 나와있지?

svchost.exe란 service host라는 의미의 실행파일로 service.msc 명령을 통해서 해당 리스트들을 볼 수 있어

리눅스에서 데몬는 데몬, 윈도우에서는 svchost라고 불리고 있지

 

services.msc 명령으로 windows의 service list들을 볼 수 있어

 

 

process monitor 실행했을 때 모습

 

 

자  동적분석 tool들을 다 확인했으니 네트워크를 꺼주고 이제 lab3-2.exe를 실행시켜보도록 하자..!

실행하고 나면 lab3-2.exe 가 process explorer에 나타나게 되는데 view에서 lower pane view --> handle을 확인해보자

 

 

type 에 Mutant라고 되어있는 부분 보이나요?

 

--> HANDLE

handle은 접근하고 있는 레지스터에 대한 키 내용들과 디렉토리들을 볼 수 있고
mutant가 있는 것을 보니 중복실행을 막고 있다는 것을 파악할 수 있어

 

 

 

 

--> DLL

해당 EXE 파일이 접근하고 있는 DLL들에 대한 모든 정보를 확인할 수 있는데
WS2_32.DLL을 보아하니 window socket을 사용하고 있다는 것을 볼 수 있었어
이 뜻은 바로 network를 사용하는 파일이네요..!! 라고 해석할 수 있지

 

 

 

이번에는 process monitor로 넘어가서 어떤 레지스트리키와 API 함수들이 사용되었는지 자세히 모니터링 해보도록 할께

정적분석은 근거나 추리를 통한 예측을하지만
동적분석은 그 추리에 대해서 맞는지 그 근거를 찾아가는 방식 --> 스크린샷으로 이를 남긴다.
lab3-1.exe 파일에 대한 ps만 확인하도록 apply해서 분석하자

 



동적분석을 하면서 가장 중요하게 봐야할 부분은 바로 어떤 행위들이 진행됐는지를 봐야해!
즉, 동적분석에서 가장 중요하게 봐야하는 것은 바로 write나 setting(값을 바꾸는 행위)을 봐야한다는 뜻이야

 

 

 

 


filter --> operation에서 writefile, writeconfig, regsetvalue, tcp send 를 넣어서 확인해보자
위의 사진이 바로 동적분석 기본 세팅이야
확인해보니 첫 writefile에 c:\windows\system32\vmx32to64.exe 경로가 생겨있다.

즉, vmx32to64.exe 라는 실행file이 생성되었다는 뜻인데, 진짜로 생겼는지 경로를 따라 가볼까??

 

와.... 진짜로 생겼네

 

바로 밑에는 레지스트리키에 대한 접근을 하는 것 같은데......
SOFTWARE\Microsoft\windows\currentVersion\Run\VideoDriver
여기에 vmx32to64.exe를 이 레지스트리키가 참조하고 있음을 볼 수 있다..!
run 위치는 컴퓨터가 꺼져도 자동으로 실행되는 공간이야 

regeidt으로 레지스트리키를 확인해보는 명령을 통해 해당 경로를 따라 들어가보면

vmx32to64.exe가 레지스트리 값에 들어간 것을 볼 수 있어

 

 

 

 

 

 

그래서 이제 이를 확인하기 위해 재부팅을 해보도록 할께..!
부팅 이후에도 해당 프로그램이 자동으로 실행되는지 확인해보기 위해 재부팅 실행!

 

 

 


procexp를 실행해보면 vmx32to64.exe가 실행되고 있음을 볼 수 있다..!
동시에 ws2_32.dll을 사용하고 있는 것을 볼 수 있어

즉, windows socket을 통해 인터넷 연결을 실행하고 있다는 것을 유추해낼 수 있지

 

요거요거 수상해 수상해...!

 

 

이제 apatedns를 실행시켜보도록 하자

apatedns는 local 영역에서 dns를 읽어드리는 tool로서
직접 인터넷에 연결하지 않더라도 local에서 해당 dns string을 읽어서 어디로 요청하고 있는지 확인하는 프로그램이야

즉, tcp로 보내는 data를 string으로 잡아서 출력하는 프로그램이야

 


aptedns를 통해서 어느곳으로 network traffic이 흘러가는지 dns 주소를 확인할 수 있는데.......
www.practicalmalwareanalysis.com라는 곳으로 지금 연결되고 있음을 볼 수 있어

 

 

 

 



 

 

## 악성코드 분석내용을 정리하자면......!! ##

 


mutant로 중복실행은 방지되고 해당 exe만 실행되도록 하고 있고
3-1.exe가 실행되어 vmx32to64.exe로 바꿔서 올린다음 레지스트리를 통해서 레지스터에 등록
부팅시 바로 자동실행할 수 있는 registry에 등록할 수 있도록 만든 악성코드인 것 같다...!

그리고 www.practicalmalwareanalysys.com을 찾아서 52바이트의 데이터를 전송한 것으로 추정된다
또한,재부팅 후에도 계속해서 실행파일이 돌아가고 있음을 알 수 있다...!!

 

 

 

 

** Windows Registry key 정보 **  (이건 중요해서 따로 정리해봤어~)

HKEY-CLASSES-ROOT --> 확장자 정보 
HKEY-CURRENT-USER --> 계정의 전체 정보
HKEY-LOCAL-MACHINE --> 소프트웨어랑 환경 (HKLM) 실제 윈도우 안에 있는 sw,hw 정보를 담고 있음
HKEY-USERS --> 계정의 개별 정보
HKEY-CURRENT-CONFIG --> windows 안에 있는 내용 (현재 설정 내용)

 

 

 

 

여기까지가 오늘 동적분석에 대한 내용이었어

다음 시간에도 이어서 동적 분석을 진행해보도록 할께

가면갈수록 어려워지지만 잘 따라와보도록~

 

 

 

반응형

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

LAB1-2 (악성코드분석)  (1) 2023.01.12
PE 분석(2)  (0) 2023.01.12
악성코드란..??  (1) 2023.01.12
PE 분석  (0) 2022.11.02
Key Logger 분석  (0) 2022.08.04