Skip to content

Jak wbić się w twoją sieć (DD-WRT)

15 de lipiec de 2021
1816742529 2909a1b7d edited

Czy kiedykolwiek chciałeś mieć to specjalne „pukanie do akademika” za pomocą routera, aby „otwierało drzwi” tylko wtedy, gdy tajne pukanie zostanie rozpoznane? How-To Geek wyjaśnia, jak zainstalować Knockdaemonon DD-WRT.

Obraz autorstwaBficki Aviad Raviv

Jeśli jeszcze tego nie zrobiłeś, koniecznie sprawdź poprzednie artykuły z serii:

  • Zmień swój domowy router w super-zasilany router z DD-WRT
  • Jak zainstalować dodatkowe oprogramowanie na routerze domowym (DD-WRT)
  • Jak usunąć s za pomocą Pixelserv na DD-WRT

Zakładając, że znasz te tematy, czytaj dalej. Pamiętaj, że ten przewodnik jest nieco bardziej techniczny, a początkujący powinni zachować ostrożność podczas modyfikowania routera.

Przegląd

Tradycyjnie, aby móc komunikować się z urządzeniem/usługą należałoby zainicjować pełny połączenie sieciowez nim. Jednak takie postępowanie ujawnia, co nazywa się w zabezpieczeniach, powierzchnię ataku. Demon Knock jest rodzajem sniffera sieciowego, który może reagować na zaobserwowanie wstępnie skonfigurowanej sekwencji. Jak połączenie nie musi być nawiązywaneaby demon knock mógł rozpoznać skonfigurowaną sekwencję, powierzchnia ataku jest zmniejszona przy zachowaniu pożądanej funkcjonalności. W pewnym sensie prekondycjonujemy router za pomocąpożądanydwa bity”odpowiedź (w przeciwieństwie do biednego Rogera…).

W tym artykule będziemy:

  • Pokaż, jak używać Knockd, aby router Wake-On-Lan był komputerem w sieci lokalnej.
  • Pokaż, jak uruchomić sekwencję Knock zAplikacja na Androida, a także komputer.

Uwaga: chociaż instrukcje instalacji nie są już aktualne, możesz oglądać filmy Stworzyłem „drogę wstecz, kiedy”, aby zobaczyć cały przegląd konfiguracji na pukanie. (Tylko wybacz prymitywną prezentację).

Implikacje dla bezpieczeństwa Security

Dyskusja o „jak bezpieczny jest Knockd?”, jest długi i daty z powrotem wiele tysiącleci(w latach internetowych), ale najważniejsze jest to:


Pukanie to warstwa bezpieczeństwa przez ukrycie, która powinna być używana tylko do wzmacniać inne środki, takie jak szyfrowanie, i nie powinny być używane samodzielnie, ponieważ wszystkie są środkiem bezpieczeństwa.

Warunki wstępne, założenia i zalecenia

  • Zakłada się, że masz router DD-WRT z obsługą Opkg.
  • Trochę cierpliwości, ponieważ konfiguracja może zająć trochę czasu.
  • Wysoce zalecane jest uzyskanie konta aDDNS dla zewnętrznego (zazwyczaj dynamicznego) adresu IP.

Do roboty

Instalacja i konfiguracja podstawowa

Zainstaluj demona Knock, otwierając terminal do routera i wydając:

opkg update ; opkg install knockd

Teraz, gdy Knockd jest zainstalowany, musimy skonfigurować sekwencje wyzwalania i polecenia, które będą wykonywane po ich uruchomieniu. Aby to zrobić, otwórz plik „knockd.conf” w edytorze tekstu. Na routerze byłoby to:

vi /opt/etc/knockd.conf

Spraw, aby jego treść wyglądała tak:

[options] logfile = /var/log/knockd.log
UseSyslog

[wakelaptop] sequence = 56,56,56,43,43,43,1443,1443,1443
seq_timeout = 30
command = /usr/sbin/wol aa:bb:cc:dd:ee:22 -i $( nvram get lan_ipaddr | cut -d . -f 1,2,3 ).255
tcpflags = sync

