Sammwy 🌱 Profile picture
Jun 8 32 tweets 7 min read Twitter logo Read on Twitter
🐛 Hablemos de "fractureiser".

Al inicio de este mes, se descubrió un virus/malware potencialmente peligroso que se encontraba en varios mods populares de Minecraft.

Desde hace 2 días ando siguiendo la investigación y se los traigo en un hilo en español.

🧵👇 Image
🐛 Primero hablemos de lo que es un malware tipo "worm" o "gusano".

Un gusano informático es un tipo de malware capaz de auto replicarse con el objetivo de extender su infección y obtener mas victimas en el proceso.

Tiene varios propósitos, el mas común es robar información.
📦 Segundo expliquemos como funciona un mod de Minecraft.

Este por lo general se encuentra en formato .jar, un binario de Java que dentro corre código.

Normalmente los mods deberían solo modificar aspectos del juego, pero al ser un ejecutable también tiene el control de tu PC.
🌐 Tercero, hablemos de CurseForge.

Esta es la página mas grande de descarga de mods del mundo. En ella, los devs pueden subir modificaciones de distintos juegos y entre ellos Minecraft.

Dato curioso: CF era propiedad de Twitch, pero se lo vendieron a Overwolf en el 2020.
🧑‍💻Por ultimo, explicare que es un C&C.

Un C&C o "Servidor de mando y control" es un servidor el cual un atacante usa para tener control de sus victimas.

Cuando eres infectado con un malware, el malware puede conectarse a un C&C y recibir instrucciones o enviar tu información.
🚨 Que sucedio?

Un virus de tipo gusano informático fue subido a CurseForge dentro de varios mods y modpacks famosos.

Las cuentas de varios desarrolladores fueron comprometidas y el atacante publico el malware como si fueran actualizaciones de estos proyectos.
🤔 Ok, pero como funcionaba este malware?

El malware tiene varias etapas el cual enumeraremos del 0 al 3. Cada etapa tiene un propósito diferente y a su vez, es la encargada de alcanzar la siguiente manipulando los archivos ejecutables a su alcance:
0⃣ La stage 0:

El worm es inyectado en el jar del mod. Se crea un método estático dentro de su clase principal.

Es decir, se le agrega instrucciones extra cuando el mod es cargado. Estas instrucciones descarga código de un servidor y lo ejecuta.

Payload pastebin.com/rbBBTZSn
1⃣ La stage 1:

Esta viene en el código que la stage 0 ejecuta.

Primero revisa si el equipo ya fue infectado, si es así entonces se detiene. Luego contacta a un dominio de cloudflare pages en donde descarga la IP del C&C

Esta stage es la encargada de instalar persistencia:
La persistencia permite al malware seguir ejecutándose fuera de lo que seria Minecraft.

En Linux, este descarga un ejecutable llamado "lib.jar" mientras que en Windows es "libWebGL64.jar"

Luego hace que este archivo iniciara con tu ordenador.
En Linux, el malware gana persistencia creando un daemon en /etc/systemd/system o ~/.config/systemd/user.

En Windows, este intenta crear una clave de registro en "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" o en "Windows\Start Menu\Programs\Startup".
2⃣ Stage 2:

La etapa 2 es ejecutada cuando tu PC inicia luego de la infección.

Este abre el puerto 9655 y se conecta al servidor C&C. Este descarga la stage 3 en un archivo llamado "client.jar". En caso de estar instalado, comprueba el hash en caso que necesite actualizarse.
3⃣ Stage 3:

La stage 2 busca en el archivo client.jar y ejecuta el siguiente método:

dev.neko.nekoclient.Client#start(InetAddress, refFileBytes)

Tanto la stage 2 como la 3 están ofuscados por Allatori obfuscator. Significa que su código es ilegible y difícil de entender.
La stage 3 contiene un DLL el cual fue decompilado:
pastebin.com/4fiqjL7e

Lo mas importante son estas dos funciones:

dev_neko_nekoclient_api_windows_WindowsHook_retrieveClipboardFiles(int64 a1);

dev_neko_nekoclient_api_windows_WindowsHook_retrieveMSACredentials(int64 a1);
La primera función "retrieveClipboardFiles" se roba lo que tienes copiado en el clipboard (CTRL + C)

