[GNU/Linux] CVE-2015-0235 – esecuzione di codice remoto con glibc

L’ultimo bug uscito in ambiente Linux riguarda la libreria GNU C (glibc), che permette ad un attaccante di eseguire codice remoto sfruttando un buffer overflow delle funzioni gethostbyname o gethostbyname2 della libreria di sistema. Un attaccante potrebbe essere in grado di eseguire codice da remoto o eseguire un blocco dell’applicazione (DoS).

Sono affette tutte le distribuzioni che hanno una versione della libreria precedente alla glibc-2.18, come dichiarato:

https://www.us-cert.gov/ncas/current-activity/2015/01/27/Linux-Ghost-Remote-Code-Execution-Vulnerability

http://www.openwall.com/lists/oss-security/2015/01/27/9

Per verificare la versione della libreria presente nel sistema i comandi da eseguire sono i seguenti:

  • per le distribuzioni RedHat like:
# rpm -q glibc
  • per quelle Debian like:
# dpkg -l libc6
  • in alternativa è possibile controllare direttamente la libreria (potrebbe essere posizionata in un path differente come /lib/x86_64-linux-gnu):
# /lib/libc<tab><invio>

Ad esempio il seguente sistema risulta vulnerabile:

# dpkg -l libc6
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Nome Versione Descrizione
+++-==========================================================================
ii libc6 2.15-0ubuntu10.3 Embedded GNU C Library: Shared libraries

Dunque è necessario aggiornare la libreria libc6 secondo le istruzioni della propria distribuzione, qualora sia precedente alla versione 2.18.

Matteo

[GNU/Linux] Trucchi per scaricare i video di youtube

L’argomento di oggi è youtube: vedremo come è possibile scaricare i video con Linux, e quali sono le principali opzioni. Il programma di cui abbiamo bisogno per scaricare i video è youtube-dl, il quale è disponibile nei repository delle principali distribuzioni Linux. Questo software funziona unicamente da linea di comando, e il suo utilizzo è semplice se conosciamo le opzioni giuste da usare ;-), anzi secondo me è anche più semplice di altri software con GUI analoghi!

YouTube-Logo

1 – Scaricare un video da youtube

Il primo passo sarà quello di installare youtube-dl, o tramite repository, oppure scaricando il software dal sito ufficiale.

Dopo averlo installato, al primo avvio occupiamoci di aggiornare il programma alla versione più recente con l’opzione U:

# youtube-dl -U
Updating to latest version...
Updated youtube-dl. Restart youtube-dl to use the new version.

Passiamo subito a vedere come è possibile scaricare i video inclusi di audio.

Scelto il video da scaricare, prima di tutto controlliamo con quali formati è disponibile, in modo da scegliere quello riteniamo più adatto:

$ youtube-dl -F video_da_scaricare

Il comando restituisce un elenco dei formati disponibili, con annessa risoluzione grafica. Vediamo un esempio:

$ youtube-dl -F http://www.youtube.com/watch?v=oyauS1x54hM&feature=fvwrel
Setting language
oyauS1x54hM: Downloading video webpage
oyauS1x54hM: Downloading video info webpage
oyauS1x54hM: Extracting video information
Available formats:
37 : mp4 [1080x1920]
45 : webm [720x1280]
22 : mp4 [720x1280]
35 : flv [480x854]
43 : webm [360x640]
34 : flv [360x640]
18 : mp4 [360x640]
5 : flv [240x400]
17 : mp4 [144x176]

E’ possibile osservare sulla sinistra una serie di numeri, mentre sulla destra vengono mostrati il formato (mp4, webm, …) e la risoluzione. La risoluzione e il formato decretano la qualità generale del video. Nella seguente tabella di wikipedia sono messi a confronto i formati:

http://en.wikipedia.org/wiki/YouTube#Quality_and_codecs

