HomeVideos

Estas vulnerabilidades dan miedo: Next.js, Windows, macOS y NGINX

Now Playing

Estas vulnerabilidades dan miedo: Next.js, Windows, macOS y NGINX

Transcript

703 segments

0:00

que tenemos una semana de

0:02

vulnerabilidades

0:03

históricas y apocalípticas, que es que

0:06

se te ponen los pelos como alfileres. Y

0:09

empezamos con NextGS, con NextGS, que

0:12

nada más y nada menos tenemos aquí una

0:14

vulnerabilidad que te permite hacer

0:16

server side request forgery, o sea, en

0:18

la práctica lo que podía hacer un

0:20

atacante era conseguir que el servidor

0:22

hiciese peticiones internas en su

0:25

nombre. O sea, esto sirve para robar

0:27

credenciales, quedarte con API Keyis,

0:29

acceder a datos internos de paneles de

0:31

administración. Esto podía ser peligroso

0:33

si la app tenía acceso a servicios

0:35

privados, redes internas, end points con

0:37

credenciales y cosas así, que suele ser

0:39

lo típico. No es que podías ejecutar

0:41

código directamente en remoto, pero

0:44

puede acabar en una filtración de

0:45

secretos si el entorno está mal

0:47

protegido. De hecho, lo tenemos por aquí

0:50

en GitHub, ¿vale? Cber site request

0:52

forging applications using websocket

0:54

upgrades y hombre tiene una severidad de

0:56

8,6 sobre 10 y además todas las

0:59

versiones afectadas son de la 13 a la 15

1:01

y la 16, o sea, todas básicamente. Y lo

1:03

peor de todo es que claro, no han sacado

1:06

parche para la 13 y la 14. Si tienes una

1:09

versión de NextJS con 13 o 14, estás

1:12

[ __ ] Tienes que actualizar como

1:13

mínimo a la 15 y utilizar la 15.5.16.

1:17

Y lo peor es que la complejidad del

1:19

ataque era bastante bastante sencilla.

1:22

Entonces, esta es una, pero es que

1:23

resulta, amigos, que esta es una de

1:26

muchas. Lo que ha pasado este fin de

1:27

semana es que ha caído hasta macos,

1:30

amigos. Vulnerabilidad bastante grave de

1:33

macos. Y grave no porque sea fácil, sino

1:35

porque los investigadores utilizando

1:37

mizos preview han encontrado el primer

1:40

exploit público de corrupción de memoria

1:42

del kernel en los chips M5. Claro, esto,

1:47

tened en cuenta que normalmente en los

1:49

chips de Apple ha habido grandes

1:52

problemas de vulnerabilidad o conocidos.

1:55

Claro que ha podido haber, pero no ha

1:56

habido ninguno conocido. Apple gastó 5

1:58

años y un estimado de varios millones

1:59

miles de millones de dólares en

2:00

construir Memory Integrity Enforcement.

2:03

El sistema de seguridad de memoria

2:04

asistido por hardware construido

2:06

alrededor del MTE de ARM. Fue la

2:08

característica de seguridad insignia del

2:09

M5 y A19 diseñada específicamente para

2:11

eliminar toda clase de errores de

2:13

corrupción de memoria. Corrupción de

2:14

memoria es lo que se utilizar muchas

2:15

veces para justamente pues cambiar

2:17

permisos o intentar inyectar algún tipo

2:20

de código y cosas así. Claro, porque la

2:22

memoria la puedes corruptir, le metes

2:23

ahí con corrupción algo de código,

2:25

perfecto, y tienes un exploit

2:26

maravilloso. Pero en Apple normalmente

2:28

esto lo tenían bastante bastante

2:30

controlado y dicen que han hecho un

2:32

exploit funcional en 5 días. Según la

2:34

propia investigación de Apple, Mia

2:35

interrumpe cada cadena de exploit

2:37

públicos contra ellos modernos,

2:38

incluyendo los kits con una y darkbard

2:40

filtrado recientemente. El informe

2:42

técnico completo de 55 páginas se

2:45

publicará después de que Apple parche la

2:47

vulnerabilidad. Tú te imaginas from type

2:49

confusion to root, ¿vale? O sea,

2:52

seguramente es de nuevo elevación de

2:54

permisos. Por cierto, yo estado aquí.

2:56

Total que está bastante bastante claro

2:59

que seguramente aquí la han puesto para

3:00

que no se pueda ver nada. Seguramente es

3:02

elevación de permisos, que son las

3:03

mismas vulnerabilidades que ha tenido

3:05

Linux desde hace poco. Y lo mejor es que

