DeSec

Redes, sistemas y seguridad informática.

Sebek 3: Conoce a tu enemigo

dejar un comentario »

En SbD hemos citado Sebek en varias ocasiones, cuando se trató el tema de los Honeypots corporativos y los ataques desde el interior, y para monitorizar sesiones SSH. Hoy vamos a ver Sebek un poco más de cerca.

Sebek 3 pertenece al proyecto Honeynet. Es un IDS en entornos Host que investiga las acciones de usuarios y administradores en los propios equipos de una organización.

Sebek permite recopilar actividades tales como pulsaciones de teclado en el sistema. Además de recolectar lo que usuario o el administrador teclea, también recoge la respuesta que recibe del sistema.

Este proyecto está diseñado para entornos Win32 y Linux.

La arquitectura de Sebek es cliente-servidor. El servidor sebek se implanta en una máquina Linux, mientras que los clientes se implantarán en los honeypots Linux y Windows.

Figura 1.1: Diagrama

Es interesante leer el paper Know yor enemy: Sebek para conocer un poco más afondo la arquitectura y diseño de los componentes del proyecto Sebek. También es interesante este otro paper que nos muestra como instalar una honeynet virtual, este último en lugar de instalar únicamente el servidor sebek, lo instala como parte de la Roo Honeywall.

La instalación del servidor sebek no es costosa, debemos tener en cuenta que tenemos que tener instalado libpcap. Después es tan sencillo como: Leer el resto de esta entrada »

Escrito por Raúl M.

Febrero 5, 2010 a 2:17 pm

Escrito en Redes

Etiquetado con , , , , , ,

Tools: IGhashGPU (descifra hashes SHA1 / MD5 / MD4)

dejar un comentario »

IGHASHGPU es una pequeña aplicación que descifra hashes SHA1/MD5/MD4 utilizando para ello una tarjeta gráfica nVidia con soporte CUDA, o una ATi basada en la serie RV7×0 (4550, 4670, 4830, 4730, 4770, 4850, 4870, 4890). En general las ATi son más rápidas con esta aplicación, y además más económicas.

On a dual ATI 5970 configuration (forum entry) the tool can crack approx. 790 (!!!) Million hashes per second. A single ATI 4850 can achieve more than 300 Mill. hashes per second. This means that the new 11g password algorithm can be cracked approx 130 times faster than the old DES algorithm. I am not sure if it was a good idea from Oracle to use such a standard algorithm like SHA1 because this is together with MD5 one of the most optimized algorithms.

Links relacionados:
- Reventando hashes SHA1/MD5/MD4 con tu GPU (ATi/nVidia)
- IGHASHGPU – Cracking Oracle Passwords with 790 Million Passwords/second.

Vía: CRYPTEX

Escrito por Raúl M.

Enero 17, 2010 a 1:06 pm

Escrito en Herramientas

Etiquetado con , , , , , , , , ,

Bypassing SQUID Proxy with SSH Tunneling

con 2 comentarios

Recientemente, en el instituto en el cual estoy cursando el Ciclo Formativo de Grado Medio de informática, han aplicado ciertas configuraciones de seguridad para que los alumnos no podamos acceder a ciertos sitios Web. Algo que me ha parecido maravilloso por ciertas circunstancias.

Lo que han recurrido a utilizar, es un servidor proxy transparente con un cache de sitios Web (SQUID) con el propósito de ahorrar ancho de banda, mayormente a consecuencia del streaming que solemos acceder normalmente la juventud de hoy en día para visualizar ciertas chorradas, o redes antisociales.

Así que en este breve documento, me gustaría explicarles como sobre pasar dicha seguridad de una forma simple y eficiente sin necesidad de utilizar un servidor proxy configurándolo en nuestro ‘addon’ de Firefox o instalar ciertos programas como Tor, además, teniendo la ventaja de que nuestros datos viajarán a través de la red inseguramente.

Introducción

Este simple método consiste en realizar un túnel por el cual viajarán nuestras tramas de red de una manera segura haciendo uso del protocolo SSH (Secure Shell), a lo que denominamos, “tunneling”, desde el equipo del departamento de administración de la empresa en la cual trabajamos (un simple ejemplo), hacia un equipo remoto; por ejemplo el de nuestra casa o un servidor virtual privado (VPS) que tengamos contratado. Véase la figura 1.1. Leer el resto de esta entrada »

Escrito por Raúl M.

Enero 5, 2010 a 5:20 am

Escrito en Redes

Etiquetado con , , , ,

Control de Cuentas de Usuario (VI de VI)

dejar un comentario »

No hace falta decir, que a la llegada de Windows 7 se ha mejorado notablemente la seguridad en la misma. UAC (User Account Control) es una de ellas, el cual se introdujo con Windows Vista con el objetivo de mejorar la seguridad para impedir que las aplicaciones maliciosas hagan cambios no autorizados, en cambio, en Windows 7 podemos observar que podemos modificar su funcionalidad depende del administrador de ese sistema. Así que me gustaría invitaros, a que leyérais las seis partes publicadas por Chema Alonso, MVP (Most Valuable Professional) de Microsoft en su blog Un informático en el lado del mal, publicado con su totalidad hace unos días.

- Control de Cuentas de Usuario (I de VI)
- Control de Cuentas de Usuario (II de VI)
- Control de Cuentas de Usuario (III de VI)
- Control de Cuentas de Usuario (IV de VI)
- Control de Cuentas de Usuario (V de VI)
- Control de Cuentas de Usuario (VI de VI)

Os deseo un feliz 2010, y un saludo ;-).

Escrito por Raúl M.

Enero 2, 2010 a 6:37 pm

Basic permissions in Linux

dejar un comentario »

Introducción

Los permisos asociados a ficheros y directorios, son una de las medidas de seguridad básicas en los sistemas. Generalmente, el usuario propietario será la persona que ha creado el fichero, pero ésta puede ser alterada después de su creación. Existen tres tipos básicos de permisos, que son de:

  • Lectura: permite a los usuarios leer el archivo especificado.
  • Escritura: permite a los usuarios modificar el archivo especificado.
  • Ejecución: permite a los usuarios ejecutar el archivo especificado.

Cuando se asignan estos permisos, Linux guarda un registro de los mismos que posteriormente aparece reflejado en la lista de archivos, con lo cual, se crea un estado que se expresa mediante marcas:

  • r (read): acceso de lectura.
  • w (write): acceso de escritura.
  • x (execute): acceso de ejecución.

Dichas marcas, pueden ser visibles con un formato largo mediante el comando, ls -l. Ésta es una salida típica:

drwxr-xr-x 2 Pepe Pepe 4096 jun 6 12:50 lg
-rwxrwxr-x 1 Pepe Pepe 0 jun 6 12:49 kgl.py
drwxr-xr-x 2 Pepe Pepe 4096 jun 6 12:50 scripts

Chmod Bits

FIGURA 1.1: Propiedades de la tabla de permisos

Como podemos observar en la Figura 1.1, el primer carácter especifica el tipo de recurso. En este campo existen varios: Leer el resto de esta entrada »

Escrito por Raúl M.

Junio 6, 2009 a 1:45 pm

Bastille, a tool for SysAdmins

dejar un comentario »

INTRODUCCIÓN

En este artículo aprenderemos a manejar Bastille, desde su instalación y configuración exhaustivamente para proporcionar una mayor seguridad de nuestro sistema Linux. Bastille es una de las tantas herramientas de hardening con el que ahorramos bastante tiempo desde la configuración de cada archivo individual hasta la programación para el fortalecimiento del mismo pudiendo ejecutarse bajo Linux, HP-UX e incluso MacOS X. Con ella podemos realizar bastantes tareas como deshabilitar servicios y puertos innecesarios. Además, cabe decir que, Bastille es un conjunto de scripts en Perl que toma la información que le indiquemos desde una set de preguntas y respuestas de las que ya comentaré a lo largo de este artículo desde una interfaz bastante amigable.

He aquí una lista de las características que nos ofrece Bastille, pero que puede variar a medida de que aparezcan nuevas versiones.

NOTA: Este artículo ha sido elaborado con la versión 3.0.9 de Bastille.