Nel caso in cui siano disponibili più formati (come nell’esempio precedente),è possibile scegliere quello più adatto alle proprie necessità. Se dobbiamo scaricare una grande quantità di video, o se la qualità non è l’elemento principale, possiamo scegliere una risoluzione media, tipo 360×640. Se dobbiamo invece scaricare pochi video e ci interessa l’alta definizione, possiamo optare anche per una risoluzione alta, come 1080×1920. Dobbiamo ricordare che ad una maggior qualità audio/video corrisponde in genere un file di dimensioni maggiori. Nel caso dell’esempio la qualità massima è quella del formato mp4 con numero 37. Laddove possibile, personalmente preferisco il formato mp4 per avere una maggiore portabilità, rispetto ad esempio a flv.

Dunque, dopo aver scelto la qualità procediamo a scaricare il video con questo comando:

$ youtube-dl -t -f formato video_da_scaricare

Tornando all’esempio precedente abbiamo:

$ youtube-dl -t -f 37 http://www.youtube.com/watch?v=oyauS1x54hM&feature=fvwrel

Le opzioni usate in questo comando sono t, che imposta il nome del file scaricato uguale a quello del video youtube, e l’opzione f per specificare il formato da scaricare.

2 – Estrarre l’audio di un video come mp3

Una particolare funzionalità di youtube-dl è quella che permette di estrarre da un video solo la componente audio, ed in formato mp3. Per fare ciò, è necessario avere installato nel sistema ffmpeg, aggiornato all’ultima versione disponibile. Per estrarre l’audio in mp3 il comando da dare è il seguente:

# youtube-dl -t -f formato --extract-audio --audio-format mp3 --audio-quality 256k video_di_youtube

Con un esempio, il comando precedente diventerebbe:

# youtube-dl -t --max-quality 37 --extract-audio --audio-format mp3 --audio-quality 256k http://www.youtube.com/watch?v=mqVMZB5KPjY

3 – Ottenere informazioni audio/video di un file

Un software molto utile è Mediainfo, installabile sia con GUI che senza e in grado di fornire dettagliatissime informazioni audio e video di un file. Se il software non dovesse essere presente all’interno dei repository è possibile recuperarlo, per la maggior parte delle distribuzioni (anche per Windows e Mac OS X), a questo link:

http://mediainfo.sourceforge.net/it

Un esempio di utilizzo di Mediainfo è:

$ mediainfo Loca_Shakira-G5Q9vSXoKQ8.mp4
General
Complete name : Loca_Shakira-G5Q9vSXoKQ8.mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 14.1 MiB
Duration : 3mn 7s
Overall bit rate mode : Variable
Overall bit rate : 634 Kbps
Encoded date : UTC 2011-07-17 07:38:03
Tagged date : UTC 2011-07-17 07:38:03
gsst : 0
gstd : 187120
gssd : BADC202E5HH1342530140109985
gshh : o-o.preferred.mil01s12.v15.nonxt8.c.youtube.com
----------------------------
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Baseline@L1.3
Format settings, CABAC : No
Format settings, ReFrames : 1 frame
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 3mn 7s
Bit rate : 534 Kbps
Maximum bit rate : 762 Kbps
Width : 400 pixels
Height : 226 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.236
Stream size : 11.9 MiB (84%)
Tagged date : UTC 2011-07-17 07:38:03
----------------------------
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
...

Buon download a tutti!!

Matteo

[GNU/Linux] Importare/esportare chiavi in GPG

Ho in mente di scrivere una serie di articoli sul funzionamento di GPG (GNU Privacy Guard), per poi raccoglierli all’interno di una guida (magari anche in inglese). Sul web si trovano facilmente guide e howto su GPG e su come usarlo da shell, ma ho la necessità di creare la mia propria documentazione, da usare come punto di riferimento anche in futuro.

Per ora vediamo come fare il backup e il ripristino di una chiave GPG . Tale necessità può esserci se vogliamo usare GPG su sistemi diversi usando ovviamente le stesse chiavi di cifratura, come ad esempio se cifriamo un messaggio con il pc dell’ufficio e dobbiamo decifrarlo con il pc di casa.

Backup/esportazione di una chiave GPG

Per prima cosa controlliamo le chiavi installate all’interno del sistema:

# gpg --list-keys
/root/.gnupg/pubring.gpg
-------------------------------
pub 2048R/9F508959 2012-07-03
uid Paolino Paperino <paolino.paperino@paperopoli.com>
sub 2048R/2C98FA15 2012-07-03
-------------------------------
pub 2048R/AB2C995F 2012-07-03
uid Zio Paperone <zio.paperone@paperopoli.com>
sub 2048R/D643E356 2012-07-03

Dunque dobbiamo scegliere la chiave di cui vogliamo fare il backup, per poi fare la copia della chiave pubblica e di quella privata. Nell’esempio le chiavi installate sono due: 9F508959 e DC2C775F. Per fare la copia rispettivamente della chiave pubblica e di quella privata la sintassi è la seguente (per maggior chiarezza userò i nomi completi delle opzioni, almeno dove possibile):

# gpg --armor --output <filename> --export <keyname>
# gpg --armor --output <filename> --export-secret-keys <keyname>

L’opzione armor permette di creare un output in caratteri ASCII, simile a questo

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.12 (GNU/Linux)mQENBE/1likBCACUfcgaiMfznrEQKXV4x0rPpixqEW+m8vXBF5I2BPuzeKUrB9Ot
YZhuZujuheLjj+Quh5rBFntGoPW3rO430Voq5/PJew54P5Smx6K09paB6pGbzmgk
...
INmtEZwlEvYMrINVOKbKXRk=
=8NiR
-----END PGP PUBLIC KEY BLOCK-----

Se l’opzione armor viene invece omessa, l’output prodotto sarà binario.

Supponendo di voler fare il backup della chiave 9F508959 dell’esempio, i comandi sono:

# gpg --armor --output GPG_public_key --export 9F508959
# gpg --armor --output GPG_secret_key --export-secret-keys 9F508959

Infine, per completare la fase di backup è consigliabile generare anche una chiave di revoca con questo comando:

# gpg --output <filename> --gen-revoke <keyname>

Nel caso dell’esempio, il comando precedente diventerebbe:

# gpg --output GPG_revoke_key --gen-revoke 9F508959

Dopo che le chiavi sono state salvate memorizziamo i relativi file in un supporto sicuro, e possibilmente mobile (CD, DVD, …) anziché all’interno dello stesso sistema in cui è installato GPG!

Ripristino/importazione di una chiave GPG

Se vogliamo ripristinare una chiave GPG, o ad esempio importarla su un nuovo sistema (dal pc dell’ufficio a quello di casa), il comando è il seguente:

# gpg --import <filename>

dove <filename> rappresenta il file contenente la chiave (pubblica o privata) precedentemente esportata. Riprendendo l’esempio precedente, i comandi necessari per importare le chiavi sono questi:

# gpg --import GPG_public_key
# gpg --import GPG_secret_key

Matteo

[GNU/Linux] Configurare un proxy da shell

Oggi vedremo come configurare il sistema per permettere alle applicazioni da linea di comando di utilizzare un proxy. Le applicazioni da linea di comando molto spesso non hanno infatti nativamente l’opzione per veicolare le trasmissioni verso un proxy, diversamente dalle applicazioni grafiche (ad esempio i browser hanno sempre le opzioni per la configurazione di eventuali proxy). Dunque, la soluzione per la linea di comando è quella di configurare i parametri del proxy come variabile d’ambiente, e costringere in questo modo l’applicazione a passare dal proxy. Tramite la shell sono supportati i proxy con protocollo HTTP, HTTPS, e FTP. Vediamo adesso in dettaglio come fare.

Prima di tutto controlliamo tra le variabili d’ambiente che non siano già impostati proxy:

# ENV | grep -i proxy

Se non viene ritornato niente possiamo procedere a configurare il/i proxy:

# export http_proxy=http://<proxy-server-ip>:<port>
# export https_proxy=http://<proxy-server-ip>:<port>
# export ftp_proxy=http://<proxy-server-ip>:<port>

Nel caso in cui ci siano già state definite variabili proxy, è possibile eliminarle e definirle nuovamente:

# unset http_proxy
# export http_proxy=”http://<proxy-server-ip>:<port>”

Ricordo che le variabili d’ambiente definite con i comandi precedenti risultano temporanee, mentre per renderle permanenti è necessario modificare i file .bash_profile o .bashrc, come ho scritto dettagliatamente in questo post:

[GNU/Linux] Come configurare le variabili d’ambiente

Nel caso in cui il proxy richieda l’autenticazione è necessario invece configurare le variabili d’ambiente in questo modo:

# export http_proxy=<username>:<password>@http://<proxy-server-ip>:<port>/

Infine controlliamo di aver correttamente definito le variabili, osservando l’output dei comandi:

# echo $http_proxy
# echo $https_proxy
# echo $ftp_proxy

Ulteriori risorse sui proxy in Linux:

Matteo

[GNU/Linux] Script per modificare MAC address

Ho scritto uno script bash che permette in Linux di manipolare l’indirizzo MAC di una scheda di rete, la cui operazione in gergo viene detta spoofing. Lo script può essere usato su tutte le principali distribuzioni e permette di cambiare l’indirizzo MAC con uno generato casualmente oppure con uno indicato dall’utente. Le istruzioni per eseguire lo script sono le seguenti:

Usage: macs.sh [OPTIONS]
Spoof your wired or wireless network adapter with a new MAC address.
Options:
-r <interface>: spoof an interface with a random MAC address
-s <interface> <address>: spoof an interface with a new MAC address
-o <interface>: restore an interface with the original MAC address
-v <interface>: show the MAC address and the vendor of an interface
-p <vendor>: show the MAC prefix of a vendor
-a: show the MAC address of every network interface
-h: show this help

—————————————————————-
Examples:
sh macs.sh -r eth0
sh macs.sh -s wlan1 001122334455
sh macs.sh -s eth3 00:1C:39:FB:6C:88
sh macs.sh -o eth0
sh macs.sh -p IBM
sh macs.sh -p Microsoft

Tra le funzionalità vi è anche quella di visualizzare il vendor della scheda di rete, e tutti i prefissi MAC proprietari di uno specifico vendor.

Si tratta di uno script bash, dunque deve essere lanciato con l’interprete sh e con i privilegi di root. Vediamo alcuni esempi:

# sh macs.sh -r eth1 modifica l’indirizzo dell’interfaccia eth1 con uno random
# sh macs.sh -s eth1 00:0C:29:FB:6C:4B modifica l’indirizzo di eth1 con 00:0C:29:FB:6C:4B
# sh macs.sh -o eth3 ripristina l’indirizzo MAC reale di eth3
# sh macs.sh -v eth2 visualizza l’indirizzo MAC e vendor di eth2
# sh macs.sh -a visualizza gli indirizzi MAC e vendor di tutte
# sh macs.sh -p Microsoft visualizza i prefissi MAC proprietari Microsoft

Lo script è rilasciato con licenza GNU GPL v3, ed è scaricabile a questi link:

Matteo

[GNU/Linux] Criptare e decriptare un messaggio con GPG

Vediamo in questo articolo come criptare e decriptare un messaggio con GPG tramite shell.

Se vogliamo inviare un messaggio criptato a Paolino Paperino tramite GPG, i passi da effettuare sono:

  1. chiedere a Paolino Paperino la sua chiave pubblica, o cercarla su un key server;
  2. importare la chiave pubblica di Paolino Paperino in GPG;
  3. criptare il messaggio;
  4. inviare il messaggio a Paolino Paperino.

Nel caso opposto, in cui vogliamo decriptare un messaggio ricevuto da Paolino Paperino, i passi sono:

  1. chiedere a Paolino Paperino la sua chiave pubblica, o cercarla su un key server;
  2. importare la chiave pubblica di Paolino Paperino in GPG;
  3. ricevere il messaggio da Paolino Paperino;
  4. decriptare il messaggio.

Vediamo adesso prima i passi per criptare e inviare un messaggio, e poi quelli per decriptare un messaggio.

Criptare e inviare un messaggio

1 – Ottenere la chiave pubblica di una persona

Per ottenere la chiave pubblica di qualcuno, la soluzione migliore è chiederla al diretto interessato, ad esempio tramite mail. La chiave può essere salvata/inviata come un file testuale con una forma simile alla seguente:

-----BEGIN PGP PUBLIC KEY BLOCK-----Version: GnuPG v1.4.10 (GNU/Linux)hQLNYbY1gO6GWuWNqoQsRBACBRP2QTKHM+SOQIqjqJcaGAj/ckLf8/vPseiSuzQtQqBTgHRnRu3qQhS9+rfMlnm3v3nbrJH8+qhdqZAZLklKCsyDfBeevtNRSHyKsxNUlhFlkvu7ZHr/T4OsQZT5weJ4YSsYi7JaHJaNbOu4J6R63FfwCg5kgeyY/8nQmtixlpKdCWSOQIqjqJcaGAj/ckLf8/vPs8wbA//A7JUfFBxMWAR2bEkLI90i+4ZnKBlZ0fx1NZTiISItikUOVSp+oAn24mV3xBLNYbY1gO6GWuWNqoQfDB=a9d8m30Pw—–END PGP PUBLIC KEY BLOCK—–

Alternativamente, se la persona ha pubblicato su un key server la propria chiave, è possibile recuperarla con uno di questi 3 comandi (il risultato è lo stesso):

# gpg --search-keys --keyserver hkp://server Mail_address
# gpg --search-keys --keyserver hkp://server "Person Name"
# gpg --search-keys --keyserver hkp://server key_ID

Ad esempio possiamo cercare la chiave di Paolino Paperino:

# gpg --search-keys --keyserver hkp://subkeys.pgp.net "Paolino Paperino"

————————————————————————————–
gpg: searching for "Paolino Paperino" from hkp server subkeys.pgp.net
(1) Paolino Paperino <paolino.paperino@paperopoli.com>
2048-bit RSA key, ID AC3C885F, created 2012-07-03
Keys 1-1 of 1 for "Paolino Paperino". Enter number(s), N)ext, or Q)uit >

La ricerca della chiave pubblica di una persona deve essere effettuata solo la prima volta, a meno che la persona non cambi la propria chiave.

2 – Importare la chiave pubblica

Adesso dobbiamo importare all’interno di GPG la chiave pubblica della persona. Nel caso in cui la chiave sia stata recuperata tramite un key server, è possibile importarla usando uno di questi 3 comandi (il risultato è lo stesso):

# gpg --recv-keys --keyserver hkp://server Mail_address
# gpg --recv-keys --keyserver hkp://server "Person Name"
# gpg --recv-keys --keyserver hkp://server key_ID

Se invece la chiave pubblica della persona è su un file (ad esempio inviato tramite mail), è possibile importarla con questo comando:

# gpg --import public_key.txt

In entrambi i casi, dopo aver importato la chiave è bene effettuare una verifica delle chiavi importate in GPG con il comando:

# gpg --list-keys

Tornando all’esempio, nel caso in cui vogliamo importare la chiave pubblica di Paolino Paperino che si trova nel file PaolinoPaperino_public_key.txt, i comandi sono:

# gpg --import PaolinoPaperino_public_key.txt
# gpg --list-key/home/xxx/.gnupg/pubring.gpg
-------------------------------
pub 2048R/AC3C885F 2012-07-03
uid Paolino Paperino <paolino.paperino@paperopoli.com>
sub 2048R/C624E359 2012-07-03

oppure, se la chiave è presente su un key server usiamo il comando:

# gpg --recv-keys --keyserver hkp://subkeys.pgp.net "Paolino Paperino"

Come il passo precedente, anche questo deve essere effettuato solo la prima volta. Ogni volta che poi dovremo criptare/decriptare un messaggio, GPG andrà a cercare la chiave corretta tra quelle importate al suo interno.

3 – Criptare un messaggio

Dopo aver importato la chiave pubblica di una persona all’interno di GPG, possiamo procedere a criptare e firmare un messaggio in questo modo:

# gpg --armor --recipient "Person Name" --sign --encrypt messagge.txt

oppure specificando il file in cui verrà salvato il messaggio criptato:

# gpg --output final_message.txt --armor --recipient "Person Name" --sign --encrypt messagge.txt

