31 agosto 2014

Enlaces de la SECmana - 239




Leer más...

27 agosto 2014

Taller de Seguridad Perimetral en Navaja Negra #NN4ED con @cyberoam







Como ya anunciamos en Security By Default, y está ya en boca de todos, la cuarta edición del Congreso de Seguridad Navaja Negra, está a la vuelta de la esquina!! 

Aunque ya lo ha comunicado la organización de Navaja Negra, en la edición de este año, Cyberoam (como patrocinador del evento) y Securízame (como colaborador), tendrán participación activa en un taller de Seguridad Perimetral de dos horas de duración.

En este taller, cuyo título oficial es: "Securízate! Buenas Prácticas de Configuración de Sistemas de Seguridad Perimetral", daré un subset del curso que he dado en otros eventos de seguridad, como el ACK Security Conference en Colombia, PeruhackCON 2013, o No cON Name en 2012, y que está en la web de Securízame para ser impartido online en su totalidad, cuando haya aforo suficiente, así como disponibilidad de fechas en mi agenda, cosa que está bastante complicada últimamente.

En este taller, normalmente, suelo contar cómo configurar o disponer, en la topología de una red, diferentes herramientas, libres o comerciales, que nos ayudan a disponer de un control y de una monitorización mayor de la actividad de nuestras redes, así como la prevención de diversos ataques, a nivel perimetral, no confiando en los posibles fallos de seguridad o defectos en la configuración, que incorporen las aplicaciones o servicios expuestos a Internet tras dichas barreras de contención.

En esta ocasión, y con una duración de dos horas, mostraré cómo llevar a cabo varias de esas labores, como configurar correctamente, entre otras cosas, una política de reglas de firewall, IPS, WAF, Antispam, análisis de tráfico saliente, QoS, etc,... de la forma más óptima posible (según mi experiencia), utilizando como base un appliance CR25iNG del fabricante Cyberoam.

El taller será de acceso libre y gratuito (hasta llenarse el aforo) e incluido en la entrada, al igual que los demás (que por cierto también tienen una pinta increíble), de manera que permitirá a los asistentes aprender Buenas Prácticas de configuración de sistemas de seguridad perimetral, incluidos dentro de los UTM de Cyberoam.

Como punto importante, es que el sponsor ha ofrecido un dispositivo Netgenie, el hijo menor de Cyberoam, orientado al mercado SOHO o casero, para ser sorteado al final del taller, entre los asistentes al mismo.

Nos vemos en Albacete a primeros de Octubre y espero que disfrutéis el taller!!



Leer más...

26 agosto 2014

screenshot all the things! - un paseo por x11

Mucho ha llovido desde que en 2011 nació shodab, mi pequeño juguete que almacena información del direccionamiento IP de España. Ahora, analizar todo Internet es cosa de niños y hay muchas y mejores herramientas que facilitan y optimizan esta tarea.

Cuando leí sobre la iniciativa de screenshot all the things decidí integrarla en mi base de datos, pero además de usar VNC, añadiendo algo más; servidores X11 abiertos. Un giro de tuerca más a lo que  publicó en su momento @Viss.

Sirva esta entrada como ejemplo de uso de algunas herramientas y del típico jiji-jaja que tanto nos gusta en el mundo de la seguridad. Además,  tal y como dice Robert Graham en su charla de Defcon:

It’ll make you famous
– Pick a target, like a Siemens control system
– Scan the Internet for it
– Do a BlackHattalk
– Get in the news

.. Aunque creo que esta parte se la dejaré a alguno de nuestros lectores ;-)

Lo primero es identificar servidores X11 accesibles desde Internet, para ello se puede usar cualquier herramienta para analizar puertos, aunque las optimizadas para este propósito son: zmap y masscan. Pongo un ejemplo de cada una de ellas.

