[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