sécurité réseau en ainsi font font…. pratique plan ...bmartin/5-ics-4.pdf · •comment font...

16
1 Sécurité réseau en pratique 2 Plan Comment font les pirates Scanner Exploiter Ecouter Comment sécuriser 3 Ainsi font font…. 4 Attention Utilisation des outils décrits plus loin est ILLEGALE ! Interdiction FORMELLE d’utiliser ces outils ailleurs que dans les salles prévues pour cet usage Ils peuvent servir à sécuriser un réseau et à le pirater Ne JAMAIS les utiliser ailleurs que sur un LAN privé Charte informatique

Upload: lamkhanh

Post on 14-Sep-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

1

Sécurité réseau en pratique

2

Plan

• Comment font les pirates

• Scanner

• Exploiter

• Ecouter

• Comment sécuriser

3

Ainsi font font….

4

Attention

• Utilisation des outils décrits plus loin est ILLEGALE !

• Interdiction FORMELLE d’utiliser ces outils ailleurs que dans les salles prévues pour cet usage

• Ils peuvent servir à sécuriser un réseau et à le pirater

• Ne JAMAIS les utiliser ailleurs que sur un LAN privé

• Charte informatique

5

Attention

• Outils d’audit=outils d’attaques=armes

• Pas les pointer sur des cibles réelles

• Prendre toutes les précautions

• Demander l’autorisation de l’admin et FAI

• Pas dans le cadre de la fac

• Perpétrer des actes de piratage est répréhensible

• Peut vous coûter votre carrière

• C’est TRES sérieux

6

How hackers do it

• Inspiré de « How hackers do it:�Tricks, Tools, and Techniques »�A. Noordergraaf, Sun Blueprints�May 2002

• Actualisé pour la partie « outils »

7

Synthèse

Identifier la cible

Collecter des infos

Lancer l’attaque

Couvrir ses traces Maintenir l’accès

8

Identifier la cible

• Un bon hacker (bidouilleur) programme un outil pour scanner (explorer) le réseau

• Il le rend public sur Internet

• Des script kiddies (novices) le téléchargent et s’en servent pour trouver des systèmes vulnérables ou des points d’accès

9

Identifier la cible

• Dans le monde réel, cible est choisie en fonction du gain potentiel

• Majorité des attaques ciblées au hasard selon les opportunités détectées par les scanners de vulnérabilité

• Nécessaire de se protéger même si l’attaque ne rapporte rien au pirate!

10

Identifier la cible• Connaître c’est faire la moitié du chemin

• Si les défenses sont connues, plus facile de planifier l’attaque

• Moyens

• Détection de l’hôte (ping)

• Recherche des services (port scan, banner grabbing)

• Détection de la topologie

• Traceroute, wardialing, wardriving

• Détection d’OS par son fingerprint

• Sources publiques (whois, dns, web, annuaires)

• Social engineering

11

Outils de base• Nslookup/dig

• Résolution de noms de domaine

• Ping

• Vérifier quelles sont les machines en ligne

• Trouver les adresses de broadcast

• Traceroute

• Combien de routeurs jusqu’à la cible?

• à la main par envoi de paquets tcp en changeant le TTL

12

Outils de base

• Finger

• collecte les informations sur les utilisateurs

• Finger [email protected] donne des infos sur alice pour un hôte donné

• Finger @host.target donne des infos sur tous les utilisateurs connectés

13

Outils de base

• Netcat ou nc

• Outil multifonctions (aussi appelé TCP/IP swiss army knife) utilisable à différentes fins

• Entre autres: récupérer les bannières des serveurs (banner grabbing)

• nc -v -n host.target 22 renvoie la version de ssh qui tourne sur la machine (SSH-1.99-OpenSSH_5.1)

14

Vulnérabilités : nmap

• Nmap = port scanner

• Un port scanner peut parcourir une grande plage d’adresses IP et retourner les ports ouverts (= services) et les version d’OS

15

Description

