Starinux. Conférence. Sécurité



Documents pareils
Protection des protocoles

Sécurité des réseaux Les attaques

Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad

Fonctionnement de Iptables. Exercices sécurité. Exercice 1

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

Introduction. Adresses

Sécuriser son réseau. Sécuriser son réseau Philippe Weill (IPSL/LATMOS) Frédéric Bongat (SSI/GOUV/FR)

La collecte d informations

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

Couche application. La couche application est la plus élevée du modèle de référence.

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

Figure 1a. Réseau intranet avec pare feu et NAT.

Devoir Surveillé de Sécurité des Réseaux

Cisco Certified Network Associate

Linux. Sécuriser un réseau. 3 e édition. l Admin. Cahiers. Bernard Boutherin Benoit Delaunay. Collection dirigée par Nat Makarévitch

Nmap (Network Mapper) Outil d exploration réseau et scanneur de ports/sécurité

SECURIDAY 2013 Cyber War

Un petit guide pour la sécurité. Alexandre Viardin (Mirabellug)

PACK SKeeper Multi = 1 SKeeper et des SKubes

DIGITAL NETWORK. Le Idle Host Scan

Résolution des problèmes de connexion XDMCP aux hôtes UNIX et Linux

Sécurisation des systèmes

Détection d'intrusions et analyse forensique

Rappels réseaux TCP/IP

SSH, le shell sécurisé

Sécurité des Réseaux et d internet. Yves Laloum

Mise en place d'un Réseau Privé Virtuel

Les menaces informatiques

L3 informatique TP n o 2 : Les applications réseau

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

Les commandes relatives aux réseaux

RÉCAPITULATIF DES ENJEUX ET DE LA MISE EN PLACE POLITIQUE DE SÉCURITÉ DANS UN RÉSEAU

FILTRAGE de PAQUETS NetFilter

INTRUSION SUR INTERNET

Virtual Private Network WAFA GHARBI (RT4) CYRINE MAATOUG (RT4) BOCHRA DARGHOUTH (RT4) SALAH KHEMIRI (RT4) MARWA CHAIEB (RT3) WIEM BADREDDINE (RT3)

Formation Iptables : Correction TP

Réseaux. 1 Généralités. E. Jeandel

TP Sur SSH. I. Introduction à SSH. I.1. Putty

Tunnels. Plan. Pourquoi? Comment? Qu est-ce? Quelles solutions? Tunnels applicatifs ESIL INFO 2005/2006. Sophie Nicoud

Licence 3 Systèmes et Réseaux II. Chapitre V : Filtrage

VoIP Sniffing IHSEN BEN SALAH (GL 3) MAHMOUD MAHDI (GL 3) MARIEM JBELI (RT 2) SAFA GALLAH (RT 3) SALAH KHEMIRI (RT 3) YOUSSEF BEN DHIAF (GL 3)

Conférence Starinux Introduction à IPTABLES

LINUX REDHAT, SERVICES RÉSEAUX/INTERNET

Services Réseaux - Couche Application. TODARO Cédric

FORMATION PROFESSIONNELLE AU HACKING

Dans le cadre de SECURIDAY Et sous le thème de Computer Forensics Investigation SECURINETS. Analyse des fichiers LOG. Tarek LABIDI (RT3)

pare - feu généralités et iptables

Serveurs de noms Protocoles HTTP et FTP

Compromettre son réseau en l auditant?

Introduction à l'analyse réseau Philippe Latu philippe.latu(at)linux-france.org

SECURIDAY 2012 Pro Edition

Présentation du modèle OSI(Open Systems Interconnection)

Filtrage IP MacOS X, Windows NT/2000/XP et Unix

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

Indicateur et tableau de bord

Tech-Evenings Sécurité des applications Web Sébastien LEBRETON

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

Cours de sécurité. Pare-feux ( Firewalls ) Gérard Florin -CNAM - - Laboratoire CEDRIC -

TR2 : Technologies de l'internet. Chapitre VI. NAT statique et dynamique Overloading (PAT) Overlapping, port Forwarding Serveur Proxy, DMZ

TP : Introduction à TCP/IP sous UNIX

Routeur Chiffrant Navista Version Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.

Culture informatique. Cours n 9 : Les réseaux informatiques (suite)

Développement Web. Les protocoles

Alexis Lechervy Université de Caen. M1 Informatique. Réseaux. Filtrage. Bureau S3-203

Topologies et Outils d Alertesd

Proxy et reverse proxy. Serveurs mandataires et relais inverses

ASRb/Unix Avancé II. Chapitre 2. Utilitaires réseaux. Arnaud Clérentin, IUT d Amiens, département Informatique

RESEAUX TCP/IP: NOTIONS AVANCEES. Preparé par Alberto EscuderoPascual

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion

Sécurité GNU/Linux. Virtual Private Network

Lyon, mardi 10 décembre 2002! "#$%&"'"# &(

NT Réseaux. IDS et IPS

Sécurité des réseaux Firewalls

TP réseaux Translation d adresse, firewalls, zonage

Les Réseaux Privés Virtuels (VPN) Définition d'un VPN

Spécialiste Systèmes et Réseaux

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

GENERALITES. COURS TCP/IP Niveau 1