La segunda función "retrieveMSACredentials" se roba tus credenciales de Microsoft/Xbox.
La stage 3 también realiza otras acciones maliciosas:

1. Busca en tu PC cualquier plugin o mod de Forge/Fabric/Quilt/Bukkit. En caso de encontrar uno, lo inyecta con la Stage 0.

2. Roba las cookies y cuentas que tengas en cualquier navegador.
3. Si encuentra direcciones de wallets cripto en tu PC entonces las reemplaza por su propia wallet (Con el objetivo de confundirte y que le envíes el dinero al atacante)

4. Roba tus datos de Discord, incluyendo tus métodos de pago.

5. Roba tus cuentas en los Launchers de MC.
En una ocasión, el malware en stage 3 fue reemplazado por el C&C con una version desofuscada del client.jar.

Por lo cual se logro obtener el código fuente del malware y este fue subido a GitHub para su análisis:

github.com/clrxbl/NekoCli…
Curiosidades: El malware tiene un anti-sandbox. Es decir, si descubre que el virus esta corriendo en un entorno seguro o un laboratorio de investigación entonces se detiene y no infecta el PC.

El malware se roba los siguientes datos de launchers y navegadores web: ImageImage
Curiosidades 2:

El malware tiene una 5ta etapa llamada "stage 3b" el cual es lo mismo que la stage 3 con un adicional que también descarga y ejecuta un conocido malware que afecta plugins y mods pirateados llamado "Skyrage"
🕑 Ok, cuando sucedió?

El 1/6/2023, un usuario llamado D3SL se dio cuenta que había un proceso en segundo plano que le estaba consumiendo mucha RAM y CPU por lo cual decidió investigarlo.

El usuario identifico el causante, un archivo ejecutable llamado "libwebgl64.jar".
💀 Este proceso tenia comportamientos inusuales que confirmaban que se trataba de un virus.

> El PID del proceso registraba comunicación de red en el netstat.
> Se comunicaba con un C&C (Servidor de control donde el atacante puede controlar a las victimas de su virus)
El 7/6/2023 el equipo de investigación detecto que el archivo malicioso venia en una actualización de un modpack famoso de Minecraft llamado "Better Minecraft" el cual estaría subido en la pagina de CurseForge.

Horas después, se creo un canal de EsperNet para discutir el asunto.
Ese mismo día, se descubrieron varias cuentas de CurseForge que habían subido el malware. "Fractureiser" era la primera, por lo cual así fue como se le llamo a la amenaza.

D3SL analizo con ingeniería inversa este malware y nos brindo toda la información que les traje en el hilo.
D3SL también descubrió que el malware no solo infecta mods, también afecta la cache de maven y gradle.

Esto es grave, ningún dev revisa esas carpetas ni lo que hay ahí. Esto significa que un developer infectado puede distribuir el malware en sus propios mods sin darse cuenta.
Gracias a esto se llevo a la conclusión que fue así como llego el malware a CurseForge. Algún dev debió ser infectado y todos los mods que salgan de su PC también traen el virus en su interior.

Darkhax contacto a CurseForge y comprobo que el malware fue subido desde su interfaz
CurseForge publico lo siguiente.


En resumen dicen que la plataforma no fue comprometida ni ningún admin fue hackeado.

Ayer el servidor C&C fue cambiado por uno nuevo "107[.]189[.]3[.]101" pero en menos de una hora fue dado de baja por Cloudflare.
El día de hoy (8/6/2023) los de Modrinth, plataforma competencia de CurseForge, anunciaron que analizaron los mods subidos a su pagina y que todos están limpios.

Adicionalmente, el C&C de Skyrage fueron dado de baja.
Importante:

Los mods y plugins que hasta ahora fueron afectados por el virus son los siguientes:

- Skyblock Core
- Dungeonz
- Haven Elytra
- Vault Integrations
- AutoBroadcast
- Museum Curator Advanced
- Vault Integrations Bug fix
- Floating Damage
- Display Entity Editor
- Simple Harrvesting
- MC Bounties
- Easy custom foods
- Anti command spam
- Ultimate leveling
- Anti redstone crash
- Hydratation
- Frragment permission plugin
- No VPNs
- Ultimate titles
Si descargaste, instalaste o actualizaste cualquiera de sos mods o plugins en este ultimo mes entonces formatea tu PC y cambia todas tus contraseñas.

