DaRT - Diagnostics and Recovery Toolkit

Generalnie rzecz ujmujac, system Windows sam z siebie sie psuje dosc rzadko. Problem jednak w tym, ze ma on zazwyczaj stycznosc z zywym czlowiekiem i (niezaleznie od tego, czy czlowiek ten siedzi przed klawiatura czy wysyla pakiety przez siec) moze sie zdarzyc, ze twórcy nie przewidzieli wszystkich scenariuszy. Kreatywnosc (uzyje tu przez grzecznosc tylko tego slowa) ludzka nie zna granic.

Efekt zazwyczaj jest smutny: system jest popsuty. I obojetne czy mamy do czynienia z malware, poprawka, która powoduje bluescreeny, czy po prostu cos namieszamy i sami nie wiemy co, trzeba sobie jakos radzic. Lepszych i gorszych narzedzi jest sporo i kazdy doswiadczony administrator ma swoja "skrzynke", w której trzyma zestaw ulubionych instrumentów na kazda okazje. Mozna dlugo sie spierac o wyzszosc rozwiazania X nad rozwiazaniem Y, ale na pewno istnieja pewne kategorie, których pominac nie wolno. Prosta analogia z realna skrzynka majsterkowicza (jakie to ladne a ostatnio jakos rzadko slyszane slowo) pozwala napisac, ze o marke wiertarki mozna sie poklócic, ale samego faktu posiadania wiertarki raczej nikt nie neguje. Dla administratora taka wiertarka bedzie narzedzie pozwalajace na dostep offline do systemu.

Administratorom mniej wprawnym przypomne, ze z dostepem offline chodzi o to, ze jezeli system robi cos naprawde utrudniajacego dzialania naprawcze (nie startuje, resetuje sie, zawiesza, nie pozwala zalogowac, broni sie przed grzebaniem itp.), to najlepiej wcale go nie uruchamiac i dobrac sie do niego jak spokojnie lezy niewlaczony na dysku. Mozna przelozyc dysk do innego komputera, ale moze lepiej po prostu uruchomic system z plyty CD, PXE czy pendrive i wtedy naprawic to, co jest do naprawienia. Nawet, jezeli na dysku zapisany jest wyjatkowo paskudny malware, to nie ma on okazji, zeby zaczac dzialac, wiec walka z nim (albo chocby skopiowanie/odratowanie najwazniejszych plików z takiego dysku) jest znaczaco prostsza. Trzeba tylko wiedziec jak to zrobic, zeby na przyklad odczytac liste poprawek systemowych a potem usunac te sprawiajaca klopoty.

Zeby nie przedluzac wstepu, od razu zdradze, ze spróbuje opisac jedno z takich narzedzi. Konkretnie, tytulowy DaRT w wersji 7.0. W chwili obecnej nie jest on jeszcze dostepny, ale wersje testowe istnieja, wiec polacze przyjemne z pozytecznym i opisze, czego sie w nim spodziewac. Wersja beta jest w pelni funkcjonalna i poza problemami ze Standalone System Sweeper nie zauwazylem powazniejszych usterek, wiec jako narzedzie w skrzynce administratora powinna sie zupelnie dobrze sprawdzic.

DaRT jest oprogramowaniem, które instaluje sie w normalnym, dzialajacym systemie. Po zainstalowaniu dopiero tworzy sie plik ISO, który jest obrazem startowym dla dysku CD albo innego dogodnego nosnika. Oznacza to, ze DaRT nalezy przygotowac do pracy zanim padnie nam ostatni sprawny komputer, bo pózniej nie bedzie gdzie wygenerowac potrzebnych plików. Instalacja jest skrajnie prosta. Jeden niewielki (ponizej 10MB) plik MSI (inny dla wersji x86, inny dla x64) trzeba wgrac na komputer z Windows 7 i uruchomic. W zasadzie, poza wyborem instalowanych komponentów (i tak wszyscy chca instalowac wszystkie) i zgoda na warunki licencji, instalka DaRT nie zadaje pytan.

