Użycie narzędzia "Malicious Software Removal Tool" w środowisku domenowym.

Narzędzie Malicious Software Removal Tool (MRT) do usuwania złośliwego oprogramowania pomaga w zabezpieczeniu komputerów z systemem Windows przed najczęściej występującym złośliwym oprogramowaniem. MRT znajduje i usuwa zagrożenia oraz odwraca zmiany wprowadzone przez te zagrożenia. Dostępne jest ono dla komputerów z systemem Windows 10, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7 lub Windows Server 2008 przez aktualizacje przy użyciu usługi Windows Update lub jako samodzielne narzędzie dostępne do pobrania ze strony Microsoft.
Narzędzie Malicious Software Removal Tool nie zastępuje produktu antywirusowego. Jest to narzędzie do usuwania niebezpiecznych programów już po infekcji. Dlatego zalecane jest zainstalowanie i używanie programu antywirusowego. Podstawowe różnice między Malicious Software Removal Tool a programem antywirusowym to:

Pomimo, że narzędzie to nie zastępuje oprogramowania antywirusowego, jest jednak bardzo przydatne. Nie raz zdażało się, że było ono w stanie usunąć złośliwe oprogramowanie, z którym nie mogły poradzić sobie antywirusy firm Norton, ESET lub Kaspersky LAB. Z tego powodu warte jest ono wdrożenia zwłaszcza w środowisku domenowym opartym o Active Directory.

Wdrożenie MRT w środowisku domenowym.
Opis środowiska laboratoryjnego:
nazwa domenty: msa.domena.pl
serwer plików: FS1 (fs1.msa.domena.pl)
Serwer WSUS: WSUS1 (wsus1.msa.domena.pl)
stacja kliencka: PC1 (pc1.msa.domenta.pl)
kontroler domeny: DC1 (dc1.msa.domena.pl)
konto techniczne: msa\sys1. Konto domenowe użytkownika z uprawnieniami lokalnego administratora na każdej stacji roboczej. Takie urpawnienia dla konta można ustawić przy użyciu polityki GPO w ustawieniach Computer Configuration\Preferences\Control Panel Settings\Local Users and Groups.

Procedura wdrożenia:
1. Instalacja pakietu MRT przy użyciu usługi WSUS.
2. Utworzenie na serwerze zadania w Harmonogramie zadań. Odpowiedzialne będzie za cykliczne uruchamianie narzędzia MRT.
3. Utworzenie na serwerze folderu udostępnionego. Będzie on przechowywał plik XML z definicją powyższego zadania.
4. Utworzenie skryptu "MSA-ScheduledTasks.ps1" odpowiedzialnego za zdalne tworzenie zadań w Harmonogramie zadań na stacjach roboczych w domenie.
5. Utworzenie na serwerze zadania w Harmonogramie zadań odpowiedzialnego za cykliczne uruchamianie skryptu "MSA-ScheduledTasks.ps1".

1. Instalacja pakitu MRT przy użyciu usługi WSUS.
Posiadanie serwera z usługą "Windows Server Update Services" pozwala na kontrolę aktualizacji instalowanych na komputerach i serwerach. W przypadku narzędzia MRT jest ono najlepszą drogą do jego wdrożenia. Konsola zarządzania usługą WSUS pozwala na instalację samego programu jak i jego aktualizacji pojawiających się cyklicznie co miesiąc.

Zdjęcie 1. Konsola usługi WSUS z widocznymi aktualizacjami narzędzia MRT.

Zdjęcie 2. Lista przłączników programu mrt.exe dostępne po wykonaniu komendy mrt.exe /?.

W przypadku braku serwera WSUS instalacja musi odbyć się ręcznie lub przy użyciu skryptu. Zarządzanie MRT odbywa się tylko przy użyciu linii komend. Listę przełączników otrzymujemy wydając polecenie mrt.exe /? w konsoli PowerShell lub konsoli wiersza poleceń. Na zdjęciu nr 2 widoczny jest wynik wykonania tego polecenia. W oknie graficznym pojawi się lista dostępnych przełączników.




2. Utworzenie na wybranym serwerze zadania w Harmonogramie zadań, które odpowiedzialne będzie za cykliczne uruchamianie narzędzia MRT.
Samo narzędzie nie daje możliwości zaplanowania automatycznego skanowania zasobów komputera, dlatego do tego celu należy wykorzystać "Harmonogram zadań" znajdujący się w każdej wersji systemu operacynego Windows. Przy jego pomocy zostanie utworzone zadanie, które następnie zostanie wyeksportowane do każdej stacji roboczej w domenie przy pomocy skryptu.
Na wybranej stacji roboczej uruchamiamy "Harmonogram zadań" wpisując w polu Uruchom lub w linii komend polecenie taskmgr. Jest on także dostępny w konsoli MMC - zarządzanie komputerem. Po uruchomieniu harmonogramu zadań tworzymy nowe zadanie. Na karcie Ogólne wypełniamy interesujące nas pola. W polu Opcje zabezpieczeń należy podać konto, które ma upwanienia loklanego administratora na każdej stacji roboczej, na której zadanie zostanie użyte. W środowisku testowym jest to konto msa\sys1. Wybieramy opcje:
- uruchom niezależnie od tego, czy użytkownik jest zalogowany,
- uruchom z najwyższymi uprawnieniami.
Takie ustawienia pozwolą na uruchamianie zadania w tle zgodnie ze zdefiniowanym harmonogramem. Konto msa\sys1 z powyższymi opcjami zapewni, że zadanie będzie uruchamiane niezależnie od zalogowanego użytkownika i będzie miało dostęp do wszystkich plików na dyskach lokalnych komputera.

