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선택 사항이며 반드시 존재할 필요는 없습니다(그러나 데비안에서는 기본적으로 이를 포함합니다).

DebianBanner의 옵션을 사용하여 주석을 삭제할 수 있습니다 sshd_config. 로 설정 no하고 ssh서버를 다시 시작하면 더 이상 표시되지 않습니다.

답변2

DebianBanner는 모든 배포판에서 작동하지 않습니다(분명히)

모든 배포판에 적용되는 방법은 Perl로 바이너리 교체를 수행하는 것입니다. 예를 들면 다음과 같습니다.

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

이는 라이브 서버에서도 수행할 수 있으며 프로세스를 중지해서는 안 됩니다.

이진 문자 대체를 수행할 때 "OpenSSH_7.4"를 정확한 문자 수(이 예에서는 11)로 바꾸도록 주의하십시오. 다른 문자 수로 바꾸면 바이너리가 깨집니다.

Nmap 스캔은 다음과 같습니다.

맞춤형 배너 메시지를 위한 Nmap 스캔

관련 정보