Zainstaluj hexedit:
apt-get update && apt-get install hexedit
Utwórz kopię zapasową pliku binarnego sshd i utwórz edytowalną kopię roboczą (jako root):
cp -p /usr/sbin/sshd /tmp/sshd.backup
cp -p /tmp/sshd.backup /tmp/sshd.new
Zaktualizuj plik binarny za pomocą hexedit:
hexedit /tmp/sshd.new
Naciśnij TAB, aby przełączyć z HEX are do obszaru ASCII.
Użyj CTRL + S, aby wywołać monit wyszukiwania i wyszukać tekst w banerze, niż chcesz ukryć, np. „OpenSSH_7.4”.
Powinieneś zobaczyć coś takiego:
0007DA54 61 67 65 6E 74 00 00 00 4F 70 65 6E agent...Open
0007DA60 53 53 48 5F 37 2E 34 70 31 20 52 61 SSH_7.4p1 Ra
0007DA6C 73 70 62 69 61 6E 2D 31 30 2B 64 65 spbian-10+de
0007DA78 62 39 75 32 00 00 00 00 4F 70 65 6E b9u2....Open
Za pomocą klawiszy strzałek zaznacz początek ciągu, który chcesz zaktualizować, i wpisz zamiennik.
Zachowaj ostrożność, aby nie przekraczać długości oryginalnego banera. Możesz także nacisnąć TAB, aby przełączyć się z powrotem do obszaru HEX, jeśli chcesz po prostu wyzerować ciąg znaków, ustawiając każde słowo na „00”.
Twoja zmiana powinna wyglądać mniej więcej tak:
0007DA54 61 67 65 6E 74 00 00 00 48 65 72 65 agent...Here
0007DA60 20 62 65 20 64 72 61 67 6F 6E 73 2E be dragons.
0007DA6C 20 54 75 72 6E 20 42 61 63 6B 00 00 Turn Back..
0007DA78 00 00 00 00 00 00 00 00 4F 70 65 6E ........Open
Zapisz zmiany za pomocą CTRL + x i Y.
Sprawdź, czy są jakieś instancje, które przeoczyliśmy (nie oczekujemy teraz żadnych wyników):
strings /tmp/sshd.new | grep Rasp
Zaktualizuj sshd i ponownie uruchom usługę dla dobrego pomiaru:
rm /usr/sbin/sshd
cp -p /tmp/sshd.new /usr/sbin/sshd
systemctl restart ssh.service
Sprawdź, czy nadal możesz SSH (w przeciwnym razie przywróć kopię zapasową lub ponownie zainstaluj OpenSSH z poziomu menedżera pakietów!):
ssh -vv user@ip
UWAGA!!
Ta zmiana będzie tymczasowa, ponieważ przy każdej aktualizacji OpenSSH plik binarny zostanie zastąpiony.
LogLevel ERROR
pomija banner tylko w nowszych wersjach OpenSSH. W starszych wersjachLogLevel QUIET
lubssh -q
są wymagane.