Una Introducción a Sniffing de Red

Muchas empresas creen que están a salvo mediante el uso de algunas herramientas antivirus inteligente para proteger sus equipos de backdoors como las herramientas de administración remota o keyloggers, es bueno utilizar algún antivirus inteligente o firewall, pero se debe tener en cuenta el sniffing como un problema de seguridad.

Existen muchas herramientas disponibles para diferentes sistemas operativos, incluyendo Windows y Linux, vamos a hablar de las herramientas mas adelante, pero en primer lugar es necesario describir que es “sniffing”.

Las herramientas de sniffing de red y los analizadores de paquetes generalmente son la misma cosa, el objetivo principal del “sniffing” es analizar los paquetes entrantes y salientes, hay que tener en cuenta que cuando nos conectamos a un servidor web o cualquier red (de computadoras) se esta enviando datos a través de una conexión ethernet (por cable) o inalámbrica en forma de paquetes, los datos que enviamos viajan en forma de paquetes.

Un paquete de datos contiene la Dirección IP fuente (emisor) y destino (receptor) y la dirección MAC y también contiene los datos que se van a enviar. Así que imaginemos que si alguien recibe este paquete, esta persona puede fácilmente saber lo que estamos enviando, un atacante puede fácilmente “sniffear” información confidencial (tarjeta de crédito, paypal, contraseñas, etc), por lo que el “sniffing” es un ataque importante que se debe considerar como una medida de seguridad.

Las grandes empresas y los servidores web utilizan una conexión segura para transmitir datos, por ejemplo, PayPal utiliza https:// en lugar de http:// por lo que los datos se viajan en forma encriptada. Aunque se este utilizando SSL, esto no significa que sus datos estén seguros siempre, hay maneras de crackear un canal seguro SSL.

Todo lo que dijimos anteriormente nos muestra que el “sniffing” no es algo bueno. sin embargo, esto no es totalmente cierto se le puede dar un uso positivo al sniffer, usándolo regularmente, cuyo objetivo sera mantener la red y el sistema funcionando normalmente.

  • Capturando paquetes
  • Registrando y analizando el trafico de red
  • Desencriptando paquetes y mostrándolos en texto plano
  • Convirtiendo datos a un formato legible
  • Mostrando información relevante como ser Dirección IP, Protocolo, nombre de un host o servidor, etc

Mientras que los usos negativos son claramente:

  • Capturar contraseñas, que son la razón principal para la mayoría de los usos ilegales de las herramientas de “sniffing”
  • Capturar información critica y privada de transacciones, como nombre de usuario, numero de cuenta bancaria, usuario y contraseña
  • Grabar y capturar EMail o mensajería instantánea (Chats, Messenger, GTalk, etc) y acumular el contenido

Las herramientas mas conocidas utilizadas para sniffing son:

  • Wireshark
  • Kismet (para wireless)
  • NetStumber (para wireless)
  • KisMAC (para wireless y MacOS X)
  • Ettercap
  • Tcpdump
  • Cain & Abel
  • etc

 

Introducción a SSH (Secure SHell)

Un protocolo de red o protocolo de comunicación es el conjunto de reglas definidas y reglamentos que deben ser seguidas por ambas partes (emisor y receptor) para una comunicación efectiva. Protocolos de red como HTTP, FTP, TCP/IP SMTP y demás. Como vemos los protocolos de red son importantes, pero hoy en día la seguridad de la información es mucho mas importante. Utilizar un protocolo de seguridad para que los datos sean seguros es lo mas conveniente.

Seguramente alguna ves escucho hablar acerca de Secure Socket Layer o SSL, SSL proporciona un canal seguro entre el servidor y el usuario, supongamos que necesita una conexión entre el ordenador de su casa y un equipo del trabajo y que desea transferir algunos archivos importantes, entonces SSL no le servirá para esta situación, debemos tener un protocolo de red seguro para conectar ambos dispositivos de forma remota.

Que es SSH (Secure SHell)?

Según Wikipedia “SSH (Secure SHell) es un protocolo de red que permite a los usuarios abrir una ventana en un equipo local y conectarse a un equipo remoto como si estuvieran sentados allí”

Según esta definición se puede entender que SSH ofrece un canal seguro entre dos equipos para proteger la información valiosa de los ataques de hacking.

SSH normalmente se utiliza para iniciar sesión en una maquina remota y ejecutar comandos, pero también soporta tunneling, forwarding de puertos TCP y conexiones X11; para realizar transferencia de archivos se puede utilizar los protocolos asociados a SSH como ser SFTP o SCP.