Firewall. Souvent les routeurs incluent une fonction firewall qui permet une première sécurité pour le réseau.

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

ETHEREAL. Introduction. 1. Qu'est-ce qu'ethereal Historique Le statut d'ethereal

Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A. TP réseau firewall

Technique de défense dans un réseau

Administration réseau Firewall

Protocoles Applicatifs

Table des matières. Avant-propos... Préface... XIII. Remerciements...

Contrôle de la DreamBox à travers un canal SSH

II- Préparation du serveur et installation d OpenVpn :

Les IDS et IPS Open Source. Alexandre MARTIN Jonathan BRIFFAUT

Configurer ma Livebox Pro pour utiliser un serveur VPN

COMMANDES RÉSEAUX TCP/IP WINDOWS.

Netfilter & Iptables. Théorie Firewall. Autoriser le trafic entrant d'une connexion déjà établie. Permettre le trafic entrant sur un port spécifique

Sécurité de la ToIP Mercredi 16 Décembre CONIX Telecom

TAGREROUT Seyf Allah TMRIM

Réalisation d un portail captif d accès authentifié à Internet

Transcription:

Sécurité Starinux Notions de Sécurité

Plan de la conférence Starinux : Sécurité 1/3 PLAN DE LA CONFERENCE La collecte d'informations Les failles Définition. Les scanners : exemple avec nmap. Netcat : Le couteau suisse de l'admin Réseau. Définition Les failles de sécurité suite à l'installation : Patcher sa distrib, ainsi que le kernel. Les failles de sécurité suite à une mauvaise configuration : voir les fichiers de confs. Les failles suite à des bugs dans les programmes : Alertes de sécurité. Les exploits. Nessus : présentation.

Plan de la conférence Starinux : Sécurité 1/3 PLAN DE LA CONFERENCE Intrusions Définition. Les systèmes de détection d'intrusion : NID, HID. Les Firewall Définition Type de FW : par filtrage de paquets, stateful ou non stateful (proxy de service). Type d'attaques contre les FW : Le firewalking Sécurisation des communications et transactions Le Tunneling : Présentation d'ipsec Le protocole AH Le protocole ESP Le protocole IPcomp Le protocole IKE Les 2 modes d'ipsec

Plan de la conférence Starinux : Sécurité 2/3 PLAN DE LA CONFERENCE Les attaques par injection de code Les chevaux de Troie Les virus Les vers Les bombes logiques SQL Injection Les attaques par intrusion Les backdoors Les rootkits Les cracks de mots de passe

Plan de la conférence Starinux : Sécurité 3/3 PLAN DE LA CONFERENCE Les attaques réseaux L'ARP Poisoning Man In The Middle Les attaques par dénis de services Syn Flooding UDP Flooding Smurfing Les attaques basées sur les protocoles DHCP FTP HTTP SSH Telnet Peer To Peer DNS SMB IDENT IP Spoofing Xwindow

Plan de la conférence Starinux : Sécurité 3/3 PLAN DE LA CONFERENCE Utilisation d'outils d'analyse de trafic réseau. Tcpdump Ethereal Le système syslog Comment lire le fichier syslog Description d'une intrusion avec le framework «metasploit» Exemple d'une trace laissée par un scanner automatique

Plan de la conférence Starinux : Sécurité 3/3 PLAN DE LA CONFERENCE Questions/Réponses?

La collecte d'informations La collecte d'informations

La collecte d'informations Les scanners de port. Définition : Un scanner est un programme qui permet de connaître les ports en écoute (donc ouverts) sur un réseau. Il permet également de connaître les OS des machines scannées.

La collecte d'informations Les scanners de port. NMAP : Le fonctionnement d'un scanner de ports comme nmap est simple, il envoie des paquets sur la machine cible et analyse les réponses.

La collecte d'informations Les scanners de port. NMAP : Options les plus courantes Le scan furtif : nmap -ss [adresse ip de la machine cible] Déterminer le type d'os sur la machine cible nmap -P0 -O [adresse ip de la machine cible]

La collecte d'informations Exemple de sortie NMAP : jybserver:/home/jyb# nmap -ss 82.127.3.18 Les scanners de port. Starting nmap 3.70 ( http://www.insecure.org/nmap/ ) at 2004-10-16 17:27 CEST Interesting ports on jybserver (82.127.3.18): (The 1643 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 9/tcp open discard 13/tcp open daytime 21/tcp open ftp 22/tcp open ssh 25/tcp open smtp 37/tcp open time 53/tcp open domain 79/tcp open finger 80/tcp open http 110/tcp open pop3 111/tcp open rpcbind 113/tcp open auth 119/tcp open nntp 143/tcp open imap 220/tcp open imap3 931/tcp open unknown 5432/tcp open postgres Nmap run completed -- 1 IP address (1 host up) scanned in 0.198 seconds

La collecte d'informations La commande «netcat» ou «nc» : Cette commande très utile fonctionne en mode client/serveur. Elle permet d'ouvrir des connexions réseau en TCP ou UDP sans avoir besoin d'un programme particulier. Exemple : ouvrir une connexion FTP sans avoir de client FTP nc [adresse ip machine cible] 21

