From 8a834a350732387a6b527d58ea36c32bf326b115 Mon Sep 17 00:00:00 2001 From: Ricardo Monla Date: Thu, 26 Feb 2026 11:19:28 -0300 Subject: [PATCH] =?UTF-8?q?fix(sql):=20Inyecci=C3=B3n=20de=20llaves=20de?= =?UTF-8?q?=20registro=20avanzadas=20para=20puentear=20chequeo=20estricto?= =?UTF-8?q?=20de=20UI=20de=20SQL=20Server?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bitacoras/2026-02-26.md | 4 +++- payload.ps1 | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/bitacoras/2026-02-26.md b/bitacoras/2026-02-26.md index 41df8b90..baa1c69a 100644 --- a/bitacoras/2026-02-26.md +++ b/bitacoras/2026-02-26.md @@ -30,7 +30,9 @@ | Tiempo | Descripción | | :--- | :--- | | ⏳ 10:54 | Despliegue de Bucle Operativo (C2 Automation). A fin de eliminar la fricción física constante de interactuar con la consola VNC ciega del Server Core, la IA y el Operador pergeñan un modelo de Command & Control (C2). Se instruye dejar corriendo en la VM el bucle infinito: `while($true){ iwr 10.0.10.8:8000/s.txt -useb\|iex; sleep 15 }`. Esto convierte a la base de datos en un nodo zombi que buscará y ejecutará órdenes dinámicas de la IA cada 15 segundos sin intervención humana adicional. Aguardando a que el operador lance el bucle. | -| ⚙️ 11:00 | Despliegue de Parche de Localización y Autómatas. A través del canal C2, la IA inyecta una nueva carga útil inteligente. El script `s.txt` ahora evalúa el locale (`Get-WinSystemLocale`). Si detecta incompatibilidad (`en-US`), fuerza el registro a `es-ES` e induce un reinicio (`Restart-Computer`). Si detecta compatibilidad (`es-ES`), procederá a inyectar el motor relacional de inmediato. El operador solo debe aguardar el reinicio automático y reactivar el bucle infinito al volver. | +| ⚙️ 11:16 | Inyección de Parche de Localización Profundo (Registro). La telemetría capturó que, a pesar de usar `es-ES` genérico, SQL Server continuó abortando por `LanguageMismatch` (código -2067529714). La IA detecta que en Server Core el motor audita las subclaves primordiales `InstallLanguage` y `Default` (`HKLM:\SYSTEM\CurrentControlSet\Control\Nls\Language`). Se inyecta una nueva revisión on-the-fly de `payload.ps1` forzando las entradas a `0C0A` (Español Tradicional 3082). El bucle C2 absorberá este parche en su próxima iteración de 15 segundos y reintentará la instalación silenciosamente. | +| ⏳ 11:08 | Diseño de Bucle C2 Interactivo de Doble Capa. El operador solicita optimizar la automatización incluyendo un reloj visible de 15 segundos dentro de la propia carga útil que permita forzar la ejecución anticipada mediante interrupciones de teclado. La IA desacopla la arquitectura: `s.txt` se convierte en un Launcher Zombie con temporizador, el cual descargará e inyectará en memoria un artefacto secundario (`payload.ps1`) que contiene la lógica operativa. (Nota: El reinicio de DB01 no ocurrió porque la máquina ejecutó el código previo al parche; este nuevo esquema sincrónico anula ese fallo). Aguardando el despliegue del stager en VNC. | +| ✅ 11:00 | Despliegue de Parche de Localización y Autómatas. A través del canal C2, la IA inyecta una nueva carga útil inteligente. El script evaluará el locale y si detecta incompatibilidad (`en-US`), forzará el registro a `es-ES` induciendo un reinicio Automático. | | ✅ 10:49 | Ejecución de Sonda Diagnóstica (Language Mismatch). La telemetría captura la ejecución del bucle C2 confirmando fehacientemente la sospecha: `OS Locale: en-US` chocando con `ISO LP: 3082_ESN_LP` (Español). Diagnóstico resuelto exitosamente. | | ✅ 10:38 | Análisis de Error en Instalación SQL. El script reportó previamente una salida anómala en la consola de la VM. La IA procedió a revisar los logs capturados por el servidor de telemetría diagnosticando la causa raíz del fallo en el comando `setup.exe` como un InvalidPlatformOSLanguage. | | ❌ 10:33 | Inyección y Ejecución de SQL Server con Telemetría. Se instruye al operador a despachar el comando `iwr 10.0.10.8:8000/s.txt -useb\|iex` en la consola VNC. El script interroga las unidades y lanza el instalador, sin embargo, el proceso finaliza de manera prematura arrojando un código de error inesperado. | diff --git a/payload.ps1 b/payload.ps1 index 035b0b02..4fb0e3ac 100644 --- a/payload.ps1 +++ b/payload.ps1 @@ -6,7 +6,20 @@ function Log-Msg { } catch {} } -if (Test-Path "C:\sql_installed.txt") { exit } +if ((Test-Path "C:\sql_installed.txt") -and (Get-Content "C:\sql_installed.txt") -eq "OK") { exit } + +Log-Msg "==========================================================" +Log-Msg "INYECTANDO PARCHES DE REGISTRO PROFUNDOS PARA IDIOMA (SPAIN-3082 / 0C0A)" +Log-Msg "==========================================================" + +# SQL Server en Server Core chequea estrictamente estas claves del registro para el 'LanguageMismatch' +try { + Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Nls\Language" -Name "InstallLanguage" -Value "0C0A" + Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Nls\Language" -Name "Default" -Value "0C0A" + Log-Msg "Claves de registro de Idioma parcheadas a 0C0A (Espanol)." +} catch { + Log-Msg "Fallo al inyectar claves de registro: $_" +} $locale = Get-WinSystemLocale if ($locale.Name -ne "es-ES") {