Czy użytkownik root w Linuksie może mieć w czasie rzeczywistym (lub zbliżony do czasu rzeczywistego) widok poleceń powłoki uruchamianych przez innego użytkownika zalogowanego przez terminal lub SSH? Oczywiście są one przechowywane w .bash_history, ale jest to zapisywane tylko wtedy, gdy użytkownik się wylogowuje i można je również wyłączyć.
Edycja: idealnie coś, co można łatwo włączać i wyłączać.
ttyrpld
brzmi dobrze. zalecane w tym pytaniu. serverfault.com/questions/40011/…Odpowiedzi:
jako root możesz zastąpić ich powłokę prostym skryptem opakowującym, który zarejestrował ich polecenia przed przekazaniem ich do prawdziwej powłoki. Działa to tylko przed zalogowaniem się.
źródło
Użyj sniffy, jeśli chcesz włamać się do sesji użytkownika lub
screen -x
współpracujesz.Pamiętaj jednak, że szpiegowanie użytkowników może podlegać przepisom lub wręcz być nielegalne w zależności od lokalnych przepisów.
źródło
Zmiana powłoki jest bardzo łatwa do obejścia, łatanie samej powłoki jest lepsze, ale musisz załatać wszystkie powłoki. Nasz ulubiony cracker wykorzystuje to, jako bonus, że nie przejmuje się wyłączaniem historii bash.
Snoopy jest opakowaniem wokół funkcji exec i rejestruje każdy zewnętrzny plik binarny, który jest wykonywany (nie wbudowane powłoki)
@David Schmitt sugeruje, że wąchanie wykorzystuje lepszą metodę, stukając pseudoterminal.
ttysnoop używa tej samej metody, ale nie jest utrzymywane. (Prawdopodobnie miałem problemy z rejestrowaniem połączeń ssh, nie pamiętam)
Możesz spróbować załatać ssh, aby zarejestrować sesję, ale ta łatka jest stara .
pseudopod i rootsh mogą być używane do rejestrowania legalnych sudos. A shwatcr to kolejna rzecz do monitorowania logowania.
źródło
ssh host /bin/sh -i
ma zrobić?Jeśli współpracujesz, możesz używać ekranu GNU między dwoma użytkownikami - jeden z nich ustanowi sesję ekranową, a drugi będzie mógł użyć drugiego
screen -x
.Jeśli chcesz, aby root „szpiegował” innych użytkowników bez ich wiedzy, najlepszym i najbardziej wydajnym rozwiązaniem może być oprogramowanie / sprzęt keyloggera.
źródło
Sysdig to potężne narzędzie do eksploracji na poziomie systemu - tego właśnie chcesz;)
przykład:
sysdig -i spy_users
Kategoria: Bezpieczeństwo
spy_users Wyświetla interaktywną aktywność użytkownika
wyświetla każdą komendę uruchamianą interaktywnie przez użytkownika (np. z bash) i każdą wizytę użytkowników katalogu
źródło
Możesz wypróbować łatkę bash-BOFH. Szukaj łaty.
źródło
Napisałem metodę rejestrowania wszystkich poleceń / wbudowanych „bash” w pliku tekstowym lub na serwerze „syslog” bez użycia łaty lub specjalnego narzędzia wykonywalnego.
Jest bardzo łatwy do wdrożenia, ponieważ jest to prosty skrypt powłoki, który należy wywołać raz podczas inicjowania „bash”.
Zobacz metodę tutaj: http://blog.pointsoftware.ch/index.php/howto-bash-audit-command-logger
źródło
Wygląda na to, że działa całkiem dobrze, jeśli nie przeszkadza ci sortowanie wielu podziałów linii.
źródło
Snoopy jest przeznaczony do lekkiego rejestrowania poleceń.
Jeśli chcesz podgląd na żywo poleceń wykonywanych w systemie, może to być to. Ostrzeżenie: snoopy nie jest właściwym rozwiązaniem audytu i można go łatwo obejść.
Jeśli jednak chcesz zobaczyć każdą postać wpisaną w terminalu, będziesz musiał użyć innego narzędzia.
Ujawnienie: Jestem obecnym opiekunem snoopy.
źródło
spróbuj tego eksportu HISTTIMEFORMAT = „% T” uruchom kilka poleceń i „historię” później ...
źródło