La collecte d'informations Options les plus courantes de netcat : Options: -e prog program to exec after connect [dangerous!!] -b allow broadcasts -g gateway source-routing hop point[s], up to 8 -G num source-routing pointer: 4, 8, 12,... -h this cruft -i secs delay interval for lines sent, ports scanned -l listen mode, for inbound connects -n numeric-only IP addresses, no DNS -o file hex dump of traffic -p port local port number -r randomize local and remote ports -q secs quit after EOF on stdin and delay of secs -s addr local source address -t answer TELNET negotiation -u UDP mode -v verbose [use twice to be more verbose] -w secs timeout for connects and final net reads -z zero-i/o mode [used for scanning]

La collecte d'informations Le mode serveur : La mode serveur revient à mettre netcat en écoute sur un port de votre machine. Pour cela, il suffit d'utiliser les options -l et -p. Exemple : nc -l -vv -p 80

La collecte d'informations Le mode client : Le mode client revient à mettre netcat en écoute sur les ports de la machine cible. Il est possible d'utiliser les redirections pour lancer des commandes ou pour executer des programmes sur la machine distante.

La collecte d'informations Exemple de connexion sur le port 80 : jybserver:/home/jyb# nc jybserver.homelinux.net 80 < web.exemple HTTP/1.1 400 Bad Request Date: Sat, 16 Oct 2004 16:18:25 GMT Server: Apache Connection: close Content-Type: text/html; charset=iso-8859-1 Contenu du fichier web.exemple : HEAD /HTTP /1.0

La collecte d'informations Exemple de connexion sur le port 21 jybserver:/home/jyb# nc jybserver.homelinux.net 21 < ftp.exemple 220 ProFTPD 1.2.10rc3 Server ready. 331 Password required for invite. 230- *********************************************** Bienvenue, invite@jybserver!!! Bienvenue les Starinuxiens!!! Nous sommes le : Sat Oct 16 18:19:11 2004 Ceci est mon Serveur FTP. Si problemes jeanyves.bossard@free.fr *********************************************** 230 C'est bon!!! Vous etes bien connecte sur le FTP de Jean-Yves Bossard!!! 221 Goodbye.

La collecte d'informations Contenu du fichier ftp.exemple : USER invite PASS invite quit

La collecte d'informations Exemple de connexion sur le port 110 : jybserver:/home/jyb# nc jybserver.homelinux.net 110 +OK Qpopper (version 4.0.5) at jybserver starting. <1804.1097943626@jybserver>

Les failles de sécurité Les failles de sécurité

Les failles de sécurité Définition : Une faille, est un dysfonctionnement, ou un défaut de protection dans le développement d'un logiciel qui peuvent etre exploités par un programme ou manuellement.

Les failles de sécurité Distribution standard : Lorsque vous achetez une distribution Linux, une fois installée, votre distribution préférée n'a pas obligatoirement toutes les garanties de sécurité. Il est conseillé de mettre votre distribution à jour et pour ceux qui veulent pousser encore plus de patcher votre noyau avec les patchs de sécurité adéquats.

Les failles de sécurité Mise à jour de sa distribution : Exemple avec Debian # apt-get update # apt-get upgrade entrée du fichier /etc/apt/source.list : selon votre version de Debian deb http://security.debian.org/ stable/updates main deb http://security.debian.org/ sid/updates main contrib non-free

Les failles de sécurité Mise à jour du kernel : Exemple avec le noyau 2.6.6 - #cd /usr/src/linux-2.6.6 - #make xconfig

Les failles de sécurité

Les failles de sécurité Mauvaise configuration des fichiers de conf : Il est très important de mettre en place les mécanismes de sécurité associés à vos fichiers de configuration. Le plus souvent ils portent l'extension.conf et se trouvent dans / etc. La documentation ainsi que les forums et/ou les tutoriels sur Internet doivent vous aider à bien configurer ces fichiers.

Les failles de sécurité Bugs dans les programmes : Alertes de sécurité Il est vivement conseillé de vous abonner à une liste de diffusion des alertes de sécurité afin la de maintenir à jour. Mailing list des principales distributions : Debian : http://www.debian.org/security/ Mandrake : http://www.mandrakesoft.com/security/ Slackware : http://www.slackware.com/lists/ Fedora : http://fedora.redhat.com/

Les failles de sécurité Les exploits : Définition Un exploit, est une technique de piratage, le plus souvent basée sur des scripts ou des programmes écrits en C, permettant d'exploiter les failles de sécurité des programmes. Le but recherché est de s'introduire sur un système, et/ou d'en prendre le contrôle. Il existe des logiciels, ou des frameworks qui en facilient l'utilisation : SATAN, ou encore Metasploit sont les plus célèbres.

Les failles de sécurité Les buffers overflow : Définition Le dépassement de pile est une faille due à une mauvaise programmation. Effectivement, un buffer overflow apparaît quand une variable passée en argument d'une fonction est recopiée dans un buffer sans que sa taille n'aie été vérifiée. Il suffit que la variable ait une taille supérieure à l'espace mémoire réservé pour ce buffer pour qu'un dépassement de pile se produise. Celui-ci sera exploité en passant dans la variable un fragment de programme capable de faire démarrer un shell tout en obligeant ce débordement de pile à se produire.

