Tema 4: Ocultación y Privacidad PDF
Document Details
Uploaded by InstrumentalSelenium
Tags
Summary
Este documento resume conceptos sobre ocultación y privacidad en redes informáticas, incluyendo temas como NAT, proxies y seguridad informática. Explica diferentes tipos de proxies y sus usos, así como conceptos relacionados con el tema de seguridad informática.
Full Transcript
Umask 022 a 027 cada vez que un usuario crea un fichero le da permisos rwxr- xr-x (025) cambiar a rwxr-x--- (027). /etc/shells están los diferentes shells en la maquina. TMOUT = 120 cualquier usuario que abra una sesión iterativa con la maquina...
Umask 022 a 027 cada vez que un usuario crea un fichero le da permisos rwxr- xr-x (025) cambiar a rwxr-x--- (027). /etc/shells están los diferentes shells en la maquina. TMOUT = 120 cualquier usuario que abra una sesión iterativa con la maquina la mata en esos segundos. /etc/profile: Configuración por defecto de todos los usuarios que se conecten a mi maquina $HOME/.profile: Igual pero para usuario específico. LVM gestión virtual de discos (particionado y almacenamiento). echo 1>/proc/sys/kernel/modules-disabled desactivar el acceso a módulos. /etc/modprobe.d/blacklist.conf hacer blacklist de módulos que no queremos que cargue el kernel. TEMA 4: Ocultación Y Privacidad Consiste en que sea muy difícil llegar al atacante si se le pilla atacando. NAT Redes de ordenadores que usan IPs privadas se conectan a internet con una IP pública. En líneas generales no da ocultación. El administrador de red sabe nuestra IP. Páginas web pueden conocer nuestra IP de dentro de la NAT mediante scripting. Honey Son equipos trampa, máquinas que ponemos de señuelo para que las ataquen y luego monitorizar/atacar por medio de herramientas al atacante. Proxy Máquina intermedia a la que se le hacen peticiones y te las proporciona. En algunas organizaciones tienes que salir a través de un proxy. Podemos navegar a través de un proxy o conectar varios, cuantos más proxies haya más difícil será el rastreo, aquí sí que obtenemos privacidad. Cabecera proxy: Apuntes LSI 28 REMOTE_ADDR = x.x.x.x → Campo con ip de la máquina original. Puede modificarse para que sea la del último proxy. X_FORWARDED_FOR = ip_maquina + ip_proxy1 + ip_proxy2… → va cantando la ruta por todos los proxys que va pasando Web-based Proxies Sitios web que permiten acceder al contenido de terceros sin configuración en el cliente. El usuario se conecta a la web a través del proxy, no directamente al servidor. Proporciona privacidad y confidencialidad puesto que ocultan la IP del usuario. Diseñado para manejar tráfico web. Proxy SockS (Socket Secure) Para todos los servicios (multiservicio). Trabajan a nivel de transporte. Diseñado para diferentes tráficos de red. Puede funcionar con muchos protocolos, que también incluyen HTTP. Proporcionan anonimato y privacidad en línea. Fichero /etc/socks.conf para configurar un proxy socks en linux: direct 127.0.0.1 255.255.255.255 → el tráfico dirigido a localhost no va a través del proxy. direct 10.11.48.0 255.255.254.0 → este tráfico tampoco va a través del proxy. sockd @=x.x.x.x 0.0.0.0 0.0.0.0 → el resto de direcciones van por el proxy, @ donde estará escuchando en proxy Proxy HTTP/HTTPS Para navegación. Solo funcionan con consultas http. Trabajan a nivel de aplicación. Proxy transparente No sirven para ocultación, no dan anonimato. Hacen uso de X_FORWARDED_FOR. Proxy Anónimo Dan anonimato. No usan X_FORWARDED_FOR. REMOTE_ADDR: La dirección IP visible para el servidor de destino será la del propio proxy, no la del cliente original. Apuntes LSI 29 X_FORWARDED_FOR: En un proxy anónimo, esta cabecera podría estar ausente o contener información falsa, y en algunos casos, podría incluir simplemente la dirección IP del propio proxy, sin revelar la dirección IP original del cliente. Proxy alto anonimato Quitan mas cabeceras que pueden ayudar a rastrear. No revelan la ip original del usuario ni mediante el uso de X_FORWARDED_FOR ni de ninguna otra manera. Proxy Ruidoso Hacen uso de X_FORWARDED_FOR pero metiendo ruido para falsificar y que sea mas difícil identificar al usuario. Usar un proxy en linux Meter las siguientes lineas en /etc/profiles export http-proxy = http://x.x.x.x:3128 → software que hace de proxy HTTP → SQUID export https= https://... export ftp-proxy = ftp://...:3128 x.x.x.x es la dirección del proxy y 3128 es el puerto donde estará escuchando el servicio http, ftp en el proxy. El puerto varía dependiendo de la configuración del proxy. 3128 es un puerto común del proxy de código abierto Squid. Crackeo de WPA WPA (Wi-Fi Protected Access) → Protocolo de seguridad que protege acceso a puntos de acceso y cifrado en redes wifi. Uso del algoritmo TKIP (Temporal Key Integrity Protocol) y el algoritmo de cifrado RC4 WPA2 → Usa el protocolo de cifrado AES. Aircrack Herramienta para crackear wifis que trae una serie de utilidades. airmon-ng permite poner una tarjeta wifi en modo monitor. airdump-ng permite capturar trafico (esnifar). aireplay-ng para deautenticar una máquina. aircrack-ng crackeo de handshake e intento de descifrado de contraseña. Apuntes LSI 30 airbase-ng permite crear puntos de acceso falso. Ejemplo para WPA2: 1. airmon-ng start wlan0 2. airdump-ng mon0 → va a sacar todos los punto de acceso al alcance con la siguiente info: BSSID(MAC) CANAL NOMBRE (ESSID) 3. airdump-ng --CANAL -lossid -w capture mon0 → capture es un fichero donde se guardarán los paquetes capturados. 4. aireplay-ng -0 1 -a -c mon0 → echamos al equipo de la wifi y automáticamente se vuelve a conectar → ya tenemos el handshake. 5. Una vez tenemos el handshake comenzamos el crackeo: airplay-ng -w dicc capture → dicc todo tipo de diccionario con crunch para especificar patrones de crackeo. 4 way Handshake (WPA/WPA2) Apuntes LSI 31 KRACK ATTACK "Key Reinstallation Attacks” vulnerabilidad del protocolo Wi-Fi WPA2. Ataque de reinstalación de claves, engaña al cliente para que re-instale una clave ya usada. Requiere crear un punto de acceso falso MITM. 1. Crea un AP falso (MITM) que se situará entre el STA y PA al que se conectará el cliente. 2. 4 way handshake → bloqueamos el ACK (PA → STA) del 4º mensaje. 3. El cliente se ve obligado a reenviar el mensaje 3. 4. Capturamos el mensaje 3 donde se encuentra la información para la autenticación. 5. Se hace un RST de los números aleatorios, se puede inyectar, descifrar o falsear la paquetería. WPA 3 Cambia el handshake. Usa un algoritmo para autenticación de claves explícitas (ya usado en SSH). Incrementa el tamaño de la clave de cifrado de 128 bits → 192 bits. Renegocia una clave cada cierto tiempo. No funciona la deautenticación. Apuntes LSI 32 Tampoco funciona el Krack Attack. WIFITE Herramienta de crackeo para dummies. WPS WPS (Wi-Fi Protected Setup) fue un protocolo diseñado para facilitar la configuración de dispositivos en una red Wi-Fi mediante la introducción de un PIN de 7 dígitos. Gran cagada → código para enlazarte con 7 dígitos → 10⁷ combinaciones a probar. Sin embargo los programadores decidieron que se comprobasen primero los primeros 4 dígitos y después los otros 3, por lo que las 10 millones de combinaciones se convirtieron en 11000, fácilmente crackeable en 2 horas. Fluxion Creación de puntos de acceso falsos. Saca una página que pide que meta la PSK (clave wifi) y se queda con ella. Hashcat Crackeo de contraseñas hasheadas. Crackeo de Passwords: El ataque tiene como objetivo principalmente, «romper» la contraseña de un usuario. Es decir, consiste en romper cifrados, de forma automatizada, para obtener las credenciales de un usuario. /etc/shadow Contiene todos los usuarios y su password hasheado. Importante lo de separar con “:” Apuntes LSI 33 lsi:$$ SALT$ hash salteado password :... parametros lsi → usuario → función que se utiliza para hashear el password. SALT → caracteres aleatorios en base 64. Se usa para que no exista correspondencia directa entre password y hash, para que un mismo password en distintas máquinas no tenga el mismo hash y dificulte el crackeo. hash salteado password → sha512 ( (password + salt) + salt ) Herramientas: HashCat Cain&Abel John the ripper $ apt install john # Fusión de dos ficheros en 1 para que sea mas facil trabajar $ unshadow /etc/passwd /etc/shadow > fichero # Uso de diccionario y distintas alteraciones (mayus, minus.. $./john --word list=diccionario -rules fichero # -i:all -> ataque por fuerza bruta con alfabeto probando todo $./john --wordlist=diccionario -rules -i:all fichero Apuntes LSI 34 Herramientas para generar y tunear diccionarios: CWL: herramienta para preparar diccionarios mediante spidering. Mutator: Genera nuevos diccionarios mediante mutación de otros. Crunch: genera diccionarios personalizados basados en criterios específicos del usuario. TheHardvester: Saca direcciones de correo electrónico de un dominio. Para obtener Logins de máquinas de muchos usuarios. Herramientas para identificar función hash: hash-identifier hash-id FindMyHash: Busca en una BBDD si un hash ya ha sido roto. Password Guessing Se basa en intentar «adivinar» una contraseña, a partir de la automatización de intentos, haciendo uso de los denominados diccionarios. Es una técnica muy simple y que hoy en día, es prácticamente inútil. Van contra servicios de autenticación. Hay que usar buenos diccionarios para probar contraseñas. OJO. Los ataques pueden quedar registrados en los Logs. Se pueden usar captchas, pero hay herramientas de resolución de captchas. Servicios pueden usar filtros de protección: Bloqueos por IP tras N intentos. Bloqueos por usuario tras N intentos. Hay que mandar los passwords hasta N-1 intentos (N = nº de intentos para bloqueo), para no ser bloqueados. También se puede combinar ir cambiando el user e ir probando para cada uno las N-1 contraseñas. Herramientas Medusa Apuntes LSI 35 medusa -d → muestra todos los módulos para hacer ataques PassGuessing. medusa -M ssh -q → módulos para ssh. medusa -h 10.11.48.49 -u lsi -P p.txt -M ssh -j → abre conexiones contra la ip usando el modulo SSH y usando ese diccionario (p.txt). N-crack Hydra Protección IPtables: Reglas Hash-limit, deja limitar la cantidad de intentos por minuto. Fail2Ban: Detecta y para ataques de PG. OSSEC: Es un HIPS → Host Intrusion Prevention System. Como proteger el GRUB en linux 1. grub-mkpasswd-pbkdf2 → Le metes una contraseña y te devuelve un hash. 2. Modificas /etc/grub.d/40_custom y metes al final del archivo set superuser=root passwd-pbkdf2 root 3. A partir de ahora el GRUB pedirá la contraseña que coincida con el hash. Extras y Curiosidades Ataque Tempest Ataques que se basan en el ruido que genera la máquina. Este tipo de ataque se centra en la radiación electromagnética emitida por dispositivos electrónicos, como computadoras y equipos de comunicación, y busca aprovechar estas emisiones para obtener información confidencial, como claves de cifrado. Curiosidades Soluciones al cambio de compuesto de soldado: REBALLING: Resoldar placas con soldaduras defectuosas. REFLOW: Aplicar calor a la placa para que se arreglaran las soldaduras defectuosas. Apuntes LSI 36 DNS Leaks Fugas de DNS cuando el tráfico de información de dominio podría revelarse a terceros. Nos proporciona consejos para evitar las fugas, como el uso de VPNs y configurar los firewalls para que el tráfico que no vaya por esa VPN sea dropeado. Lightbeam Addon para Firefox, nos permite ver cómo las webs usan nuestra información gráficamente. Borrado de información Es fácil recuperar archivos borrados con herramientas forenses, inclusive hay herramientas que recuperan información de la RAM. El borrado seguro (sobreescrituras en disco) de archivos hace que no sea posible recuperarlos. El Borrado más seguro es la destrucción total del hardware. Borrado seguro Linux srm shred wipe dd if=(/dev/random) of=(/dev/sbd) → sobreescritura de todo el disco sfill: limpia la parte libre del disco. sswap: borrado seguro de la partición de swap del disco. smem: borrado seguro de la RAM. Windows Eraser Con el accounting activado queda registrada toda la información sobre lo que se ha hecho en la máquina, los ficheros de log dejan traceado desde una máquina. Usando el comando history se podría saber el histórico de comandos usados. Redes de Anonimato (Nodos TOR) Apuntes LSI 37 Formada por equipos de personas desinteresadas que ceden un poco de su procesador para formar parte de la red de anonimato. Onion proxy: Intermediario entre la red TOR y mi máquina. Te enrutan hacia los nodos TOR. Solo se conoce el nodo siguiente y el anterior. Mínimo 3 nodos TOR (Onion routers). Los selecciona el onion proxy usando un directorio público que contiene todos los onion routers. La única IP que se ve en destino es la del exit node. Pero la máquina de destino sí puede saber que accedes desde la red TOR y no permitirte el acceso. Los distintos nodos tienen una clave pública y una privada. Cada uno de los nodos TOR descifra la info del paquete con su clave privada y obtiene la info del siguiente nodo. Exit node tiene tu paquetería. Apuntes LSI 38 No es un cifrado extremo a extremo. Si el sitio web que vas a acceder es HTTP no se puede conseguir un cifrado extremo extremo, porque el exit node tiene tu paquetería. Se conseguiría cifrado extremo a extremo si usase HTTPS. Uso de conexiones TLS (Transport Layer Security) securizadas entre nodos: Una conexión TLS es lo que normalmente usamos al establecer una clave HTTPS (o TLS), securizando y cifrando mediante una clave de sesión. Así cada par de máquinas tendrá una conexión TLS donde todo va cifrado. TAIL OS Sistema operativo basado en Linux torificado. Todas sus conexiones van por la red TOR. WHONIX Distribución de sistema operativo basada en Debian que nos permite montar un router virtual con una serie de máquinas virtuales configuradas por ese gateway para que vayan por la red Tor. Whonix utiliza dos máquinas virtuales (VM) para lograr esto: una llamada "Gateway" (puerta de enlace) y otra llamada "Workstation" (estación de trabajo)..onion Pseudodominio de la red TOR para acceder a todo tipo de servicio de la red TOR. Redirige a máquinas ocultas. Ej: http://eqt5g4fuenphqinx.onion/ Otras redes de anonimato Freenet J.A.P I2P (Invisible Internet Project) Dark WEB Todo lo que no puede indexar un motor como, por ejemplo Google. La red TOR es un ejemplo de dark web. Encadenación de proxies de forma directa http://proxy:puerto/http://proxy2:puerto/http://... Apuntes LSI 39 http://www.google.com/translate?lanepain=es|en&u=http://…. → Esta segunda opción es usando el traductor de Google como intermediario para solicitar el contenido de otra URL. ¿Cómo saltarnos un firewall? (Pregunta de examen) Queremos conectarnos a un servidor de juegos desde nuestra máquina de trabajo, pero el firewall filtra la conexión por el puerto 22 y el puerto 3128. 1. Cambiamos en nuestra máquina de casa que la conexión ssh se hace por el puerto 443 (https) porque el firewall no deja salir paquetería hacia el puerto 22 y además así el firewall al pensar que es https no revisa el paquete porque va cifrado. Importante destacar que va cifrado es por ser una conexión ssh. 2. Desde la máquina de trabajo nos conectamos por ssh con la máquina de casa, forwardeando nuestro puerto local 3128 de casa con el puerto 3128 de la máquina de juegos. 3. Ahora con la conexión abierta por ssh con nuestra casa, desde la máquina del trabajo vemos en nuestro puerto 3128 el puerto del servidor de videojuegos. Apuntes LSI 40 IMPORTANTE La opción -L de ssh funciona de la siguiente manera: -L [bind_address:]port:host:hostport user@host Si NO se especifica [bind_address:], es decir, usamos port:host:hostport user@host, estamos forwardeando únicamente al localhost:port de nuestra máquina. Apuntes LSI 41 Si ponemos *:port:host:hostport user@host o :port:host:hostport user@host, estamos forwardeando a todas las interfaces de nuestra máquina en el port especificado. Si ponemos IP_de_alguna_de_nuestras_interfaces:port:host:hostport user@host, forwardeamos solo a esa IP en el port especificado. El host:hostport no tiene porque ser un servicio corriendo en la maquina host. Ej: #Hacemos un nslookup lsi@debian:~$ nslookup www.neverssl.com Server: 10.8.12.49 Address: 10.8.12.49#53 Non-authoritative answer: Name: www.neverssl.com Address: 34.223.124.45 Name: www.neverssl.com Address: 2600:1f13:37c:1400:ba21:7165:5fc7:736e #Hacemos el forwarding por ssh ssh -L 10080:34.223.124.45:80 [email protected] #Desde otra terminal de la misma maquina donde lanzamos el fo lynx localhost:10080 #El navegador nos muestra www.neverssl.com a través de localho ¿Cómo saltarnos un proxy? Corkscrew → Permite saltarse proxies HTTP. Tunelizador con SSH a través de un proxy. Ese proxy solo resuelve peticiones HTTP. Para que esto funcione el servidor proxy tiene que tener el HTTP CONNECT METHOD, que forwardeará conexiones TCP. Port Knocking Consiste en tener un servicio tirado y configurar una secuencia de SYN y ACK en determinados puertos. Esto levanta el puerto que queremos entrar y configurara de Apuntes LSI 42 ser necesario el IPtables y los wrappers para que dejen pasar a esa máquina. Al terminar hay que cerrar la sesión. Configuración en el fichero /etc/knockd.conf: [openssh] sequence = 7000, 7015, 9001 seq_time = 10 //segundos tcpflags = SYN command = iptables -A INPUT -s %IP% -y ACCEPT sys start ssh [closessh] sequence = 6000, 6015, 9018 Conectarse y cerrar la sesión: knockd x.x.x.x 7000 7015 9001 ssh x.x.x.x knockd x.x.x.x 6000,6015,9018 #cerrar la sesión TEMA 5: Interceptación Sniffing De: Trafico Seguro: Información cifrada → HTTPS Trafico Inseguro: Información no cifrada → HTTP, FTP Se puede usar para robo de información. También se puede usar para un propósito bueno como auditorias de seguridad de red, análisis forenses post- mortem, esto es ver lo que ha hecho una persona en una máquina que ya ha muerto. Se hace sobre ficheros.pcap (los de wireshark). Mirrorear puertos (sniffing sano): Un port-mirror nos sirve para poder capturar tráfico que entra y sale de una interfaz sobre un Switch. La captura se realiza conectando un sniffer (wireshark por ejemplo) en una interfaz X llamada "mirror". Método Basic: Método de autenticación no seguro. Se pasan las credenciales por HTTP. Codifica la contraseña en base 64 y luego usa HTTPS (usando la contraseña Apuntes LSI 43