Information Security ˗ˋˏ ♡ ˎˊ˗

Security/Reversing

[악성코드동적분석] PracticalMalwareAnalysis-Lab03-01 분석

토오쓰 2020. 7. 28. 20:43

 

"실전 악성코드와 멀웨어 분석(Practical Malware Analysis) 책의

실습 부분을 공부하고 작성한 분석 보고서"

 

 

 

사용한 파일

[Lab03-01.exe]

 

가상 환경

Windows XP Professional

 

실습 3-1) 기초 동적 분석 도구를 이용해 Lab03-1.exe 파일에서 발견된 악성코드를 분석하라.

1) 악성코드의 임포트 함수와 문자열은 무엇인가?

Kernel32.dll에 ExitProcess 함수만 사용한다.

패킹이 되어있는지 확인해본다.

 

'junkcode'라는 패커로 패킹이 되어있는 것을 알 수 있었다.

 

다음은 strings로 확인해보기

텍스트 파일로 결과를 저장시킨다.

많은 레지스트리 키가 나오는 것을 알 수 있다.

SOFTWARE\Microsoft\Windows\CurrentVersion\Run 보면 악성코드 Lab03_01.exe파일은 자기 자신을 자동 실행시키는 데 이용한다고 예측할 수 있다.

또 다른 특이점은 웹사이트를 접속해서 어떤 행위를 하는 것도 예측할 수 있다.

VideoDriver

WinVMX32-

vmx32to64.exe

위에 파일을 악성코드가 생성할 것 같다고 예측할 수 있다.

위에 값들을 봤을 때 런 레지스트리에 등록하는 자신의 레지스트리 이름이 VideoDriver이거나 WinVMX32 일 확률이 있을 것 같다.

행위 분석을 통해 string들과 연관시켜 분석을 해야 한다.

 

2) 악성코드임을 의미하는 호스트 기반 표시자는 무엇인가?
호스트 기반 표시자: 감염 피시에 일어나는 모든 파일 행위, 레지스트리 변경행위를 뜻한다.
행위 분석을 하기 위해 strings의 결과를 저장한 txt 파일을 이용한다.

 

동적 행위 분석을 위한 프로그램
- process monitor: 파일 생성, 파일 덮어쓰는 행위를 모니터링, 레지스트리를 쓰는 등을 분석하는 것

파일을 위한 조건

 

레지스트리를 모니터링하기 위한 필터

 

VideoDriver 문자열은 run 레지스트리에 자기 자신을 등록하기 위한 레지스트리 키였다.

레지스트리 키를 생성하는 것

 

 

vmx32to64.exe: exe파일이 system32 밑에 생성하는 파일이 이름이었다.

새로운 파일인지 확인하는 방법: 해시값

해시값을 이용하는 프로그램: 해시탭

 

해시값이 같다

Lab03-01.exe파일이 자기 자신을 복사해서 system32 폴더 밑에 다른 vmx32to64.exe 파일을 생성하는 것을 알 수 있다.

system32 폴더를 악성코드들이 자주 사용하는 이유는 다양한 파일들이 존재하기 때문에 자기 자신이 어디 있는지 분석가가 알아채기 힘들다.

 

run 레지스트리 행위 확인

Description과 company name이 없는 경우, 악성코드일 경우가 높다.

 

strings에 봤던 winvmx32라는 문자열을 볼 수 있다.

mutant를 이용한다는 것을 알 수 있다.

 

3) 악성코드를 인식할 수 있는 유용한 네트워크 기반의 시그니처가 존재하는가? 있다면 무엇인가?

Lab03-01.exe파일이 사용하는 라이브러리 확인하기

악성코드가 메모리에 올라가며 압축이 해제한다

-> 압축 해제되면 더 많은 코드가 실행이 되며 다른 라이브러리들이 실행이 될 것이다.

윈도우에 접속해서 어떤 행위를 할 것이라고 추측할 수 있다.

strings에 있었던 또 다른 문자열: www.practicalmalwareanalysis.com

스냅샷을 통해 새롭게 진행한다.

443 포트에 붙어서 무엇인가 행위를 하는 것을 알 수 있다.

이 정보에 대해서 자세히 알고 싶으면 TCP Stream을 확인한다.

데이터를 주기적으로 보내고 있다는 것을 알 수 있다.

동일한 내용의 패킷을 그 사이트에 보낸다.

 

악성코드가 보내는 것을 가로채서 확인하는 방법

C드라이브 -> drivers -> etc 폴더 -> hosts 파일을 수정

hosts 파일의 역할 : www.practicalmalwareanalysis.com의 ip를 알려달라고 물어보면 DNS 서버가(나와 연결된) 어떤 ip를 알려준다. 근데 hosts 파일에 미리 작성을 해놓으면 작성된 ip주소로 리다이렉션을 시킨다. 이 PC를 통해서 접속을 할 때, 127.0.0.1로 접속이 되도록 변경해준 것이다.

 

netcat을 사용하여 443 포트를 리스닝하고 있는다.

Lab03_01 파일을 실행시켰을 때, 웹사이트에 어떤 문자열을 보내는 것을 알 수 있다.

 

두 개의 EXE 파일이 서로 연결되어 있는 것을 알 수 있다.

Lab03_01.exe 파일은 nc.exe가 주는 명령에 따라 다르게 동작하는 것인지 유추할 수 있다.

 

 

참고

https://practicalmalwareanalysis.com/labs/

 

Labs

The Practical Malware Analysis labs can be downloaded using the link below. WARNING The lab binaries contain malicious code and you should not install or run these programs without first setting up…

practicalmalwareanalysis.com