IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Packet Sniffers

Programari o sistema de maquinari que pot interceptar i enregistrar el tràfic que circula per un segment de xarxa

També coneguts com a Analitzadors de Xarxa o Analitzadors de protocols

Tipus de xarxes:

  • Ehternet sniffers
  • Wireless sniffers

Utilització

Es un tipus d'eina que te doble fil, tant per fer mal com per administrar

Utilitats per administrador

  • Monitoritzar l'ús de la xarxa i/o realitzar estadístiques
  • Analitzar problemes de xarxa
  • Detectar intrusions a la xarxa
  • Enginyeria inversa de protocols
  • Depurar aplicacions client/servidor o implementacions de protocols
  • Depurar problemes de connectivitat

Mala utilització

  • Espiar la xarxa i obtenir informació sensible (contrasenyes, documents secrets, etc.)

Mode promiscu

Es lo primer que activa un sniffer ja que es el mode en que un node (ordinador, dispositiu de comunicacions, etc.) esta connectat a una xarxa compartida captura tot el tràfic que circula pel node amb independència de si el tràfic és per al node o no.

IMPORTANT

  • Un switch té una tipologia física estrella
  • La tipologia bus s'utilitza a les connexions wifi
  • El switch(commutador) impedeix que es pugui snifar paquets

Comanda

$ sudo ifconfig eth6 promisc

Execució

$ ifconfig eth6
eth6      Link encap:Ethernet  direcciónHW 44:87:fc:95:ba:70  
          Direc. inet:192.168.202.114  Difus.:192.168.202.255  Másc:255.255.255.0
          Dirección inet6: fe80::4687:fcff:fe95:ba70/64 Alcance:Enlace
          ACTIVO DIFUSIÓN FUNCIONANDO PROMISCUO MULTICAST  MTU:1500  Métrica:1
          Paquetes RX:18446 errores:0 perdidos:0 overruns:0 frame:0
          Paquetes TX:9936 errores:0 perdidos:0 overruns:0 carrier:0
          colisiones:0 long.colaTX:1000 
          Bytes RX:8116572 (8.1 MB)  TX bytes:1970858 (1.9 MB)
          Interrupción:42 Dirección base: 0x8000

Ethernet

