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

És un 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:

  • Ethernet sniffers
  • Wireless sniffers

Durant la captura de paquets, ofereixen eines per descodificar i analitzar els protocols i especificacions més comuns.

Utilitats per administrar:

  • 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

Altres utilitats menys ètiques:

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


Mode promiscu

És el mode en que un node (ordinador, dispositiu de comunicacions, etc.) 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.

  • El funcionament del mode promiscu depèn molt de la tipologia (anell, bus...) i del tipus de xarxa (cablejada, sense fils...), del tipus de transmissió (unicast, broadcast) i dels dispositius de xarxa utilitzats (HUB, Switch...).
  • No tots els dispositius de xarxa (targetes) ens permeten utilitzar el mode promiscu.

Hi han dos fromes de tipologia: la física i la lògica.

Switch: tipologia física i lògica de estrella.

Per saber si som promiscus utilitzem la comanda ifconfig i per activar-ho ho fem amb el paràmetre promisc. Per exemple:

$ sudo ifconfig eth5 promisc

Ens apareixerà això (en negreta):

eth5      Link encap:Ethernet  HWaddr 44:87:fc:95:b9:8a  
          inet addr:192.168.202.113  Bcast:192.168.202.255  Mask:255.255.255.0
          inet6 addr: fe80::4687:fcff:fe95:b98a/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:14592 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6383 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7093327 (7.0 MB)  TX bytes:2584231 (2.5 MB)
          Interrupt:26 Base address:0xe000 


Una altra comanda:

$ ip link show


Ethernet

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

Família d'estàndards IEEE 802:

Andrescorazonethernetnivellfsubn.png
  • 802.2: 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 nivell físic i el subnivell MAC.
  • 802.3 Ethernet
  • 802.4 Token Ring
  • 802.11 Wi-FI
  • 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 (Medium Acces Control).

  • 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 3


Nivell MAC

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.

