Skąd mam wiedzieć, czy mój serwer jest już zagrożony z powodu błędu Shellshock?
Ty nie. Taki jest pomysł luki w zabezpieczeniach. Gdybyś musiał kliknąć Wpuść crackerów? OK / Anuluj, to nie byłaby duża luka.
Możesz mieć szczęście sprawdzając dzienniki wektorów ataku, ale biorąc pod uwagę, że tak wiele usług jest podatnych na atak i nie wszystkie z nich rejestrują każdy dostęp, prawdopodobnie nie można jednoznacznie znaleźć ataku.
Jeśli został naruszony, czy istnieje jakiś folder, w którym powinienem szukać złośliwych plików?
Nie, złośliwy plik może być wszędzie.
Wspólne rootkity instalują się w /root
lub /
lub /tmp
lub jedną ze ścieżek binarnych ale naprawdę mogli być wszędzie. Mogą mieć nazwę podobną do prawdziwej usługi lub coś „ważnego”, wyglądającego jak „ IPTables
” lub „ kernel-bin
”, ale mogą również być losowymi ciągami znaków lub taką samą nazwą jak prawdziwy plik binarny (tylko inną ścieżką). Możesz zauważyć naprawdę oczywiste ładowanie się rootkita /etc/rc.local
lub nawiązywanie połączeń przez netstat -neopa
. Poszukaj podejrzanych nazw procesów w top -c
.
Mniej powszechny i znacznie trudniejszy do znalezienia rootkit zastępuje bibliotekę lub ładuje się jako biblioteka zastępcza i przechwytuje wywołania systemowe. Jest to prawie niemożliwe do znalezienia, chyba że śledzisz / śledzisz każdą rzecz działającą w twoim systemie i nie porównujesz zachowania z oczekiwanym zachowaniem znanego dobrego systemu lub kodu źródłowego.
Przeładowanie systemu byłoby szybsze, łatwiejsze i bardziej rozstrzygające.
Jak wygląda złośliwy plik?
Prawdopodobnie jak każdy inny zwykły plik binarny lub biblioteka ELF. Może to być również skrypt.
Podsumowując, jeśli uważasz, że istnieje możliwość, że twój system został przejęty, traktuj system tak, jakby został przejęty i podejmij niezbędne środki.
bash
zainstalowany i podłączony kabel sieciowy, prawda?shellshock nie jest robakiem, więc nie ma plików do wyszukania. Shellshock to sposób na zaatakowanie sieci w celu uzyskania dostępu. W środku kto wie, co zrobi atakujący.
źródło
is there a particular folder where I should look for malicious files
.Widziałem jedną próbę wykorzystania błędu, który zainstalowałby bota IRC jako
/var/tmp/x
. Ale generalnie nie ma żadnych konkretnych plików do wyszukiwania, ponieważ mogą one być gdziekolwiek lub nigdzie.W przypadku naruszenia bezpieczeństwa przez serwer WWW każdy nowy plik lub proces będący własnością użytkownika serwera WWW byłby podejrzany.
W przypadku, gdy osoba atakująca wykorzysta najpierw
bash
błąd, aby dostać się do systemu, a następnie lokalną lukę w zabezpieczeniachroot
, wykrycie może być prawie niemożliwe.Zobacz także podobne pytanie .
źródło
Chciałbym powtórzyć odpowiedź z suprjami i powiedzieć, że jeśli twój system jest podatny na zagrożenia, powinieneś traktować go jako zagrożony.
Jeśli korzystasz z Apache, możesz sprawdzić dzienniki prób włamania do Shellshock za pomocą następującego polecenia:
To polecenie wyodrębnia wszystkie wiersze zawierające „cgi” z dzienników dostępu Apache (domyślnie nazywane dziennikiem dostępu, dziennikiem dostępu 1, dziennikiem dostępu 2 itd.), A następnie potokuje je do wyrażenia regularnego za pomocą wyrażenia regularnego.
(Źródło: http://linux.slashdot.org/story/14/09/24/1638207/remote-exploit-vulnerability-found-in-bash )
źródło
Ponieważ istnieje kilka wektorów ataku dla Shellshock, niektóre z nich są jeszcze nieznane dla ogółu społeczeństwa lub spowodowane niestandardowym skryptem CGI, nie ma jednoznacznego sposobu na stwierdzenie, czy ktoś jest zagrożony czy nie.
Oprócz zwykłego „zobaczmy, czy niektóre pliki systemowe uległy zmianie lub ostatnio wydarzyło się coś innego podejrzanego”, możesz mieć oko na zachowanie serwera.
netstat
pokazuje dziwne połączenia sieciowe lubps aux
pokazuje procesy, których nie rozpoznajesz?Jeśli masz odpowiednie monitorowanie kondycji serwera (np.
Zabbix
), Może również pomóc w wykryciu naruszenia bezpieczeństwa. Można również porównać sumy plików systemowych MD5 / SHA ze znaną dobrą kopią zapasową.Po prostu działaj tak, jakby Twój serwer został przejęty i zbadaj wszystko, co możesz wymyślić.
źródło
Właśnie miałem przyjemność wyczyścić starszy kompromis Pleska. Pierwszą rzeczą, która go rozdała, były liczne procesy, które rozpoczęły nasłuchiwanie wielu portów i innych próbujących pobrać kod z oryginalnego serwera skanującego.
Po logach dowiedziałem się, że ostateczną dziurą był
cgi_wrapper
skrypt, czymś, co miało chronić i chronić system, jest tym, co faktycznie rozerwało dziurę w zabezpieczeniu. Oto niektóre wiersze dziennika z sond i udanego ataku:Są to wiersze z dziennika access_log, ponieważ jest to tylko próbka, zwróć uwagę na 200 na dwóch liniach, podczas gdy pozostałe nie działają z 404. Nie musisz się martwić o linie, które mają 404, ponieważ te się nie powiodły, te z 200 jednak to zrobiły. Wzorzec tych ataków jest zawsze taki sam: 1. znajdź podatny na atak skrypt cgi, użyj exploita shellshock, aby pobrać i uruchomić skrypt perla, usuń skrypt perl ponownie. Skrypt perla faktycznie pobierze niektóre pliki źródłowe (tgz), skompiluje je i uruchomi, z tego, co widziałem, zawierają one przynajmniej backdoor i mechanizm automatycznej aktualizacji, a także coś, co wygląda jak exploity, mające na celu zdobycie podwyższonych uprawnień do wykonywania. Wszystkie początkowe skrypty są w rzeczywistości wykonywane jako użytkownik dostarczony przez opakowanie, a późniejsze usługi są uruchamiane z PPID równym 1 (uruchamiany z procesu rootowania).
A tutaj odpowiednie wiersze dziennika error_log:
Pliki pobrane do / tmp Jak można się domyślić, nie mam pliku bot.pl, ponieważ jest on natychmiast usuwany.
Po chwili zauważyłem połączenia ssh z różnych miejsc, takich jak Chiny, które zwykle nie odwiedzają naszego serwera zbyt często. Łagodziłem bash jako środek awaryjny (byłoby miło mieć łatane źródła dostępne na stronie FSF, a nie tylko naprawdę stare źródła i pliki łatek (z których jedno początkowo nie działało poprawnie). System jest zaplanowany na pełną wyczyść teraz, więc jeśli ktoś szuka czegoś innego na temat ataku, możesz zapytać, ale zrób to wkrótce.
źródło
Ta odpowiedź nie jest szczególnie związana z Shellshock, ale w przypadku każdego systemu, który może być zagrożony
druga uwaga: nie możesz być pewien, że odzyskałeś system po przejściu na system root. Twoim jedynym działaniem jest zniszczenie i ponowne uruchomienie systemu
Spróbuj uzyskać czystą kompilację statyczną
rpm
i uruchom polecenierpm --verify --all
. Powie ci, które pliki należące do pakietu zostały zmodyfikowane. Ale ponieważ możesz uruchomić go w zaatakowanym systemie, możesz nie ufać całkowicie wynikowi. Następnie możesz po prostu zrobić a,rpm -qa
aby uzyskać listę pakietów, odtworzyć inny system z tymi samymi wersjami pakietów, a następniefind / -type f |xargs -r -n 100 md5sum |sort
w obu systemach i zobaczyć, co się różni. Również jeśli właściwie zarządzasz swoim systemem (co oznacza, że nie instalujesz niczego ręcznie poza / opt lub / usr / local / bin lub innym niezarządzanym miejscem), możesz wyszukać wszystkie pliki w systemie, które nie należą do pakietu, za pomocąfind / -type f -exec rpm -qf {} \;
. Powinien pokazywać błędy nieznanych plików. Pozwalam nie pokazywać pozytywów jako ćwiczenia ;-)Aby zrobić to samo okresowo z dowodem kryptograficznym, istnieje narzędzie o nazwie,
Tripwire
które nadal możesz znaleźć jako bezpłatną wersję. Jest stary, ale spełnia swoje zadanie. Nowszą alternatywą jestAIDE
, ale nie korzystałem z krypto, kiedy patrzyłem na to lata temu.Istnieje kilka narzędzi, które mogą pomóc. Na przykład poszukaj pakietu
rkhunter
. Będzie skanować komputer w poszukiwaniu znanych rootkitów i wykorzystywanych plików.Oczywiście narzędzia te powinny zostać zainstalowane i skonfigurowane, zanim system zostanie przejęty, a narzędzia te można również atakować, jeśli system zostanie pomyślnie zhakowany w celu uzyskania dostępu do konta root. Poza tym narzędzia te mogą być bardzo intensywne i spowalniać system.
źródło
Jedynym sposobem, aby dowiedzieć się, czy twój serwer jest zagrożony, jest posiadanie podpisu plików i porównanie z nim bieżących plików. Niemniej jednak możesz sprawdzić, czy jesteś wrażliwy.
źródło
Jak sprawdzić, czy twój Linux jest zagrożony.
Jeśli jeśli powróci
ty jesteś.
Aby uruchomić aktualizację, w katalogu głównym uruchom następujące polecenie
źródło
yum
a nie inny menedżer pakietów.Możesz sprawdzić, czy jesteś podatny na zagrożenia, uruchamiając następujące polecenia (kod dostarczony przez CSA). Otwórz okno terminala i wprowadź następujące polecenie w wierszu $:
Jeśli twoje bash NIE jest aktualne, wydrukuje:
Jeśli twoje bash jest aktualne, zobaczysz tylko:
Więcej szczegółów dostępnych jest za tym linkiem .
źródło