3:07

incluso tenemos un vídeo de cómo lo han

3:09

conseguido, o sea, no se ve el código,

3:11

no se ve el exploit, solo se sabe que se

3:13

puede porque aquí se puede ver, ¿no?,

3:16

cómo lo han hecho y podemos ver cómo

3:18

hace la elevación de permisos, ¿vale?

3:19

Aquí tenemos el root, no sé qué y cómo

3:21

está inyectando. Y fíjate que han puesto

3:23

ahí el grif calif y tal y está

3:24

inyectando cosas, así que ahí lo tenéis.

3:27

entiendo que será tanto M5 como M5 Pro y

3:30

tal, eh, serán todos los M5. Esto te

3:32

podría escalar privilegios hasta root

3:34

mediante una cadena de explotación en el

3:36

kernel. No es un ataque remoto directo

3:38

desde internet, pero sí que es una

3:40

escalada local. Es lo mismo que pasó con

3:42

Linux, con Copy Fail y tal, pero bueno,

3:44

que mucha gente infravalorada,

3:46

infravaloraba este tipo de ataques, pero

3:48

es bastante grave pensar que en este

3:50

tipo de servidores una escalada de

3:52

permisos es muy importante, o sea,

3:55

conseguir privilegios de kernel y que te

3:57

puedas saltar pues protecciones del

3:59

sistema, pues imagínate si si es

4:01

importante. Hay rumores que ya han

4:03

arreglado la vulnerabilidad. Parece ser

4:05

que ya lo han arreglado. Parece ser, eh,

4:08

dice que dice que han estado

4:09

validándolo. Dice que no se sabe si la

4:11

han parcheado, pero parece ser que en la

4:15

Security Notes de la última versión de

4:17

MacOS 265 hay una mención aquí, ¿ves?

4:21

HFS AVALEV dice Impact. Una aplicación

4:24

podría causar una determinación no

4:26

esperada del sistema o escribir en la

4:28

memoria el kernel. Entonces puede ser

4:31

que por aquí vengan los tiros. Puede

4:34

ser, eh, o sea, hay bastantes, así que

4:36

me imagino que a lo mejor alguna van por

4:37

ahí los tiros. Hay bastantes, alguna

4:39

habrán, alguna quizás puede ser que

4:41

hayan parcheado de este tipo. Next,

4:44

Macos, [ __ ] Deb. Sí que puede ser que

4:46

la inteligencia artificial ahora mismo

4:48

esté ayudando mucho con el tema de

4:50

encontrar este tipo de problemas. eh una

4:52

nueva vulnerabilidad crítica en [ __ ] DB

4:54

y esta vulnerabilidad lo que te permite

4:56

es ejecutar código arbitrario. Este tipo

4:59

de errores son bastante graves porque si

5:02

tú puedes ejecutar código arbitrario y

5:05

además en remoto estás [ __ ] O sea,

5:07

estás muy pero que muy [ __ ] porque al

5:10

final esto lo que significa es que estás

5:12

a expensas, le han puesto una puntuación

5:14

de 8.8,

5:16

O sea, que quizás necesitabas tener

5:18

algún tipo, o sea, no es tan tan alta, o

5:21

sea, es alta la puntuación, pero

5:22

normalmente un remote code execution, si

5:26

no tienes que hacer algún tipo de cosa

5:28

en concreto, seguramente tendría una

5:30

puntuación peor. ¿Cuál es el problema?

5:31

Pues que aquí podéis ver todos los

5:33

software que están siendo afectados,

5:35

desde el 5, el 6, el 7, el 8, o sea, el

5:38

8.2, el 8.3. O sea, es que tienes un

5:41

montón de versiones, un montón de

5:43

versiones al que al que le afecta esto.

5:45

Así que ahí lo tenéis. Vulnerad crítica

5:47

recientemente revelada. el control total

5:48

sobre servidores afectados y exponiendo

5:50

millones de registros al robo. Debido a

5:52

que Mongos ampliamente utilizado por

5:53

empresas a nivel global, un servidor sin

5:55

parchear representa un efectivo muy

5:56

lucrativo. La divulgación pública

5:58

significa que es probable que los

6:00

actores de amenazas conveniencen a

6:01

realizar ingeniería inversa del parche

6:04

para crear exploits funcionales. Claro,

6:06

aunque no sepas exactamente cómo lo han

6:08

hecho, sí que es verdad que al final lo

6:10

que pasa es que una vez que tú sabes que

6:11

hay una vulnerabilidad, te pones a darle

6:13

al coco, ostras, a ver cómo lo han

6:14

