Możesz więc uciec od przejmowania bram i zapór ogniowych za pomocą dns2tcp

Warto o tym pamiętać Protokół DNS wykonuje żądaną funkcję analizy nazwy domeny. Jest to niezwykle przydatne, ponieważ gdyby tak nie było, i tak musielibyśmy wpisać adresy IP do paska adresu naszej przeglądarki, co jest praktycznie niemożliwe do utrzymania. W tym przewodniku omówimy tunele DNS, aby pomóc nam ominąć ograniczenia dostępu, takie jak zapory sieciowe i naruszenia bram.

Jednak możliwe jest uruchomienie tego typu tuneli, ponieważ administrator sieci nie wprowadził odpowiednich parametrów konfiguracyjnych, aby je wykluczyć. Przydatnym sposobem sprawdzenia, czy możemy uruchomić tunel DNS, jest wpisanie wiersza poleceń i wykonanie następujących poleceń:

nslookup www.google.com

Naciśnij „Enter”, a dane zostaną wyświetlone jak w galerii. Jeśli tak, możesz uruchomić tunel DNS. Pierwszą rzeczą, której będziemy potrzebować, jest narzędzie o nazwie dns2tcp , to narzędzie służy do tworzenia połączeń DNS. Mówiąc dokładniej, pomoże nam to ominąć wszelkie bramki rejestrujące, które zostały utworzone w sieciach publicznych.

Głównym warunkiem poprawnego działania narzędzia jest aktywacja portu UDP 53 przez firewall, w przeciwnym razie nie zadziała i nie będziemy mogli uciec z bramki logów lub firewalla. Następnie pokażemy schemat pracy, aby lepiej zrozumieć, jak ominąć barierę bramy:

  • Po uruchomieniu programu klienta dns2tcp wymagane jest bezpieczne żądanie zasobu SSH na porcie 2222 przy użyciu protokołu transferu TCP. Cały generowany ruch TCP jest objęty i przybiera formę fałszywe zapytania DNS ten
  • Serwer proxy SOCKS następnie otwiera się na porcie 1080.
  • Te fałszywe żądania DNS są przekazywane do serwera dns2tcp, który je wykrywa i zarządza wysyłaniem ich do pierwotnego miejsca docelowego.
  • Kiedy cel odpowiada na żądanie, ta odpowiedź najpierw przechodzi przez serwer dns2tcp, aby ustawić ją jako fałszywa odpowiedź DNS ten
  • Ukryta odpowiedź jest przekazywana do klienta dns2tcp, który ją rozpakowuje i ostatecznie przekazuje użytkownikowi

Najważniejsze jest to, że ten użytkownik może uzyskać dostęp do dowolnej witryny.

Uruchom, zainstaluj i skonfiguruj Ubuntu w AWS

Jeśli chcemy to zrobić, potrzebujemy serwera z zainstalowanym narzędziem dns2tcp oraz własnej domeny, która musi pokazywać publiczny adres IP serwera (również dns2tcp). Możemy skorzystać z dodatkowego komputera, który posiadamy lub skorzystać z bardziej funkcjonalnych i ekonomicznych zasobów, takich jak Raspberry Pi. W przypadku tych ostatnich możemy zainstalować żądaną dystrybucję Linuksa, między innymi Raspbian.

Jednak wybór dodatkowego materiału wiąże się z dodatkowymi kosztami. Więc możemy wybrać darmowe alternatywy, takie jak Usługi internetowe Amazon ten W tym samouczku skupimy się na najważniejszej części tworzenia tunelu DNS: serwerze, na którym hostowany jest dns2tcp. Jeśli go nie mamy, nie ma od czego zacząć.

Pierwszą rzeczą, którą musisz zrobić, to uzyskać dostęp do portalu AWS i załóż darmowe konto. Będziesz mieć dostęp do różnych rozwiązań przez rok bez płacenia abonamentu. Ważnym szczegółem jest to, że musisz wprowadzić dane swojej karty kredytowej w jednym z kroków, ale nie martw się, nie ma żadnych opłat. Następnie przejdź do Moje konto i wybierz opcję Konsola zarządzania AWS ten

Z wielu opcji, które zobaczysz, wybierzesz pierwszą, czyli EC2. To jest oczywiste EC2 zarządzany przez incydenty ten Przypadki te są jak kontenery, w których przechowywane są tworzone przez nas maszyny wirtualne. Mogą to być różne wersje serwerów Windows Server lub Linux. Jeśli chcesz dowiedzieć się więcej, proponujemy zapoznać się z niezliczonymi opcjami wirtualizacji.

Spowoduje to przejście do specjalnego panelu sterowania EC2 i przejdziemy dalej Sprawy ten

Przejdźmy do niebieskiego przycisku Wykonaj obecność

Mamy teraz własny przewodnik konstrukcyjny przykład ten Tak jest w przypadku naszego wirtualnego serwera, który z kolei będzie hostował narzędzie dns2tcp.

