Sieć cebulowa w systemie Windows: instalacja, utworzenie usługi ukrytej, wykorzystanie przez przeglądarki i do pentestowania. Tworzenie usługi w systemie Windows

W tym artykule omówiono sposób edycji ustawień uruchamiania usług w systemie Windows na przykładzie usługi 1C:Enterprise 8.3 Server Agent. Pokaże Ci, jak skonfigurować typ uruchamiania usług, zmienić dane uwierzytelniające do uruchomienia usługi, a także zmienić parametry uruchamiania Plik wykonywalny usługi.

1. Zmiana ustawień uruchamiania usługi

Załóżmy, że mamy działającą usługę, niech będzie to „1C:Enterprise 8 Server Agent”. Aby edytować właściwości uruchamiania tej usługi przejdźmy do „ Usługi„(Usługi).

Następnie w drzewie folderów po lewej stronie podążaj ścieżką:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Następnie z listy wybierz grupę z nazwą usługi, której właściwości chcesz edytować. Jednocześnie w oknie po prawej stronie zobaczymy wszystkie parametry tej usługi.

Kliknij dwukrotnie nazwę parametru, który chcesz zmienić i wprowadź nową wartość.

Załóżmy na przykład, że musimy uruchomić serwer 1C:Enterprise w trybie debugowania, tj. -oduczyć. W tym celu należy zmienić wartość parametru Ścieżka obrazu.

Kliknij " OK", aby zapisać zmiany i zamknąć edytor rejestru.

Uruchom ponownie usługę, aby zmiany zaczęły obowiązywać. Zrób to mono także z snapa” Usługi» (Usługi) klikając kliknij prawym przyciskiem myszy najedź myszką na nazwę usługi na liście i wybierz menu kontekstowe « Uruchom ponownie„(Uruchom ponownie).

To wszystko. Zmiany weszły w życie, a agent serwera został uruchomiony w trybie debugowania.

Czy ten artykuł był pomocny?

Czy kiedykolwiek chciałeś uruchomić aplikację jako usługę systemową? Myślę, że tak, biorąc pod uwagę, że niektóre programy mają domyślnie wbudowaną tę funkcję. Czy wiesz, że aplikacja działająca jako usługa działa znacznie szybciej i zajmuje mniej miejsca w pamięci?

W tym artykule przyjrzymy się małemu narzędziu o nazwie Any Service, które za pomocą dwóch kliknięć pomoże Ci uruchomić dowolną aplikację jako usługę systemową. Any Service jest opakowaniem dwóch standardowe media srvinstw I instsrv dołączone do systemu Windows 2000 Server i dla niego normalna operacja będziesz potrzebować uprawnień administratora.

Program jest całkowicie darmowy, zajmuje jedynie 49Kb i nie wymaga instalacji. Interfejs jest intuicyjny i zawiera szczegółowe wyjaśnienia w formie podpowiedzi.

Główne okno programu na to pozwala ustawienia podstawowe Twoja przyszła usługa:


W pierwszym polu wchodzimy Pełna ścieżka Do plik wykonawczy aplikacja, która będzie działać jako usługa. W kolumnie „Nazwa usługi” wskazujemy, jak będzie nazywała się nasza usługa. W „Opisie usługi” – dowolny opis nowej usługi, który rozumiesz.

  • Interakcja z pulpitem - sprawdź, czy aplikacja posiada ikonę w zasobniku systemowym;
  • Usługa Autostart - zaznacz, czy chcesz, aby usługa uruchamiała się automatycznie;
  • Uruchom natychmiast po utworzeniu - zaznacz to pole, jeśli chcesz, aby usługa uruchomiła się natychmiast po jej utworzeniu;

Jako przykład działania narzędzia spróbujmy uruchomić je w formularzu obsługa systemu popularny menedżer plików Total Commander.



Po wypełnieniu wszystkich wymaganych pól kliknij przycisk „Utwórz”.


To wszystko, nowa usługa została utworzona i jest gotowa do pracy. Efekty swoich działań możesz sprawdzić korzystając z przycisku „Usługi”, który otwiera przystawkę grupową.