Analizziamo le opzioni utilizzate:

  • output è opzionale e permette di indicare il file in cui verrà salvato il messaggio criptato;
  • armor è opzionale e serve per produrre un messaggio criptato usando la codifica ASCII, altrimenti senza tale opzione viene prodotto un file binario;
  • recipient è un’opzione obbligatoria e identifica il destinatario del messaggio, dunque chi sarà in grado di decriptare il messaggio;
  • sign è opzionale e firma il messaggio;
  • encrypt è ovviamente obbligatoria e cripta finalmente il messaggio.

Veniamo all’esempio. Se vogliamo inviare un messaggio criptato a Paolino Paperino, il comando necessario sarà:

# gpg --armor --recipient "Paolino Paperino" --sign --encrypt messaggio_da_paperone.txt

Il messaggio che viene prodotto dal comando precedente può poi essere inviato al destinatario.

4 – Inviare un messaggio criptato

Dopo aver criptato il messaggio, possiamo inviarlo alla nostra destinazione.

Nel caso in cui abbiamo scelto l’opzione armor, il testo criptato avrà una forma simile a questa:

-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.2.10
hQEMAyAXkJC2I+NYAQf/dAPmS9pAawmTsTMxuN3qW4YSjup2E9GZZI8x4ikwAIrh
poPumljoUR5tqsf5+xvtrOpamY3qaTeUGCadtQiqCod2zrfZEA7iLUtcO2i47yuK
VCT7yY1SKWhtAvElrkd48k0CY8HMMRpGWMdXlvfnZNxl3lEo2F1oIH45xsUo9HJ8
9z0e0Jlm5oe3KCMSOPDqIQRvAeWHSruyeLtyUuaCWsdu9JaSEd1j886wxCbbCzrp
r2H6MPmd35gpthoIR8QjbAF7bzpnltXRZrs4Aex31o4YrjW4Ns/S2w==
=Yxjk
-----END PGP MESSAGE-----

Per trasmettere il testo criptato al destinatario è sufficiente copiarlo all’interno della mail da inviare.

Ricevere e decriptare un messaggio

1 – Ottenere la chiave pubblica di una persona

Il procedimento è lo stesso del punto 1 precedente, e deve essere effettuato solo la prima volta.

2 – Importare la chiave pubblica

Il procedimento è lo stesso del punto 2 precedente, e deve essere effettuato solo la prima volta.

3 – Ricevere un messaggio criptato

Un messaggio criptato può essere ricevuto tramite gli stessi mezzi dei messaggi in chiaro tradizionali, ad esempio tramite mail. Ricordo che un messaggio criptato ha solitamente una forma di questo tipo:

-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.2.10
hQEMAyAXkJC2I+NYAQf/dAPmS9pAawmTsTMxuN3qW4YSjup2E9GZZI8x4ikwAIrh
poPumljoUR5tqsf5+xvtrOpamY3qaTeUGCadtQiqCod2zrfZEA7iLUtcO2i47yuK
VCT7yY1SKWhtAvElrkd48k0CY8HMMRpGWMdXlvfnZNxl3lEo2F1oIH45xsUo9HJ8
9z0e0Jlm5oe3KCMSOPDqIQRvAeWHSruyeLtyUuaCWsdu9JaSEd1j886wxCbbCzrp
r2H6MPmd35gpthoIR8QjbAF7bzpnltXRZrs4Aex31o4YrjW4Ns/S2w==
=Yxjk
-----END PGP MESSAGE-----

4 – Decriptare un messaggio

Nell’ultimo passo dobbiamo decriptare il messaggio ricevuto, e il comando è questo:

# gpg --output message.txt --decrypt encrypted_message.txt

Il comando è piuttosto esplicativo in quando devono essere specificati solamente il file di output, in cui verrà memorizzato il file decriptato, e il messaggio criptato ricevuto.

Con il nostro esempio, se vogliamo decriptare un messaggio dobbiamo eseguire:

# gpg --output message_from_Paperino.txt --decrypt encrypted_message_from_Paperino.txt
---------------------------------------------
You need a passphrase to unlock the secret key for
user: "Paolino Paperino <paolino.paperino@paperopoli.com>"
2048-bit RSA key, ID AC3C885F, created 2012-07-03
Enter passphrase:

Matteo