domingo, febrero 28, 2021

Un relato de Hackers & Black Hackers: "And the winner is..." por JM Ferri

Hace no demasiado entreviste a JM Ferri después que publicara el artículo de !Qué difícil es escribir un thriller sin hackers y black hackers! Desde que escribió su novela de "Jinetes en la Tormenta" se ha animado a este género de acción, suspense, con Hackers, Black Hackers y Cibercriminales, así que le pedí en la entrevista que me hiciera un relato corto, y aquí lo tienes.

Figura 1: Un relato de Hackers & Black Hackers:
"And the winner is..." por JM Ferri

Si quieres, hoy puedes adquirir la novela de "Jinetes en la Tormeta" en nuestra editorial 0xWord, y puedes contactar con él en su buzón de MyPublicInbox: JMFerri.


Hoy os dejo por aquí este relato corto en el JM Ferri aprovecha para explorar una razón de las más humanas por la que un gran Hacker puede acabar siendo un Black Hacker y jugarse todo en el mundo del cibercrimen, con una historia que recuerda al "Celebgate". Espero que lo disfrutes.

Saludos Malignos,


And the winner is... (por JM Ferri)

La gran noche de los premios cinematográficos es uno de los eventos más esperados por actores, directores, guionistas y advenedizos deseosos por hacerse un hueco en el mundo de la farándula. Rostros perfectos y cuerpos esculturales se pavonean ante las cámaras exhibiendo espléndidos ropajes y exclusivas joyas.

Los mortales hacen cola durante horas para verlos pasar, disfrutar de un efímero instante junto a las estrellas, sentirse parte del espectáculo. Otros observan las evoluciones de las celebrities frente a una pantalla, sin pestañear. Anna es una de tantos.

Anna es una niña de quince años cuyos sueños todavía no se han roto. Es una excelente estudiante, la mejor de su clase. Sueña con ir a la universidad y graduarse en Medicina. Su padre, sentado junto a ella, sabe que lo merece, que puede ser una gran cirujana. No hay madre. No, desde hace dos años. Él siente que sigue haciéndolo tan mal como el primer día en el que la familia se convirtió en monoparental. Sus dos trabajos apenas dan para llegar a fin de mes, así que ahorrar dinero para la universidad de Anna es una misión imposible, se mire por donde se mire. Ella ni siquiera ha leído la carta que les notifica el inminente desahucio. Pero esta noche, con un poco de suerte, todo puede cambiar.

Se había propuesto no ver la ceremonia, porque bastante ha sufrido a la industria del cine durante la última semana: él ha sido uno de los montadores del escenario y padecido los desvaríos de una extraña especie de morsa ataviada con auriculares y micrófono, una suerte de faraón arengando a los esclavos que construyen su pirámide.

Por suerte para él, en un descuido del capataz, ha podido deslizar una pequeña cajita bajo el escenario. Está seguro de que nadie le ha visto. Mañana la recogerá durante las operaciones de desmontaje.

Anna disfruta del espectáculo apoltronada en el sofá mientras él prepara algunas palomitas y vuelca el contenido de una bolsa de patatas fritas en un bol transparente. Abre la puerta de la nevera y extrae un refresco light para ella y un bote de cerveza para él. Carga todo el piscolabis sobre una bandeja de plástico y la deposita sobre la mesa baja del comedor.

Consulta su reloj. Promete a Anna quedarse en el sofá hasta que comience la gala. Quiere estar junto a su hija, y realmente no tiene nada que hacer hasta que los asistentes hayan depositado sus famosos culos en las butacas. Decide disfrutar el momento: la rodea con el brazo y la besa en la frente. Ella se limita a sonreír sin apartar los ojos de la pantalla.

La postal familiar se mantiene hasta la pausa publicitaria. Cuando el presentador, un humorista que a él nunca le ha hecho gracia, aparece sobre el escenario, padre e hija se separan. Él recoge los restos del tentempié con cuidado, deja la bandeja sobre la mesa de la cocina y procede a encender su portátil, situado en una mesa un poco más alta y protegido de la naturaleza curiosa de Anna.

Cruza los dedos y aprieta los dientes antes de pulsar sobre el icono que debe conectar con su cajita. Los diez segundos más largos de su vida transcurren hasta que un círculo se ilumina en color verde y un texto a su lado lo confirma: CONECTADO.

Es la hora de la verdad.

Pasa un minuto. Ningún usuario. Le sudan las manos. Tiembla. Tal vez “Wifi_Gratis_Invitados” no es la descripción más sugerente para invitar a conectarse al punto Wifi que ha instalado en la cajita. Mira de reojo al televisor. El chistoso concluye su monólogo y anuncia el primer galardón de la noche, uno de esos premios que no despierta interés alguno ni acapara un solo titular. Cuando enfocan al público, puede ver que muchos de los asistentes comienzan a extraer sus smartphones.

Vuelve su mirada al monitor del portátil. Respira: 15 usuarios conectados. Da igual la pasta que acumulen, hasta los famosos son capaces de enchufarse a cualquier punto de acceso para ahorrarse el consumo de un puñado de megas. Accede a uno de los terminales y comprueba con agrado que pertenece a una de las nominadas a mejor actriz: un premio gordo. Todavía más gordo cuando visita su galería de imágenes: fotografías desnuda, poses provocativas y un par de vídeos en los que se muestra muy cariñosa con la favorita a la estatuilla de mejor dirección. El resto de contenidos del móvil tampoco tiene desperdicio: claves de acceso a redes sociales, cuentas de correo electrónico e incluso acceso a entidades financieras. Copiar y pegar, todo es empezar.

En tres minutos consigue lo que buscaba y regresa al listado general. Ahora son 63 los incautos. No se preocupa en confirmar sus identidades: vuelca todo el contenido a su disco duro. Para cuando regresa al menú principal de la aplicación ya hay más de 100 móviles en la trampa. Extrae información a toda la velocidad que le permiten sus toscas manos y la conexión del router. Para cuando llega el premio al mejor guión, calcula que ya cuenta con información de la mitad de los principales protagonistas. Selecciona varias imágenes al azar, un par de accesos a redes sociales y los comparte a través de una ventana de chat.

-Aquí tienes una muestra del material.

-Es bueno. ¡Jodidamente bueno! ¡Mejor de lo que esperábamos!

-Están todos los grandes nombres de la industria. El precio ha subido. De hecho, se ha duplicado.

-¿Crees que te vamos a pagar 200.000?

-El material los vale. 200 o desaparezco.

El cursor queda parpadeando. No hay respuesta. Se ha marcado un farol. No conoce a nadie más que sea capaz de comprar ese material. Acaba de cometer un delito. Lo hecho, hecho está. Doble o nada. Supone que el intermediario debe estar mostrando el género y pidiendo instrucciones al que pone la pasta de verdad.

-Papá, mira –le dice Anna, que sigue inmersa en el programa.

-Espera Anna, estoy trabajando –responde mientras organiza datos a toda velocidad.

-Pero papá...

-¡Joder Anna, estoy trabajando!