Zdjęcie 3. Ustawienia harmonogramu zadań. Zakładka Ogólne.

Wartość pola Konfiguruj dla nie bedzie miała większego znaczenia. Podczas tworzenia zadania na stacjach roboczych wartość tego pola zostanie automatycznie ustawiona. Na zakładce Wyzwalacze definiujemy harmonogram uruchomienia zadania zgodnie z preferencjami. W typowym środowisku produkcyjnym zadanie powinno być uruchamiane raz w miesiącu. Skanowowanie systemu zajmuje średnio od 15 do 45 minut i może znacznie obciążyć zasoby procesora, dlatego warto wybrać godzinę uruchomienia na taką kiedy pracownicy statystycznie rzadziej korzystają z komputera, na przykład podczas przerwy obiadowej.
W zakładce Akcje wypełniamy pola:
- Akcja: Uruchom program
- Program/skrypt: mrt.exe
- Dodaj argumenty (opcjonalne): /Q /F:Y
Przełączniki /Q /F:Y zapewnią nam, że działanie MRT będzie niewidoczne dla użytkownika a wykryte zagrożenia zostaną automatycznie usunięte. Informacje wszystkich działaniach zostaną zapisywane w logu znajdującym się w lokalizacji %Windir%\Debug\Mrt.log.
Po utworzeniu zadania dokonujemy jego eksportu przy użyciu opcji Eksportuj... dostępną w prawym panelu konsoli "Harmonogram Zadań". W wyniku tej porcedury otrzymamy plik XML.

3. Utworzenie folderu udostępnionego na serwerze, w którym przechowywany będzie plik z definicją powyższego zadania.
Na serwerze plików lub innym ogólnodostępnym serwerze tworzymy folder dystrybucyjny np.: "ScheduledTasks" i udostępniamy go jako folder udostępniony pod tą samą nazwą. Uprawnienia dla konta msa\sys1 na zakładkach Uprawnienia udziału oraz Zabezpieczenia muszą dawać temu kontu pełne uprawnienia do jego zawartości.

4. Skrypt odpowiedzialny za zdalne tworzenie zadań w Harmonogramie zadań na stacjach roboczych w domenie.
Ostatnim krokiem jest utworzenie kolejngo skryptu, którego zadaniem będzie okresowe tworzenie na stacjach roboczych zadania zdefiniowanego w pliku XML. Skrypt ten będzie uruchamiany przez odpowiednie zadanie w "Harmonogramie zadań" na danym serwerze. Najlepiej, aby to był ten sam serwer, na którym utworzony został folder "ScheduledTasks". Skrypt napisany w PowerShell dostępny jest w sekcji "Materiały" na końcu artykułu. Główne zadania skryptu:
- instaluje funkcję "Active Directory module for Windows PowerShell" zawierającą moduł PowerShell: ActiveDirectory.
- instaluje moduł "ActiveDirectory" udostępniający polecenia niezbędnę do pracy z uslugą katalogową,
- wyszukuje wszystkie konta stacji roboczych znajdujących się w usłudze katalogowej Active directory, w kontenerze Computers.
- w głównej pętli wywoływany jest program schtasks.exe pozwalający na zarządzanie zadaniami w Harmonogramie zadań. Jego zadaniem będzie zdalne tworzenie zadania na stacjach roboczych na podstawie pliku XML.

Przed uruchomieniem skryptu należy dokonać jego edycji i wprowadzić odpowiednie wartości dla zmiennych określonych w sekcji #Definicja zmiennych. Działanie skryptu wymaga wersji PowerShell 3.0 lub wyższej. Systemy operacyjne Windows 8/Windows Server 2012 i nowsze posiadają już odpowiednią wersję konsoli PowerShell.

5. Utworzenie na serwerze zadania w Harmonogramie zadań odpowiedzialnego za cykliczne uruchamianie skryptu "MSA-ScheduledTasks.ps1".
Aby zapewnić automatyczne działanie skryptu należy ponownie wykorzystać zadanie w Harmonogramie zadań. Zadanie takie najlepiej jest utworzyć na serwerze, na którym utworzony został folder "ScheduledTasks".
Do uruchomienia zadania ponownie wykorzystamy konto msa\sys1 tak jak miało to miejsce we wcześniejszym przypadku. Ustawienia na zakładce Ogólne są takie same jak na zdjęciu 3. Na zakładce Wyzwalacze definiujemy harmonogram uruchamiania zadania. Optymalna częstotliwość uruchamiania zadania to dwa razy w miesiącu w godzinach pracy użytkowników. Na zakładce Akcje dodajemy nowy wpis z poniższymi ustawieniami:
- Akcja: Uruchom program
- Program/skrypt: powershell.exe
- Dodaj argumenty (opcjonalne): –noprofile –executionpolicy bypass -NonInteractive -WindowStyle Hidden -file "C:\Administration\Scripts\MSA-ScheduledTasks.ps1"

W polu Dodaj argumenty (opcjonalne) przełącznik -file określa nam położenie skryptu MSA-ScheduledTasks.ps1. W powyższym przykładzie jest to ścieżka C:\Administration\Scripts\. Należy ja zastąpić własną wartością.

Dodatkowe informacje:
- Microsoft MSDN: Omówienie usług Windows Server Update Services
- Microsoft MSDN: Wdrażanie programu Windows Server Update Services w organizacji
- Microsoft: Instalator PowerShell w wersji 3.0

Materiały:
- Skrypt PS: MSA-ScheduledTasks.ps1