Jak widać nasza nowa usługa Totalny Dowódca wystrzelony. Teraz możesz zmienić jej ustawienia tak samo, jak każdej innej usługi systemowej.

Jeśli chcesz usunąć usługę, użyj przycisku „Usuń…” w głównym oknie programu. Otworzy się przed tobą następujące okno:


Znaleźliśmy wymaganą usługę i kliknij „Usuń”. Więcej usług Total Commander nie istnieje.

Znane problemy: Przed pierwszym uruchomieniem zaleca się wyłączenie program antywirusowy W przeciwnym razie dalsza praca program nie będzie możliwy, ponieważ przy pierwszym uruchomieniu szuka obu narzędzi (srvinstw i instsrv) w folderze %WINDIR%\System32\ i jeśli ich nie znajdzie, kopiuje je z własnych zasobów.

W JDownloaderze przejdź do Ustawienia, a następnie zakładkę Menedżer połączeń i kliknij przycisk Dodać. Zamień typ na Skarpetki5, w polu Host/port Wchodzić Lokalny Gospodarz I 9050 :

Kliknij OK aby zapisać ustawienia i zamknąć okno.

JDownloader obraca połączenia. Dlatego jeśli pobierasz z zablokowanej witryny, odznacz połączenie Brak serwera proxy:

Teraz znów możesz nie tylko przeglądać, ale także pobierać z zablokowanych stron!

Konfigurowanie usługi ukrytej w systemie Windows

Istota dzieła ukryta usługa to jest na twoim komputerze (może być wypożyczony lub twój) komputer domowy) serwer WWW jest uruchomiony. Twój komputer musi mieć dostęp do Sieci Tora. Za pośrednictwem tej sieci każdy, kto zna adres Twojej usługi ukrytej (domena taka jak *.onion), może uzyskać dostęp do Twojej witryny internetowej obsługiwanej przez Twój serwer internetowy. Nie musisz się martwić o zakup nazwy domeny (podawanej bezpłatnie), DNS, adresów IP znajdujących się na białej liście itp. – sieć Tor sama się tym zajmie. Aby uruchomić usługę ukrytą, potrzebujesz tylko dwóch rzeczy:

  • działający serwer WWW
  • połączenie z siecią Tor

Jeśli masz Linuksa, materiał „” może być dla Ciebie odpowiedni. Jeśli chcesz uruchomić ukrytą usługę w systemie Windows, poniżej jest napisane, jak to zrobić.

Musimy mieć działający serwer WWW.Musimy zainstalować serwery WWW (Apache 2.4, MySQL 5.7, PHP 7, phpMyAdmin) na Windows 10.

Teraz, gdy serwer WWW jest zainstalowany i jego funkcjonalność została zweryfikowana, przejdźmy do konfiguracji usługi ukrytej w systemie Windows.

Twoja witryna usługi ukrytej powinna już działać i być otwarta z poziomu localhost. Utworzę stronę pośredniczącą, aby zademonstrować pracę. W folderze C:\Serwer\dane\htdocs\ tworzę nowy folder ukryty, a w nim plik indeks.htm o następującej treści:

< title >Pracuje!

< meta charset = "UTF-8" >

Ukryta usługa działa!

Dlatego ten plik jest dostępny w serwer lokalny pod adresem http://localhost/hidden/:

Teraz otwórz konfigurację Plik Apache'a C:\Serwer\bin\Apache24\conf\httpd.conf i tam dodaj:

Słuchaj 127.0.0.1:9475 DocumentRoot „C:/Server/data/htdocs/hidden/” Nazwa serwera localhost Administrator serwera Opcje +Indeksy +FollowSymLinks +ExecCGI ZezwólZastąp wszystko Zamówienie odmowy,zezwól Zezwól wszystkim Wymagaj przyznania wszystkich

W zasadzie wystarczy jedynie edytować znajdującą się w nim linię DocumentRoot „C:/Server/data/htdocs/hidden/”– pokazuje ścieżkę do Twojej witryny, która będzie usługą ukrytą Tor.

Ponowne uruchamianie Serwer WWW Apache aby zmiany weszły w życie:

