CERTA-2002-ALE-006
Vulnerability from certfr_alerte - Published: - Updated:
Un ver exploitant une faiblesse dans la configuration de Microsoft SQL Server (compte sa sans mot de passe) se propage sur l'Internet. Ce type de ver n'est pas nouveau (se référer à la note d'information CERTA-2001-INF-005 "Apparition de vers exploitant des vulnérabilités de MS-SQL Server").
Description
Spida est un ver qui infecte les systèmes Microsoft SQL Server dont le Compte de Service (Service Account aussi appelé sa) ne possède pas de mot de passe, ce qui est la configuration par défaut.
La contamination des machines se fait en deux étapes :
- balayage d'une plage d'adresses IP tirée aléatoirement afin d'identifier des systèmes dont le port 1433/TCP (SQL Server) est ouvert ;
- infection d'un serveur vulnérable (compte sa sans mot de passe) : le ver utilise la procédure stockée étendue xp_cmdshell pour exécuter des commandes sur le système cible.
Le ver Spida collecte différentes informations relatives au système infecté (configuration réseau, mot de passe, etc) qui seront envoyé à une adresse mél avant de rechercher d'autres serveurs vulnérables à infecter.
La présence des fichiers dont les noms suivent est l'indication de la compromission du système par le ver Spida :
%Windir%\system32\drivers\services.exe%Windir%\system32\sqlprocess.js%Windir%\system32\sqlexec.js%Windir%\system32\sqldir.js%Windir%\system32\run.js%Windir%\system32\sqlinstall.bat%Windir%\system32\clemail.exe%Windir%\system32\pwdump2.exe%Windir%\system32\timer.dll%Windir%\system32\samdump.dll
Trois clefs sont créées dans la base de registre :
HKLM\System\CurrentControlSet\Services\NetDDE\ImagePathHKLM\System\CurrentControlSet\Services\NetDDE\StartHKLM\software\microsoft\mssqlserver\client\connectto\dsquery
Contournement provisoire
Bloquer le port 1433/TCP au niveau du garde-barrière afin d'empêcher l'exploitation de cette vulnérabilité depuis l'Internet.
Solution
Le compte sa doit posséder un mot de passe. Attention : utiliser un mot de passe résistant à l'attaque par force brute.
Ne pas oublier d'appliquer les différents correctifs relatifs à Microsoft SQL Server.
Serveur de base de données Microsoft SQL Server.
| Vendor | Product | Description |
|---|
| Title | Publication Time | Tags | |
|---|---|---|---|
{
"$ref": "https://www.cert.ssi.gouv.fr/openapi.json",
"affected_systems": [],
"affected_systems_content": "\u003cp\u003eServeur de base de donn\u00e9es Microsoft SQL Server.\u003c/p\u003e",
"closed_at": "2002-06-04",
"content": "## Description\n\nSpida est un ver qui infecte les syst\u00e8mes Microsoft SQL Server dont le\nCompte de Service (Service Account aussi appel\u00e9 sa) ne poss\u00e8de pas de\nmot de passe, ce qui est la configuration par d\u00e9faut.\n\n \nLa contamination des machines se fait en deux \u00e9tapes :\n\n- balayage d\u0027une plage d\u0027adresses IP tir\u00e9e al\u00e9atoirement afin\n d\u0027identifier des syst\u00e8mes dont le port 1433/TCP (SQL Server) est\n ouvert ;\n- infection d\u0027un serveur vuln\u00e9rable (compte sa sans mot de passe) : le\n ver utilise la proc\u00e9dure stock\u00e9e \u00e9tendue xp_cmdshell pour ex\u00e9cuter\n des commandes sur le syst\u00e8me cible.\n\nLe ver Spida collecte diff\u00e9rentes informations relatives au syst\u00e8me\ninfect\u00e9 (configuration r\u00e9seau, mot de passe, etc) qui seront envoy\u00e9 \u00e0\nune adresse m\u00e9l avant de rechercher d\u0027autres serveurs vuln\u00e9rables \u00e0\ninfecter.\n\n \nLa pr\u00e9sence des fichiers dont les noms suivent est l\u0027indication de la\ncompromission du syst\u00e8me par le ver Spida :\n\n- `%Windir%\\system32\\drivers\\services.exe`\n- `%Windir%\\system32\\sqlprocess.js`\n- `%Windir%\\system32\\sqlexec.js`\n- `%Windir%\\system32\\sqldir.js`\n- `%Windir%\\system32\\run.js`\n- `%Windir%\\system32\\sqlinstall.bat`\n- `%Windir%\\system32\\clemail.exe`\n- `%Windir%\\system32\\pwdump2.exe`\n- `%Windir%\\system32\\timer.dll`\n- `%Windir%\\system32\\samdump.dll`\n\nTrois clefs sont cr\u00e9\u00e9es dans la base de registre :\n\n- `HKLM\\System\\CurrentControlSet\\Services\\NetDDE\\ImagePath`\n- `HKLM\\System\\CurrentControlSet\\Services\\NetDDE\\Start`\n- `HKLM\\software\\microsoft\\mssqlserver\\client\\connectto\\dsquery`\n\n## Contournement provisoire\n\nBloquer le port 1433/TCP au niveau du garde-barri\u00e8re afin d\u0027emp\u00eacher\nl\u0027exploitation de cette vuln\u00e9rabilit\u00e9 depuis l\u0027Internet.\n\n## Solution\n\nLe compte sa doit poss\u00e9der un mot de passe. Attention : utiliser un mot\nde passe r\u00e9sistant \u00e0 l\u0027attaque par force brute.\n\nNe pas oublier d\u0027appliquer les diff\u00e9rents correctifs relatifs \u00e0\nMicrosoft SQL Server.\n",
"cves": [],
"links": [
{
"title": "CERTA-2001-INF-005 \"Apparition de vers exploitant des vuln\u00e9rabilit\u00e9s de MS-SQL Server\" :",
"url": "http://www.certa.ssi.gouv.fr/site/CERTA-2001-INF-005/index.html"
},
{
"title": "Avis de McAfee \"JS/SQL.Spida.b.worm\" :",
"url": "http://vil.nai.com/vil/content/v_99499.htm"
}
],
"reference": "CERTA-2002-ALE-006",
"revisions": [
{
"description": "version initiale.",
"revision_date": "2002-05-22T00:00:00.000000"
},
{
"description": "correction du lien sur la note d\u0027information dans la partie Documentation.",
"revision_date": "2002-06-04T00:00:00.000000"
}
],
"risks": [
{
"description": "Compromission du syst\u00e8me"
},
{
"description": "D\u00e9ni de service"
}
],
"summary": "Un ver exploitant une faiblesse dans la configuration de Microsoft SQL\nServer (compte sa sans mot de passe) se propage sur l\u0027Internet. Ce type\nde ver n\u0027est pas nouveau (se r\u00e9f\u00e9rer \u00e0 la note d\u0027information\nCERTA-2001-INF-005 \"Apparition de vers exploitant des vuln\u00e9rabilit\u00e9s de\nMS-SQL Server\").\n",
"title": "Propagation du ver Spida (Microsoft SQL Server)",
"vendor_advisories": [
{
"published_at": null,
"title": "Alerte \"Microsoft SQL Spida Worm Propagation\" d\u0027ISS",
"url": "http://www.iss.net/security_center/alerts/advise118.php"
}
]
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.