Al igual que HTTP, FTP, y otros protocolos SSH tiene un numero de puerto 22 (TCP). Se puede usar Telnet (puerto 23) para conectar a un equipo remoto, pero recordemos que Telnet no proporciona ningún tipo de seguridad o cifrado, entonces Telnet ha sido sustituido por SSH.

SSH se puede utilizar en diferentes sistemas operativos como Windows, Linux, Mac OS, BSD e incluso se puede usar en dispositivos móviles como Android, iPhone (el propósito es el mismo). El proceso de autenticación en SSH es muy robusto, utiliza un sistema de criptografía de clave publica para autenticar con el equipo remoto y viceversa.

SSH se puede utilizar para multiples fines, como tunneling, port forwarding y conexiones. Las versiones principales de SSH son:

  • SSH1 o SSH-1
  • SSH2 o SSH-2

Que es un Cliente SSH?

Un cliente SSH es un simple software que permite utilizar el protocolo SSH para conectar un equipo remoto de manera eficiente. Existen clientes SSH disponibles con interfaz gráfica de usuario por lo que son fáciles de utilizar.

.

Descubrir una contraseña de seis caracteres en 4 segundos

La tecnología avanza sin precedentes y, con eso, debería hacerlo el usuario en tratar de mantenerse al margen de los abusos que realizan de ella en beneficio de algunos delincuentes.

A través de la explotación de la arquitectura de los procesadores gráficos se han realizado importantes mejoras a nivel de procesamiento de datos.

Esos avances, lamentablemente, también son utilizados por los atacantes para maximizar la eficiencia de sus ataques. Por lo tanto, la investigación de nuevas tecnologías no siempre va tener un fin positivo. Como las empresas de hardware no pueden controlar estrictamente el uso que será dado a sus dispositivos, es responsabilidad del usuario tomar medidas para prevenir posibles ataques. A continuación, analizaremos datos que nos revelan que el paralelismo proporcionado por los procesadores gráficos a través del procesamiento multi-hilo puede superar ampliamente el procesamiento de las CPU en el descifrado de contraseñas.

Capacidad de procesamiento

Los estudios arrojan resultados devastadores de utilización de GPU sobre CPU en ataques de fuerza bruta. Una contraseña de 5 caracteres alfanuméricos puede ser vulnerada, por una CPU promedio actual, en 24 segundos a una tasa de 9.8 millones comparaciones por segundo. Ese número que realmente parece asombroso, resulta ínfimo si lo comparamos con la tasa de procesamiento que puede tener una GPU (ATI Radeon 5770), ya que puede realizar 3300 millones de comparaciones por segundo. En este caso, la velocidad en que el procesador gráfico descifraría la clave es menor a un segundo.

En caso de aumentar su longitud, y contar con una clave de 9 caracteres combinando números, letras en mayúsculas y minúsculas y símbolos, entonces a la CPU le llevaría 43 años descifrar la clave mientras que la GPU la estaría rompiendo en aproximadamente un mes y medio.

Buenas prácticas y sugerencias

Esto significa que combinar letras con números es una muy buena práctica, no obstante el usuario ahora debe hacer más que nunca mayor énfasis en la longitud de sus claves. De hecho, cuanto mayor la capacidad de procesamiento que tengan los atacantes, mayor es la longitud que debe tener la clave del usuario para no salir perdiendo en el desfasaje tecnológico.

A continuación, enumeramos algunas sugerencias importantes:

  • Un carácter más, siempre va aumentar exponencialmente la complejidad de la clave.
  • Cambiar caracteres por números similares para poder recordarlos (A=4, E=3, I=1, etc.).
  • Utilizar varias palabras juntas.
  • Mezclar los números en las palabras para que ninguna palabra pertenezca a algún idioma.

La siguiente contraseña de ejemplo: L4c4s4d3cr1st4l!; puede ayudar a ilustrar al lector un caso de una contraseña de 16 dígitos, con mayúsculas, minúsculas, números y símbolos que no es tan difícil de recordar para el usuario y que con la tecnología existente se tardarían miles de años en poder descifrarla.

 

Introducción a Firewalls (Parte II)

En el tutorial anterior les he mostrado algunos conceptos básicos acerca de los firewalls, y también los he clasificado en dos tipos de firewalls por como están construidos, ahora en este post vamos a compartir un poco de conocimiento avanzado y clasificare los firealls por su aplicación.

¿Como trabajan los Firewalls?

Comprender como trabajan los firewalls no es algo sumamente complicado como muchos piensan. El funcionamiento de un firewall depende de algunos pasos.