hecho, a ver cómo lo han hecho y tal.

6:15

Hay otro sistema operativo que esta

6:17

semana se ha encontrado también con

6:19

problemas, Windows. Y lo peor de Windows

6:22

es que además es una vulnerabilidad que

6:24

ya estaba arreglada. Windows Mini Plasma

6:27

0 Day le permiten a los atacantes tener

6:30

acceso al sistema. De nuevo, otro ataque

6:33

de elevación, escala de privilegios

6:36

hasta system. O sea, no significa que

6:38

alguien pueda hackearte solo por estar

6:40

conectado de internet, ¿vale? Pero sí

6:41

que es un malware o un atacante que haya

6:43

conseguido ejecutar código podría ganar

6:46

acceso total a tu sistema porque al

6:48

final con que ejecutes cualquier código

6:50

aunque no sea root, pues puede elevarlo

6:51

al sistema. Lo peor que esto era una

6:54

vulnerabilidad que ya fue reportada por

6:57

Google en Project Z0 en septiembre del

6:59

2020. se le asignó incluso y se reportó

7:03

como que estaba arreglada en diciembre

7:05

del 2020, pues resulta que alguien ha

7:08

vuelto a hacer como un script para

7:10

volver a hacer el mismo la misma

7:12

vulnerabilidad. Es como, [ __ ] tío, si

7:15

ya estaba arreglada, si ya estabas

7:16

avisado, ¿cómo no han puesto un test o

7:18

algo? Me imagino que habrá algún tipo de

7:20

modificación del vector de ataque

7:23

original, pero aún así, [ __ ] me

7:25

parece un poco tela tela, ¿eh? Un poco

7:28

raro. Entonces, es también, de nuevo,

7:30

muy parecido a la de Macos y muy

7:31

parecida a la de Linux. Muchas veces, de

7:33

hecho, con la de Linux me cayó mucho,

7:36

pero mucho, mucho, mucho, mucho, mucho

7:39

hate de muchos linuxeros. Yo esto no lo

7:41

entiendo. O sea, yo os lo tengo que

7:42

decir de corazón. Yo quiero mucho a

7:44

mucha gente y a muchas cosas en esta

7:46

vida, pero lo que no entenderé nunca en

7:48

la vida es la gente que tiene como ya no

7:52

digo un sentimiento, una obsesión por un

7:55

sistema operativo, por un software, por

7:57

un hardware, como no es que la

7:59

PlayStation, la Xbox, no es que te odio,

8:01

no es que Linux, es que no sé qué, es

8:03

que no sé cuánto. Que Linux tenga una

8:05

vulnerabilidad no significa que sea un

8:07

mal sistema operativo, es que tiene una

8:08

vulnerabilidad, significa lo que

8:09

significa. Y ostras, y entonces mucha

8:12

gente en los comentarios me decía, "Es

8:14

que de Windows, pero si de Windows se

8:16

habla un montón." Y aquí tienes una de

8:18

Windows. Me decían que era Windows 0,

8:20

que era de Windows 0, porque de Windows

8:22

nunca hablo mal, cosa que es mentira.

8:24

Hablo bien, hablo mal, hablo de todo.

8:26

Oye, no pasa nada, tiene una

8:27

vulnerabilidad, pues se habla. Si de

8:28

hecho que lo del Linux sea noticia es

8:31

porque no suele ser tan común, lo cual

8:32

es una cosa positiva. Pero [ __ ] si hay

8:35

una de Windows, pues se comenta también.

8:37

Y esta, de hecho, lo preocupante es que

8:39

se supone que era una que ya tenían

8:42

solucionada, ya la habían solucionado en

8:45

2020. Pues nada, la han vuelto, la han

8:47

vuelto a abrir las cosas como son.

8:49

Bueno, pues alguien diría, "Bueno, ya

8:51

está, ¿no? Ya has terminado." Bueno,

8:53

obviamente vulnerabilidades hay siempre,

8:54

pero es que se nos han juntado

8:56

vulnerabilidades bastante graves en

8:58

diferentes sistemas bastante críticos,

9:00

porque es que otro software que ha caído

9:02

con una vulnerabilidad que lleva

9:04

escondida 18 años es nada más y nada

9:08

menos que Engine X con una

9:10

vulnerabilidad de 18 años que lo que te

9:13

permitía hacer un overflow para explotar

9:15

una vulnerabilidad que lo que te permita

9:18

permitía era ejecutar código remoto, o

9:21

sea, una de las vulnerabilidades más

9:23

críticas y que, como os digo, lleva 18

9:27

años escondida en sus en sus tripas,

9:30

amigos, en sus tripas. Y aquí podéis ver

9:33

un 9,2. Ha sacado más de una, 9,2, 8,3,

9:36

6,3 6,3, un 9,2. Ya estamos hablando de

9:39

una puntuación bastante bastante grave.

9:42

un montón de versiones afectadas y por

9:44

supuesto Engine X, para el que no lo

9:46

sepa, es uno de los servidores Proxis

9:49

inversos de código abierto más

9:51

utilizados en el mundo. Es muy ligero,

9:54

de alto rendimiento, tiene una

9:56

arquitectura que está basada en eventos,

9:58

asincronía, es espectacular. En Ginex se

10:01

utiliza un montón de sitios

10:02

especialmente para servir contenido

10:03

estático, pero no solo porque puedes

10:05

tener aplicaciones de no GS, de Python,

10:06

balanceador de carga, terminaciones de

10:09

SSL TLS, o sea, tiene un montón de cosas

10:11

y el consumo de recursos es

10:13

increíblemente bajo. De hecho es la

10:14

mejor alternativa de Apache HTTPD, pero

10:17

mira, no es muy común. Sí ha tenido

10:20

vulnerabilidades antes, o sea, no es

10:21

perfecto, pero una con 18 años de tiempo

10:24

que tiene esta vulnerabilidad y que te

10:26

permita ejecutar código en remoto. Os

10:28

digo una cosa, como tengáis un servidor

10:30

VPS por ahí que utilicen Ginex y que por

10:32

lo que sea no lo parchéis, a mi gato

10:35

pongo por testigo que os quedan menos de

10:37

dos semanas de que os hacken el

10:39

servidor. O sea, no tengo pruebas, pero

10:41

tampoco tengo dudas. Lo tengo clarísimo

10:43

porque este es el típico ataque que se

10:46

suele añadir automáticamente y que

10:49

eventualmente lo explotan y se ponen a

10:52

controlar tus servidores sin que te des

10:53

cuenta muchas veces al hacer ataques y

10:55

tal. Actualiza cuanto antes porque de

10:57

verdad este tipo este tipo de

10:59

vulnerabilidades son muy graves. La

11:00

gente se toma estas vulnerabilidades a

11:02

jaja y para nada. Son bastante

11:04

preocupantes y más en una pieza de

11:06

software tan crítica. Si estás

11:08

utilizando Engine X 1.30.0 cer o menor,

11:12

tienes que parchear. Ya dice que los

11:14

atacantes pueden hacer estallar los

11:17

workers con una sola petición. Es verdad

11:20

que ahí hay ciertas cosas, o sea, no es

11:22

100% fácil, o sea, hay que tener algunas

11:25

cosas activadas, eso sí que es verdad,

11:27

lo tenéis por aquí. El código solo es

11:28

posible en dispositivos donde address

11:30

space layout randomization, una

11:32

salvaguardia contra ataques basados en

11:35

memoria está desactivado. O sea, que

11:37

podéis mirar esto. Realmente el problema

11:39

es que depende de una configuración de

11:41

Enginex que es totalmente vulnerable.

11:43

Entonces, obviamente por no puedes

11:46

depender de eso. O sea, al final lo que

11:47

tienes que tener es que el software no

11:49

tenga ese problema y ya está. Hablemos

11:51

de OpenClow, porque OpenClow ha tenido

11:53

una cadena de vulnerabilidades críticas

11:56

que ha permitido el hecho de poder

11:59

saltarte las políticas y darte acceso

12:02

archivos, variables de entorno, tokens,

12:04

APIs, herramientas internas. Puedes

12:07

encadenar diferentes fallos y

12:09

vulnerabilidades de OpenClow y acceder a

12:11

día de hoy a más de 245,000

12:15

servidores de agentes que están

12:17

expuestos a este ataque y puedes robar

12:19

los secretos. escapar de los límites del

12:21

sbox, abusar de los permisos del propio

12:23

agente y eso utilizando una cadena de

12:26

vulnerabilidades que son estas de aquí,

12:28

que como podéis ver hay una de ellas que

12:29

tiene un 9,6

12:31

porque haciendo una race condition lo

12:33

que hace es que el atacante redirige las

12:36

operaciones de escritura fuera del sbox

12:39

y eso lo que te permite ya es cambiar la

12:41

configuración y tener un backdoor

12:43

persistente en tu agente. Así que

12:45

amigos, si tenéis un agente de nuevo,

12:47

echadle un vistazo. Yo os digo ya per

12:50

sé, por más que tengáis cuidado y tal,

12:53

creo que es mala idea a día de hoy tener