Por otra parte, varios devs de launchers y CEO de modrinth y curseforge implementaran antivirus en sus launchers.
❤️ Eso es todo por ahora, cualquier cosa seguiré agregando al hilo. Posiblemente cuando termine de trabajar me ponga a crear un antivirus o un detector para esta amenaza.

o7 Dale RT, si haces un video con este hilo (puedes hacerlo) deja créditos. Muac.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Sammwy 🌱

Sammwy 🌱 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @sammwy

Jan 19
He escrito en la barra de mi navegador "google.com" y la pagina a cargado, fue instantáneo y sin mayor esfuerzo.

Parece simple, pero detrás de esto hay muchos procesos que se coordinan para traernos el sitio web que queremos. Te lo explico:

🧵👇
1. Aunque tu hayas colocado "google.com", tu navegador necesita la IP del sitio web. Para esto usara un protocolo llamado DNS.

Primero el navegador le consulta a Windows si tiene la IP guardada, quizás de una visita anterior.
En caso de tener la IP previamente almacenada se salta al paso 2. De lo contrario, Windows le pide al servidor DNS que le de la dirección IP del dominio de la pagina (google.com en este caso)

Por defecto Windows usara el servidor DNS que le entregue tu Router.
Read 27 tweets
Jan 17
Bien chavales hoy tenemos un hilo/curso de como hacer un ataque DDoS a un servidor HTTP Apache con un backlog mal configurado y obligar al servidor a dar error 500, solo con Python y una PC de escritorio. 😌👍 Image
🫣 Primero debemos tener una lista de UAs, esto es para prevenir que un anti-ddos nos detenga. De esta forma lo engañamos haciendo creer que somos usuarios reales. Image
💀 Luego una lista de proxies HTTP, esto nos sirve para camuflar el ataque y hacer que provenga de diferentes lugares al rededor del mundo. Image
Read 6 tweets
Sep 26, 2022
🥶 Me cuentan pajaritos que había un equipo que estaba desarrollando Ringcraft hace meses y faltando apenas 3 semanas antes del evento los despidieron y contrataron a un equipo nuevo para hacerlo desde 0, tirando el trabajo a la basura.

Confirmenme ex-devs por MD, queda anónimo.
Image
Read 15 tweets
Sep 25, 2022
🫡 Es hora de cuestionar otra mala decisión técnica de RingCraft.

Hoy vamos a aprender la importancia del desarrollo modular y la ejecución de eventos manuales.

🧵👇
Un evento (hablando de programación) es una serie de acciones o tareas preprogramadas que irán sucediendo en un orden.

Normalmente un programa o software son varios eventos funcionando entre si en la mayoría de casos con un orden en el cual van ocurriendo.
Pongamos de ejemplo la modalidad de juego SkyWars, sus eventos serían:

- Teletransportar a los jugadores
- Cuenta regresiva
- Romper celdas
- Rellenar cofres
- (Esperar a que haya un jugador vivo)
- Enviar a todos al lobby
Read 8 tweets
Sep 24, 2022
🤔 ¿Has notado que a veces en algunas fotos o conversaciones en tu celular aparecen situadas en la fecha 31 de diciembre de 1969?

🧵👇 La fecha no es al azar y tiene un significado. Image
👩‍💻 Primero tenemos que conocer a Unix.

Este es un sistema operativo portable que fue hecho pensando en las comodidades del usuario. Su lanzamiento inicial fue en 1969 (😉) y muchos sistemas que usamos actualmente están derivados o basados en el, como macOS, iOS, Linux y Android. Image
⏳ Unix para medir el tiempo utiliza el sistema "Epoch Unix Timestamp" el cual se resume en contar los segundos transcurridos desde una fecha inicial hasta la fecha de hoy.

Esa fecha inicial es el 01/01/1970 ya que era cerca a la fecha de creación y era fácil de recordar. Image
Read 11 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(