La semana pasada, Progress Software Corporation, que vende software y servicios para el desarrollo de interfaces de usuario, devops, administración de archivos y más, alertó a los clientes de su Transferencia MOVEit y Nube MOVEit productos sobre un vulnerabilidad crítica doblado CVE-2023-34362.
Como sugiere el nombre, MOVEit Transfer es un sistema que facilita el almacenamiento y el intercambio de archivos en un equipo, un departamento, una empresa o incluso una cadena de suministro.
En su propias palabras, “MOVEit brinda colaboración segura y transferencias de archivos automatizadas de datos confidenciales y capacidades avanzadas de automatización del flujo de trabajo sin necesidad de secuencias de comandos”.
Desafortunadamente, el front-end basado en la web de MOVEit, que facilita compartir y administrar archivos usando solo un navegador web (un proceso que generalmente se considera menos propenso a archivos mal dirigidos o "perdidos" que compartirlos por correo electrónico), resultó tener un SQL vulnerabilidad de inyección.
Explicación de las inyecciones de SQL
Los errores de inyección de SQL basados en la web surgen cuando se envía una solicitud HTTP a un servidor web se convierte de manera insegura en un comando de consulta que luego se emite por el servidor mismo para hacer una búsqueda en la base de datos para determinar qué respuesta HTTP construir.
Por ejemplo, una búsqueda en la base de datos que se activa desde una página web podría terminar como una URL solicitada por su navegador que se ve así:
https://search.example.com/?type=file&name=duck
El texto de consulta duck
luego podría extraerse del parámetro de nombre en la URL, convertirse en sintaxis de consulta de la base de datos y unirse a un comando para enviar al servidor de la base de datos.
Si los datos de back-end se almacenan en una base de datos SQL, el servidor web podría convertir esa URL en un comando SQL como el que se muestra a continuación.
El %
caracteres agregados al texto duck
significa que el término de búsqueda puede aparecer en cualquier parte del nombre de archivo recuperado, y los caracteres de comillas simples en cada extremo se agregan como marcadores para indicar una cadena de texto SQL:
SELECCIONE el nombre del archivo DESDE filesdb DONDE el nombre COMO '% pato%'
Los datos que provienen de la consulta podrían formatearse correctamente, convertirse a HTML y enviarse de vuelta como una respuesta HTTP a su navegador, lo que quizás le brinde una lista en la que se puede hacer clic de archivos coincidentes para que los descargue.
Por supuesto, el servidor web debe tener mucho cuidado con los nombres de archivo que se envían como término de búsqueda, en caso de que un usuario malintencionado cree y solicite una URL como esta:
https://search.example.com/?type=file&name=duck';DROP table filesdb;--
Si ese término de búsqueda se convirtió a ciegas en una cadena de consulta, es posible que pueda engañar al servidor web para que envíe al servidor SQL un comando como este:
SELECCIONE el nombre del archivo DESDE filesdb DONDE el nombre LIKE '%duck';DROP TABLE filesdb;--%'
Porque un punto y coma (;
) actúa como un separador de declaraciones en SQL, este comando de una sola línea es en realidad lo mismo que enviar tres comandos consecutivos:
SELECCIONE el nombre del archivo DESDE filesdb DONDE el nombre LIKE '%duck' -- coincide con los nombres que terminan en duck DROP TABLE filesdb -- elimina toda la base de datos --%' -- comenta, no hace nada
A escondidas, porque todo después --
es descartado por SQL como comentario de un programador, estas tres líneas son las mismas que:
SELECCIONE el nombre de archivo DESDE filesdb DONDE el nombre COMO '% pato' DROP TABLE filesdb
Obtendrá una lista de todos los nombres de archivo en la base de datos que terminan con la cadena duck
(el carácter especial de SQL %
al comienzo de un término de búsqueda significa "coincidir con cualquier cosa hasta este punto")...
…pero serás la última persona en sacar algo útil de la filesdb
base de datos, porque su término de búsqueda no autorizado seguirá la búsqueda con el comando SQL para eliminar toda la base de datos.
Pequeñas Mesas Bobby
Si alguna vez escuchó a los administradores de sistemas o programadores hacer bromas sobre Pequeñas Mesas Bobby, eso se debe a que este tipo de inyección SQL fue inmortalizado en un Dibujos animados XKCD de vuelta en 2007:
Como concluye la caricatura en el último cuadro, realmente necesita desinfectar las entradas de su base de datos, lo que significa que debe tener mucho cuidado de no permitir que la persona que envía el término de búsqueda controle cómo los servidores back-end involucrados interpretan el comando de búsqueda.
Puede ver por qué este tipo de truco se conoce como ataque de inyección: en los ejemplos anteriores, los términos de búsqueda maliciosos hacen que se inyecte un comando SQL adicional en el manejo de la solicitud.
De hecho, ambos ejemplos involucran dos formularios inyectados, siguiendo el carácter de "comilla cerrada" insertado furtivamente para terminar la cadena de búsqueda antes. El primer comando adicional es el destructivo. DROP TABLE
instrucción. El segundo es un "comando de comentario" que hace que se ignore el resto de la línea, devorando así astutamente el final. %'
caracteres generados por el generador de comandos del servidor, que de otro modo habrían causado un error de sintaxis y evitado la inyección DROP TABLE
comando de trabajo.
buenas y malas noticias
La buena noticia en este caso es que Progress parchó todas sus versiones compatibles de MOVEit, junto con su servicio basado en la nube, una vez que se dio cuenta de la vulnerabilidad.
Entonces, si usa la versión en la nube, ahora se actualiza automáticamente, y si está ejecutando MOVEit en su propia red, esperamos que ya haya parcheado.
La mala noticia es que esta vulnerabilidad fue de día cero, lo que significa que Progress se enteró porque los chicos malos ya la habían estado explotando, y no antes de que descubrieran cómo hacerlo.
En otras palabras, para cuando parcheó sus propios servidores (o Progress parcheó su servicio en la nube), es posible que los delincuentes ya hayan inyectado comandos maliciosos en sus bases de datos back-end de MOVEit SQL, con una variedad de resultados posibles:
- Eliminación de datos existentes. Como se muestra arriba, el ejemplo clásico de un ataque de inyección SQL es la destrucción de datos a gran escala.
- Exfiltración de datos existentes. En lugar de descartar tablas de SQL, los atacantes podrían inyectar sus propias consultas, aprendiendo así no solo la estructura de sus bases de datos internas, sino también extrayendo y robando sus partes más jugosas.
- Modificación de datos existentes. Los atacantes más sutiles podrían decidir corromper o interrumpir sus datos en lugar de (o además) robarlos.
- Implantación de nuevos archivos, incluido malware. Los atacantes podrían inyectar comandos SQL que a su vez ejecutan comandos del sistema externo, logrando así la ejecución de código remoto arbitrario dentro de su red.
Un grupo de atacantes, presunto por Microsoft para ser (o estar conectado con) la infame banda de ransomware Clop, aparentemente han estado usando esta vulnerabilidad para implantar lo que se conoce como conchas web en los servidores afectados.
Si no está familiarizado con webshells, lea nuestro explicador en inglés sencillo que publicamos en el momento de los problemáticos ataques HAFNIUM en marzo de 2021:
Peligro de concha web
En pocas palabras, los webshells brindan una forma para que los atacantes que pueden agregar nuevos archivos a su servidor web regresen más tarde, entren cuando lo deseen y conviertan ese acceso de solo escritura en un control remoto completo.
Webshells funciona porque muchos servidores web tratan ciertos archivos (generalmente determinados por el directorio en el que se encuentran o por la extensión que tienen) como scripts ejecutables. utilizado para generar la página para enviar de vuelta, en lugar de como el contenido real que se usará en la respuesta.
Por ejemplo, el IIS (servidor de información de Internet) de Microsoft generalmente se configura de modo que si un navegador web solicita un archivo llamado, digamos, hello.html
, luego el contenido sin procesar y sin modificar de ese archivo se leerá y se enviará de vuelta al navegador.
Entonces, si hay algún malware en ese hello.html
archivo, entonces afectará a la persona que navega hacia el servidor, no al servidor en sí.
Pero si el archivo se llama, digamos, hello.aspx
(donde ASP es la abreviatura de la frase autodescriptiva Páginas Active Server), entonces ese archivo se trata como un programa de script para que lo ejecute el servidor.
Ejecutar ese archivo como un programa, en lugar de simplemente leerlo como datos, generará la salida que se enviará como respuesta.
En otras palabras, si hay algún malware en ese hello.aspx
archivo, entonces afectará directamente al servidor en sí, no a la persona que navega hacia él.
En resumen, soltar un archivo webshell como efecto secundario de un ataque de inyección de comando significa que los atacantes pueden regresar más tarde y al visitar la URL correspondiente al nombre de archivo de ese webshell...
…pueden ejecutar su malware directamente dentro de su red, utilizando nada más sospechoso que una solicitud HTTP sin pretensiones realizada por un navegador web cotidiano.
De hecho, algunos webshells consisten en una sola línea de script malicioso, por ejemplo, un solo comando que dice "obtener texto de un encabezado HTTP específico en la solicitud y ejecutarlo como un comando del sistema".
Esto brinda acceso de comando y control de propósito general a cualquier atacante que conozca la URL correcta para visitar y el encabezado HTTP correcto para usar para entregar el comando no autorizado.
¿Qué hacer?
- Si es usuario de MOVEit, asegúrese de que todas las instancias del software en su red estén parcheadas.
- Si no puede parchear ahora mismo, apague las interfaces basadas en web (HTTP y HTTP) a sus servidores MOVEit hasta que pueda. Aparentemente, esta vulnerabilidad está expuesta solo a través de la interfaz web de MOVEit, no a través de otras rutas de acceso como SFTP.
- Busca tus registros para archivos de servidor web recién agregados, cuentas de usuario recién creadas y descargas de datos inesperadamente grandes. Progress tiene una lista de lugares para buscar, junto con nombres de archivos y para buscar.
- Si eres programador, higieniza tus entradas.
- Si eres un programador de SQL, utiliza consultas parametrizadas, en lugar de generar comandos de consulta que contienen caracteres controlados por la persona que envía la solicitud.
En muchos, si no en la mayoría, de los ataques basados en webshell investigados hasta ahora, El progreso sugiere que probablemente encontrará un archivo webshell malicioso llamado human2.aspx
, tal vez junto con archivos maliciosos recién creados con un .cmdline
extensión.
(Los productos de Sophos detectarán y bloquearán los archivos webshell conocidos como Troj/WebShel-GO, ya sea que se llamen human2.aspx
o no.)
Recuerde, sin embargo, que si otros atacantes sabían sobre este día cero antes de que saliera el parche, es posible que hayan inyectado comandos diferentes, y tal vez más sutiles, que ahora no se pueden detectar escaneando el malware que quedó atrás o buscando para nombres de archivos conocidos que podrían aparecer en los registros.
No olvide revisar sus registros de acceso en general, y si no tiene tiempo para hacerlo usted mismo, no dude en pedir ayuda!
Aprenda más sobre Detección y respuesta gestionadas por Sophos:
Búsqueda, detección y respuesta de amenazas las 24 horas del día, los 7 días de la semana ▶
¿Le falta tiempo o experiencia para encargarse de la respuesta a amenazas de ciberseguridad? ¿Le preocupa que la seguridad cibernética termine distrayéndolo de todas las otras cosas que debe hacer?
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- PlatoAiStream. Inteligencia de datos Web3. Conocimiento amplificado. Accede Aquí.
- Acuñando el futuro con Adryenn Ashley. Accede Aquí.
- Compra y Vende Acciones en Empresas PRE-IPO con PREIPO®. Accede Aquí.
- Fuente: https://nakedsecurity.sophos.com/2023/06/05/moveit-zero-day-exploit-used-by-data-breach-gangs-the-how-the-why-and-what-to-do/
- :posee
- :es
- :no
- :dónde
- $ UP
- 1
- 15%
- 2021
- a
- Poder
- Nuestra Empresa
- sobre TI
- arriba
- Absoluto
- de la máquina
- Cuentas
- el logro de
- hechos
- real
- add
- adicional
- Adicionales
- avanzado
- afectar
- asustado
- Después
- Todos
- permitir
- a lo largo de
- ya haya utilizado
- también
- an
- y
- cualquier
- cualquier cosa
- dondequiera
- Aparecer
- somos
- AS
- At
- atacar
- ataques
- autor
- auto
- Confirmación de Viaje
- automáticamente
- Automatización
- conscientes
- Atrás
- Backend
- background-image
- Malo
- BE
- se convirtió en
- porque
- esto
- antes
- detrás de
- a continuación
- ciegamente
- Bloquear
- Bobby
- frontera
- ambas
- Fondo
- incumplimiento
- Descanso
- cada navegador
- Navegador
- loco
- pero
- by
- , que son
- llegó
- PUEDEN
- capacidades
- servicios sociales
- cuidadoso
- dibujos animados
- case
- Causar
- causado
- causas
- Reubicación
- a ciertos
- cadena
- personaje
- personajes
- clásico
- Soluciones
- código
- colaboración
- Color
- cómo
- proviene
- comentario
- compañía
- completar
- conectado
- consecutivo
- considerado
- construir
- contenido
- control
- controlado
- convertir
- convertido
- CORPORACIÓN
- Correspondiente
- podría
- curso
- Protectora
- Para crear
- creado
- Crooks
- Clientes
- La Ciberseguridad
- datos
- Violacíon de datos
- Base de datos
- bases de datos
- decidir
- entregar
- Departamento
- detectado
- Detección
- determina
- Desarrollo
- DevOps
- una experiencia diferente
- directamente
- Pantalla
- Interrumpir
- do
- sí
- No
- descargar
- Descargas
- Soltar
- Dejar caer
- doblado
- cada una
- Temprano en la
- de forma sencilla
- final
- error
- Incluso
- NUNCA
- diario
- ejemplo
- ejemplos
- ejecutar
- ejecución
- existente
- Experiencia
- Explotar
- expuesto
- extensión
- externo
- extra
- hecho
- familiar
- muchos
- calculado
- Archive
- archivos
- Encuentre
- Nombre
- seguir
- siguiendo
- encontrado
- FRAME
- en
- frontal o trasero
- Interfaz
- Pandillas
- General
- propósito general
- en general
- generar
- generado
- la generación de
- generador
- obtener
- da
- Diezmos y Ofrendas
- candidato
- maravillosa
- Grupo procesos
- tenido
- Manejo
- Tienen
- oído
- altura
- esperanza
- flotar
- Cómo
- Como Hacer
- Sin embargo
- HTML
- http
- HTTPS
- Caza
- if
- Iis
- in
- Incluye
- infame
- información
- inyectar
- entradas
- Interfaz
- las interfaces
- interno
- Internet
- dentro
- involucrar
- involucra
- Emitido
- IT
- SUS
- sí mismo
- solo
- tan siquiera solo una
- conocido
- large
- Gran escala
- Apellido
- luego
- lanzamiento
- aprendizaje
- izquierda
- menos
- como
- línea
- líneas
- Lista
- MIRADAS
- búsqueda
- hecho
- para lograr
- HACE
- Realizar
- el malware
- gestionan
- gestionado
- Management
- muchos
- Marzo
- Margen
- pareo
- max-ancho
- Puede..
- personalizado
- sentido
- significa
- Microsoft
- podría
- más,
- MEJOR DE TU
- nombre
- Llamado
- nombres
- ¿ Necesita ayuda
- del sistema,
- Nuevo
- recién
- noticias
- normal
- nada
- ahora
- of
- off
- on
- una vez
- ONE
- , solamente
- or
- solicite
- Otro
- de otra manera
- nuestros
- salir
- resultados
- salida
- EL DESARROLLADOR
- página
- parámetro
- partes
- Patch
- Paul
- quizás
- persona
- Lugares
- Platón
- Inteligencia de datos de Platón
- PlatónDatos
- posición
- posible
- Artículos
- probablemente
- Productos
- Programa
- Programador
- Progreso
- proporcionar
- proporciona un
- publicado
- poner
- consultas
- cotización inicial
- distancia
- ransomware
- más bien
- Crudo
- Leer
- Reading
- realmente
- relacionado
- relativo
- sanaciones
- responder
- solicita
- pedido
- solicitudes
- respuesta
- RESTO
- una estrategia SEO para aparecer en las búsquedas de Google.
- Derecho
- Ejecutar
- correr
- mismo
- dices
- dice
- exploración
- guiones
- Buscar
- búsqueda
- Segundo
- seguro
- ver
- Vende
- envío
- enviando
- sensible
- expedido
- de coches
- Servicios
- Compartir
- compartir
- En Corto
- Mostrar
- mostrado
- simplemente
- soltero
- So
- hasta aquí
- Software
- sólido
- algo
- especial
- soluciones y
- SQL
- inyección SQL
- comienzo
- Posicionamiento
- tienda
- almacenados
- Cordón
- estructura
- enviar
- Subido
- tal
- Sugiere
- suministro
- cadena de suministro
- Soportado
- suspicaz
- SVG
- sintaxis
- te
- mesa
- ¡Prepárate!
- equipo
- término
- términos
- que
- esa
- El
- su
- Les
- luego
- Ahí.
- Estas
- ellos
- cosas
- así
- amenaza
- Tres
- a lo largo de
- equipo
- a
- parte superior
- transferir
- transferencias
- transición
- transparente
- sorpresa
- desencadenados
- GIRO
- Convertido
- dos
- hasta
- hasta a la fecha
- Enlance
- utilizan el
- usado
- Usuario
- Interfaz de usuario
- usando
- generalmente
- versión
- vía
- Visite
- vulnerabilidad
- fue
- Camino..
- we
- web
- navegador web
- servidor web
- Basado en la Web
- semana
- WELL
- tuvieron
- ¿
- cuando
- sean
- que
- QUIENES
- todo
- porque
- seguirá
- sin
- palabras
- Actividades:
- rutina de ejercicio
- flujo de trabajo
- automatización del flujo de trabajo
- trabajando
- preocupado
- se
- Usted
- tú
- a ti mismo
- zephyrnet