Zainstalowany DaRT sklada sie z trzech elementów:

  • Wspólpracujacego z WinDBG analizatora plików *.dmp generowanych podczas bluescreenów
  • Narzedzia do tworzenia pliku ISO, o który tak naprawde chodzi (dla jasnosci, dysk utworzony z tego pliku oficjalnie nazywa sie ERD, czyli Emergency Repair Disc)
  • Zdalnej konsoli, dzieki której mozna korzystac z DaRT zdalnie, bez koniecznosci biegania/dojazdu przed uszkodzony komputer.

installed01

Pierwsze narzedzie, Crash Analyzer Wizard wymaga podania sciezki do zainstalowanych Debugging Tools (podpowiada na ekranie link, skad mozna to pobrac), sam proponuje skonfigurowanie symboli i przy pomocy starozytnych okienek dialogowych (mam nadzieje, ze to urok wersji beta) siega po plik DMP. Nalezy pamietac, ze pierwsze uruchomienie musi byc powolne, poniewaz aplikacja (a wlasciwie, zmuszony przez aplikacje do pracy WinDBG) musi pobrac z sieci symbole, co zwykle chwile trwa. Na koncu pokazuje sie wynik analizy wskazujacy winnego. Oczywiscie diagnozowanie nie zawsze jest takie proste (WinDBG tez moze zle odczytac informacje, jezeli cos je zamazalo przed wystapieniem BSOD), ale w wiekszosci przypadków sprawdza sie zupelnie przyzwoicie.

crashanalyzer01

Zainteresowanych bardziej ambitnym diagnozowaniem bluescreenów nieskromnie odsylam do nagrania mojej sesji na ten temat.

Drugie narzedzie, DaRT Recovery Image Wizard, jest prostym kreatorem, który po zadaniu pytan o:

  • nosnik z Windows 7,
  • dostepne dla lokalnego uzytkownika komponenty (a nuz nie zechcemy dac userom dostepu na przyklad do narzedzia wymazujacego dyski),
  • mozliwosc podlaczania zdalnej konsoli,
  • lokalizacje Debugging Tools (mozemy jej nie wskazywac, wtedy w razie potrzeby, DaRT spróbuje znalezc potrzebne pliki na naprawianym komputerze),
  • aktualizacje sygnatur wirusów i malware,
  • dodatkowe sterowniki, potrzebne na przyklad, gdy mamy karty sieciowe albo kontrolery dysków, których "goly" system Windows nie zrozumie,
  • reczne uzupelnienie (na przyklad innymi ulubionymi narzedziami administratora) plików, które trafia na plyte ERD,
  • lokalizacje docelowego pliku ISO,

utworzy plik, który mozna sobie schowac na czarna godzine albo od razu nagrac na plyte. Bez dodatkowych narzedzi i sterowników plik ma ponad 250MB.

Cale piekno DaRT widoczne staje sie, gdy z przygotowanej plyty uruchomimy komputer. Startuje Windows PE, inicjowana jest siec (mozna ten etap pominac), mapowane sa dyski sieciowe (tez nie jest to niezbedne) i po wybraniu naprawianego systemu (na dysku moze byc ich wiecej niz jeden), pojawia sie znajome okno, uzupelnione jednak o nowa pozycje na samym koncu.

select01

Po uruchomieniu, pojawia sie wlasciwe okno DaRT z wyborem narzedzi do zastosowania:

select02

Jak widac, mamy do dyspozycji kilkanascie róznych mniej lub bardziej zlozonych narzedzi. Kazde wydaje sie dosc interesujace. Kolejno sa to:

Edytor rejestru – niby daje to samo, co standardowy regedit uruchomiony w trybie offline, ale od razu po uruchomieniu ma zaladowane odpowiednie galezie rejestru (wszystkie systemowe, wlacznie z SAM i wszystkich uzytkowników) i sam potrafi zrozumiec, o co chodzi z ControlSet001 i 002. Niby zadna filozofia dla kogos, kto choc raz spróbowal, ale skoro mozna sobie uproscic zycie, to zdecydowanie wybieram edytor z DaRT zamiast standardowego.