Wyjaśnijmy powyższe:

  • Segment „opcje” pozwala skonfigurować globalne parametry demona. W tym przykładzie poinstruowaliśmy demona, aby prowadził dziennik zarówno w syslog, jak iw pliku. Chociaż używanie obu opcji w połączeniu nie zaszkodzi, powinieneś rozważyć pozostawienie tylko jednej z nich.
  • Segment „wakelaptop” jest przykładem sekwencji, która wyzwoli polecenie WOL w sieci LAN dla komputera z adresem MAC aa:bb:cc:dd:ee:22.
    Uwaga: Powyższe polecenie zakłada domyślne zachowanie podsieci klasy C.

Aby dodać więcej sekwencji, po prostu skopiuj i wklej segment „wakelaptop” i dostosuj nowe parametry i/lub polecenia do wykonania przez router.

Uruchomienie

Aby router wywoływał demona podczas uruchamiania, dołącz poniższy skrypt do skryptu „geek-init” z przewodnika OPKG:

knockd -d -c /opt/etc/knockd.conf-i "$( nvram get wan_ifname )"


Spowoduje to uruchomienie demona Knock na interfejsie „WAN” routera, aby nasłuchiwał pakietów z Internetu.

Pukaj z Androida

W dobie przenośności prawie konieczne jest „mieć aplikację do tego”… więc StavFX stworzyłem do zadania 🙂
Ta aplikacja wykonuje sekwencje pukania bezpośrednio z urządzenia z systemem Android i obsługuje tworzenie widżetów na ekranach głównych.

  • Zainstaluj Aplikacja Knocker z Android market (proszę też o uprzejmość i dobrą ocenę).
  • Po zainstalowaniu na urządzeniu uruchom go. Powinieneś pozdrowić coś takiego:
    1626357320 487 Jak wbic sie w twoja siec DD WRT
  • Możesz dłużej nacisnąć ikonę przykładu, aby go edytować, lub kliknąć „menu”, aby dodać nowy wpis. Nowy wpis wyglądałby tak:
    1626357320 124 Jak wbic sie w twoja siec DD WRT
  • Dodaj linie i wypełnij informacje wymagane do pukania. Dla przykładowej konfiguracji WOL z góry byłoby to:
    1626357321 805 Jak wbic sie w twoja siec DD WRT
  • Opcjonalnie zmień ikonę przez długie naciśnięcie ikony obok nazwy Knock.
  • Zapisz pukanie.
  • Pojedyncze dotknięcie nowego Puknij na ekranie głównym, aby go aktywować.
  • Opcjonalnie utwórz dla niego widżet na ekranie głównym.

Należy pamiętać, że chociaż skonfigurowaliśmy przykładowy plik konfiguracyjny z grupami po 3 dla każdego portu (ze względu na poniższą sekcję Telnet), w tej aplikacji nie ma ograniczeń co do liczby powtórzeń (jeśli w ogóle) dla aportu.
Baw się dobrze, korzystając z aplikacji, która StavFXwpłacił 🙂

Knock z systemu Windows/Linux

Chociaż możliwe jest wykonanie Pukania za pomocą najprostszego narzędzia sieciowego, czyli „Telnet”, Microsoft zdecydował, że Telnet stanowi „zagrożenie bezpieczeństwa” i w związku z tym nie instaluje go już domyślnie w nowoczesnych oknach. Jeśli zapytasz mnie: „Ci, którzy mogą zrezygnować z podstawowej wolności, aby uzyskać trochę tymczasowego bezpieczeństwa, nie zasługują ani na wolność, ani na bezpieczeństwo. ~Benjamin Franklin”, ale robię dygresję.

Powodem, dla którego ustawiliśmy kolejność przykładów na grupy po 3 dla każdego portu, jest to, że gdy telnet nie może połączyć się z żądanym portem, automatycznie spróbuje ponownie 2 razy. Oznacza to, że telnet faktycznie zapuka 3 razy, zanim się podda. Wszystko, co musimy zrobić, to wykonać polecenie telnet raz dla każdego portu w grupie portów. Jest to również powód, dla którego wybrano 30-sekundowy limit czasu, ponieważ musimy czekać na limit czasu telnetu dla każdego portu, aż wykonamy następną grupę portów. Zaleca się, aby po zakończeniu fazy testowania zautomatyzować tę procedurę za pomocą prostego skryptu Batch/Bash.

