Newsgroup: it.comp.os.linux.sys
Titolo: Eseguire comandi da email

"L'altro giorno" [cit.] mi e` venuta un'idea malsana, ho cercato un po' su
google e non ho trovato nulla di interessante: quanto sarebbe fattibile
eseguire su una macchina dei comandi passati via email?
L'idea, malsana appunto, sarebbe piu` o meno questa:
- invio alla macchina destinazione una mail firmata e crittata con GPG,
contenente i comandi da eseguire;
- se la firma e` ok, decritto la mail, eseguo i comandi e mando
l'eventuale output al mittente della mail (crittato e firmato)
- se la firma non e` ok o la decrittazione falliscono, chissene...
Qualcuno l'ha gia` fatto? E` una ca&&ata?
Info, commenti, varie & eventuali ovviamente ben accetti :-)
-- 
Ciaps, Bianco

 a che scopo una roba simile?
Sarebbe l'unico modo per comandare da remoto una macchina che non posso
raggiungere in altro modo... tipo: sono a casa e mi serve un file
*importantissimo* e *urgentissimo* che sta su quella macchinas e <zac> me
lo faccio inviare via email :-)
-- 
Ciaps, Bianco
Honda CB500 "Birba"

Bianco wrote:

Io usavo una cosa simile agli albori di internet ( navigavo offline
facendomi mandare i file html via mail) quando era consentito solo l'uso
della posta elettronica. Cosa usassero sinceramene non lo ricordo.
Luca
-- 
<<>><<>><<>><<>><<>><<>><<<>><<>><<>><<
Luca Paredi
Computing technical supporter              
Universita' degli Studi dell'Insubria  
<<>><<>><<>><<>><<>><<>><<<>><<>><<>><<

 lo faccio inviare via email :-)
E contando che la posta passa in chiaro su internet, il primo gioppino 
che ti sniffa una mail può farsi mandare tutto il tuo hard disk.
O cancellare quel che gli pare, se hai previsto un comando del genere.
:-)
-- 
Ciao,
    Renato
IHGGer #904

 l'eventuale output al mittente della mail (crittato e firmato)
Che il gioppino sniffi quello che gli pare... GPG fara` pure il suo sporco
lavoro, no?
-- 
Ciaps, Bianco

,

Allo stesso scopo puoi usare ssh che, ti ricordo, permette di eseguire
comandi remoti a piacimento.
LG
-- 
Dott. Ing. Leandro Gelasi
LinuxHelp - Servizio supporto utenti Linux
Università di Roma "La Sapienza" - C.I.T.I.Co.R.D.
Email: gelasi(At)linuxhelp(punto)uniroma1(punto)it
Home Page: 
http://linuxhelp.uniroma1.it
Tel: 0649913828 - 23828 (int)

 piu' semplice..
Il fatto e` questo: sulla mia macchina (quella nella rete privata) ho
"diritto di vita e di morte", ma di avere un accesso dall'esterno non se
ne parla. Per questo mi e` venuta 'sta idea della mail, altrimenti il
problema non si poneva, no? :-)
Se fosse stato cosi` facile non avrei postato ;-)


 comandi remoti a piacimento.
Si`, lo so... ma la frase la` sopra e` cosi` incomprensibile? :-)
-- 
Ciaps, Bianco

 lo faccio inviare via email :-)