W takim przypadku wybierzemy jeden serwer ubuntu i nie będzie nas tak bardzo obchodziło, której wersji użyjemy. Ponieważ robimy tylko testy. Następnie kliknij niebieski przycisk wybierać ten

Wybieramy opcję, z której możesz skorzystać z darmowego abonamentu (ta z etykietą spełnia wymagania dla oceny bezpłatnej) ten

Później będą kroki, na które nie musimy tym razem zwracać uwagi. Jednak pójdziemy dalej krok 6 (Grupy Bezpieczeństwa) i dodaj nową regułę, która pozwoli Ci tworzyć tunele DNS: protokół DNS (UDP)

Po ustawieniu tej opcji automatycznie wskaże swój numer portu, tj. 53. Tam, gdzie jest napisane Source, możesz wybrać opcję Custom i umieścić obok niej adres IP. 0.0.0.0 / 0 ten Następnie kliknij przycisk Sprawdź i wykonaj ten

Pojawi się ostatni krok recenzji i będziesz musiał kliknąć Ułan ten Jak zobaczymy poniżej, nie jest to tak naprawdę ostatni krok. Teraz będziemy tworzyć para kluczy (składa się z klucza publicznego i prywatnego), który pozwoli nam bezpiecznie połączyć się z naszą obecnością, którą właśnie stworzyliśmy.

W tym kroku musisz wybrać opcję Utwórz nową parę kluczy więc możemy dostać nową parę kluczy. To jest napisane Nazwa pary kluczy , podajemy imię pary, którą chcemy. Zalecamy użycie nazwy, która będzie łatwo rozpoznawalna podczas wyszukiwania pliku. Coś bardzo ważnego, co wskazuje, że plik zostanie utworzony tylko raz, dlatego bardzo wygodnie jest go zapisać w bezpiecznym miejscu na komputerze, które możemy zapamiętać. Następnie kliknij Zdobądź parę kluczy aby pobrać plik i zaczynając przykład

Po kilku minutach zweryfikujesz, czy stan nowej instancji jest gotowy do uruchomienia i czy będziesz mieć dostęp do naszego wirtualnego serwera. To, co jest podświetlone na czerwono, powiadomi Cię, czy możesz teraz uruchomić obecność. Jeśli wygląda to na przykład zrzutu ekranu, to jesteś gotowy. Musisz wybrać utworzoną obecność i kliknąć przycisk Połączenie ten

Pojawi się okno z opcjami połączenia z obecnością. W takim przypadku pokażemy, jak połączyć się przez klienta SSH. Dlatego będziemy potrzebować programu o nazwie Stiuk ten

Zainstaluj PuTTY w kilka sekund

Aby połączyć się z naszym serwerem Ubuntu, który stworzyliśmy z instancją AWS, będziemy potrzebować tego programu. Dokładnie dwa, stiuk itp. Szpachlówka Gen. ten Dostęp do niego zastaw i szukaj obu programów, są dość lekkie i nie wymagają zbyt wielu kroków instalacyjnych.

Teraz przejdźmy dalej gen. PuTTY , to narzędzie pomoże nam przekonwertować plik pary kluczy, który pobraliśmy po zakończeniu tworzenia naszej obecności w AWS. Powodem, dla którego to robimy, jest to, że PuTTY obsługuje pliki par kluczy w formacie .ppk , po zakończeniu konwersji ten plik pomoże nam połączyć się przez SSH z wirtualnym serwerem Ubuntu.

Taniec Parametry , wybierz algorytm szyfrowania RSA używany dla SSH-2. Jednak obecnie zaleca się tworzenie kluczy SSH za pomocą Ed25519 lub ECDSA, ponieważ są one najbezpieczniejsze. Następnie w środku Obciążenie , znajdziemy plik .pem wcześniej utworzone w AWS.

Kiedy chcemy otworzyć plik, upewnij się, że wszystkie pliki można wyświetlić, a tym samym unikniesz problemów. Otworzysz go, a za kilka sekund zobaczysz powiadomienie, że zostało pomyślnie wprowadzone:

Kliknij tutaj W PORZĄDKU , a następnie kliknij przycisk Zapisz klucz prywatny ponieważ jest to klucz, który pomoże Ci zweryfikować i połączyć się z serwerem Ubuntu. Otrzymasz ostrzeżenie, ale możesz kliknąć tak bez naciskania, nazwij plik, jak chcesz i zapisz go.

Jak połączyć się z naszym wirtualnym serwerem za pomocą PuTTY?

Teraz poszukajmy programu PuTTY i będziemy mieć takie okno

Jak skomentowaliśmy, połączymy się za pomocą protokołu SSH. To, co musimy zrobić, aby uniknąć powtarzania kolejnego kroku w kółko, to: popraw nasz plik klucz prywatny utworzony za pomocą gen. PuTTY dzięki czemu możemy się pomyślnie łączyć, kiedy tylko chcemy.