• Nmap ("Network Mapper") is a free open source utility for network exploration or security auditing. It was designed to rapidly scan large networks, although it works fine against single hosts. Nmap uses raw IP packets in novel ways to determine what hosts are available on the network, what services (application name and version) those hosts are offering, what operating systems (and OS versions) they are running, what type of packet filters/firewalls are in use, and dozens of other characteristics. Nmap runs on most types of computers and both console and graphical versions are available. Nmap is free software, available with full source code under the terms of the GNU GPL.

16

OS detection

• Techniques standard

• Connexion smtp, snmp ou telnet pour examiner les réponses du serveur

• Plus efficace (dans nmap) le TCP/IP stack fingerprinting qui identifie la réponse du système à des paquets TCP avec des flags particuliers

17

Modes de fonctionnement• Vanilla

• Tentative de connexion sur tous les ports

• Strobe

• Ciblé sur certains ports spéciaux

• Fragment packets

• Limitation à des paquets fragmentés (permet de traverser certains fw)

• UDP: recherche ports udp

• Sweep: connexion sur le même port d’un ou des PC

• FTP bounce: scanner se fait passer pour serveur ftp pour paraître légitime

18

Stealth mode

• Attaquant doit récupérer les réponses à ses requêtes

• Il va donc devoir utiliser son IP comme src

• Si requête repérée, on remonte à son IP

• Stealth mode est plus discret; scanner empêche partiellement fonctionnement log

19

Collecte d’informations

• Travailler de façon systématique en notant tout

• Objectif

• Avoir une meilleure connaissance du réseau attaqué que son admin (en tout cas, plus à jour)

20

Collecte d’informations

• Pour chaque @IP, déterminer:• Son nom de domaine,

• Si la machine est en vie (ping, arp)

• Quels ports sont ouverts

• Pour chaque port• Quels services offerts

• Quel serveur, version, service pack

• Quel OS

• La machine sert-elle de routeur ?

• Service ouvert plus indicatif?

21

Vulnérabilités

• Le novice utilise ensuite une liste d’adresses IP vulnérables pour accéder au système

• Selon les faiblesses il peut éventuellement créer/utiliser un compte ou un accès privilégié

• Il l’utilise pour obtenir de nouveaux privilèges et pirater d’autres systèmes reliés à celui qu’il vient de pénétrer

• Exemple: se faire passer pour une machine du réseau attaqué…

22

Vulnérabilités

• Une fois à l’intérieur:

• Trouver

• les utilisateurs, les mots de passe à casser

• Les fichiers intéressants

• Les connexions réseau actives

• Les tables de cache arp

• Les indications sur d’autres machines

23

Obtenir un accès

24

• Fait partie de la panoplie des sniffers

• Un sniffer est un programme qui lit tout le trafic sur le LAN en passant l’interface réseau en mode de « promiscuité »

• Ainsi, la carte réseau transmet au sniffer tout le trafic réseau

• D’autres sniffers existent comme snoop (WIN) qui permet de récupérer des mots de passe transmis pour une connexion telnet, ftp, imap,pop

25

Howto

• Un peu de psychologie• Un utilisateur se connecte • sur un serveur imap (pas imaps)• Sur un serveur pop• par telnet ou ftp

• Quelques outils d’observation passive• Et le tour est joué…• Ensuite…

26

Outil d'audit : crack• Erreurs d'Unix :

• /etc/passwd lisible par tous, même si non inversible

• Même algorithme de chiffrement sur toutes les machines

• Par combinaison (sans dictionnaire), la puissance actuelle des machines permet de découvrir des mots de passe jusqu'à plusieurs caractères

• Crack à partir de mots de dictionnaires :

• Ajoute des mots venant d'informations dans /etc/passwd (nom, ...)

• Crée de nouveaux mots (cle+, Cle, elc, ...)

• Chiffre chaque mot et compare le résultat avec la chaîne dans /etc/passwd

• Mémorise les mots de passe testés

27

Outil d'audit : crack• Configurable :

• Nouvelles règles pour générer de nouveaux mots