12:56

Open Clow en tu propio ordenador, eso

12:59

seguro. O sea, lo tenéis que tener como

13:01

mucho en un servidor totalmente

13:03

separado, totalmente separado. Luego

13:05

aseguraros que estáis utilizando bien eh

13:07

todas las reglas de seguridad y tal y

13:10

luego actualizar siempre constantemente

13:12

a la última versión. No podéis dejar

13:13

open close sin actualizar, o sea, porque

13:16

tiene demasiada exposición. es muy

13:19

goloso y además cada dos por tres estánd

13:21

encontrando vulnerabilidades muy graves.

13:23

Lo peor y y esto lo voy a decir

13:25

claramente, lo peor de esto en realidad

13:27

es que todo esto es AI slop. No quiero

13:30

decir que un humano no vaya a cometer

13:32

estos errores, porque supuesto que los

13:34

va a cometer y es lo que hay. Pero esto

13:36

también viene de esto. Este es el

13:38

creador de de Open Clow, Peter

13:41

Steinberger, y el otro día estaba

13:43

anunciando una nueva versión de Codex

13:45

Bar, donde había mejorado la gráfica y

13:48

tal. Y oye, es una aplicación bastante

13:49

interesante para ver el uso y consumo

13:52

que estás teniendo de cada uno de las

13:54

suscripciones que utilizas. Oye, está

13:56

interesante. Pero se le coló en la

13:58

propia imagen donde señaba la gráfica,

14:00

su propio consumo de créditos en, por

14:04

ejemplo, la API de Open AI. Y aquí

14:06

podéis ver en 30 días ha consumido

14:10

1,300,000,

14:12

o sea, en solo una semana consumió

14:14

$250,000

14:16

en la API de Open AI. En 30 días

14:18

1,300,000. Obviamente, ya os podéis

14:20

imaginar, o sea, mucha gente no se lo

14:22

creía. Yo me lo creo, ¿eh? Yo me lo

14:24

creo. Mira, 7 millones de peticiones. Es

14:26

gracioso porque muchas veces, bueno,

14:28

dice que podría desactivar el modo

14:29

rápido, que sea un 70% más rápido, que

14:31

bueno, que no, que pasa que lo que

14:33

quiere es que sea lo más rápido posible.

14:34

Y una de las cosas que comentaba por

14:35

aquí es que dice que esto lo está

14:38

haciendo, esto de gastarse más de un

14:39

millón de dólares y tal, esto lo está

14:41

haciendo como por el bien de la ciencia,

14:43

para llevar al límite cómo sería el uso

14:46

de la de tener agentes de inteligencia

14:48

artificial construyendo y programando

14:50

constantemente, ¿no? Pero claro, hay un

14:53

coste asociado y yo creo que se ve un

14:55

poco aquí el hecho de construir tan

14:57

rápido también. Lo que pasa, o sea, está

14:59

aquí. El hecho de construir tan rápido

15:01

es que de alguna forma, cuanto más

15:04

construyes, también más fácil es que

15:07

cometas errores, por más que haga una

15:08

inteligencia artificial, un humano y

15:09

tal. Lo que pasa es que el humano no va

15:11

tan rápido y seguramente tiene que

15:12

sopesar mejor los cambios o tiene que

15:15

enfocarse mejor en qué es lo que va a

15:17

aportar valor. El problema que veo de la

15:19

inteligencia artificial, y no sé si lo

15:20

estáis notando cada vez más, pero a mí

15:21

es una cosa que me pasa, es que veo

15:23

gente que construye cosas que no le

15:25

importan a nadie o que se están

15:27

construyendo cosas que cada vez más

15:29

tienen menos valor. como lo haces tan

15:32

rápido, como lo haces con tan poco

15:33

esfuerzo, realmente lo que estás

15:35

construyendo no es que no lo use nadie,

15:38

que no lo va a usar nadie, que nadie lo

15:39

quiere, nadie lo necesita. Y yo creo que

15:41

eso es lo peor que te puede pasar cuando

15:43

sobreproduces software de forma

15:45

innecesaria. Y creo que también le puede

15:47

pasar un poco a Peter Steinberger, o

15:49

sea, que creo que está construyendo

15:51

muchas cosas y de hecho y está muy bien

15:53

porque que sí ha construido, mira, todas

15:55

estas ha construido todas estas

15:57

herramientas. De nuevo, me parece bien

15:59

porque al final cuanto más construyes

16:01

alguna la petará y aprenderás de ello y

16:03

tal y yo creo que parte de su éxito ha

16:05

sido el ser tan constante a la vez

