Dziwne SSH, bezpieczeństwo serwera, mogłem zostać zhakowany

30

Nie jestem pewien, czy zostałem zhakowany, czy nie.

Próbowałem zalogować się przez SSH i nie zaakceptowało mojego hasła. Logowanie roota jest wyłączone, więc poszedłem na ratunek, włączyłem login roota i mogłem zalogować się jako root. Jako root próbowałem zmienić hasło konta, którego dotyczy problem, przy użyciu tego samego hasła, przy użyciu którego próbowałem się zalogować, passwdodpowiadając „hasłem bez zmian”. Następnie zmieniłem hasło na coś innego i mogłem się zalogować, następnie zmieniłem hasło z powrotem na oryginalne hasło i znów mogłem się zalogować.

Sprawdziłem auth.logzmiany hasła, ale nie znalazłem nic przydatnego.

Skanowałem również w poszukiwaniu wirusów i rootkitów, a serwer zwrócił to:

ClamAV:

"/bin/busybox Unix.Trojan.Mirai-5607459-1 FOUND"

RKHunter:

"/usr/bin/lwp-request Warning: The command '/usr/bin/lwp-request' has been replaced by a script: /usr/bin/lwp-request: a /usr/bin/perl -w script, ASCII text executable

Warning: Suspicious file types found in /dev:"

Należy zauważyć, że mój serwer nie jest powszechnie znany. Zmieniłem również port SSH i włączyłem weryfikację dwuetapową.

Martwię się, że zostałem zhakowany i ktoś próbuje mnie oszukać, „wszystko w porządku, nie martw się”.

PhysiOS
źródło
10
Zgadzam się z Michaelem. Wygląda na to, że Mirai używa brutalnego odgadywania haseł, aby skompromitować hosty Linux - incapsula.com/blog/malware-analysis-mirai-ddos-botnet.html . Użycie uwierzytelnienia klucza publicznego byłoby lepsze niż zmiana portu SSH ze względów bezpieczeństwa IMHO.
Josh Morel
3
@JoshMorel Chciałbym pójść dalej i powiedzieć, że zmiana portu SSH jest szkodliwa dla bezpieczeństwa. Nic nie chroni, ale ludzie, którzy to robią, źle czują się bezpieczniej. Tak więc, czując się bardziej bezpiecznie, a nie będąc bardziej bezpiecznymi, są w gorszej sytuacji niż wcześniej. Powiedziałbym też, że autorytet pubkey nie jest po prostu lepszy, ale koniecznością.
marcelm
10
„... nie zaakceptuje mojego hasła ... odpowiedziała„ hasło bez zmian ”… po zmianie hasła na coś, co mogłem zalogować, zmieniłem hasło z powrotem na to, co było i nadal byłem w stanie zalogować się." - Wszystko, co można wyjaśnić, pisząc literówki w swoim haśle (lub mając włączoną blokadę wielkich liter) przed przejściem do użytkownika ratunkowego.
marcelm
2
wykrycie trojana busybox przez clamav przydarzyło mi się również dziś rano po raz pierwszy na ~ 100 systemach; Głosuję fałszywie pozytywny. Domyślam się, że clamav zaktualizował bazę danych sig, aby pojawił się ten fałszywie pozytywny początek ostatniej nocy
JDS
2
Nawiasem mówiąc, suma kontrolna sha256 mojego busyboksa w tych systemach to 7fa3a176871de12832ca8a78b646bc6be92f7f528ee81d1c35bf12aa99292b1c. Są to systemy Ubuntu 14.04, a mtime na pojemniku busybox 14-14 2013
JDS

Odpowiedzi:

30

Podobnie jak J Rock, myślę, że to fałszywy pozytyw. Miałem to samo doświadczenie.

W krótkim czasie otrzymałem alarm z 6 różnych, odmiennych, geograficznie oddzielnych serwerów. 4 z tych serwerów istniały tylko w sieci prywatnej. Jedyną wspólną cechą była najnowsza codzienna aktualizacja .ld.

Po bezskutecznym sprawdzeniu niektórych typowych heurystyk tego trojana uruchomiłem włóczęgę ze znaną czystą linią bazową i uruchomiłem program freshclam. To chwyciło

„Daily.cld jest aktualny (wersja: 22950, ​​sigs: 1465879, poziom F: 63, builder: neo)”

Kolejne clamav /bin/busyboxzwróciło ten sam alert „/ bin / busybox Unix.Trojan.Mirai-5607459-1 FOUND” na oryginalnych serwerach.

Wreszcie, na wszelki wypadek , zrobiłem też włóczęgę z oficjalnej skrzynki Ubuntu i otrzymałem ten sam „/ bin / busybox Unix.Trojan.Mirai-5607459-1”. z domyślnego 512 MB lub clamscan nie powiodło się z „zabitą”)

Pełna wydajność ze świeżego vagrantowego pudełka Ubuntu 14.04.5.

root@vagrant-ubuntu-trusty-64:~# freshclam
ClamAV update process started at Fri Jan 27 03:28:30 2017
main.cvd is up to date (version: 57, sigs: 4218790, f-level: 60, builder: amishhammer)
daily.cvd is up to date (version: 22950, sigs: 1465879, f-level: 63, builder: neo)
bytecode.cvd is up to date (version: 290, sigs: 55, f-level: 63, builder: neo)
root@vagrant-ubuntu-trusty-64:~# clamscan /bin/busybox
/bin/busybox: Unix.Trojan.Mirai-5607459-1 FOUND