Algorismes MAC

  • Aloha i Aloha Ranurat (desenvolupats per la Universitat de Hawai). S'envia un paquet i si hi ha col·lisió es torna a enviar.
  • CSMA/CD (Carrier sense multiple access with collision detection). Detecta si hi ha senyals utilitzant el medi i té un procediment en cas de col·lisió.
  • Antics sistemes Ethernet funcionaven amb coaxials en bus físic i lògic.
  • Actualment el problema de les col·lisions està més limitat gràcies als commutadors (switchs).
  • Torna a ser un tema candent en xarxes wireless (l'aire és un medi compartit).

Trama Ethernet

Andrescorazonethernettrama.png

  • 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


Switched LAN. Hubs i Switchs

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

Topologia lògica:

  • HUB (Concentrador): mateix segment de xarxa (bus compartit). Treballa a nivell físic (mecànic). Dispositiu “tonto”.
  • Switch (Commutador): 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 destinació d'una comunicació. Treballa a nivell d'enllaç (taula de MACS). Dispositiu intel·ligent.
  • LAN Commutada. Cada PC té el seu propi segment de xarxa no compartit.
  • Els commutadors són més segurs.


Network Taps

Són dispositius de maquinari que permeten accedir a les dades que circulen per un cable de xarxa. També anomenat Test Acess Port o Test Access Point.

  • Útils per depurar errors.
  • Hi ha sistemes més escalables per controlar la xarxa.


tcpdump

Eina de línia de comandes que permet visualitzar el tràfic de xarxa (Packet Sniffer).

Cal ser superusuari (root) per utilitzar tcpdump (sudo). Activa automàticament el mode promiscu.

Com gairebé el 100% d'analitzadors de xarxa utilitza la llibreria libcap.

Ho podem instal·lar amb la comanda:

$ sudo apt-get install tcpdump

Captura ping d'un company (utilitzant la comanda tcpdump):

$ sudo tcpdump -ni eth5 icmp

Andrescorazontcpdumpcapping.png

Amb el paràmetre -i especifiquem la targeta que volem veure i amb el paràmetre -n l'utilitzem per a veure les IP's.

Utilitats:

  • Per depurar aplicacions que utilitzen la xarxa per comunicar-se. Per exemple es pot utilitzar per comprovar el funcionament d'un tallafocs.
  • Per depurar la xarxa mateixa.
  • Per comprovar quan la NIC està transmetent o reben dades.
  • Per capturar i llegir dades enviades per altres usuaris o ordinadors. Un usuari que té el control d'un encaminador pel qual circula tràfic pot obtenir la informació que no viatgi xifrada.

Ethereal (WireShark)

Característiques:

  • Ethereal és un analitzador de protocols utilitzat per analitzar i solucionar problemes de xarxes de comunicacions.
  • És similar a tcpdump però amb una interfície gràfica i moltes opcions extres d'organització i filtratge de la informació.
  • Com tcpdump és un codi obert està disponible per gairebé totes les plataformes (UNIX/LINUX, MAC OS i Windows).

Utilitats:

  • Anàlisi i solució de problemes en xarxes de comunicacions.
  • Desenvolupament de software i protocols.
  • Eina didàctica per a l'educació que permet visualitzar el comportament de diferents protocols i veure els paquets i trames concrets que s'utilitzen.
  • Altres usos menys didàctics (Sniffer, capturar contrasenyes...).

Podem instal·lar-lo amb la comanda:

$ sudo apt-get install wireshark

Exercici de captura de password

Utilitzarem el WireShark amb entorn gràfic per capturar la contrasenya introduïda per nosaltres mateixos a una pàgina web.

Executem el WireShark amb la següent comanda:

$ gksu wireshark

Cliquem a Capture i després a Interfaces... i seleccionem la targeta de xarxa que volem. Despŕes hem de buscar la contrasenya en concret tal com apareix a la següent captura:

Andrescorazonwiresharkcontrasenya.png

Protocol ARP

ARP és un protocol a cavall entre el nivell de xarxa i el nivell d'enllaç (MAC). El ARP forma part de Ethernet.

  • Permet resoldre adreces MAC a partir d'adreces IP.
  • S'utilitza en xarxes LAN (nivell 2) per poder treballar amb adreces IP (nivell 3).

ttl: time to live

Aquesta comanda dona tota la informació d'una xarxa:

$ ipcalc

Per a fer pings a broadcast (sempre és l'úlitma IP de la xarxa) amb la comanda ping amb el paràmetre -b, per exemple:

$ ping -b 192.168.202.255

Per a contestar pings del broadcast:

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

Per a veure totes les MAC:

$ sudo nmap 192.168.202.1-255
$ arp -n

NOTA: Portar CD: backtrack


Exercici ARP

$ sudo tcpdump -ni eth5 arp and host 192.168.202.114

Andrescorazontcpdumparp.png

ARP Spoofing

És un atac empleat en xarxes Ethernet que permet a un atacant interceptar trames d'una xarxa LAN.

L'atacant pot fer tres tipus d'atac:

  • Atac passiu: Les trames interceptades no són modificades i s'envien als corresponents receptors.
  • Atac actiu: Pot modificar les trames injectant dades.
  • Aturar el tràfic: Atac de denegació de servei.

És necessari executar l'atac des d'una màquina de dins la xarxa Ethernet i les màquines que es poden atacar (2 mínim) han de pertànyer al mateix segment de xarxa.

Funcionament:

  • 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 a 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).
Andrescorazonarpspoofing.png
  • DoS atack (Deny of Service): S'assigna una IP no existent a la MAC de l'atacat o al seu gateway per defecte.


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.

El podem instal·lar amb la comanda:

$ sudo apt-get install arpwatch

Hem de configurar-lo:

$ sudo geany /etc/arpwatch.conf


RARP (Reverse Address Resolution Protocol): ARP invers. Buscar MAC i trobar IP (similar al DHCP). Protocol anterior al DHCP al igual que l'obsolet BOOTP (Bootstrap Protocol).

Port Security en commutadors de gama alta.

arping

Arping és una comanda molt similar a ping però que utilitza el protocol ARP en comptes del ICMP. Com a conseqüència aquesta comanda només es pot utilitzar entre màquines de la mateixa xarxa local. Igual que ping envia un paquet ARP REQUEST.

Podem instal·lar-lo executant la comanda:

$ sudo apt-get install iputils-arping

Provocar arp-replys

$ sudo arping -c 100 -A -I eth2 192.168.202.113
$ sudo tcpdump -n -e -i eth2 arp and host 192.168.202.113


$ sudo ifconfig eth2:prova ip

(Captures)


Afegir una entrada estàtica a la taula ARP

Es poden afegir entrades estàtiques amb:

$ sudo arp -s IP MAC

Exemple:

$ sudo arp -s 192.168.202.1 00:16:3e:00:ab:01

Afegir automàticament:

$ sudo 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}')

Script per crear 254 IP's virtuals en xarxa

Creem el fitxer amb qualsevol editor de text amb el següent contingut:

$ sudo geany provabash.sh
#!/bin/bash
for (( c=1; c<=254; c++ ));
 do
  ifconfig eth2:$c 192.168.202.$c netmask 255.255.255.0 up;
 done

Per a eliminar:

#!/bin/bash
for (( c=1; c<=254; c++ ));
 do
  ifconfig eth2:$c 192.168.202.$c netmask 255.255.255.0 down;
 done

L'executem amb la comanda:

$ sudo bash prova bash.sh

Ettercap

Ettercap és un packet sniffer per a switched LANs.

Utilitza dos modes de treball:

  • Unified sniff (per defecte): Captura tots els paquets que passen per una targeta de xarxa. Reenvia els paquets a l'atacat amb ip_forwarding de nivell 3 (router)
  • Bridged sniff: Dues targetes de xarxa. Converteix la màquina en un bridge (nivell 1). Més difícil de detectar.

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.

“Even if blessed with a feeble intelligence, they are cruel and smart..."

És la descripció d'un Ettercap, un monstre del joc de rol Advanced Dungeons & Dragons. Es va escollir per la seva similitud amb la paraula "ethercap" (ethernet capture) i per què el monstre té un poderós verí (ARP Poisoning).

Funcions i característiques:

  • Suporta diferents protocols (inclòs protocols xifrats com SSH1 o HTTPS/SSL) de forma activa i passiva.
  • Permet injectar dades (p. ex. una comanda) en una connexió establerta i filtrar en temps real en mode MiTM (Man in The Middle Attack).


Man in the middle attacks (Mitm)

És un atac que permet a un atacant llegir, modificar o inserir missatges a la comunicació entre dues entitats sense que aquestes en siguin conscients.

  • L'atacant pot observar i/o modificar les dades de la comunicació.
  • eavesdropping: observar el tràfic (captura de contrasenyes).
  • substitution attack:l'atacant pot sostreure la identitat.
  • denial-of-service (DOS) attack:impedir les comunicacions.
  • phishing attacks: obligar a l'atacant a aportar dades personals (comptes bancaris, números secrets).
  • Especialment útil en sistemes de clau pública.

SSH i Man in The Middle

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
f2:92:1d:da:81:2a:d7:16:0a:48:f0:43:20:1c:f4:b5.
Please contact your system administrator.
Add correct host key in ~/.ssh/known_hosts to get rid of this message.
Offending key in ~/.ssh/known_hosts:5
Password authentication is disabled to avoid man-in-the-middle attacks.
X11 forwarding is disabled to avoid man-in-the-middle attacks.
Permission denied (publickey,password,keyboard-interactive).

Solució problema:

$ sed -i '5d' ~/.ssh/known_hosts
$ ssh-keygen -R 10.0.2.2


SSH

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 es considera obsoleta perquè utilitza mecanismes que actualment ja no són prou segurs.
  • La versió 2 proveïx de mecanismes addicionals de seguretat (encriptació 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, securització de X11, etc.
  • Execució de comandes remotes (suport SSH exec).
  • Navegar per Internet de forma segura amb SOCKS o proxies.

OpenSSH

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.

Podem veure'ls amb la següent comanda:

$ dpkg -L openssh-client | grep bin

Resultat:

/usr/bin
/usr/bin/ssh
/usr/bin/scp
/usr/bin/ssh-add
/usr/bin/ssh-agent
/usr/bin/ssh-keygen
/usr/bin/ssh-keyscan
/usr/bin/sftp
/usr/bin/ssh-vulnkey
/usr/bin/ssh-copy-id
/usr/bin/ssh-argv0
/usr/bin/slogin

Instal·lació

Ports i seguretat

Exercici BackTrack Ettercap

Executem l'ettercap com a root:

# ettercap -G

Anem al menú Sniff i seleccionem Unified Sniffing per escollir el tipus d'escolta que volem fer:

Detectem les màquines de la xarxa anant al menú Hosts i seleccionant Scan for Hosts:

Anem al menú Hosts i seleccionem l'opció Hosts List per a escollir de la llista a les nostres víctimes:

Les afegim com a víctimes amb els botons Add To Target 1 i Add To Target 2:

Comencem l'escolta anant al menú Start i seleccionant l'opció Start Sniffing:

Iniciem un atac Man in The Middle (Mitm) escollint al menú Mitm l'opció ARP Poisoning i seleccionem el paràmetre Sniff Remote Connections:

Al menú View triant l'opció Connections podem visualitzar les connexions "prestades":

El company executa la comanda telnet i posa usuari i contrasenya. A la zona de missatges de la part inferior del ettercap veurem en text clar la contrasenya.

També podem monitoritzar tota la sessió telnet al menú View triant l'opció Connection Data fent doble clic sobre la connexió:

Vegeu també

Enllaços externs

Web Oficial BackTrack Linux