Les failles de sécurité Nessus : Présentation Nessus, est un outil qui permet à l'instar de «nmap» de faire du scanage de port de découvrir les failles de sécurité et de tester la vulnérabilité d'un système. Il permet de simuler ou de lancer des attaques en exploitant des vulnérabilités connues.

Les failles de sécurité Nessus : Page d'accueil

Les failles de sécurité Nessus : Les plugins

Les failles de sécurité Nessus : Les scans

Les failles de sécurité Nessus : La page de résultat

Les intrusions Les intrusions

Les intrusions Définition : Une intrusion c'est la pénétration d' un système d'information mais aussi les tentatives des utilisateurs locaux d'accéder à de plus hauts privilèges ou les tentatives des administrateurs d'abuser de leurs privilèges.

Les intrusions Les systèmes de détection d'intrusion : Il y a deux catégories de systèmes de détection d'intrusion : Les NIDS : Networks Intrusion Detection Systems Les NIDS, sont des systèmes de détection d'intrusion qui analyse en temps réel les données transitant sur le réseau. Pour cela ils s'appuient sur une base de données contenant la liste des codes malicieux. Le plus connus de ces NIDS est «Prélude». On pourrait aussi parler des IDS comme «Tripwire» qui détecte les attaques en local sur la machine (outrepassement de droit, rootkits, etc...)

s Les intrusions Les HIDS : Hybride Intrusion Detection Systems Ces systèmes entre les IDS et NIDS fonctionnent d'une façon similaire aux NIDS. Il s'appuient aussi sur base de données. La différence entre IDS et HIDS se fait de moins en moins. Le plus connu des HIDS est SNORT. Tous ces systèmes de détection d'intrusion s'appuient sur des sondes qui recueillent des informations sur les activités systèmes, les analysent et font des remontées d'evenements sous forme d'alerte.

s Les Firewalls Les Firewalls

s Les Firewalls Définition : Les Firewalls sont des programmes conçus pour isoler un réseau local d'un autre réseau ou de l'internet.

s Les Firewalls Rappel : Le modèle OSI

s Les Firewalls Rappel : Détail d'un paquet TCP/IP

s Les Firewalls Les firewalls par filtrage de paquets : Le filtrage se fait au niveau de la couche 3 du modèle OSI (couche réseau) en fonction des informations qui figurent dans les en tetes des paquets. Les firewalls statefull : Ce type de Firewall possède un mecanisme de suivi des connexions TCP. Les paquets sont examinés dans un contexte de session. Ils fonctionnent sur les principes d'un couple d'adresses (source, destination), (port source, port destination). Le plus connu est «netfilter» qui fait parti du noyau Linux et s'interface avec iptables

s Les Firewalls Les firewalls non stateful ou proxy de services : Ce type de firewalls permet de contrôler les couches supérieures du modèle OSI.L'information contenue dans le paquet est prise en compte. C'est un programme «le proxy de service» qui se charge de gérer les connexions.

s Les Firewalls Le Firewalking : Le Firewalking est une technique qui consiste à determiner les règles présentes sur un firewall. Pour cela, l'attaquant envoie des paquets TCP et/ou UDP et ICMP avecun TTL >= à 1 par rapport au routeur. Si la paquet est autorisé par le routeur elle le transmet au suivant. Celui ci envoie alors un message de type ICMP_TIME_EXCEEDED. Si le routeur cible n'autorise pas le paquet, alors le paquet est dropé.

tunnel VPN et IPsec TUNNEL VPN et IPsec

tunnel VPN et IPsec VPN Un VPN (Virtual Private Network) est créé en partant d'un réseau existant qui n'est pas sécurisé. Le protocole sur lequel s'appuie le VPN est IPsec Ipsec Ipsec est une méthode permettant de créer des réseaux privés virtuels. Ipsec fonctionne selon deux modes : - Le mode transport - Le mode tunnel

tunnel VPN et IPsec Ipsec - Le mode transport : * crypte les communications entre machines - Le mode tunnel : * encapsule les paquets cryptés, dans de nouveaux en-têtes IP (Ipv4 ou Ipv6). Sert à créer des tunnels VPN.

tunnel VPN et IPsec Le protocole AH : Authentification Header Il garantie l'authenticité des échanges par un checksum chiffré de l'en-tête à la fin du paquet IP. Le protocole ESP : Encapsulating Security Payload Il assure la confidentialité des paquets en cryptant les données.

tunnel VPN et IPsec Le protocole IPcomp : IP Payload Compression Il compresse le paquet IP avant de le chiffrer avec ESP Le protocole IKE : Internet Key Exchange Il sert à l'échange des clés qui seront utilisées lors du cryptage.

Les attaques par injection de code Les attaques par injection de code

Les attaques par injection de code Les chevaux de Troie : Un cheval de Troie est un programme malicieux, caché dans un programme ordinaire. Il permet par exemple de voler des mots de passe, copier des données sensibles, exécuter des commandes nuisibles. Les virus : Programme malicieux, capable de se reproduire dans un autre programme.

Les attaques par injetction de code Les vers : Un ver est un programme autonome qui se propage à l'intérieur de la mémoire d'un ordinateur et circule d'un ordinateur à l'autre grâce aux réseaux informatiques. Il se propage surtout sur l'internet. Les bombes logiques : Les bombes logiques sont des programmes qui se déclenchent à un moment déterminé typiquement par : - la date du système - le lancement d'une commande - un appel au système.

Les attaques par injection de code Injection SQL : L'injection SQL est une attaque visant à obtenir des accès non autorisés à une base de données ou à retrouver des informations directement dans la base. Le point d'entrée de ce type d'attaque est souvent une page de formulaire sur une page Web.

Les attaques Les attaques par intrusion

Les attaques par intrusion Les backdoors : C'est une «porte dérobée» laissée volontairement par les développeurs d'un programme permettant d'entrer dans un système en vue de le déboguer lors de sa phase de conception. Cela peut etre également un bug d'un logiciel, typiquement pour passer root sous Unix ou pour faire exécuter une commande. Les Rootkits : C'est un ensembles d'outils (des exploits) dont la finalité est de voler les droits d'administrateur «root» sur une machine de type UNIX.

Les attaques par intrusion Les cracks de mot de passe : En utilisant des «sniffers» il est possible de collecter des informations (mots de passe) circulant sur un réseau. Pour ce faire, le sniffer met la carte en mode «promiscuous», c'est à dire que la carte intercepte tous les paquets circulant sur le réseau. Il est également possible de récupérer les mots de passe à l'aide de programme de «crack» tel que «Ripper».

Les attaques par intrusion Récupération du mot de passe sur un serveur FTP :

Les attaques Les attaques réseaux

Les attaques réseaux Rappel sur TCP/IP Etablissement d'une connexion TCP : Three Way Handshake - La machine A envoie un flag SYN vers la machine B - La machine B répond à A par un flag SYN-ACK - La machine A répond à B par un flag ACK

Les attaques réseaux L'ARP Poisoning : Falisfication d'adresses MAC d'un réseau ethernet. Le but de cette attaque par déni de service est de duper les postes se trouvant sur le réseau. Man in The Middle : Il s'agit de détourner le flux entre deux machines. Le but de l'attaquant peut etre d'intercepter des données, de les modifier ou encore de les détruire.

Les attaques réseaux Les attaques par dénis de service

Les attaques réseaux Syn Flooding : Rappel : Les trois étapes d'une connexion TCP sont : * L'envoi d'un SYN * La réception d'un SYN-ACK * L'envoi d'un ACK. Le syn flooding consiste à laisser sur la machine cible un maximum de connexions TCP en attentes. Pour cela, l'attaquant envoie un très grand nombre de demandes de connexion (flag SYN à 1). La machine cible renvoie les SYN-ACK en réponse au SYN reçus. L'attaquant ne répond pas avec un ACK, et donc pour chaque SYN reçu la cible aura une connexion TCP en attente. Toutes ces connexions semi-ouvertes consomment des ressources mémoires au bout d'un certain temps la machine cible est saturée et ne peut plus accepter de connexion.

Les attaques réseaux UDP Flooding La génération d'une grande quantité de paquets UDP (mode non connecté), soit à destination d'une machine soit entre deux machines provoque une congestion du réseau ainsi qu'une saturation des ressources des deux hôtes victimes. Smurfing : l'attaquant camoufle (spoof) l'adresse source d'un paquet ICMP de requête Echo Request (ping) au broadcast pour un réseau, ce qui entraîne toutes les machines du réseau à répondre en masse à la victime en encombrant de cette façon le réseau.

Les attaques Les attaques basées sur les protocoles

Les attaques basées sur les protocoles DHCP : Attaques par épuisement d'adresses IP Si la correspondance adresses IP adresses adresses MAC du serveur DHCP est mal configurée dans le fichier /etc/dhcpd.conf, alors un attaquant peut saturer le serveur en le noyant de requêtes. Les clients ne pourront alors plus avoir d'adresses IP. DNS : DNS ID spoofing Cette attaque consiste à envoyer une fausse réponse à une requête DNS avant le vrai serveur DNS. De cette façon, le pirate peut rediriger vers lui le trafic à destination d'une machine qu'il l'intéresse

Les attaques basées sur les protocoles IP Spoofing : Usurpation d'adresse IP. Cela consiste à se faire passer pour quelqu'un d'autre en utilisant son adresse IP. On fait croire ainsi que la connexion provient d'un utilisateur autorisé. IDENT : Héritage historique d'unix, IDENT fourni des informations sur les utilisateurs connectés. Il n'a aucune valeur ajoutée et peut donc etre supprimé.

Les attaques basées sur les protocoles FTP : Les mots de passe de connexion FTP circulent en clair et peuvent etre sniffées par un attaquant. Pour les serveurs FTP annonymes, des droits en lecture et écriture mal positionnés peuvent servir de machine de relai pour une attaque de plus grande envergure. HTTP : Un serveur Apache mal configuré fourni beaucoups d'information à un attaquant. Un simple «telnet» ou «nc» permet alors à l'attaquant de connaître les informations utiles.

Les attaques basées sur les protocoles Exmple d'informations fournies sur un serveur WEB mal configuré: jybserver:/home/jyb# telnet www.jybserver.homelinux.net 80 Trying 82.127.3.18... Connected to jybserver. Escape character is '^]'. HEAD / HTTP/1.0 HTTP/1.1 200 OK Date: Sat, 16 Oct 2004 08:42:27 GMT Server: Apache/1.3.31 (Debian GNU/Linux) Last-Modified: Sun, 26 Sep 2004 09:06:46 GMT ETag: "207021-2484-415686a6" Accept-Ranges: bytes Content-Length: 9348 Connection: close Content-Type: text/html; charset=iso-8859-1 Connection closed by foreign host.

Les attaques basées sur les protocoles Exmple d'informations fournies sur un serveur WEB configuré correctement: Ajout de la directive suivante dans /etc/apache/httpd.conf : ServerTokens Prod jybserver:/home/jyb# telnet www.jybserver.homelinux.net 80 Trying 82.127.3.18... Connected to jybserver. Escape character is '^]'. HEAD / HTTP/1.0 HTTP/1.1 200 OK Date: Sat, 16 Oct 2004 08:45:33 GMT Server: Apache Last-Modified: Sun, 26 Sep 2004 09:06:46 GMT ETag: "207021-2484-415686a6" Accept-Ranges: bytes Content-Length: 9348 Connection: close Content-Type: text/html; charset=iso-8859-1 Connection closed by foreign host.

Les attaques basées sur les protocoles SSH : Des exploits utilisants les bugs d'openssh peuvent permettre à un attaquant de lancer des attaques de type Man in The Middle ou de type Buffer Overflow Telnet : Telnet permet de se connecter à une autre machine sur le port 23 et d'utiliser cette machine une fois connecté comme si l'on était en local. Telnet a les memes défauts que FTP et l'on doit plutot utiliser SSH.

Les attaques basées sur les protocoles SMB : Un attaquant peut utiliser un «scanner de share» pour detecter les serveurs SAMBA qui partagent des ressources, accessibles pour tout le monde. Il est conseillé de mettre un mot de passe sur les ressources. Xwindow : Un serveur X mal configuré permet à un attaquant de modifier son comportement, de créer ou de supprimer des objets. La commande «xhost -» ferme les accès au serveur X

Les attaques basées sur les protocoles Peer To Peer : L'utilisation de logiciels de téléchargement de type Peer To Peer est à déconseillé car c'est un vecteur de virus.

TCPDUMP TCPDUMP

TCPDUMP Définition : TCPDUMP est un utilitaire permettant de capturer des paquets circulants sur le réseau. Basé sur les librairies «libcap» il necessite que l'interface «carte réseau» soit mise en mode promiscuous. Il peut etre utiliser également pour récuperer des informations qui passent en clair sur un réseau «couple login/mots de passe» par exemple.

TCPDUMP Représentation d'un paquet TCP : 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Source Port Destination Port +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Sequence Number +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Acknowledgment Number +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Data U A P R S F Offset Reserved R C S S Y I Window G K H T N N +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Checksum Urgent Pointer +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Options Padding +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ data +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

TCPDUMP Options de TCPDUMP : 1/2 -i Affiche les packets pour une interface spécifique exemple : tcpdump -i eth0 -x Affiche le contenu des packets en Hexadecimal exemple : tcpdump -i eth0 -x -X Affiche le contenu des packets en Hexadecimal et ASCII exemple : tcpdump -i eth0 -X -v Mode "Verbose light" exemple : tcpdump -i eth0 -v -vv Mode "Verbose medium" exemple : tcpdump -i eth0 -vv -vvv Mode "Verbose Full" exemple : tcpdump -i eth0 -vvv

TCPDUMP Options de TCPDUMP : 2/2 -w Enregistre la sortie de TCPDUMP dans le fichier passé en paramètre exemple : tcpdump -i eth0 -w trc20040427.dump -r Affiche le contenu d'un fichier créé avec tcpdump -w exemple : tcpdump -r exemple20041025.trc

TCPDUMP Expressions de TCPDUMP : 1/3 Host Affiche les trames pour le host défini en paramètre (peut en général être omis) exemple 1 :tcpdump -i eth0 host 82.127.3.18 exemple 2 :tcpdump -i eth0 82.127.3.18 src Affiche les trames ayant pour origine le host défini en paramètre exemple : tcpdump -i eth0 src host 82.127.3.18 dst Affiche les trames ayant pour destination le host défini en paramètre exemple : tcpdump -i eth0 dst host 82.127.3.18

TCPDUMP Expressions et primitives de TCPDUMP : 2/3 port Affiche les packets du port précisé exemple 1 : tcpdump -i eth0 port 21 exemple 2 tcpdump -i eth0 port ftp ip, arp, rarp, udp, tcp Affiche les packets du protocole précisé exemple : tcpdump -i eth0 icmp less Affiche les packets d'une taille inférieure à celle précisée en paramètre exemple : tcpdump -i eth0 less 60

TCPDUMP Expressions et primitives de TCPDUMP : 3/3 great Affiche les packets d'une taille supérieure à celle précisée en paramètre exemple : tcpdump -i eth0 greater 96

TCPDUMP Interpreter les résulats de la commande TCPDUMP

