Kismet
De SergiTurWiki
| Curs: | SeguretatXarxesInformàtiques |
| Fitxers: | No hi ha fitxers |
| Repositori SVN: | https://anonymous@svn.projectes.lafarga.cat/svn/iceupc/SeguretatXarxesInformàtiques |
| Usuari: | anonymous |
| Paraula de pas: | sense paraula de pas |
| Autors: | Sergi Tur Badenas |
Instal·lació
$ sudo apt-get install kismet
Executables:
$ dpkg -L kismet | grep bin /usr/bin /usr/bin/kismet /usr/bin/kismet_client /usr/bin/gpsmap /usr/bin/gpsmap-helper-earthamaps /usr/bin/kismet_server /usr/bin/kismet_drone /usr/sbin
Fitxers de configuració:
$ dpkg -L kismet | grep etc /etc /etc/kismet /etc/kismet/ap_manuf /etc/kismet/client_manuf /etc/kismet/kismet.conf /etc/kismet/kismet_drone.conf /etc/kismet/kismet_ui.conf /usr/share/doc/kismet/extra/kismetcsv.sql
Arquitectura client-servidor
Kismet són dos aplicacions:
- 1 servidor: kismet_server
- 1 client: kismet_client
$ ps aux | grep kismet root 11221 0.0 0.0 2964 804 pts/0 S+ 09:28 0:00 kismet root 11222 0.1 0.0 3964 1932 pts/0 S+ 09:28 0:00 //usr/bin/kismet_server --silent root 11223 0.2 0.0 4180 2032 pts/0 S+ 09:28 0:00 //usr/bin/kismet_client root 11224 0.0 0.0 3868 448 pts/0 S+ 09:28 0:00 //usr/bin/kismet_client root 11228 0.0 0.0 3868 440 pts/0 S+ 09:28 0:00 //usr/bin/kismet_client root 11232 0.0 0.0 3868 320 pts/0 S+ 09:28 0:00 //usr/bin/kismet_client root 11246 0.0 0.0 3868 320 pts/0 S+ 09:29 0:00 //usr/bin/kismet_client root 11260 0.0 0.0 3868 320 pts/0 S+ 09:29 0:00 //usr/bin/kismet_client root 11261 0.0 0.0 3868 320 pts/0 S+ 09:29 0:00 //usr/bin/kismet_client root 11602 0.0 0.0 3868 320 pts/0 S+ 09:30 0:00 //usr/bin/kismet_client root 11654 0.0 0.0 3868 320 pts/0 S+ 09:31 0:00 //usr/bin/kismet_client root 11695 0.0 0.0 3868 320 pts/0 S+ 09:31 0:00 //usr/bin/kismet_client root 11746 0.0 0.0 3868 320 pts/0 S+ 09:32 0:00 //usr/bin/kismet_client root 11793 0.0 0.0 3868 320 pts/0 S+ 09:33 0:00 //usr/bin/kismet_client root 11809 0.0 0.0 3868 320 pts/0 S+ 09:34 0:00 //usr/bin/kismet_client root 11824 0.0 0.0 3868 320 pts/0 S+ 09:34 0:00 //usr/bin/kismet_client root 12176 0.0 0.0 3868 228 pts/0 S+ 09:35 0:00 //usr/bin/kismet_client sergi 12213 0.0 0.0 3012 764 pts/2 R+ 09:35 0:00 grep kismet
Clients remots es poden connectar a un servidor canviant la configuració de kismet. Vegeu la opció:
allowedhosts=127.0.0.1
del fitxer /etc/kismet/kismet.conf.
Configuració
El primer que cal per configurar Kysmet és saber quin driver estem utilitzant per a la targeta wireless. Podeu utilitzar hal-device-manager (consulteu Adaptadors de xarxa de l'article sobre Xarxes Linux.).
També el podeu buscar amb lshal
$ lshal
La llista és enorme però podeu volcar el resultat a un fitxer
$ lshal > out.txt
I busqueu el dispositiu utilitzant un editor de text:
$ gedit out.txt &
Podeu buscar amb la combinació de tecles Ctrl+f. Per exemple nosaltres hem localitzat una targeta de xarxa:
$ lspci ... 0b:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
Busque doncs per paraules com Intel o wireless o 3945ABG o qualsevol altre paraula que ajudi a trobar el vostre dispositiu. Per exemple, buscant per 3945ABG hem trobat:
... udi = '/org/freedesktop/Hal/devices/pci_8086_4222' info.linux.driver = 'iwl3945' (string) info.parent = '/org/freedesktop/Hal/devices/pci_8086_2841' (string) info.product = 'PRO/Wireless 3945ABG Network Connection' (string) info.subsystem = 'pci' (string) info.udi = '/org/freedesktop/Hal/devices/pci_8086_4222' (string) info.vendor = 'Intel Corporation' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'pci' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1c.1/0000:0b:00.0' (string) pci.device_class = 2 (0x2) (int) pci.device_protocol = 0 (0x0) (int) pci.device_subclass = 128 (0x80) (int) pci.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1c.1/0000:0b:00.0' (string) pci.product = 'PRO/Wireless 3945ABG Network Connection' (string) pci.product_id = 16930 (0x4222) (int) pci.subsys_product_id = 4129 (0x1021) (int) pci.subsys_vendor = 'Intel Corporation' (string) pci.subsys_vendor_id = 32902 (0x8086) (int) pci.vendor = 'Intel Corporation' (string) pci.vendor_id = 32902 (0x8086) (int)
I el seu driver és :
info.linux.driver = 'iwl3945' (string)
Normalment el driver s'executa com un mòdul del nucli de Linux. Podeu comprovar que el modul s'està executant amb:
$ lsmod | grep iwl iwl3945 89844 0 iwlwifi_mac80211 219108 1 iwl3945 cfg80211 15112 1 iwlwifi_mac80211
O quelcom similar per al vostre driver.
Configuració del fitxer kismet.conf
El més important de la configuració de kismet es troba al fitxer /etc/kismet/kismet.conf. El primer que cal fer es configurar la línia:
source=none,none,addme
Aquí cal posar quin és l'origen des del que començarem a detectar xarxes wireless. El format és el següent:
source=type,interface,name
On
- type: és el tipus de targeta de xarxa. El tipus ve determinat pel driver que esteu utilitzant. Un cop sabeu el vostre driver, consulteu al manual de kismet, quin és el tipus que heu d'utilitzar. Consulteu la secció
12. Capture Sources(ara,--acacha 07:06, 18 març 2010 (UTC), 7. Supported capture sources) del manual. - interface: el nom de la interfície de xarxa wireless que volem utilitzar
- name: Un nom que li posarem a l'origen de dades. Podeu posar el que vulgueu, però normalment es posa el nom del fabricant de la targeta de xarxa wireless (Intel, Dlink, Atheros, etc...)
Editeu el fitxer /etc/kismet/kismet.conf i modifiquem la línia source= per:
source=iwl3945,eth1,Intel
On iwl3945 és el driver de la nostra targeta de xarxa, eth1 és el nom de la interfície de xarxa sense fils i Intel la marca del chip de la targeta sense fils.
A la web de documentació de Kismet:
http://www.kismetwireless.net/documentation.shtml
O al fitxer:
/usr/share/doc/kismet/README.gz
Que podeu desomprimir amb:
$ gz /usr/share/doc/kismet/README.gz
Podeu consultar la llista de drivers possibles segons la targeta de xarxa.
Recursos:
Configuració per a DLINK (DWL-G520)
Utilitza un xip Atheros. La configuració és:
source=madwifi_g,wifi0,d-link
Consulta també:
Aircrack-ng#DLINK_.28DWL-G520.29
Configuració per a DLINK (DWL-G510 Rev C)
Sembla que no hi ha suport.
Configuració per a Zydas zd1211rw (Wireless USB amb antena de WISACOM)
Es pot comprar a pricoinsa per uns 30€ aprox (--acacha 12:55, 19 abr 2009 (UTC)):
La configuració del fitxer /etc/kismet/kismet.conf és:
source=zd1211,wlan1,wisacom
I executem :
$ sudo kismet
Consulteu també:
Aircrack-ng#Zydas__zd1211rw
Configuració del so
Al fitxer /etc/kismet/kismet.conf:
# Do we use sound?
# Not to be confused with GUI sound parameter, this controls wether or not the
# server itself will play sound. Primarily for headless or automated systems.
sound=false
# Path to sound player
soundplay=/usr/bin/play
# Optional parameters to pass to the player
# soundopts=--volume=.3
# New network found
sound_new=//usr/share/kismet/wav/new_network.wav
# Wepped new network
# sound_new_wep=${prefix}/com/kismet/wav/new_wep_network.wav
# Network traffic sound
sound_traffic=//usr/share/kismet/wav/traffic.wav
# Network junk traffic found
sound_junktraffic=//usr/share/kismet/wav/junk_traffic.wav
# GPS lock aquired sound
# sound_gpslock=//usr/share/kismet/wav/foo.wav
# GPS lock lost sound
# sound_gpslost=//usr/share/kismet/wav/bar.wav
# Alert sound
sound_alert=//usr/share/kismet/wav/alert.wav
Canvieu
- sound=false per sound=true.
- soundplay=/usr/bin/play per soundpaly=soundplay=/usr/bin/aplay
Torneu a iniciar kismet. El so es pot activar i descativar mitjançant la tecla m (mute).
Configuració del sintetitzador de veu (Festival)
Fitxer /etc/kismet/kismet.conf:
# Does the server have speech? (Again, not to be confused with the GUI's speech) speech=false # Server's path to Festival festival=/usr/bin/festival # Are we using festival lite? If so, set the above "festival" path to also # point to the "flite" binary flite=false # Are we using Darwin speech? darwinsay=false # What voice do we use? (Currently only valid on Darwin) speech_voice=default # How do we speak? Valid options: # speech Normal speech # nato NATO spellings (alpha, bravo, charlie) # spell Spell the letters out (aye, bee, sea) speech_type=nato # speech_encrypted and speech_unencrypted - Speech templates # Similar to the logtemplate option, this lets you customize the speech output. # speech_encrypted is used for an encrypted network spoken string # speech_unencrypted is used for an unencrypted network spoken string # %b is replaced by the BSSID (MAC) of the network # %s is replaced by the SSID (name) of the network # %c is replaced by the CHANNEL of the network # %r is replaced by the MAX RATE of the network speech_encrypted=New network detected, s.s.i.d. %s, channel %c, network encrypted. speech_unencrypted=New network detected, s.s.i.d. %s, channel %c, network open.
Canvieu:
- speech=false per speech=true
Instal·leu el sintetitzador de veu:
$ sudo apt-get install festival
Podeu canviar el text amb:
speech_encrypted=New network detected, s.s.i.d. %s, channel %c, network encrypted. speech_unencrypted=New network detected, s.s.i.d. %s, channel %c, network open.
Configuració del gps
Fitxer /etc/kismet/kismet.conf:
# Do we have a GPS? gps=false # Host:port that GPSD is running on. This can be localhost OR remote! gpshost=localhost:2947 # Do we lock the mode? This overrides coordinates of lock "0", which will # generate some bad information until you get a GPS lock, but it will # fix problems with GPS units with broken NMEA that report lock 0 gpsmodelock=false
Opció f: follow network centers a la pàgina principal.
Configuració dels fabricants de targetes (segons MAC)
Fitxer /etc/kismet/kismet.conf:
# Where do we get our manufacturer fingerprints from? Assumed to be in the # default config directory if an absolute path is not given. ap_manuf=ap_manuf client_manuf=client_manuf
Configuració del sistema mètric
Fitxer /etc/kismet/kismet.conf:
# Use metric measurements in the output? metric=true
Execució
Cal executar kismet amb permisos de superusuari:
$ sudo kismet
Un cop executat, obriu una nova terminal i executeu:
$ iwconfig
...
eth1 IEEE 802.11g Nickname:""
Mode:Monitor Frequency:2.452 GHz Tx-Power=27 dBm
Retry min limit:7 RTS thr:off Fragment thr=2346 B
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Veureu que la targeta de xarxa a canviat a mode monitor. Executeu:
$ ifconfig eth1
eth1 Link encap:UNSPEC HWaddr 00-1F-3C-52-79-C0-00-00-00-00-00-00-00-00-00-00
UP BROADCAST PROMISC MULTICAST MTU:1500 Metric:1
RX packets:12039 errors:0 dropped:0 overruns:0 frame:0
TX packets:52 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1531957 (1.4 MB) TX bytes:9964 (9.7 KB)
Com veieu, kismet canvia la MAC, d'aquesta manera es fa més difícil localitzar la màquina que està treballant en mode monitor.
Manual d'ús
Kismet funciona per tecles. En qualsevol moment podeu utilitzar la tecla h que us proporciona l'ajuda.
Per sortir de l'ajuda premeu q.
La pantalla principal, mostra la llista de xarxes trobades. Qüestions que heu de tenir en compte:
- 1a columna: Mostra si hi ha activitat recent.
- 2a columna: nom de la xarxa.
- 3a columna: Tipus de xarxa
- P (Probe request): sense connexió associada encara
- A (Access point): xarxa sense fils estàndard (mode infraestructura)
- H (Ad-hoc): xarxa P2P (adhoc)
- T(Turbocell): Turbocell (aka Karlnet or Lucent Outdoor)
- G (Group): grup de xarxes sense fils
- 'D (Data': Xarxa amb només dades (sense packets de control)
- 4a columna: Tipus de xifratge:
- N: sense xifratge
- Y: Estàndard WEP
- O: Altres (per exemple WAP)
- 5a columna: Canal de radiofreqüència utilitzat.
- 6a columna: Nombre de paquets capturats.
- 7a columna (Flags):
- F Factory configuration: Punt d'accés configurat amb les opcions per defecte
- Tx on x és un número. S'han trobat adreçes IP per TCP
- Ux on x és un número. S'han trobat adreçes IP per UDP
- Ax on x és un número. S'han trobat adreçes IP per ARP
- D on x és un número. S'han trobat adreçes IP per DHCP
- W: xarxa desencriptada utilitzant una clau WEP proporciona per l'usuari de kismet.
- 8a columna (Rang IP): Ranf d'adreces IP detectat
- 9a columna (Flags): Mida total dels paquets recollits.
Codi de colors
- Verd: Xarxa xifrada
- Groc: Xarxa no xifrada
Podeu consultar les estadístiques d'una xarxa amb la tecla a:
Podeu mostrar una gràfica del nombre de paquets per unitat de temps amb la tecla r.
O mostrar els tipus de paquets amb la tecla p.
El mode per defecte en que s'ordenen les xarxes és l'autofit. Aquest mode, no permet fer gaires coses. Per canviar el mode premeu s
Ara podeu ordenar per exemple per ordre alfabètic de nom de xarxa (SSID) prement la tecla s. Ara ja podeu moureus per les diferents xarxes utilitzant les fletxes del teclat.
Seleccioneu una xarxa i premeu c. Aquesta tecla mostra una llista dels clients d'aquesta xarxa:
L'ajuda depèn de on esteu. Si ara premeu h. Consultareu l'ajuda del menú clients:
La columna més important, és la T que mostra el tipus de client:
- F (from DS): són clients que utilitzen la xarxa wireless per enviar paquets de broadcast. Normalment es tracta de les màquines amb fil (wired)
- T (to DS): són clients que envien paquets al DS. Normalment nodes sense fils.
- I (intra DS): un node que forma part del sistema de distribució. Normalment el punt o punts d'accés de la xarxa.
- S (send to): s'ha enviat dades a aquest client però no ha contestat
- E (Establisher): El client ha esta vist entrant al punt d'accés.
Un cop estem mostrant els clients dins d'una xarxa, podem canviar de xarxes (amunt i avall) amb les tecles n i p.
Escolliu un client, i mostreu la informació en detall prement i:
Podeu tornar enrere amb q.
DS vol dir, distribution system (normalment el punt d'accés en una xarxa amb infraestructura).
Finalment per sortir de Kismet cal prémer Q (majúscules/capital).
Posar noms a xarxes
A la pantalla principal, ordeneu per qualsevol mode que no sigui l'autofit (p.ex. premeu s dos cops) i situe-vos sobre una xara amb les fletxes del teclat. Un op a sobre la xarxa a la que li voleu donar un nom premeu m i doneu-li un nom.
Termes i conceptes
- WAP: Wireless Acces Point
- DS: Distribution System
Kismet com a eines de defensa (detectar sniffers sense fils)
Kismet té un sistema d'alertes que avisa quan detecta comportaments inusuals en una xarxa. Les alertes poden ser sonores si tenim activat el so (sona una sirena de bateries antiaèries).
En qualsevol moment podeu consultar les alertes amb l tecla w (warnings).
# Alerts to be reported and the throttling rates. # alert=name,throttle/unit,burst/unit # The throttle/unit describes the number of alerts of this type that are # sent per time unit. Valid time units are second, minute, hour, and day. # Burst rates control the number of packets sent at a time # For example: # alert=FOO,10/min,5/sec # Would allow 5 alerts per second, and 10 alerts total per minute. # A throttle rate of 0 disables throttling of the alert. # See the README for a list of alert types. alert=NETSTUMBLER,10/min,1/sec alert=WELLENREITER,10/min,1/sec alert=LUCENTTEST,10/min,1/sec alert=DEAUTHFLOOD,10/min,2/sec alert=BCASTDISCON,10/min,2/sec alert=CHANCHANGE,5/min,1/sec alert=AIRJACKSSID,5/min,1/sec alert=PROBENOJOIN,10/min,1/sec alert=DISASSOCTRAFFIC,10/min,1/sec alert=NULLPROBERESP,10/min,1/sec alert=BSSTIMESTAMP,10/min,1/sec alert=MSFBCOMSSID,10/min,1/sec alert=LONGSSID,10/min,1/sec alert=MSFDLINKRATE,10/min,1/sec alert=MSFNETGEARBEACON,10/min,1/sec alert=DISCONCODEINVALID,10/min,1/sec alert=DEAUTHCODEINVALID,10/min,1/sec
# Do we track IVs? this can help identify some attacks, but takes a LOT # of memory to do so on a busy network. If you have the RAM, by all # means turn it on. trackivs=false
Fitxers de log
Els fitxers de les sessions de kismet es guarden a:
/var/log/kismet
Les sessions de kismet es guarden en aquesta carpeta. Automàticament es registre la data (dia), i en cas de fer més d'una sessió en un dia s'enumeren correlativament.
Per exemple la primera sessió del dia 25 d'octubre de 2008:
$ ls -la Kismet-Oct-25-2008-1* -rw-r--r-- 1 root root 0 2008-10-25 20:31 Kismet-Oct-25-2008-1.cisco -rw-r--r-- 1 root root 893 2008-10-25 20:31 Kismet-Oct-25-2008-1.csv -rw-r--r-- 1 root root 17418 2008-10-25 20:31 Kismet-Oct-25-2008-1.dump -rw-r--r-- 1 root root 1086 2008-10-25 20:31 Kismet-Oct-25-2008-1.network -rw-r--r-- 1 root root 2187 2008-10-25 20:31 Kismet-Oct-25-2008-1.xml
Com podeu veure hi ha diferents formats
- network: Format de text
- cvs: format compatible (es pot obrir directament) amb eines de full de càlcul com openoffice Calc.
- XML: Les mateixes dades en XML.
Kismet Google Maps
Recursos:
Kismet i spectools
TroubleShooting. Resolució de problemes
Matar kismet si es penja
$ ps aux | grep kismet root 11221 0.0 0.0 2960 864 pts/0 S+ 09:28 0:00 kismet root 11222 0.1 0.0 0 0 pts/0 Z+ 09:28 0:03 [kismet_server] <defunct> sergi 16530 0.0 0.0 3012 764 pts/1 R+ 10:15 0:00 grep kismet $ sudo killall kismet $ ps aux | grep kismet root 11221 0.0 0.0 2960 864 pts/0 S+ 09:28 0:00 kismet root 11222 0.1 0.0 0 0 pts/0 Z+ 09:28 0:03 [kismet_server] <defunct> sergi 16725 0.0 0.0 3012 784 pts/1 R+ 10:15 0:00 grep kismet $ sudo kill -9 11221 11222 $ ps aux | grep kismet sergi 16737 0.0 0.0 3012 764 pts/1 R+ 10:15 0:00 grep kismet