• Ajout de dictionnaires (ciblés linguistiquement)

• Peut travailler sur plusieurs fichiers passwd

• Peut envoyer un message aux utilisateurs

• La première exécution est très longue

• Crack a beaucoup de succès sur les serveurs FTP anonymes

• => Utiliser shadow password

• => utiliser régulièrement crack et envoyer un message aux utilisateurs fautifs

28

Crack : extrait de résultat £ Feb 21 13:32:47 Crack v4.1f: The Password Cracker,�

(c) Alec D.E. Muffett, 1992�Feb 21 13:32:48 Loaded 17 password entries with 17 different salts: 100%�Feb 21 13:32:48 Loaded 240 rules from 'Scripts/dicts.rules'.�Feb 21 13:32:48 Starting pass 1 - password information��Feb 21 13:33:38 Guessed dupont (/bin/ksh in ./passwd) [dupont9] f5em4JkrApYAQ��Feb 21 13:34:36 Starting pass 2 - dictionary words�Feb 21 13:34:36 Applying rule '!?Al' to file 'Dicts/bigdict.Z'��Feb 21 21:18:39 Applying rule '28!?Al$9' to file 'Dicts/bigdict.Z'�Feb 21 21:24:37 Guessed durant (/bin/ksh in ./passwd) [tomate.] DQywOoXMwQFiI�

29

Plus fort: connexion imaps

Le réseau est plus sûr

• Plus de telnet, ftp, pop, imap

• Seul accès imaps

• Comment faire???

• MI(T)M !

30

Connexion sécurisé

• Par la transmission d’une clé secrète �dans une enveloppe digitale

• Une enveloppe digitale contient une clé secrète chiffrée par un chiffre à clé publique

• Certificat est une garantie de la relation identité, clé publique.

31

MI(T)M

32

Arp spoofing

33

Un outil pour ça…

34

Description d’ettercap

£ Ettercap is a suite for man in the middle attacks on LAN. It features sniffing of live connections, content filtering on the fly and many other interesting tricks. It supports active and passive dissection of many protocols (even ciphered ones) and includes many feature for network and host analysis.

35

Et

• Fred dispose maintenant peut-être d’un couple login/password valide…

• D’ailleurs, ettercap permet aussi théoriquement de récupérer des mots de passe ssh1 entre autres choses

• D’autres outils plus spécifiques font la même chose

36

Encore plus fort…

• Tout est raisonnablement sécurisé sauf l’OS de certaines machines.

• Que fait le pirate?�Il s’attaque à la machine la plus faible

£La sécurité du système est celle de son maillon le plus faible

37

Comment le trouver

• Au moyen d’un scanner de vulnérabilité

• Par analyse des ports d’entrée, le scanner de vulnérabilité trouve l’hôte ou le service le plus faible

• C’est ce que fait nessus

38

Description

• The "Nessus" Project aims to provide to the internet community a free, powerful, up-to-date and easy to use remote security scanner. A security scanner is a software which will audit remotely a given network and determine whether someone (or something - like a worm) may break into it, or misuse it in some way. Unlike many other security scanners, Nessus does not take anything for granted. That is, it will not consider that a given service is running on a fixed port - that is, if you run your web server on port 1234, Nessus will detect it and test its security. Nessus is very fast, reliable and has a modular architecture that allows you to fit it to your needs. Nessus works on Unix-like systems (MacOS X, FreeBSD, Linux, Solaris and more) and a Windows version called NeWT is available.

39

Premier pas: cibler

40

Puis scanner

41

Attaque du maillon faible

• Par des rootkits

• Un rootkit est un terme qui décrit un ensemble de scripts et d’exécutables réunis ensemble qui permet à un pirate de cacher ses agissements et d’obtenir un accès privilégié au système.

42

Tâches d’un rootkit

• Modification des logs

• Modification des outils système pour rendre la détection d’un piratage plus difficile

• Création d’une trappe d’accès cachée

• Utilisation du système comme point d’entrée sur les autres hôtes du réseau

43

Et pour le wifi?

