- ERD Registry Editor
- Locksmith
- Crash Analyzer
- File Restore
- Disk Commander
- Disk Wipe
- Computer Management
- Explorer
- Solution Wizard
- TCP/IP Config
- Hotfix Uninstall
- SFC Scan
- Search
- Standalone system Sweeper
27 feb 2014
Por Juan Antonio Calles el 27 feb 2014 con 4 comentarios
Dentro del Microsoft Optimization
Pack for Software Assurance (MDOP https://www.microsoft.com/en-us/windows/enterprise/products-and-technologies/mdop/default.aspx)
nos encontramos con una gran suite de herramientas para el diagnóstico y
recuperación de sistemas Windows. MsDART, como lo han llamado, es una mejora
del antiguo ERD Commander de Winternals, empresa que Microsoft compró en 2006.
Este toolkit basado en un liveCD, permite a un administrador de
sistemas o técnico, recuperar o trastear con el sistema operativo, ya sea con
una de las muchas herramientas que trae incorporadas o bien desde una consola
de comandos, con la que podremos modificar, crear o borrar ficheros sin ningún
tipo de limitación. Al instalarlo en el equipo, podremos personalizar nuestra
ISO seleccionando las herramientas que queremos incluir y añadiendo drivers
específicos si fueran necesarios.
Al arrancar el equipo desde
MsDART Boot CD nos encontraremos con una pantalla similar a esta. En este
primer menú disponemos de varias opciones para diagnosticar y restaurar el
sistema así como la consola de comandos. Como es lógico para restaurar el
equipo ya sea mediante un punto de restauración o bien un backup completo
deberemos tener esa copia en un disco duro, dispositivo extraíble o dispositivo
de red accesible desde el ordenador.
Aunque esas primeras opciones
sirven para reparar o diagnosticar nuestro ordenador, las opciones realmente
interesantes y jugosas se encuentran en la última opción, Microsoft Diagnostic
and Recovery Toolset.
Dentro de este nuevo menú nos encontramos con las siguientes
herramientas:
Si bien es cierto que existen
muchas otras distribuciones LiveCD que nos permiten editar y trastear con un
sistema operativo Windows, no está de más conocerla y saber qué podemos hacer
con ella por si algún día nos es de utilidad. Por supuesto existen muchas otras
soluciones (sobretodo basadas en unix) y probablemente más productivas para
trastear entre los archivos del disco o realizar un escaneo en busca de
virus, pero quizás no hay tantas opciones para editar el registro de Windows o
restaurar el sistema a un punto anterior creado previamente desde Windows.
Personalmente me gusta por la
sencillez que tiene y la posibilidad de tocar el registro. Aunque también tiene
algunos contras… el explorador de archivos suele quedarse colgado si tratamos
con directorios repletos de ficheros y no siempre reconoce los medios
extraíbles. Aún así, creo que es bastante útil y nunca está de más llevarla en
nuestro kit de herramientas.
Artículo cortesía de Jordi Vázquez (@jordisk)
26 feb 2014
Por Pablo González el 26 feb 2014 con 1 comentario
El otro día hablando con mi compañero de trabajo y amigo Rafael Sánchez me comentó esta iniciativa que ha tenido ISACA dentro de su ámbito de los jóvenes. El concepto, el concurso en sí, el objetivo y también, porque no decirlo, los premios que se dan me parecen interesantes para la comunidad de la seguridad. Por ello no he dudado en difundir el mensaje de Rafa y los jóvenes de ISACA. Toda la información del concurso en el sitio web de los jóvenes de ISACA.
El Comité Jóvenes Profesionales de ISACA Madrid se enorgullece de presentar la primera edición del Concurso de temática de Auditoría, Seguridad Informática y Gobierno de las TIC, orientado a jóvenes (profesionales y no-profesionales) menores de 35 años. Este concurso tiene como objetivo principal incentivar la innovación y fomentar la cultura de los mencionados aspectos entre jóvenes menores de 35 años.
ISACA Madrid anima a los participantes a presentar trabajos relacionados con Auditoría, Seguridad Informática y Gobierno de las TIC, tales como trabajos de divulgación, estudio/análisis de actuales amenazas, desarrollo de herramientas, análisis de nuevas técnicas de ataques en diversos entornos, etc.
PARTICIPA
"Para participar en el evento, los candidatos deberán acceder al formulario de participación y seguir las instrucciones, antes del 15 de abril de 2014.
Se notificará a los autores mediante un correo electrónico si su propuesta ha sido aceptada o rechazada, en un plazo no superior a 10 días laborales.
Un Jurado compuesto por reconocidos expertos del sector determinará los proyectos elegidos para entrar en concurso. Los participantes cuyos proyectos hayan sido seleccionados por el Jurado procederán a enviar sus propuestas finales facilitando la mayor cantidad de información posible, de nuevo a través de la plataforma habilitada (enlace).
PARTICIPANTES
Podrá participar en el concurso cualquier persona con edad comprendida entre 18 y 35 años residente en España. El concurso está abierto tanto a profesionales, estudiantes, aficionados, y a cualquier persona que le apasione el mundo de la Seguridad, Auditoría y Gobierno de las TIC.
PREMIOS Y RECONOCIMIENTO
El ganador del concurso obtendrá un premio en metálico de 1.000 €, además de un curso completo de preparación a una de las certificaciones de ISACA (CISA, CISM, CGEIT, CRISC o COBIT5) más el pago de la tasa de examen. Habrá finalistas y menciones especiales que obtendrán reconocimiento especial por parte de reconocidos profesionales de la industria de la Seguridad Informática.
EVENTO
ISACA Madrid realizará un Evento público de primer nivel donde se hará público el fallo del Jurado. En este evento se presentará el proyecto ganador del concurso así como los proyectos finalistas. Los participantes finalistas y el ganador presentarán su proyecto ante el público asistente al evento. Este evento tendrá lugar la última quincena de junio de 2014, en Madrid.
BASES
Puedes consultar las Bases del I Reto de ISACA Madrid para Jóvenes Profesionales (PDF).
25 feb 2014
Por Juan Antonio Calles el 25 feb 2014 con 0 comentarios
Buenas a todos, en el post de hoy os traemos la tercera parte de nuestra
cadena "Promociona tu blog", en la que ayudamos a nuevos bloggers
del mundo de la seguridad a dar a conocer sus nuevos rincones de la
red, donde comparten con el resto del cibermundo sus investigaciones en
el campo del hacking ético.
Hoy os traemos el blog "The Hacker Way" (http://thehackerway.com), de Daniel, y del cual nos informó con el siguiente email:
Hola!
Antes que nada, quería felicitaros por el estupendo trabajo que estáis realizando en flu-project.com, es un sitio realmente interesante (y sobre todo útil) el que estáis llevando a cabo y espero que siga siendo así por mucho más tiempo.
Actualmente tengo un blog que aunque lleva algún tiempo, creo que le falta un poco más de difusión para que llegue a más gente interesada en la seguridad informática, he visto vuestra iniciativa sobre "promocionar blogs" y por ese motivo os escribo este correo. El sitio web del que os hablo es http://thehackerway.com y allí redacto artículos técnicos sobre seguridad y hacking en general. Actualmente se esta comenzando a publicar una serie de vídeos sobre hacking con python y explotación de software vulnerable que creo que pueden ser útiles para otros profesionales.
Muchas gracias,
Saludos.
El blog de Daniel es altamente recomendable, publica artículos técnicos de exploiting, python-hacking, etc., acompañados de videos que facilitan su comprensión:
Otro blog para vuestro RSS :)
Saludos!
24 feb 2014
Por Pablo González el 24 feb 2014 con 2 comentarios
En los últimos años, la comunidad de Python ha crecido
exponencialmente y cada vez son más las
personas que deciden utilizar Python para el desarrollo de sus proyectos. Sin
embargo, no solamente los desarrolladores de software valoran muy positivamente
este potente lenguaje de programación, también lo hacen profesionales y
entusiastas de la seguridad informática en todo el mundo. Un claro ejemplo de
este hecho es la cantidad proyectos, herramientas y librerías que se han
desarrollado en Python con un alto nivel de madurez y estabilidad. El objetivo
de este corto artículo, es simplemente listar algunas de las librerías y
herramientas escritas en Python que han tenido un fuerte impacto en la forma en
la que hoy en en día, se desarrollan las herramientas enfocadas a la seguridad
informática.
ENTORNOS WEB
1.
urllib, urllib2, httplib, httplib2,
urllib3 y requests:
Librerías que permiten realizar conexiones a servidores HTTP
utilizando los métodos disponibles en el protocolo. Cuando hablamos de urllib,
urllib2 y httplib, nos encontramos con librerías que han sido
utilizadas ampliamente por una enorme cantidad de proyectos, sin embargo en la
actualidad, la librería requests implementa mejoras sustanciales para
crear clientes HTTP, soportando íntegramente las características que deben
soportar tanto clientes como servidores que implementan el protocolo HTTP1.1.
Ademas, se trata de una librería que es fácil de usar para cualquier
desarrollador, requiere muy pocas lineas de código y es compatible con las
versiones de Python 2 y 3.
httplib2: https://github.com/jcgregorio/httplib2
2.
Mechanize, Selenium Python Binding:
Librerías útiles cuando necesitamos crear un programa que
pueda interactuar con un sitio web del mismo modo que lo hacemos con un
navegador web. Mechanize y Selenium son las principales
librerías para llevar a cabo la
interacción con sitios web ya que permiten activar botones, recuperar datos de
formularios, mantener el estado de las cookies enviadas por el sitio web,
activar enlaces, seguir redirecciones, entre otras cosas.
Mechanize: http://wwwsearch.sourceforge.net/mechanize/
3.
BeautifulSoup:
XML, JSON, HTML y prácticamente todos los contenidos web, son
elementos que siguen un esquema concreto y que deben ser parseados para poder
extraer información útil. BeautifulSoup en una reconocida librería en
Python que permite analizar contenidos web y generar una estructura de datos
fácil de manejar por un desarrollador. Altamente recomendada para realizar
tareas de extracción de datos.
BeautifulSoup: http://www.crummy.com/software/BeautifulSoup/
4.
Scrapy:
Framework que permite realizar labores de web crawling sobre
sitios web y extraer datos estructurados de las páginas analizadas.
Scrapy: http://scrapy.org/
5.
Django:
Django es uno de los frameworks para desarrollo web más
conocidos en el mundo de Python. Cuenta con múltiples herramientas y librerías
que permiten el desarrollo ágil de sitios web robustos y escalables. Muchas de
las utilidades incluidas en este framework, son utilizadas por herramientas
enfocadas a la seguridad informática.
Django: https://www.djangoproject.com/
ENTORNOS DE RED
6.
Dpkt, Scapy
Librerías que permiten la captura y el tratamiento de
paquetes en un segmento de red. Se utilizan en herramientas enfocadas a la
detección de intrusos y maleware, así como también en herramientas que permitan
automatizar ataques contra ordenadores conectados en un segmento de red. Scapy
es probablemente, la librería más utilizada dado que soporta una considerable
cantidad de protocolos de red y cuenta con una API que es fácil de utilizar.
7.
Twisted:
Framework que permite implementar soluciones de red robustas
utilizando Python. Con twisted es posible crear clientes, servidores y
librerías que sigan con los estándares de protocolos de red tales como HTTP,
SMTP, POP, IMAP, FTP, SSL/TLS, entre otros.
Twisted: https://twistedmatrix.com/trac/
8.
FTPLib, SMTPLib, Paramiko:
Protocolos como FTP, SMTP o SSH evidentemente también tienen
cabida en Python. En este caso, las librerías FTPLib (soporte
clientes/servidores FTP), SMTPLib (soporte clientes/servidores SMTP) y Paramiko
(soporte clientes/servidores SSH) implementan todas las características
indicadas en cada uno de los protocolos mencionados.
FUZZING, MALEWARE ANALISYS Y REVERSING
9.
Cuckoo:
Se trata de un sandbox que permite analizar maleware,
exploits y virus en un entorno virtual independiente y separado de otras
máquinas en el segmento de red, con lo cual es posible monitorizar elementos
potencialmente peligrosos de una forma segura.
10.
Sulley Framework:
Framework destinado al desarrollo de casos de prueba (Fuzz
Files) para la detección de vulnerabilidades en Software. Permite la ejecución
de una máquina virtual que funciona como víctima y una máquina que funciona
como atacante. En la máquina de la víctima, permite iniciar monitores de
procesos y red, con el fin de detectar y registrar cualquier tipo de
vulnerabilidad, así como reiniciar el software objetivo de forma automática
para continuar con la ejecución de las pruebas.
11.
PyDBG:
Librería que permite implementar procesos de depuración y
“hooking” de funciones. Es posible utilizar esta librería para detectar de
forma automática, cualquier tipo de violación de acceso o fallo general sobre
el programa analizado. Del mismo modo que cualquier depurador de software (como
por ejemplo, WinDBG o Immunity Debugger) permite establecer puntos de
interrupción ante un evento determinado.
12.
Python API Immunity Debugger.
Immunity Debugger es un potente depurador para sistemas
windows que permite, entre otras cosas, crear scripts en Python que permitan
automatizar muchas de las tareas de depuración que frecuentemente se deben
llevar a cabo de forma manual. Un ejemplo del uso de esta librería es el
conocido script Mona.py desarrollado por el equipo de CoreLan.
Python API
Immunity Debugger: https://www.immunityinc.com/products-immdbg.shtml
13.
PyDASM:
Se trata de un wrapper de la librería LibDasm que permite
desensamblar programas y recuperar los opcodes correspondientes a un programa
de forma automatizada.
14.
PeFile:
Los ficheros ejecutables (.exe y .dll) en sistemas windows,
siguen el formato PE (Portable Executable) que permite la compatibilidad del
ejecutable en cuestión sobre diferentes versiones de Windows. Esta librería
incluye todos los elementos necesarios para extraer información sobre cada una
de las secciones incluidas en un fichero con formato PE.
15.
PaiMei:
Framework para
realizar tareas de ingeniería inversa que esta conformado por varios componentes extensibles (entre los que
se incluye PyDBG) y que permite la detección de vulnerabilidades y el
desarrollo de pruebas de concepto rápidas.
Se trata de una lista no exhaustiva de librerías, frameworks
y herramientas que son ampliamente utilizadas en proyectos de software
enfocados a la seguridad informática. La intención de este articulo ha sido
simplemente enumerar dichas librerías y explicar brevemente en qué consisten y
su importancia.
Estas y muchas otras, las puedes conocer en detalle en la
serie de vídeos sobre Hacking con Python que comienzan desde aquí: http://thehackerway.com/2014/02/04/hacking-con-python-parte-1-banner-grabbing/
Saludos y Happy Hack!
Autor: Adastra
Blog: http://thehackerway.com
Blog: http://thehackerway.com
23 feb 2014
Por Juan Antonio Calles el 23 feb 2014 con 0 comentarios
Buenas a todos, como cada domingo compartimos con vosotros nuestros “Enlaces de la semana”:
Lunes 17 de Febrero
- El lunes arrancamos la semana con DDoS: Ataques de amplificación basados en el protocolo UDP
Martes 18 de Febrero
- El martes anunciamos el Fin de semana hacker en el #RootedArena, y que se está celebrando en estos momentos.
Miércoles 19 de Febrero
- El miércoles Pablo nos trajo el artículo: Ciberatacantes influyen en cotizaciones y trading con DDoS by Prolexic
Jueves 20 de Febrero
- El jueves Juan Luis nos habló de un simulacro de: Ataque Distribuido de Denegación de Servicio (DDoS) mediante reflección NTP, desde y contra una red científica
Viernes 21 de Febrero
- El viernes, publicamos la agenda final para el URJC TechFest 2014, en la que Pablo y Carlos representarán a Flu Project, hablando sobre la seguridad en el Internet de las Cosas.
Sábado 22 de Febrero
- Ayer estuvimos junto con Angelucho, Blanca Tulleuda y Josep Albors en Alcorcón, impartiendo unas mini-jornadas sobre Seguridad en la red para padres.Una experiencia muy gratificante, acercándoles Internet y ayudandoles a conocer de antemano los peligros que encierra para que puedan evitarlos.
Saludos!
22 feb 2014
Por Juan Antonio Calles el 22 feb 2014 con 1 comentario
Buenas a todos, hoy a las 17:00h nos vamos parte del equipo de X1RedMasSegura, encabezado en esta ocasión por nuestros compañeros de fatigas, Angelucho, Blanca Tulleuda y Josep Albors, al colegio San Juan de Mata de Alcorcón (Madrid), para impartir unas Jornadas de concienciación sobre seguridad en Internet para los padres de los alumnos del colegio.
A continuación os dejo con la agenda de las jornadas:
17:15
- Ponente: Josep Albors.
- Duración: 30 minutos.
- Título: Ordenador infectado. Beneficio asegurado.
- Descripción: A pesar de que se ha ido concienciando a los usuarios sobre lo peligrosas que son las amenazas informáticas, aun hay mucha gente que no se preocupa en proteger sus sistemas porque no consideran que sean un objetivo lo suficientemente atractivo para los cibercriminales. En esta charla veremos que se puede hacer con un ordenador infectado, sin importar que se trate de una multinacional o de un usuario medio para que nos concienciemos de una vez de que se pueden obtener muchos y valiosos datos y recursos hasta del ordenador considerado como más insignificante.
17:45
- Ponente: Juan Antonio Calles.
- Duración: 30 minutos.
- Título: Claves para una navegación segura.
- Descripción: Durante la ponencia se analizarán algunas de las claves más importantes para navegar seguro en Internet, a través de ejemplos y con varias experiencias de casos reales.
- Ponente: Ángel Pablo Avilés.
- Duración: 30 minutos.
- Título: Menores y su cibermundo.
- Descripción:
- Nociones generales sobre Internet y los menores.
- Bondades y Virtudes de la red en su cibermundo.
- Peligros que les acechan y como identificarlos.
- El Ciberacoso en el ámbito escolar (Ciberbullying, sexting, ciberbaiting)
- El Grooming ( Fases y consecuencias)
- Perfil de un ciberdepredador
- Ponente: Blanca Tulleuda.
- Duración: 30 minutos.
- Título: Soy feo, fuerte y formal.
- Descripción: El concepto de familia es actualmente amplio y no existe escuela de cómo educar a nuestros hijos en esta nueva sociedad donde el estrés, la globalización, y la rutina pueden hacernos perder el foco sobre el por qué, cuándo y cómo usan y se enfrentan al mundo digital y virtual nuestros pequeños. Debemos fortalecer el compromiso como familia con la escuela y la sociedad también en lo relativo al uso de las nuevas tecnologías. Y nunca parar de esforzarnos por aprender esto que para nosotros es solo una herramienta en un ordenador, y que para ellos es su forma de vida: viven conectados. Nuestra experiencia vital como adultos les ayudará a conocer y evitar caer en los peligros de la Red que les acechan constantemente. Y que lo evitemos garantizara que le saquen el mayor provecho de uno de los mayores “inventos” de la historia de la humanidad. Recorramos este camino en una breve charla.
- Turno de preguntas
En principio la entrada al evento está limitada exclusivamente a los padres de los alumnos, porque las plazas del salón de actos del colegio son escasas, pero si alguno tenéis mucho interés en asistir podemos intentar haceros un hueco (aunque se de pie :) )
Saludos!
21 feb 2014
Por Juan Antonio Calles el 21 feb 2014 con 0 comentarios
Buenas a todos, ya ha sido publicada la agenda final para el evento URJC TechFest 2014. Serán dos días muy intensos de interesantes charlas relacionadas con el mundo de la robótica, la seguridad, las impresoras 3D y el Internet de las cosas.
Por parte de Flu Project estarán Pablo y nuestro amigo y compañero de oficina Carlos, para hablar sobre la seguridad en el Internet de las Cosas.
A continuación os dejamos con la agenda final del evento:
--- Miércoles 26 ---
- 09:30 - Presentación
- 10:00 - Investigador del Datcia : Introduccion a las placas de Desarrollo
- 10:50 - Break
- 11:00 - Carriots , el internet de las cosas
- 12:00 - //Descanso
- 12:10 - Impresoras 3D - BQ**
- 13:00 - Break
- 13:10 - Hardware libre
- 14:00 - //Comida
- 16:00 - Francisco Javier Zorzano : Telefonica I+D
- 16:50 - Break
- 17:00 - Cooking Hacks - e-Health
- 17:50 - //Descanso
- 18:10 - Proyectos de Sistemas Empotrados..
--- Jueves 27 ---
- 10:00 - David rios ,Introduccion a la robotica
- 10:50 - Break
- 11:00 - Robots - BQ **
- 12:00 - //Descanso
- 12:10 - RoboCup
- 13:00 - Break
- 13:10 - Robo Earth Universidad de zaragoza
- 14:00 - //Comida
- 16:00 - Masteres URJC
- 16:50 - Break
- 17:00 - Personal Robotics como construir un robot
- 17:50 - //Descanso
- 18:10 - Robotica Aerea : Drones
- 19:00 - Break
- 19:10 - Flu Project - IoT: Hello World! bye privacy?
- 20:00 - Acto de clausura
El evento está patrocinado por empresas de la talla de bq, cooking hacks o nuestros amigos de Carriots. Si tienes oportunidad de asistir no te lo pienses, la entrada es gratuita, pero las plazas son limitadas.
Saludos!
20 feb 2014
Por Juan Antonio Calles el 20 feb 2014 con 0 comentarios
INTRODUCCION
Uno de los puntos débiles en la securización y
monitorización de redes es la aparición
de alguna vulnerabilidad en nuestra infraestructura vinculada al protocolo UDP,
ó un servicio que se sirva de él para la capa de transporte, pues es complicada
la detección. Esto es debido a:
1. Como bien comentó Ramón Pinuaga de s21sec
[1], el proceso de funcionamiento
clásico de un scanner de red se fundamenta en:
- Explorar los puertos abiertos.
- Determinar el tipo de servicio y la versión del software utilizado (normalmente a través del banner).
- Determinar si el servicio o la versión del software está afectado por alguna vulnerabilidad.
- Presentar un informe de lo encontrado.
Y frente a este modo de funcionamiento encontramos la oposición por la
ambigüedad con la que responde UDP (“ICMP_PORT_UNREACHABLE”),
para los estados filtrado y cerrado, y la dificultad que implica para la
identificación que solo responda a peticiones especificas del protocolo de
aplicación específico que escucha en él.
2. Por otro lado el análisis del tráfico UDP, del rango
de direcciones públicas en una red científica, como la que vuelve a ocupar mi
jornada laboral, omitiendo la restricción que he comentado en otras ocasiones
de lo comprometido de analizar ó no el tráfico de los usuarios, es que alcanza
un volumen ingente.
Coincido con Ramón Pinuaga en que algunos, entre ellos
administradores en mi opinión, piensen: "bueno, los
servicios UDP son marginales". En mi experiencia UDP es la chica
fea del baile frente a TCP, y es posible que no esté en el recuerdo de los administradores
de redes al establecer las reglas de configuración del cortafuegos en los
routers, o de los administradores de sistemas al securizar las configuraciones
de los servicios que lo utilizan para transporte.
Pero si algo me enseñan los atacantes en el día a día, es
que siempre se nos pasa algo hermosamente simple y elemental de explotar por alto. Porque la
belleza en la seguridad informática, desde mi punto de vista, no está siempre
en explotar una enrevesada vulnerabilidad a través de un puerto, haciendo uso
de un desbordamiento de pila o de buffer en el servicio que se comunica a
través de él, originado por estar implementado con una librería que usa un
vector estático en la línea 2 millones de su código, y oportunamente lanzado
por el “super-usuario” durante el arranque. Cuando un usuario con conocimientos
básicos se descarga un script kiddie, lo lanza con una simple instrucción, a
ser posible con los mínimos parámetros, y “arde Roma”, esquivando las
configuraciones de cortafuegos y securización del sistema, ahí es cuando me
quito el sombrero y solo queda decir “touché”.
Por eso y motivado también por el artículo [5]
de Pablo González @pablogonzalezpe,
que dio la casualidad que se publicó mientras redactaba estas líneas, he
decidido simular y comentar uno de los ataques más interesantes que ocupan
algunas de las incidencias de seguridad que he llevado actualmente. Esto es la
realización de denegación de servicios a terceros empleando equipos vulnerables
de la red R.I.C.A a través del servicio NTP, y que por ir sobre UDP, ha pasado
bastante desapercibida su detección.
¿QUE ES NTP?
Es un servicio y sirve información temporal, ¿fácil verdad?
¿Y dónde lo podemos localizar y con qué fin último?, pues
por ejemplo:
1. En un sistema multiservidor, para no configurar a mano la
hora del sistema de cientos de equipos, lo cual sería una locura. Además es
interesante que dichas horas, no solo sean aproximadas a la real, sino que
estén sincronizadas de cara a la coherencia en los logs generados a partir de
distintas fuentes. O dicho de otra manera, en una “granja de servidores” para
dar servicio web, o un cluster para dar servicio de supercomputación al
personal investigador.
2 En servidores dedicados a virtualización, para sincronizar
el anfitrión y los huéspedes. O dicho de otra manera, en servidores corriendo
VMware esxi/esx para dar servicio de cloud o recursos virtualizados de otra
naturaleza.
3 En routers empresariales, con la finalidad de obtener
coherencia en la monitorización de tráfico de red. O dicho de otra manera, las
gateway que unen entre sí y dan salida al exterior a las distintas subredes.
4 En las transferencias de bases de datos de aplicaciones
multired. O dicho de otra manera en una aplicación de gestión de recursos de
personal que utilice el personal administrativo.
Como podemos ver, si nos ponemos a pensar, este servicio
está muy presente en grandes redes para tareas monitorización, coordinación y
configuración, pero curiosamente pasa desapercibido junto con el resto del
tráfico que depende de UDP como protocolo de transporte.
FUNDAMENTO DE LA DENEGACION DE SERVICIO
DISTRIBUIDA MEDIANTE REFLECCIÓN
Vamos con la “chicha”, y veremos lo tremendamente sencillo y
peligroso del asunto. Hay tres términos claves en la referencia de estos
ataques. Denegación de servicio, Reflección y Distribuida
Denegación de
servicio: El fundamento es simple, un productor de respuestas es colapsado por uno o varios
consumidores (productores de preguntas). Si la relación mínima
productor:consumidor para llegar al colapso es de 1:1, ya estamos ante una
vulnerabilidad realmente peligrosa.
En este caso la trama/pregunta de origen, da lugar a miles
de tramas/respuestas, sin control en número de
peticiones de servicio e identidad de quien la solicita dichas
respuestas.
El “principio activo” en concreto es el comando monlist,
presente la versión 4.2.7 y anteriores de NTP. Este nos devuelve la lista de
los 600 últimos hosts que conectaron con y el servicio.
Fig1: Salida del comando monlist al servicio NTP.
Si hacemos una prueba con wireshark podemos observar la
relación entre el trafico UDP enviado y recibido.
Fig2: La trama 2 (pregunta) tiene un tamaño de 234 bytes, frente a 43958 bytes de la respuesta, de un total de 44192 bytes de tráfico generado por el dialogo UDP. Esto es una relación de 1 frente a 187.
Llegado a este punto, el ataque empieza a ser interesante,
pero no deja ser una simple denegación de servicio, le falta cierta “gracia”.
Por ejemplo:
- La víctima puede “ver” directamente al atacante y se registran comunicaciones que vinculan atacante y víctima.
- Estamos limitados a que la víctima este sirviendo NTP.
- Sino necesitamos la colaboración de varios atacantes, es por lo que comentamos del tamaño de la respuesta. Esto no suele ser lo habitual.
Reflección y Distribuida:
Varias respuestas de fuentes distintas, inciden en un solo punto, que para el caso
no es quien realizo las preguntas (atacante), si no por quien se hizo pasar el
atacante (víctima) falsificando su identidad, hizo “spoofing”. Es decir se
busca proyectar la denegación de servicio utilizando de pasarela y
amplificadores de tráfico a los servidores NTP, en equipos no relacionados directamente con el servicio.
Con el siguiente dibujo queda más claro, y ya de paso ejemplarizamos los
escenarios del experimento que vendrá a continuación.
Fig3: Escenarios 1,2 y3 planteados para el ejercicio de simulación.
Todo lo anterior unido es una bomba de relojería y si no
está familiarizado con la seguridad en equipos y redes, en el análisis de
riesgos al final lo comentaremos.
ACTORES DEL SIMULACRO
Atacante
Servidor NTP implicado
en la denegación de servicio (150.214.x.y
visto desde fuera).
~# nmap -sU -sS –A 150.214.n.m
MATERIAL BASICO
Para llevar a cabo la simulación del ataque vamos a
necesitar de un
a lista de equipos susceptibles a ser empleados para el ataque de reflección NTP y una herramienta que nos facilite la explotación.
A. Las máquinas que utilizaremos para la reflección las encontraremos mediante nmap. Nmap tiene vida más hallá del escaneo de puertos y permite utilizar scripts desarrollados para el NSE (Nmap Scripting Engine), en este caso nos permite consultar la existencia del comando monlist en NTP y que nos devuelve.
a lista de equipos susceptibles a ser empleados para el ataque de reflección NTP y una herramienta que nos facilite la explotación.
A. Las máquinas que utilizaremos para la reflección las encontraremos mediante nmap. Nmap tiene vida más hallá del escaneo de puertos y permite utilizar scripts desarrollados para el NSE (Nmap Scripting Engine), en este caso nos permite consultar la existencia del comando monlist en NTP y que nos devuelve.
~# nmap -sU -pU:123 -Pn -n --script=ntp-monlist 150.214.0.0/16
B. El método anterior requiere de tiempo y recursos, es elegante pero aún se podría hacer más a nivel de usuario básico. Si no buscamos involucrar equipos de una procedencia concreta, servicios de registro de incidentes en seguridad mal planteados comparten y nos dan todo el material de manera extremadamente simple. Por ejemplo el de skial.com[2] con hosting en CloudFare[3].
Fig3: La información sobre ataques interceptados debe ser manejada con cuidado, pues expone equipos explotables.
HERRAMIENTA DE DENEGACIÓN DE SERVICIO
Ntpdos.py [4]
es un script en python, obra de vpnboy, que nos permite lanzar el ataque de
manera simple y muy efectiva. No voy a entrar a analizarlo en profundidad, pero
si hay que mencionar que permite lanzar hebras, una por servidor NTP
vulnerable, de una lista en un fichero de texto, y que envía en bucle una trama
a medida, ensamblada mediante la librería scapy, para el caso, UDP con origen
la ip “spoofeada” y de payload el comando monlist.
|
Fig4: La
primera trama (pregunta), de “ntpdc –c monlist <ip>”, capturada con
wireshark permite obtener el payload que utiliza ntpdos.py.
|
data = "\x17\x00\x03\x2a" +
"\x00" * 4
…
#BUILD IT
packet = IP(dst=ntpserver,src=target)/UDP(sport=48947,dport=123)/Raw(load=data)
#SEND IT
send(packet,loop=1)
SIMULACRO
Manos a la obra, vamos a entrar en acción y replicar y/o comentar cada uno de los escenarios.
Escenario1
El primer ataque simula un ataque ideal, desde fuera de la red R.I.C.A, a través de host internos y hacia una víctima interna.
Para este escenario no se observaba actividad alguna en el tráfico de la víctima. Probando con “hping3 --udp 150.214.x.y --spoof 150.214.n.m”, confirmamos del lado de la víctima, que los routers del camino hacen su trabajo y no llega tráfico “spoofeado” a ella. Mala suerte.
Escenario2
El segundo escenario es desde un atacante interno, usando para la reflección hosts internos y contra una víctima interna de la red R.I.C.A.
Este escenario es muy interesante, si bien los routers hicieron su trabajo y no permitieron directamente el ataque NTP, obsérvese el mensaje “Communication Administratively Prohibited”. Si se genera tráfico de red ICMP, aunque no para todos los atacantes implicados, avisando de que el destino es inalcanzable. Esto dependiendo del número de servidores vulnerables que empleemos para el ataque y su ancho de banda puede llegar a ralentizar la red y la víctima de manera indirecta por tráfico ICMP. Potencialmente es factible hacer una denegación de servicio.
Escenario3
El tercer escenario es un ataque desde fuera de la red R.I.C.A, valiéndose de servidores NTP internos, haciendo reflección contra un host externo a dicha red. La información es la capturada por la víctima externa y que denunció en su día el incidente al correo abuse de Red-Iris.
Se puede observar como el ataque recibido, desde el exterior, utilizando servidores NTP internos y con reflección hacia fuera alcanza a su objetivo (lo que recibe la victima son respuestas). Si echamos un vistazo con instrucción monlist al servidor NTP involucrado confirmamos que solo se realizaron consultas externas, algunas muy insistentes, como muestra el valor count de las estadísticas.
ANALISIS DE RIESGOS
El ancho de banda puesto a disposición para los usuarios de
las redes científicas es bastante elevado.
Esto implica que una vulnerabilidad presente en un equipo
conectado a la red y que permita emplearlo dentro de un escenario de denegación
de servicio, se convierta en un arma bastante eficaz.
Fig5: Esto es lo que uno de “la vieja guardia” me definió como “estar pinchado al cable gordo”.
No lo he mencionado anteriormente pero es posible dar una
vuelta de tuerca más a los escenarios planteados en el simulacro. Imaginemos
que alguno de los equipos que dan
servicio NTP tiene lo que comúnmete se llama una “pata” en una red privada o en
la zona militarizada (MZ) de la red, y que este por descuido tuviera activado
el forwarding entre patas de dicha máquina en las dos redes, esto supondría una
fractura en la seguridad perimetral, y permitiría atacarla indirectamente
mediante flooding NTP.
Finalmente comentar la problemática que suponen estos
ataques no ya por lo peligrosos sino también porque implican a terceros, lo
cual en la legislación de algunos países se contempla como delito, incluso acto
de guerra si los objetivos son militares.
Me despido dando las gracias al “amo” Pablo (“La Maldad” mi
jefe del trabajo) que me dio la oportunidad de seguir jugando en la “cueva” (#cosasDeLaCueva)
junto con @rgonza y @lone_chanero.
Artículo cortesía de Juan Luis Martin Acal.