----------- SCAN SUMMARY -----------
Known viruses: 5679215
Engine version: 0.99.2
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 1.84 MB
Data read: 1.83 MB (ratio 1.01:1)
Time: 7.556 sec (0 m 7 s)
root@vagrant-ubuntu-trusty-64:~#

Uważam więc, że może to być fałszywy pozytyw.

Powiem, rkhunter nie podał mi odwołania: „/ usr / bin / lwp-request Warning”, więc może PhysiOS Quantum ma więcej niż jeden problem.

EDYCJA: zauważyłem, że nigdy nie powiedziałem wprost, że wszystkie te serwery to Ubuntu 14.04. Inne wersje mogą się różnić?

Cayleaf
źródło
1
Zamierzam zmienić moje uwierzytelnianie SSH dla klucza publicznego i spróbuję monitorować połączenia sieciowe, ale szczerze mówiąc, to naprawdę dziwne, ponieważ nawet skopiowałem i wkleiłem hasło i nadal je odrzucam. Co powinienem zrobić z żądaniem / usr / bin / lwp?
PhysiOS
1
Otrzymałem również to powiadomienie dziś rano na serwerze Ubuntu 14.04. Porównałem ( sha1sum) /bin/busyboxplik mojego serwera z tym samym plikiem na lokalnej maszynie wirtualnej utworzonej z obrazu Ubuntu i są one identyczne. Więc głosuję też na fałszywie pozytywne.
Agregoire
3
@PhysiOSQuantum Nic. To także fałszywy alarm - lwp-request jest narzędziem związanym z modułem Perla ( metacpan.org/pod/LWP ), więc jest to zupełnie normalne, że jest to skrypt.
duskwuff
45

Sygnatura ClamAV dla Unix.Trojan.Mirai-5607459-1 jest zdecydowanie zbyt szeroka, więc prawdopodobnie jest fałszywie pozytywna, jak zauważyli J Rock i Cayleaf.

Na przykład dowolny plik, który ma wszystkie następujące właściwości, będzie pasował do podpisu:

  • jest to plik ELF;
  • zawiera ciąg „watchdog” dokładnie dwa razy;
  • zawiera ciąg „/ proc / self” co najmniej raz;
  • zawiera ciąg „busybox” co najmniej raz.

(Cały podpis jest nieco bardziej skomplikowany, ale powyższe warunki są wystarczające do dopasowania.)

Na przykład możesz utworzyć taki plik za pomocą:

$ echo 'main() {printf("watchdog watchdog /proc/self busybox");}' > innocent.c
$ gcc -o innocent innocent.c
$ clamscan --no-summary innocent
innocent: Unix.Trojan.Mirai-5607459-1 FOUND

Każda kompilacja busyboksa (w systemie Linux) zwykle będzie pasować do czterech właściwości wymienionych powyżej. Jest to oczywiście plik ELF i na pewno będzie zawierał ciąg „busybox” wiele razy. Wykonuje polecenie „/ proc / self / exe”, aby uruchomić określone aplety. Wreszcie „watchdog” występuje dwa razy: raz jako nazwa apletu i raz w ciągu „/var/run/watchdog.pid”.

koczownik
źródło
20
Gdzie mogę przeczytać ten podpis i inne osoby z ClamAV z ciekawości?
Délisson Junio
2
Wiedziałem, że ktoś mądrzejszy ode mnie będzie w stanie wyjaśnić, dlaczego był to fałszywy pozytyw. Dzięki!
cayleaf
3
@ Délisson Junio: Utwórz pusty katalog, sigtool --unpack-current dailywłóż do niego cd i uruchom, aby rozpakować daily.cvd (lub sigtool --unpack-current mainrozpakować main.cvd). Jeśli grep otrzymujesz pliki wynikowe dla „Unix.Trojan.Mirai-5607459-1”, powinieneś znaleźć podpis, który przypadkiem znajduje się w daily.ldb. Format podpisu wyjaśniono w podpisach.pdf (w pakiecie clamav-docs w Ubuntu).
koczownik
6

To właśnie pokazało mi się dzisiaj również podczas skanowania ClamAV w poszukiwaniu / bin / busybox. Zastanawiam się, czy zaktualizowana baza danych zawiera błąd.

J Rock
źródło
2
Skanuj / bin / busybox na dowolnym Ubuntu 14.04 LTS z najnowszą bazą danych ClamAV. Zwraca zainfekowany. To jest fałszywie pozytywne, IMO.
J Rock
2
Złożyłem fałszywie pozytywny raport do ClamAV. Odkryłem również, że pliki binarne odtwarzacza vmware są wyświetlane jako zainfekowane tym samym trojanem. Możliwe, że zawarli kod busyboksa.
J Rock
4

Próbowałem zalogować się przez SSH i nie zaakceptowało mojego hasła. Logowanie roota jest wyłączone, więc poszedłem na ratunek, włączyłem login roota i mogłem zalogować się jako root. Jako root próbowałem zmienić hasło konta, którego dotyczy problem, przy użyciu tego samego hasła, przy pomocy którego próbowałem się zalogować, hasło odpowiedziała „hasło bez zmian”. Następnie zmieniłem hasło na coś innego i mogłem się zalogować, następnie zmieniłem hasło z powrotem na oryginalne hasło i znów mogłem się zalogować.

To brzmi jak wygasłe hasło. Ustawienie hasła (pomyślnie) przez użytkownika root resetuje zegar wygaśnięcia hasła. Państwo mogli sprawdzić / var / log / bezpieczny (lub cokolwiek jest odpowiednikiem Ubuntu) i dowiedzieć się, dlaczego Twoje hasło zostało odrzucone.

Xalorous
źródło