TCPDUMP Exemple avec une connexion FTP : Dans cet exemple, la machine A @IP 82.127.3.18 établit une connexion FTP vers la machine B @IP212.27.40.252 Voici comment interpreter les résultats de la commande TCPDUMP : tcpdump -n -S -t tcp and host 82.127.3.18 and port 21

TCPDUMP Sortie de la commande TCPDUMP : 1 jybserver:/home/jyb# tcpdump -n -S -t tcp and host 82.127.3.18 and port 21 2 tcpdump: listening on ppp0 3 82.127.3.18.41354 > 212.27.40.252.21: S 2666389482:2666389482(0) win 5840 <mss 1460,sackOK,timestamp 9705928 0,nop,wscale 0> (DF) 4 212.27.40.252.21 > 82.127.3.18.41354: S 319001827:319001827(0) ack 2666389482 win 5792 <mss 1460,sackOK,timestamp 901756857 9705928,nop,wscale 7> (DF) 5 82.127.3.18.41354 > 212.27.40.252.21:. ack 319001828 win 5840 <nop,nop,timestamp 9705933 901756857> (DF) 6 212.27.40.252.21 > 82.127.3.18.41354: P 319001828:319001914(86) ack 2666389482 win 46 <nop,nop,timestamp 901756909 9705933>(DF) 7 82.127.3.18.41354 > 212.27.40.252.21:. ack 319001914 win 5840 <nop,nop,timestamp 9705939 901756909> (DF) [tos 0x10] 8 82.127.3.18.41354 > 212.27.40.252.21: P 2666389482:2666389505(23) ack 319001914 win 5840 <nop,nop,timestamp 9706682 901756909> (DF) [tos 0x10] 9 212.27.40.252.21 > 82.127.3.18.41354:. ack 2666389505 win 46 <nop,nop,timestamp 901764392 9706682> (DF) 10 212.27.40.252.21 > 82.127.3.18.41354: P 319001914:319001959(45) ack 2666389505 win 46 <nop,nop,timestamp 901764425 9706682>(DF)