• On procède de même…

• Cibler

• Attaquer

44

Cibler£Kismet is an 802.11 layer2 wireless network

detector, sniffer, and intrusion detection system. It will work with any wireless card which supports raw monitoring (rfmon) mode, and can sniff 802.11b, 802.11a, and 802.11g traffic. �

£Kismet identifies networks by passively collecting packets and detecting standard named networks, detecting (and given time, decloaking) hidden networks, and infering the presence of nonbeaconing networks via data traffic.

45

Attaquer

• aircrack is an 802.11 WEP and WPA-PSK keys cracking program that can recover keys once enough data packets have been captured. It implements the standard FMS attack along with some optimizations like KoreK attacks, thus making the attack much faster compared to other WEP cracking tools. In fact, aircrack is a set of tools for auditing wireless networks.

46

Sécuriser

47

Filtrage de ports

Contrôle de transit

Contrôle de frontière

48

Contrôle des frontières

• Problème principal des intranets connectés à Internet

• Solution : coupe-feu (firewall) combine:

¤filtres de paquets

¤serveurs proxy

¤ mécanismes cryptographiques (IP tunneling)

• diminuer le nombre de points d ’entrée

49

Filtres de paquets

• Fonction assurée par les agents de distribution (routeurs ou hôtes dédiés)

• principe de contrôle

¥redistribuer, effacer et/ou tracer chaque paquet

¥basé sur les informations de l ’en tête du paquet

� adresse d ’origine et de destination

� direction (entrée/sortie) par rapport au réseau local

� type d ’application (port IP)

• implémentations principales sur TCP/IP

50

Ports services les plus connus

• RFC "ASSIGN NUMBERS" (RFC1700 ou plus récent) et /etc/services� �ftp-data 20 (TCP) ftp-commandes 21 (TCP)�telnet 23 (TCP) smtp 25 (TCP)�whois 43 (TCP) DNS 53 (UDP et TCP)�bootp 67 (UDP) tftp 69 (UDP)�finger 79 (TCP) pop3 (Eudora) 110 (TCP)�http 80 (TCP) pop2 109 (TCP)�rpc portmap 111 (UDP et TCP) nntp (News) 119 (TCP)�ntp (Time) 123 (UDP) snmp 161 (UDP)�snmp trap 162 (UDP) rlogin 513 (TCP)�rsh (rcp, rdist) 514 (TCP) printer (lpr) 515 (TCP)�syslog 514 (UDP) rip 520 (UDP)�uucp 540 (TCP) archie 1525 (UDP)�nfs 2049 (UDP ou TCP) X11 6000-6063 (TCP)

51

Iptables/netfilter/nftables

• netfilter and iptables are building blocks of a framework inside the Linux 2.4.x and 2.6.x kernel. This framework enables packet filtering, network addresss [and port] translation (NA[P]T) and other packet mangling. It is the re-designed and heavily improved successor of the previous Linux 2.2.x ipchains and Linux 2.0.x ipfwadm systems. netfilter is a set of hooks inside the Linux kernel that allows kernel modules to register callback functions with the network stack. A registered callback function is then called back for every packet that traverses the respective hook within the network stack. iptables is a generic table structure for the definition of rulesets. Each rule within an IP table consists out of a number of classifiers (iptables matches) and one connected action (iptables target). netfilter, iptables and the connection tracking as well as the NAT subsystem together build the whole framework.

52

Règles de filtrage

• Chaîne = liste ordonnée de règles.

• Chaque règle exprime une condition

• Si la règle ne s'applique pas au paquet, on consulte la règle suivante.

• Une fois épuisé l'ensemble des règles, le noyau applique la politique par défaut de la chaîne ( {ACCEPT|DROP}) qui est habituellement DROP pour un système sécurisé.

53

Instructions sur les chaînes

• créer une nouvelle chaîne (-N)

• effacer une chaîne vide (-X)

• changer la politique par défaut (-P)

• afficher les règles d'une chaîne (-L)

• vider toutes les règles (-F)

