본문 바로가기
정보보안/Malware

[Malware] Flare VM을 이용한 악성코드 분석환경 구축

by Murl0c 2021. 7. 11.
반응형

Flare VM은 파이어아이에서 개발하여 오픈소스로 제공하고 있는 악성코드 분석, 정보보안 연구, 리버스 엔지니어링을 위한 가상환경 도구입니다. 설치하는데 시간이 오래 걸리는 편이지만 악성코드 분석 환경으로서 굉장히 유용한 도구들을 제공하기 때문에 FlareVM 환경을 구축하는 방법에 대해 포스팅 하려 합니다.

 

 

 

1. VirtualBox에 윈도우 구축하기

※ 아래 URL에서 버추얼 박스에서 사용할 수 있는 윈도우 가상 환경 파일을 다운 받을 수 있습니다.

https://developer.microsoft.com/ko-kr/microsoft-edge/tools/vms/

 

Virtual Machines - Microsoft Edge Developer

Virtual MachinesTest IE11 and Microsoft Edge Legacy using free Windows 10 virtual machines you download and manage locally Select a downloadVirtual Machines Select oneIE8 on Win7 (x86)IE9 on Win7 (x86)IE10 on Win7 (x86)IE11 on Win7 (x86)IE11 on Win81 (x86)

developer.microsoft.com

 

위 URL에 접속하여 윈도우 파일을 받을 경우 .ova 확장자의 파일이 다운로드 되지만 꼭 .ova 파일로 구성 할 필요는 없습니다. iso 파일이나 기타 다른 virtualbox에서 지원하는 파일을 통해 윈도우 7 이상의 가상 환경만 구축한다면 상관 없습니다.

 

1.1 ISO 파일을 이용한 Virtual Box 가상 윈도우 환경 구성

ISO 파일을 이용해서 버추얼 박스 환경에 윈도우10을 설치했는데 가상 환경에 윈도우 설치만 가능하다면 이 외에 Vmware, QEMU 그리고 Windows 7, Windows10(x64) 등 다른 방법을 사용해도 무방하지만 일부 프로그램의 경우 64비트 환경을 요구하는 경우가 있기 때문에 64비트로 설치하는 것을 추천합니다.

 

 

 

 

설치하는 호스트 OS의 사양이 좋다면 메모리는 여유롭게 할당하는게 좋습니다.

 

 

Flare VM을 설치하는데 약 40GB 이상의 디스크 용량을 요구하기 때문에 윈도우 OS의 설치 용량과 Flare VM 외에 추가 유틸 도구 설치를 위해 약 80GB ~ 100GB의 용량이 필요합니다.

 

 

 

 

 

 

 

 

 

 

 

아래는 게스트 확장 CD 이미지 삽입을 통해 버추얼 박스의 기능을 향상하여 사용할 수 있는 방법입니다. 하지만 최근 Anti VM 기법을 사용하는 악성코드의 경우 게스트 확장 이미지 파일의 설치 여부 및 경로 확인을 통해 악성코드가 제대로 동작하지 않을 수 있기 때문에 선택사항 입니다.

 

버추얼 박스의 경우 윈도우 설치가 완료되면 [장치] 탭의 게스트 확장 CD 이미지 삽입을 클릭 후 내 PC의 CD 드라이버에서 게스트 확장 프로그램을 설치합니다.

 

 

 

 

위 프로그램을 실행 후 다음 > 다음 > 완료를 통해 설치 합니다.

 

 

가상 환경으로 파일을 공유하기 위해 [장치] > [클리보드 공유]에서 호스트에서 게스트로 설정을 하고 [드래그 앤 드롭]에도 동일하게 설정을 합니다.

 

 

버추얼 박스에서 이미지 선택 후 설정 > 일반 > 고급 메뉴에서도 동일하게 구성합니다.

 

 

위 설정을 다 적용하고 정상적으로 동작 한다면 호스트 OS에서 게스트 OS로 복사 후 붙여넣기와 드래그 앤 드롭을 통한 파일 복사가 되지만, 버추얼 박스의 버전 충돌 문제인지 잘 되지 않아 공유 폴더를 설정 했습니다.

 

버추얼박스에서 실행 중인 게스트 OS의 [장치] 탭 > 공유 폴더 > 공유 폴더 설정을 선택 합니다.

 

 

폴더 경로 > 기타를 선택해 공유할 폴더 경로를 선택하고 자동 마운트에 체크한 후 확인을 클릭 합니다.

 

 

 

 

 

정상적으로 공유 폴더 설정이 되었다면 내PC에 공유 폴더가 추가된 것을 볼 수 있습니다.

 

1.2 ISO 파일을 이용한 Virtual Box 가상 윈도우 환경 구성