Por un momento recupera la cordura. Nunca ha gritado a su hija, y esa noche es la menos indicada para hacerlo. Se disculpa, pero ella no parece darle ninguna importancia: sigue embobada en el televisor.

-Dime, hija...

Anna responde pero él ya no escucha. Ahora el que mira la pantalla como un besugo es él. Un ejército de policías ha aparecido en el teatro y está desalojando el edificio. La cámara enfoca a la morsa, que luce un esmoquin más ajustado de lo recomendable, rematado por una horrenda pajarita amarilla. Está hablando con un agente. Una voz en off avisa de la localización de un artefacto sospechoso bajo el escenario y ordena evacuar el recinto. Ahora sí que la ha jodido de verdad. Un timbre anuncia que hay respuesta en el chat. Vuelve al ordenador.

-Vale, la mitad ahora y el resto cuando llegue el archivo.

-Hecho.

No está para negociar más. En el peor de los casos, se lleva los 100.000 previstos inicialmente. Abre el navegador y accede a un bróker de criptomonedas domiciliado en las Islas Caimán. El primer pago ya ha llegado.

Compila toda la información y ejecuta una aplicación para compartir grandes volúmenes de datos. La transferencia da comienzo, pero dado el tamaño de los archivos, sabe que tomará su tiempo. Una barra de estado muestra el progreso mientras ríos de sudor le resbalan por la frente y la nuca.

Al llegar al 40% la camisa ya se ha empapado completamente.

-Papá, ¿estás bien? ¡Estás más blanco que la pared!

-Hija, yo...

50%. Suena un ruido en la calle. Se asoma a la ventana y ve a un grupo de policías agazapados frente a la puerta del edificio.

-¡Cierra la puerta con llave!

-¿Pero por qué?

-¡Porque viene la policía!

-¿Pero qué te pasa?

-¡Hazme caso y cierra esa puerta!

60%. Un ruido retumba en la escalera. Han entrado al edificio. Él sale corriendo e intenta atrancar la puerta. 

-¡Papá, me estás asustando! 

-¡Silencio!

70%. Golpean la puerta. Gritan su nombre y exigen que abra. Amontona algunos muebles en la entrada. Se acerca a su hija.

-Anna, siéntate frente al ordenador y dime el porcentaje que ves –le susurra-. ¡Deprisa!

-80 por ciento, papá –Anna está punto de romper a llorar, pero obedece a su padre.

Él arrastra la mesa del salón por el pasillo y apuntala la barricada que ha formado en la entrada.

-90 por ciento –anuncia Anna.

La policía ha comenzado a golpear la puerta. Van a derribarla. Él aguanta el mobiliario con todas sus fuerzas, intentando retrasar la invasión. Anna quiere ayudarle.

-¡Quédate ahí! Y haz lo que yo te diga. Anna se echa a llorar. No entiende nada.

-¿Cómo va?

-95 por ciento.

Apenas consigue oírla: la policía acaba de reventar la cerradura. Los agentes entran en el apartamento y comienzan a apartar los obstáculos. Él a duras penas puede presentar resistencia.

-¿Cuánto, Anna?

-Ya está, papá, 100 por cien.

-¡Ahora actualiza la pantalla que hay en el navegador! ¿Cuánto hay?

-Cien mil... no, no, se acaba de actualizar. Hay... ¡doscientos mil euros, papá!

-¡Ciérralo todo y apaga el ordenador inmediatamente!

Le fallan las fuerzas. Cinco policías son muchos para él. En menos de diez segundos lo reducen y lo esposan. Él sonríe mientras mira a su hija. Será una gran cirujana.

FIN

Autor: JM Ferri

sábado, febrero 27, 2021

Clonación de alarmas RFID: 3D Printing con Conductive PLA para Makers

No es la primera vez que en este blog os hablamos de proyectos interesantes que involucran de un modo u otro la Impresión 3D, desde el diseño de tapas o carcasas, la mejora de la vida de las personas como hace el proyecto de la ONG Ayúdame 3D que creó el emprendedor Guillermo M. Gauna-Vivas para hacer prótesis a personas con impresión 3D, hasta la creación de hardware para proyectos Maker de los que tantos nos gustan, como los trabajos con Raspberry Pi, Drones o Arduino, o la aventura de LemonCrest y sus consolas Open hechas por gamers y makers.  Hoy os presentamos un proyecto cuanto menos curioso y que surgió gracias a los nuevos filamentos, cada vez más técnicos que van llegando al mercado de la impresión 3D

Figura 1: Clonación de alarmas RFID.
3D Printing con Conductive PLA para  Makers

En este caso utilizaremos un filamento desarrollado por una empresa llamada proto-pasta dedicada al desarrollo de filamentos técnicos (desde filamentos que incorporan fibra de carbono hasta filamentos ferromagnéticos o conductores). El filamento escogido para este pequeño experimento se trata del Conductive PLA y es el material que hará de antena para nuestra alarma RFID.

Figura 2: Conductive PLA en acción

Lo primero de todo es conocer un poquito mas el funcionamiento de este tipo de tecnología comúnmente utilizada para producir alarmas de distintos tipos, etiquetas de seguimiento o llaves similares a las que se utilizan en los accesos a numerosas instalaciones deportivas: RFID. La tecnología RFID (Radio Frecuency Identification) nos permite transmitir información o identificar un objeto a través de ondas de radiofrecuencia, y es muy utilizada en la interacción con el mundo físico, e incluso en proyectos que mezclan IoT.

Figura 3: Libro "Arduino para Hackers: PoCs & Hacks Just for Fun"

Para que el sistema funcione correctamente es necesario un lector y una antena RFID (a parte de la etiqueta o alarma) que detecte el dispositivo y lea la información almacenada dentro de él. Su bajo coste y alta efectividad ha convertido este sistema en uno de los más utilizados tanto en el área de la seguridad como en el ámbito logístico y de las cadenas de suministro.

Figura 4: Una llave RFID en forma de llavero

Existen distintos tipos de alarmas que utilizan esta tecnología, pero si hubiese que clasificarlas en dos grandes grupos estos serían Alarmas Activas y Alarmas Pasivas. Las alarmas activas son aquellas que emiten una señal y al ser captada por un receptor (arcos de seguridad) hacen saltar la alarma de la tienda. Estas están compuestas por un chip y una antena que amplifica su señal. Por otro lado, las alarmas pasivas funcionan distorsionando la señal emitida entre dos sensores (igualmente aplicable a los arcos de seguridad). 

Figura 5: Alarma Pasiva y Alarma Activa

La ventaja de las alarmas pasivas frente a las activas es que no requieren de un chip que almacene información y son fácilmente desactivables utilizando un lector de códigos de barras, su mayor desventaja es que en algunas ocasiones se desactivan incorrectamente o vuelven a activarse y nos hacen pitar en determinadas tiendas al entrar.

Figura 6: "Raspberry Pi para Hackers & Makers:
PoCs & Hacks Just For Fun
" de 0xWord

Para este experimento tomaremos como base una alarma RFID activa como la que se muestra anteriormente, estas están compuestas por un chip que almacena información y una bobina de cobre u otro material conductivo (en este caso utilizaremos el PLA técnico de proto-pasta) que conectado al chip cumplirá con la función de antena. Lo primero será hacerse con un chip RFID, este lo podemos obtener por ejemplo de la llave magnética del gimnasio del que nos desapuntamos hace años o de algún producto que hayamos comprado en el supermercado y lleve una pegatina con alarma que fuese desactivada en caja. 


En mi caso logré extraer el chip de una pegatina con alarma utilizando un poco de alcohol, unas pinzas y una hoja de bisturí. Con el chip sano y salvo ya desmontado el siguiente paso fue diseñar una bobina similar a la que venia en la pegatina de la alarma, algo que resultó bastante sencillo utilizando Fusion360

Para poder hacer el diseño lo mas compacto posible cambié la boquilla extrusora de la impresora por una de 0,2 mm de diámetro haciendo que cada perímetro fuese un poco más fino. Después con la ayuda de un soldador de estaño uní la antena al chip y lo coloqué cuidadosamente sobre cinta de carrocero para protegerlo.

Figura 8: Impresión del diseño en 3D

Con nuestra alarma RFID ya construida solo faltaba probarla, pero para eso antes tendríamos que copiar la información del chip de una alarma activa y grabarla en nuestra alarma esperando que surtiese efecto. Para ello se puede adquirir por Internet un kit para copiar y grabar códigos RFID, por ejemplo este que encontramos en Amazon. Para ahorrar tiempo y no hacer dos viajes cogí mi alarma casera y el lector de códigos y me dirigí al supermercado mas cercano. 

Figura 9: RFID Copier

Una vez allí busqué productos que pudiesen llevar una alarma activa adherida en la caja, algo que no fue difícil en la sección de las bebidas alcohólicas. Utilizando el grabador de códigos solo tuve que colocarlo sobre la alarma pegada en la caja y pulsar el botón de copiar para obtener la información de su chip RFID y acto seguido colocar el dispositivo sobre mi alarma casera y pulsar el botón de grabar (mismo proceso que se muestra en el siguiente vídeo).
 
Figura 10: Copia de RFID

Por último, quedaba la parte más divertida del experimento, comprobar si la alarma pitaría o no. Para este paso simplemente escondí la alarma en el bolsillo interior de mis pantalones vaqueros y me dirigí a la salida sin compra, mis expectativas de que la alarma funcionase eran realmente bajas sin embargo al pasar por los arcos magnéticos estos se pusieron a sonar llamando la atención del vigilante de seguridad, que tras comprobar que no llevaba nada me recomendó que fuese a la tienda donde había comprado los pantalones porque lo más seguro era que no me hubiesen desactivado la alarma cuando los compré.

Figura 11: Libro "Hacking con Drones: Love is in the air" para makers

Este experimento es solo un ejemplo de las posibilidades que ofrecen los avances en el campo de la impresión 3D y el desarrollo de nuevos materiales técnicos. A pesar de que estos materiales dan mucho juego a la hora de experimentar aún tendremos que esperar un tiempo para poder explotar todo su potencial debido a su elevado precio. En este caso el precio del Conductive PLA ronda los 25 € por cada 100 gramos, mientras que por ese mismo precio podemos adquirir fácilmente 1 kg de otros materiales como el ABS o el PLA normal.

Autor: Sergio Sancho, Security Researcher en Ideas Locas.

viernes, febrero 26, 2021

MorterueloCON 2021: Historia, presente y futuro & un descuento para libros de @0xWord @morteruelocon

La MorterueloCON ya lleva unos años entre nosotros, y mañana tiene lugar otra nueva edición que, como dice el título de este artículo, tiene mucho futuro. Este año, todos los que no hemos podido ir a ninguna edición presencialmente, tenemos la ocasión de asistir online, ya que la pandemia obliga a que sea así, y aunque se pierde mucho del networking personal, se abre la oportunidad de que otros muchos que nunca han podido asistir asistan.

Figura 1: MorterueloCON 2021 Historia, presente y futuro
& un descuento para libros de 0xWord

Y un año más, nosotros vamos a colaborar desde 0xWord, no podremos estar allí presencialmente, pero sí que hemos creado una campaña especial para este fin de semana para apoyar a la conferencia, con un código descuento del 10% durante este fin de semana, con el código: "MORTERUELOCON21"
Este año, la lista de ponentes ya está cerrada, con profesionales de la talla de Silvia Barrera, Ivan Portillo, Pablo González, Jaime Andrés Restrepo "DragonJAR", Yolanda Corral, Raúl Beamud, Eduardo Sánchez o Josep Albors

Figura 3: Miguel Ángel Cotanilla

Y para hablar de todo esto, del pasado, del presente y del futuro, os traigo esta entrevista con Miguel Angel Cotanilla Ferrara aka "cota" o "cititanus" que es coorganizador de las jornadas de seguridad informática de Cuenca MorterueloCon

1.- ¿Cómo surge la idea de hacer la MorterueloCON, y por qué ese nombre?

Bueno, la idea como tal... jejeje, fue más bien un… ¡¡¡¡NO HAY HUE…!!! (puede que las más grandes ideas de la sociedad hayan surgido en cierta forma así) aunque, quien mejor lo puede contar es el artífice de la idea de las jornadas, Rafael Otal, más conocido como Goldrak. Yo me uní a su idea y a esta gran familia en la segunda edición, en la primera fui simplemente un asistente más, pero fue mi amistad con Rafa y su… llamemos “idea”, capacidad de persuasión, o que es un tío muy grande en todos los aspectos, las hicieron que me subiese al carro de las Morteruelo.

Espero no faltar mucho a la historia, me lo ha contado un montón de veces, fue algo tal que así: Creo que corría el año 2014, Rafa estaba en casa “chupando sofá”, o “asando sebo” como se dice en Cuenca, vamos que estaba gastando el tiempo en na’. Pues hasta donde yo sé, Pepeluxx escribió a Rafa preguntándole si se animaba a bajar a ConectaCon, y como no podía ser de otra forma dijo: - “Enga!”, y en Jaén se presentó. Una vez concluidas las Jornadas de ConectaCon, en el coche, de camino al aeropuerto de Granada, Rafa, Lawwait y Tr1ana, iban “cascando” de sus cosas, cuando de repente la idea, y un …

– “Caspitas” Rafa!!! [o puede que fuese un “Joer” Rafa] por qué no montas algo parecido a ConectaCon en Cuenca… ¡¡No hay Hue…!!  – .

Lorenzo (Lawwait): – Estaría genial, se me ocurre llamarlo Proyecto Morteruelo así como nombre en clave, para que sepamos a qué nos referimos… –. (De hecho, el nombre Morteruelo no iba a ser el original de las Jornadas).

Rafa dejó en el aeropuerto a Lawwait y a Tr1ana y prosiguió su ruta hacia tierras murcianas, donde a su llegada, escribió a los ponentes de ConectaCon, invitándoles a unas jornadas que se iban a celebrar en Cuenca… Y ahí quedó la semilla de las Jornadas.

La fecha de las Jornadas se acercaba, y Rafa había olvidado esa semilla … hasta que recibió la llamada de Dabo: – Oye Rafa, ¿al final con la Con?, ¿Se va a celebrar o qué? –. En ese momento Rafa recordó que dejó esa semilla plantada y se tuvo que poner manos a la obra, y en un mes y una semana organizó las Morteruelo “nombre no original”, pero tampoco tenía mucho tiempo en pensar y Morteruelo molaba…

Habló con César Sánchez, nuestro antiguo profe de Electrónica, y también se puso en contacto con la Vicerrectora del Campus de Cuenca, María Ángeles Zurilla, tanto ellos como la Universidad le pusieron todas las facilidades del mundo para ayudar a hacer crecer esta semilla, que se quedó en memoria por un tiempo, pero que estaba destinada a desarrollarse. Originalmente las conferencias se planificaron como para unas sesenta personas, pero a dos días de la inauguración Rafa fue capaz de replantearlas para dar acogida a doscientas diez personas en la primera edición.

El nombre de las jornadas viene por un plato típico de Cuenca, una “joya de la gastronomía tradicional”, no hay restaurante en la ciudad, ni en la provincia, que no lo ofrezca en su carta. Entonces, qué mejor forma de llamar a nuestras jornadas de esta manera, e intentar hacer eco de este plato, y por supuesto de Cuenca, allá donde lleguemos con las Jornadas. Pero no solo al morteruelo hacemos referencia en estas jornadas, hay otro plato que utilizamos también para denominar a la sección de los laboratorios, los AjoArrieroLabs. Este plato típico es el ajoarriero, aunque sí que es cierto que también es común en otras zonas de Castilla-La Mancha, donde es denominado como atascaburras o ajo mortero, nos estamos refiriendo al de Cuenca.

Con el tiempo las jornadas han ido evolucionando y se fueron añadiendo más platos de nuestra gastronomía, como los premios Zarajo, que se entregan anualmente desde la 5 edición a la gente que apoya las jornadas y a la Comunidad, todo con espíritu Conquense. Estos platos típicos de Cuenca son, todos ellos, invernales, lo cual hace que tenga incluso más relación con las jornadas, ya que estas se celebran en febrero, cuando normalmente suele (o solía) nevar en nuestra preciosa ciudad, que tal vez no sepáis, pero… es algo que hemos hecho como nuestro en las Jornadas, las cuales siempre son y serán gratuitas, gracias al apoyo incondicional de todos nuestros patrocinadores. Y esta es la historia de cómo una pequeña semilla logró germinar y convertirse en la gran familia que somos ahora y que pretendemos que siga creciendo año a año.

2.- Pero vosotros hacéis más cosas que la CON, ¿podéis contar a la gente qué otras actividades hacéis con la asociación?

Hasta esta edición, la asociación se ha limitado únicamente a la organización de la CON, pero en nuestro afán de crecimiento y apoyo a la sociedad, queremos dar presencia a los cursos de formación en Seguridad Informática y TICs, de momento en modalidad online, dada la situación actual, aunque en la Asociación somos más partidarios de hacerlo en modalidad in situ. Otra buena iniciativa que pasa por nuestros pensamientos es el planteamiento de cursos de concienciación, ya que consideramos, que esto es beneficioso para la sociedad, ya estén o no implicados en el mundo de las telecomunicaciones.

3.- Y para este año, ¿qué novedades tendréis?

Para este año queremos dar presencia a los cursos de formación en Seguridad Informática y TICs, pero que como conoces la situación actual de momento vamos a adoptar la modalidad online; aunque a la Asociación somos más partidarios de darlos in situ.

Por otro lado, también consideramos que es una buena iniciativa plantear cursos de concienciación ya que consideramos, que sería una buena forma de atraer a gente comprometida con la seguridad informática a la Asociación y que sería beneficioso para la sociedad Cuenca en general.

Además de los cursos de formación y concienciación, comentados en la anterior pregunta, como novedad para este año, en las Jornadas, se va a montar un CTF, con la inestimable ayuda de Flag Hunters Team.

4.- De todas las charlas que ya han sido dadas en las diferentes ediciones, ¿cuál sería la que más destacarías?

Destacar…, destacar, destacaría todas, pero voy a intentar recordar las más anecdóticas: En la primera edición Tr1ana y Pepeluxx con “El lado oscuro de Tor: la Deep Web”, porque después de haberle dado caña a la Policía se acercó uno de los integrantes de la actual asociación presentándose a Rafa como guardia civil sin decir nada más. El chaval “Rafa”, con lo grande que es…. creo que se hizo algo encima…. Además, esto siempre lo cuenta como abuelo cebolleta… en las reuniones “distendidas…

También recuerdo la tercera edición del año 2016, donde perdimos la cabeza y planteamos tres tracks en paralelo. Uno de ellos fue el de periodismo donde tuvimos la suerte de contar con Rafael Fraguas y Dabo. Rafa, a través de sus vivencias y su gran experiencia como periodista en zonas de conflicto, nos consiguió poner los pelos de punta cuando nos relataba sus vivencias de cómo se las ingeniaba para proteger tanto las fuentes y las comunicaciones en aquella época. Y como no podía ser de otra forma, Dabo consiguió hacernos ver como personas estaban comprometidas con sus ideales como son Manning, Assange o Snowden, y luego nos dio un recital técnico de cómo protegernos y proteger nuestras comunicaciones en la red.

Otra muy buena fue la de “Espiando satélites” de Oscar Tébar creo que fue en 2017 en la cuarta edición y encima es conquense de nacimiento. Y como no el gran Lorenzo (no podía pasar sin mencionar su charla, o eran sus charlas…. {mode troll on} no recuerdo muy bien el año {mode troll off}) pero siempre ha conseguido que todos los espectadores estén ojipláticos con sus “Memorias de Perito Informático Forense.” Podría seguir diciendo charlas en función de cómo mi memoria vaya funcionando, para mí son todas impresionantes, pero nos dilataríamos “muchíssssmo”, como dicen en Cuenca.


5.- Gracias a las CONs, el panorama de ciberseguridad y hacking en este país se ha transformado. Habéis llevado conocimiento a la sociedad potenciando a los speakers, con charlas presenciales y grabaciones en Youtube, ¿Habéis notado ese impacto en Cuenca?

Un claro ejemplo de cuanto se ha transformado el panorama de la ciberseguridad y el hacking, es la comparativa entre el número de participantes (tanto en ponencias como en talleres) que se tuvo en la primera edición de las MorterueloCON y el de la edición del año pasado. Últimamente sí que se ha notado un impacto potencial en Cuenca, somos conocedores que se va a impartir un nuevo módulo especialista en Seguridad de FP del cual algunos miembros de la asociación son profesores.

