Old:Wiimote: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
(contrassegnata da adottare e rimosso template versioni compatibili)
(24 versioni intermedie di 6 utenti non mostrate)
Riga 1: Riga 1:
{{stub}}
{{Guida da adottare}}


'''Fail2ban''' � un software che � nato per permettere di bloccare gli host che stanno tentando di effettuare un attacco di [[brute force]] via [[ssh]].  
=Introduzione=
Il Wiimote è un controller prodotto dalla Nintendo usato come controller per la console Wii.
È possibile utilizzarlo per controllare numerose applicazioni nell'ambiente Linux, questa guida fornisce una descrizione del suo utilizzo e
di come sfruttare la libreria [http://abstrakraft.org/cwiid/ Cwiid ] per il suo uso all'interno di una applicazione in C o C++.
===Funzionamento===
Il funzionamento è spiegato bene [http://en.wikipedia.org/wiki/Wii_Remote nelle pagine wikipedia].


Questo genere di attacco si basa su continui tentativi di accesso, provando o l'username [[root]] con password probabili (come ''password'', ''root'', ''toor'' e cos� via..) oppure tramite coppie di username/password conosciute (create, ad esempio, da [[malware]] o da [[rootkit]]...).
Riassumendo brevemente, il controller è composto da una telecamera infrarossi che punta verso la parte anteriore, i vari tasti e un trasmettitore interno Bluetooth. Dopo aver effettuato il collegamento sarà possibile ricevere i comandi del joypad nonché le immagine raccolte dalla mini-videocamera. Proprio grazie a quest'ultime sarà possibile, eseguendo la triangolazione della luce emanata dai led infrarosso, calcolare la direzione in cui punta il WiiMote.


Con le ultime versioni, per�, si � ampliato ed � in grado di coprire svariati servizi (che andranno, per�, configurati manualmente), come ad esempio apache, vsftpd, postfix, etc...
Una alternativa è quella di utilizzare il comando Wii come telecamera fissa e quindi di adoperare una penna IR per scrivere sul video come se si fosse su una lavagna luminosa. Con questa grande intuizione nasce l'economica, ma funzionante e funzionale, '''WiiLD'''.
===Hardware necessario===
Per poter adoperare il WiiMote sono necessari, oltre al controller stesso:
* una serie di led infrarossi, può essere sia la barra fornita con la Wii stessa sia 4/5 led infrarossi sciolti da posizionare lungo un bordo del televisore [modalità di solo puntamento];
* un trasmettitore bluetooth per ricevere i segnali sul computer;
* una penna IR [modalità WiiLD], facilmente autocostruibile.


== Il funzionamento ==
====Come costruire la penna IR====
Il funzionamento � semplice: il software si occupa di effettuare il parsing di alcuni file di log (nel caso di ssh, <tt>/var/log/auth.log</tt>) che contengono le informazioni relative agli accessi falliti. Se vengono contati un numero di tentativi maggiori ad una soglia, l'indirizzo IP viene bloccato per un tempo impostato e non potr� pi� accedere al servizio in ascolto su quella porta (ma potr� ancora accedere a quelli sulle altre, cosa molto importante nel caso di indirizzi IP condivisi, come avviene per Fastweb o all'interno delle reti aziendali).


Attenzione al LED utilizzato.


Lista esempi:


== Installazione ==
=Installazione=
L'installazione � semplice:  
Ci sono varie librerie a disposizione, il sito di riferimento è sicuramente http://abstrakraft.org/cwiid/, sito di sviluppo della libreria Cwiid che è la più completa e testata. Vediamo cosa installare a seconda dell'uso di cui andremo a fare del nostro Wii.
<pre>
# apt-get install fail2ban
</pre>


== Configurazione ==
==WiiMote come sistema di puntamento==
Il file di configurazione � <tt>/etc/fail2ban/jail.local</tt> e contiene i parametri necessari al funzionamento del software
<pre>aptitude install lswm wminput wmgui</pre>
<pre>modprobe uinput</pre>


Il file di configurazione � diviso per sezioni: Ogni sezione inizia ha una struttura simile a:
==La WiiLD==
<pre>
<pre>aptitude install gtkwhiteboard</pre>
[nomesezione]
parametro = valore
parametro2 = valore
parametro3 = valore
</pre>


Ogni sezione, quindi, identificher� un controllo da eseguire. Fa eccezione la prima: <tt>[DEFAULT]</tt>, in quanto contiene i valori di default che verranno usati nelle sezioni successive; ovviamente potranno essere ridefiniti per adattarli ai propri gusti.
==Configurazione del sistema==
Per poter utilizzare il Wiimote sotto Linux è necessario che sia attivo il modulo del kernel relativo al usbhid, in Ubuntu digitare:
<pre># modprobe usbhid</pre>


== I Parametri ==
altrimenti [[Debian Kernel Howto |Ricompilare il kernel]] e attivarne il modulo.
I parametri pi� importanti sono:


; <tt>ignoreip = 127.0.0.1</tt> : permette di indicare un elenco di ip su cui non verr� fatto il controllo. Utile per non ''tagliare fuori'' accidentalmente l'ufficio
==Pacchetti necessari==
; <tt>bantime  = 600</tt> : il tempo, in secondi, per cui un host verr� bannato
Installare i seguenti pacchetti con il nostro amato apt-get:
; <tt>maxretry = 3</tt> : il numero massimo di tentativi dopo cui effettuare il ban dell'host
<pre># apt-get install autoconf awk bison flex bluez-utils bluez-hcidump
; <tt>destemail = root@localhost</tt> : l'indirizzo e-mail a cui inviare la mail di notifica
# apt-get install hcitool autotools-dev libbluetooth2-dev libgtk2.0-dev flex bison libcwiid1 libcwiid1-dev</pre>
; <tt>action = iptables[name=%(__name__)s, port=%(port)s]</tt> : l'azione da prendere. Quella di default blocca semplicemente l'accesso alla porta del servizio all'ip che ha sforato il numero di tentativi massimo.
; <tt>enabled = true</tt> : abilita i controlli all'interno della sezione
; <tt>port    = ssh</tt> : indica la porta da bloccare
; <tt>filter  = sshd</tt> : indica il filtro da utilizzare (contenuto all'interno della directory <tt>/etc/fail2ban/filter.d</tt> )
; <tt>logpath  = /var/log/auth.log</tt> : il file contenente il log da controllare


Ora lanciamo hcitool scan premendo contemporaneamente i tasti 1 e 2
<pre>$ hcitool  scan
Scanning ...
        00:19:1D:6B:3D:A3      Nintendo RVL-CNT-01</pre>


== Esempi di Azioni ==
Se l'operazione riesce il sistema è pronto per essere utilizzato.
=== Filtraggio semplice ===
Questa azione applica semplicemente un filtro in modo che l'host che ha effettuato un numero di tentativi maggiori di quello definito viene fermato.
<pre>action = iptables[name=%(__name__)s, port=%(port)s]
</pre>


=== Filtraggio con Notifica ===
=Utilizzo della libreria Cwiid=
Questa regola amplia quella precedente, in quanto manda una mail contenente l'ip ed il [[whois]] dell'ip dell'host che ha fatto scattare l'allarme
A disposizione avrete dei comandi che vi permetteranno di utilizzare il vostro controller:
<pre>
*wminput: permette di utilizzare il wiimote come un mouse;
action = iptables[name=%(__name__)s, port=%(port)s]
*wmgui: è un'interfaccia grafica per testare tutti gli eventi del controller;
        mail-whois[name=%(__name__)s, dest=%(destemail)s]
</pre>


=== Filtraggio con Notifica Avanzata ===
==Esempio di implementazione in un programma C ==
Come prima, ma in aggiunta sono presenti anche le linee del file di log che hanno fatto scattare l'allarme.
Un [http://abstrakraft.org/cwiid/browser/trunk/wmdemo/wmdemo.c?rev=179 esempio ] lo si trova sul sito di cwiid  oppure all'interno della directory con i
<pre>action = iptables[name=%(__name__)s, port=%(port)s]
[http://abstrakraft.org/cwiid/downloads/cwiid-0.6.00.tgz  sorgenti] del programma nella directory wmdemo.
          mail-whois-lines[name=%(__name__)s, dest=%(destemail)s, logpath=%(logpath)s]
</pre>


In linea generale c'è una struttura dati messa a disposizione dall'API (cwiid_state) che viene passata ad una chiamata (cwiid_get_state) la quale aggiorna la descrizione dello stato dei sensori presenti sul wiimote in quel momento.
Prima di far questo ci sarà una fase di connessione (cwiid_open) che chiederà il BBSID, un codice identificativo che abbiamo precedentemente visto
durante la chiamata del comando "hcitool scan".


[[Categoria:Sicurezza]]
 
[[Categoria:Networking]]
=Problematiche varie=
Per risolvere eventuali problemi vi invito sia a postare sulla pagina "discussioni" sia sul forum debianizzati.org. La guida è ancora in fase di stesura, quindi ogni critica e consiglio sarà ben voluto.
 
==Problematiche hardware==
===Videocamera IR===
Attenzione che altre fonti di luce possono emettere raggi infrarossi. Ad esempio candele, ma soprattutto il sole. Se adoperato in piena luce solare la telecamera potrebbe essere accecata o fortemente disturbata.
 
 
===LED IR===
Attenzione che i led sono direzionali (con un angolo di puntamento in genere attorno ai 30°) quindi attenzione a non utilizzarli storti. Per utilizzare la WiiLD sarebbe meglio adoperare un led IR ad alta potenza rispetto ai classici in commercio.
 
 
{{Autori
|Autore= [[Utente:Risca86 | Risca]]
(originariamente scritta da [[Utente:J3no|J3no]])
}}
 
[[Categoria:Hack it!]]

Versione delle 12:11, 17 apr 2016

Guida da adottare! Bannermv.png


Introduzione

Il Wiimote è un controller prodotto dalla Nintendo usato come controller per la console Wii. È possibile utilizzarlo per controllare numerose applicazioni nell'ambiente Linux, questa guida fornisce una descrizione del suo utilizzo e di come sfruttare la libreria Cwiid per il suo uso all'interno di una applicazione in C o C++.

Funzionamento

Il funzionamento è spiegato bene nelle pagine wikipedia.

Riassumendo brevemente, il controller è composto da una telecamera infrarossi che punta verso la parte anteriore, i vari tasti e un trasmettitore interno Bluetooth. Dopo aver effettuato il collegamento sarà possibile ricevere i comandi del joypad nonché le immagine raccolte dalla mini-videocamera. Proprio grazie a quest'ultime sarà possibile, eseguendo la triangolazione della luce emanata dai led infrarosso, calcolare la direzione in cui punta il WiiMote.

Una alternativa è quella di utilizzare il comando Wii come telecamera fissa e quindi di adoperare una penna IR per scrivere sul video come se si fosse su una lavagna luminosa. Con questa grande intuizione nasce l'economica, ma funzionante e funzionale, WiiLD.

Hardware necessario

Per poter adoperare il WiiMote sono necessari, oltre al controller stesso:

  • una serie di led infrarossi, può essere sia la barra fornita con la Wii stessa sia 4/5 led infrarossi sciolti da posizionare lungo un bordo del televisore [modalità di solo puntamento];
  • un trasmettitore bluetooth per ricevere i segnali sul computer;
  • una penna IR [modalità WiiLD], facilmente autocostruibile.

Come costruire la penna IR

Attenzione al LED utilizzato.

Lista esempi:

Installazione

Ci sono varie librerie a disposizione, il sito di riferimento è sicuramente http://abstrakraft.org/cwiid/, sito di sviluppo della libreria Cwiid che è la più completa e testata. Vediamo cosa installare a seconda dell'uso di cui andremo a fare del nostro Wii.

WiiMote come sistema di puntamento

aptitude install lswm wminput wmgui
modprobe uinput

La WiiLD

aptitude install gtkwhiteboard

Configurazione del sistema

Per poter utilizzare il Wiimote sotto Linux è necessario che sia attivo il modulo del kernel relativo al usbhid, in Ubuntu digitare:

# modprobe usbhid

altrimenti Ricompilare il kernel e attivarne il modulo.

Pacchetti necessari

Installare i seguenti pacchetti con il nostro amato apt-get:

# apt-get install autoconf awk bison flex bluez-utils bluez-hcidump 
# apt-get install hcitool autotools-dev libbluetooth2-dev libgtk2.0-dev flex bison libcwiid1 libcwiid1-dev

Ora lanciamo hcitool scan premendo contemporaneamente i tasti 1 e 2

$ hcitool  scan
 Scanning ...
        00:19:1D:6B:3D:A3       Nintendo RVL-CNT-01

Se l'operazione riesce il sistema è pronto per essere utilizzato.

Utilizzo della libreria Cwiid

A disposizione avrete dei comandi che vi permetteranno di utilizzare il vostro controller:

  • wminput: permette di utilizzare il wiimote come un mouse;
  • wmgui: è un'interfaccia grafica per testare tutti gli eventi del controller;

Esempio di implementazione in un programma C

Un esempio lo si trova sul sito di cwiid oppure all'interno della directory con i sorgenti del programma nella directory wmdemo.

In linea generale c'è una struttura dati messa a disposizione dall'API (cwiid_state) che viene passata ad una chiamata (cwiid_get_state) la quale aggiorna la descrizione dello stato dei sensori presenti sul wiimote in quel momento. Prima di far questo ci sarà una fase di connessione (cwiid_open) che chiederà il BBSID, un codice identificativo che abbiamo precedentemente visto durante la chiamata del comando "hcitool scan".


Problematiche varie

Per risolvere eventuali problemi vi invito sia a postare sulla pagina "discussioni" sia sul forum debianizzati.org. La guida è ancora in fase di stesura, quindi ogni critica e consiglio sarà ben voluto.

Problematiche hardware

Videocamera IR

Attenzione che altre fonti di luce possono emettere raggi infrarossi. Ad esempio candele, ma soprattutto il sole. Se adoperato in piena luce solare la telecamera potrebbe essere accecata o fortemente disturbata.


LED IR

Attenzione che i led sono direzionali (con un angolo di puntamento in genere attorno ai 30°) quindi attenzione a non utilizzarli storti. Per utilizzare la WiiLD sarebbe meglio adoperare un led IR ad alta potenza rispetto ai classici in commercio.




Guida scritta da: Risca

(originariamente scritta da J3no)

Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized