Hacking : Découvrez les techniques des pirates informatiques

5
262

Avez-vous déjà eu votre site Internet piraté ? Peut être… Avez-vous déjà visité un site piraté ? Surement… Mais savez-vous comment ? Voici les principales techniques utilisées par les hackers.

Comme dirait-on souvent, la question c’est comment, la question c’est toujours comment.

 

Remote File Inclusion (RFI) :

Cette vulnérabilité était très exploitée à un moment mais moins maintenant. Elle permet à un attaquant d’inclure un fichier malveillant distant par le biais du site web possédant la faille. Elle est causé par un défaut de codage. Il y a différent niveaux de vulnérabilité, mais dans l’ensemble, cette faille permet :

  • Exécuter du code sur le serveur web
  • Exécuter du code côté client (via du JavaScript)
  • Attaques de type déni de service (DoS)
  • Vol et/ou manipulation de données.

 

Local File Inclusion (LFI) ou Directory traversal attack :

C’est une méthode pour s’emparer des identifiants des utilisateurs en exploitant une inclusion locale.

Par exemple, on pourra accéder à des fichiers sensibles comme /etc/passwd et se promener librement sur le serveur. Dans certains cas, il faudra utiliser l’astuce du “null byte” pour pouvoir l’exploiter (%00).

 

Injection SQL basique (SQLi) :

C’est la méthode la plus facile des injections SQL. Généralement, pour l’exploiter, le pirate utilise les champs de login pour y entrer son code SQL malveillant. Par exemple : ‘ or ‘1’=’1.
Si le système de connexion est vulnérable, il gagnera l’accès administrateur sur le site en question. Cette faille est le résultat d’une grosse maladresse dans le code du système de login qui interagit avec une base de données. De plus, une des solutions consiste à traiter correctement les chaînes de caractères entrées par l’utilisateur…

 

Blind SQL injection :

Les Blind SQL Injections, ou “injections SQL à l’aveuglette” font partie des techniques avancées d’injections SQL. Plusieurs méthodes diffèrent (error based, union based, etc) mais l’attaque reste basée sur le même principe.

On les utilise dans le cas de scripts à réponse binaire, c’est à dire qui retournent une réponse du type soit vrai, soit faux. C’est le cas par exemple des formulaires d’authentification. Ce type de script n’affiche pas le résultat d’une injection mais indique simplement s’il y a erreur ou succès, d’où la difficulté apparente d’exploitation. C’est pourquoi il faut dans la plupart des cas utilsier la méthode de la force brute, mais de manière relativement intelligente, permettant de gagner un temps énorme. Le pirate utilisera un “exploit”, un script automatisé (qui sera souvent programmé par ses soins et adapté à la cible) qui permettra d’extraire les données sensibles de la base de données du site vulnérable.

Bien plus présentes sur le Net par rapport aux injections SQL basiques, elles représentent un gros risque pour un nombre considérable de sites Internet aujourd’hui.

 

Cross Site Scripting (XSS) :

Cette faille permet l’injection de code (HTML/JavaScript) dans un site web vulnérable. Deux sous-types existent : XSS persistante ou non.

C’est une attaque qui est malheureusement rarement prise au sérieux par les non-initiés et présente un peu partout. Elle a une particularité : elle ne vise pas le serveur mais l’internaute.

Le principe est d’injecter des données arbitraires dans un site web, par exemple en déposant un message dans un forum, mais aussi par des paramètres d’URL, etc. Si ces données arrivent telles quelles dans la page web transmise au navigateur (par les paramètres d’URL, un message posté, etc.) sans avoir été vérifiées, alors il existe une faille : on peut s’en servir pour faire exécuter du code malveillant en langage de script (du JavaScript le plus souvent) par le navigateur web qui consulte cette page.

L’exploitation d’une faille de type XSS permettrait à un intrus de réaliser les opérations suivantes :

  • Redirection (parfois de manière transparente) de l’utilisateur.
  • Vol d’informations, par exemple sessions et cookies.
  • Actions sur le site faillible, à l’insu de la victime et sous son identité (envois de messages, suppression de données, etc.)
  • Rendre la lecture d’une page difficile (boucle infinie d’alertes par exemple).

 

Cross site request forgery (CSRF) :

Les attaques de type Cross-Site Request Forgery (abrégées CSRF prononcées sea-surfing ou parfois XSRF) utilisent l’utilisateur comme déclencheur (un e-mail par exemple), celui-ci devient complice sans en être conscient. L’attaque étant actionnée par l’utilisateur, un grand nombre de systèmes d’authentification sont contournés. Le nombre de sites se protégeant contre ce type d’attaque est encore marginal, faute de communication sur ce type d’attaque probablement.

Les caractéristiques du CSRF sont un type d’attaque qui :

  • Implique un site qui repose sur l’authentification globale d’un utilisateur
  • Exploite cette confiance dans l’authentification pour autoriser des actions implicitement
  • Envoie des requêtes HTTP à l’insu de l’utilisateur qui est dupé pour déclencher ces actions

Pour résumer, les sites sensibles au CSRF sont ceux qui acceptent les actions sur le simple fait de l’authentification à un instant donné de l’utilisateur et non sur une autorisation explicite de l’utilisateur pour une action donnée.

Un des moyens le plus sûr pour s’en protéger reste l’utilisation de jetons (tokens).

 

Les exploits publics :

Le exploits publics sont diffusés chaque jour sur la Toile et peuvent être utilisés à mauvais escient. La plupart d’entre eux visent des CMS et des systèmes open sources ou propriétaires largement utilisés sur Internet.

Il n’y a pas grand chose à faire pour s’en protéger, mis à part de maintenir son système à jour régulièrement…

 

DNS hijacking :

Lorsque les pirates décident d’utiliser cette technique, ils peuvent redirigent un nom de domaine vers un autre serveur sous leur contrôle. Très pratique pour le hameçonnage (phishing)…
Une autre méthode peut être utilisée dans le même but :  le DNS cache poisoning.

 

Attaque par force brute :

Il s’agit de tester, une à une, toutes les combinaisons possibles. Cette méthode de recherche exhaustive ne réussit que dans les cas où le mot de passe cherché est constitué de peu de caractères.

Des programmes ou des scripts tentent toutes les possibilités de mot de passe dans un ordre aléatoire afin de berner les logiciels de sécurité qui empêchent de tenter tous les mots de passe dans l’ordre. Pour contrer cette méthode, il suffit simplement de choisir des mots de passe d’une grande longueur et contenant :

  • des lettres minuscules
  • des lettres majuscules
  • des chiffres
  • des caractères spéciaux

Pour en générer un, vous pouvez utiliser notre outil dédié à la génération de mots de passe sécurisé ainsi que notre testeur de force de mots de passe.

 

Password Guessing :

Cette méthode est simple. Il s’agit là d’utiliser les mots de passe les plus utilisés selon les statistiques afin de tenter de se connecter à un espace sécurisé.
Parmis eux, on peut citer des exemples tels que :

  • admin
  • admin123
  • 321admin123
  • password
  • toor
  • nom du site
  • 123456
  • etc

 

Packet Sniffing :

Les communications, quelles soient filaires ou sans fil, peuvent dans certains cas être interceptées. Le WiFi notamment, rend la chose facile. En s’invitant dans un réseau, un pirate peut facilement “sniffer” tous les identifiants qui passent. S’ils sont chiffrés, cela peut fortement compliquer sa tâche…

De plus, évitez d’utiliser des hotspots publics lorsque vous devez saisir vos mots de passe et pensez à sécuriser correctement votre réseau à votre domicile.

 

RCE (Remote Command Execution) :

Cette méthode est rarement présente sur un site légitime. Par contre, les pirates utilisent cela très couramant pour s’infiltrer sur un site contenant déjà une autre faille (injection SQL, upload, include, etc). Cette méthode implique souvent l’upload d’un script appellé courament “PHP Shell”.

Exemple :
index.php?cmd=whoami

 

Social Engineering :

L’ingénierie sociale (ou social engineering en anglais) est une forme d’acquisition déloyale d’information et d’escroquerie, utilisée en informatique pour obtenir d’autrui, un bien, un service ou des informations clefs. Cette pratique exploite les failles humaines et sociales de la structure cible, à laquelle est lié le système informatique visé. Utilisant ses connaissances, son charisme, l’imposture ou le culot, le hacker abuse de la confiance, de l’ignorance ou de la crédulité des personnes possédant ce qu’il tente d’obtenir. De nombreux hackers ont popularisé cette pratique de manipulation qui utilise principalement les “failles humaines” d’un système informatique comme “effet de levier”, pour briser ses barrières de sécurité.

L’utilisation de cette technique ne cesse de croître à cause des réseaux sociaux…

 

Cookie poisoning :

Des sites utilisent des cookies pour gérer de ombreux paramètres, y compris des fois, les droits d’accès. C’est une énorme erreur !

En effet, un pirate peut alors éditer ses cookies pour élever ses privileges. Notons que le cryptage des cookies améliore considérablement la sécurité de ce côté… Cette technique se fait de plus en plus rare.

 

Parameter tampering :

Un site sécurisé doit vérifier attentivement tout ce que les utilisateurs lui envoi. Surtout via les formulaires.

En effet, un pirate peut facilement modifier des données lors de la soumission d’un formulaire afin d’envoyer des fausses informations ou des choses dommageables pour le système. Pour s’en protéger, il est important de toujours filtrer toutes les données provenant de l’extérieur et de ne pas leur faire confiance.

 

Admin Auth bypass / URL manipulation :

Sur des sites étant mal développés, il se peut que l’espace d’administration soit mal protégé, que les droits ne soient pas systématiquement vérifiés. Il en résulte que celui-ci devient accessible pour tout pirate ou bidouilleur qui sera alors capable de modifier directement le site !

Exemple : Ajouter un simple “?action=edit” à la fin d’une URL peut des fois s’avérer efficace.

 

SSI (server side include) exploiting :

Tout comme les failles XSS, le pirate peut essayer d’injecter du code malveillant dans les formulaires d’un site web en espérant qu’il ne soit pas filtré. L’exécution de commandes Server Side Includes peut permettre de multiples possibilités telles que :

  • Éteindre le serveur
  • Naviguer dans les répertoires du serveur
  • Voir les fichiers protégés
  • etc…

 

Usage de malwares :

De plus en plus en vogue. En effet, si le site ciblé par le pirate ne possède pas de faille, pourquoi ne pas attaquer directement son responsable technique ?

Dans ce cas, le pirate fera une petite enquête sur la personne à viser puis lorsqu’il aura assez d’infos, il tentera par tous les moyens imaginables de la tromper afin d’infecter son ordinateur avec un malware. Une fois la cible infectée (keylogger, trojan, stealer, etc…), le pirate s’arrange pour s’emparer des mots de passe du site ou du serveur.

C’est l’attaque la plus dangereuse et la plus élaborer à mettre en place.

 

Autres moyens possible :

  • Usage de Metasploit
  • Usage de BackTrack
  • Usage d’une boite à outils pirate (Exploit Kit)

 

Notez qu’UnderNews propose un service d’audit pour vos sites web permettant de détecter et de corriger ces failles au cas par cas. Si vous êtes intéressé, n’hésitez pas à nous contacter !

5 Commentaires

Les commentaires sont fermés.