En cuanto a potenciar a los speakers, siempre hemos seguido una máxima a la hora de diseñar o de elegir a los ponentes, estamos muy comprometidos en poder ser una especie de trampolín para ponentes nuevos en nuestro caso nuestros queridos rookies.


6.- ¿Y para los más jóvenes? ¿Estáis haciendo actividades para los niños y niñas?

En todas las MorterueloCON, excepto en la actual al ser una edición online, hemos hecho tareas y charlas de concienciación para niños y padres durante el sábado de las Jornadas. Quiero hacer una mención especial tanto a Angelucho con X1RedMasSegura, por sus charlas para padres donde año a año la acogida ha sido cada vez mayor y que ha logrado concienciar a muchos padres de la ciudad sobre “el uso de las nuevas tecnologías y lo que ello implica”. Así como a nuestros “hermanos” de la Asociación HoneyCon de Guadalajara, que sin cuya inestimable ayuda no podríamos haber montado los talleres para niños de todas las ediciones de MorterueloCON.

7.- ¿Qué os gustaría que pasara este año en la MorterueloCON?

Nos gustaría, bueno realmente esperamos que la acogida en esta modalidad sea tan grande o mayor que la acogida en la modalidad in-situ. De hecho, las próximas ediciones serán en modalidad mixta, ya que así conseguiremos llegar a la gente que no se puede desplazar a Cuenca, e incluso podemos acercar a Cuenca a más ponentes internacionales. Aun así, seguimos invitando a la gente a conocer esta maravillosa ciudad de gente, cultura y, como no, de excelente gastronomía.

8.- ¿Qué ponentes tenéis confirmados para este año? ¿Alguna sorpresa especial?