c:\Server\bin\Apache24\bin\httpd.exe -k uruchom ponownie

Twoja witryna usług ukrytych powinna być teraz dostępna z komputer lokalny pod adresem http://localhost:9475

Przejdźmy do konfiguracji Tora.

Otwórz się z kimkolwiek Edytor tekstu plik C:\Tor\torrc i skopiuj do niego:

HiddenServiceDir „C:/Tor/hidden_service/” Port usługi ukrytej 80 127.0.0.1:9475

Zwróć uwagę, jak to zapisaliśmy C:\Tor\ukryta_usługa\- zamiast \ Używamy / . Należy także używać cudzysłowów.

Uruchom ponownie usługę Tor:

C:\Tor\tor.exe --zatrzymanie usługi C:\Tor\tor.exe --uruchamianie usługi

Folder zostanie wygenerowany automatycznie ukryta_usługa a w nim dwa pliki. W pliku C:\Tor\ukryta_usługa\nazwa hosta zobaczysz Nazwa domeny dla Twojej ukrytej usługi:

W moim przypadku jest to 77pam5zhvzu5jhst.onion, staramy się go otworzyć w przeglądarce Tor:

Otwarcie usługi ukrytej w przeglądarce może zająć kilka minut.

Jeśli wygenerowałeś swój nadane imię ukryta usługa Tor, a następnie zastąp zawartość pliku nazwa hosta I prywatny klucz, a następnie uruchom ponownie usługę Tor, aby zmiany odniosły skutek:

Korzystanie z przeglądarek Tor w systemie Windows

Jeśli chcesz anonimowo surfować po Internecie, zaleca się skorzystanie z tego Przeglądarka Tor. Nie tylko przekierowuje ruch przez sieć Tor, ale ma także szereg poprawek i ustawień promujących prywatność.

Jeśli jednak chcesz uzyskać dostęp do Internetu za pośrednictwem sieci Tor za pomocą Przeglądarki Google Chrome, Firefox, Opera lub Internet Explorera, to jest to również możliwe.

Musisz mieć zainstalowaną usługę Tor (lub działającą, jak pokazano na początku artykułu).

Przeglądarki GoogleChrome, Opera i Internet Explorer korzystają z tych samych ustawień. Te. Wprowadzone zmiany będą obowiązywać we wszystkich trzech przeglądarkach jednocześnie. W dowolnym z nich przejdź do ustawień proxy, otworzy się następujące okno:

W oknie kliknij „ Konfiguracja sieci" W nowym oknie, które się otworzy, zaznacz pole „ Użyj serwera proxy do połączeń lokalnych...»:

Przycisk „ stanie się aktywny Dodatkowo", naciśnij. W polu Skarpety Wchodzić 127.0.0.1 i w terenie Port Wchodzić 9050 :

Kliknij we wszystkich oknach OK aby zapisać ustawienia. Aktualny adres IP można np. sprawdzić na stronie

Aby zmienić ustawienia w Firefoksie, przejdź do Ustawienia -> Zaawansowane -> Sieć -> Konfiguruj. W oknie, które się otworzy, włącz przełącznik Ustawienie ręczne serwery proxy. W polu Węzeł SKARPETY Wchodzić 127.0.0.1 i pole Port9050 . Ustaw przełącznik na SKARPETKI 5. Kliknij OK aby zapisać ustawienia.

Ogólnosystemowe ustawienia proxy w systemie Windows

System Windows ma program proxy WinHTTP. Umożliwia ustawienie ustawień proxy dla całego systemu. Logicznie rzecz biorąc, oczekuje się, że wszystkie aplikacje powinny korzystać z ustawień systemowych, ale tak się nie dzieje. System Windows używa protokołu WinHTTP do niektórych usług, takich jak pobieranie Aktualizacje systemu Windows oraz przeprowadzanie kontroli unieważnionych certyfikatów. Być może jednak znajdziesz dla niego zastosowanie.

Korzystanie z polecenia

netsh winhttp import proxy source=tj

możesz importować ustawienia z przeglądarki Internet Explorer.