16:07

también piensas, pero de todas estas,

16:10

¿qué no es basura? Ese es el problema,

16:13

qué estamos construyendo realmente

16:14

porque al final, y esto es lo más

16:17

[ __ ] eh, el código siempre ha sido la

16:19

herramienta, siempre ha sido el medio

16:21

para solucionar un problema, pero en

16:23

cambio ahora se está se está

16:25

convirtiendo directamente en la

16:26

generación, en lo que quieres hacer, no

16:29

en tanto lo que terminas al final, sino

16:31

generar código. O sea, hemos pasado a lo

16:34

peor que podía pasar con el código, el

16:36

hecho de generar código por generar

16:37

código, cuando en realidad siempre el

16:39

código ha sido intentar construir o

16:41

hacer el menor código posible. Bueno, no

16:43

sé, para pensar, eh, para pensar. Es que

16:45

he visto esto y me ha aparecido un poco

16:46

por ahí eso, esos tiros y digo, "Hostia,

16:49

no sé, a ver qué pasa." El código se

16:51

vuelve un producto. Efectivamente, mano,

16:53

el código se vuelve un producto. Mira

16:54

cuántos tokens he quemado porque he

16:56

hecho todo este código. Cada vez me

16:57

escribe más gente con el tema de, "Es

16:59

que he hecho esta aplicación, quiero que

17:01

le eches un vistazo, me gustaría tu

17:02

opinión, no sé qué, no sé cuánto, bla

17:04

bla bla." Y es que digo, pero tío, no

17:06

conozco tu producto. Veo el producto y

17:08

claramente está hecho con inteligencia

17:10

artificial que no tiene ni el mínimo

17:12

cariño, que no no significa que esté

17:14

mal. Ya solo el hecho de detectar que

17:16

está hecho con inteligencia artificial,

17:18

yo a mí se me quita un poco realmente

17:20

las ganas de decir, ostras, o sea, y no

17:23

digo que esté mal utiliza inteligencia

17:24

artificial, está bien, pero que se note

17:26

tanto, ¿sabes? ya denota el hecho de es

17:29

que es un producto que está como a medio

17:30

hacer, o sea, es un producto que que

17:32

oye, yo que sé, que lo has hecho por

17:34

hacer, que bueno, está bien, que puedes

17:35

validar la idea por ahí, que a lo mejor

17:37

tiene sentido, pero no me lo mandes a

17:39

mí, ¿sabes? No me mandes a mí este

17:41

producto como para que hable de él, para

17:42

darte distribución porque no va a pasar

17:45

y porque justamente la distribución es

17:46

parte del desarrollo del software. La

17:48

distribución es parte, si no, ¿qué qué

17:51

solución está? O sea, qué problema está

17:52

solucionando realmente. En fin, Grafana

17:54

también la han hackeado. Recientemente

17:56

descubrimos que una parte no autorizada

17:58

obtuvo un token de acceso al entorno de

17:59

GitHub de Grafana Laps, lo que le

18:02

permitió al actor de amenazas descargar

18:03

nuestro código base. Nuestra

18:05

investigación ha determinado que no se

18:07

ha filtrado ninguna información de datos

18:10

de clientes ni información personal

18:11

durante este incidente y no hemos

18:12

encontrado evidencia de impacto en los

18:14

sistemas u operaciones de los clientes.

18:16

Inmediatamente hemos iniciado un

18:17

análisis forense, hemos invalidado los

18:19

credenciales comprometidas, hemos

18:20

implentado medidas de seguridad y el

18:23

atacante nos ha chantajeado exigiendo un

18:25

pago para evitar la publicación de

18:27

nuestro código base, el código base de

18:29

la parte enterprise, porque ya sabéis

18:30

que Grafana, que es un dashboard de

18:32

datos, es totalmente de es de código

18:34

abierto la parte que es de código

18:35

abierto. Basándonos en nuestra

18:36

experiencia operativa y la postura

18:38

publicada por el FBI, que señala que

18:40

pagar un rescate no garantiza que usted

18:42

o su organización recupere algún dato y

18:44

solo ofrece un incentivo para que otros

18:45

se involucren en este tipo de actividad

18:47

ilegal. Hemos tomado la decisión

18:49

adecuado hacia delante de no pagar

18:50

rescate. Como parte de las prácticas

18:51

estándar de seguridad de Grafana,

18:53

compartiremos información adicional de

18:54

nuestra revisión posterior incidente

18:56

cuando nuestras investigaciones estén

18:57

completas. Hasta aquí bien, pero tengo

18:59

que tirarle las orejas y es una cosa que

