Category: Seguridad

Mar 10 2008

Hands on Lab y adel@anta IT en Iruñea-Pamplona

¿Quereis aprender? Si la respuesta es que sí, os lo recomiendo. Yo estuve en un Hands on Lab el año pasado y se aprende una barbaridad.  Teneis la oportunidad a principios de abril. La temática: Analisis forense, Hacking ético (sí, a veces semos chicus buenos) y Windows Server 2008. Además, lo imparten los frikis de informatica 64, toda una garantía de calidad (sí, son colegas, pero son buenos, muy buenos).

¿Que no sabeis que es un Hands on Lab?
Los Seminarios o Hands On Lab (HOL) son acciones de carácter puramente técnico y dirigidas a profesionales de éste perfil. El contenido de los mismos es eminentemente práctico. Los asistentes recibirán las explicaciones teóricas de forma ágil para pasar posteriormente a desarrollar prácticas individuales, en entornos virtuales previamente generados a tal efecto. Para el desarrollo de las mismas contarán en todo momento con el apoyo directo de los consultores especialistas responsables de la impartición. Estos escenarios recrean situaciones habituales con las que el profesional podrá encontrarse en su operativa diaria.
El valor diferencial de estos seminarios es:
- Aforo muy limitado
- Prácticas individualizadas (un ordenador por alumno)
- Técnico que resolverá cualquier duda que se plantee en el curso

Tambien estará el adel@nta IT, cuyo objetivo es ayudar a las pymes de la región a poner en marcha su empresa dentro del nuevo marco que exige el nuevo mundo en el que nos encontramos, un mundo en el que Internet es parte de nosotros para el entretenimiento, el acceso a la información y el uso de servicios. La vida cotidiana está marcada por el uso de las nuevas tecnologías y con este plan se pretende ayudar a las empresas que ven Internet como un problema y no como una oportunidad a dar un paso adelante y poner su infraestructura IT al día.

Toda la info aquí:
http://www.microsoft.com/spain/seminarios/hol_pamplona.mspx

Sep 02 2007

Reto Hacking 4

Nuestro amenazado Maligno, a lanzado el Reto Hacking #4, ambientado en la serie alias, en la que se te reta de la siguiente forma:

Reto Hacking 4

“Eres Sydney Bristow (a parte de estar trozo de potable eres una crá con los ordenadores) y acabas de llegar al terminal de la red malvada de Profeta 5. Necesitas entrar en el Sistema para coger los planos de la Bomba. Cada terminal tiene sólo un usuario. Hazte con él. Marshall no está disponible así que estás sola. ¡Suerte Pájaro Azul!“.

El reto dispone de los siguientes premios para las 5 primeras crás:

1.- El adorable MATA-HUMANOS
2.- Un Libro de “Entiendeme tú a mi” firmado.
3.- Una botella de Rioja Crianza.
4.- Un cigarrillo de la risa.
5.- Un chupachus de fresa.

Suerte a todas!!

May 02 2007

HD-DVD: la protección salteada!

Así es, la protección del HD-DVD se acaba de ir al traste, esta es la llave pública que ha sido ya publicada en infinidad de blogs, pese a las amenazas de demandas, retiradas de entradas en digg, etc… ¡si han sacado hasta una canción!

09-f9-11-02-9d-74-e3-5b-d8-41-56-c5-63-56-88-c0

Feb 10 2007

II Reto Hacking de El lado del Mal

Hola a todos,

hace unos minutos he hecho público el II Reto Hacking de El lado del Mal, si quieres participar date prisa, solo hay 5 maravillosos premios, a saber: una caricatura hecha por mi, una poesía, una camiseta usada de las mias, un cd de rosendo y una bolsa de chupachús. (no me digas que no son premios increibles!!!).

Tienes más información y las reglas del juego en la siguiente URL:

http://elladodelmal.blogspot.com/2007/02/retohacking-ii.html

Bies malignos!!

Feb 05 2007

Inferno. 09:- Fingerprinting V

Y más puertos, esta vez puertos UDP. Ya estamos llegando al final de esta lista de posts sobre técnicas de escaneos de puertos así que prometo no dar más la chapa con estas cosas. Que poco divertido que es esto ¿no?

Scaneo de Puertos UDP

Para el escaneo de puertos UDP vamos a utilizar una técnica concreta. No son muchos los servicios que comúnmente nos encontramos que corran sobre puertos UDP, pero todos los servicios Real Time, Servicios de Broadcasting o Multicast e incluso algunos como el DNS en redes confiables funcionan con UDP.