Za pomocą następujących poleceń możesz przeglądać/resetować użycie ustawień systemowych:

netsh winhttp pokaż proxy netsh winhttp zresetuj proxy

Dostęp do Tora z programu PHP

Jeśli zainstalowałeś usługę Tor i zainstalowałeś serwer WWW, aby skonfigurować usługę ukrytą, możesz także odbierać dane z sieci Tor w swoim programu PHP(używając cURL). Przykład kodu roboczego:

$url = "http://hacktoolseqoqaqn.onion/";$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, prawda); curl_setopt($ch, CURLOPT_PROXY, "http://127.0.0.1:9050/"); curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); curl_setopt($ch, CURLOPT_PROXYTYPE, 7);$wyjście = curl_exec($ch); $curl_error = curl_error($ch); curl_close($ch); print_r($wyjście); print_r($curl_error);

Ostatnia aktualizacja: 31.10.2015

Do zainstalowania usługi potrzebujemy klasy instalatora. Aby go dodać, kliknij projekt prawym przyciskiem myszy i wybierz Dodaj -> Komponent... z menu kontekstowego. Następnie w oknie dodawania nowego elementu wybierz klasę instalatora:

Domyślnie dla pliku instalatora generowana jest nazwa Instalator1.cs. Zostawmy to imię.

Po dodaniu węzeł instalatora w oknie Eksplorator rozwiązań będzie zawierał dwa pliki: sam plik klasy Instalator1 i plik projektanta Instalator1.Designer.cs. Otwórzmy plik kodu. Teraz wygląda to tak:

Korzystanie z systemu; przy użyciu System.Collections; przy użyciu System.Collections.Generic; przy użyciu System.ComponentModel; przy użyciu System.Configuration.Install; przy użyciu System.Linq; przy użyciu System.Threading.Tasks; przestrzeń nazw FileWatcherService (publiczna klasa częściowa Instalator1: System.Configuration.Install.Installer (publiczny Instalator1() (InitializeComponent(); ) ))

Zmieńmy to teraz w następujący sposób:

Korzystanie z System.ComponentModel; przy użyciu System.ServiceProcess; przy użyciu System.Configuration.Install; przestrzeń nazw FileWatcherService ( publiczna klasa częściowa Instalator1: Instalator ( ServiceInstaller serviceInstaller; ServiceProcessInstaller procesInstaller; publiczny Instalator1() ( IndividualizeComponent(); serviceInstaller = nowy ServiceInstaller(); procesInstaller = nowy ServiceProcessInstaller(); procesInstaller.Account = ServiceAccount.LocalSystem; serviceInstaller.StartType = ServiceStartMode.Manual; serviceInstaller.ServiceName = "Usługa1"; Instalatorzy.Add(processInstaller); Instalatorzy.Add(serviceInstaller); ) ) )

Klasa instalatora dziedziczy po klasie System.Configuration.Install.Installer. Atrybut wskazuje, że podczas instalowania zestawu, czyli usługi, należy wywołać klasę Instalator1.

Definiuje szereg metod: Install() (instalacja), Commit() (kończy transakcję instalacyjną), Rollback() (przywraca stan komputera sprzed instalacji) i Uninstall() (usuwanie). Jeśli zajdzie taka potrzeba, możemy je na nowo zdefiniować. Ale w naszym przypadku użyjemy tylko konstruktora.

Konstruktor wywołuje metodę IndividualizeComponent(), która ma na celu wykonanie początkowej inicjalizacji. Jest on zdefiniowany w pliku projektanta Installer1.Designer.cs i zasadniczo nie robi nic:

Komponenty prywatne System.ComponentModel.IContainer = null; private void ZainicjujComponent() ( komponenty = nowy System.ComponentModel.Container(); )

