Trasparenza, Glasnost, Transparency

Telnet per spedire la posta (login autenticato)

Data: 3 set 2004


Sito on line dal 2003
Home page
email
Chi sono
Translation
CLI - Command line interface
QUANDO ESIGENZA IMPONE...
(ovvero smtp auth login plain && base64 de/coder)

"... In un vicolo di New York, dove il sole non batte neanche la domenica, ..."

Così esordivano le storie del famigerato GRUPPO TNT... ed è proprio in uno di quei racconti esilaranti che si riportava come titolo il motto sopra citato.... "quando esigenza impone", diventato forse per molti una regola di vita e lo spunto di questo articolo.

Molte più volte di quanto pensiamo necessitiamo di una VALIDA e SEMPLICE alternativa nel mondo informatico.
Da VI a CDRECORD, passando per SC, LYNX, ETTERCAP.... ;o)... eh eh eh. In buona sostanza non tutto è solamente grafica, anche perché più la cosa è complicata e più saranno complicati gli eventuali problemi correlati (Murphy docet).

Settimane fa entro a controllare la posta e oppsss! Il mio browser non mi fa leggere i messaggi a me arrivati, pur dandomi notizia di avere in casella alcune nuove missive. Praticamente un errore del server del servizio di posta, che non citerò qui, mi causava l'inconveniente, mentre mio figlio poteva tranquillamente leggere, dalla mia stessa macchina, la sua posta sul sito del mio stesso operatore. Ed eccoci al dunque... Cosa fare?
Per fortuna che avevo attivato in precedenza l'opzione SMTP e POP per poter leggere da telnet le mie mail. Altro oppsss!!! Mi si chiede un'autenticazione anche nel servizio SMTP... Ma come procedere?

Facciamo un passo indietro all'articolo di Sandro a riguardo di TELNET del 09 ott 2003, andatevelo a leggere perché è la base di ciò che verrà descritto dopo. Il buon kensan vi fa notare che con una sessione telnet su SMTP, si può fare una fake-mail. Ed è per questo che un riconoscimento era d'obbligo imporlo.

Eggià... ormai tutti i servizi di posta hanno posto delle limitazioni. Chi semplicemente rimandandovi al vostro ISP, Internet Service Provider, per poter usufruire di SMTP, quindi scaricando a lui il fardello dell'eventuale spammer, chi utilizzando un normale controllo sull'utenza basato su login e password. Noi esamineremo questo caso e quindi andiamo a vedere come autenticarci tramite una sessione Telnet.

Questa procedura, ora, nel mio caso è con il protocollo AUTH LOGIN PLAIN.

Prima di effettuare la connessione telnet dobbiamo trasformare la nostra USERID e la relativa PASSWORD in base64. O cavoli con carta e penna?! Ma nooo.... in rete trovate un sacco di applicazioni web-based, in codice C  o in altri linguaggi da voi preferiti. Naturalmente sarebbe consigliata un'applicazione sulla propria macchina che una in rete... parlando di sicurezza non si sa mai.... che ne dite?

Di solito quando si codifica una stringa, per esempio "venusia" come userid e "segreto" come passwd, l'applicazione ci avverte che la sequenza è ultimata o  con "==" o "o="; naturalmente qualche prova di codifica e decodifica non è male da sperimentare. Alla bisogna naturalmente non metteremo i simboli di "fine stringa" perché non fanno parte ovviamente dei dati che l'autentificazione ci richiederà.

Di seguito allego il codice di un de/codificatore, che uso per la sua semplicità ed efficenza, di cui gentilmente ringraziamo Daniel Lerch per averlo condiviso sulla rete... fatevi un giro sul suo sito.

/********************* ************************** ************************

*  Autor: Daniel Lerch
*  e-mail: lerch@ya.com
*
*  Referencias:
*  Network security with OpenSSL (O'Reilly)
*
*  Compilacion:
*  $ gcc base64.c -o base64 -lssl
*
********************** ************************** ***********************/

#include <stdio.h>
#include <string.h>
#include <openssl/evp.h>

unsigned char *base64_encode (unsigned char *buffer, unsigned int len)
{

  unsigned char *ret = (unsigned char *) malloc ((((len+2)/3)*4)+1);
  EVP_EncodeBlock (ret, buffer, len);
  ret[(((len+2)/3)*4)] = 0;
  return ret;
}

unsigned char *base64_decode (unsigned char *buffer, unsigned int len)
{

  unsigned char *ret = (unsigned char *) malloc ((((len+2)/3)*4)+1);
  EVP_DecodeBlock (ret, buffer, len);
  ret[(((len+2)/3)*4)] = 0;
  return ret;
}

void usage (char *progname) {

   printf ("Usage: %s [ encode | decode ] Text\n\n", progname);
   exit(0);
}

int main (int argc, char *argv[])
{
   int i;

   /* Sin parametros */
   if (argc < 3) usage(argv[0]);

   if (argc == 3) {

      /* Verificamos los algoritmos */
      if (strcmp(argv[1], "encode")  == 0)
         printf ("%s\n", base64_encode (argv[2], strlen(argv[2])));

      if (strcmp(argv[1], "decode") == 0)
         printf ("%s\n", base64_decode (argv[2], strlen(argv[2])));

   }
   else  usage(argv[0]);

   return 0;
}

/********************** ************************ *************************/





Naturalmente facciamo attenzione alla compilazione che lo stesso autore ci suggerisce:

$ gcc base64.c -o base64 -lssl

Ora che abbiamo tutto ciò che occorre vediamo la variante applicata alla sessione telnet:

telnet smtp.vega.it 25
[Trying 100.99.198.97...
Connected to vega.it.
Escape character is '^]'.
220 vega.it ESMTP Sendmail 8.12.9 ready at Sun,
03 Sep 2004 00:00:00 +0200 (CEST)]

in grassetto evidenziamo cosa andremo a comunicare al server

EHLO LOCALHOST
250-vega.it
250-auth login plain
250-pipelining
250 8bitmime

avrete notato che non abbiamo usato il saluto solito HELO ma abbiamo avvertito il server che vogliamo autenticarci passandogli il comando EHLO. Delle sue risposte a noi interessa "250-auth login plain" che ci conferma l'uso di quel tipo di  protocollo

AUTH LOGIN
334-xxxxxxxxx
dmVudXNpYQ
334-xxxxxxxxx
c2VncmV0bw
235 ok, go ahead (#2.0.0)

il server ha trasmesso la sua identificazione con il codice 334 e noi abbiamo immesso la userid (venusia) codificata in base64 "dmVudXNpYQ" e di seguito all'altra richiesta 334 la nostra passwd (segreto) "c2VncmV0bw" e se tutto è ok, ci viene comunicato con il codice 235.

Bene.... ora che siamo stati riconosciuti, il server attenderà poi la normale procedura con i comandi:

MAIL FROM:
RCPT TO:
DATA
e bla...bla... bla....

ma questo lo sapete già... vero?!

Questo tutto nel rispetto del significato dell'acronimo KISS e nel segno del "semplicemente funzionale" a molti caro.

Ma quanto amo i comandi testuali!!!

Si denota ora, che abbiamo una valente risposta ai normali e frequenti problemi di gestione del server di posta ed alla lentezza cronica della grafica ad essa applicata. Se il vostro fornitore del servizio di posta non prevede la possibilità di usare i protocolli smtp e pop, che aspettate a cambiarlo?!

A tutto c'è rimedio.... eccetto a queste maledette zanzare che ho in camera... qualcuno ha una soluzione?

Commento di kensan: ho notato che ad alcuni non piace il tono scherzoso dell'articolo che si rifà alla cultura hacker pur essendo un testo di base che si trova da moltissime parti in Internet. Alcuni hanno detto che il tono dovrebbe essere "modesto" come modesto è l'argomento trattato. Comunque la pensiate questa pubblicazione è una continuazione di un mio scritto.




Non dimenticatevi di mettere la vostra opinione: scrivete il commento, premete "Inserisci" e il commento è immediatamente pubblicato nell'area qui sotto: grazie!




Questo articolo è stato commentato 16 volte.

Ultimo commento inserito da Anonimo mercoledì 23 settembre con il titolo: NON VA.

Commento:

Salve ragazzi complimenti,
ma a me non va, probabilmente per impostazioni di sicurezza o altro.
Comunque una volta mandato il comando ehlo non accetta il comando AUTH LOGIN
Sapete come mai?
grazie



Altri testi sullo stesso argomento li trovate elencati di seguito sotto l'argomento Telnet

Diaspora* button
-
Facebook button
0
Twitter button
-
Google+ button
0
LinkedIn button
0
TzeTze button
voti: 0
luca de franchi aka ViCisLAcK

Data: 3 set 2004
Letture di questo articolo: 17002
argomento: Telnet, articoli: Telnet per i Newsgroup, Telnet per spedire la posta, Servizi via CLI, Meteo via Telnet, Telnet sito internet

argomento: Internet, articoli: Internet via GPRS, Fiorello Cortiana (partito dei Verdi), Filtri Bayesiani, Cambiare i DNS su Linux, Backup sul Cloud, Le perdite dei giornali on line, Vendite di Smartphone Huawei

ball animated







Firefox: Riprenditi il web




Borsa valori della moneta Bitcoin (04/10/2023):

prezzo di 1 bitcoin:
BTC 26205.9 €
LTC 61.68 €
BCH 219.41 €


Fonte: kraken.com

Chart from bitcoincharts.com

Chart bitcon in Euro (Kraken) da BitcoinCharts


Sostieni Wikileaks!
Se hai qualche bitcoin fai una donazione a wikileaks all'indirizzo:
1HB5XMLmzFVj8ALj6 mfBsbifRoD4miY36v

Queste sono le donazioni fatte fin'ora: 4044 bitcoin.








IL TUO 5 PER MILLE PER GLI OSPEDALI DI EMERGENCY codice fiscale:
971 471 101 55




Uomo di Cheddar di 9'000 anni fa

Inglese di 9 mila anni fa ricostruito in base al DNA del Cheddar man il cui scheletro completo e ben conservato e stato ritrovato in Gran Bretagna. Aveva la pelle scura e gli occhi azzurri in base al DNA.

L’Uomo di Cheddar era un Homo Sapiens, era alto 166 centimetri e quando morì era intorno ai 20 anni. Faceva parte di una popolazione di cacciatori-raccoglitori, era intollerante al lattosio e agli amidi, aveva un sistema immunitario che lo difendeva da molte malattie. Quest'uomo è distante da noi solo 450 generazioni.

Lo spagnolo Uomo di La Braña, analogo a questo (pelle scura e occhi azzurri), era distante da noi solo 350 generazioni (7 mila anni).

Fonte: Nature
kensan logo Licenza Creative Commons 3.0
I miei testi sono sotto la Licenza "Creative Commons 3.0 Italia": se sei interessato a pubblicare i miei articoli leggi le note aggiuntive (Licenza di kensan.it) dove troverai anche le attribuzioni dei diritti per tutte le immagini pubblicate.
Questo sito memorizza sul tuo pc uno o più cookie di tipo tecnico, leggi l'informativa estesa.
Kensan geek site

e-mail
e-mail cifrata