Visualizzazione post con etichetta netcat. Mostra tutti i post
Visualizzazione post con etichetta netcat. Mostra tutti i post

martedì 14 ottobre 2014

Amministrare macchine sotto NAT

In alcuni casi puo' risultare necessario amministrare macchine che risultano dietro un router che fa NAT e quindi non hanno un indirizzo pubblico (ne' statico ne' dinamico) ma solo un indirizzo privato (si presentano su Internet con il solo indirizzo del router)

Un trucco puo' essere quello di configurare il router per fare port forwarding verso il client interno ma su alcuni reti (vedi quelle della telefonia mobile o Fastweb) cio' non e' possibile

In questi casi si puo' procedere con due metodi usando in entrambi i casi una reverse shell in cui la connessione e' iniziata dalla macchina nattata (questo permette di attraversare tranquillamente il router/firewall poiche' di solito le connessioni sono praticamente sempre filtrate solo dall'esterno verso l'interno)

Netcat
Su una macchina con indirizzo pubblico si digita (ovviamente non ci devono essere gia' server che sfruttano la porta 8080)
netcat -lvp 8080a questo punto dalla macchina nattata si digita
netcat -e /bin/sh ip_esterno 8080
a questo punto digitando i comandi sulla shell della macchina con ip pubblico si riescono ad eseguire i comandi sulla macchina nattata

SSH 
Supponiamo di avere una macchina con indirizzo pubblico su cui gira un server SSH ed un account su questa macchina (
Dalla macchina nattata si puo' digitare
ssh -R 8080:localhost:22 nome@ip_esterno

dalla macchina con ip pubblico si digita dove l'utente e la corrispettiva password sono quelle della macchina nattata
ssh utente1@localhost -p 8080

a questo punto i comandi digitati sulla macchina con ip pubblico vengono sulla macchina nattata

In tutto cio' c'e' un problema. Per effettuare il collegamento si deve interagire prima con la macchina nattata per poter aprire la connessione. Ma come si fa se questa e' irraggiungibile?? La soluzione, escludendo l'intervento umano di un collega sul posto, puo' essere quello di uno script in cron che lanci il comando a determinati intervalli. Se l'altro capo della comunicazione non e' pronto semplicemente la connessione viene interrotta, altrimenti inizia l'amministrazione remota

venerdì 29 marzo 2013

Spedire pacchetti UDP con Netcat

Per fare delle prove di server UDP puo' essere utile il programma netcat (che non e' installato di default in Debian ma deve essere aggiunto con apt-get install netcat)

una volta avviato il server UDP si puo' inviare pacchetti UDP con la seguente sintassu
dove localhost e' l'indirizzo del server (in questo caso in locale) e 21567 e' la porta di ascolto del server

echo -n "hello" | nc -u -w1 localhost 21567

Geologi

  E so anche espatriare senza praticamente toccare strada asfaltata