June 23, 2009

Wireshark usando ettercap come MITM

Perché usare Wireshark insieme ad ettercap?

Wireshark è (probabilmente) il miglior analizzatore di rete del mondo e il più poplare, ma non ti consente di sniffare in una LAN switched.

Ettercap è un (meno conosciuto) analizzatore di rete, ma permette di sniffare una lan switched (il 99% delle lan moderne).

Uniamo le forze

Avete solo bisogno di un PC con linux (forse funziona anche con ettercap per Windows).

In una console di root (su Ubuntu devi usare sudo) lancia ettercap come da riga seguente:

# ettercap -TQ -P repoison_arp -M arp:remote //

Ora potete usare Wireshark come al solito (magari col filtro not arp)

Ricordate di tenere ettercap in esecuzione finché devi sniffare e poi chiudetelo premendo q

Disclaimer

Siate sicuri di poter sniffare quella rete locale.
Image di audin presa da Flickr

June 10, 2009

POSIX shell scripting

Quando fare script compatibili POSIX?

Vi chiederete quando occorre fare script compatibili POSIX e quando invece usare BASH.
Ci sono tre principali motivi per usare script compatibili POSIX:
  1. Quando la portabilità è importante, se dovete fare uno script che vada praticamente ovunque (Solaris, *BSD, etc) è meglio rimanere compatibili POSIX (ove questo sia possibile senza un eccessivo lavoro).
  2. Per gli script di init (debian, ubuntu, Gentoo, etc) dato che debian e ubuntu usano di default dash come /bin/sh invece di bash e su Gentoo è possibile metterla da baselayout2 (o openrc).
  3. Negli script di autoconf, ./configure deve sempre essere compatibile con POSIX

Che cambia?

Partendo dal presupposto che uno sappia scriptare in bash cosa bisogna fare per rimanere compatibili con POSIX e che features di bash non possono essere usate?
Le differenze più comuni sono:
  1. [ $var1 == $var2 ] questa forma funziona su bash, ma non è definita in POSIX. Il comando test (di cui la sintassi [ ] è un derivato) vuole solo = e non == per comparare due stringhe.
  2. [[ condizione ]] questa è una forma avanzata di test che supporta globbing.Di solito si può riscrivere con [ condizione ].
  3. function foo() function è totalmente inutile, basta levarlo.
  4. a=${b/foo} o a=${b:0:1} POSIX non supporta questo genere di operazioni avanzate su stringhe, usare sed e/o grep e/o cut
  5. type -P programma o type -p programma usare command -v o which (sconsiglio di usare which perché è un programma esterno).

Come verifico se il mio script è compatibile POSIX?

Potete usare checkbashism.pl dai devscripts di debian

June 4, 2009

Non sovrascrivete gli hard disk esterni USB Western Digital

Un mio amico ha sovrascritto l’MBR del My Passport Essential della Western Digital e il disco è semplicemente morto, dato che la WD tiene parte del firmware sull’hard disk.
Insomma, non sovrascrivetelo!!!