Nivell 1 TCP/IP (Nivell físic 1 i d'enllaç 2 a OSI)

  • familia d'estàndards IEEE 802:
  • 802: Capa LLC(Logical Link Control).Interfície comuna entre el nivell de xarxa i la família de protocols.
  • La resta de protocols defineixen el ni vell físic i el subnivell MAC
  • 802.3 Ethernet
  • 802.4 Token Ring
  • 802.11 WIFI
  • 802.15 Bluetooth

Nivell LLC (Logical Link control)

Compartit per tots els protocols de la família

  • Lògica de reenviaments
  • Control de flux
  • Comprovació d'errors

Nivell MAc

Control d'accés a medi compartits (cables en bus, ràdio, etc.)

  • No utilitzat en protocols punt a punt (no hi ha medi compartit)
  • Adreça MAC: sistema adreçament de nivell 2 equivalent a les adreces IP al nivell
  • Segments de xarxa
  • És una porció de xarxa separada de la resta per un dispositiu de xarxa com:
  • Repetidor
  • Bridge o Switch
  • Router
  • Domini de col·lisió
  • És un segment lògic de xarxa on els paquets poden col·lisionar al ser enviats a un medi compartit.
  • Trama Ethernet
  • Origen:Adreça MAC origen de la trama
  • Destí: Adreça MAC destinació de la trama
  • Tipus: EtherType. Tipus d'Ethernet.
  • Dades:
  • CRC Checksum: Control d'Errors

Dispositius de xarxa

Les LANs connectades a switchs o HUBS tenen una topologia física d'estrella.

  • Topologia lògica:
  • HUB (Concentrador): de topologia lògica. Mateix segment de xarxa (bus compartit). Treballa a nivell físic (mecànic). Dispositiu “tonto"
  • Switch (Commutador): de topologia lògica. S'utilitza una base de dades per recordar les MACs (IPs) de cada port i es connecta de forma directa als ports d'origen i estinació d'una comunicació. Treballa a nivell d'enllaç (taula de MACS). Dispositiu intel·ligent.
  • Network Taps Són dispositius de maquinari que permeten accedir a les dades que circulen per un cable de xarxa

TCPDUMP

  • Eina de línia de comandes que permet visualitzar el tràfic de xarxa (Packet Sniffer)
  • Hi ha un “port” per a Windows (WinDump) basat en Wincap (port de libcap)
  • Cal ser superusuari (root) per utilitzar tcpdump (sudo). Activa automàticament el mode promiscu.
$ sudo tcpdump -i eth0

NOTA: Per utilitzar el tcpdump és obligatori utilitzar el sudo

  • Per filtrar els paquet icmp:
$ sudo tcpdump -i eth0 icmp
  • Per saber la IP
$ sudo tcpdump -ni eth0 icmp


Protocols

ARP

Definició: És un protocol a cavall entre el nivell de xarxa i el nivell d'enllaç (MAC)

Permet resoldre adreces MAC a partir d'adreces IP

S'utilitza en xarxes LAN (nivell 2) per poder treballar amb adreces IP (nivell 3)


[email protected]:~$ ping 192.168.202.102
PING 192.168.202.102 (192.168.202.102) 56(84) bytes of data.
64 bytes from 192.168.202.102: icmp_req=1 ttl=64 time=2.88 ms
64 bytes from 192.168.202.102: icmp_req=2 ttl=64 time=0.082 ms
64 bytes from 192.168.202.102: icmp_req=3 ttl=64 time=0.080 ms
64 bytes from 192.168.202.102: icmp_req=4 ttl=64 time=0.073 ms
^C
--- 192.168.202.102 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.073/0.781/2.889/1.217 ms
[email protected]:~$ ^C
[email protected]:~$ 
  • 64 bytes es lo que pesa el paquet
  • From 192.168.202.102 s'envia a aquesta ip
  • icmp_req=1 protocol de control i notificació
  • ttl=64 Temps de vida del paquet

Per saber tota la informació de la xarxa

$ sudo apt-get install ipcalc

Exemple:

$ ipcalc 192.168.202.113/24

En principi totes les maquines no contesten quan es fa un ping a la xarxa, per acceptar-ho Es per contestar els pins que es fan a la xarxa

$ sudo bash -c "echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts"

Per saber les MAC's de la xarxa es fa amb la comanda

$ arp -n

ARP Spoofing

Enviant missatges AR falsos (fake frames).

S'envia un arp-reply fals associant la MAC de l'atacat a la IP de l'atacant. Els paquets s'envien a l'atacant en comptes de l'atacat.

L'atacant pot escollir entre ser passiu (un cop llegides les trames les reenvia a l'atacat) o actiu (injectar o modificar dades abans de reenviar – Man in the Middle)

Defenses

  • Utilitzar un sistema de taules ARP estàtiques. Difícil de mantenir en xarxes grans.
  • DHCP Snooping: Amb DHCP, el dispositiu de xarxa manté una llista de les adreces MC connectades a

