VirtualBox
악성코드를 분석하는 과정에서 실제 사용중인 컴퓨터로 할 경우 위험할수 있으므로 가상 머신이라는 컴퓨터속 컴퓨터를 만들수 있는 프로그램을 이용해서 환경을 구축하겠습니다. https://www.virtualbox.org/wiki/Downloads 위 사이트에 들어가서 다운도르 받으면됩니다.
Window 10 64bit
일단 윈도우 환경 부터 만들겠습니다. window 10을 사용할 것이며, 단순 악성코드 분석용이므로 빠르게 환경만 구축하고 나가겠습니다.
https://www.microsoft.com/ko-kr/software-download/windows10%5C 위 사이트에서 window10 iso파일을 만들어주는 프로그램을 다운로드해서 iso 파일을 먼저 만들어 주세요.
Remnux
실제 악성코드는 C2 서버와 통신을 하면서 악성 프로그램을 다운로드 받습니다. 저희는 경리된 환경에서 해야하므로 실제 C2서버와의 통신이 불가능한데요. 이때 INETSIM이라는 도구를 이용하면 실제 C2서버의 요청 없이도 가짜 DNS 서버를 보여줌을 통해서 악성코드의 행위를 분석할 수 있습니다. 이런 INETSIM의 환경을 저희는 Remnux라는 리눅스 기반의 운영체제를 이용해서 구축하겠습니다.
https://remnux.org 위 사이트에 들어가면
다음 화면을 볼수 있습니다. 여기서 Download 버튼을 클릭합니다.
그럼 다음과 같은 화면을 찾을수 있는데, 자신이 사용하는 가상 머신 환경을 선택해서 다운로드 하면됩니다. 저의 경우 VirtualBox를 이용하므로 Virtual Box로 다운로드 하겠습니다
다운로드 하고 나면 PNAT 폴더에 들어가서 해당 vm을 실행시키면 됩니다.
Flare-vm
위에서 window 10 환경 설정이 되었을 것입니다. 저희는 여기서 flare-vm이라는 악성코드 분석 환경을 자동으로 구축해주는 window opensource를 사용할 것입니다.
1. window defender 끄기
먼저 flare-vm의 원활한 설정을 위한 defender 부터 끄도록 하겠습니다.
모든 보안 설정을 다 꺼주셔야 원활한 환경 구성이 가능합니다!
2. proxy 끄기
Proxy Settings > 프록시 끄기
3. edit group policy에서 보안 설정 끄기
- Administrative > Windows Components > Microsoft Defender Antivirus > Turn off Microsoft Defender Antivirus에 들어가서 enable로 설정해주세요.
- Administrative > Network > Network Connections > Windows Defender Firewall > Domain Profile > Windows Defender Firewall : Protect all network connections를 disable로 설정해주세요.
- Administrative > Network > Network Connecitons > Windows Defender Firewall > Standard Profile > Windows Defender Firewall : Protect all network connections를 disable로 설정해주세요.
4. Flare-VM 설치 환경 설정
지금부터 사용할 모든 명령어는 power-shell을 기준으로 작성되었습니다. 또한 관리자 권한이 아닐 경우 오류가 발생할수 있으니 꼭 관리자 권한으로 powershell을 실행해 사용해주세요!
(New-Object net.webclient).DownloadFile('https://raw.githubusercontent.com/mandiant/flare-vm/main/install.ps1',"$([Environment]::GetFolderPath("Desktop"))\install.ps1")다음 명령어를 통해서 flare-vm의 실행 파일을 만들어주는 명령어를 실행하겠습니다.
해당 명령어를 실행할 경우 바탕 화면에 install.ps1이라는 flare-vm을 자동으로 다운로드하고 환경 설정해주는 프로그램이 생길것입니다.
UnBlock-file .\install.ps1명령어를 통해서 윈도우 보안 시스템에 의해 실행이 차단되지 않도록 install.ps1 파일에게 권한을 주도록 하겠습니다.
Set-ExecutionPolicy Unrestricted.\install.ps1 -customConfig https://raw.githubusercontent.com/HuskyHacks/PMAT-labs/main/config.xml이제 flare-vm을 설치하기 위해서 실행하겠습니다. 그 전에 flare-vm의 경우 많은 설정을 해야하므로 github에 있는 xml 파일을 통해서 자동으로 환경 설정이 되도록 만들겠습니다. (위 과정에서 많은 시간이 소유될수 있습니다.)
분석 네트워크 설정
virtualbox로 가서 다음과 같은 네트워크 설정 화면으로 가서 network를 설정하겠습니다.
- Create
- DHCP Enable
- VirtualBox Host-only Adapter2 설정하기
- Adapter
- IPv4 Address : 10.0.0.1
- IPv4 Network Mask : 255.255.255.0
- DHCP Server
- IPv4 Address : 10.0.0.2
- IPv4 Network Mask : 255.255.255.0
- Lower Address Bound : 10.0.0.3
- Upper Address Bound : 10.0.0.254
- Adapter
- 설정 > network > NAT 에서 Host-only Adapter로 설정 > VirtualBox Host-only Adapter2를 Adapter1에 메인 네트워크로 설정하기
- Remnux도 위와 동일한 네트워크 설정하기
INetSIM 설정
sudo nano /etc/inetsim/inetsim.confinetsimhttp://10.0.0.5 위로 접속할수 있는 것
악성코드 다운로드 받기
https://github.com/HuskyHacks/PMAT-labs 위 github에 있는 악성코드를 바탕으로 수업이 진행됩니다.
악성코드 분석시 지켜야할 수칙
- 모든 실행 파일 뒤에는 .malz와 같은 방어책을 하나더 나둬야한다.
- 모든 악성 코드는 압축시 암호를 걸어야 한다.(통상적으로 infected를 많이 사용함.)
악성코드 샘플 구할수 있는 좋은 사이트
- PMAT Labs: https://github.com/HuskyHacks/PMAT-labs
- theZoo: https://github.com/ytisf/theZoo
- vx-underground main site: https://www.vx-underground.org/
vx-underground 공식 웹사이트: https://www.vx-underground.org/ - vx-underground GitHub repo: https://github.com/vxunderground/MalwareSourceCode
vx-underground의 GitHub 리포지토리: https://github.com/vxunderground/MalwareSourceCode - Zeltser Resources: https://zeltser.com/malware-sample-sources/
- MalwareBazaar: https://bazaar.abuse.ch/