Interacting with Common Services
Les vulnérabilités sont souvent découvertes par des personnes qui utilisent et comprennent une technologie, un protocole ou un service. En cybersécurité, nous rencontrons sans cesse de nouveaux services : il faut donc apprendre continuellement leur but, leur mode d'interaction, les outils disponibles et ce qu'on peut en tirer d'un point de vue offensif. Cette page se concentre sur les services courants et les manières de les interagir.
🌐 Services de partage de fichiers
Un service de partage de fichiers fournit, médie et surveille le transfert de fichiers informatiques. Historiquement les entreprises utilisaient des services internes : SMB, NFS, FTP, TFTP, SFTP, etc. Avec l'adoption du cloud, on trouve aussi des services externes : Dropbox, Google Drive, OneDrive, SharePoint, ou des stockages objets comme AWS S3, Azure Blob Storage, Google Cloud Storage. On sera exposé à un mélange de services internes et externes — il faut être à l'aise avec les deux.
Cette section se concentre sur les services internes (mais s'applique souvent aux solutions cloud synchronisées localement sur des serveurs ou postes de travail).
⚙️ Server Message Block (SMB)
SMB est très courant dans les réseaux Windows : on y trouve fréquemment des dossiers partagés. On peut interagir avec SMB via l'interface graphique (GUI), la ligne de commande (CLI) ou des outils dédiés. Ci‑dessous des méthodes courantes sous Windows et Linux.
⚙️ Windows - GUI
Pour ouvrir un partage depuis l'interface Windows, appuyez sur [WINKEY] + [R] et saisissez l'emplacement du partage, par exemple :

Si la ressource autorise l'authentification anonyme ou si vous êtes authentifié avec un compte disposant des droits, vous ne recevrez pas d'invite d'authentification et le contenu du partage s'affichera. Sinon, Windows demandera des identifiants réseau.
⚙️ Windows - Command Shell (CMD)
La commande dir liste les fichiers et sous-répertoires d'un dossier. Exemple d'utilisation pour parcourir un partage SMB :
La commande net use permet de connecter/déconnecter un partage et de mapper un partage réseau sur une lettre de lecteur :
On peut fournir des identifiants :
Une fois mappé, on peut traiter le partage comme un lecteur local : par exemple compter les fichiers (commande simplifiée ci‑dessous — adaptez selon vos besoins) :
Explication des options utilisées :
dir: applicationn:: lecteur/chemin à explorer/a-d: lister les fichiers (sans les répertoires)/s: inclure les sous-répertoires/b: format "bare" (sans entête ni résumé)
Exemples de recherche de noms de fichiers ou d'extensions courantes (à lancer dans CMD) :
Pour rechercher un mot dans le contenu des fichiers, utilisez findstr :
We can find more findstr examples here.
⚙️ Windows - PowerShell
PowerShell étend les capacités de l'invite de commandes avec des cmdlets. On peut exécuter les mêmes types d'opérations. Exemples équivalents en PowerShell :
Lister un partage :
Mapper un lecteur réseau avec New-PSDrive :
Fournir des identifiants via un objet PSCredential :
Compter les fichiers récursivement (exemple) :
Rechercher des fichiers dont le nom contient cred :
Rechercher une chaîne dans le contenu des fichiers avec Select-String (équivalent de grep/findstr) :
La CLI permet d'automatiser des tâches répétitives (gestion d'utilisateurs, sauvegardes, recherches massives, etc.). Les scripts sont souvent plus rapides que la manipulation via GUI.
⚙️ Linux - Montage SMB
Les machines Linux peuvent aussi parcourir et monter des partages SMB (serveur Windows ou Samba).
Créer un point de montage et monter un partage en une seule commande :
Utiliser un fichier d'identifiants comme alternative :
Format du fichier credentialfile :
Installez cifs-utils si nécessaire :
Une fois monté, utilisez les outils Linux classiques (find, grep) pour explorer et rechercher :
⚙️ Autres services de fichiers
Il existe d'autres services (FTP, TFTP, NFS) ; chacun s'installe / se monte différemment. L'idée clé : une fois monté, on peut utiliser les mêmes outils systèmes (Windows / Linux) pour analyser fichiers et répertoires.
🌐 Email
Pour l'envoi et la réception de mails, on utilise typiquement SMTP pour l'envoi, et POP3 ou IMAP pour la récupération. On peut interagir avec un serveur mail via un client graphique (ex. Evolution) ou via outils CLI spécialisés.
Installer Evolution sur Debian/Ubuntu :
Si Evolution renvoie une erreur liée à la sandbox WebKit, démarrez-le ainsi :
Lors de la configuration d'un compte, renseignez l'hôte (IP ou nom de domaine) et le type de chiffrement (SMTPS/IMAPS sur port dédié ou STARTTLS). Vérifiez les méthodes d'authentification supportées si nécessaire.
🌐 Bases de données
Les bases de données sont omniprésentes en entreprise. On trouvera : bases hiérarchiques, NoSQL et bases relationnelles SQL. Nous nous concentrerons sur les bases relationnelles SQL (MySQL, MSSQL). Trois façons courantes d'interagir :
Utilitaires en ligne de commande (
mysql,sqsh,sqlcmd)Langages de programmation (Python, PHP, etc.)
Applications GUI (HeidiSQL, MySQL Workbench, SQL Server Management Studio, dbeaver)

⚙️ MSSQL (Microsoft SQL Server)
Exemple avec sqsh (Linux) :
Avec sqlcmd (Windows) :
To learn more about sqlcmd usage, you can see Microsoft documentation.
⚙️ MySQL
Lancer une session interactive MySQL (Linux) :
(Windows — mysql.exe équivalent) :
⚙️ GUI — dbeaver (multi‑plateforme)
dbeaver est un outil multi‑plateforme pratique pour se connecter à plusieurs moteurs (MSSQL, MySQL, PostgreSQL, ...). Installation via paquet .deb :
Pour se connecter à une base, il faut : l'adresse IP/nom d'hôte, le port, le moteur et des identifiants valides. Une fois connecté, on peut énumérer bases et tables et rechercher des colonnes/entrées sensibles (utilisateurs, mots de passe, clés). Avec des privilèges élevés, on peut exécuter des commandes côté serveur (ce qui représente un risque important si compromis).
⚙️ Outils utiles pour interagir avec les services courants
Se familiariser avec les utilitaires par défaut est essentiel ; la communauté produit aussi des outils open‑source qui accélèrent le travail et qu'il vaut la peine d'apprendre.
🔍 Dépannage général
Selon la version de Windows ou Linux (ou la configuration du service cible), des problèmes d'accès peuvent survenir. Causes fréquentes :
Authentification (identifiants incorrects)
Privilèges (droits insuffisants)
Connectivité réseau
Règles de pare‑feu
Support du protocole (chiffrement, version)
Analysez les codes d'erreur et recherchez dans la documentation officielle ou sur les forums ; les messages d'erreur sont souvent exploitables pour trouver des contournements.
🔐 Sections d'inventaire à inclure lors d'une analyse de partage de fichiers (check‑list)
Ajoutez toujours ces sections lors de vos rapports/notes pour avoir une vision complète de la cible.
OS Version — Comment récupérer :
systeminfo(Windows) oulsb_release -a/cat /etc/os-release(Linux).Kernel Version —
ver(Windows) ouuname -r(Linux).Running Services —
netstat -anbo/Get-Service(Windows) ouss -tulnp/systemctl list-units --type=service(Linux).Utilisateurs —
net user(Windows) oucat /etc/passwd(Linux).Groupes —
net localgroup(Windows) oucat /etc/group(Linux).Drives / Points de montage —
wmic logicaldisk get name(Windows) oumount/df -h(Linux).Filesystems —
fsutil fsinfo volumeinfo <drive>(Windows) oulsblk -f(Linux).Fichiers temporaires — explorer
%TEMP%(Windows) ou/tmp(Linux).Fichiers cachés — vérifier attributs sous Windows (
attrib) et fichiers commençant par.sous Linux.Services SMB/NFS en écoute —
smbstatus,rpcinfo -p(Linux) ou inspection des ports 139/445/2049.Permissions des partages — vérifiez ACLs et permissions NTFS ou POSIX.
📚 Ressources utiles
Documentation
smbclient,cifs-utils,mount.cifs.Microsoft Docs —
sqlcmd,sql servermanagement.MySQL Documentation —
mysqlcli.Repositories Impacket & CrackMapExec sur GitHub.
DBeaver — page GitHub releases pour les paquets.
Guides & forums (StackOverflow, ServerFault) pour les erreurs spécifiques.
Last updated