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.

𝒜ℬ𝒞𝒟ℰℱ𝒢ℋℐ𝒥𝒦ℒℳ𝒩𝒪𝒫𝒬ℛ𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵

Se siete persone comunicative non dimenticatevi di mettere la vostra opinione: scrivete il commento, premete "Inserisci" e il commento è immediatamente pubblicato: grazie!




lepre veloce



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

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

Data: 3 set 2004
Letture di questo articolo: 15196
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 Aggiornamento, Fiorello Cortiana (partito dei Verdi), L'arrivo dei Barbari, Stampa clandestina, Internet key 3G Wi-Fi per Linux, Cambiare i DNS su Linux, Appunti di Storia


obiezione respinta logo
Segnalazioni rivolte al mondo femminile ma non solo, delle farmacie, degli ospedali e dei consultori che non rispettano la legge e che non offrono la pillola anticoncezionale, che non fanno IVG, che non danno la RU486, che trattano malissimo la paziente, che non danno la pillola dei 5 giorni dopo magari con la scusa che l'hanno finita. Ma anche le segnalazioni positive di buona sanità, di competenza e attenzione.
Mappa delle segnalazioni.



Firefox: Riprenditi il web




Statistiche Europee d'uso dei browser 23/07/2017 :
Chrome...54%
Firefox..20%
IE.......9%
Safari...6%

Fonte: StatCounter

Borsa valori della moneta Bitcoin (23/07/2017):

prezzo di 1 bitcoin:
2379.57 €
LTC
DRK


Fonte: Bitcoincharts.com

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

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




L'intero sito kensan.it ha avuto questi Share:

facebook: 6586
twitter: -
google+: 61
linkedIn: 0




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







Ciao Anonimo, commenta questo articolo!

Questo articolo è stato commentato 16 volte.

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

commenti abilitati per gli anonimi
Pubblicità
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 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