Stwórz laboratorium do analizy wirusów komputerowych
12.03.2022 Dawid Farbaniec

Jest całkiem jasne, że nikt nie powinien uruchamiać złośliwego oprogramowania w swoim systemie. Potrzebne jest izolowane środowisko. Ten tekst opisuje, jak stworzyć bezpłatne i bezpieczne środowisko do nauki analizy złośliwego oprogramowania.
Każdy ma swoje ulubione narzędzia. Przedstawione tutaj rozwiązania to nie jedyna droga, a alternatyw jest wiele. Przy wyborze rozwiązań skupiłem się na doborze aplikacji, które są bezpłatne i przyjazne dla początkujących czytelników.
1. Analiza statyczna odbywa się bez wykonywania kodu. Chodzi o analizę właściwości plików, odczytanie zdekompilowanego kodu itp.
2. Analiza dynamiczna polega na wykonaniu złośliwego kodu w izolowanym środowisku.
1. Analiza automatyczna daje przegląd zachowania próbki złośliwego oprogramowania i definiuje hipotezy, które można później spróbować potwierdzić. Można to zrobić np. za pomocą piaskownicy.
2. Analiza statyczna podaje pewne właściwości próbki złośliwego oprogramowania, które mogą być później uwzględnione jako Wskaźniki kompromitacji (Indicators of Compromise). Można to zrobić za pomocą deasemblera, dekompilatora, edytora heksadecymalnego itp. Zauważ, że analiza statyczna nie ujawni funkcjonalności zaszyfrowanego lub spakowanego kodu.
3. Analiza zachowania pozwala lepiej zrozumieć, co próbka robi w systemie. Można to zrobić na przykład detonując próbkę w izolowanym środowisku podczas działania monitorów plików i sieci. Mile widziane jest również wykonywanie krok po kroku w debuggerze.
4. Ręczne odwracanie kodu zajmuje więcej czasu, ale daje dużo szczegółów na temat próbki złośliwego oprogramowania. Głównymi narzędziami używanymi na tym etapie są deasemblery, dekompilatory i debugery.
Rola wirtualizacji w analizie złośliwego oprogramowania.
Można również użyć hosta Windows z gościem Windows, ale higiena pracy i zaktualizowany system są koniecznością.
VMware Workstation Player:
Podczas gdy VirtualBox jest Open Source (GNU General Public License w wersji 2).
W tym samouczku wybrano VirtualBox.
Zaimportuj pobrany plik maszyny wirtualnej do VirtualBox.
Utwórz migawkę przed uruchomieniem maszyny wirtualnej.
Dostosuj sprzęt maszyny wirtualnej.
Dysk twardy 40 GB jest za mały, aby zainstalować wiele narzędzi. Rozwińmy wirtualne rozmiary dysku do około 70 GB.
...i migawka! :-)
Uruchom maszynę wirtualną.
Maszyna wirtualna FLARE jest dostępna bezpłatnie na GitHub.
Do wykonania skryptu instalacyjnego potrzebny jest PowerShell (uruchomiony jako Admin).
Wpisz następujące polecenie, aby zmienić katalog, do którego pobrano FLARE VM.
Pomiń politykę wykonywania PowerShell za pomocą polecenia:
Uruchom skrypt instalacyjny poleceniem:
Podaj hasło dla IEUser:
To powinno wyglądać tak.
Podczas gdy narzędzia są pobierane i trwa instalacja, możesz wybrać się na spacer. Zajmie to trochę czasu.
Zrobione.
Odinstaluj dodatki dla gości, aby zapewnić lepsze bezpieczeństwo środowiska.
Narzędzia gotowe!
Nie zapomnij zrobić migawki!
Te miejsca to dobry początek nauki analizy złośliwego oprogramowania:
https://bazaar.abuse.ch/browse/
https://any.run/ (wymagana rejestracja)
ANY.RUN — interaktywna internetowa piaskownica złośliwego oprogramowania
https://any.run/
Joe Sandbox Cloud Basic — automatyczna analiza złośliwego oprogramowania
https://www.joesandbox.com/#windows
VirusTotal
https://www.virustotal.com/
Każdy ma swoje ulubione narzędzia. Przedstawione tutaj rozwiązania to nie jedyna droga, a alternatyw jest wiele. Przy wyborze rozwiązań skupiłem się na doborze aplikacji, które są bezpłatne i przyjazne dla początkujących czytelników.
Cele analizy złośliwego oprogramowania
Głównym celem analizy złośliwego oprogramowania jest zrozumienie zagrożenia i sposobu jego działania. Cele to na przykład: badania, reakcja na incydent, polowanie na zagrożenia, lepsze wykrywanie itp.Rodzaje analizy złośliwego oprogramowania
Istnieją dwa główne rodzaje analizy złośliwego oprogramowania:1. Analiza statyczna odbywa się bez wykonywania kodu. Chodzi o analizę właściwości plików, odczytanie zdekompilowanego kodu itp.
2. Analiza dynamiczna polega na wykonaniu złośliwego kodu w izolowanym środowisku.
Etapy procesu analizy złośliwego oprogramowania
Poniżej przedstawiono typowe etapy procesu analizy.1. Analiza automatyczna daje przegląd zachowania próbki złośliwego oprogramowania i definiuje hipotezy, które można później spróbować potwierdzić. Można to zrobić np. za pomocą piaskownicy.
2. Analiza statyczna podaje pewne właściwości próbki złośliwego oprogramowania, które mogą być później uwzględnione jako Wskaźniki kompromitacji (Indicators of Compromise). Można to zrobić za pomocą deasemblera, dekompilatora, edytora heksadecymalnego itp. Zauważ, że analiza statyczna nie ujawni funkcjonalności zaszyfrowanego lub spakowanego kodu.
3. Analiza zachowania pozwala lepiej zrozumieć, co próbka robi w systemie. Można to zrobić na przykład detonując próbkę w izolowanym środowisku podczas działania monitorów plików i sieci. Mile widziane jest również wykonywanie krok po kroku w debuggerze.
4. Ręczne odwracanie kodu zajmuje więcej czasu, ale daje dużo szczegółów na temat próbki złośliwego oprogramowania. Głównymi narzędziami używanymi na tym etapie są deasemblery, dekompilatory i debugery.
Idea maszyn wirtualnych
Technologia wirtualizacji pozwala na uruchomienie jednego systemu operacyjnego w innym systemie operacyjnym za pomocą specjalnego programu zwanego hiperwizorem. Systemy operacyjne gościa są wykonywane na maszynach wirtualnych, które są abstrakcyjnymi platformami obliczeniowymi. Jest to świetne rozwiązanie do analizy złośliwego oprogramowania, ponieważ maszyny wirtualne są od siebie odizolowane. Jeśli złośliwy kod zainfekuje system gościa, system hosta pozostanie czysty. Oczywiście nikt nie wie, czy istnieje exploit zero-day, który powoduje ucieczkę z maszyny wirtualnej i wykonanie kodu na hoście. Jednak przy zachowaniu higieny pracy system hosta i sieć lokalna powinny być bezpieczne.
Rola wirtualizacji w analizie złośliwego oprogramowania.
Wybieranie systemu operacyjnego hosta
Możesz przeczytać tu i tam, że system operacyjny Linux hosta z systemem operacyjnym gościa Windows jest bezpieczniejszy do analizy złośliwego oprogramowania ze względu na różnicę w platformach.Można również użyć hosta Windows z gościem Windows, ale higiena pracy i zaktualizowany system są koniecznością.
Wybieranie programu Hypervisor
Hiperwizor odpowiada za zarządzanie maszynami wirtualnymi. Pisząc to mam doświadczenie z dwoma darmowymi rozwiązaniami: VMware Workstation Player i VirtualBox.VMware Workstation Player:
Quote:
Darmowa wersja jest dostępna do użytku niekomercyjnego, osobistego i domowego. Zachęcamy również studentów i organizacje non-profit do korzystania z tej oferty. Organizacje komercyjne wymagają licencji komercyjnych na korzystanie z programu Workstation Player.
Podczas gdy VirtualBox jest Open Source (GNU General Public License w wersji 2).
W tym samouczku wybrano VirtualBox.
Instalowanie VirtualBox
Otwórz https://www.virtualbox.org/wiki/Downloads i wybierz opcję Pakiety platform » Hosty Windows (podczas instalacji w systemie Windows).






