Preprocesador de SNORT para geolocalización

En la siguiente entrada vamos a tratar la herramienta de seguridad Snort, la cual es una aplicación de detección de intrusos a nivel de red (IDS). Su función es leer el tráfico de red, normalizarlo, catalogarlo y analizarlo mediante un motor de reglas en busca de una serie de patrones en el tráfico que identifiquen un posible ataque; por tanto se trata de un IDS basado en firmas. Así, dada una amenaza previamente conocida se crea una firma que permita la detección del tráfico malintencionado. Es por ello que la herramienta no dispone de la capacidad de detectar anomalías en el tráfico que permitan identificar vulnerabilidades no conocidas o malware dirigido. ... Leer Más

Saltar filtrado de cortafuegos mediante paquetes ICMP

La arquitectura de una red empresarial requiere un diseño que permita la separación entre los usuarios, servidores internos y los servidores perimetrales o DMZ. Un diseño básico inicial consiste en un cortafuegos principal que separa el tráfico que va a la red perimetral del que va al resto de redes, existiendo un segundo cortafuegos de distinto fabricante en la entrada de la red de servidores internos, y entre ambos el servidor de VPN. Un esquema resumido sería el siguiente:... Leer Más

Análisis forense de memoria RAM en Linux

(N.d.E. Hemos tenido algunos problemillas esta mañana con el blog. Esperamos que todo haya vuelto ya a la normalidad)

Durante el inicio de un incidente, el grupo encargado de su gestión debe comprobar primeramente si el incidente ha ocurrido. En caso afirmativo el primer paso a realizar sobre él o los entornos afectados es el volcado de la memoria RAM, puesto que es la pieza más crítica al ser la parte más volátil, y por ello, la que más fácilmente puede ser alterada durante el incidente.

Para ello se suelen emplear tanto herramientas libres como privadas, principalmente winXXdd o memoryze para entornos Windows y Memdump para entornos Linux. Esa captura debe ser copiada a otro entorno y nunca en el sistema de ficheros del entorno afectado, para ello se puede emplear NetCat (nc) o Samba (CIFS).

Pero es el análisis posterior donde radica la dificultad. Debemos de ser capaces, de dado el fichero en crudo de la memoria RAM, poder obtener información importante como qué programas se estaban ejecutando, qué puertos escuchando, qué ficheros abiertos, qué usuarios conectados, qué rutas ARP, qué configuración de las interfaces de red, etc.

En caso de tratarse de entornos Windows existen varias herramientas como Memparser para Windows 2000, Volatility para Windows XP SP2 y 3, o la herramienta por excelencia que consiste en la combinación de la captura de la memoria mediante Mandiant Memoryze y su posterior análisis con Audit Viewer.

[Read more…]

Low Orbit Ion Cannon, bienvenidos a la jungla

Como todos ustedes sabrán, recientemente tuvimos que trabajar sobre un incidente de seguridad relacionado con un ataque por denegación de servicio distribuido o DDoS. Los atacantes emplearon distintas versiones de la herramienta Low Orbit Ion Cannon, LOIC en adelante, para intentar sobrecargar el tráfico de la web. ... Leer Más

El antiguo reto de la honeynet (II)

Tras la entrada introductoria y preparatoria del otro día, hoy vamos a empezar con el reto. Lo primero que suelo hacer una vez obtenido los datos iniciales (vistos en la anterior entrada) es crearme una línea de tiempo a nivel de sistemas de ficheros y luego le sumo los datos obtenidos con la lógica que contiene el sistema de ficheros… Seguramente se estarán preguntando que es eso de la lógica que contiene el sistema de ficheros. Es lo que normalmente se denomina «artifacts«. Por ejemplo un fichero ejecutable cuyo dueño ya no existe en el sistema pero el fichero sigue existiendo, un usuario creado con permisos de administración, shellbags, históricos, logs, etc.... Leer Más

El antiguo reto de la honeynet (I)

En esta y la siguiente entrada trataré el reto de análisis forense de la honeynet (proyecto Honeynet). Aunque antiguo, es la base de un análisis forense en un entorno Linux y creo que se pueden aprender muchas cosas. Existe una infinidad de soluciones tanto en blogs como en libros sobre la resolución del reto. En mi caso voy a seguir los pasos que seguí para la resolución de éste. Les advierto que tanto este como el siguiente artículo de la serie son algo largos, así que tómenselos con calma.

Preparando el entorno del reto

Comenzaremos montando una máquina virtual Linux. Primero instalaremos en el equipo anfitrión VirtualBox en su versión 4. A su vez nos descargaremos una imagen ISO de una distribución Linux. En mi caso he usado la Ubuntu 10.04. puesto que ya la tenia descargada. Una vez tengamos creada la máquina virtual instalaremos las LinuxAdditions.

[Read more…]

La avaricia rompe el socket

En esta entrada de hoy voy a contar una historia de hardware acontecida en este mes de Enero, que pese a que no está enfocada ciertamente a la seguridad, podría repercutir en la seguridad de nuestros sistemas. Antes de empezar introduciremos un término de hardware llamado socket o zócalo, que es la forma de conexión entre la CPU y la placa base (puerto norte). Los sockets se indican por una numeración que identifica el número de pines entre la CPU y la placa base, por lo que un socket 350 indica que el zócalo tiene 350 pines. ... Leer Más

Ese gran invento llamado Pendrive

Recientemente me llego a mis manos un pendrive, cuyo dueño no usaba desde verano, para que le copiara un par de archivos de mi equipo personal de casa a su pendrive. Al conectarlo me llamaron la atención un par de cosas del pendrive, por lo que decidí echarle un vistazo a ver que me encontraba.

Primero me hice una copia en raw de nombre imagen:

# dc3dd if=/dev/sdb1 of=imagen bs=512 conv=noerror,sync hash=sha256 hashlog=ressha

Luego me puse a analizar que ficheros se habían eliminado del pendrive (símbolo *) y… ¡voilà! Un fichero “_autorun.inf” y “_gt.exe” no paraba de eliminarse, y si consultábamos el inodo, no paraba de ejecutarse:

[Read more…]

XSS, one more time

Hoy toca contar una historia, que por desgracia cada vez es más frecuente. Estaba yo el día uno de noviembre en mi casa, sentado en mi mesa de estudio peleándome con las particiones FAT32 con sus “directory root” y los “longs entry” (a quién se le ocurre empezar por el final), cuando a las cinco de la tarde decidí darme una vuelta por la web, y en concreto por las de noticias, a ver que había ocurrido. ... Leer Más

Covert Channels

El encubrimiento de canales o Covert Channels es una técnica de evasión que permite a un atacante enviar información empleando para ello las cabeceras de los protocolos de comunicación. En esta entrada trataremos el encubrimiento de canales en el protocolo TCP/IP, y proporcionaremos una herramienta, CovertShell, diseñada para la prueba de concepto. Pueden localizar los fuentes al final de la entrada.... Leer Más