cada port (switchs gestionats o d'alta gama).

  • arpwatch: Programa que permet detectar quan hi ha

arp-reply falsos i envia una notificació per correu electrònic.

  • RARP: ARP invers.
  • Port Security en commutadors de gama alta

Ettercap

És un packet sniffer per a switched LANs

Atacs Man In The Middle

Un cop actiu ens mostra una llista de màquines i connexions establertes i el seu estat

Té plugins que faciliten la tasca de “recol·lectar” contrasenyes

arp-replys

Primer cal assignar-se una IP

I ara fem l'atac

$ sudo arping -c 4 -A -I eth6 192.168.202.105

On:

  • -q: sortida silenciosa
  • -c: número de peticions enviades
  • -A (o -U): arping envia peticions arp-request per defecte. Amb aquesta opció envia peticions ARP-REPLY.
  • -I device: Permet indicar la interfície de xarxa.

Resultat:

Arping dlrh.png

IP amb la mateixa targeta de xarxa

$ sudo ifconfig ethX:nom IP

Per modificar la targeta que hem creat és

$ sudo ifconfig ethX:nom down

Entrada estàtica en ARP

Per afegir entrades estàtiques a la taula ARP amb la comanda

$ sudo arp -s IP MAC

Per eliminar la entrada a la taula ARP amb la següent comanda

$ sudo arp -d IP

Exemple

Exemple arp add dlrh.png

Automatisme

$ arp -s $(route -n | awk '/^0.0.0.0/ {print $2}') $(arp -n | grep `route -n | awk '/^0.0.0.0/ {print $2}'`| awk '{print $3}')

SSH i Man in The Middle

Quan ens connectem per primera vegada per ssh amb un host, es genera un key, una "huella" d'identificació"

Però el client a eliminat i a tornat a instal·lar el servidor ssh i les key canvien, i quant es torna a connectar dona el següent missatge:

[email protected]:~$ ssh [email protected]
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
74:96:60:75:ef:4a:2a:1c:6a:21:f2:ea:4c:c6:67:12.
Please contact your system administrator.
Add correct host key in /home/danny/.ssh/known_hosts to get rid of this message.
Offending key in /home/danny/.ssh/known_hosts:8
RSA host key for 192.168.202.113 has changed and you have requested strict checking.
Host key verification failed.

Amb el comandament següent es solucionara l'error

$ sed -i '9d' ~/.ssh/known_hosts
$ ssh-keygen -R 192.168.202.113

SSH

Definició:Secure Shell o SSH és un conjunt d'estàndards i un protocol de xarxa que permet establir un canal segur entre una màquina local i una màquina remota.

Característiques:

  • Protocol del nivell d'aplicació.
  • Dos versions del protocol: SSH 1 i SSH 2. SSH 1 es considera obsoleta perquè utilitza mecanismes que actualment ja no són prou segurs
  • La versió 2 proveïx de mecanismes addicionals de seguretat (xifratge AES, 3DES, Blowfish, CAST128 or Arcfour, etc.)
  • Els suport per a la versió 2 amb programari lliure està disponible des de 1999 quan OpenBSD va crear OpenSSH per competir amb Secure Shell.


Arquitectura SSH (RFC 4251). Capes:

Utilitats

  • Per administrar màquines remotes de forma segura, a través d'una terminal o consola.
  • Com a base per altres protocols segurs:
  • SFTP: Alternativa segura de FTP.
  • SCP: Alternativa segura a la còpia de fitxers remots amb rcp.
  • RSYNC: Eina de còpies de seguretat remotes i gestió de mirrors.
  • Per crear túnels segurs per connexions TCP/IP. Alternativa a VPN.
  • Execució de comandes remotes (suport SSH exec).
  • Navegar per Internet de forma segura amb SOCKS o proxies.

OpenSSH

Definició:OpenSSH (Open Secure Shell) és un conjunt d'aplicacions de programari lliure que proveïxen de suport per sessions de comunicacions encriptades basades en el protocol SSH.
Alternativa lliure del programari propietari Secure Shell.

Programes openssh

  • ssh: reemplaçament dels protocols anàlegs no segurs rlogin i telnet.
  • scp: reemplaçament de la comanda anàloga no segura rcp.
  • sftp: reemplaçament segur del protocol ftp.
  • sshd: servidor/dimoni SSH.
  • ssh-keygen: una eina per generar parells de clau públiques/privades de tipus RSA o DSA. Utilitzades per l'autenticació d'usuaris i de hosts.
  • ssh-keyscan: escaneja un servidor SSH per tal d'obtenir la seva clau.
  • ssh-agent: petit dimoni que permet gestionar les còpies de claus públiques i utilitzar-les per tal d'evitar l'ús de contrasenyes en els reptes d'autenticació.
  • ssh-add: comanda que afegeix claus al gestor de claus ssh-agent.
  • slogin: login segur.