A la hora de realizar un escaneo UCP se envían paquetes UDP de tamaño 0 bytes al puerto de la máquina objetivo. Si el puerto esta abierto el servidor simplemente lo recoge y lo desecha por no darle ninguna información útil, mientras que, por el contrario, si el puerto está cerrado se envía un mensaje ICMP de error de Port Unreachable.

Muchos firewalls prohiben la salida de mensajes ICMP fuera de la red y, además, muchos sistemas operativos limitan el número de mensajes ICMP que se pueden enviar en un determinado periodo de tiempo, por lo que realizar un escaneo completo de los 2 bytes de posibles números de puerto abiertos, se puede hacer bastante lento y además podemos contar muchos falsos positivos.

Post anterior.

Bies malignos.

Jan 18 2007

Inferno. 08:- Fingerprinting IV

Hola Holita,

Vamos ahora con una forma de realizar un escaneo de puertos a través de una máquina Zoombie..

Iddle Scaning

Este tipo de escaneo de puertos está pensado para evitar que el equipo escaneado detecte fácilmente quien es el verdadero origen del escaneo. Para ello se usa una máquina zombie que es la que hablará directamente con el objetivo del escaneo de puertos. Sea A el equipo que quiere realizar el escaneo, B la máquina zombie que se utilizará para realizar el Iddle Scanning y C la máquina a escanear.

Para que se pueda realizar este tipo de escaneo es necesario que el equipo B cumpla que sea predecible el número ID de fragmentación IP (IPID) que se utiliza (el algoritmo) y en segundo lugar que el volumen de tráfico que reciba sea relativamente bajo porque si no puede dar falsos positivos.

Para ello A pide a B una conexión y predicen los dos siguientes IPID. Después envía una petición SYN a C con la dirección IP spoofeada con la de B, es decir, construye un paquete de petición de conexión a C como si lo enviara B.

Si C tiene el puerto abierto entonces devolverá un mensaje SYN+ACK a B y este (B), al no haber enviado un paquete SYN previamente, devolverá un paquete RESET a C.

Si C tiene el puerto cerrado entonces devolverá un mensaje RESET y B, suponiendo que es un error lo desechará.

Una vez realizado esto, A se conectará a B y observará el IPID, si este ha subido en 2, entonces tenía el puerto abierto, de lo contrario, puerto cerrado.

Lógicamente puede haber falsos positivos, además no todas las máquinas son predecibles y siempre queda el rastro del verdadero escaneador en los logs de B.

El próximo sobre Scaneo de Puertos UDP.

Bies malignos!

Jan 04 2007

Inferno. 07:- Fingerprinting III

Hola, hola

En el último post que puse, de hace más de un mes, vimos algunos tipos de escaneos para detectar puertos TCP abiertos, en concreto los que se hacen con SYN y con SYN + ACK.

En este post quiero poner como se realiza el descubrimiento de puertos con otro par de métodos.

Escaneo de FIN

Cuando un servidor recibe un paquete de FIN por un puerto que no está abierto, este asume que es un error del proceso de conexión del cliente y le manda una respuesta Reset, mientras que si el puerto está abierto, se asume que es un paquete perdido y se desecha silenciosamente.

Los escaners que emplean esta técnica realizan peticiones a los puertos y esperan respuestas RESET, en el caso de no recibirla se asume que en esa petición hay un puerto abierto. Este tipo de escaneo tiene un alto índice de falsos positivos debido a las latencias de la red, a que en algunas implementaciones TCP/IP no se devuelven peticiones RESET para puertos cerrados y porque simplemente los firewalls estén configurados para cortar las respuestas.

Escaneo de XMAS y NULL

Estas dos técnicas son similares a la realización de un escaneo de FIN, en el primer caso, la técnica de XMAS, se envían peticiones con todos los bits de los flags activados (ACK, FIN, RST, SYN, URG, PSH), vamos, como si se iluminara un árbol por navidad (Xmas) y en el segundo caso, la técnica NULL, se apagan todas. Los puertos que están cerrados responden con un mensaje RESET mientras que los que están abiertos desechan el paquete que es tomado como un error y no contestan. Al igual que el escaneo de FIN tienen un alto índice de falsos positivos.

Otros Escaneos y establecimiento de conexión

