| PortKnocking | Hack 0 :: Attack 2 |
|
|
|
| Scritto da Rex Sanna |
![]() La sicurezza è una cipolla. Non solo perché maggiori sono il numero gli strati, maggiori le dimensioni di questa sicurezza, ma anche perché a volte per metter un nuovo strato bisogna piangere in turco per farsi capire da una macchina. Ma ZERO è ZERO¹. Pertanto, in qualsiasi lingua esso vuole che gli impartisca un particolare ordine... capendolo, lo eseguirà. Port-Knocking: "Ammazza-la-vecchia..."
Il manuale di iptables che ho è scritto in italiano domestico, pertanto non so neanche se è leggibile. Ma proverò a rileggerlo. Se non ricordo male... Le porte sono numeri. Numeri di camera, come in un albergo. Zero è la struttura hardware, mentre noi lo costruiremo sul software.
Lo chiamerei Vittoria, quell'albergo. Nome di donna. Ad ogni stanza dell'Hotel Vittoria ci mettiamo una signorina dagli occhi dolci. Vittoria! Sorridendo ci saluta, parlando una lingua strana (protocollo) ad ogni porta che apriamo. Alcune lingue sono famose, altre meno. Ricordo ancora http (80), ftp (20/21), ssh (22). Esistono porte privilegiate e non privilegiate. Porte di servizio. Come mattoncini che decorano le scale dell'Hotel, queste porte di servizio sembrano tutte uguali. La sola cosa che le distingue è il numerino. L'Hotel Vittoria ha tantissime stanze. Il file /etc/services è l'ascensore privato. Lo usa Vittoria per sapere quale servizio deve fornire alle varie porte conosciute. All'ingresso dell'Hotel invece.. c'è Gigi! Il firewall. Lui si occupa di fare entrare i clienti. Sa quali sono le porte aperte e quali clienti tenere fuori. Sarebbe splendido se Zero conoscesse il modo di insegnare a Gigi il gioco del port-knocking.
Ho fatto un giro su www.portknocking.org e ho trovato un semplice esempio. Ho scaricato una cosa chiamata knockd. È proprio il tipo di giochino che volevo insegnare a Zero. Per installarlo ha richiesto le solite librerie di sviluppo supplementari... (yum yum - fatto!) Il file di configurazione è molto semplice: openSERVIZIO e abilito un servizio. Addirittura c'è anche la regola iptables. Comodo, ma devo leggere il manuale non-in-italiano. La sequenza proposta come esempio è il solito muro di Berlino. Porte dai numeri strani che non ricordo neanche. Come farò poi a ricordare quale era la sequenza corretta??? Mistero. Uff... mi tocca improvvisare. Numeri... e lettere... tipo... l'alfabeto! Quello ASCII per esempio. Allora scopro che se scrivo Vittoria stò utilizzando i numeri dei caratteri! E Vittoria diventa:
126 151 164 164 157 162 151 141
Bellissimo! Le porte però corrispondono a quelle privilegiate. Allora ci metto uno Zero davanti... e tutto cambia.
10126 10151 10164 10164 10157 10162 10151 10141
Adesso basta bussare con un SYN e si aprono i servizi.
"2706 2005 ..." e si apre una falla grossa così.. :D Bella Zero! Adesso che sai anche fare l'uscere, ecco il tuo script, dimostramelo. (Funziona soltanto se hai anche libcap-devel)
#!/bin/bash
mkdir -p /tmp/portknocking
cd /tmp/portknocking
wget http://www.zeroflux.org/proj/knock/files/knock-0.5.tar.gz
tar xzf knock-0.5.tar.gz
cd knock-0.5
./configure
make && make install
echo "# HA: Buon compleanno Nicola!"
# Copia/incolla. Quello che ti resta e' l'idea dentro
# la buccia. La buccia.. ? Riciclabile.
cd ..
rm -rf portknocking 2>&1 > /dev/null
rm -rf $0 2>&1 > /dev/null
#
# ;)
¹ ZERO è il computer, nonchè il migliore amico, di Rex.
|
| Ultimo aggiornamento Giovedì 17 Giugno 2010 09:23 |

