Szukamy akapitu SSH znaleźć w Wszystkie produkty Następnie Uwierzytelnianie i gdzie to jest? pisemny Plik klucza prywatnego do uwierzytelniania Mam nasze akta .ppk to dopiero co się stało gen. PuTTY ten Wróć do AWS i znajdź utworzony przed chwilą zrzut, wybierz go i kliknij Będziemy określać te wydarzenia jako Połączenie. ten Okno, które widzieliśmy powyżej, pojawia się ponownie i kopiujemy informacje wymienione w kaseta 4 czyli nasz publiczny DNS.

Idziemy do PuTTY i sekcji Konferencje , na polu Nazwa hosta umieszczamy:

nombredeusuario@DNSpublico

Ponieważ wirtualizujemy serwer Ubuntu, aby z niego korzystać, po prostu piszemy ubuntu małe litery, po których następuje @ i publiczny DNS, który skopiowaliśmy wcześniej, bez luk

ubuntu@dnspublico-ABC-123-dEf

Zachowujemy port numeru portu 22 W ciągu nagrane sesje, wpisz dowolną nazwę, aby zapisać nasze połączenie z serwerem Ubuntu, kliknij Zarejestrować zapisać, a następnie włączyć otwarty ten

Jak to jest za pierwszym razem, pojawi się ostrzeżenie i będziesz musiał kliknąć tak :

I voila, poczekaj kilka sekund na uruchomienie połączenia i zobaczymy takie okno. Mamy dostęp do naszego wirtualnego serwera Ubuntu!

Po utworzeniu maszyny wirtualnej w AWS i uzyskaniu łączności przez SSH wystarczy użyć samego narzędzia dns2tcp.

Zainstaluj i skonfiguruj dns2tcp na Ubuntu

Pierwszą rzeczą, którą musimy zrobić sami serwer ubuntu zainstalowane jest narzędzie dns2tcp:

sudo apt install dns2tcp

Po instalacji zarówno klient, jak i serwer będą musiały wprowadzić drobne poprawki.

Skonfiguruj i uruchom serwer dns2tcp

Będziemy musieli wykonać krótką konfigurację, edytując plik konfiguracyjny znajdujący się w /etc/dns2tcp.conf i zawierający następujące informacje:

root@debian-vm:/home/bron# cat /etc/dns2tcpd.conf
listen = 127.0.0.1
port = 53
# If you change this value, also change the USER variable in /etc/default/dns2tcpd
user = nobody
chroot = /tmp
domain = your.domain.tld
resources = ssh:127.0.0.1:22 , smtp:127.0.0.1:25
root@debian-vm:/home/bron#

Musimy to przetworzyć w następujący sposób:


listen = 0.0.0.0
port = 53
# If you change this value, also change the USER variable in /etc/default/dns2tcpd
user = nobody
chroot = /tmp
domain = EL_DOMINIO_DE_AWS
key= redeszone
resources = ssh:127.0.0.1:22 , smtp:127.0.0.1:25
root@debian-vm:/home/bron#

Pole „klucz” jest opcjonalne, ale zalecane jest uwierzytelnianie, aby nikt nie mógł się zalogować. Musimy go uruchomić w następujący sposób:

root@debian-vm:/home/bron# sudo dns2tcpd -F -d 3 -f /etc/dns2tcpd.conf
18:52:08 : Debug options.c:97 Add resource ssh:127.0.0.1 port 22
18:52:08 : Debug options.c:97 Add resource smtp:127.0.0.1 port 25
18:52:08 : Debug socket.c:55 Listening on 0.0.0.0:53 for domain your.domain.tld
Starting Server v0.5.2...
18:52:08 : Debug main.c:132 Chroot to /tmp
16:52:08 : Debug main.c:142 Change to user nobody

Gdy skończymy, wystarczy połączyć się z naszym klientem.

Konfiguracja klienta do połączenia przez dns2tcp

Najłatwiejszym sposobem na połączenie jest uruchomienie wiersza poleceń, który ma wszystko, czego potrzebujesz, a następnie możesz dokładnie zobaczyć, kto powinien się z nami połączyć i automatycznie utworzyć gniazdo SSH na porcie 2222.

dns2tcpc -z EL_DOMINIO_DE_AWS -k redeszone -r ssh -l 2222

Możemy teraz połączyć się z SSH w następujący sposób, a komunikacja zostanie zaszyfrowana i uwierzytelniona:

ssh [email protected] -p 2222 -D 8080

Na koniec musimy skonfigurować PROXY SOCKS w naszej przeglądarce, np. w Firefoksie, będzie to wyglądać tak:

W ten sposób będziesz w stanie ominąć bramy wydechowe, a zapory ogniowe prawdopodobnie zrobią to samo, o ile nie będą miały specjalnych blokad, które uniemożliwiają wykonanie tej techniki.

Dodaj komentarz