SolarWinds Serv-U, un MFT et serveur de fichiers largement déployé, a été exploité via deux classes de failles de gestion des entrées. Une vulnérabilité de corruption mémoire dans sa gestion SSH/des connexions donnait une exécution de code à distance contre le service exposé, utilisée dans des attaques ciblées. Séparément, une faille de traversée de répertoires dans son interface web permettait à un attaquant de lire des fichiers arbitraires du système de fichiers de l'hôte, divulguant configuration, identifiants et autres fichiers sensibles. Les deux sont atteignables contre un Serv-U exposé, ce qui rend simple une exploitation appariée à la version.
# fingerprint Serv-U (web and SSH/FTP services)
curl -skI https://<target>/ # Serv-U web banner
nmap -p22,80,443 -sV <target> | grep -i serv-u
# RCE variant targets the SSH handling; traversal variant reads host files:
curl -sk --path-as-is 'https://<target>/<endpoint>/../../../../windows/win.ini'
# match the Serv-U build to the advisory for the specific flaw and payload.
Notes d'exploitation#
- Deux classes distinctes : la RCE par corruption mémoire de la gestion SSH (atteinte sur le service SSH/des connexions) et la lecture de fichiers par traversée de répertoires web ; laquelle s'applique dépend du build Serv-U.
- La traversée lit des fichiers arbitraires de l'hôte au privilège du service, visez donc les fichiers de configuration et d'identifiants qui déverrouillent l'appliance et au-delà.
- La variante RCE pose une exécution de code directement sur l'hôte ; dressez l'empreinte du build et faites correspondre au bulletin pour la faille exacte.
- Le mécanisme de traversée est de la même classe que la traversée de chemin générique ; la RCE est un bogue de corruption mémoire propre au produit.