La siguiente ejecución lanzará zmap limitando el ancho de banda y a un número de 100.000.000 de direcciones IP distintas. Por tener una aproximación; de mi análisis 62.000 IPs tenían el puerto abierto. El resultado de esta ejecución se almacenará en un fichero CSV que tan solo contiene un listado con las direcciones IP que tienen el puerto abierto.

[root@el8 ~]# zmap --bandwidth=30M --target-port=6000 --max-targets=100000000 --output-file=results.csv
Aug 24 11:18:22.618 [INFO] zmap: output module: csv
 0:00 0%; send: 0 0 p/s (0 p/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00%
 0:01 0%; send: 23037 23.0 Kp/s (22.7 Kp/s avg); recv: 8 7 p/s (7 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.03%
 0:02 0%; send: 58624 34.0 Kp/s (28.4 Kp/s avg); recv: 29 20 p/s (14 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.05%
 0:03 0%; send: 88526 29.9 Kp/s (28.9 Kp/s avg); recv: 48 18 p/s (15 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.05%

La misma ejecución con masscan. En este caso se excluyen algunos rangos, como direccionamiento IP reservado y se almacena la salida en formato "grepeable", que es el mismo formato que el de Nmap "grepeable".

En este caso, como no quería analizar todo Internet al cabo de un rato acabé pulsando ^C para abortar la ejecución y obtener los resultados.

[root@el8 ~]# masscan -p6000 -oG 6000.grep 0.0.0.0/0 --excludefile ../data/exclude.conf -v 
../data/exclude.conf: excluding 122 ranges from file
resume: empty parameter
initializing adapter
eth0: type=0x   1
pcap: libpcap version 1.4.0
pcap:'eth0': successfully opened
rawsock: looking for default gateway
adapter initialization done.

Starting masscan 1.0.3 (http://bit.ly/14GZzcT) at 2014-08-24 10:06:44 GMT
 -- forced options: -sS -Pn -n --randomize-hosts -v --send-eth
Initiating SYN Stealth Scan
Scanning 3969790205 hosts [1 port/host]
recv: start receive thread #0,   0:00:00 remaining, found=0       
begin receive thread
xmit: starting transmit thread #0
maxrate = 100.00

Y saqué del grepeable de masscan un listado de IPs simple como el de zmap:

[root@el8 ~]# cat 6000.grep|awk '{ print $2}'|grep -Ev 'Mass|Ports'>6000-open.txt

Con el listado de direcciones IP hay que averiguar cuáles de ellas tienen permitido el acceso, ya que X11 en todas las distribuciones linux y sistemas unix que conozco su acceso remoto está bloqueado por defecto. Para esta tarea una buena opción es usar nmap y el script "x11-access".

[root@el8 ~]# nmap -v -Pn -n -p6000 --script=x11-access -v --open -iL 6000-open.txt-oA accessgranted
Starting Nmap 6.47 ( http://nmap.org ) at 2014-08-24 07:29 EDT
NSE: Loaded 1 scripts for scanning.
NSE: Script Pre-scanning.
NSE: Starting runlevel 1 (of 1) scan.
Initiating SYN Stealth Scan at 07:29
Scanning 301 hosts [1 port/host]
Discovered open port 6000/tcp on xx.xx.247.49
Discovered open port 6000/tcp on xx.xx.23.9
Discovered open port 6000/tcp on xx.xx.199.130
Nmap scan report for xx.xx.23.9
Host is up (1.8s latency).
PORT     STATE SERVICE
6000/tcp open  X11
|_x11-access: X server access is granted

La salida del nmap guardará en todos los formatos (-oA) con nombre "accessgranted" los resultados. De ahí solo interesan aquellos que la salida del script sea "server access is granted" como en el ejemplo del cuadro superior. De ese resultado, a esas IPs se les podrá hacer un screenshots o incluso interactuar con las aplicaciones, poner un keylogger, etc...

De las 62.000 IPs con el servidor X11, se reducen a unas decenas vulnerables.

[root@el8 ~]# grep -B4 granted accessgranted.nmap|grep scan|awk '{ print $5}'> IPshot.csv

El pantallazo se puede hacer de muchas formas, con "import" de ImageMagick, con la herramienta "shutter", pero yo decidí utilizar "xwd" que viene en el paquete "x11-apps" y convertirla a png con "convert", también de ImageMagick.

[root@el8 ~]# for ip in `cat IPshot.csv`; do 
echo $ip
timeout 180 xwd -root -display $ip:0 | convert xwd:- /tmp/screen-$ip.png
done

En el bucle anterior metí un timeout porque en ocasiones tardaba demasiado en traer la información o dar error. De esta forma aseguro que el bucle no es infinito y termina en un periodo razonable de tiempo.

Y aquí solo algunos ejemplos de lo capturado (click para ampliar).  Me llamó la atención el elevado número de veces que aparece "honeywell", parece que por defecto estos sistemas son vulnerables. También hay muchas pantallas en negro (que no están ejecutando nada) y que me ahorro poner.

















Leer más...

25 agosto 2014

Novedades en el Congreso No cON Name #ncn2k14

Ya está todo planificado para el evento de seguridad informática y hacking con más solera del país que tendrá lugar desde los días 29 de octubre a 1 de Noviembre:

  • 16 Ponencias/Talleres confirmadas, en esta edición se ha apostado para que las ponencias sean más cortas: 30 min. y los talleres 50min. De hecho, este año me estrenaré como ponente en NcN, en la que participé en una edición anterior en una mesa redonda (durante los 5 primeros minutos como moderador y luego como invitado), pero en la que nunca he dado una charla. La exposición que daré en NoConName se titula "CSI Madrid S13E37 – спасению" en la que hablaré sobre las sorpresas que me encontré a la hora de hacer un peritaje forense. Espero que guste a los asistentes y que sobre todo resulte educativo.
  • 2 coloquios: El público tendrá posibilidad de participar con los asistentes. "NEUTRALIDAD en LA RED" será moderado por el periodista experto en IT Xavier Vidal y en el que se espera contar con la participación de representantes de los carriers que proveen el servicio de Internet (ISP), representantes de los productores audiovisuales que podrán imponer la ley del más fuerte económicamente si se rompe la Neutralidad en la Red y estudiosos del tema.
  • 6 Formaciones que sirven como parte de la autofinanciación del evento. Se hace cada vez más difícil que las empresas consultoras de seguridad informática inviertan en márketing.
  • KeySigning Party: retomando una vieja práctica que ya se hacía en la primera etapa en Mallorca, se fomenta que voluntariamente usuarios que quieran intercambiar las firmas GPG/PGP para cifrado y firmado lo hagan in situ y verifiquen su identidad. Se ha preparado un formulario en la web para enviar información preliminar. 
¡Esta es la ocasión para asistir! No te olvides que el día 1 de Septiembre acaba la inscripción temprana por 35€. No lo dejes correr :)

Leer más...

24 agosto 2014

Enlaces de la SECmana - 238


Leer más...

23 agosto 2014

Aprende jugando: game of hacks

Si algo ha estado siempre de moda en el mundo de la seguridad es la ludificación. Posiblemente sea uno de los motivos por los que centenares de jóvenes todos los años quieren adentrarse en el mundo del hacking. Verse como intrépidos y jóvenes Indiana Jones, que resuelven puzzles tecnológicos evitando obstáculos y controles puestos por antiguas culturas, es razón suficiente para aprenderse los accesos rápidos de WinDBG.

Con este propósito la compañía CheckMarx, una de las punteras en soluciones para la auditoría de código, ha creado el juego Game Of Hacks.

En este juego tipo test nos mostrarán códigos vulnerables y mediante preguntas obtendremos una puntuación basada en el tiempo. El juego en todos sus niveles se puede completar en un par de minutos, ya que solo son 5 preguntas en cada uno de sus tres partes: Beginner, Intermediate y Advanced.

Una buena pero breve iniciativa para despertar interés en las auditorias de código y tener una primera aproximación de nuestros conocimientos en las distintas vulnerabilidades y lenguajes.


Por supuesto, el dashboard con la clasificación, ya ha sido trolleado. ¡¡Viva Internet!!
Leer más...

21 agosto 2014

¿Es delito el hacking ético?




Últimamente, y con cierta periodicidad, leemos en El Mundo artículos relacionados con Seguridad Informática y Hacking, de la mano de Mercè Molist, reconocida periodista focalizada en el sector desde hace muchos años, con iniciativas tan interesantes como la recopilación de la Historia del Hacking y sus protagonistas en el proyecto Hackstory.

La última de las entregas que he podido leer, y que ha generado gran controversia en listas de correo como RooteCon y NoConName, tiene que ver con una entrevista realizada a tres profesionales del derecho en “¿Es Delito el Hacking Ético? (II)

El artículo, que habla por sí mismo, presenta tres visiones diferentes ante cómo enfocar el mismo problema, con más dureza en el caso de Ángel Vallejo, que considera que: “Quien quiera que le hagan un "pentest" (de "penetration testing", auditoría de seguridad) ya lo pedirá” e instando a que nadie meta la nariz donde no le llama, aunque se descubra la vulnerabilidad por “accidente", o aunque sea un servicio que utilizas y gestiona tus datos personales, y no te tiene que importar qué medidas de seguridad se han tenido en cuenta para su protección.

Me gustaría aportar mi opinión a lo que se indica en este artículo, de forma independiente a las valoraciones que he leído en ambas listas de correo.

El artículo al que se hace referencia es el 197.3 del código penal, también llamado “ley del hacking”, está 'tan bien redactado' como sigue: 

"El que por cualquier medio o procedimiento y vulnerando las medidas de seguridad establecidas para impedirlo, acceda sin autorización a datos o programas informáticos contenidos en un sistema informático o en parte del mismo o se mantenga dentro del mismo en contra de la voluntad de quien tenga el legítimo derecho a excluirlo, será castigado con pena de prisión de seis meses a dos años."

Hago hincapié en lo de “bien redactado” (de forma irónica) porque dice que quien vulnere las medidas de seguridad, acceda a datos de un sistema…  Ehm… un momento, si puedo acceder a datos no deseados es que NO HAY medidas de seguridad que protejan ese acceso. Es el clásico ejemplo de que haya medidas de seguridad para no exponer a Internet el servicio MySQL, pero hay un frontal web que tiene un SQL Injection que me permite extraer la base de datos completa. 

En algún juicio me ha tocado, en el papel de perito, demostrar que un cliente no ha vulnerado “las medidas control de acceso a un sistema” para copiar información a otra localización, puesto que su usuario tenía permiso para ello. Es decir, que no ha tenido que explotar una vulnerabilidad en un servicio para acceder a datos a los que con su usuario no podría.   

En el caso del formulario que hace una consulta a una base de datos, en el que si le dices “Dame la base de datos entera”, éste te la da, no lo considero un delito, puesto que el sistema incorpora una funcionalidad por la que introduciendo un valor válido en un parámetro, me devuelve una respuesta. Si ésta no ha sido tenido en cuenta por el programador que diseñó la aplicación web, no es mi problema, pero según la redacción de la ley, en mi opinión (que no es la que vale, sino la del juez), no es delito. Evidentemente, en este caso, lo que hay que hacer es reportarlo convenientemente e indicar cómo se explota. Tampoco es necesario llevarse la base de datos completa para demostrar esto. Basta con hacer un “desc” a una tabla para que sirva de prueba. El problema es aguantarse el morbo de traerse las filas de cada tabla, pero eso depende de la ética de cada uno.

Por parte de la empresa u organización reportada, sólo le queda confiar en que quien le ha notificado el problema, tiene la suficiente honradez para no traficar con los datos contenidos en esa base de datos. Desde mi punto de vista, si lo notifica, es que tiene esa honradez, puesto que si no, no diría nada y utilizaría la información extraída a su conveniencia. 

Igualmente, en el caso de reportar un XSS, en mi opinión se repite el patrón: Si tu aplicación web no escapa determinados caracteres en todos los parámetros, teniendo en cuenta evasiones mediante encodings y otras técnicas, no se están evadiendo las “medidas de seguridad establecidas” puesto que NO LAS HAY!!   Aquí además me gustaría diferenciarlo entre si el XSS es persistente o reflejado, puesto que en el caso de un persistente, sí que estoy dejando un código en el servidor, por ejemplo como comentario en un post (que por cierto, lo almacena el propio servidor web en un servidor de base de datos, normalmente) de un reflejado, en el que no se modifica en ningún momento valor alguno en el servidor, sino que se referencia un fichero/imagen/recurso de otro sitio, como por ejemplo el sonado caso de la web de la Presidencia Española del Consejo Europeo. En este caso, ¿dónde está el delito? ¿Por qué acojonarse entonces al reportar esta vulnerabilidad? Pues porque cuando se trata de juicios, y que haya una interpretación personal de por medio ante la redacción de una ley, y que por hacer un favor, de forma responsable, a la organización que tiene la vulnerabilidad, puedas salir perjudicado es cuanto menos, poco justo.

Es decir, que por una parte, y vuelvo a hacer hincapié en “según mi forma de verlo”, el artículo 3 de la ley 197 está mal redactada desde el principio, para este caso, que es el ejemplo que se ilustra típicamente sobre publicar en pastebin los datos extraídos, aunque esto sí que está contemplado en el artículo 197.4 (a mí entender cubriendo el gap del punto 3 correctamente), por lo que, mientras el investigador no publique los datos extraídos del sitio, no debería estar cometiendo un delito.

"4. Se impondrá la pena de prisión de dos a cinco años si se difunden, revelan o ceden a terceros los datos o hechos descubiertos o las imágenes captadas a que se refieren los números anteriores.
Será castigado con las penas de prisión de uno a tres años y multa de doce a veinticuatro meses, el que, con conocimiento de su origen ilícito y sin haber tomado parte en su descubrimiento, realizare la conducta descrita en el párrafo anterior."

Por supuesto la conclusión del abogado Ángel Vallejo, sobre “Quien quiera una auditoría de seguridad, ya la pedirá” es confiar demasiado en que las normativas existentes y el miedo a las multas por incumplimiento se encargarán de que todo “esté seguro”. 

Si el derecho y la justicia fuesen por delante del fraude y el cibercrimen, éstos últimos no existirían,… y estamos hartos de ver incidentes de seguridad de forma diaria que involucran millones de euros de propiedad industrial e intelectual extraídas, así como información “imponderable” relativa a información tan sensible como los datos de salud de personas humanas

Que conste que este post no es, en ningún momento, una incitación a meter comillas, %27 o >, en cuanto formulario web nos encontremos, con la única finalidad de "ayudar", porque yo no seré el juez que tenga que interpretar vuestros hechos contra las leyes y determinar si fue de buena fe o no.
Leer más...

20 agosto 2014




En Securízame, desde que hemos estado impulsando cursos de formación, siempre hemos tenido claro que nuestro objetivo era tratar de ofrecer temáticas con alta demanda y que no estuviesen saturadas. En el mercado existen muy buenos cursos y excelentes formadores que ofrecen temas muy relevantes altamente recomendables.

No obstante, la idea siempre ha sido ir un paso mas allá y adentrarse en conceptos que fuesen novedosos. Por eso es que para nosotros resulta muy excitante la idea de crear cursos que luego generan un "feedback" potente y que nos incentivan a seguir en esta línea.

En esta ocasión, hemos creado un curso que esperamos colme las expectativas de todas aquellas personas que quieran ir un paso mas allá en el mundo de la seguridad.

Se trata de un curso online sobre "Reversing & Exploiting avanzado", orientado a aquellas personas que ya se han formado previamente en seguridad defensiva, auditorías o planes de contingencia, y que desean dar el siguiente paso: poder realizar exploiting (tus propios exploits) y entender como se realiza el reversing a bajo nivel.

Este tipo de formación es realmente compleja de adquirir y suele tener dos hándicaps, fundamentalmente. Por una parte, el hecho de tener que desplazarse físicamente a un lugar alejado de España, ya sea EEUU o adentrarse por Europa, y además que la formación suele estar impartida en inglés. 

En el caso del curso que estamos lanzando, queremos mitigar esos inconvenientes y se podrá recibir desde cualquier sitio (al ser online) y el idioma será el español

Consideramos que los entornos que ha de abarcar son tanto Windows como Linux, al ser las plataformas con más despliegue en el mercado

Para ello, contamos con un elenco de profesores especialistas en cada campo:



YAGO JESUS (@yjesus)yjesus
  • Profesional con más de 10 años de experiencia en el sector de la seguridad informática, ha trabajado para importantes empresas como Telefónica, Caja Madrid, sector defensa y administraciones públicas.
  • Editor del blog Security By Default (www.securitybydefault.com), ha desarrollado multitud de herramientas relacionadas con la seguridad informática.
  • Fundador de eGarante (www.egarante.com)

RICARDO J. RODRIGUEZ (@ricardojrdez)ricardo_rodriguez

  • El Dr. Ricardo J. Rodríguez recibió sus títulos de M.S. y Ph.D. en Informática por la Universidad de Zaragoza, Zaragoza, España, en 2010 y 2013, respectivamente.
  • Su doctorado versa sobre el estudio del análisis de rendimiento y optimización de recursos en sistemas críticos complejos modelados con Redes de Petri.
  • Actualmente, trabaja como investigador senior en ciberseguridad en la Universidad de León.
  • Sus intereses de investigación incluyen análisis de rendimiento y optimización de grandes sistemas de eventos discretos, ingeniería del software segura, sistemas de tolerancia a fallos e infraestructuras críticas y análisis de malware.
  • El Dr. Rodríguez es también miembro del IEEE Computer Society.
  • Ha participado como ponente en otras conferencias de seguridad, como NoConName (2011, 2012, 2013), Hack.LU (2011), RootedCON (2012) y Hack in Paris (2013). También ha participado como formador en NoConName (2011, 2013), RootedCON (2012) y Hack in Paris (2013) dando cursos sobre fundamentos de ingeniería inversa y técnicas de anti-reversing en entornos Windows

ALBERT LÓPEZ (@newlog_) newlog
  •  Ingeniero en informática, profesionalmente dedicado a la seguridad informática durante cuatro años. Ha trabajado para empresas tan punteras como Víntegris o Internet Security Auditors, desarrollando software empresarial enfocado a la seguridad informática en la primera y realizando auditorías de seguridad a empresas, tanto de ámbito nacional como internacional, en la segunda.
  • Actualmente realiza auditorías de seguridad como freelance y colabora activamente con una startup estadounidense dedicada a desarrollar frameworks de post-explotación.
  • Sin embargo, su pasión siempre han sido las técnicas de explotación de software. Así lo demuestran sus ponencias en congresos como la RootedCon o la OWASP European Tour, en las que presentó estudios sobre la explotación de heap buffer overflows en GNU/Linux.
  • Asímismo, interesado en fomentar dichos conocimientos, en 2009 fundó la comunidad Overflowed Minds, para compartir información y ayudar a todos aquellos interesados en iniciarse en el mundo del exploiting.

SERGI ÁLVAREZ (@trufae)pancake




  • Apasionado de la seguridad y del software libre durante los últimos 15 años.
  • Ha trabajado realizando análisis forenses, optimizando codecs multimedia en ensamblador para varias arquitecturas y desarrollando firmwares para dispositivos embebidos, entre otros.
  • Autor y principal desarrollador del proyecto Radare, un framework orientado a facilitar varias tareas relacionadas con la ingeniería inversa, análisis forenses, exploiting y manipulación de binarios. Participó en el CTF de la Defcon durante 3 años con el equipo de Sexy Pandas con el rol de reverser y parcher.
  • Ha publicado varios artículos sobre seguridad en blogs y revistas electrónicas como phrack. Asimismo, tambien ha participado en varios congresos realizando ponencias o talleres sobre hacking, reversing, radare, etc.



  • JAIME PEÑALBA (@nighterman)
    • Jaime cuenta con más de 10 años de experiencia en el sector de la informática trabajando como ingeniero de sistemas y consultor de seguridad.
    • Durante su carrera ha trabajado para las principales empresas de los sectores tecnológicos, energéticos y financieros en España, Estados Unidos y Latinoamérica.
    • Ponente habitual en las conferencias de seguridad españolas, también dedica parte de su tiempo a desarrollar herramientas de seguridad y participar en campeonatos de hacking

    Como sabemos que no todo el mundo puede tener el nivel de partida necesario para sacar todo el jugo al curso, hemos pensado también en ello y, adicionalmente, hemos creado un módulo introductorio sobre 


    1. Arquitectura de Computadores y Memoria – 2 horas – Sergi Álvarez
    • Funcionamiento básico de un procesador
    • Arquitectura x86 (16/32/64 bits): Registros, Endian y Flags
    • Organización/Gestión/Estructuras de la memoria y sus permisos
    • Calling conventions (pasar por pila, pasar por registros en 32/64bits)
    • Funcionamiento de la pila (stack)
    2. Ensamblador:
    • Relación entre código binario, máquina y ensamblador (compilar/decompilar)
    • Juegos de Instrucciones CISC/RISC
    • Basicblocks/Grafos:
      • Definición de Basic block
      • Cómo se estructura el código
      • Callgraphs
      • Complejidad ciclomática
    • Demos
    3. Introducción a reversing práctico en Entorno Windows – 2 horas – Yago Jesús
      • Breve introducción al reversing, fundamentos básicos y descripción de escenarios
      • Análisis estático
      • Análisis dinámico
      • Debuggers
      • API Hooking
      • Rootkits
    4. Introducción a exploiting práctico en Entorno Linux – 2 horas – Yago Jesús
      • Breve introducción al exploiting
      • Tipos de vulnerabilidades
      • Binarios, permisos y problemas asociados
      • Vulnerabilidades de condición de carrera
      • Exploiting básico (No DEP, no ASLR)
      • Exploiting de servicios de red
      • Introducción a contramedidas

    Una vez concluida esta parte, el impresionante temario es el siguiente:


    MÓDULO II – Reversing en Windows – 8 horas – Profesor:  Ricardo J. Rodríguez
    1. Introducción y conceptos básicos
    • Windows NT internals
      • PEB, TEB, LDR
      • PE Headers
      • Windows APIs
    2. Ingeniería inversa de código básica: Herramientas
    • Usando un  Debugger: OllyDBG
    • Entendiendo el ensamblador desde el código
    3. Ingeniería inversa de código básica: Técnicas
    • Event-Fishing
    • Serial-Fishing
    • Capturando claves: Self-Keygenning, Keygenning
    4. Introducción a algunos trucos anti-debugging
    5. Ingeniería inversa de código avanzada: técnicas
      • Unpacking
      • .NET Reversing
    6. Practicum, conclusiones y referencias
    • Algunos ejercicios prácticos
    • Conclusiones
    • Referencias
    MÓDULO III – Exploiting en Windows – 8 horas – Profesor:  Albert López
    1. Introducción
    • Stack Frames
    • Análisis práctico
    2. Stack Based Buffer Overflows
    • Vector de ataque 1
      • Sobrescribiendo EIP almacenado
      • Exploit real
    • Vector de ataque 2
      • Structured Exception Handling
      • Exploit real
    3. Técnicas de Mitigación de Exploits (y evasión)
    • SafeSEH
    • SEHOP
    • Stack Cookies
    • Data Execution Prevention (DEP)
      • Return Oriented Programming (ROP)
      • Exploit real
    • Address space layout randomization (ASLR)
      • Limitaciones
      • Exploit real
    En este módulo se trabajará con herramientas como Immunity Debugger y mona.py. Se desarrollarán exploits para aplicaciones como Real Player, Quicktime y otros. Se analizarán desde plataformas Windows XP SP3, 7 SP1 y 8.1. Igualmente, se usará Metasploit para generar los payloads, encodearlos y gestionar el meterpreter. Los PoCs se harán en Python.
    MÓDULO IV – Reversing en Linux – 8 horas – Profesor:  Sergi Álvarez
    1. Introducción a la Ingeniería Inversa
    • ¿Qué es y para qué se usa?
    • Reversing en Linux
      • Compilar, desensamblar y decompilar
      • Formato ELF
      • ld.so LDPRELOAD /proc
    • Herramientas
      • Tipos
      • Cómo instalarlas y breve introducción
    • Demos
      • Extracción de información de ejecutables
      • ldpreload bypass password
    2. Análisis
      • Referencias
      • Interrupciones (búsqueda, resolución)
      • Basic Blocks
      • Grafos (call, bb)
    • Demos
      • Ensamblado/desensamblado
      • Parcheado de programa
    3. Formateando Datos y Búsquedas
    • Bindiffing
    • Estructuras en C (alineamiento, punteros, listas,…)
    • Extracción de strings y referencias
    • Cálculo de entropía
    • binwalk, /m, yara, rafind2, photorec (carving)
    • Firmas, funciones, preludes,…
    • Demos:
      • Búsqueda de parche
      • Extracción de ficheros de un dump
      • Identificación de funciones por firma
    4. Debugging y análisis dinámico
      • Introducción a Valgrind, GDB y r2
      • Trazas de ejecución (ltrace, strace)
      • Breakpoints
    • Manipulación de flujo de ejecución
      • Modificación de registros
      • Inyección de código
      • Volcados de memoria
    • Demos
      • Solución de crackme con debugger
      • Demos con gdb y r2
    MÓDULO V – Exploiting en Linux – 8 horas – Profesor:  Jaime Peñalba
    1. Vulnerabilidades más comunes
    •   Stack based overflow
    •   Heap based overflow
    •   Format string
    2. Introducción a shellcodes
    • Shellcoding básico
    • Rop chains
    • Herramientas (ragg2, metasploit)
    3. Protecciones modernas
    • Stack canary
    • No eXecute Bit
    • ASLR
    • RELRO (RELocation Read-Only)
    • PIE
    4 Técnicas contra protecciones
    • Return to libc
    • Got overwrite
    • ROP
    • Stack pivoting
    • Memory disclosure
    ¿Eres de los que no saben por dónde empezar cuando tiene que analizar un binario? ¿Te gustaría saber encontrar vulnerabilidades en software y explotarlas? ¿Te vienes abajo cuando ves una pantalla con código ensamblador y no sabes cómo utilizar un debugger? ¿Te parece de otro mundo cuando lees noticias en las que se encuentran puertas traseras a un router o descubren un zero-day para Java, Flash o Internet Explorer? Pues bienvenido, este es tu curso.


    Las condiciones, horarios y fechas en las que se llevará a cabo el curso están explicadas en la web de Securízame “Curso online de Reversing y Exploiting Avanzado en Windows y Linux”, en la que podrás informarte de las condiciones del curso, así como pre-registrarte.
    Leer más...