Podría decirte, es un secreto, pero … jejejeje a estas alturas todos los ponentes están confirmados y se pueden consultar en la página web de las jornadas (https://www.morteruelo.net) Y como novedad especial, este año contamos con gente de latino-América e incluso contamos con una ponencia en inglés que esperamos que sea del agrado de los asistentes.

Saludos Malignos!

jueves, febrero 25, 2021

Apple_Bleee: airdrop_leak y otros scripts interesantes

Hace ya un tiempo, un par de años, la gente de Hexway publicaba una investigación sobre BLE y Airdrop en la que se podían conocer cosas bastante interesantes. Un proceso de ingeniería inversa al protocolo para mostrar cosas interesantes que se podía conocer haciendo uso de la tecnología BLE y simplemente ‘escuchar’ el aire, así como un trabajo bastante interesante, a la vez que brillante que hicieron sobre Airdrop.

Figura 1: Apple_Bleee: airdrop_leak y otros scripts interesantes

Todo el trabajo puede verse en su Github de hexway. El proyecto consta de varios scripts, los cuales son:

- ble_read_state.py: Este script permite hacer sniffing del tráfico BLE y muestra los mensajes que se están intercambiando los dispositivos de Apple. 
 
- airdrop_leak.py: Este script permite capturar el hash del número móvil del usuario, el cual es enviado vía Airdrop cuando se pulsa el botón de compartir. No es necesario que se envíe nada, solo con darle a compartir, el dispositivo envía esta información. Hablamos del caso de un iPhone. El hash es un sha256. 
 
- adv_wifi.py: Este script permite enviar mensajes BLE con la petición de compartición de password de la WiFi. De esto hemos hablado recientemente en el artículo sobre openwifipass. 
 
- adv_airpods.py: Este script es similar al anterior, pero para anunciar unos Airpods cerca. 
 
- hash2phone: Este script permite generar una base de datos de números de teléfono y su hash correspondiente. Hay que recordar que el hash es un sha256.

Incluso en su momento, nuestra herramienta HomePWN integró algunos de los scripts que se podían ver en este trabajo, con algunos retoques que en Ideas Locas se fueron dando.


Figura 2: HomePWN Apple BLE discovery

Además, Lucas Fernández estuvo trabajando en Airdrop Crazy un ‘hard fork’ del proyecto de Hexway donde integraba algunos de los scripts y añadía algunos detalles. La solución de Airdrop Crazy permitía disponer de una app de iOS donde se puede visualizar los diferentes dispositivos y cierta información que se puede obtener por BLE, como veíamos en ble_read_state.py

Figura 3: Airdrop Crazy

Además, se utilizaba airdrop_leak.py para recoger los hashes de los números de teléfono cercanos. Hay que hacer hincapié en que se montaba un "evil host" que anunciaba un número de teléfono ficticio para que el resto de dispositivos alrededor dieran su información.


Nuestro compañero tuvo que tocar ciertos aspectos para mejorar la estabilidad del código de Hexway, ya que hay detalles que entre diferentes versiones han ido cambiando, por ejemplo de un iOS 13 a un iOS 14. Aquí os dejo el vídeo sobre Airdrop Crazy y su funcionamiento que se dio en un Code Talk for Developers de IdeasLocas:
 

Figura 5: CodeTalk for Developers: AirDrop Leak

Y hoy, ¿tenemos algo nuevo? Pues realmente no, lo que hemos hecho es simplificar un poco el proceso y jugar con el proyecto de Hexway. El adaptador wireless que propone la gente de Hexway es interesante, pero puede ser difícil de encontrar. Por ello, hemos tenido que buscar algunos chipset y modelos compatibles con esto. Realmente, debería valer con que el chipset del adaptador WiFi sea compatible con el modo monitor y frame injection, si queremos hacer algo de Hacking iOS: iPad & iPhone.

Figura 6: Libro de Hacking iOS (iPhone & iPad) 2ª Edición

Para recrear la prueba de concepto de la gente de Hexway hemos utilizado una Alfa con chipset RT3070. Montar una Raspberry Pi con un Raspbian o un Ubuntu 19.10 sobre un PC de sobremesa, lo hemos probado con ambos, y enchufar la Alfa. Sin necesidad de instalar ningún driver funciona. Para colocar el modo monitor se puede ejecutar las siguientes instrucciones:
sudo ifconfig wlan1 down
sudo iwconfig wlan1 mode monitor
sudo ip link set wlan1 up 
Si queremos ver si la tarjeta inyecta paquetes, podemos hacer uso de aireplay-ng –test y deberíamos ver si la tarjeta es capaz de inyectar paquetes, algo totalmente necesario en esta prueba de concepto. Además, debemos arrancar owl y ejecutar el script de airdrop_leak.py:
sudo owl -i wlan1 -N &
sudo python3 airdrop_leak.py
El script se queda esperando a que haya alguien cercano que quiera compartir un fichero desde un iPhone y tenga Airdrop activo. Hay que indicar que vale con que se le dé al botón de compartir, aunque luego el fichero o lo que quieras compartir lo envíes por WhatsApp, por e-mail o por cualquier otro elemento del sistema operativo.

Figura 7: Arrancado owl y android_leak.py en nuestra Raspberry Pi

Respecto al código original de airdrop_leak.py se ha hecho una pequeña modificación para volcar los hashes obtenidos a un fichero llamado hash.txt. En este fichero no veremos hashes repetidos, esto ayudará a lo que haremos después.

Figura 8: Hashes capturados

Si miramos dentro del fichero hashes.txt encontraremos los diferentes hashes correspondientes a los números de teléfono. Uno por cada línea y cada uno de ellos es un sha256 representando el número de teléfono con el prefijo del país.

Figura 9: Fichero de hashes

Ahora, si vemos lo que la gente de Hexway proporciona con hash2phone se puede generar una base de datos con los números de teléfono. Como ejemplo, me he creado una base de datos con tres números de teléfono móvil que tengo disponibles y he creado un fichero llamado request_hash.py que permite tomar los hashes del fichero hashes.txt y lanzarlos contra una aplicación web escrita en flask (o en PHP, eso es lo de menos) y poder consultar los datos. Si el hash se encuentra entre los hashes correspondientes a mis números de teléfono puedo saber su valor en plano. Esto es lo que propone la gente de Hexway con el script hash2phone.

Figura 10: Script hash2phone

Mi script devuelve el valor en plano, el cual he dejado fuera de la imagen anterior. Luego cada cinco segundos duerme esperando a que el fichero hashes.txt engorde con otro hash, el cual poder comprobar.

Figura 11: Cada cinco segundos engordando el hashes.txt

Una PoC bastante chula, la cual con el hardware adecuado queda bien. Aunque sin la información adecuada todo puede ser complejo de montar. Si tienes alguna duda y quieres montarlo no dudes en hacerte con el hardware adecuado.

miércoles, febrero 24, 2021

GeeksHubs, 0xWord & MyPublicInbox: Hack your Career!

Durante este tiempo hemos estado colaborando con GeeksHubs Academy, una Coding School focalizada en la transformación profesional en el área tecnológica de las más relevantes en este país, para llegar a un acuerdo de colaboración conjunta donde podamos aportar desde 0xWord y MyPublicInbox nuestro apoyo a mejorar, solo un poco, las acciones formativas y de aprendizaje que GeeksHubs crea para transformar la carrera profesional de los profesionales en el mundo tecnológico.

Figura 1: GeeksHubs, 0xWord & MyPublicInbox: Hack your Carrer!

El objetivo de los BootCamps, de los Hackathons y de los programas de Full Stak Developer, en los cursos de especialización tecnológica y en los BootCamp de Tech Management for Leadership es preparar a los desarrolladores, a los administradores de sistemas, expertos en BlockChain, bases de datos, desde acciones de nivel inicial para aprender a programar desde cero hasta llegar a ser CIOs o CTOs (Chief Technology Officer), acabando formándose con grandes CTOs de este país que ayudan a que los buenos ingenieros den el salto para estar listos para programar los Squad de desarrollo, gestionar los programas de talento, los modelos de desarrollo Agile, y la carrera profesional de sus equipos técnicos.
Con esta visión de llevar al trabajadores tecnológicos de recorrer toda la carrera desde cero hasta ser un CIO o CTO, nos hemos sumado a colaborar con ellos desde 0xWord y MyPublicInbox. Primero aportando a las formaciones tecnológicas libros de nuestra editorial, escritos por grandes profesionales de la tecnología que ayude a mejorar los recursos educativos de cada una de las acciones educativas de transformación profesional que lleva a cabo GeeksHubs Academy, la primera Coding School de este país.
Además, cada formación de GeeksHubs Academy llevará asociado Tempos de la plataforma MyPublicInbox para que los alumnos puedan comunicarse con los grandes profesionales que hay en la plataforma, en el área de Cloud Computing donde hay profesionales de los más punteros de este país, especialistas en Tecnología con CTOs, CIOs o Tech-Leads, perfiles públicos en Tecnológia-Software con grandes desarrolladores, perfiles públicos en Big Data, especialistas en Criptomonedas, BitCoin y BlockChain o en el área de Inteligencia Artificial.
Por último, yo me sumaré a algunas de las charlas que tienen que ver con la transformación de una carrera tecnológica, en la que me he animado a contar cosas de mi propia carrera, de cómo se han hecho muchos de los proyectos tecnológicos que hemos lanzado en los últimos años, y cómo ha sido la experiencia de un chaval de Móstoles que no sabía qué tipos de redes había cuando le preguntaron en la primera entrevista de trabajo, hasta llegar a ser CDCO en Telefónica - que  ha sido apasionante -. 

Para que os hagáis una idea del tipo de actividades educativas de transformación profesional que se hacen en GeeksHubs Academy, podéis ver el BootCamp de Tech Management & Leadership que comienza el próximo 5 de Marzo, donde se ven, durante 15 semanas, temas que tienen que ver con la organización completa de todas las necesidades de un departamento CIO, CTO o de Tech-Lead.
Y los mentores que lideran esta acción, son un plantel de profesionales que han pasado por situaciones similares, ya que es su día a día en su trabajo, ya que todos son CTOs, CIOs, o Tech Leads en sus diferentes disciplinas, empresas y startups.


Al final, lo que es importante para una carrera profesional saludable - como ya os dije en los Consejos Malignos para tu etapa formativa y profesional - es que no te olvides de que en este mundo tecnológico empresarial en el que nos encontramos, hay cosas que se aprenden haciendo, y cosas que se aprenden aprendiendo, y que no hay cosa más saludable para hackear tu carrera profesional, que tener la mente abierta para reconocer todo lo que no sabemos y tenemos que aprender - haciendo o aprendiendo - . 


Yo os he hablado muchas veces de estas cosas, y en la charla de Hack Your Future! intentaba contar algunas de las simples reglas que he seguido en mi vida profesional, así que desde ahora intentaré aportar lo que pueda a los ingenieros que estén haciendo estas actividades educativas de transformación profesional en GeeksHubs Academy.

Saludos Malignos!

martes, febrero 23, 2021

ATTPwn: Emulación de una técnica de exfiltración MITRE ATT&CK en tus equipos Windows 10

Seguimos incrementando las capacidades de ATTPwn, la herramienta de simulación de adversarios basada en implementaciones de las técnicas de MITRE ATT&CK y de la que os hemos ido hablado varias veces por aquí. En ésta ocasión vamos a crear dos implementaciones con Powershell de la técnica de ATTPwn para simular un proceso de exfiltración en un sistema Microsoft Windows 10. 

Figura 1: ATTPwn: Emulación de una técnica de exfiltración
MITRE ATT&CK en tus equipos Windows 10

Si quieres conocer más sobre ATTPw, el código que hay detrás de la herramienta y cómo participar en su desarrollo creando tus propias implementaciones, puedes echar un vistazo al siguiente vídeo de presentación de nuestro compañero Pablo González para la EkoParty 2020.

Figura 2: Pablo González en EKO2020 presentando ATTPwn

¿Qué queremos decir con exfiltración?

Cuando hablamos de exfiltración estamos hablando prácticamente de robo de información. Generalmente la exfiltración tiene lugar en una etapa muy avanzada de una campaña de Red Team o un ciberataque real. Previo a la exfiltración se ha debido encontrar una vulnerabilidad cuya explotación nos haya dado acceso al sistema y, frecuentemente, se ha obtenido un cierto nivel de privilegios que nos permite acceso a toda la información que almacena el sistema comprometido.

Figura 3: Operaciones en un ejercicio de Red Team

En un ejercicio de Red Team, el objetivo de la exfiltración es poner a prueba la capacidad de la organización para detectar y prevenir el robo de información. El robo de información es útil cuando tratamos de explicar el resultado de la campaña a personas con un perfil no técnico, que pueden des-conocer lo que es un exploit o una elevación de privilegios, pero que entenderán la gravedad de la situación si se les muestra la filtración de los datos de su organización.

Figura 4: El Red Team de la empresa
de Eduardo Arriols

Desde la perspectiva de un ataque real, son muchas las ocasiones en las que la exfiltración es el objetivo final del ciberataque. Los datos robados de una organización pueden ser posteriormente vendidos o usados para la extorsión, puesto que en muchos casos se trata de información sensible y/o confidencial. Multitud de naciones, organizaciones, empresas e individuos particulares han sido víctimas de la filtración de sus datos. 
Algunos ejemplos se han hecho muy famosos en la prensa, como fueron el robo masivo de cuentas en Sony en 2011 o las del portal de citas Ashley Madison en 2015. Otros casos más recientes no han llegado a trascender a la prensa no especializada, pero han sido muy relevantes en el mundo de la ciberseguridad, como el ataque a la compañía FireEye en diciembre de 2020 en el que los cibercriminales consiguieron hacerse con potentes herramientas de hacking.

Implementando técnicas de exfiltración en ATTPwn

Con el uso de técnicas de exfiltración en ATTPwn incrementaremos el realismo de la simulación de una amenaza, permitiéndonos comprobar si tenemos la capacidad de detectar el robo de datos como tráfico malicioso o si, por el contrario, pasa inadvertido para los mecanismos de defensa que tenemos configurados. Para evitar que el robo de datos sea descubierto, es frecuente usar herramientas que ya estén disponibles en los sistemas comprometidos, además de utilizar protocolos de comunicación que puedan pasar desapercibidos como el HTTP(S), DNS e incluso ICMP, utilizando las técnicas de esteganografía que tanto se utilizan sobre ellos.

Figura 6: Libro de Esteganografía y Estegoanálisis
de Jordi Serrá y Daniel Lerch

Las dos implementaciones que haremos hoy hacen uso del protocolo HTTPS e intentarán que la exfiltración sea percibida como tráfico web común. Si no estás familiarizado con el uso de ATTPwn es un buen momento para leer los artículos sobre cómo levantar ATTPwn en Docker y usar su GUI y cómo crear implementaciones en ATTPwn.

En la primera implementación haremos uso de la web file.io, que nos permite alojar y descargar archivos de forma gratuita y sin necesidad de registro. Además cuenta con una API muy sencilla de utilizar. Como ya sabemos, la mejor forma de hacer nuevas implementaciones en la herramienta es partiendo del archivo skeleton file y, desde ahí, crear nuestro propio script: 

Figura 7: Código de la funcioón "invoque-exfiltrationWeb"

Si nos fijamos en la parte resaltada del código, podemos ver que el script hace fundamentalmente tres cosas:

1. Comprime el directorio home del usuario. 
 
2. Usa la herramienta curl para subir el archivo comprimido a file.io a través de una petición POST. La respuesta a esta petición contiene el enlace desde el que se podrá descargar el archivo. 
 
3. Elimina el archivo comprimido del sistema.

Como se puede ver en el vídeo de la Figura 8, el script funcionará correctamente, pero haciendo uso de esta implementación nos enfrentamos a dos problemas:

- El primer problema lo tenemos con curl, la herramienta que estamos usando para comunicarnos con la API. Curl viene instalado por defecto en los sistemas Windows 10 desde la build 17063 por lo que esta implementación no funcionará en versiones anteriores de Windows 10 o en sistemas que corran Windows 7.

- En segundo lugar, es mas que probable que file.io no sea un dominio de uso común en una organización, por lo que el tráfico web que hemos generado es fácil de de detectar como malicioso o puede que no esté permitido por un firewall.

Para solventar estos problemas vamos a crear una segunda implementación haciendo uso de Dropbox para alojar el archivo filtrado y en vez de hacer uso de Curl, utilizaremos el cmdlet Invoke-WebRequest de PowershellLa ventaja de usar Dropbox como canal de exfiltración y control es que es un servicio de uso frecuente en las empresas por lo que es más probable que el tráfico esté permitido y que levante menos sospechas.

Figura 8: PoC de ATTPwn exfriltracion en Windows 10

El beneficio de usar Powershell es que nos permitirá ejecutar el script en la mayoría de sis-temas Windows 7 y Windows 10, ya que todos ellos traen Powershell instalado por defecto. Para utilizar esta implementación necesitamos una cuenta en Dropbox y crear una aplicación desde este enlace para generar un token (API Key). Este token será el que nos identificará al hacer uso de la API de Dropbox. El cuerpo de nuestro nuevo script tendrá esta pinta:

Figura 9: Código de la función “invoke-exfiltrationDropbox”

Aunque pueda parecer más engorroso que el script anterior, en esencia, este hace las mismas tres cosas: comprimir la carpeta home del usuario, subirla a Dropbox y eliminar el archivo del sistema. Esta vez hay que recordar que antes de lanzar un plan que contenga esta implementación contra un warrior, somos nosotros los que debemos suministrar la API Key desde la interfaz web de ATTPwn en la sección del loot del warrior:

Figura 10: Introducción de la APIKey en el loot del un warrior

Con esto ya hemos creado dos implementaciones que nos permiten añadir una técnica de exfiltración al diseño de un plan de amenaza al utilizar ATTPwn. Espero que te hayas animado a implementar otras muchas técnicas, recuerda que es un proyecto Open Source y se nutre de la aportación de todos.

lunes, febrero 22, 2021

Docker SecDevOps y las Linux Capabilites

Hace unos días, nuestro buen amigo Pablo González nos explicó en este artículo cómo se puede realizar una escalada de privilegios utilizando las Linux Capabilities. En dicho artículo comentaba la importancia de su configuración y control para realizar una correcta fortificación de los entornos GNU/Linux. Pues bien, en el mundo de los contenedores Docker las Linux Capabilities son también muy importantes a la hora de gestionar correctamente la seguridad, tanto del contenedor como del host

Figura 1: Docker SecDevOps y las Linux Capabilites

Ya sabemos que, por defecto, cuando levantamos un contenedor Docker, éste se ejecuta como root. Pero claro, todos sabemos que esta práctica no es una buena idea, sobre todo servicios que recibe peticiones ya sean por parte de usuarios o provenientes de otras fuentes. Por cierto, si quieres aprender las bases de Docker y el mundo que les rodea, tenemos este libro en la editorial 0xWord para ayudarte a comprender este fascinante (y cada vez más demandado) mundo de los contenedores:

Figura 2: Libro de Docker:SecDevOps

También es importante mencionar, que, aunque un contenedor ejecutado como root, no tiene los mismos privilegios que el usuario root del host. Esto es porque por defecto, los contenedores Docker se ejecutan con un número limitado de capacidades (Linux capabilities), concretamente con las siguientes:
•	AUDIT_WRITE
•	CHOWN
•	DAC_OVERRIDE
•	FOWNER
•	UID
•	FSETID
•	KILL
•	MKNOD
•	NET_BIND_SERVICE
•	NET_RAW
•	SETFCAP
•	SETGID
•	SETPCAP
•	SETUID
•	SYS_CHROOT
Esto también lo podemos comprobar arrancando un contenedor, conectarnos a una shell y listando las capacidades. Para ver este ejemplo usaremos una imagen Ubuntu e instalaremos el paquete libcap2-bin, el cual contiene utilidades para trabajar con capacidades:
docker run -it ubuntu
root@a8761683eb71:/# apt update
Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [109 kB]
Get:2 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB]
...
...

