PDF de programación - Protege tus comunicaciones. Túneles SSH, VPN y TLS(SSL) - HACKING SCHOOL

Imágen de pdf Protege tus comunicaciones. Túneles SSH, VPN y TLS(SSL) - HACKING SCHOOL

Protege tus comunicaciones. Túneles SSH, VPN y TLS(SSL) - HACKING SCHOOLgráfica de visualizaciones

Publicado el 28 de Enero del 2019
1.632 visualizaciones desde el 28 de Enero del 2019
1,6 MB
46 paginas
Creado hace 9a (08/04/2015)
HACKING
SCHOOL

Protege tus comunicaciones.
Túneles SSH, VPN y TLS(SSL)

Antonio F. Díaz
(afdiaz at ugr.es)
2015

Contenido

 Introducción
 SSH

 Túneles SSH. Ej. VNC
 Reencaminamiento (Forwarding)
 Túneles remotos.
 Reencaminamiento dinámico (Dynamic Port Forwarding)

 Túneles HTTP
 SOCAT
 Redes Tor

 VPN

 VPN con SSH
 OpenVPN

 Creando servicios ocultos
 Alternativas

 TLS: Transport Layer Security (versión anterior: SSL)



Interceptando tráfico SSL

2

La comunicación:

 Las aplicaciones y servicios procesan datos que no

suelen estar cifrados.

 Las capas de comunicaciones deber ser rápidas y

ligeras.
 Comunicación por defecto sin cifrar
 Hardware / software: más sencillo.
 Paquetes TCP/UDP, protocolos, perfectamente descritos
 Entre nodos el tráfico puede circular por diversidad de

equipos y redes.
 Redes Wifi permiten que el tráfico esté visible entre los

nodos que tienen acceso a dicha subred

3

¿Por qué hacer segura la
comunicación?

 Multitud de herramientas de análisis de tráfico (Sniffers)

 Genéricos

 Específicos

 Wireshark, Shark for Root (Android)
 Iris (Windows)

 XPLICO: http://www.xplico.org

 Si la información es crítica,

hay que cifrar:

 Aplicación
 Capas de comunicaciones.

 Ocultar el rastro

 Origen, destino, protocolo

4

Recursos de conexión

 Túneles

 Encapsulan un protocolo sobre otro.
 Permiten utilizar protocolos y aplicaciones ya existentes con un

número reducido de cambios.

 Ej: Túneles sobre HTTP, Túneles SSH, Túneles SSL

 Reencaminamiento de puertos

 Acceso a puertos de otros equipos

 VPN

 Red privadas virtuales. Pueden permitir acceso completo.

 Socks / Servidores Proxy

 Protocolo para enrutar paquetes a través de un servidor Proxy.
 Aplicaciones adaptadas: Clientes web, …
 Permite filtrar por: usuarios, máquinas, hora, ...

ssh

5

¿Por qué son necesarios
túneles, VPNs, …?
 Subredes privadas

 Acceso hacia Internet

 Acceso a nodos internos / Cortafuegos

 Reencaminando puertos
 Cortafuegos

ssh

6

Soluciones

 NAT

 VPN

 Acceso transparente a los nodos.

7

 Traducción de direcciones
 De salida: S-NAT
 De entrada: D-NAT
 Reencaminamiento dinámico de puertos del enrutador

al cliente
 UpnP: Internet Gateway dDevice
 NAT-PMP: NAT Port Mapping Protocol
 PCP: Port Control Protocol

 Servidores proxy: Protocolos: SOCK4/SOCK5

 Genéricos
 Servidores con caché para HTTP (Squid)

Elementos de seguridad

 Cifrado

 Simétrico: AES, DES, IDEA, Blowfish, RC4

 Rápido, robusto, menor número de bits para las llaves.

 Asimétrico: RSA, DSA

 Lento, mayor número de bits.
 Gran ventaja: Llaves distintas cifrar/descifrar. Llave pública, llave
privada.

 Ambos elementos se combinan:

 Intercambio de llaves privadas (aleatorias) mediante cifrado
asimétrico.

 Hash: SHA-256, SHA-512, Whirlpool, RDM-160, MD5 (Inseguro)

 Algoritmos que devuelve un valor (firma) para una secuencia de valores de