Se vuoi qualcosa di seriamente elaborato, meglio un programmino in $lang
da usare in pipe a un indirizzo specifico. Ne ho uno in perl che mi
serviva per una certa cosa, ma il punto e` un'altro[1].
Per come la descrivi, ti serve *banalmente* un ftp/http eventualmente
autenticato e ssled.
Se puoi mandare una mail, puoi accedere anche a un browser.
[1]
Se te lo chiedi fa tutt'altro. In comune ha solo la parte gpg e che
manda via una mail (ma controlla la firma, non fa crypt/decrypt).
-- 
                          Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
"SPARC" is "CRAPS" backwards --Rob Pike


Feci tempo fa una cosa vagamente simile.
Creai un indirizzo email che veniva periodicamente (una volta all'ora) 
controllato da uno script Perl.
Quando arrivava un messaggio con un file allegato (che era il risultato di 
un'esportazione criptata e firmata da un db Access installato presso 
agenti), veniva controllato l'allegato e, se valido (firma e decrittazione), 
venivano avviate certe operazioni che coinvolgevano i dati comunicati 
(inserimento in un db centrale, elaborazione dei dati, comunicazioni via 
email, ecc...).
Gran comodità l'accoppiata cron+perl...

 
Mi intrometto perché l'argomento stimola la mia curiosità.
Ho provato ad immaginarmi uno scenario in cui, pur avendo diritto di vita e
di morte su di una macchina, potesse essere impossibile ottenere un accesso
ssh da remoto.
Dopo l'intervento dei VV.FF., chiamati dai vicini per il fumo che usciva
dalle mie meningi, vi rendo partecipi di quanto dedotto.
Se la macchina da raggiungere (d'ora in avanti $dest) si trova in una rete
privata e non dispongo dei privilegi (informatici e fisici) per ottenere
l'apertura di una porta sul firewall (anche non privilegiata) e la sua
redirezione su $dest, potrei comunque ottenere una shell via ssh se fosse
$dest ad iniziare la connessione verso di me ($orig). Questo non elimina il
problema di come far partire la sessione ssh e dove dirigerla (è
presumibile che $orig non sia costretto ad avere un IP pubblico statico).
Se, però, $dest può prelevare una serie di informazioni da una mail, che
scaricherebbe da un qualunque account, potrebbe inizializzare la
connessione verso $orig "a comando" (ovviamente dovrei aver attivato un
demone ssh su $orig).
Se non permetto l'esecuzione di comandi arbitrari ma solo l'apertura di una
sessione ssh e, tuttalpiù, l'invio di file per posta ad un'indirizzo
prefissato ed inalterabile da remoto, si dovrebbe poter mettere in piedi un
sistema ragionevolmente sicuro. O almeno credo...
Naturalmente questa possibilità andrebbe preclusa all'utente root per ovvie
ragioni di inapplicabilità dei permessi sui file che, per gli utenti a
basso privilegio, dovrebbero rappresentare un'ostacolo insuperabile se
qualcuno tentasse di farsi inviare, fraudolentemente, materiale riservato.
Ditemi cosa ne pensate.
Ciao
 Ivo

 Se puoi mandare una mail, puoi accedere anche a un browser.
Non ho capito... se io non sono sulla macchina, che me ne faccio del
browser? Lo scopo del gioco e` far eseguire ad una macchina "unattended" i
comandi contenuti in una mail crittata e firmata.
-- 
Ciaps, Bianco

 Ditemi cosa ne pensate.
Nel mio caso specifico, parti male: non posso fare ssh al di fuori della
rete interna :-)


 comandi contenuti in una mail crittata e firmata.
Se i comandi si riassumono in "manda file", ti serve un http/ftp. A cui
accedere via browser. Se il problema e` assenza di rete, non arriva
nemmeno una mail.
Se il problema e` traffico per cui ssh potrebbe non essere disponibile,
si suppone accesso di rete con risorse limitate. Faccio fatica a pensare
ad un azienda dove e` permesso il traffico mail, ma inibito quello http
(per quanto tutto e` possibile).
-- 
                          Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