Locksmith – proste do bólu narzedzie pozwalajace kilkoma kliknieciami zrobic to, co do tej pory wymagalo sztuczek: zresetowac zapomniane haslo i odblokowac konto.

locksmith01

Przy najblizszym zalogowaniu system wymusi zmiane hasla w standardowy sposób. Czy to jest bezpieczne? Jest dokladnie tak samo jak bylo do tej pory... Majac dostep offline zawsze dalo sie hasla zmienic a fakt, ze teraz dostajemy do reki wyjatkowo proste w uzyciu narzedzie, w zaden sposób nie oslabia ochrony. Jezeli ktos ma obawy, odpowiedz na takie zagrozenie moze byc tylko jedna: zaszyfrowanie calego dysku. Na przyklad BitLockerem.

Crash Analyzer – dokladnie taki sam, jak uruchamiany na "zywym" systemie i opisany juz powyzej. Warto tylko zwrócic uwage, ze proponowana domyslnie lokalizacja folderu z symbolami na dysku C: nie jest najszczesliwsza. W Windows PE, dysk C: to zwykle ukryta partycja startowa a nie dysk systemowy. Przy odrobinie pecha moze na niej braknac miejsca, bo jest ona stosunkowo niewielka. Moge zdradzic, ze staram sie, zeby w finalnej wersji DaRT zostalo to poprawione.

File Restore – proste narzedzie wyszukujace na dysku skasowane pliki i foldery. Czasem moze uratowac administratora...

restore01

Warto zwrócic uwage, ze domyslnie narzedzie otwiera sie z ustawionym dyskiem C:, który wcale nie musi oznaczac tego samego dysku, co C: na dzialajacym komputerze. Warto zmienic przeszukiwany dysk, zanim stwierdzimy, ze plików nie da sie odratowac.

Disk Commander – proste narzedzie do backupu/restore tablicy partycji, odtwarzania MBR i poszukiwania skasowanych partycji.

DiskCommander01

Disk Wipe – "zamazywacz" dysków oferujacy szybkie albo bezpieczne zamazanie wszystkich danych na dysku.

diskwipe01

Ostrzezenie na górze okna mówiace, ze litery dysków moga byc przypisane inaczej niz w dzialajacym systemie jest dosc istotne. One naprawde moga byc przypisane inaczej a zamazanie sobie nie tego dysku, co trzeba jest zwykle dosc przykre. W razie watpliwosci mozna sprawdzic zawartosc dysku opisanym dalej narzedziem Explorer.

Computer Management – prostsze niz w dzialajacym systemie, ale i tak bardzo wygodne narzedzie do szybkiego przegladania wlasciwosci komputera. W tym logów systemowych.

compmgmt01

Wbudowana funkcjonalnosc "Autoruns" jest znacznie ubozsza niz w analogicznym narzedziu Sysinternals, ale nic nie stoi na przeszkodzie, zeby w razie potrzeby uzyc bardziej rozbudowanego, zgodnie z przepisem sprzed kilku tygodni.

Explorer – ubozszy krewniak explorer.exe wbudowanego w system, ale skoro ma wyszukiwanie, kopiowanie, usuwanie, tworzenie folderów, zarzadzanie uprawnieniami, kompresowanie i mapowanie dysków sieciowych, to czego chciec wiecej do ratowania popsutych systemów?

explorer01

Solution Wizard – narzedzie dla tych, którzy sami nie wiedza, czego chca. Na podstawie odpowiedzi na kilka prostych pytan okresla, którym narzedziem najlepiej sie posluzyc do rozwiazania problemu. Czy system startuje poprawnie? Czy masz problem z zalogowaniem sie, bo zapomniales hasla? Podejrzewasz, ze masz w systemie jakies zlosliwe oprogramowanie?

TCP/IP Config – pozwala na reczna konfiguracje IPv4 oraz IPv6 tam, gdzie DHCP okazuje sie niewystarczajacy a konieczna bedzie lacznosc sieciowa.

Hotfix Uninstall – jak sama nazwa wskazuje, narzedzie sluzace do usuwania poprawek, których instalacja okazala sie zabójcza dla systemu.