entrada.
 Checksum: Sumatoria valores módulo N. Muy sencillo. Poco fiable.
 CRC: Comprobación de redundancia cíclica. Ej:CRC32. Comprobación integridad

 Algoritmos robustos criptográficamente:

 Evitar cómo manipular una secuencia que obtenga el mismo resultado
 Evitar obtener información de la secuencia.

8

SSH (Secure Shell)

entre un cliente y servidor.

 Protocolo que permite comunicar de forma segura
 Conexión de terminal, transferencia de datos, ...
 Mecanismos de autenticación

 Password
 Llave pública/privada: RSA y DSA

 Implementación:

 Linux: ssh (cliente), sshd (servidor)
 Windows: putty (cliente), Freesshd (servidor)
 Android: Connectbot

 Puerto 22 (defecto)

Cliente

Servidor

ssh [email protected]

9

¿Qué podemos hacer con SSH?
 Conexión terminal segura

 Reemplaza: telnet, rsh (inseguros)

 Reencaminamiento puertos
 Tráfico X (Gráficos Unix)

 ssh -X ...

 Acceso a repositorios: GIT, SVN


Intercambio de ficheros:
 gftp, scp (Linux)

 scp -rp [email protected]:dir_y .

 WinSCP (Windows)
 Filezilla
 Rsync

 rsync -Cavuzn [email protected]:/home/usuario/misdatos /home/usuario
 sshfs: Acceso a ficheros remotos como sistema de ficheros

 sudo apt-get install sshfs
 sudo sshfs [email protected]:/ /mnt/dir_x
 sudo umount /mnt/dir_x

10

Creando claves públicas y privadas

 La clave privada es secreta y permite autentificar al cliente.
 Las claves se generan en el cliente.
 La clave pública se copia en los nodos remotos (servidores) y

autorizarán el acceso al cliente que tenga la clave privada asociada.

 ssh-keygen -t rsa

 .ssh/id_rsa.pub ( fichero con clave pública)
 .ssh/id_rsa (fichero con clave privada)

 ssh-copy-id [email protected]

script que copia la clave pública en el host remoto en el fichero
.ssh/authorized_keys

11

VNC (Virtual Network Computing)

 http://www.realvnc.com (TightVNC, UltraVNC, Remmina)
 Permite control remoto de ordenadores

 Servidor: Ordenador a controlar remotamente
 Cliente: Ordenador desde el que accedemos al sistema (Terminal)

 Multiplataforma (Windows, Linux, Mac, Java, Android, etc)


 Linux: Se puede utilizar diversos “Windows Manager”: GNOME,

Independencia Cliente – Servidor.
KDE, IceWM, …

 Ocupa muy poco espacio.
 Permite conexiones compartidas (varios clientes sobre un servidor)
 Adaptable al ancho de banda disponible: Cambio de profundidad
 Inconveniente: No cifra el tráfico  Solución … Túneles SSL, SSH o

vídeo, compresión,…
VPN

12

Iniciando VNC

En el servidor:
vncserver :1



# Inicio servidor 1 (puerto 5901) puerto 59XX

script de inicio en $HOME/.vnc/xstartup

Otras opciones para el servidor:
vncserver –kill :1
vncpasswd
el password queda en $HOME/.vnc/passwd
Otros parámetros interesantes: -geometry -depth

# elimina el servidor 1


# cambio de password

En el cliente:
vncviewer servidor:1

# Inicia conexión con el servidor:1

Otras opciones para cliente:
vncviewer –shared servidor:1
vncviewer –listen 4722


# Conexión compartida
# Es el cliente el que escucha

13

Reencaminamiento de puerto local con
SSH (Ejemplo con VNC)

 Ej. VNC

 ssh –L 5905:localhost:5905 mifrontend.ugr.es
 vncviewer localhost:5 (en el cliente)

5905

5905

mifrontend.ugr.es

ssh(22)

 Es como si el puerto local “conecta” directamente con el nodo remoto
 El reencaminamiento se puede desactivar en /etc/ssh/sshd_config

 AllowTcpForwarding No

14

Reencaminamiento de puerto local con SSH

 ssh –L puertoAA:hostBB:puertoBB hostSS

 (-g para abrir 0.0.0.0:puertoAA en lugar de 127.0.0.1:puertoAA)

puertoAA

hostSS

hostBB