19:02

tengo que decir cada vez me enfada más y

19:05

no me parece bien. El tema es que

19:07

Grafana ha anunciado esto eh, bien en

19:10

Twitter, ¿vale? 1 millón de vistas,

19:12

6,000 likes, ¿vale? ha puesto, "Esto no

19:15

está mal, perfecto." Pero tú entras a la

19:17

página web de Grafana y no pone nada, no

19:20

pone nada. Dice, "Bueno, pues estará en

19:22

el blog, ¿no? Grafana con AI

19:25

observability, Grafana Cloud, AI, todos

19:27

los post y no pone nada. Pero tío, o

19:30

sea, tendrás que poner nada. Y en la

19:32

topb, ¿qué hay de nuevo en Grafana?

19:34

Hemos lanzado Grafana 13. ¡Ostras!

19:37

Twitter no es un canal de comunicación

19:40

con tus clientes y usuarios, es parte de

19:43

tus clientes y usuarios, ¿vale? Y está

19:45

bien, no sé, me parece bien que lo hagas

19:47

en Twitter, me parece un extra, pero en

19:49

tu página web deberías ponerlo, tío, por

19:52

transparencia. Y mira, si además tienes

19:54

aquí una un sitio perfecto, lo pones

19:56

aquí, hola, tenemos un aviso. Pum, haces

19:58

un blog post, lo pones y ya está. Que no

20:00

tienes Twitter, te jodes y no te

20:02

enteras. O sea, esto, ¿qué es? Es un

20:04

poco raro, tío. O sea, esto tiene que

20:06

estar en la parte oficial. A ver, son

20:07

empresas muy grandes. Si me dices que lo

20:09

hace la panadería, Paco, lo puedo

20:11

entender. Yo sé, una empresa de cuatro

20:12

personas, pero [ __ ] una empresa tan

20:14

grande como Grafana que no que no sea

20:16

capaz de informar de esto más allá de

20:20

ponerlo en un tweet. No sé, tío. No, no,

20:22

o sea, no entiendo. Esto es una cosa que

20:24

a mí cada vez me enfada más porque creo

20:26

que es vital y es verdad que parece ser

20:29

que no ha tenido acceso a información

20:31

personal, pero aún así me parece lo

20:33

suficientemente importante porque le

20:34

están haciendo amenazas de blackmail y

20:36

hay mucha gente que está pagando el

20:37

Grafana Enterprise y de repente se va a

20:39

encontrar que ese código es totalmente

20:41

público, que creo que tienen que tener

20:43

cuidado con este tipo de cosas. Eh, esto

20:45

solo se supone que afecta a gente de

20:48

Enterprise, no tiene por qué ser grave,

20:50

pero bueno, sí que me ha parecido

20:51

espectacular que que no para, eh, pero

20:53

lo que te quiero comentar de esto es

20:55

cómo ha pasado, como Grafana, y no solo

20:57

Grafana, sino un montón de empresas,

20:59

como por ejemplo lo que pasó con

21:01

Tamstack, se le han atacado. Este

21:03

miércoles, te voy a explicar mejor esto

21:04

porque este miércoles vamos a hacer un

21:07

curso de Gigap actions y entre las cosas

21:09

hablaremos de estos, los diferentes

21:11

hooks que hay disponibles, ¿vale? Así

21:13

que si queréis aprender GHP actions,

21:15

cómo automatizar vuestros despliegues y

21:18

tal, que sepáis que aquí, mira, en

21:19

YouTube ya tenemos aquí tanto eh lo que

21:22

vamos a hacer, el Google IO, que vamos a

21:23

hacer mañana en vivo y en directo, y el

21:25

curso desde cero de GHub Actions que lo

21:27

vamos a hacer el miércoles, así que le

21:29

podéis dar a recibir aviso, le dais

21:30

aquí, pum, y ya os enviará una

21:32

notificación. Pero aparte de esto, ¿por

21:34

qué os lo cuento? Porque en realidad

21:36

esto que le ha pasado Grafana es por una

21:39

vulnerabilidad o una mala praxis que

21:41

tenemos con la GHUp actions. Parece

21:43

mentira, pero es así. ¿Cómo ha pasado

21:44

esto? Pues ha pasado por culpa de las

21:46

Ghup actions, por utilizar el pull

21:49

requester, ¿no? No pull requester, no.

21:52

En realidad el que se utiliza es el pull

21:54

request target, ¿vale? Cuando utilizas

21:56

de forma incorrecta en un flujo de

21:58

trabajo el pull request target. Pull

22:00

request target. Al final el problema que

22:02