TCPDUMP Quezaco??? : 3 82.127.3.18.41354 > 212.27.40.252.21: S 2666389482:2666389482(0) win 5840 <mss 1460,sackOK,timestamp 9705928 0,nop,wscale 0> (DF) La machine A sur le port 41354 appelle la machine B sur le port 21. Le flag SYN est positionné (S). Le n de séquence initial (ISN) vaut 2666389482. La machine A fixe la window (nombre maximum d'octets que A peut recevoir) à 5840. Les parties avec les «<» sont les options mss signifie «maximum segment size». C'est la partie données du paquet TCP 4 212.27.40.252.21 > 82.127.3.18.41354: S 319001827:319001827(0) ack 2666389482 win 5792 <mss 1460,sackOK,timestamp 901756857 9705928,nop,wscale 7> (DF) La machine B sur le port 21 répond à la machine A. SYN et ACK sont positionnés La machine B envoie son ISN 319001827. La machine B reconnaît l'isn de la machine A et lui fait savoir «ack 2666389482». La machine B fixe la window à 5792 et la mss à 1460. 5 82.127.3.18.41354 > 212.27.40.252.21:. ack 319001828 win 5840 <nop,nop,timestamp 9705933 901756857> (DF) La machine A sur le port 41354 répond à la machine B sur le port 21. Il n'y a pas de flags «.» La machine A reconnaît l'isn de la machine B et lui fait savoir «ack 319001828 win 5840».

Ethereal Ethereal

Ethereal Définition : Ethereal est un programme capable d'analyser les captures de tcpdump, mais aussi de snoop, LANanalyser, et meme les formats de log de pppd. Plus convivial que tcpdump, il permet également de faire des captures de paquets.

Ethereal Page d'accueil d'ethereal :

Ethereal Exemple de capture avec une connexion FTP :

Le système syslog Le système syslog

Le système syslog Définition : - Syslog est un démon de contrôle centralisé des messages du système - Syslog peut aussi récupérer les logs applicatifs - Syslog est configuré à partir du fichier /etc/syslog.conf

Le système syslog Principales caractéristiques : Multiplateformes (tous les Unix) Réception des logs de machines distantes Classification des logs par pertinence Dispatch dans plusieurs fichiers suivant la classification établie

Le système syslog Configuration du fichier /etc/syslog.conf 1/3: La syntaxe de /etc/syslog.conf est la suivante service.niveau;service.niveau... action Le champ service : spécifie le nom du service d'où le message émane: kernel : pour les messages du noyau mail : pour les serveurs de messagerie auth : pour les programmes tels que su ou login user : pour les programmes utilisateurs local[0-7] : pour les applications développées

Le système syslog Configuration du fichier /etc/syslog.conf 2/3: Le champ niveau spécifie la gravité du message : debug : pour déboguage info : pour information notice : pour notification warning : pour avertissement err : pour erreur crit : pour critique alert : pour «panique à bord» emerg : pour «urgence rien ne va plus»

Le système syslog Configuration du fichier /etc/syslog.conf 3/3: Le champ action spécifie la destination du message /dev/xxx : vers un périphérique comme la console virtuelle par exemple (/dev/console) /path/to/filename : vers un fichier, couramment dans le répertoire /var @machine : vers le démon Syslog d'une autre machine L'utilisation de métacaractères est possible. Exemple : kern.*;!info;*.warn /dev/console

Le système syslog Les principaux fichiers utilisés par Syslog sont : /var/log/messages : messages d'information /var/log/syslog : messages d'avertissement Les fichiers suivants sont rattachés au système de logs: /var/adm/wtmp : date et durée des sessions utilisateurs /var/run/utmp : informations sur les utilisateurs actuellement connectés /var/log/lastlog : liste des derniers utilisateurs loggés

Le système syslog Comment déporter l'affichage des logs dans une console virtuelle : Ajout de l'entrée suivante dans le fichier /etc/syslog.conf daemon.*;mail.*;\ news.crit;news.err;news.notice;\ *.=debug;*.=info;\ *.=notice;*.=warn /dev/xconsole

metasploit Description d'une intrusion avec le Framework Metasploit

metasploit Metasploit : Définition Metasploit est un programme en ligne de commande et possedant une interface Web permettant de lancer une attaque sur une ou plusieurs machines cibles. Pour cela Metasploit possède une liste d'exploits connus à utiliser.

metasploit Metasploit : Page d'accueil

metasploit Metasploit : exemple d'attaque d'un serveur SAMBA 1/3

metasploit Metasploit : exemple d'attaque d'un serveur SAMBA 2/3

metasploit Metasploit : exemple d'attaque d'un serveur SAMBA 3/3

Trace d'un scanner automatique Les fichiers de logs à consulter régulièrement : Les logs systèmes /var/log/auth.log : Logs de connexion (Debian) /var/log/secure.log : Idem pour Mandrake /var/log/daemon.log : Logs des démons lancés sur le système. Les logs des applications /var/log/samba /var/log/apache/access.log

Trace d'un scanner automatique Exemple d'un scan automatique sur un serveur SSH Oct 29 16:16:52 jybserver sshd[29825]: Illegal user test from 211.98.28.124 Oct 29 16:16:52 jybserver sshd[29825]: error: Could not get shadow information for NOUSER Oct 29 16:16:52 jybserver sshd[29825]: Failed password for illegal user test from 211.98.28.124 port 45841 ssh2 Oct 29 16:16:56 jybserver sshd[29827]: Illegal user guest from 211.98.28.124 Oct 29 16:16:56 jybserver sshd[29827]: error: Could not get shadow information for NOUSER Oct 29 16:16:56 jybserver sshd[29827]: Failed password for illegal user guest from 211.98.28.124 port 46035 ssh2 Oct 29 16:17:03 jybserver sshd[29829]: Illegal user admin from 211.98.28.124 Oct 29 16:17:03 jybserver sshd[29829]: error: Could not get shadow information for NOUSER Oct 29 16:17:03 jybserver sshd[29829]: Failed password for illegal user admin from 211.98.28.124 port 46172 ssh2 Oct 29 16:17:20 jybserver sshd[29841]: Failed password for root from 211.98.28.124 port 46731 ssh2 Oct 29 16:17:26 jybserver sshd[29844]: Failed password for root from 211.98.28.124 port 46863 ssh2

Trace d'un scanner automatique Exploiter les traces laissées par le pirate Chaque intrusion ou tentative d'intrusion laisse des traces qu'il est possible d'exploiter. Il faut toutefois etre très prudent car une adresse IP dans un fichier de log n'est pas obligatoirement une preuve. Il peut aussi s'agir d'une adresse spoofée.

Trace d'un scanner automatique Exploiter les traces laissées par le pirate La commande «whois» permet de savoir à qui appartient l'adresse IP de l'attaquant. Dans notre exemple ce sera l'adresse IP : 211.98.28.124 #whois -h -v whois.ripe.net 211.98.28.124

Trace d'un scanner automatique inetnum: 211.98.28.112-211.98.28.127 netname: JSPREDC descr: Jinan Station Pengfei Real Estate Development Corp. descr: Real Estate Development Corp. descr: Shandong country: CN admin-c: GL118-AP tech-c: GL118-AP mnt-by: MAINT-CNNIC-AP changed: xuying@railcomnet.com 20010428 status: ASSIGNED NON-PORTABLE source: APNIC changed: hm-changed@apnic.net 20020827 domain: 98.211.in-addr.arpa descr: in-addr.arpa domain for 211.98/16 country: CN admin-c: DNS3-AP tech-c: DNS3-AP zone-c: DNS3-AP nserver: nm.cnnic.net.cn nserver: ns.cnc.ac.cn mnt-by: MAINT-AP-DNS-2 mnt-lower: MAINT-AP-DNS-2 changed: dns-admin@apnic.net 20000201 changed: dns-admin@apnic.net 20010413 source: APNIC

Questions/Réponses Questions/Réponses??

Références Les slides de cette conférence s'appuient sur le document de référence suivant : http://www.linux-france.org/prj/inetdoc/securite/tutoriel/tutoriel.securite.preface.html Autres sites sur la sécurité : Le site français de référence sur la sécurité informatique http://www.securite.org/index2.html Le site du magazine MISC http://www.miscmag.com/ L'incontournable Bug Track http://www.k-otik.com/ Encore un site (en anglais) incontournable http://www.linuxsecurity.com/ Plus généraliste (en anglais) http://www.securityfocus.com/unix