Activa JavaScript para disfrutar de los vídeos de la Mediateca.
CiberJueves: Pablo Asenjo "n8n aplicado a la ciberseguridad, alertas y cibervigilancia
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Hoy vamos a hablar de N8N, que es una cosa para automatizar cosas. Yo no soy técnico y ya está. Esa es la introducción que te puedo hacer. Pero como hemos traído un ponente, nos va a contar mejor todo eso.
00:00:00
Y traemos a Pablo Asenjo González para explicarnos N8N, aplicado a ciberseguridad, alertas y cibervigilancia. Un aplauso para él.
00:00:15
Gracias, gracias. Pues la verdad es que yo no lo habría explicado mal. O sea, mejor, N8N es una cosa para automatizar cosas. Mejor, imposible.
00:00:23
Dado que estamos en la Consejería de Digitalización y estamos con la Agencia de Ciberseguridad de la Comunidad de Madrid, vamos a intentar orientarlo un poco al campo donde me especializo más, que es la parte de ciberseguridad, la parte de alertas y luego vamos a ver un tramo de cibervigilancia.
00:00:39
Y luego una sorpresita al final, que no estaba pensada, pero viene con relación con otro de los ponentes que ha estado aquí, Yeser Ferreira, y con eso vamos a explicaros qué es lo que vamos a ver para que no perdáis el tiempo.
00:00:54
Vamos a ver qué es lo que resuelve NHN, qué es lo que no resuelve, muy muy importante,
00:01:10
y por qué encaja un poco en el sector ciberseguridad, las capacidades que tiene,
00:01:15
en específico en sector ciberseguridad, la parte de ingesta, transformación y las otras muchas capacidades que veremos.
00:01:19
Luego vamos a ver tres ejemplos prácticos, uno de ciberseguridad orientado a parte de alertas,
00:01:26
vamos a ver una integración con un EDR, las limitaciones que tiene,
00:01:32
pero cómo se puede hacer una parte de enriquecimiento de alertas dentro del propio N8N.
00:01:37
Y luego vamos a ver una parte de Intel, que es donde vamos a meter la parte de ciberseguridad y la parte de la sorpresa. Ahora lo veremos.
00:01:43
Y por último, unas breves conclusiones, sobre todo para intentar transmitiros las muchas horas que le he dedicado a N8N de la manera más en píldora posible.
00:01:51
Este es el objetivo de hoy, que entendáis este flujo.
00:02:01
Al final de la sesión, no se ve muy allá, pero al final de la sesión es que entendáis este flujo entero, cada uno de los nodos que hay ahí.
00:02:03
Vamos a hacer un repaso luego por la interfaz gráfica de N8n, al final esto va a ser mucho más interactivo que una presentación con slides,
00:02:15
por eso he pedido el atril y que me dejen mi portátil, porque vamos a estar cambiando todo el rato entre N8n y la presentación.
00:02:21
Bien, antes de nada, explicaros un poco qué hago aquí, quién soy. Pablo Asenjo, analista de ciberinteligencia, pentester, bueno, todo lo que pone ahí.
00:02:27
Lo que os tenéis que quedar es vocación por la enseñanza. Me encanta la parte de divulgar. Ahí hay unos pocos eventos donde he dado charlas.
00:02:38
estudio en el extranjero
00:02:47
en Oxford Brookes University
00:02:49
y luego la última
00:02:51
frase de cofundador
00:02:54
y presidente de la Spanish Space Initiative
00:02:56
es una iniciativa
00:02:57
para nada relacionada con ciberseguridad
00:02:58
para que veáis que todo es compatible
00:03:01
unas pequeñas fotos
00:03:03
de la iniciativa
00:03:05
aquí la iniciativa se encarga de hacer competiciones
00:03:06
a nivel internacional
00:03:09
basadas en España principalmente
00:03:11
pero que tienen recorrido internacional
00:03:13
Hacemos la fase nacional de las Space Design Competition, que es una simulación de la industria espacial donde a los chicos se les da un reto y tienen unas horas para resolverlo, presentarlo al jurado y se van clasificando por fases.
00:03:16
Aquí en España se clasifican a la fase europea y de la fase europea pasan a la fase internacional, que se celebra todos los años en Florida, en el Kennedy Space Center, donde se lanzan los cohetes.
00:03:27
Así que si os mola el espacio y luego queréis hablarme de temas de espacio, yo encantado también con eso.
00:03:36
Bien, ahora sí, ¿qué resuelve y qué no resuelve N8N? Importante. Aquí hay mucha gente que cuando se vende a una herramienta dicen lo bueno, bueno, bueno que es la herramienta y luego faltan decir cuáles son las limitaciones reales que tiene la herramienta.
00:03:43
Entonces, para parte de ciberseguridad, ¿qué resuelve? Conecta herramientas que normalmente estarían separadas, que no tendrían visibilidad una de otras, automatiza tareas repetitivas, transforma datos en información estructurada, es decir, todo lo que se ingeste se puede…
00:03:59
Ahora veremos cuál es la arquitectura de un flujo, pero todo lo que se ingeste puede salir de otra manera, haciendo cosas con cosas. Ahora lo veremos. Enriquecimiento de alertas con contexto para la parte de ciberseguridad específicamente y orquestación de procesos.
00:04:18
Aquí cuando le he preguntado a HGPT que me defina N8N en cuatro palabras, me ha dicho, te lo hago en tres, crack, orquestación de procesos. Así que quedaros con eso. Orquesta, procesos.
00:04:34
Aquí he puesto también la descripción de qué es un SIEM y qué es un SOAR.
00:04:45
Lo digo porque un N8N no sustituye ni a un SIEM, es decir, donde se ingestan todas las alertas que puedan venir de una entidad,
00:04:50
en el caso de Wazoo, Sentinel One, CrowdStrike, lo que sea, muchos agentes, antivirus, vamos a llamarlos así,
00:05:00
instalados en muchos equipos que llegan toda esa información a un sitio, eso se llama el SIEM.
00:05:05
Y luego la parte del SOAR es cómo se automatizan esas alertas que llegan.
00:05:10
Es decir, a mí me llegan todos los logs de lo que sea, de Google Workspace o de Microsoft Teams y todos los inicios de sesión sospechosos pasan por el SOAR y luego hay playbooks que se ejecutan.
00:05:14
Es un poco parecido, es un sistema de justamente Security, Orchestration, Automation and Response, pero es dedicado.
00:05:28
N8n vale para muchas otras cosas, así que tiene sus cosas buenas y sus cosas malas.
00:05:36
No lo sustituye, es lo primero que pone. No resuelve, no sustituye un SIEM o un SOAR dedicado, no sustituye al analista, desde luego, no convierte una mala fuente en una buena fuente, de lo que sea, no elimina una validación, trazabilidad, revisión, toda la parte de revisión humana es súper importante y es que lo vamos a ver ahora a posteriori.
00:05:40
Vamos a ir un poquito con teoría y luego vamos a pasar directamente a NHN. ¿Por qué tiene sentido en ciberseguridad? Pues porque hay muchas cosas que son repetitivas. Hace unos años el principal objetivo de todos los departamentos de ciberseguridad era tener más fuentes, tener más información, más visibilidad.
00:06:05
Pero luego hemos llegado a un punto en el que ya tenemos todas esas fuentes y tener una fuente más no es una mejora, casi es algo que va a hacer que el analista se frustre más, tenga que dedicarle más tiempo y al final acabamos con 350 paneles que revisar y 4 analistas para que lo revisen.
00:06:25
Entonces, dentro de esto, N8N viene muy bien, así como lo haría un SOAR, para minimizar el tiempo que dedican los analistas y centralizar cosas.
00:06:44
Lo que aporta N8N, pues eso, conectividad de sistema, reduce tiempos, estandariza procesos,
00:06:54
vienen por la parte de que cuando hay en una empresa o en una institución un know-how de hacer algo,
00:07:01
pero nunca se ha intentado extraer, ese know-how solo se queda en las personas, y esas personas se van, se pierden.
00:07:06
Cuando se estandariza el proceso, se entiende qué es lo que se hace en cada uno de ellos, entonces es más fácil replicarlo en otros sitios. Y la parte donde encaja dentro de ciberseguridad.
00:07:13
Y ahora sí que sí, vamos a pasar a la parte de capacidades generales, a la parte de lo que mola, de la parte dinámica. Antes de nada, quería preguntar quién de aquí es técnico. Vale, eso me va a gustar, un perfil técnico.
00:07:25
vamos a hacer una diferenciación entre N8n y herramientas agénticas
00:07:43
para empezar
00:07:48
porque creo que todo el mundo hemos usado
00:07:48
de las tres que hay allí
00:07:51
Open Cloud, quien lo conozca, enhorabuena
00:07:52
Hermes Agent también
00:07:54
cuando salieron estas herramientas agénticas
00:07:55
que también permiten automatizar
00:07:58
parecía que la carrera de N8n había desaparecido
00:08:00
pero quiero que sepáis que son cosas complementarias
00:08:03
hay muchas cosas que se pueden hacer con Cloud Code
00:08:05
con ChatGPT, con Gemini
00:08:07
e incluso con sistemas tipo Open Cloud o Hermes Agent
00:08:08
que se materializan como tareas de cronjobs que van asociadas a un cronómetro y que se ejecutan cada equis tiempo.
00:08:11
Pero aquí N8n es donde gana un poco la ventaja.
00:08:22
N8n es determinista, es decir, es un flujo que siempre va a seguir el mismo camino.
00:08:26
Independientemente de que luego metas más o menos LLMs, va a seguir siempre el mismo camino.
00:08:30
N8n es más barato en todos los procesos.
00:08:35
Esto viene por la parte de los tokens.
00:08:37
Cuando tú pides que cada X, que todos los días HGPT te haga un resumen de las noticias de ciberseguridad, N8N va a seguir un flujo. Un Open Claw va a tener que extraer todas las noticias, pero además resumirlas.
00:08:40
Es decir, todos los tokens que gasta un agente, da igual el que sea, va a ser impepinable. Tú puedes tener un N8N sin que gaste ni un solo token de ningún LLM, porque son flujos de automatización muy deterministas.
00:08:58
es fácil de auditar lo veremos en la parte de ejecuciones en dentro de la
00:09:10
interfaz gráfica y luego es ideal para workflows que son recurrentes eso cada
00:09:15
equis días cada equis minutos cada equis horas y que no consumen excesivamente
00:09:21
excesiva cantidad de tokens y luego la parte de las integraciones con apis que
00:09:26
es una de las cosas por las que se han hecho más famosas y por la otra parte
00:09:31
pues en que es bueno o en que destaca la parte de herramientas agénticas que son
00:09:34
más flexibles para lo bueno y para la mano útiles para tareas más ambiguas por
00:09:39
mucho que le bajes la temperatura a un modelo es decir limitar la capacidad de
00:09:44
creatividad siempre va a tener ese granito de querer innovar no consumen
00:09:49
tokens desde luego en cada request aquí en h&n lo dejas instalado puedes tener
00:09:55
un webhook recurrente y eso no gasta ningún token y luego si tienen un aporte
00:09:59
y en valor, en la parte de resumir, en la parte de razonar, procesar, todo eso lo hacen mejor que en 8N por lo general, aunque en 8N utilicemos los mismos modelos.
00:10:05
Las capacidades en ciber, como ya las he comentado un poco, no voy a dedicarle excesivo tiempo, pero esto es un poco lo que se puede hacer en el sector ciber.
00:10:17
La parte de ingesta, de transformación, enriquecimiento, el clasificado, da igual de lo que sea, lo veremos luego en la parte de obtención de cibervigilancia, como puedes clasificar el contenido de grupos en Telegram en función del tipo de ataques que hagan, hablando siempre de la parte de cibercriminal, por supuesto, o clasificar grupos en función de si son de apuestas, grupos de chavales o donde está infiltrado un analista.
00:10:26
La parte de alertado, por supuesto, lo veremos ahora porque el flujo va a venir al pelo, como si yo detecto unos keywords, automáticamente se me manda una alerta, donde quieras, porque tenemos la parte de integración que tiene todo. Slack, Telegram, Google Chat, es que si lo podéis pensar, está, y si no está, lo podéis integrar, que es una de las cosas por las que es tan famoso en HL.
00:10:53
La parte de reporting, súper importante, cuando tú tienes una base de datos que has ingestado y transformado, clasificado, tú luego le puedes pedir a N8N un bucle de todos los días, quiero que me mandes un resumen de lo que se haya ingestado en esta base de datos del último día y lo puedes hacer porque dentro de N8N hay nodos de inteligencia artificial, que era la última parte, la parte de traducción, resúmenes, extracción, ahora lo veremos.
00:11:17
Los nodos, importante. Aquí la arquitectura de un flujo son tres cosas, como han dicho previamente. Algo entra, algo pasa con lo que entra y algo sale.
00:11:45
Ahora, más sencillo, es muy complicado hacer esto más sencillo que esto. Los nodos que convierten el flujo en esto, la parte de entrada, los triggers, que son los que disparan el flujo, la parte de obtención de datos, esto no es directamente la parte de la integración, sino cuando a ti te llega un trigger, puede ser que lo hayas disparado con información.
00:11:59
Por ejemplo, un webhook de cuando pase algo en el SIEM que me lo mande. Eso va a parte de la obtención de datos, de HTTP request, de la parte de bases de datos, integraciones con Google AI, 10 millones, APIs externas.
00:12:22
La parte de transformación de esos datos, es decir, una vez yo ya tengo esos datos, ¿qué se hace con esos datos? ¿Cómo se transforman? ¿Cómo se dividen? ¿Se clasifican? ¿Se ingestan en otra base de datos?
00:12:36
que se hace con esos datos, la parte de transformación.
00:12:47
Luego para los familiarizados con programación, lo que vienen a ser los enrutadores,
00:12:50
la parte de decisión, los ifs, los switch, los filtros, todo eso se puede hacer dentro de N8n.
00:12:54
Hay nodos especializados de ejecución de JavaScript dentro, de JavaScript, de Python,
00:12:59
con lo que puedes hacer cosas bastante chulas.
00:13:06
Luego la parte de integración y la parte de IA son las que están en rojo porque son en esencia,
00:13:09
por lo que N8n ahora mismo es lo que es.
00:13:14
integración, ¿con qué? con todo, literalmente con todo, si buscas un nodo de virus total lo vas a tener,
00:13:17
un nodo de, es que, ahora lo veremos, pero es que es tan desmedido la cantidad de cosas que tiene,
00:13:23
vamos a crear aquí un flujo de ejemplo, y vamos a ver, estupendo, se ve decente,
00:13:29
vamos a crear un trigger manual, y vamos a ver con qué se puede integrar,
00:13:39
y cuanto más bajéis
00:13:44
más vais a encontrar con que
00:13:49
hay más integraciones
00:13:51
no sé cuál es la velocidad de refresco
00:13:53
de esto, pero bueno, ya vamos bajando un rato
00:13:55
vamos por la B, pero
00:13:57
da igual, o sea
00:13:59
cualquier cosa que busquéis va a estar
00:14:01
y si no, siempre puedes tener
00:14:03
un buen hook
00:14:07
que estos van a ser
00:14:09
van a servir para todos
00:14:13
un HTTP request
00:14:14
bueno, un HTTP request
00:14:16
y luego la parte de la inteligencia artificial
00:14:28
que la vamos a ver también en detalle
00:14:31
la parte de los nodos
00:14:32
agénticos
00:14:34
que estos los vamos a ver en detalle
00:14:36
vamos a tener un ejemplo dedicado solo a esto
00:14:38
como he visto que ha habido bastante gente
00:14:39
que ha levantado la mano en parte de técnicos
00:14:41
pero también ha habido gente que no la ha levantado
00:14:43
vamos a ir con
00:14:45
última cosa
00:14:48
de teoría y ya pasamos, lo prometo
00:14:50
donde se puede instalar N8n, en local
00:14:52
recomendado
00:14:54
en un VPS en cloud
00:14:56
recomendado
00:14:58
no me pagan, pero
00:14:59
los de Hostinger tienen un
00:15:02
buen sistema de Docker en el que
00:15:04
podéis, o sea, esto es un VPS que
00:15:06
tengo yo por ahí
00:15:08
ahí se me va a liquear la IP
00:15:09
pero no hay ningún problema
00:15:12
y en la administración de Docker
00:15:14
puedes, es tan sencillo como
00:15:16
componer manual
00:15:18
Finalmente, implementación con un clic, y dentro del catálogo que tienen, puedes implementar muchas de las aplicaciones que utilicéis en vuestro día a día.
00:15:20
Pero puedes directamente implementar un N8n y automáticamente se te va a desplegar una nueva instancia de N8n dentro de tu Docker.
00:15:38
Para los que os preguntéis por precios, porque digáis, pero es que eso cuesta dinero, esto cuesta 5 euros al mes, si lo coges al año sale por 3 euros al mes durante todo el año.
00:15:47
Entonces, esto merece la pena. La otra opción, la más barata, es tener un OVPS nuestro, es decir, un ordenador viejo, una Raspberry Pi o algo por el estilo y con puertos furgardeados, si es que necesitamos que salga internet, que suele ser lo suyo.
00:15:58
¿Por qué lo de tenerlo en local tiene sus limitaciones? Porque si yo quiero flujos que corran las 24 horas del día, yo cuando cierre la tapa del ordenador o apague el ordenador, el flujo va a dejar de estar en funcionamiento.
00:16:14
entonces tiene mucho sentido
00:16:26
tener un VPS en cloud
00:16:28
que de verdad hay algunos muy muy baratos
00:16:30
aquí he puesto otro ejemplo que os he contado
00:16:32
que es todavía más barato
00:16:34
que Hostinger
00:16:36
y sale muy a cuenta
00:16:37
ahora ya sí que sí
00:16:40
la parte de ciberseguridad
00:16:42
vamos a intentar entender tres casos
00:16:43
y los vamos a ver
00:16:45
en tiempo real
00:16:48
vamos a empezar de lo más básico
00:16:49
a luego llegar al
00:16:51
ejemplo final
00:16:54
Vamos a empezar por esto y lo vamos a ir explicando uno a uno. No sé si esto tiene, pero como si no tuviera. Empezamos por el trigger. Este iconito de aquí indica que es un trigger. Significa que es el nodo inicial. Además se ve porque esta parte de aquí es curva y esta parte de aquí es cuadrada. Todos los demás son cuadrados hasta el nodo final, si es que hay un nodo final.
00:16:55
Lo siguiente que hay es un if. Vamos a explicar qué hace este workflow antes de intentar entender los nodos que tiene. Este workflow lo que hace es una request a una API para saber las contraseñas que tienes filtradas de un correo.
00:17:18
sencillo
00:17:34
lo primero que va a hacer el chat
00:17:36
es esto de aquí abajo
00:17:39
es para poner un correo
00:17:40
entonces lo primero que
00:17:43
hace el if
00:17:45
que es el siguiente nodo
00:17:47
es preguntar si contiene un arroba
00:17:48
pues es una mínima validación
00:17:50
es una chorrada para que entendáis como funciona un if
00:17:52
entonces
00:17:54
si yo aquí en el chat
00:17:55
pongo un test
00:17:58
ya vemos como se está ejecutando
00:18:01
lo que me va a decir es por favor mete un email válido porque porque ha seguido
00:18:03
esta ruta es tan sencillo como coger un dedo e ir haciendo
00:18:09
no tiene desperdicio esto no me podéis decir que es complicado
00:18:14
qué es lo que hay aquí un nodo de enviar un mensaje al chat que diga enter a
00:18:18
validmail ya está qué es lo que hay por arriba lo que por
00:18:23
arriba es un http request esto es un es una app y pública no te va
00:18:27
dar grandes insights pero sí que nos viene súper bien para hacer la prueba
00:18:32
pues leeksec.io tiene una parte de API donde si tú integras el
00:18:37
el correo detrás te sale que es lo que hay liqueado y te lo devuelve en formato
00:18:43
JSON que eso es muy muy importante entonces si yo aquí pongo test
00:18:47
arroba gmail.com va a ir por el camino de arriba
00:18:54
Este nodo es un nodo en JavaScript. Esto no penséis que lo he redactado yo con mucho esfuerzo. Esto generalmente lo más sencillo es trabajar con un agente en el que tú le pasas la respuesta del JSON que te da la API y le dices, oye, quiero que me lo pongas bonito o quiero que me lo pongas con este formato.
00:18:58
omite esta información, ponme esta, pero es básicamente código, no tiene otra cosa.
00:19:15
Y por último, el nodo de enviar, que es la parte donde se le dice cómo quieres que se envíe.
00:19:22
Pone Telegram Message porque este nodo lo llamé Telegram Message porque en principio este workflow se puede utilizar
00:19:31
en vez de con chat dentro de N8N con Telegram, ahora lo veremos, pero es solo el nombre.
00:19:39
Entonces si yo envío esto, vamos a ver que pasa como un correo válido, hace la request, pasa por el nodo para formatearlo
00:19:47
y te dice aquí que es lo que hay liqueado, que bueno, al ser un correo tan público, pues está liqueado 20.000 coincidencias.
00:19:58
Pues era lo esperado. Allá abajo vienen los dominios donde está liqueado. Necesitaba beber agua, chicos. Y ya con esto entendemos un poco cómo es el funcionamiento. Es decir, la interfaz gráfica no tiene demasiada cosa.
00:20:07
Aquí a la izquierda podemos ver los workflows que tenemos, es decir, en Overview vemos los workflows que tenemos, la parte de credenciales, donde podéis subir las credenciales que tengáis.
00:20:27
Además, muy conveniente que no se pueda, para los que trabajáis en empresa y tenéis una instancia compartida, una vez metes la API de cualquier cosa, esto ya no se puede ver.
00:20:41
No hay un ojito ni nada por el estilo. Este valor va a salir blank value y no se puede ver. O sea, eso de ahí no es un API de OpenAI para los que no lo conozcáis. Entonces, es muy versátil porque puedo decirle, oye jefe, necesito que me metas una clave de lo que sea, como si es de Google Chat. Pues ya luego no se va a poder ver.
00:20:52
Continuamos con el segundo ejemplo
00:21:15
El segundo ejemplo es para entender cómo funcionan el tema de los agentes
00:21:20
Este ejemplo es de los más más tontos que hay
00:21:27
Pero es únicamente para entender este nodo
00:21:30
Porque es de los más importantes dentro de N8n
00:21:32
Este nodo tiene principalmente dos cosas
00:21:35
La parte del user prompt, es decir, qué es lo que pone el usuario
00:21:38
Y el system message
00:21:41
De hecho, hay varios sitios donde tú puedes hacer prompt injections precisamente poniendo justamente antes system message, dos puntos comillas y poniendo como si fueras administrador del sistema.
00:21:43
Porque es en realidad como se envía al ERM todo junto.
00:21:55
¿Qué es lo que le estamos diciendo?
00:21:58
Eres un asistente que responde siempre en tres palabras.
00:22:00
Sencillo.
00:22:04
¿Qué es lo que le hemos dado a este agente?
00:22:05
Le hemos dado un modelo y le hemos dado una memoria.
00:22:07
esta memoria no se va a guardar en bases de datos
00:22:11
aunque se puede guardar en bases de datos
00:22:13
en estos tipos
00:22:15
de bases de datos, sobre todo para cuando
00:22:17
hay memorias a gran escala o cuando
00:22:19
hay varios usuarios, esta es una memoria simple
00:22:21
sobre todo para hacer pruebas, no requiere
00:22:23
credenciales, es lo más tonto de
00:22:25
implementar, pero vale
00:22:27
es súper útil para hacer pruebas
00:22:29
le hemos dado una
00:22:31
idea para que me guarde
00:22:34
que soy yo, entonces aquí
00:22:35
vamos a hacer lo mismo
00:22:37
y vamos a preguntarle
00:22:39
vamos a decirle hola
00:22:40
y aquí vemos que es lo que está pasando
00:22:44
el agente ha recibido la request
00:22:47
ha consultado la memoria
00:22:49
se la ha pasado a la API que tengo de OpenAI
00:22:51
en este caso es una API
00:22:54
con el modelo O4 Mini
00:22:56
que es de los más baratitos que hay
00:23:00
sino el más baratito que hay
00:23:02
y me ha respondido en tres palabras
00:23:03
hola, ¿qué tal?
00:23:05
aquí me gusta hacer esta prueba de
00:23:06
buenos días
00:23:08
Entonces, quiero que me expliques la revolución francesa. Y como es un agente que tiene la obligación de respondernos en tres palabras, a no ser que se salte las leyes de la programación, nos va a decir que es un cambio social profundo.
00:23:10
Vamos a intentar mover esto un poquito para acá.
00:23:34
He entendido un poco lo que es la parte del LLM.
00:23:40
Esto, así, visto en un único nodo, parece una tontería.
00:23:42
Pero luego, cuando volvamos a los nodos completos, a los workflows,
00:23:46
donde este trocito de aquí va a ser un clasifícame la alerta que ha llegado,
00:23:50
si este usuario le conozco o no le conozco, esto tiene un valor grandísimo.
00:23:56
Además de esto, los agentes se les pueden meter tools, herramientas.
00:24:02
Es decir, yo a este agente le podría meter como una herramienta un HTTP request
00:24:06
y ponerle exactamente la misma URL que hemos hecho en el ejemplo anterior.
00:24:11
Es decir, darle la capacidad de hacer una request para que me consulte mi correo.
00:24:15
Luego habría que currárselo un poco más y decirle en el system prompt,
00:24:21
oye, que sepas que tienes esta herramienta, pero se puede hacer.
00:24:24
y tanto con
00:24:27
HTTPS Request como
00:24:29
bases de datos, como se le puede instalar
00:24:31
un MCP, es decir, yo tengo
00:24:33
esta herramienta que me he picado para mí, es interna
00:24:35
o es de la institución pero es interna
00:24:38
¿cómo se usa? Pues se puede crear
00:24:39
un MCP para que un agente lo sepa utilizar
00:24:42
independientemente del contexto que tenga
00:24:44
y eso es súper potente
00:24:46
súper, súper potente
00:24:48
además de esto, tiene una patita por aquí
00:24:49
que ahora mismo no estáis viendo porque está
00:24:52
deshabilitada, que es
00:24:53
el parser
00:24:54
Cuando tú le dices que el output tiene que requerir un formato específico, lo que te sale es esto, una patita más, que se llama output parser.
00:24:57
Este output parser te va a dar la opción de utilizar diferentes, pero el structure output parser lo que le va a decir es, oye mira, yo necesito que las respuestas que me des tengan o este formato en modo example o este esquema.
00:25:08
Y le sube directamente el esquema con los tipos dentro del esquema.
00:25:24
Y si no te lo da así, no va a funcionar.
00:25:28
Lo bueno de esto, que luego a la hora de coger la parte de los inputs es mucho más sencillo.
00:25:32
Esto no lo he explicado, pero el cómo tú vas de un nodo al otro, cómo vas desarrollando,
00:25:39
es otra de las cosas más potentes que tiene 8N.
00:25:48
Porque para gente no técnica o gente con un nivel técnico más bajo, que no esté dedicado al desarrollo de automatizaciones al 100%, yo aquí esto me dice directamente cuando el chat he recibido, es decir, es el nodo anterior, me salen las respuestas de los nodos anteriores y pues me salen estos tres puntitos.
00:25:50
lo que yo le he metido
00:26:10
el session ID, que esto se autogenera
00:26:11
y la acción que he hecho, que ha sido enviar un mensaje
00:26:14
pues normalmente
00:26:16
yo tendría que coger, venir aquí
00:26:18
y escribir aquí entre corchetes
00:26:20
el tipo de input que yo quiero
00:26:23
que reciba, pero cuando me voy a la parte
00:26:24
de esquema, es tan sencillo como coger
00:26:26
el chat input
00:26:28
y arrastrarlo, y automáticamente
00:26:29
ya se me ha puesto, es decir, el nodo del
00:26:32
agente, lo que recibe es el
00:26:34
JSON de chat input, tan sencillo
00:26:36
No he tenido que picar nada, ha sido arrastrar, como si fuera Scratch.
00:26:39
Eso también tiene muchísimo valor.
00:26:43
Y por último vamos a ver lo que sería este mismo caso en Telegram.
00:26:46
Es decir, conexión con Telegram.
00:26:52
Una tontería, pero va a venir muy bien para ilustrar lo que queremos hacer.
00:26:54
Aquí lo mismo, le vamos a decir que es un asistente de tres palabras.
00:26:58
Y lo que vamos a hacer es desbloquear este nuevo botón.
00:27:01
Ahora mismo todos los workflows que hemos utilizado estaban en local, es decir, no estaban publicados.
00:27:05
Si yo quería conectar con Anchor, lo tenía que hacer desde mi máquina.
00:27:08
Cuando tú lo publicas, le puedes poner un nombre de versión, un production checklist, los mensajes que te da están muy bien.
00:27:11
Esto ya se ha puesto en verde, lo que significa que yo ahora puedo utilizarlo desde fuera.
00:27:20
Me voy a venir aquí, que por cierto, el cómo se integra una API de Telegram es ridículo.
00:27:27
aquí tienes los nodos, aquí tengo puesto
00:27:34
ppCiberJueves
00:27:37
voy a mutear esto
00:27:38
que si no, ahí está
00:27:43
ppCiberJueves
00:27:44
y es tan sencillo como añadir una nueva credencial
00:27:46
¿alguien conoce BotDog?
00:27:49
o sea, BotDog, BotFader
00:27:50
pues
00:27:52
lo que te genera BotFader
00:27:54
además no tengo problema, no veo a nadie
00:27:56
comportado por aquí, así que no creo que vaya a haber problema
00:27:58
lo que te dé BotFader
00:28:01
la API
00:28:03
es tan sencilla como copiarla
00:28:04
y pegarla
00:28:06
cuando le das a guardar
00:28:09
voy a poner esto aquí
00:28:11
lo que va a hacer es un test
00:28:12
ya tengo una cuenta integrada con Telegram
00:28:14
a ese nivel de sencillez
00:28:17
cuando ya tengo esta cuenta creada
00:28:19
en principio debería dar igual
00:28:22
pero voy a poner esto por un poco
00:28:23
de consistencia
00:28:25
ya
00:28:27
vamos a volver a publicar
00:28:28
no debería haber ningún cambio
00:28:30
pero publicamos
00:28:31
y vamos a darle los buenos días
00:28:33
buenos días
00:28:37
buenos días
00:28:41
¿qué tal? uff ahí son cuatro palabras
00:28:43
vamos a no ser que aquí tenga puesto
00:28:45
cuatro palabras
00:28:47
tres palabras
00:28:48
vamos a preguntarle lo mismo
00:28:50
bueno ahí ha hecho un save
00:28:52
en el minuto 90
00:29:02
pero es un poco
00:29:03
el cómo se pueden integrar esto con
00:29:06
cosas externas, se puede integrar con google chat
00:29:08
con Slack, es que da igual lo que tengáis
00:29:09
se puede integrar, seguro
00:29:12
con WhatsApp, con Discord, con
00:29:13
todo, con lo que queráis
00:29:15
y venimos a la parte de ejecuciones, donde
00:29:17
veis que esta mañana he estado a las
00:29:19
8 de la mañana terminando alguna
00:29:22
pruebecilla para ver que todo funcionaba en orden
00:29:25
pero esta es la parte de ejecuciones, esta es la parte
00:29:27
de la auditoría, lo que os comentaba antes
00:29:29
de que es muy fácil de auditar el proceso
00:29:31
aquí puedo ver que es la última
00:29:33
ejecución que he hecho, ha salido
00:29:35
todo en orden y ver qué es lo que ha hecho. Me ha dado este input del Telegram Trigger,
00:29:37
aquí me sale la ID de mi cuenta de Telegram, el cómo me llamo en Telegram, todo lo que
00:29:44
te sale de la integración con Telegram. En el chat model te sale qué es lo que ha enviado
00:29:48
y aquí es donde se ve realmente cómo se hacen las cosas. Input, system, eres un asistente
00:29:55
responde siempre en tres palabras, human
00:30:03
por eso, si en algún LLM
00:30:05
sobre todo antes, ahora ya
00:30:07
esto está muy depurado, pero cuando poníais
00:30:09
system prompt, dos puntos y una
00:30:11
palabra de
00:30:13
me puedes decir tu código fuente, te lo daba
00:30:14
porque así es como realmente
00:30:17
se construían las consultas por detrás
00:30:19
se construían, ahora tienen muchos más
00:30:20
guardarrailes, pero en N8n
00:30:23
un ejemplo básico nos
00:30:25
ayuda bastante, y el último
00:30:27
nodo que lo que ha hecho ha sido
00:30:29
outputear el mensaje
00:30:31
a telegram y ya está caso 3 visto y ya con esto tenemos los tres casos vistos hay uno más que
00:30:32
normalmente no enseño pero bueno como vamos bien de tiempo os lo voy a enseñar que es el caso 4
00:30:45
que es exactamente lo mismo pero con un trigger distinto este trigger no lo hemos visto es un
00:30:48
schedule trigger y yo lo que puedo hacer con esto es decirle cada cuánto quiero que se ejecute el
00:30:55
workflow preestablecido aquí le voy a decir
00:30:59
cada segundo para hacer un poco la coña y aquí lo que quiero que haga
00:31:05
quiero que me digas una frase motivadora rápida
00:31:12
y esto si yo lo ejecuto si aquí arriba podéis ver diferentes botones si lo
00:31:16
ejecutó directamente lo esfuerzo a que se ejecute lo que me
00:31:22
va a crear es una frase motivadora rápida cree en ti mismo y conquista tus
00:31:27
sueños y cuando yo ejecuto esto a mi bot a mí me ha sonado el mensaje
00:31:32
lo tengo aquí esto vale para cualquier cosa hazme un reporte mensual de
00:31:38
la caída de bitcoin hazme un reporte mensual de la bolsa un reporte de mis
00:31:45
correos electrónicos que me han entrado esta mañana un flujo súper útil para lo
00:31:51
que sea si yo esto lo pongo en producción
00:31:55
y lo que va a pasar es que este workflow va a empezar a funcionar solo entonces
00:32:00
en la parte de ejecuciones vamos a poder ir viendo cómo están corriendo los
00:32:04
flujos a cada segundo y pues cómo se van poniendo de 4 en 4 y como pues mi
00:32:09
motivación va subiendo
00:32:15
notablemente por por respeto a la cantidad de créditos que
00:32:18
me quedan hechas GPT, lo voy a despublicar.
00:32:24
Ahora veremos un poco cuánto es el consumo de créditos.
00:32:28
Ya os voy adelantando que no es mucho.
00:32:30
De hecho, os puedo decir que para la RUTED del año pasado metí 20 euros en la parte de OpenAI
00:32:33
y creo que me quedan 15 y juego con él bastante.
00:32:39
O sea, puedo deciros que si utilizáis los modelos más baratos, no es tan caro,
00:32:43
no es algo que sea inasumible para ninguna organización.
00:32:50
Y ya con esto hemos visto los cuatro casos. Me siguen llegando mensajes del ciberjueves, pero creo que ya está. El éxito es la suma de pequeños esfuerzos repetidos día tras día. Qué razón, ¿eh? Genial.
00:32:54
Y ya con esto hemos entendido los 3 barra 4 casos.
00:33:10
Ahora vamos a ver lo que sería una integración de un EDR directamente con N8N.
00:33:15
Vamos a ver si lo tengo aquí, que creo que se va a ver un poco mejor,
00:33:21
o al menos voy a poder hacer zoom más rápido.
00:33:25
Aquí está.
00:33:28
Eso es.
00:33:34
Entonces, este sistema es, ahora que tenéis el contexto de cómo se utilizan
00:33:35
los cuatro casos de uso anteriores, este ya parece más entendible, al menos no es tan ajeno.
00:33:42
Por eso quería hacer la parte de enseñaros casos más aterrizados.
00:33:47
Ahora no me voy a detener demasiado en cada nodo específicamente, pero sí que vamos a ir viendo un poco qué es lo que hace.
00:33:54
Ahora solo por entender las capacidades que puede llegar a tener, más que por enseñaros desarrollos que yo ya he podido hacer,
00:33:59
que igual es un poco más coñazo.
00:34:06
Empezamos por el webhook de alerta. Esto sería la alerta que llega directamente desde el EDR, en este caso desde Wazoo.
00:34:08
Lo que va a hacer es lo mismo que hacían los otros flujos, como cuando te llega un mensaje de Telegram, te llega el webhook formateado.
00:34:15
Este nodo lo que va a hacer es preparar la consulta para VirusTotal en el formato que a VirusTotal le gusta,
00:34:23
porque lo que vamos a hacer es coger el hash de la alerta o el hash o el file path,
00:34:27
un poco la información que podamos contrastar en virus total, sea IP, IP, y meterla dentro de virus total.
00:34:36
Por supuesto hay un nodo específico de virus total dentro de N8N.
00:34:44
Aquí lo que vamos a hacer es un if en caso de que no haya nada, nos ha llegado una alerta que es de correo y no hay ni hash,
00:34:49
ni IP, no hay nada, pues no la vamos a tirar a Virus Total. Directamente se responde al
00:34:57
AguaZoo diciéndole, oye, de esto no se puede hacer nada, no se puede enriquecer esta alerta.
00:35:05
Y si no, la vamos a pasar por Virus Total. Este nodo de aquí lo que va a hacer es, no
00:35:10
sé si conocéis Virus Total, pero es el repositorio por excelencia de todo el malware que ha habido
00:35:15
y por haber entonces la pasa unifica todos los resultados con este nodo lo que hace lo que hace
00:35:19
este nodo es básicamente todo lo que ha devuelto virus total y lo junta en un único hay nodos de
00:35:28
estos específicos que se llaman agregadores pero bueno si me cambia el formato sé que con este
00:35:35
seguro no se me va a romper y lo que va a hacer es pasárselo al agente que la gente lo que va a
00:35:40
decidir es la como de posible es que eso sea un riesgo real para él
00:35:45
para que sea una alerta real que no sea un falso positivo que sea una alerta que
00:35:54
realmente pueda tener algo de algo de daño por detrás lo que va a hacer este
00:36:03
agente es utilizar la memoria de chat para ver si lo ha procesado en los
00:36:08
últimos 200 o 400 mensajes de contexto que se le dé, coger contexto de Wazoo de
00:36:12
alertas similares, esto viene súper bien porque si yo ya he declarado en mi EDR
00:36:20
que este tío que es técnico que tiene el PC400 y es administrador de sistemas
00:36:25
necesita esta herramienta que es un RDP sí o sí, pues yo ya sé que ese cuando me
00:36:34
vuelva a saltar esa alerta la tengo clasificada como oye no te preocupes que
00:36:40
esta alerta me ha dicho ya me ha confirmado el tío el cliente o quien sea
00:36:44
que esta alerta está autorizada y le metemos el mcp de wazoo para saber qué
00:36:48
integraciones se pueden hacer con wazoo directamente
00:36:54
y lo que vamos a pasar es directamente a la parte de alertado aquí tiene dos
00:36:57
sistemas de alertado uno que no es un send message es un send actions que eso
00:37:02
Lo que va a hacer es en Telegram pedirle al humano si es un problema o no, lo que se llama el human in the loop, es decir, confirmar con el humano que es algo benigno o que en su defecto no es, que es malicioso.
00:37:07
Y lo mismo en Google Chat, porque en el trabajo yo curro con Google Chat y es muy útil, tiene integraciones muy sencillitas de hacer.
00:37:26
Esto de aquí, que veis, significa que no están las credenciales puestas, porque esta es mi cuenta personal, no la del trabajo, pero si veis un nodo con esto, significa que hay algo que no está, algo que está mal configurado.
00:37:36
Y responder directamente ya a Wazo, con la revisión que haya dado el humano. Sencillito de entender.
00:37:48
Este es uno de los casos de uso especialmente en ciberseguridad, como habíamos comentado, pero hay otros muchos casos de uso.
00:37:54
Integraciones con CM hay muchísimas, integraciones con EDR es lo mismo, automatizaciones de cómo se responde, el poder llegar a tener un SOC 100% autónomo no es viable.
00:38:07
Siempre se necesita al menos un analista de nivel 3 que verifiquen que las alertas son correctas, al menos las críticas y las high.
00:38:20
Y para eso se necesitan flujos con aprobación humana, es decir, personas que verifiquen que lo que hay sea correcto.
00:38:28
Y ahora pasamos a lo que para mi parecer es la parte más chula, más entretenida, la parte de cibervigilancia y ciberinteligencia.
00:38:36
este es el primer flujo que hemos visto
00:38:43
y yo creo que ya lo vais a entender todos sin ningún problema
00:38:47
lo vamos a pasar directamente a N8N también
00:38:51
y este se llama
00:38:53
este
00:38:58
pero yo creo que se va a entender súper súper sencillito
00:39:03
y además creo que esto sí que lo podéis aplicar en la red social que queráis
00:39:07
yo he hecho la demostración con Telegram por facilidad de uso
00:39:11
porque si te pones a intentar hacer esto con Instagram, por ejemplo, se puede,
00:39:14
lo que pasa es que Meta tiene unas políticas de abuso un poco más restrictivas,
00:39:19
lo mismo con WhatsApp y lo mismo con otras herramientas,
00:39:25
entonces te tumban las cuentas antes, te las pillan como bots un poco antes,
00:39:27
entonces Telegram es lo más sencillo.
00:39:31
Vamos a partir de esto.
00:39:34
Aquí vamos a suponer que tenemos un archivo, un Python corriendo por detrás,
00:39:36
lo podemos tener doquerizado con una cuenta ingestada como si fuera Telegram web o WhatsApp web, es decir, hay una cuenta, hay una librería en Python que se encarga justamente de eso,
00:39:40
de todo lo que vaya pillando la cuenta, lo voy ingestando y lo mando por webhook al flujo. Este podría ser un mensaje de prueba, donde veríais ahí el nombre de la cuenta que está ingestando la información
00:39:49
y la fecha y un mensaje de ejemplo.
00:40:01
En este caso es uno de Dodosia.
00:40:06
No sé si conocéis Dodosia, pero es parte de Noname,
00:40:10
un grupo ruso súper conocido por los ataques de denegación de servicio que hace.
00:40:14
Cuando tenemos el mensaje, lo primero que hacemos es Postgres.
00:40:22
Postgres es una base de datos, es una tecnología de bases de datos,
00:40:26
lo ingestamos en Postgres.
00:40:29
Con esa información, instantáneamente, ya me da igual si el actor o quien sea ha borrado el mensaje, yo ya la tengo ingestada.
00:40:31
Eso no lo voy a perder.
00:40:37
Luego lo puede editar, lo volveré a ingestar, lo puede eliminar, me da igual, no se me va a eliminar de la base de datos.
00:40:38
Lo siguiente que vamos a hacer es un flujo de 50-50 enriquecimiento y 50-50 descubrir si es algo que a mí me interesa.
00:40:44
Entonces, empezamos por la parte de keywords.
00:40:52
Esto es muy sencillito de entender, programéis o no.
00:40:54
Vamos a filtrar por estos keywords.
00:40:57
tiene ransomware, Steeler, InfoSteeler
00:40:58
estas son las cosas que a mi
00:41:01
me pueden interesar como analista
00:41:02
o que me pueden alertar de bueno
00:41:04
esto merece la pena revisarlo porque se está
00:41:06
mencionando algo que no es como si estuviéramos
00:41:08
en el grupo de los
00:41:10
colegas, no, aquí puede haber algo serio
00:41:12
si
00:41:14
tiene, si realmente
00:41:15
lo vamos a ir ejecutando de hecho
00:41:18
esto me va a dar error porque no está configurado
00:41:20
pero bueno, está configurado para que saque el ítem
00:41:22
a pesar del error
00:41:24
Vamos a filtrar por keywords
00:41:26
El mensaje de ataque no llevaba ningún keyword que nosotros registráramos
00:41:28
Entonces, ¿qué es lo que va a pasar?
00:41:34
Que me va a sacar un false
00:41:36
Pues esto no parece que sea maligno así de buenas a primeras
00:41:37
Cuando luego el mensaje sí que indica de un ataque
00:41:40
Pero, por suerte, tenemos estos agentes de contextualización
00:41:43
Esto es lo que hemos visto antes, súper pequeñito
00:41:46
Pero aquí, esto ya sí juega un papel bastante más importante
00:41:49
Esto lo que tiene es el siguiente rol
00:41:52
No sé si se va a leer desde aquí, pero bueno, lo leo un poco en voz alta. Eres un clasificador de alertas ciberterroristas y cibercriminales, lee el campo texto del mensaje y responde solo con sí, si el mensaje indica o sugiere un ataque, amenaza o acción dirigida contra un país, su gobierno, etcétera, etcétera, o no, si no se trata de un ataque.
00:41:54
y le especifico aquí que le van a llegar muchos mensajes porque es una cuenta, es una o varias cuentas que están metidas en muchos grupos
00:42:14
y pueden ser grupos de minería de criptomonedas, grupos de inversión o grupos normales, que no todo por lo que vaya a analizar tiene que ser directamente esto
00:42:24
Entonces se le contextualiza un poco. Y cuando ejecutamos este agente, lo que debería decirnos es, en efecto, este if lo que va a hacer es decir, si la respuesta contiene un no, entonces como si es un ataque o si es parte de un flujo de ciberamenazas, lo va a pasar.
00:42:35
Y aquí vamos con la parte de enriquecimiento. Este flujo entero va a hacer lo que pone generalmente en cada uno de los suyos. No me voy a detener en todos para que lo sepáis un poco la parte de traducción, donde le meto la parte de webhook, el mensaje, vaya para que le llegue y el system prompt. Esto es lo mismo que hemos visto desplegado antes.
00:43:04
Y lo mismo aquí. Eres un agente de normalización, más idioma, más traducción al español, te llega el string y tu tarea es normalizarlo, básicamente.
00:43:24
Voy a ejecutar hasta aquí porque este no tiene el parser y el que tiene el parser coge información de este e información de este y lo pasa por el parser para que me dé una información estructurada.
00:43:36
estructurada. ¿Esto por qué? Porque yo quiero que luego esto me lo divida así. En idioma
00:43:48
detectado, inglés. Original, normalizado y la traducción al español. ¿Esto por qué?
00:43:56
Porque si yo quiero que me dé el mensaje en español, yo no sé inglés o en caso de
00:44:01
estos rusos no sé ruso o no sé chino o no sé el idioma que sea, yo quiero el mensaje
00:44:05
en español. Entonces pues tiramos del LMS para que nos lo traduzca. Aquí este es un
00:44:08
nodo súper, súper, súper útil
00:44:14
que es lo único que se encarga de poner la fecha bonita
00:44:16
y es que cuando
00:44:18
viene un mensaje de Telegram, desgraciadamente
00:44:20
aquí lo podemos ver si leemos un poco
00:44:22
esto es del webhook, es decir
00:44:24
el first note, el JSON
00:44:26
en el body, el mensaje
00:44:28
y el date, entonces yo me vengo aquí
00:44:30
el webhook en el body
00:44:32
el mensaje
00:44:34
el date
00:44:36
y esta es la fecha que me llega
00:44:37
y pues
00:44:40
a mí esto no se me hace muy intuitivo de leer
00:44:42
Entonces, este nodo lo único para lo que sirve es para lo que dice, para poner la fecha bonita. Y me pone la fecha bonita. Y luego tenemos otros agentes. La parte de duplicación, porque aunque yo no pueda ingestar un mensaje, es decir, no me vaya a llegar un mensaje duplicado, si tengo dos cuentas en el mismo grupo, lo que sí que puede pasar es que el actor, mismamente de dosia, diga por el chat que tiene en inglés, hecho esto, y luego lo repita por el chat que tiene en ruso, el chat que tiene en inglés, hecho esto.
00:44:44
que tiene en francés, en español
00:45:14
entonces me llegue muchas veces el mismo mensaje
00:45:16
entonces, aquí se le da una ventana de contexto
00:45:18
con una memoria de
00:45:20
los últimos 20 mensajes
00:45:21
si no lo has procesado
00:45:24
y dice básicamente eso
00:45:26
si verificas que
00:45:27
no lo has leído en esta conversación, me dices eso
00:45:30
y pasamos directamente al siguiente
00:45:32
el if
00:45:34
dice, lo has recibido o no lo has recibido
00:45:36
aquí como no tiene memoria, sería complicado
00:45:38
o sea, si
00:45:40
le uno esto con esto
00:45:41
sí que detectaría que lo ha leído
00:45:43
por las pruebas que estaba haciendo esta mañana
00:45:45
y aquí lo que me hace
00:45:47
es detectarme el país al que afecta
00:45:50
y luego una lista
00:45:52
un analista que va a
00:45:54
decirme la criticidad
00:45:55
la vericidad de la fuente
00:45:57
y un poco más
00:46:00
datos, me va a generar un resumen
00:46:02
y sobre todo para que luego
00:46:03
cuando lo metamos como alerta
00:46:05
sea mucho
00:46:08
más intuitivo de leer y aquí
00:46:10
creo que es un if también, es un switch
00:46:11
que me dice si estaba en castellano o no
00:46:15
porque si me está en castellano voy a utilizar la parte del original
00:46:17
si no estaba en castellano voy a utilizar la parte traducida
00:46:20
y le voy a poner de qué idioma está traducido
00:46:22
como esto estaba en inglés
00:46:24
se me va para la parte de no traducido
00:46:25
y esto se vería tal que así
00:46:29
acceso a un sistema de control industrial crítico
00:46:33
La información, y bueno, este es un mensaje ya desde hace bastante tiempo, el 6 de marzo de este año, y un resumen, el idioma del que viene traducido y la traducción.
00:46:38
Sencillito. Esto ya sí que está aportando un valor con un flujo que tampoco es tan complicado, que si os ponéis en una tarde, tengáis idea o no, lo sacáis.
00:46:52
y ya con esto hemos terminado la parte de cibervigilancia
00:47:00
aquí hace no mucho vino un ponente especializado en OSINT
00:47:07
un señor brasileño que a mí me cae muy bien
00:47:11
y he decidido hacer algo un poco en su honor
00:47:14
este es un flujo que me ha pasado un alumno que tengo en República Dominicana
00:47:17
de temas de formación de N8N
00:47:23
o sea, un tío que cuando vino no tenía ni idea de qué es N8N
00:47:24
este es el flujo que me ha pasado el otro día
00:47:28
le pedí permiso para ver si lo podía enseñar aquí
00:47:30
me ha hecho adelante
00:47:31
Y es increíble lo que puedes hacer cuando le dedicas tiempo a N8N.
00:47:33
Vamos a verlo de primera mano.
00:47:39
Este flujo lo que hace, es una cosa increíble, lo que hace es consultar con todas las fuentes, como hacéis SpiderFood,
00:47:42
pues lo que hace es consultar con todas las fuentes
00:47:52
de SpiderFood
00:47:56
con otras herramientas de recolección
00:47:58
que mi amigo Yeser
00:48:00
menciona por ahí
00:48:02
y aparte también de análisis visual
00:48:05
para el tema de face recognition
00:48:08
lo pasa por PIM-ICE y otras herramientas
00:48:10
y luego analista en lo mismo
00:48:12
pero en parte en UV
00:48:15
o sea, esto es en local
00:48:17
y esto es en UV
00:48:19
Es decir, HTTP request. Y estos nodos no los hemos visto, pero es muy valioso saber que existen porque lo que hacen son conectarse con cosas que tú tienes programadas, que tú tienes instaladas en tu CLI.
00:48:22
Yo esto lo tengo en un VPS de Hostinger, como os he enseñado antes. Entonces, estas herramientas, Jolele, Migrate y todas las demás que hay, se llaman por consola directamente.
00:48:33
O sea, no hace falta tener una integración dedicada para cada una de estas. Si yo quiero orquestar, que es para lo que sirve, desde N8N directamente, se puede hacer así.
00:48:43
Entonces, ¿cómo funciona esto? Es con un chat, ni siquiera lo ha integrado con Telegram, pero tampoco hace falta, y en función del tipo de cosa que sea, si es una imagen o si es un IOC tipo texto, lo ha pasado por arriba o por abajo.
00:48:53
Imagen para la parte que hemos visto de cosas visuales, de reconocimiento y la parte de arriba para la parte de texto.
00:49:13
Aquí que se puede mirar, dominios, IPs, emails y usuarios como poco.
00:49:20
Que para temas de OSINT es más que suficiente.
00:49:25
Entonces voy a intentar poner aquí, yo no tengo las herramientas instaladas en este VPS,
00:49:29
pero bueno os pongo aquí mi correo electrónico para que veáis un poco como sería el flujo.
00:49:35
Y así lo tenéis por si luego me queréis escribir un correo.
00:49:43
Yo se lo envío y esto lo que está haciendo es consultar, ha detectado que es un IOC y aquí el router va a decidir para dónde tiene que ir.
00:49:46
Voy a intentar hacer esto un poco más grande por la parte de arriba.
00:49:57
Entonces, el router lo que va a decir, vale, ¿a qué tiramos primero?
00:50:02
Tiramos a la parte de SpiderFood para conseguir herramientas, tiramos directamente al recolector, ¿qué hacemos?
00:50:06
y él va a ir consultando con sus distintas herramientas, todas van a dar error
00:50:10
porque no hay ninguna que tenga instalada en CLI, ya os lo adelanto
00:50:15
pero sí que me han enseñado la demo de cómo funciona en llamada
00:50:17
y es una maravilla porque es gratis, ninguna de estas cosas lleva API
00:50:22
la única API que lleva es la de Tavili, pero es una API gratuita
00:50:26
es una especie de buscador que puedes integrar en este tipo de cosas
00:50:30
y después de mergear todos los resultados que te han dado
00:50:35
en este caso le ha debido dar poca cosa hay un enriquecedor donde si hay oces
00:50:39
que haya podido sacar pues si de mi correo electrónico mi correo electrónico
00:50:45
es un supervisibles como me llamo pero si hay un correo chungo por ahí y lo ha
00:50:50
relacionado con una cuenta de github una cuenta de my fitness palo lo que sea va
00:50:53
a enriquecer esa información con navegación con fuentes abiertas y con
00:50:58
request y luego por último va a haber un router, un analista que se encargue de
00:51:03
hacer el resumen final. Ahora yo ya tengo toda esta información y tengo un
00:51:10
analista, un agente dedicado a únicamente resumir esa información que es hacer un
00:51:15
informe al final y me lo va a pasar aquí por texto, lo que me va a decir es eso, que no hay nada, pero es para que veáis las
00:51:21
capacidades de orquestación que tiene este tipo de herramientas que son
00:51:30
increíbles ya me apetece esperar pero sólo por saber
00:51:34
lo que me va a dar es probablemente algo parecido a esto
00:51:40
para que lo veáis ningún mensaje error técnico problemas
00:51:44
o sea no ha habido ninguna conclusión porque no hay nada instalado me dice que
00:51:49
me tengo que instalar las herramientas pero en este vps no me quiere estar ahí
00:51:54
Ahí está. Entonces, es un poco para que veáis las capacidades que se pueden llegar a tener de orquestación, lo que digo, no de una demo en vivo.
00:51:58
Y ahora ya sí que sí, bueno, terminamos. ¿Para qué puede servir en cibervigilancia, en investigaciones, en vuestro día a día, para lo que sea?
00:52:09
Aquí hay otras pocas, hay otras muchas, yo por ejemplo a nivel personal lo uso para tema de facturas,
00:52:26
cada vez que me llega una factura hay un agente que se encarga de extraer toda la información y enviármela al correo,
00:52:33
ver qué es lo que tengo que hacer con ello.
00:52:38
Lo tengo también puesto en el formulario de la web de la Spanish Space Initiative,
00:52:40
si vosotros enviáis un correo de contacto por ahí, el formulario lo que va a hacer es llamar al webhub de N8N
00:52:43
y enviarme a mí un correo porque tengo conectado la API de enviar tanto un telegram,
00:52:51
algo parecido a esto, de cuando se une una persona, algo parecido a esto,
00:52:57
la parte de voluntarios, la parte de contactos, esto es lo que se envía por detrás,
00:53:08
tanto un correo como a mi correo personal para que se me notifique por los dos lados
00:53:13
y así no se me pueda pasar.
00:53:19
Y las últimas tres recomendaciones, si queréis empezar con esto, empezar pequeño, hacer cosas concretas y medir si lo que estáis haciendo realmente tiene valor, si merece la pena automatizarlo.
00:53:21
Lo único malo de N8N es que es tan bueno como el tiempo que le dediques. Si tú le dedicas 15 horas, no vas a tener un muro que digas, vale, esto ya no lo puedo hacer con N8N, pero le vas a tener que dedicar una cantidad de tiempo desmedido.
00:53:37
Como último ejemplo para que veáis de lo que hace una persona con mucho tiempo libre, esto es lo que se puede llegar a hacer, un bot completo de Telegram, cuando tú tienes una cantidad de tiempo libre que no es normal.
00:53:51
Entonces, este flujo, si os ponéis a mirarlo, lo podéis llegar a entender, o sea, no es complicado.
00:54:06
Yo aquí tengo todas las claves que tendría un bot, ¿no? Un huamay, un search, start.
00:54:12
Este bot era precisamente para consultar la base de datos de la investigación de Telegram que hemos hecho.
00:54:16
Se puede hacer. Al final, lo puedes intentar meter y lo puedes intentar formatear con...
00:54:23
O sea, que te pueden dar archivos N8N, hay parte de administración de añadir cuentas, quitar cuentas, lo puedes conectar con un MISP si tenéis un SOC y lo puedes intentar incluso enriquecer los IOCs que os salgan.
00:54:30
Por eso digo que el tiempo que le dediquéis es directamente proporcional a la masificación que os haga. Por eso, medir si realmente lo que estáis intentando hacer no es más fácil hacerlo con otro tipo de sistema.
00:54:43
Muchas gracias.
00:54:57
Muchas gracias Pablo, muchas gracias.
00:54:58
educamadrid y a mí siempre tengo curiosidad y sobre todo por saber en 8n
00:55:41
no crees que al ser un entorno tan gráfico te hace muy dependiente sobre
00:55:48
todo en el tiempo en el que vivimos que yo creo que ha ido todo
00:55:56
evolucionando a cosas pasándolo a código y justo en el 8n es
00:56:02
lo contrario. ¿No te
00:56:09
hace que sea
00:56:11
dependiente de N8N, que tenga muchos
00:56:12
flujos en N8N, que al
00:56:14
no verlo todo como código
00:56:17
te haga tener esa dependencia?
00:56:18
¿Tú qué opinas?
00:56:21
Es una muy buena pregunta.
00:56:24
Sí y no. Tiene
00:56:29
sus pros. Cuando tú tienes un
00:56:31
equipo que no es técnico, yo sí
00:56:33
necesito que alguien me administre las facturas
00:56:34
y necesito que alguien le dé soporte
00:56:36
a mi flujo de las facturas
00:56:38
que me llegan
00:56:41
hasta qué punto me merece la pena
00:56:41
que sea algo con código
00:56:45
y te lo pongo
00:56:46
por la otra parte
00:56:49
una funcionalidad que no hemos visto porque es que
00:56:50
esto es masivo
00:56:53
pero a mí no me han pasado
00:56:54
un flujo compartiéndomelo
00:56:56
como se comparte en Google Drive
00:56:58
por ejemplo, tú puedes
00:57:01
desarrollar flujos enteramente
00:57:03
en archivos JSON
00:57:04
entonces cuando tú importas archivos en JSON
00:57:05
este por ejemplo que es el que os he importado
00:57:08
puedes desarrollar en código
00:57:14
perfectamente
00:57:16
esto está importado y está hecho 100% en código
00:57:17
de hecho
00:57:19
si me apuras creo que hasta lo puedo abrir
00:57:20
aquí está
00:57:24
esto es código
00:57:27
tú puedes seguir desarrollando
00:57:31
en JSON
00:57:33
cuando
00:57:34
digo que merece la pena
00:57:38
revisar
00:57:40
si realmente está aportando valor
00:57:43
o si son cosas que no son
00:57:44
demasiado amplias, lo digo por eso, porque hay gente que
00:57:46
se pierde de, vale, yo quiero automatizar
00:57:48
todo mi flujo
00:57:51
de ventas, pero vamos a ver, eso es una barbaridad
00:57:53
eso no se puede hacer
00:57:54
con el 8N, pero no se puede hacer con prácticamente nada
00:57:56
si lo quieres empezar a hacer
00:57:58
poquito a poco, a lo que
00:58:00
terminará siendo, es a desarrollar
00:58:02
un CRM, no vas a terminar
00:58:04
haciendo un flujo masivo
00:58:06
de leads, deals
00:58:08
los que se me quedan fríos, los que hay que calentar, un flujo de automatización de todas las semanas, me haces un resumen, se pueden, cosas concretas.
00:58:10
Cuando tú empiezas a masificar todo, ahí es cuando viene el problema. Es muy buena pregunta. No sé si te responde.
00:58:20
Sí, sí, muy buena respuesta, la verdad. Muchas gracias.
00:58:26
N8N tiene un MCP
00:58:29
para trabajar
00:58:34
entonces
00:58:36
la curva de aprendizaje
00:58:38
todavía es más sencilla
00:58:40
y la otra
00:58:41
pregunta es, si has trabajado con él
00:58:44
¿tiene muchas limitaciones
00:58:46
ese MCP o se trabaja correctamente
00:58:48
con él? Se trabaja perfectamente
00:58:51
si te refieres MCP por la parte
00:58:52
de desarrollar flujos
00:58:54
Sí, exactamente, estar con el agente
00:58:56
o directamente tú
00:58:57
Yo, por ejemplo, tengo Cursor, no sé si le conocéis, pero es un foro de Visual Studio.
00:58:59
Aquí le puedes pedir directamente que te haga flujos enteros.
00:59:05
Con ChatGPT lo mismo, os lo descargáis y lo subís.
00:59:10
Cuando tú, lo bueno de esto, no sé si esto lo podré...
00:59:13
o sea, yo aquí tengo, por ejemplo, el MCP de muchas cosas, pero tengo o debería tener el MCP de N8N.
00:59:16
Entonces, a esto no le puedo hacer zoom, pero ahí se ve cómo tengo el MCP de N8N.
00:59:30
El MCP, para quien no lo sepa, es como todo el endpoint de cosas que puedo hacer de algo
00:59:35
o como una especie de enciclopedia de cosas que se pueden hacer en una herramienta y para desarrollar yo lo uso y a mí de hecho me hace flujos enteros.
00:59:41
Ninguno de los que habéis visto hoy, pero sí que lo he utilizado para basarme en algunos, pero aquí hay flujos de Wazoo, de indexación, de enriquecimiento con virus total y cosas así que se pueden hacer y la cosa es ir jugando.
00:59:51
Además, si lo tienes instalado en local, creo que no lo he enseñado, pero yo también tengo una instancia de N8 en el local, puedes ir desarrollando con él en paralelo y abrirte una instancia en local, o sea, una pestaña en local, que es esta que tengo aquí al lado, localhost, y estos son los flujos que me hace él.
01:00:02
y yo ni siquiera los tengo que
01:00:20
no tengo que importar el archivo
01:00:21
eso es una manera de desarrollarlo
01:00:23
a nivel justamente técnico
01:00:25
de ir viendo código
01:00:27
más que otra cosa
01:00:30
y puede hacer
01:00:30
este justamente es el que he tocado yo
01:00:31
pero sobre todo lo ves
01:00:35
por la calidad que tienen
01:00:38
este por ejemplo
01:00:39
con sus notas y demás
01:00:40
lo ha desarrollado enteramente él
01:00:44
y me ha dicho mira tú tienes que hacer para esto
01:00:45
tienes que hacer esto, esto y esto
01:00:47
Creo que te lo puedo implementar así. Sacas un skill de N8N, el MCP, y te lo intenta implementar.
01:00:48
¿Más preguntas por ahí? ¿David, tienes alguna pregunta?
01:01:00
Bueno, yo más que pregunta como tal de todo el tema de N8N, te iba a comentar si nos puedes comentar un poquito más de la iniciativa tuya de Spanish Inventive.
01:01:05
Por supuesto
01:01:16
Por supuesto
01:01:18
La iniciativa que tengo
01:01:20
Que es la Spanish Space Initiative
01:01:22
Nos dedicamos a
01:01:24
Entre otras muchas cosas
01:01:26
A fomentar
01:01:28
Talento
01:01:30
Es la descripción más sencilla que se puede dar
01:01:31
Tenemos un equipo
01:01:33
De espléndidos voluntarios
01:01:36
Si la gente no se puede hacer nada
01:01:37
En la que hacemos competiciones de este estilo
01:01:39
Donde en formatos de
01:01:41
Uno, dos, tres días
01:01:44
en función de si es fase nacional, regional o internacional, se mete a chicos en compañías de 50 personas, ellos mismos se organizan, se eligen su presidente a votación,
01:01:45
su vicepresidente de ingeniería, de marketing, sus jefes de departamento de estructuras, automatización y otras mil millones de cosas,
01:01:57
mucho más orientado al espacio que a ciberseguridad, me temo, y el resultado es gente con un talento desmedido que termina llegando al Kennedy Space Center
01:02:03
y eso luego te abre muchas puertas. El haber ido al Kennedy Space Center, haber estado compitiendo entre lo mejor de lo mejor del talento joven de todo el mundo,
01:02:16
Porque esto no es algo que se celebre en España, se celebra en todas las partes del mundo. En Europa, en Asia, en América, tanto del norte como del sur. Y la gente que va para allá, de verdad, cuando te juntas, yo he tenido la oportunidad de ser competidor y además ganar la final internacional.
01:02:25
el llegar y que tu compañía sea un equipo de argentinos, un equipo de europeos, que son romanos, chinos, romanos, portugueses, italianos, alemanes, todos en el mismo equipo.
01:02:43
Luego viene la parte de los chinos, la parte de los japoneses y luego un equipo de Texas con el sombrero y ya te quedas, vamos.
01:02:57
Parece un chiste, pero tener ese ambiente multicultural de colaborar con gente que tiene una forma de trabajar completamente distinta a la tuya es impresionante.
01:03:04
Y esa es la oportunidad que llevamos dentro de la iniciativa.
01:03:14
Nosotros recogemos la fase nacional y ponemos a los chicos en la fase internacional.
01:03:17
¿Alguna pregunta más?
01:03:25
Bueno, lo primero de todo, felicidades. Me ha gustado mucho la charla.
01:03:30
Yo he hecho cuatro cosas con N8N
01:03:34
A veces más fácil, a veces más difícil
01:03:37
Pero he tenido una sensación un poco rara
01:03:41
Que no sé si es porque soy yo y ya está
01:03:44
Me estoy pegando con mis cosas
01:03:47
O si tú la has tenido alguna otra vez
01:03:49
O conoces a más gente que la ha podido tener
01:03:51
Que es la sensación de que a veces dejo algo funcionando
01:03:53
Y luego vuelvo una semana después y ya no funciona
01:03:58
porque resulta que ha cambiado la credencial
01:04:01
de la API y nadie me ha avisado
01:04:03
yo no me he acordado
01:04:05
porque la versión del sistema operativo
01:04:06
del Docker al final es un poco
01:04:09
diferente, es actualizado y no sé qué
01:04:11
porque hoy me ha pasado
01:04:13
tengo un
01:04:15
flujo programado semanalmente
01:04:17
y me ha estado funcionando dos o tres semanas
01:04:19
y de repente ya no me funciona
01:04:21
claro, yo lo miro y digo, pues si es un flujo
01:04:22
es muy chorra
01:04:25
tiene que ser una chorrada lo que se me está pasando
01:04:26
pero sí que tengo un poco esa sensación
01:04:29
de jolín, se supone que
01:04:31
aquí montas algo y ya
01:04:33
está montado y esto debería estar
01:04:35
funcionando y no tengo que estar supervisando que lo que
01:04:37
está automatizado realmente
01:04:39
funciona, entonces bueno
01:04:41
simplemente por compartir contigo esa sensación
01:04:43
y por saber si de verdad que es
01:04:45
justo mi casuística que se ha dado
01:04:47
o es una cosa que a lo mejor
01:04:49
pues sí que hay que tener en cuenta cuando se trabaja con
01:04:50
N8N ¿no? Siento completamente
01:04:53
tu sufrimiento
01:04:55
de verdad te lo digo
01:04:56
es una cosa que pasa
01:04:57
pero desgraciadamente
01:04:59
generalmente nunca va a ser por cosa de N8N
01:05:01
ni siquiera por Docker
01:05:04
porque eso
01:05:05
nunca he tenido la casuística
01:05:06
y mira que en N8N han salido muchas vulnerabilidades
01:05:09
a mí se me
01:05:12
lo tengo configurado eso sí para que se actualice
01:05:13
solo y es un periodo que está
01:05:16
bajo y luego se vuelve a subir
01:05:18
se levanta solo
01:05:19
lo que sí que me pasa es con integraciones
01:05:20
que me he quedado sin créditos
01:05:23
en tal aplicación
01:05:26
en OpenAI nunca me ha pasado
01:05:27
pero de repente
01:05:29
mi equipo ha cambiado la credencial
01:05:30
de una cosa a otra
01:05:33
y la cuenta
01:05:34
administrativa que se encargaba
01:05:36
de eso, la han cerrado
01:05:39
si es que eso
01:05:40
si no está documentado en ningún sitio va a pasar
01:05:42
y la única solución que te puedo dar
01:05:45
es activar la parte de notificaciones
01:05:47
de N8N que te llegue al correo
01:05:49
cuando algún nodo falla
01:05:51
si son sobre todo cosas críticas
01:05:52
oye, que sepas que esta
01:05:54
ejecución ha salido mal y normalmente suele poner un detallito creo que no
01:05:57
tengo no creo que no tengo ninguno en el personal pero se puede configurar para
01:06:00
que oye te avise si algo ha fallado no de hoy eso no me debería haber llegado
01:06:06
ayer que lo tenía programa no me ha llegado nada y te des cuenta posterior
01:06:11
muchas gracias y ahora continuamos con como siempre entregamos un pequeño
01:06:17
detalle a los ponentes y para hacer entrega del mismo llamo al escenario al jefe de plataformas
01:06:24
educativas, Adolfo Sánchez Diego. Muy bien, muchas gracias. Muchas, muchas gracias. Muchas gracias.
01:06:30
- Etiquetas:
- Eventos, Ciberseguridad
- Subido por:
- Admin-educamadrid-mediateca
- Licencia:
- Reconocimiento - No comercial - Sin obra derivada
- Visualizaciones:
- 7
- Fecha:
- 7 de julio de 2026 - 13:12
- Visibilidad:
- Público
- Centro:
- EST ADMI DIRECCIÓN GENERAL DE ESTRATEGIA DIGITAL
- Duración:
- 1h′ 07′ 07″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 280.39 MBytes