Korzystając z naszej przykładowej sekwencji, wyglądałoby to tak:

  • Jeśli korzystasz z systemu Windows, postępuj zgodnie z MSinstrukcja instalacji Telnet.
  • Przejdź do wiersza poleceń i wydaj:
    telnet geek.dyndns-at-home.com 56
    telnet geek.dyndns-at-home.com 43
    telnet geek.dyndns-at-home.com 1443

Jeśli wszystko poszło dobrze, to powinno być to.

Rozwiązywanie problemów


Jeśli router nie reaguje na sekwencje, oto kilka kroków, które możesz podjąć w celu rozwiązania problemu:

  • Wyświetl dziennik – Knockd będzie przechowywać dziennik, który możesz przeglądać w czasie rzeczywistym, aby sprawdzić, czy sekwencje pukania dotarły do ​​demona i czy polecenie zostało wykonane poprawnie.
    Zakładając, że używasz przynajmniej pliku dziennika, jak w powyższym przykładzie, aby zobaczyć go w czasie rzeczywistym, wydaj w terminalu:

    tail -f /var/log/knockd.log

  • Uważaj na zapory sieciowe — czasami Twój dostawca usług internetowych, miejsce pracy lub kafejka internetowa pozwalają sobie na blokowanie komunikacji. W takim przypadku, gdy router może nasłuchiwać, uderzenia w porty zablokowane przez dowolną część łańcucha nie dotrą do routera i będzie miał trudności z reagowaniem na nie. Dlatego zaleca się wypróbowanie kombinacji, które używają dobrze znanych portów, takich jak 80, 443, 3389 itd., zanim spróbujesz bardziej losowych. Ponownie możesz przejrzeć dziennik, aby zobaczyć, które porty docierają do interfejsu WAN routera.
  • Wypróbuj sekwencje wewnętrznie – przed włączeniem powyższej złożoności, którą mogą wprowadzić inne części łańcucha, zaleca się, abyś spróbował wykonać sekwencje wewnętrznie, aby zobaczyć, że A. uderzają w router tak, jak myślisz, że B. powinny wykonać polecenie/polecenia zgodnie z oczekiwaniami. Aby to osiągnąć, możesz uruchomić Knockd będąc połączonym z interfejsem LAN za pomocą:

    knockd -d -i "$( nvram get lan_ifnameq )" -c /opt/etc/knockd.conf

    Po wykonaniu powyższego możesz skierować klienta Knocking do wewnętrznego adresu IP routera zamiast jego zewnętrznego.
    Wskazówka: Ponieważ knockd nasłuchuje na poziomie „interfejsu”, a nie na poziomie IP, możesz chcieć mieć instancję KnockD uruchomioną przez cały czas na interfejsie LAN. Tak jak „Kołatka” został zaktualizowany, aby obsługiwać dwa hosty do pukania, co pozwoli uprościć i skonsolidować twoje profile pukania.

  • Pamiętaj, po której stronie jesteś – Nie jest możliwe odrzucenie interfejsu WAN z interfejsu LAN w powyższej konfiguracji. Jeśli chcesz mieć możliwość pukania bez względu na to, „po której stronie jesteś”, możesz po prostu uruchomić demona dwa razy, raz przyłączony do sieci WAN, jak w artykule, a raz przyłączony do sieci LAN, jak w kroku debugowania z góry. Nie ma problemu z uruchomieniem obu w połączeniu, po prostu dołączając polecenie z góry do tego samego skryptu geek-init.

Uwagi

Chociaż powyższy przykład można osiągnąć różnymi innymi metodami, mamy nadzieję, że można go wykorzystać do nauczenia się, jak osiągnąć bardziej zaawansowane rzeczy. Część druga tego artykułu, która ukrywa usługę VPN za nadchodzącym pukaniem, więc bądź na bieżąco.

Poprzez pukanie będziesz mógł: Dynamicznie otwierać porty, wyłączać/włączać usługi, zdalnie komputery WOL i nie tylko…

Czy ten post był pomocny?