HUW01

Microsoft zaleca uzycie tego narzedzia tylko, gdy nie da sie odinstalowac poprawek w standardowy sposób, z panelu sterowania. Najlepiej usuwac po jednej poprawce na raz, poczawszy od najnowszych i sprawdzac czy problem zostal rozwiazany.

SFC Scan – skanuje pliki systemowe w poszukiwaniu zmian w stosunku do oryginalnej instalacji. Choc mozna zrobic to na wiele sposobów, to uzycie tego narzedzia znaczaco przyspiesza caly proces.

sfc01

Search – proste narzedzie do wyszukiwania na dysku plików, dla których znamy nazwe i/lub czas modyfikacji i/lub rozmiar. Pamietac trzeba tylko, ze pod Windows PE, dysk C: wcale nie musi byc (i zwykle nie jest) tym samym C:, które widac w systemie.

Standalone System Sweeper – najcenniejsze w mojej opinii narzedzie, którego w dostepnej mi wersji DaRT (trzeba pamietac, ze to wersja beta) nie udalo sie zmusic do dzialania. Z drugiej jednak strony, kilka madrych osób jasno mówi, ze u nich dziala. Zamiast wnikac w szczególy usterki, obiecuje jeszcze powalczyc i napisac jak tylko sie uda.

Remote Connection – serwer wspólpracujacy z zainstalowanym na dzialajacym systemie (u administratora) klientem zdalnego dostepu. Wyswietla przygotowany przez administratora komunikat (na przyklad numer telefonu do helpdesku) po czym podaje parametry polaczenia.

rc01

Ticket Number jest losowo wygenerowanym haslem, dzieki czemu do sesji DaRT nie polaczy sie nikt nieupowazniony. Port równiez wybierany jest losowo. Po polaczeniu, wszystkie opisane powyzej dzialania mozna przeprowadzic zdalnie. Uzytkownik widzi swój ekran, widzi dzialania administratora, ale jest to tylko podglad. Dopóki administrator nie rozlaczy sesji, uzytkownik nic nie moze zrobic. Jezeli administrator tworzac plik ISO nie dal uzytkownikowi wszystkich narzedzi DaRT, to na ekranie uzytkownika czesc opcji jest wylaczona a przez zdalna konsole sa one aktywne. Pozwala to obronic uzytkownika przed nim samym, jednak nalezy pamietac, ze zawsze ktos moze przyniesc swoja plyte z DaRT z domu albo od kolegi, wiec nadmierne poleganie na tym zabezpieczeniu moze sie nie sprawdzic.

Podsumowujac, mozna jeszcze dodac jedna techniczna uwage: fakt, ze dzialania naprawcze wykonywane sa z poziomu Windows PE, nie oznacza, ze komputer mozna wylaczyc przez wyciagniecie kabla zasilajacego. Wiele zapisywanych przez narzedzia DaRT zmian jest buforowane i tak samo jak w normalnym systemie, tylko bezpieczne wylaczenie systemu pozwoli na unikniecie problemów. Standardowe okno, które pojawia sie jeszcze przed uruchomieniem DaRT ma przyciski "Shutdown" i "Restart" i warto z nich korzystac.

Na koniec jeszcze tylko pare slów o licencjonowaniu. DaRT jest czescia MDOP i nie jest to produkt, który po prostu kupuje sie w pudelku w sklepie. Z drugiej jednak strony, warto wiedziec, ze MDOP teraz kosztuje tylko 1EUR miesiecznie dla posiadaczy InTune (który z kolei kosztuje 12EUR) wiec nie jest to jakis wielki majatek. Wystarczy pomyslec jak ta kwota wypada w porównaniu z czasem, który dzieki DaRT mozna zaoszczedzic, zeby decyzja o zakupie stala sie znaczaco prostsza. Oczywiscie istnieja równiez zupelnie bezplatne narzedzia, które potrafia zrobic podobne rzeczy. Pytanie tylko czy warto.

Autor: Grzegorz Tworek [MVP]