버추얼 박스 프로그램이 설치되어 있는 상태라면 다운 받은 설치 파일을 실행 했을 때 자동으로 버추얼 박스 프로그램으로 연결되어 가상 환경이 추가 됩니다.

 

 

위 팝업창이 나오면 정상적으로 실행이 된 상태 입니다. 가져오기 버튼을 클릭합니다.

 

 

 

새로 추가된 환경을 확인할 수 있으며 초록색 화살표를 클릭하여 실행합니다.

 

초기 윈도우 패스워드는 Passw0rd! 입니다. MS 공식 홈페이지에서 버추얼 머신용 윈도우를 다운받아 설치할 경우 위와 같은 바탕화면이 나타납니다.

 

1번 설명과 동일하게 공유 폴더를 설정 합니다.

 

2. Flare VM 설치

https://github.com/fireeye/flare-vm

 

fireeye/flare-vm

Contribute to fireeye/flare-vm development by creating an account on GitHub.

github.com

 

 

위 경로에 접속해서 Zip 파일을 다운로드 후 호스트 OS로 파일을 복사합니다.

 

- 호스트 OS

 

- 게스트 OS

 

 

해당 파일을 C:\ 혹은 바탕화면으로 이동 시킨 후 압축을 해제합니다.

 

 

파워쉘을 관리자 권한으로 실행 후 파워쉘 권한 정책을 해제하기 위해 Set-ExecutionPolicy unrestricted 명령어 실행 후 압축을 푼 경로로 이동하여 install.ps1을 실행합니다.

 

 

 

설치 과정에서 재부팅이 될 수도 있고 총 설치 시간은 2시간 ~ 3시간 정도 걸린 것 같습니다.

 

 

설치가 완료되었다면 바탕화면이 변경되고 악성코드 분석, 리버스 엔지니어링, 기타 보안 분석에 필요한 다양한 도구가 설치된 것을 확인할 수 있습니다. 위는 윈도우의 ISO 파일을 따로 구해서 설치했을 때 확인할 수 있으며 MS 홈페이지를 통해 가상환경을 구성했을 경우 파란색의 평가판 화면이 설정 됩니다.

 

 

3. 가상 머신 환경 구성

1) 공유 폴더 삭제

공유 폴더는 호스트와 게스트 OS 사이의 폴더 공유를 통해 연결되어 있는 상태로 악성코드 분석 과정에서 호스트 OS에 영향을 끼칠 수 있기 때문에 삭제가 필요합니다.

 

장치 > 공유 폴더 > 공유 폴더 설정을 클릭합니다.

 

 

오른쪽에 X 박스를 클릭해 제거합니다.

 

2) 윈도우 업데이트 서비스 중지 및 윈도우 디펜더 비활성화

 

 

윈도우 업데이트 서비스를 중지하기 위해 실행(윈도우키 + R) > services.msc를 입력하여 서비스를 실행합니다.

 

 

Windows Update 항목을 더블 클릭 후 Statup type을 Disabled로 수정 후 OK 버튼을 클릭 합니다.

 

다음은 윈도우 디펜더의 실시간 검사 비활성화 방법입니다.

 

 

위 이미지의 순서대로 접근하여 실시간 검사를 해제 합니다. 빨간 네모 버튼 클릭을 통해 진행합니다.

 

 

 

 

 

 

 

실시간 검사(Real-time protection) 아래 항목을 off로 변경합니다.

 

3) 네트워크 어댑터 설정 변경

호스트에서 게스트로만 접근할 수 있도록 어댑터 구성을 호스트 전용 어댑터로 설정합니다.

 

4) 윈도우 게스트 확장 이미지 제거(선택 사항)

게스트 확장 이미지를 제거하면 가상 머신 게스트 OS의 화면, 마우스의 자유로운 이동 등 성능이 낮아지게 됩니다. 하지만 Anti VM 기법을 사용하는 악성코드의 경우 게스트 확장 이미지 파일의 설치 여부 및 경로 확인을 통해 악성코드가 제대로 동작하지 않을 수 있기 때문에 해당 항목은 선택사항 입니다.

 

 

C:\Program Files\Oracle\VirtualBox Guest Addions 경로로 이동하여 uninst.exe 파일을 실행 후 재부팅 합니다.

 

5) 스냅샷 찍기

악성코드 분석 환경 구성이 모두 끝났으므로 스냅샷을 찍어 현재 상태를 저장 합니다.

머신 탭에서 스냅샷 찍기를 클릭합니다.

 

 

스냅샷 이름과 설정을 작성하고 확인 버튼을 클릭해 현재 가상 환경 상태를 저장합니다.

 

반응형