Wstęp
- 878
- 0
- Ignacy Modzelewski
Jeśli kiedykolwiek byłeś odpowiedzialny za sieć, zdecydowanie potrzebujesz bezpiecznego zdalnego połączenia. Może po prostu musisz mieć oko na pracowników lub dzieci. To może być kłopotliwe dla niektórych podczas przekraczania sieci i podsieci. Ponadto wiele firm może mieć Internet, ale nie ma DHCP do bardziej chronionych maszyn. Wielu robi to z maszynami sieciowymi, jednocześnie powstrzymując pracowników przed surfowaniem po Internecie. W każdym razie Linux ma wiele świetnych narzędzi, które umożliwiają zdalnie zaszyfrowane administrowanie GUI. Co więcej, otrzymamy wszystko, czego potrzebujemy za darmo, aby uzyskać dostęp do klienta Linux lub Windows.
Wymagania
Powinieneś mieć przywileje korzeniowe na komputerze, od którego chcesz monitorować, a także na klientach. Nie musisz mieć praw administratora na kliencie Windows, jeśli możesz przynajmniej włączyć zdalny pulpit. Aby śledzić ten samouczek, możesz użyć maszyn wirtualnych, jeśli nie masz fizycznych klientów do przetestowania. Tak długo, jak masz powyższe prawa i adres IP, powinieneś być w porządku.
Zastrzeżenia prawne
Chociaż już wspomniałem o uzasadnionych celach tego samouczka, można go nadużywać. Celem tego pisania jest pomaganie ludziom w nawiązaniu kontaktów z własnymi maszynami. Użyj tych informacji tylko do legalnego monitorowania klientów!
Konfigurowanie naszego gospodarza
Pierwszą rzeczą, którą powinieneś zrobić, jest pobranie niezbędnych pakietów z apt-get, jeśli jesteś na debian lub pochodnych:
# apt-get install xrdp openSsh-server
Następnie musimy wykonać pewną konfigurację, aby upewnić się, że nasz serwer SSH działa poprawnie. W typu terminali „ssh-keygen”, aby utworzyć klawisze RSA do szyfrowania. Zobaczysz trochę sztuki ASCII, a potem skończy. Najprawdopodobniej Twoje klucze RSA będą przechowywane w/home // nazwa użytkownika/.SSH/ Jeśli kiedykolwiek potrzebujesz ich znaleźć.
Teraz możemy sprawdzić, czy wszystko działa.
$ netstat -antp proto recv-q send-q adres lokalny adres zagraniczny stan PID/Nazwa programu TCP 0 0 0.0.0.0:22 0.0.0.0:* Posłuchaj 6294/sshd TCP 0 0 127.0.0.1: 3350 0.0.0.0:* Posłuchaj 6230/XRDP-SESMAN TCP 0 0 0.0.0.0: 3389 0.0.0.0:* Posłuchaj 6227/xrdp
Uruchamiając to polecenie netstat, powinniśmy zobaczyć coś takiego. Oczywiście port 22 to nasz serwer SSH. 3389 to port serwera RDesktop, który czeka na połączenia. Drugi to port dla naszego klienta RDP do łączenia i wyświetlenia z.
Konfigurowanie klienta Windows
Teraz, gdy skonfigurowaliśmy nasz host Linux, musimy zrobić to samo dla naszego klienta Windows. W systemie Windows zaczynamy od włączenia zdalnego pulpitu. W systemie Windows XP Przejdź do Start-> wszystkie programy-> Akcesoria-> Połączenie zdalnego komputera stacjonarnego. Do tunelu SSH użyjemy Plink. Po prostu pobierz Plink.exe i upuść .plik exe w podgadniku lub gdzieś nie zostanie zauważony. Zrobimy to samo z netcat dla naszego początkowego połączenia.
Nawiązanie połączenia
Od klienta Windows zaczniemy od otwarcia tymczasowej powłoki na porcie 1234.
C: \> nc -lvp 1234 -e cmd.exe
Z powyższą składnią powinniśmy teraz mieć powłokę Windows słuchającą na porcie 1234. Jeśli Twoje dystrybucja nie jest wyposażone w wstępnie zainstalowane Netcat, możesz zainstalować go za pośrednictwem menedżera pakietów. Niezależnie od tego, czy Yum, Pacman, czy apt-get, składnia powinna być tak:
# apt-get install Netcat
Możemy teraz użyć Netcat na naszym hostie Linux, aby połączyć się i uzyskać powłokę. Parametr -v mówi Netcat, aby był pełny. Używany tutaj adres IP to adres klienta Windows. Wreszcie 1234 to port, z którym chcemy się połączyć.
$ nc -v 192.168.1.12 1234
Teraz powinniśmy mieć wiersz polecenia Windows dla zdalnego klienta na naszym komputerze Linux. Wybrałem 192.168.1.12 Dla adresu IP komputera Windows Machine. Użyj wszystkiego, co jest odpowiednie dla swojej sieci.
Po zakończeniu możemy uruchomić PLINK ze skorupy systemu Windows na naszym hoście Linux.
C: \> PLINK -L nazwa użytkownika -pw hasło -r 3390: 127.0.0.1: 3389 192.168.1.11
To, co tu zrobiliśmy. Parametr -R służy do poinformowania SSH, że trafia do zdalnego hosta. Numer 3390, do którego łączymy się tutaj, to port na naszym komputerze Linux. Nie możemy używać 3389, ponieważ ten port jest już używany przez XRDP. Oczywiście 127.0.0.1 to adres pętli na komputerze Windows. 3389 to port na komputerze z systemem Windows, który musimy do przodu do Linux. Wreszcie 192.168.1.11 to adres IP, którego używam dla naszego hosta Linux, do którego chcemy się połączyć.
Jeśli wszystko poszło zgodnie z planem, powinniśmy zobaczyć coś takiego od Netstat.
$ netstat -antp proto recv-q send-q adres lokalny adres zagraniczny stan PID/Nazwa programu TCP 0 0 0.0.0.0:22 0.0.0.0:* Posłuchaj 6294/sshd TCP 0 0 127.0.0.1: 3350 0.0.0.0:* Posłuchaj 6230/XRDP-SESMAN TCP 0 0 127.0.0.1: 3390 0.0.0.0:* Posłuchaj 6227/xrdp
Jak możesz powiedzieć, że mamy komputer Windows podłączony na 127.0.0.1: 3389. Po prostu uruchamianie RDesktop na 127.0.0.1 Powinienem otworzyć okna na naszym komputerze Linux.
$ rdesktop 127.0.0.1
Teraz możesz zamknąć Netcat i użyć zdalnego pulpitu nad szyfrowaniem SSH. Powinienem tu zauważyć, że pozostawienie otwartej skorupy, tak jak właśnie zrobiłem, może stanowić wysokie ryzyko bezpieczeństwa. Jeśli to możliwe, powinieneś rozpocząć od klienta Windows z tą samą składnią, aby uniknąć otwierania skorupy na cały świat.
Łączenie bez DHCP
To, co zrobiliśmy, może nie zaimponować niektórym z was. Łączenie z jednego maszyny do drugiej na tej samej podsieci nie jest tak trudne. Ale teraz spróbujemy połączyć się z inną podsiecią. Taki, który ma Internet, ale nie ma DHCP. Udawamy pudełko o 10.0.0.10 ma stronę internetową na porcie 80. Udawamy również klienta Windows w 192 roku.168.1.12 ma dwie karty sieciowe, a zatem dwa adresy IP do rozmowy z obiema sieciami. Ponieważ nie jesteśmy na tej podsieci i bez DHCP, nie możemy go po prostu wyświetlić, wpisując adres IP do naszej przeglądarki. SSH pozwoli nam tunelowi do tego komputera i wysłać stronę usług i strony internetowej uruchomiona na porcie 80 z powrotem do naszego hosta Linux.
C: \> PLINK -L nazwa użytkownika -pw hasło -r 8080: 10.0.0.10:80 192.168.1.11
Tutaj użyliśmy prawie tej samej składni z Plink jak poprzednio. Zdecydowałem, że chcę, aby połączenie rozpoczęło się w porcie 8080 na moim hoście Linux. Tym razem użyliśmy adresu IP maszyny, z którą chcieliśmy się połączyć zamiast 127.0.0.1. Zdecydowaliśmy się połączyć się z nim na porcie 80. Wreszcie wysłaliśmy to połączenie przez klienta Windows i z powrotem do hosta Linux w 192 roku.168.1.11. Usługa od 10.0.0.10 jest teraz związany z portem 8080 na lokalnym hostu naszego pudełka Linux. Użyj http: // 127.0.0.1: 8080 w pasku adresu przeglądarki, aby zobaczyć stronę internetową od 10.0.0.10.
Zmiana scenariusza na klientów Linux
Byłem zaskoczony, że tuneling GUI Administration nad SSH był znacznie prostszy dla klientów Linux. Nie był nawet potrzebny pakiet XRDP. Klient potrzebował tylko serwera SSH, którego chcemy monitorować, a klient SSH nasz pudełko. Z naszej linii poleceń zaczynamy od tego:
$ ssh -x nazwa uż[email protected]
Tutaj logujemy się do SSH klienta z -x, aby umożliwić przekazywanie x11. Zostaniemy poproszeni o hasło użytkownika i zabrani do bezpiecznej powłoki. Aby utworzyć interaktywną sesję GUI, będzie specyficzna dla twojego pulpitu. Dla KDE po prostu wpisz następujące:
$ startx -: 1
Użytkownicy pulpitu Gnome będą musieli użyć tego polecenia:
$ gnome-sesja
Wszyscy użytkownicy, którzy mają problemy z tym, powinni skonfigurować pliki XINItrc i/lub Xsession Thier Distro. Linie tych plików mogą się różnić między dystrybucjami i być przechowywane w wielu różnych lokalizacjach. Znalazłem jednak wiele dystrybów, takich jak Debian Sid, pracowało bez konfiguracji lub rozwiązywania problemów. Aby uzyskać pomoc, zobacz dokumentację Twojej Distro.
Po wydaniu polecenia dla sesji stacjonarnej powinieneś mieć pulpit GUI od zdalnego pudełka. W przeciwieństwie do XRDP, ta sesja zaprojektuje pełny monitor zamiast skalowalnego okna. Możesz przełączyć między sesją zdalną a lokalnym pulpitem, przełączając między Control+Alt+F7 i Control+Alt+F8. Pamiętaj, aby nie zamknąć sesji za pomocą zdalnego maszyny. To może wyłączyć klienta, z którego monitorujesz, a nie uczynić bardzo ukrytego podstępu.
Teraz, gdy znajdujemy się w zdalnej maszynie, której możemy użyć, może użyć jego klienta SSH lub proxychainów do głębszego tunelu. To pozwoli nam przeskakiwać nad sieciami z DHCP lub bez.
Wniosek
Chociaż ten rodzaj monitorowania może wydawać się nachalny, każdy poważny administrator będzie musiał to zrobić w pewnym momencie. Niezależnie od tego, czy chcesz naprawić zdalny komputer z aplikacją GUI, czy upewnić się, że pracownicy nie zapisują sprośnych zdjęć na komputerze roboczym. Korzystanie z SSH nie tylko chroni cię przed atakującymi, ale także pozwala tunelom do sieci, których nie można nawet ping, używanie tego rodzaju administracji pozwala monitorować bez łatwego zauważania przez klientów lub przerywanie ich pracy. Użyj tych informacji odpowiedzialnie i pamiętaj: „Z wielką mocą przychodzi wielka odpowiedzialność."
Powiązane samouczki Linux:
- Rzeczy do zainstalowania na Ubuntu 20.04
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
- Konfigurowanie sieci na Manjaro Linux
- Jak testować połączenie internetowe w Linux
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
- Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
- Jak zarządzać połączeniami bezprzewodowymi za pomocą IWD w Linux
- Linux: Ustaw ssh
- Hung Linux System? Jak uciec do wiersza poleceń i…