netcatでキャプチャしたSSHバナーを変更する

netcatでキャプチャしたSSHバナーを変更する

opensshサーバーをインストールしました。これを行うときに表示されるバナーを無効にしたいです。

nc 0.0.0.0 22

次のように表示されます: :: SSH-2.0-OpenSSH_6.7p1 Raspbian-5

他のものを表示したり、まったく表示しないようにするにはどうすればよいですか?

答え1

このバナー

SSH-2.0-OpenSSH_6.7p1 Raspbian-5

セクションで説明されているように、SSHプロトコルの一部です。

4.2.プロトコルバージョン交換

~のRFC 4253:

接続が確立されると、両当事者は識別文字列を送信する必要があります。識別文字列は次のようにする必要があります。

SSH-protoversion-softwareversion SP comments CR LF

SSH-2.0この部分から抜け出すことはできません。このsoftwareversionセクションは一般的に相互運用性のために使用されるため、削除するのも良い考えではありません。これはcommentsオプションであり、必ずしも存在する必要はありません(ただしDebianではデフォルトでこれを含みます)。

DebianBannerのオプションを使用してコメントを削除できますsshd_config。に設定しnosshサーバーを再起動すると、表示されなくなります。

答え2

DebianBannerはすべてのディストリビューションでは機能しません(明らかに)

すべてのディストリビューションに適用される方法は、Perlでバイナリ置換を実行することです。たとえば、次のようになります。

perl -pi -e 's/OpenSSH_7.4/DragonGuru9/g' /sbin/sshd
systemctl restart sshd

これはライブサーバーでも実行でき、プロセスを停止しないでください。

バイナリ文字置換を実行するときは、「OpenSSH_7.4」を正しい文字数(この例では11)に変更するように注意してください。他の文字数に置き換えるとバイナリが壊れます。

Nmapスキャンは次のとおりです。

カスタムバナーメッセージ用のNmapスキャン

関連情報