Wygląda na to, że rejestrowanie naciśnięć klawiszy wszystkich procesów tego samego użytkownika jest łatwe. Podstawowym keyloggerem jest „xinput”.
xinput test-xi2
Polecenie generuje dziennik wszystkich naciśnięć klawiszy. Niestety, obejmuje to hasła w gnome-terminal. Googling zasugerował, że chwytanie klawiatury może uniemożliwić innym oknom przechwytywanie naciśnięć klawiszy.
Czy istnieje sposób, aby zapobiec logowaniu XI2 w terminalu gnome? Czy istnieje terminal X, który ma tę funkcję?
Odpowiedzi:
Nie jest to możliwe, ponieważ jakiekolwiek naciśnięcia klawiszy przekazywane na serwer X będą dostępne dla xinput / dowolnego dowolnego programu. (W rzeczywistości jest to część projektu). Nowe serwery wyświetlania, takie jak Wayland i Mir, naprawiają takie problemy bezpieczeństwa w X. Jedynym prawdziwym rozwiązaniem byłoby użycie Wayland lub Mir zamiast X. Ten post na blogu szczegółowo opisuje ten problem.
źródło
Nie całkiem. Nawet jeśli jakoś uda ci się złapać klawiaturę w X (nie wiem, czy to w ogóle możliwe, wątpię w to), narzędzie keylogger działające jako root zawsze będzie miało dostęp do klawiatury.
źródło
Jak powiedzieli tutaj inni, nie można chronić tylko programu takiego jak terminal gnome lub inny terminal przed rejestrowaniem kluczy, tylko jeśli ograniczysz standardowych użytkowników do uruchamiania dowolnego rejestratora kluczy lub zatrzymasz / wstrzymasz dowolny proces rejestratora kluczy.
Następnie pokażę ci, jak możesz to zrobić w przypadku
xinput
polecenia, ale te same metody mogą być użyte w każdym innym rejestratorze kluczy. Jeśli program rejestrujący klucze używaxinput
polecenia, nie jest konieczne stosowanie do niego metody tak długo, jak się ją stosujexinput
.1. Ogranicz standardowych użytkowników do korzystania z
xinput
poleceniaMożesz ograniczyć standardowym użytkownikom korzystanie z
xinput
polecenia za pomocą następującego polecenia:2. Ogranicz standardowych użytkowników do używania
xinput
polecenia ztest-xi2
argumentemMożesz ograniczyć standardowych użytkowników do używania
xinput
polecenia ztest-xi2
argumentem , pisząc opakowanie dla tego polecenia. Aby to zrobić, przejdź do terminalu i postępuj zgodnie z instrukcjami poniżej:Uzyskaj uprawnienia roota:
Przenieś
xinput
plik do innego katalogu, który nie znajduje się w ŚCIEŻCE żadnego użytkownika (na przykład/opt
):Utwórz opakowanie dla
xinput
polecenia w/usr/bin
:Dodaj następujący skrypt w środku:
Zapisz plik i zamknij go.
Spraw, aby nowe opakowanie było wykonywalne:
Podczas gdy pierwszą metodą jest bezpieczeństwo, stosując drugą metodę, użytkownik może nadal ją obejść, dzwoniąc
xinput
bezpośrednio do oryginału, jeśli zna jego nową lokalizację.3. Zatrzymaj / wstrzymaj dowolny
xinput
procesMożesz zatrzymać lub wstrzymać dowolny
xinput
proces przed wprowadzeniem hasła lub cokolwiek innego, czego nie chcesz rejestrować. Aby to zrobić, dodaj następującą funkcję bash na końcu~/.bashrc
pliku:Teraz, po ponownym otwarciu terminala, w dowolnym momencie, korzystając z tej funkcji, możesz:
zatrzymaj / zabij wszystkie
xinput
procesy:wstrzymaj wszystkie
xinput
procesy:wznowić wszystkie
xinput
procesy:W rzeczywistości za pomocą tej funkcji możesz zatrzymać / wstrzymać dowolny proces, który chcesz wykonać (np. Wprowadzenie hasła):
Jeśli nie wiesz, jak wykryć, jak wykryć aktywny keylogger w systemie, zobacz:
Te metody nie są może najlepszymi rozwiązaniami, ale mam nadzieję, że dam ci pojęcie o tym, co możesz zrobić ...
źródło
xinput
nie jest nawet SUID (-rwxr-xr-x 1 root root 48504 15 sierpnia 2012 / usr / bin / xinput)