Para descubrir puertos TCP existen otras técnicas, como el escaneo de ACK o enviar mensajes fragmentados. La mayoría de ellas suelen estar cortadas por los firewalls y/o parcheadas por el sistema operativo. Otra de las curiosidades que existe para escanear puertos es utilizar las opciones de FTP, que permiten, en algunos casos, enviar ficheros de un servidor de origen a un tercero a través del servidor ftp. En este caso se realiza transmisión de ficheros a puertos y se miran los errores. Esto se conoce como un abuso y casi todos los servidores han capado esas opciones.

Al final, lo que está claro es que si un puerto está abierto, pues está abierto y deja establecer conexiones con lo que hacer las fases de conexión y desconexión puede perderse dentro de un log enorme. El problema son los fallos de conexión con puertos raros que si que generan alertas que llaman la atención del administrador. En muchos casos las alertas son por fallos producidos en una unidad de tiempo (5 fallos de puerto cerrado desde la misma IP en 3 segundos) o por fallos consecutivos (5 fallos en números de puertos consecutivos). Para ello, en muchos casos se busca hacer poco ruido, probar los escaneos con espacio de tiempo entre peticiones, e incluso, con listados aleatorios de puertos.

En el próximo la detección de puertos UDP y luego ya pasamos a las herramientas.

¡Bies malignos!

Nov 28 2006

Inferno. 06:- Fingerprinting II

Desde el último post ha pasado mucho tiempo, pero es que la vida del feriante es así, nunca sabes cuándo y dónde vas a tener unos minutos para escribir algo. Continuando con lo anterior seguimos para ver como descubrir los puertos de un servidor.

Escaneo de SYN

Para descubrir los puertos TCP hay que conocer como es el intercambio de mensajes en cada una de las fases de la conexión TCP.

En la fase de establecimiento de la conexión se produce un intercambio de mensajes como este

Emisor —> SYN(X) —> Receptor
Emisor <— SYN(X)+ACK<— Receptor
Emisor —> ACK —> Receptor

En el caso de que el puerto esté cerrado entonces sería una comunicación tal que:

Emisor —> SYN(X) —> Receptor
Emisor <— RST+ACK <— Receptor

El primer tipo de escaneo que se realiza se basa en simplemente agarrar dos bytes y hacer un bucle for i=0 to 65.536 y lanzar contra una ip SYN(i) y esperar a ver que SYN(i)+ACK te devuelve. Esos “i” serán los puertos que estén abiertos.

Esto es como solucionaba un amiguete mío lo de ligar. Hay quien se curraba a una chica durante toda la noche y hay quien iba una a una “¿quieres?”, “¿quieres?” Conclusión. Este método es rápido pero salta todas las alarmas. Los firewalls, tanto de red, como de host, detectan este intento en base a dos parámetros: Peticiones de conexiones consecutivas y número de peticiones por unidad de tiempo. Además, tiempo atrás, esto era una forma de hacer Denegación de Servicio, pues los equipos mantenían las conexiones abiertas (SYN, SYN+ACK, ACK) y las semi-abiertas (SYN,SYN+ACK) en un mismo buffer circular, así que cuando se llenaba se machacaban por el principio las conexiones que ya existían (que recuerdos de juventud). Hoy en día lo más probable será que no se permitan más de x conexiones.

Escaneo de SYN+ACK

En este caso simulamos que somos el servidor y que atendemos a una petición de conexión que nos ha enviado con anterioridad un servidor, para ello se intercambian los siguientes mensajes.

Emisor —> SYN(X)+ACK —> Receptor
Emisor <— RST <— Receptor

Este tipo de comunicación indica que el servidor no está escuchando por el puerto X y le devuelve un mensaje RST porque presupone que es un error. En el caso de que el puerto esté escuchando simplemente piensa que es un error en el paquete por lo que no contesta a la espera de que salte el time-out y el cliente lo reenvíe correctamente.

Emisor —> SYN(X)+ACK –> Receptor
Emisor <— <— Receptor

Los escaners de SYN+ACK lanzan peticiones SYN+ACK y estarán abiertos aquellos que no contesten. Tienen un alto índice de falsos positivos pues los motivos por los que no se conteste a una petición pueden ser muchos y variados, pero es una forma más de descubrir los puertos de un servidor.

Y hasta pronto que seguiremos con más formas de detectar los puertos.

Oct 22 2006

Inferno. 05:- Fingerprinting I

Fingerprinting

