[gull] OpenSSH information de service
Daniel Cordey
dc at mjt.ch
Wed Oct 3 11:21:44 CEST 2007
On Wednesday 03 October 2007, D'Inverno Jeremy wrote:
> J'ai regardé dans le sshd.conf, je suis tombé sur l'option Banner, mais
> qui, finalement, n'est pas du tout ca.
En effet. Je n;ai rien trouve non-plus dans les fichiers de config. C'est dans
le code source qu'il faut regarder. Dans le fichier openssh/sshconnect.c, on
trouve les lignes :
/* Send our own protocol version identification. */
snprintf(buf, sizeof buf, "SSH-%d.%d-%.100s\n",
compat20 ? PROTOCOL_MAJOR_2 : PROTOCOL_MAJOR_1,
compat20 ? PROTOCOL_MINOR_2 : minor1,
SSH_VERSION);
if (atomicio(vwrite, connection_out, buf, strlen(buf)) != strlen(buf))
fatal("write: %.100s", strerror(errno));
C'est donc la qu'il faut modifier le code. Soit en mettant le buffer a NULL
(buf = ''), soit en ecrivant :
if (0 and atomicio(...
L'envoi de ce message existe aussi dans le fichire openssh/sshd.c. On a
affaire a la meme sequence de code et la modification a effectue est
identique.
dc
et le texte "SSH-2.0-OpenSSH_4.3p2 Debian-8ubuntu1" est compose d'un
sprintf() :
sprintf(str,
"SSH-%d.%d-%.100s",
major,
minor,
where);
Ou, 'where' vaut : "OpenSSH_4.6p1 Debian-5" sur mon systeme.
C'est ce que je peux deduire en faisant "strings $(which sshd)".
Ne reste plus qu'a trouve le code source
a partir du format :
SSH-%d.%d-%.100s
Qui se trouve dans le code...
More information about the gull
mailing list