tiene es que contribuidores externos

22:05

pueden tener acceso a variables de

22:07

entorno, AP keys, ejecutar código

22:10

arbitrario desde un fork. O sea, no

22:12

puedes utilizar el pull request target.

22:14

Es una mala práctica. No utilicéis pull

22:16

request target, ¿vale? El que hay que

22:18

utilizar en realidad es el otro. Por

22:21

ejemplo, el pull request target. En

22:23

lugar del pull request, el pull request

22:24

es el correcto que tienes que utilizar.

22:25

el put request target lo que hacen es

22:28

que realmente te funciona el flujo de

22:31

trabajo en el contexto del repositorio

22:33

base donde todos los secretos están

22:36

expuestos. Tienes un GHub token de

22:38

escritura y de lectura. Así es como

22:40

atacaron a la gente de Tamstack y así es

22:43

como han atacado a la gente de Grafana.

22:45

Entonces, si encontráis un pun request

22:47

target en vuestros repositorios, estáis

22:50

jodidos, sobre todo si son públicos. Si

22:51

no son públicos, en muchos repositorios

22:53

Enterprise sí que se utiliza muchas

22:55

veces esto. ¿Por qué? Porque request

22:57

normalmente lo hace la gente que está

22:59

dentro del equipo, pero si tú tienes un

23:00

repositorio público, ni se te ocurra

23:03

tener un pull request target. A mí es

23:04

que me parece hasta un fallo de

23:05

seguridad de GHub, tío, el hecho de que

23:07

te permita hacer esto sin un doble

23:09

check, ¿sabes? De que tú lo metes a un

23:10

flujo, ah, ya lo tienes. Y no debería. O

23:12

sea, no debería porque el tema es que el

23:14

pull request target te permite ejecutar

23:16

flujos de trabajo sin requerir la

23:18

aprobación manual. O sea, a mí me parece

23:20

un error. No sé, no sé por qué permiten

23:23

esto, de verdad, porque creo que

23:24

debería, al menos de forma manual,

23:27

tuvieras que aceptar que se ejecute el

23:29

flujo de trabajo, pero no. Ahora esto es

23:31

automático, por lo tanto, tú fíjate lo

23:32

que puedes hacer. Dices, "Vale, pues

23:34

venga, quiero aquí utilizar el token de

23:36

Gigard token." Claro, una vez que tienes

23:37

el GH token, tú aquí puedes ejecutar lo

23:39

que te dé la gana. Ya ves, ejecutas este

23:41

script. Tú tienes aquí todas las

23:42

variables de entorno, además con

23:44

permisos de escritura y todo que puedes

23:46

hacer. Así que nada, lo que puedes hacer

23:47

es buscar, fíjate, es que hay un montón,

23:50

pero un montón de gente que lo ha

23:52

utilizado. Lo que tienes que hacer, pues

23:53

normalmente buscar esto. Buscas esto en

23:57

GitHub, te vas a GitHub,

23:59

buscas esto y como esto esté en algún

24:03

código, pues ya está [ __ ] ¿Ves cosas

24:05

así? Si tú ves esto, está [ __ ] Está

24:07

[ __ ] está [ __ ] está [ __ ] Por

24:09

ejemplo, este. Este está [ __ ] O sea,

24:12

¿cómo va?

24:13

A ver, no sé que algunos serán de

24:15

documentar, ¿vale? Pero por ejemplo este

24:18

workflow que imagínate que tienes este

24:20

workflow lady con p request target, a no

24:23

ser que no tengan ninguna variable de

24:24

entorno y tal, estás estás [ __ ] Y así

24:27

es como han atacado Grafana y así como

24:28

han atacado un montón de gente y así es

24:29

como atacaron a Tamstack. Así que tengan

24:31

mucho, mucho cuidado con esto, que esto

24:33

es una una verdadera pesadilla. Así que

24:36

nada, darle en caña.

Interactive Summary

Esta semana ha sido particularmente intensa en el ámbito de la ciberseguridad, marcada por una serie de vulnerabilidades críticas que afectan a infraestructuras y software ampliamente utilizados. Desde fallos graves en Next.js, macOS y Nginx, hasta problemas persistentes en Windows y brechas de seguridad en plataformas como Grafana y OpenClou, el video destaca la necesidad urgente de actualizar software y adoptar prácticas de desarrollo más seguras, especialmente en el uso de GitHub Actions. El autor también reflexiona sobre los riesgos asociados a la sobreproducción de software mediante inteligencia artificial y la importancia de la transparencia corporativa ante incidentes de seguridad.

Suggested questions

4 ready-made prompts