Cuando se inicia una comunicación con un host u otros dispositivos a través de Internet, las computadoras siguen un proceso de negociación TCP de 3 pasos, en general, el host  envía una petición a la red para el propósito de la comunicación.

  • Si tienes un firewall en la computadoras, entonces el firewall primero controla esa solicitud y compara la misma con los diferentes tipos de reglas y directivas del firewall.
  • El firewall  también controla la fuente donde se creo el paquete de red y el hosting, entonces el firewall toma la decisión si el archivo debe ser enviado o rechazado.
  • Las reglas y directivas del firewall son establecidas por el administrador del equipo o red.
  • Los firewalls  también controlan el proceso de autenticación para una comunicación segura, si algo falta en el proceso de autenticación, se bloqueara toda la comunicación.

Los firewalls pueden ser divididos por sus técnicas de configuración o aplicación.

Firewalls a nivel de red o filtrado de paquetes

Los firewalls de nivel de capa de red, son también llamados “filtra paquetes”. Por lo general, toman sus decisiones basándose en la IP de Origen, IP Destino y los distintos puertos en cada paquete IP individual. Un simple Router es un firewall de capa de red tradicional.

Firewall a nivel de aplicacion.

Los firewalls de capa de aplicación analizan mas profundamente dentro de la aplicación que se comunica a Internet, este utiliza reglas para restringir aplicaciones como ser, TCP, FTP, Telnet, UDP, etc.
Los filtros de capa de aplicación pueden incluir protección contra spam y virus, así como también, son capaz de bloquear sitios web no deseados basados en su contenido y no solamente en la dirección IP.

.

Introducción y Características de UNIX

UNIX es un sistema operativo portable, multiusuario y multitarea. Escrito en lenguaje de alto nivel C y dispone de un lenguaje de control programable llamado “Shell”. Desarrollado en 1969 por un grupo de empleados de los Laboratios Bell y AT&T. Entre los que destacaron Ken thompson y Dennies Ritchie.

Las versiones de UNIX son muy diversas entre versiones 4, 7… y otras variantes según el desarrollo y mantenimiento:

HP-UX: es la versión de UNIX desarrollada y mantenida desde 1983 por Hewlett-Packard en sistemas HP PA RISC o Titatium.
AIX: es la versión propietaria de IBM.
SOLARIS: versión muy difundida a nivel empresarial con una gran estabilidad.

Exiten varios tipos de shell a través de la cual el usuario puede realizar diversas acciones:

Sh: Bourne Shell es la más antigua y tuvo gran popularidad en su lanzamiento, es el shell por defecto del UNIX
Csh: shell que reensambla la programación en lenguaje C.
Ksh: Korn Shell es el más moderno de los tres anteriores aunque también el más desconocido
Bash: Bourne Again shell, la mas facil y comoda de utilizar.

El registro de lo que hace el usuario queda registrado en el siguiente fichero:

/etc/passwd

El registro de los grupos de usuarios:

/etc/group

Las contraseñas de los usuarios están en: /etc/shadow

root:Axnq1xn9jtZoU:6445::::::

daemon:NP:6445::::::

bin:NP:6445::::::

sys:NP:6445::::::

webservd:*LK*:::::::

nobody:*LK*:6445::::::

prueba3:*LK*:::::::

usuario1:PdkUAT7ugt3/c:13594::::::

usuario2:7qV5zxzujjeog:13594::::::

 

«LK» indica que la cuenta está bloqueada
«NP» indica que el password es inaccesible por lo tanto no se pueden loguear, suela aparecer en las cuentas de sistema
« » Un espacio en blanco indica que no se ha establecido password para esa cuenta y la cuenta está habilitada.

Las contraseñas deber cumplir complejidad.
Todo lo visible para un usuario en un sistema UNIX se puede representar como un fichero en el sistema de ficheros.

AL hacer un “ls /” en un sistema Linux/Unix podemos ver las siguientes rutas:

/: Raíz del sistema de archivos

/dev: Ficheros del sistema que representan los dispositivos que estén físicamente instalados en el ordenador. Ej: /dev/hda : un disco duro.
/usr: contiene los programas de uso común para todos los usuarios
/etc: ficheros de configuración del sistema
/home: carpetas personales de cada usuario
/boot: imagenes del kernel a arrancar
/var: Este directorio contiene información temporal de los programas
/proc: Contiene ficheros especiales que o bien reciben o envían información al kernel del sistema
/mnt: en este directorio suelen ir montadas otras particiones.

Los ficheros pueden tener permisos para el el usuario de lectura, escritura y/o borrado.

fichero rwx r-x —

rwx es el acceso para el propietario del fichero de lectura, escritura y borrado
r-x es el acceso para los miembros del grupo de lectura y borrado
— es el acceso para otros que no es propietario,no parte del grupo.