Do zainstalowania usługi potrzebujemy także klas ServiceInstaller i ServiceProcessInstaller. Dlaczego dokładnie dwie klasy? ServiceProcessInstaller zarządza ustawieniem wartości dla wszystkich uruchamianych usług w ramach jednego procesu (co zostało omówione w ostatnim temacie, metoda Main klasy Program może uruchamiać kilka usług jednocześnie). Klasa ServiceInstaller przeznaczona jest do konfigurowania wartości dla każdej z uruchamianych usług. Oznacza to, że jeśli uruchomimy trzy usługi, to dla każdej usługi tworzony jest własny obiekt ServiceInstaller. Jednak w naszym przypadku w ostatnim temacie zdefiniowaliśmy tylko jedną usługę do uruchomienia, więc będziemy mieli tylko jedną instancję obiektów obu klas.

Dzięki właściwościom obie klasy umożliwiają ustawienie ustawień usługi. Główne właściwości ServiceProcessInstaller:

    Nazwa użytkownika: określa, na którym koncie będzie działać usługa

    Hasło: Określa hasło umożliwiające uruchomienie usługi

    Konto: Określa typ konta. Może przyjąć jedną z wartości wyliczenia ServiceAccount:

    • LocalSystem: Konto zapewnia szerokie uprawnienia na komputerze lokalnym i odpowiada komputerowi w sieci

      LocalService: Konto odpowiada nieuprzywilejowanemu użytkownikowi na komputerze lokalnym i zapewnia anonimowe dane dostępu do dowolnego serwera zdalnego

      Usługa sieciowa: Konto zapewnia szerokie uprawnienia lokalne, a także udostępnia każdemu zdalnemu serwerowi poświadczenia komputera

      Użytkownik: Konto jest definiowane przez konkretnego użytkownika w sieci

    HelpText: Zwraca pomoc zawierającą informacje na temat instalacji usługi

Kilka ważnych właściwości ServiceInstaller:

    StartType: Określa, czy usługa powinna uruchamiać się automatycznie, czy ręcznie. Może przyjmować następujące wartości: ServiceStartMode.Automatic (start automatyczny), ServiceStartMode.Manual (ręczny) i ServiceStartMode.Disabled (usługa domyślnie wyłączona)

    DelayedAutoStart: określa, czy usługa nie powinna uruchamiać się natychmiast po uruchomieniu systemu operacyjnego, ale nieco później

    DisplayName: Ustawia nazwę usługi, która będzie wyświetlana w różnych narzędziach do zarządzania usługami

    ServiceName: nazwa usługi, musi odpowiadać wartości właściwości ServiceName klasy usługi

Oznacza to, że w naszym przypadku usługa zostanie uruchomiona ręcznie i otrzyma szerokie uprawnienia.

Na koniec oba obiekty instalatora należy dodać do kolekcji Instalatory: Instalatorzy.Add()

Mamy więc gotowy kod serwisowy i kod instalatora. Teraz skompilujmy projekt i w projekcie w folderze bin/Debuguj Będziemy mieli plik wykonywalny usługi, który będzie wywoływany nazwą projektu i będzie miał rozszerzenie exe. Na przykład w moim przypadku nazywa się to FileWatcherService.exe.

A teraz musimy zainstalować usługę. W tym celu musimy uruchomić specjalne narzędzie InstallUtil.exe i przekazać mu nazwę pliku usługi.

Narzędzie InstallUtil.exe można znaleźć w ścieżce C:\Windows\Microsoft.NET\Framework64\v4.0.30319 dla platform 64-bitowych i C:\Windows\Microsoft.NET\Framework\v4.0.30319 dla wersji 32-bitowej.

Możesz także przenieść plik wykonywalny usługi w inne miejsce, na przykład umieściłem go w folderze D://usługi. Następnie instalacja usługi z linii poleceń będzie wyglądać następująco:

A jeśli po udanej instalacji przejdziemy do konsoli usług, możemy znaleźć nowo zainstalowaną usługę.

Możemy go uruchomić, a on wykona wszystkie akcje, które w nim zdefiniowaliśmy.

Jeśli nie potrzebujemy już usługi i chcemy ją usunąć, możemy skorzystać z tego samego narzędzia, przekazując mu flagę u:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe /u D://servces/FileSystemWatcher.exe

A po uruchomieniu utworzona usługa będzie monitorować wszystkie akcje z plikami w folderze D://Temp i zapisywać informacje o akcjach do pliku tekstowego.