root@a8761683eb71:/# apt install -y libcap2-bin
...
...
root@a8761683eb71:/# grep Cap /proc/$BASHPID/status
CapInh: 00000000a80425fb
CapPrm: 00000000a80425fb
CapEff: 00000000a80425fb
CapBnd: 00000000a80425fb
CapAmb: 0000000000000000
...
...
root@a8761683eb71:/# capsh --decode=00000000a80425fb
0x00000000a80425fb=cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,
cap_setuid,cap_setpcap,cap_net_bind_service,cap_net_raw,cap_sys_chroot,cap_mknod,
cap_audit_write,cap_setfcap
Si comparamos la lista de capacidades devuelta por el comando capsh, vemos que corresponde a la lista mostrada anteriormente. Además de dichas capacidades, Docker permite añadir otras capacidades dentro de la siguiente lista:
•	AUDIT_CONTROL
•	AUDIT_READ
•	BLOCK_SUSPEND
•	BPF
•	CHECKPOINT_RESTORE
•	DAC_READ_SEARCH
•	IPC_LOCK
•	IPC_OWNER
•	LEASE
•	LINUX_IMMUTABLE
•	MAC_ADMIN
•	MAC_OVERRIDE
•	NET_ADMIN
•	NET_BROADCAST
•	PERFMON
•	SYS_ADMIN
•	SYS_BOOT
•	SYS_MODULE
•	SYS_NICE
•	SYS_PACCT
•	SYS_PTRACE
•	SYS_RAWIO
•	SYS_RESOURCE
•	SYS_TIME
•	SYS_TTY_CONFIG
•	WAKE_ALARM
Para saber qué tipo de privilegios proveen estas capacidades, puedes consultar la documentación de Docker o directamente la documentación de Linux. Si miras la documentación de Linux, verás que el nombre de las capacidades tienen el prefijo CAP_, mientras que para el uso de éstas en Docker, se omite dicho prefijo, así la capacidad CAP_CHOWN, referenciaría simplemente como CHOWN en Docker.
 