• réinitialiser les compteurs de paquets et d'octet de toutes les règles d'une chaîne (-Z)

54

Examen d’un paquet

• S'il est destiné à la machine, le paquet traverse INPUT.

¤S'il est autorisé à poursuivre son chemin (décision ACCEPT), il est traité par le processus local à qui il est destiné.

¤En revanche, si la décision est DROP, le paquet est supprimé.

55

Examen d’un paquet

• En cas de forwarding vers une autre interface, le paquet traverse FORWARD

¤ s'il est accepté, il poursuit son chemin.

¤ Si le forwarding n'est pas activé ou si on ne sait pas comment transmettre ce paquet, il est supprimé.

56

Examen d’un paquet

• Enfin, un programme exécuté par la machine peut également envoyer des paquets traités par OUTPUT.

¤ Si la chaîne accepte ces paquets, ils continuent leur chemin vers l'interface réseau à laquelle ils sont destinés.

57

Méthode du Ack bit (established)

• Dans un datagramme TCP un "Ack bit" accuse réception du datagramme précédent

• Dans le datagramme d'ouverture de session TCP, ce bit n'est pas positionné

• En bloquant le premier datagramme toute session TCP est impossible

• Donc, en filtrant les datagrammes TCP entrants sans "Ack bit", on bloque les connexions TCP entrantes (tout en autorisant les connexions sortantes)

• Langage routeur : "Ack bit" = "established"

58

• The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library. The project is managed by a worldwide community of volunteers that use the Internet to communicate, plan, and develop the OpenSSL toolkit and its related documentation. OpenSSL is based on the excellent SSLeay library developed by Eric A. Young and Tim J. Hudson. The OpenSSL toolkit is licensed under an Apache-style licence, which basically means that you are free to get and use it for commercial and non-commercial purposes subject to some simple license conditions.

59

• OpenSSH est une version LIBRE de la suite d'outils du protocole SSH de connexion réseau utilisé par un nombre croissant de personnes sur l'Internet. De nombreux utilisateurs de telnet, rlogin, ftp et autres programmes identiques ne réalisent pas que leur mot de passe est transmis non chiffré à travers l'Internet. OpenSSH chiffre tout le trafic (mots de passe inclus) de façon à déjouer les écoutes réseau, les prises de contrôle de connexion, et autres attaques. De plus, OpenSSH fournit toute une palette de possibilités de tunnellisation et de méthodes d'authentification.

60

Et ce n’est pas tout

• Snort is an open source network intrusion detection system, capable of performing real-time traffic analysis and packet logging on IP networks. It can perform protocol analysis, content searching/matching and can be used to detect a variety of attacks and probes, such as buffer overflows, stealth port scans, CGI attacks, SMB probes, OS fingerprinting attempts, and much more. Snort uses a flexible rules language to describe traffic that it should collect or pass, as well as a detection engine that utilizes a modular plugin architecture. Snort has a real-time alerting capability as well, incorporating alerting mechanisms for syslog, a user specified file, a UNIX socket, or WinPopup messages to Windows clients using Samba's smbclient. Snort has three primary uses. It can be used as a straight packet sniffer like tcpdump(1), a packet logger (useful for network traffic debugging, etc), or as a full blown network intrusion detection system.

61

Machine virtuelleavec services

Internetattaquables

Machine réelleattaques

- simulées (nessus)

- réelles

Log des attaques: -à la main

-automatiques

Exploitation: avoir des informations sur les

techniques de piratage

Mise en place d’un outil de sécurité dit « honeypot »

62

Et quand tout a échoué….

• Il faut avoir fait des sauvegardes….

• Pouvoir tout réinstaller et sans perte

• C’est le plan de reprise

63

10 règles de sécurité• Sécuriser les points faibles

• Opérer en profondeur

• Bien gérer les cas d’erreur

• Principe du strict minimum

• Cloisonner

• Rester simple

• Encourager le secret

• Il est difficile de garder un secret

• Rester méfiant

• Utiliser les ressources de la communauté