- Aplicar permisos restrictivos en las utilidades de administrador: Permite tan solo a root leer y ejecutar las utilidades habituales de administrador como ifconfig, linuxconf, ping, traceroute y runlevel, deshabilitando el estado del SUID root para estas herramientas , de modo que los usuarios no fueran root, no pudieran usarlo.

- Deshabilitar los protocolos r: Los protocolos r permiten a los usuarios entrar en sistemas remotos usando una autenticación en base a la IP. Esta autenticación permite sólo a determinadas IP acceder remotamente a un sistema. Dado que esta autenticación se basa en la dirección IP, un intruso que ha descubierto una IP autorizada puede crear paquetes camuflados que parecen provenir de ese sistema autorizado. (Véase como ejemplo: RPC)

- Implementar caducidad de contraseñas: Los sistemas Linux por defecto permiten contraseñas que expiran después de 99.999 días. Dado que esto es demasiado en un entorno seguro, Bastille ofrece cambiar la expiración de la contraseña a 180 días. Estas configuraciones están escritas en el archivo /etc/login.defs que pueden ser modificadas posteriormente con un editor cualquiera.

- Deshabilitar Control-Alt-Supr para reiniciar: Esto no permite reiniciar la máquina, algo bastante esencial si nos referimos a su seguridad física.

- Optimizar las envolturas TCP: Esta elección modifica el archivo inetd.conf y el archivo /etc/hosts.allow de modo que inetd debe contactar con las envolturas TCP siempre que reciba una petición en lugar de ejecutar automáticamente el servicio solicitado. Las envolturas TCP determinarán si la dirección IP solicitante está autorizada para ejecutar el servicio en particular. Si la petición no está permitida, se deniega y el intento se registra. Aunque la autenticación basada en IP puede ser vulnerable, esta optimización añade una capa de seguridad en el proceso. No está recomendado para la mayoría de escenarios.

- Añadir mensajes de autorización de uso: Estos mensajes aparecen automáticamente cuando alguien accede en el sistema.

- Limitar el uso de los recursos del sistema: Si limita el uso de los recursos del sistema, puede reducir las oportunidades de fallo de un servidor a un ataque DoS. Si elige limitar el uso de los recursos del sistema en Bastille, se producirán los siguientes cambios:

  • El tamaño de archivos se limita a 40 MB
  • Cada usuario se limita a 150 procesos.
  • El número de archivos del core permitidos por usuario se configura a cero. Los archivos del core se usan para tratar problemas del sistema. Son grandes y utilizables si se obtiene el control de los mismos: pueden crecer y consumir su sistema de archivos.

- Restringir el acceso a consola: Cualquiera con acceso a la consola tiene derechos especiales, como montar un CD-ROM. Bastille puede especificar qué cuentas de usuario tienen acceso para entrar por consola.

- Registro remoto y adicional: Dos registros adicionales podrían añadirse a /var/log:

  • /var/log/kernel (mensajes del kernel)
  • /var/log/syslog (mensajes de error y avisos) Puede también hacer el registro de un host remoto si existe.

- Configuración de cuenta de procesos: Le permite registrar los comandos de todos los usuarios. También registra cuando fueron ejecutados los comandos. Este archivo de registro son útiles para el seguimiento de un intruso en un sistema, pero el archivo puede llegar rápidamente a ser muy grande. Si se tiene acceso root, lógicamente puede ser eliminado.

- Desactivar NFS y Samba: Le permite deshabilitar los servicios NFS y Samba.

Samba proporciona un sistema de archivos compartido. A menos que el cortafuegos se configure para bloquear los paquetes o el administrador asegure estos servicios. Bastille recomienda desactivarlos.

- Fortalecer el servidor Web Apache: Debería desactivarse si el servicio (httpd) no es utilizado.

IMPLEMENTACIÓN

Bajo Linux, Bastille es ofrecida desde los repositorios de nuestra distribución, pero si por algún caso no la estuviera, tendríamos la posibilidad de descargarla desde su propia página oficial. Aunque en este artículo nos centraremos en la instalación desde su propio código fuente, así qué ¡allá vamos! Leer el resto de esta entrada »

Escrito por Raúl M.

Junio 5, 2009 a 7:42 pm