I love this fucking job. This job loves fucking me.

 
Puoi sempre instradare la connessione usando un tunnel http (anche se di
mezzo ci sono uno o più proxy.
Ciao
 Ivo

 ma inibito quello http (per quanto tutto e` possibile).
No, non e` il mio caso.
-- 
Ciaps, Bianco

 Se fosse stato cosi` facile non avrei postato ;-)
Io ho risolto un problema simile con openvpn. La macchina non raggiungibile
dall'esterno si connette in vpn alla mia macchina casalinga, il cui
indirizzo ip è registrato in un dns dinamico.
Openvpn è piccolino e leggero, l'autenticazione può avvenire tramite
certificati RSA, le comunicazioni sono criptate con SSL ed è banale da
configurare.
Quello che il firewall vedrà saranno solo pacchetti UDP.
-- 
"It is not enough to succeed.  Others must fail."
Linux Registered User #301571, running Gentoo
Memeber of Luganega - Linux User Group Crema (IT)
Fai sentire la tua voce! 
http://www.popolodellarete.it


http://nicetoad.homelinux.org/samexpander.html
 : magari con un poco di 
tuning riesci a fargli fare quel che vuoi (GPG e il resto...)
-- 
Roberto -MadBob- Guido
mail bob4mail***@***
gmail.com
web 
http://madbob.homelinux.com
BrainTop Project maintainer - 
http://braintop.sf.net

 Qualcuno l'ha gia` fatto? E` una ca&&ata?
Io mi sono creato una shell che interroga info412.
Qundi dal mio telefonino mando una email ad un account specifico del mio 
server con una sintassi precisa. Quando l'email arriva sul server procmail 
smonta l'email e passa i parametri alla shell e mi rimanda l'email con 
quello che ha trovato.
Praticamente mi sono creato un bel elenco telefonico consultabile ovunque mi 
trovo.
C'e' da dire che pero' sull'email viaggiano solo le variabili, le istruzioni 
le lancia procmial.
Ciao. 

 il cui indirizzo ip è registrato in un dns dinamico.
[...]
Potrebbe essere una soluzione, ma nel mio caso specifico, la macchina
esterna e` un infame dial-up ed usare un dns dinamico ha ritardi
dell'ordine delle decine di minuti, e questo potrebbe essere una rottura :-)
Cmq, grazie, non conoscevo openvpn.


 tuning riesci a fargli fare quel che vuoi (GPG e il resto...)
Visto e scaricato: e` piuttosto semplice, appena ho tempo ci metto le mani
e vedo cosa riesco a combinare :-)
GraSSie
-- 
Ciaps, Bianco

 istruzioni le lancia procmial.
Eh, cosi` e` facile :-P
Scherzo, bel sistemino, davvero.
Pero` hai un elenco predefinito di comandi, mentre quello che vorrei fare
io e` una "shell a distanza", senza limitazioni, a parte quelle che
impongo io all'utente con i privilegi del quale faccio girare il tutto.


 le lancia procmial.
Ingegnoso!

 lavoro, no?
Domanda: la macchina in questione è il tuo PC o è il "server"
dell'azienda o sono entrambe la stessa cosa?

 dell'azienda o sono entrambe la stessa cosa?
La prima che hai detto.


 Cmq, grazie, non conoscevo openvpn.
Ti autoinvii una mail con l'ip address ogni volta che vai online.
-- 
| Massimo ;-) -> 
http://maq.altervista.org
        |       (o_        |
|- BABYLON 5  -> 
http://babylon5.altervista.org
   |  (o-  //\   -o)  |
|- STARGATE   -> 
http://sg1screw.altervista.org
   |  (/)_ V_/_ _(\)  |
|- USSTRIBOLO -> 
http://usstribolo.altervista.org
 | POWERED BY LINUX |

 Ti autoinvii una mail con l'ip address ogni volta che vai online.
Io uso dyndns e non ho mai avuto di questi problemi, le modifiche sono
istantanee.
Non conosco bene il protocollo DNS e magari dico una boiata ma immagino che
i server di dyndns "dicano" a chi li interroga di non tenere i cache i
risultati delle query.


 La prima che hai detto.
email, campo header "miasuperpassword"
parsing della mail se headere contiene "miasuperpassword" lanci 
client.pl
client.pl
 che girerà con i permessi del mail server o altro comunica via
socket a 
server.pl
 (che gira con i permessi di root) in ascolto
sull'interfaccia di loopback un altra password, 
server.pl
 verifica la
chiamata, sbatte giù il mail server e tira su ssh sulla porta 25.
Ora hai accesso via ssh al tuo sistema in barba al firewall

 Ora hai accesso via ssh al tuo sistema in barba al firewall
?_? Questa non l'ho capita, ma magari mi sono perso qualcosa di
fondamentale io.
Ok, ammazzo il mail server per liberare la porta 25, ma avviare il server
ssh, seppur su una porta diversa da quella standard, non mi serve gran
che, visto che la macchina non e` comunque visibile dall'esterno...
-- 
Ciao, Bianco.
|------[Powered by Slackware Linux 10.1 - 2.4.26 - Intel P4-1.7GHz]-------|
|-----------[Linux Registered User #287769 - Machine #231595]-------------|


potresti provare anche vtun + eventualmente un servizio di dns dinamico
   Gio'
-- 
/*
 * Solutions for New Business - 
http://www.snb.it
 */

 potresti provare anche vtun + eventualmente un servizio di dns dinamico
Anche tinc o anche cipe se e` per questo.
Ma OpenVPN domina tutti quanti :-)
ouz e ne rimarra` soltato uno
-- 
Vuoi fare colpo su di lei con me?
Fai colpo su di lei con me! Fai colpo su di lei con me!
[Dr. Gonzo : Paura e delirio a Las Vegas]