it-swarm.com.de

Unterdrückung des SSH-Banners vom OpenSSH-Client

Ich melde mich bei einem Server an, auf dem ein SSH-Banner festgelegt ist. Ich möchte es unterdrücken (insbesondere für nicht interaktive Zwecke). Ich habe keinen Zugriff auf den Server sshd_config.

Die beste Lösung, die ich bisher gefunden habe, ist das Setzen von LogLevel ERROR Option auf dem Client. Das Problem ist, dass dadurch alle anderen Nachrichten auf INFO-Ebene unterdrückt werden, die ich nicht unbedingt verbergen möchte (suchen Sie in der OpenSSH-Quelle nach logit nach Beispielen). Ich könnte auch ssh -q aber das wird noch mehr unterdrücken.

Gibt es andere spezifischere Lösungen?

35
Michael Hoffman

SO VIEL ICH WEISS, "ssh -q" oder "LogLevel QUIET" im ~/.ssh/config sind die "traditionellen" Methoden, um das Banner zum Schweigen zu bringen. Sie haben also bereits einen "besseren" Kompromiss mit "LogLevel ERROR ".

Eine spezifischere Lösung wäre die Verwendung einer benutzerdefinierten gepatchten Version des SSH-Clients, wenn dies eine Option ist.

46
Pascal Thivent

Sie können auch verwenden:

Banner none

auf

/etc/ssh/sshd_config
2
Pedro Lobito

Hexedit installieren:

apt-get update && apt-get install hexedit

Sichern Sie Ihre sshd-Binärdatei und erstellen Sie eine bearbeitbare Arbeitskopie (als root):

  cp -p /usr/sbin/sshd /tmp/sshd.backup
  cp -p /tmp/sshd.backup /tmp/sshd.new

Aktualisieren Sie die Binärdatei mit hexedit:

hexedit /tmp/sshd.new

Drücken Sie die Tabulatortaste, um vom HEX-Bereich in den Bereich ASCII) zu wechseln.

Verwenden Sie STRG + S, um die Suchaufforderung aufzurufen und nach dem Text in Ihrem Banner zu suchen, als Sie z. "OpenSSH_7.4".

Sie sollten etwas sehen wie:

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

Markieren Sie mit den Pfeiltasten den Anfang der Zeichenfolge, die Sie aktualisieren möchten, und geben Sie Ihren Ersatz ein.

Achten Sie darauf, dass Sie sich nicht an die Länge des Originalbanners halten. Sie können auch die Tabulatortaste drücken, um zum HEX-Bereich zurückzukehren, wenn Sie nur die Zeichenfolge auf Null setzen möchten, die jedes Wort auf "00" setzt.

Ihre Änderung sollte ungefähr so ​​aussehen:

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

Speichern Sie Ihre Änderungen mit STRG + x und einem Y.

Überprüfen Sie, ob es Fälle gibt, die wir verpasst haben (wir erwarten jetzt keine Ausgabe):

strings /tmp/sshd.new | grep Rasp

Aktualisieren Sie sshd und starten Sie den Dienst aus gutem Grund neu:

rm /usr/sbin/sshd
cp -p /tmp/sshd.new /usr/sbin/sshd
systemctl restart ssh.service

Überprüfen Sie, ob Sie noch SSH verwenden können (andernfalls stellen Sie die Sicherung wieder her oder installieren Sie OpenSSH von Ihrem Paketmanager neu!):

ssh -vv [email protected]

HINWEIS !!

Diese Änderung ist nur vorübergehend, da bei jeder Aktualisierung von OpenSSH die Binärdatei ersetzt wird.

0
kokane