Las técnicas de fingerprinting entran, como las de footprinting, en la fase de recogida de información de una auditoría de caja negra. Las técnicas y herramientas que existen vamos a ir viéndolas por diferentes áreas para ir entendiendo que se puede conseguir de cada una ellas. Todas las técnicas de fingerprinting tienen en común la forma de extraer información mediante una manera indirecta, realizando pruebas con los sistemas e infiriendo conclusiones.

¿Qué se puede desear conseguir con una herramienta de recogida de información para una auditoría de caja negra? Pues conocer cosas como:

- La lista de puertos que ofrece un servidor.
- La lista de servicios que se ofrecen por esos puertos
- Los productos y las versiones que se utilizan para dar esos servicios.
- Las configuraciones de esos productos
- Las vulnerabilidades de seguridad de los productos.
- Sistemas operativos de los servidores
- La topología de la red interna
- Los elementos de interconexión de la red (switches, routers, APs,…)
- ….

Entenderemos que una herramienta o técnica de fingerprinting es toda aquella que nos pueda información sobre el objetivo que no puede ser capturada a priori.

Scaneo de Puertos

Un puerto no es bueno ni malo. A menudo la gente asocia abrir puertos a ser un fallo de seguridad, pero es no tiene por que ser así. Podemos encontrarnos con firewalls que tienen abiertos 100 puertos y no existe un fallo de seguridad y por el contrario abrir un único puerto en el que se publica un software vulnerable y sí tener un riesgo de seguridad. En una auditoría de seguridad descubrir los puertos publicados es obligatorio.

Lo primero es analizar el tipo de puertos que abre un servidor dependiendo del protocolo a nivel transporte de la torre TPC/IP que utilice el servicio que se ofrece.

TCP (Transport Control Protocol) lo utilizan los servicios que necesitan una conexión fiable, es decir, que garantice que el mensaje se entrega. Servicios http, SMTP, FTP, etc.. necesitan que los paquetes lleguen todos, por lo que utilizan este tipo de conexiones.

¿Qué pasa? ¿Es que hay servicios que no necesitan que lleguen todos los mensajes de red? La verdad es que no es lo deseable, pero todos los servicios que dependen del tiempo hacen que si un dato no llega en su momento justo su información ya no sea útil. Pensad en una transmisión de imágenes en streaming. Es preferible que lleguen 15 imágenes por segundo a tiempo que 24 imágenes tarde. En ese tipo de servicios se utiliza UDP (User Datagran Protocol). ¿Sólo en esos casos se usa UDP? No, UDP se utiliza también en conexiones donde se garantiza que no se van a producir fallos o donde se controlan los errores a otros niveles. ¿Para que controlar a nivel Transporte los fallos si ya lo controla el nivel de aplicación o nivel de enlace?

Cuando se usan puertos TCP y un cliente desea utilizar ese servicio se producen tres fases:

1- Fase de Establecimiento de Conexión
2- Fase de Transferencia de Información
3- Fase de Desconexión

En cada una de las fases se produce un intercambio de mensajes entre el cliente y el servidor. Esto implica que el servidor contesta siguiendo el protocolo TCP ante diferentes mensajes enviados desde el cliente. Esto permite a alguien, enviando mensajes al servidor y analizando las respuestas saber que puertos están abiertos o no en el servidor.

En el caso de los puertos UDP el tema es distinto, ya que el protocolo UDP, no exige las fases de establecimiento y desconexión con lo que un servidor UDP no tiene porque devolver ningún mensaje. Dependerá la contestación o no ante un estímulo a un puerto UDP de la aplicación que esté corriendo en ese puerto. Así, si buscamos un servidor DNS escuchando por UDP deberemos generar peticiones DNS a puertos UDP que hagan que se generen respuestas desde el servidor DNS que haga que descubramos que está corriendo.

Y…. esto está quedando muy largo, la semana que viene vemos los métodos de descubir los puertos con scanners.

Bies malignos!

http://elladodelmal.blogspot.com

Oct 18 2006

Juego de Seguridad Maligno

Hola, soy Chema Alonso, Microsoft MVP Windows Security y durante estos años he dado bastantes sesiones de seguridad y realizado bastantes auditorías de seguridad. En recuerdo de lo que crearon instisec con el reto de boinas negras he propuesto un pequeño juego de seguridad para encontrar la password de acceso a una página web. A cambio regalo unos de gallumbos que utilicé para una conferencia en la que me disfracé de Batman por una larga historia…o camisetas (doy a elegir, no os quejéis :)), si os gusta jugad, si no, pues nada. Bies!!

Las Reglas del juego