venerdì 7 novembre 2014

Evadere da un proxy server 2 (la vendetta)

In un precedente post avevo scritto dei tentativi falliti di evadere dal http proxy server aziendale


Ovviamente non mi sono scoraggiato ed ho trovato un nuovo software Shellinabox che crea un server http su cui instrada una shell ssh mediante una interfaccia Ajax....poteva essere la soluzione per fregare il server proxy che instrada solo connessioni http legittime
si installa tramite il classico
apt-get install shellinabox

poi si edita il file di configurazione per il bucare il server proxy su una porta permessa (la 443 https)
nano /etc/default/shellinabox
in giallo l'ip della macchina

# TCP port that shellinboxd's webserver listens on 
SHELLINABOX_PORT=443

 # specify the IP address of a destination SSH server 
SHELLINABOX_ARGS="--o-beep -s /:SSH:150.xxx.xxx.xxx"

a questo punto si creano le chiavi per la connessione SSL

cd /var/lib/shellinabox
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
cat server.crt server.key > certificate.pem


si riavvia il servizio per le nuove impostazioni
service shellinabox reload

e si fa puntare il browser del client interno all'http proxy all'indirizzo https://150.xxxx.xxx.xxx, si accettano le eccezioni del certificato SSL e ci si trova di fronte alla shell ssh


Come si vede il login di root non e' permesso (nonostante il server ssh abbia PermitLoginRoot Yes) ma cio' puo' essere positivo
Si puo' obbiettare sulla falla di sicurezza che questo servizio puo' creare ed in questo senso puo' essere intelligente metterlo su una macchina destinata solo a fare da ponte verso l'esterno senza servizi critici e di produzione installati

in conclusione Missione Compiuta