Instalowanie systemu operacyjnego gościa
Plik ISO systemu Windows 10 można pobrać ze strony https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/. Do pobrania jest około 6,7 GB.
Zaimportuj pobrany plik maszyny wirtualnej do VirtualBox.




Utwórz migawkę przed uruchomieniem maszyny wirtualnej.



Dostosuj sprzęt maszyny wirtualnej.



Dysk twardy 40 GB jest za mały, aby zainstalować wiele narzędzi. Rozwińmy wirtualne rozmiary dysku do około 70 GB.




...i migawka! :-)

Uruchom maszynę wirtualną.


Maszyna wirtualna FLARE jest dostępna bezpłatnie na GitHub.

Do wykonania skryptu instalacyjnego potrzebny jest PowerShell (uruchomiony jako Admin).

Wpisz następujące polecenie, aby zmienić katalog, do którego pobrano FLARE VM.
cd "C:\Users\IEUser\Downloads\flare-vm-master\flare-vm-master"
Pomiń politykę wykonywania PowerShell za pomocą polecenia:
Set-ExecutionPolicy -ExecutionPolicy Bypass
Uruchom skrypt instalacyjny poleceniem:
.\install.ps1
Podaj hasło dla IEUser:
Passw0rd!
To powinno wyglądać tak.

Podczas gdy narzędzia są pobierane i trwa instalacja, możesz wybrać się na spacer. Zajmie to trochę czasu.

Zrobione.

Odinstaluj dodatki dla gości, aby zapewnić lepsze bezpieczeństwo środowiska.

Narzędzia gotowe!


Nie zapomnij zrobić migawki!


Źródła próbek złośliwego oprogramowania do analizy
Próbki można zdobywać tworząc honeypot lub honeynet.Te miejsca to dobry początek nauki analizy złośliwego oprogramowania:
https://bazaar.abuse.ch/browse/
https://any.run/ (wymagana rejestracja)
Usługi analizy złośliwego oprogramowania online
Aby uzyskać ogólny przegląd próbki złośliwego oprogramowania, można użyć zautomatyzowanych narzędzi, takich jak poniższe.ANY.RUN — interaktywna internetowa piaskownica złośliwego oprogramowania
https://any.run/
Joe Sandbox Cloud Basic — automatyczna analiza złośliwego oprogramowania
https://www.joesandbox.com/#windows
VirusTotal
https://www.virustotal.com/
Bądź ostrożny i działaj!
Zachowaj dobrą higienę pracy podczas analizowania próbek złośliwego oprogramowania.- Bądź odpowiedzialny za włączanie połączenia internetowego podczas analizy (to Twój adres IP!).
- Zapisuj i przesyłaj próbki w bezpieczny sposób, na przykład w zabezpieczonym hasłem archiwum ZIP.
- Nie wiesz, czy próbka zawiera bombę logiczną, czy exploit zero-day.
Wykaz literatury
https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html [access: 2022-03-11]https://www.virtualbox.org/ [access: 2022-03-11]
https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ [access: 2022-03-11]