(Revisada y Ampliada) de Carlos Álvarez y Pablo González en 0xWord

Para jugar con las capacidades en Docker lo haremos a través de las opciones --cap-add y --cap-drop. Por ejemplo, si arrancamos un contenedor y le quitamos la capacidad de cambiar el propietario de un fichero (o directorio):
docker run -it --cap-drop=CHOWN ubuntu
root@4c385a7c43c2:/# chown nobody tmp
chown: changing ownership of 'tmp': Operation not permitted
root@4c385a7c43c2:/# id
uid=0(root) gid=0(root) groups=0(root)
Como podemos ver, incluso siendo root no tenemos el permiso para cambiar el propietario de un fichero. Recuerda que en Linux, todo es un fichero, y en el libro de Linux Exploiting le sacan buen partido a esto.

Figura 4: Linux Exploiting

Otro ejemplo, si le quitamos la capacidad de NET_RAW al contenedor, no podríamos por ejemplo hacer ping:
docker run -it --cap-drop=NET_RAW busybox
/ # ping google.com
PING google.com (172.217.15.110): 56 data bytes
ping: permission denied (are you root?)
/ # id
uid=0(root) gid=0(root) groups=10(wheel)
Como buena práctica de seguridad sería el quitar todas las capacidades de un contenedor, para ello, Docker provee de la opción ALL, para referenciar a todas las capacidades:
docker run -it --cap-drop=ALL ubuntu
root@88c31bcf9d36:/# apt update
E: setgroups 65534 failed - setgroups (1: Operation not permitted)
E: setegid 65534 failed - setegid (1: Operation not permitted)
...
...
root@88c31bcf9d36:/# id
uid=0(root) gid=0(root) groups=0(root)
Con eso le quitaríamos todos los permisos al usuario, incluso root. Como se puede ver en el ejemplo, root ni siquiera podría instalar software nuevo, hacer ping, modificar el propietario de un fichero, etcétera. Por supuesto, el ejecutar el contenedor como NO root es también una buena práctica y un de las principales acciones que uno debería tomar para proteger un contenedor. Lo ideal sería ejecutar el contenedor con un usuario sin ninguna capacidad, y si es necesario, añadir únicamente las capacidades que se necesiten. Si usas docker-compose, el equivalente sería:
version: "3.9"
services:
  miservicio:
    ...
    cap_drop:
      - ALL

    cap_add:
      - NET_ADMIN
      - SYS_ADMIN
    ...
Y en Kubernetes, esto se definiría dentro del contexto de seguridad del pod o del contenedor o contenedores:
apiVersion: v1
kind: Pod
metadata:
name: capacidades-ejemplo
spec:
containers:
- name: capacidades-ejemplo
    image: mi-imagen
    securityContext:
    capabilities:
        drop:
          - ALL
        add: 
          - NET_ADMIN
          - SYS_TIME
...
...
Existen muchas otras buenas prácticas de seguridad en relación con proteger tus contenedores e imágenes Docker. Aquí sólo hemos visto un poco lo relacionado al tema de las capacidades de Linux. Volveremos a hablar de la importancia de la seguridad tanto en contenedores como en Kubernetes. Así que atentos ;)

 Happy Hacking Hackers!!! 

Autores:

Fran Ramírez, (@cyberhadesblog) es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps", también de "Machine Learning aplicado a la Ciberseguridad” además del blog CyberHades. Puedes contactar con Fran Ramirez en MyPublicInbox.

 Contactar con Fran Ramírez en MyPublicInbox

Rafael Troncoso
(@tuxotron) es Senior Software Engineer en SAP Concur, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps" además del blog CyberHades. Puedes contactar con Rafael Troncoso en MyPublicInbox.


Contactar con Rafael Troncoso en MyPublicInbox

Entrada destacada

ESET te consigue 100 Tempos de MyPublicInbox para consultar con los expertos de seguridad informática @eset_es @mypublicinbox1

La compañía de seguridad ESET , especializada en soluciones de seguridad personal y empresarial, ha puesto activa una campaña de concienciac...

Entradas populares