ssh(22)


 Ej. VNC a un nodo detrás de un frontend

 ssh –L 5905:192.168.2.3:5905 mifrontend.ugr.es
 vncviewer localhost:5

puertoBB

5905

mifrontend.ugr.es

192.168.2.3

ssh(22)

5905

15

Forwarding con SSH
 Crear el fichero $HOME/.ssh/config

Host mifrontend
Hostname mifrontend.ugr.es
User antonio
ServerAliveInterval 60

Host nodo3
ProxyCommand ssh mifronted nc 192.168.2.3 22

 Ej. VNC directo a un nodo detrás de un frontend

 ssh –L 5905:localhost:5905 nodo3
 vncviewer localhost:5
 Se puede acceder al nodo3 de forma transparente: scp, rsync, etc
192.168.2.3

mifrontend.ugr.es

5905

ssh(22)

5905

nodo3

16

Reencaminamiento de puerto remoto con
SSH (Ejemplo con VNC)

 Ej. VNC

 ssh –R 5905:localhost:5905 mifrontend.ugr.es
 El escritorio local queda visible externamente

5905

mifrontend.ugr.es

5905

ssh(22)

 Alguien que acceda al puerto 5905 de mifrontend.ugr.es

realmente accede al nodo

17

Reencaminamiento de puerto remoto con
SSH
 ssh –R puertoAA:hostBB:puertoBB mifrontend.ugr.es

 Permite acceder incluso a nodos que están dentro de la misma

subred interna.

hostBB

puertoBB

Mifrontend.ugr.es

puertoAA

ssh(22)

18

Combinando túneles locales y remotos con
SSH

 ssh –R 5905:localhost:5905 mifrontend.ugr.es

Mifrontend.ugr.es

5905

ssh(22)

 ssh –L 5905:localhost:5905 mifrontend.ugr.es

 El escritorio local queda visible externamente

ssh(22)

5905

5905

19

Openport
Acceso remoto sin “mifrontend”

 https://openport.io
 Acceso gratuito limitado (tiempo/ 10 MB)
 Para abrir un puerto al exterior:

 openport 22
 Pasar el enlace al nodo remoto para que se autorice el acceso a

 Acceder al enlace web para autorizar el acceso (del cortafuegos

ioport.io:XXXX

openport.io)

 ssh -pXXXX [email protected]

 Otra alternativa: (Utilizar Amazon EC2) (gratuito 1 año):

 http://acooke.org/cute/ReverseRem0.html

20

Túneles SSH
en Windows (Putty)

 Reencaminamiento local de un puerto:
 Conf. VNC
 Puerto local

 5901

 Puerto remoto



localhost:5901

Permite definir puertos:
 Locales
 Remotos
 Dinámicos:Socks4/5

21

Opciones usuales para
clientes SSH

 -p: Cambia el puerto (defecto:22)
 -C: Compresión
 -D puerto: Reencaminamiento dinámico

 Servidor proxy

 -X: Reencaminamiento X

22

Túneles HTTP (Httptunnel)

 http://www.nocrew.org/software/httptunnel.html
(Linux gratis), (Windows gratis, versión algo antigua).



 http://http-tunnel.sourceforge.net/
 Suele haber configuraciones de cortafuegos bastante estrictas que sólo permiten el paso

del tráfico HTTP a sus clientes.

 Permite establecer una conexión TCP de un puerto local a un puerto remoto encapsulado

sobre tráfico HTTP.

 Permite atravesar proxy-cache.
 Se suele utilizar en combinación con otro software de VPN para interconectar redes.



Limitación: Sólo se puede abrir una conexión contra el servidor activado.

 Otras alternativas:



Software propietario, crea una VPN con tráfico cifrado lo que permite utilizar diversos programas.

 OpenVPN
 http://www.bypass.cc/
 http://www.http-tunnel.com/html/

 (Multiplataforma, Gratis (baja velocidad))

 Sólo Windows, Gratis (baja velocidad)

23

Configurando HTTPTunnel

 Cliente

 htc -- forward-port 4320 maquina.ugr.es:80
Si el cliente está detrás de un proxy:
 htc --
  • Links de descarga
http://lwp-l.com/pdf15006

Comentarios de: Protege tus comunicaciones. Túneles SSH, VPN y TLS(SSL) - HACKING SCHOOL (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad