Вы находитесь на странице: 1из 111

Starinux

Confrence
Linux

Scurit

Scurit

Confrence Starinux
Notions de Scurit

Confrence

Starinux

Linux

Scurit

Plan de la confrence Starinux : Scurit 1/3

PLAN DE LA CONFERENCE

La collecte d'informations
Dfinition.
Les scanners : exemple avec nmap.
Netcat : Le couteau suisse de l'Admin Rseau.
Les failles
Dfinition
Les failles de scurit suite l'installation : Patcher sa distrib, ainsi que le
kernel.
Les failles de scurit suite une mauvaise configuration : voir les fichiers de
confs.
Les failles suite des bugs dans les programmes : Alertes de scurit.
Les exploits.
Nessus : prsentation.

Starinux

Confrence
Linux

Scurit

Plan de la confrence Starinux : Scurit 1/3

PLAN DE LA CONFERENCE
Intrusions
Dfinition.
Les systmes de dtection d'intrusion : NID, HID.
Les Firewall
Dfinition
Type de FW : par filtrage de paquets, stateful ou non stateful (proxy de service).
Type d'attaques contre les FW : Le firewalking
Scurisation des communications et transactions
Le Tunneling : Prsentation d'IPsec
Le protocole AH
Le protocole ESP
Le protocole IPcomp
Le protocole IKE
Les 2 modes d'IPsec

Confrence

Starinux

Linux

Scurit

Plan de la confrence Starinux : Scurit 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

Confrence

Starinux

Linux

Scurit

Plan de la confrence Starinux : Scurit 3/3

PLAN DE LA CONFERENCE
Les attaques rseaux
L'ARP Poisoning
Man In The Middle
Les attaques par dnis de services
Syn Flooding
UDP Flooding
Smurfing
Les attaques bases sur les protocoles
DHCP
DNS
FTP
SMB
HTTP
IDENT
SSH
IP Spoofing
Telnet
Xwindow
Peer To Peer

Confrence

Starinux

Linux

Scurit

Plan de la confrence Starinux : Scurit 3/3

PLAN DE LA CONFERENCE

Utilisation d'outils d'analyse de trafic rseau.


Tcpdump
Ethereal

Le systme syslog

Comment lire le fichier syslog

Description d'une intrusion avec le framework metasploit


Exemple d'une trace laisse par un scanner automatique

Starinux

Confrence
Linux

Scurit

Plan de la confrence Starinux : Scurit 3/3

PLAN DE LA CONFERENCE

Questions/Rponses ?

Starinux

Confrence
Linux

Scurit

La collecte d'informations

La collecte d'informations

Starinux

Confrence
Linux

Scurit

La collecte d'informations

Les scanners de port.

Dfinition :
Un scanner est un programme qui permet de connatre les ports
en coute (donc ouverts) sur un rseau.
Il permet galement de connatre les OS des machines scannes.

Starinux

Confrence
Linux

Scurit

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
rponses.

Starinux

Confrence
Linux

Scurit

La collecte d'informations

Les scanners de port.

NMAP : Options les plus courantes

Le scan furtif :
nmap -sS [adresse ip de la machine cible]

Dterminer le type d'OS sur la machine cible


nmap -P0 -O [adresse ip de la machine cible]

Starinux

Confrence
Linux

Scurit

La collecte d'informations

Les scanners de port.

Exemple
de sortie NMAP :
jybserver:/home/jyb# nmap -sS 82.127.3.18
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

Starinux

Confrence
Linux

Scurit

La collecte d'informations

La commande netcat ou nc :
Cette commande trs utile fonctionne en mode client/serveur.
Elle permet d'ouvrir des connexions rseau 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

Starinux

Confrence
Linux

Scurit

La collecte d'informations

Options les plus courantes de netcat :


Options:
-e prog
-b
-g gateway
-G num
-h
-i secs
-l
-n
-o file
-p port
-r
-q secs
-s addr
-t
-u
-v
-w secs
-z

program to exec after connect [dangerous!!]


allow broadcasts
source-routing hop point[s], up to 8
source-routing pointer: 4, 8, 12, ...
this cruft
delay interval for lines sent, ports scanned
listen mode, for inbound connects
numeric-only IP addresses, no DNS
hex dump of traffic
local port number
randomize local and remote ports
quit after EOF on stdin and delay of secs
local source address
answer TELNET negotiation
UDP mode
verbose [use twice to be more verbose]
timeout for connects and final net reads
zero-I/O mode [used for scanning]

Starinux

Confrence
Linux

Scurit

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

Starinux

Confrence
Linux

Scurit

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.

Starinux

Confrence
Linux

Scurit

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

Starinux

Confrence
Linux

Scurit

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.

Starinux

Confrence
Linux

Scurit

La collecte d'informations

Contenu du fichier ftp.exemple :

USER invite
PASS invite
quit

Starinux

Confrence
Linux

Scurit

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>

Starinux

Confrence
Linux

Scurit

Les failles de scurit

Les failles de scurit

Starinux

Confrence
Linux

Scurit

Les failles de scurit

Dfinition :
Une faille, est un dysfonctionnement, ou un dfaut de protection
dans le dveloppement d'un logiciel qui peuvent etre exploits
par un programme ou manuellement.

Starinux

Confrence
Linux

Scurit

Les failles de scurit

Distribution standard :
Lorsque vous achetez une distribution Linux, une fois installe,
votre distribution prfre n'a pas obligatoirement toutes les
garanties de scurit.
Il est conseill de mettre votre distribution jour et pour ceux
qui veulent pousser encore plus de patcher votre noyau avec les
patchs de scurit adquats.

Starinux

Confrence
Linux

Scurit

Les failles de scurit

Mise jour de sa distribution : Exemple avec Debian


# apt-get update
# apt-get upgrade
entre 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

Starinux

Confrence
Linux

Scurit

Les failles de scurit

Mise jour du kernel : Exemple avec le noyau 2.6.6


- #cd /usr/src/linux-2.6.6
- #make xconfig

Starinux

Confrence
Linux

Scurit

Les failles de scurit

Starinux

Confrence
Linux

Scurit

Les failles de scurit

Mauvaise
configuration des fichiers de conf :

Il est trs important de mettre en place les mcanismes de


scurit associs 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.

Starinux

Confrence
Linux

Scurit

Les failles de scurit

Bugs
dans les programmes : Alertes de scurit

Il est vivement conseill de vous abonner une liste de


diffusion des alertes de scurit 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/

Starinux

Confrence
Linux

Scurit

Les failles de scurit

Les
exploits : Dfinition

Un exploit, est une technique de piratage, le plus souvent


base sur des scripts ou des programmes crits en C,
permettant d'exploiter les failles de scurit des programmes.
Le but recherch est de s'introduire sur un systme, et/ou d'en
prendre le contrle.
Il existe des logiciels, ou des frameworks qui en facilient
l'utilisation :
SATAN, ou encore Metasploit sont les plus clbres.

Starinux

Confrence
Linux

Scurit

Les failles de scurit

Les
buffers overflow : Dfinition

Le dpassement de pile est une faille due une mauvaise


programmation. Effectivement, un buffer overflow apparat
quand une variable passe en argument d'une fonction est
recopie dans un buffer sans que sa taille n'aie t vrifie. Il
suffit que la variable ait une taille suprieure l'espace
mmoire rserv pour ce buffer pour qu'un dpassement de
pile se produise. Celui-ci sera exploit en passant dans la
variable un fragment de programme capable de faire dmarrer
un shell tout en obligeant ce dbordement de pile se
produire.

Starinux

Confrence
Linux

Scurit

Les failles de scurit

Nessus : Prsentation

Nessus, est un outil qui permet l'instar de nmap de faire


du scanage de port de dcouvrir les failles de scurit et de
tester la vulnrabilit d'un systme.
Il permet de simuler ou de lancer des attaques en exploitant des
vulnrabilits connues.

Starinux

Confrence
Linux

Scurit

Les failles de scurit

Nessus : Page d'accueil

Starinux

Confrence
Linux

Scurit

Les failles de scurit

Nessus : Les plugins

Starinux

Confrence
Linux

Scurit

Les failles de scurit

Nessus : Les scans

Starinux

Confrence
Linux

Scurit

Les failles de scurit

Nessus : La page de rsultat

Starinux

Confrence
Linux

Scurit

Les intrusions

Les intrusions

Starinux

Confrence
Linux

Scurit

Les intrusions

Dfinition :
Une intrusion c'est la pntration d' un systme d'information
mais aussi les tentatives des utilisateurs locaux d'accder de
plus hauts privilges ou les tentatives des administrateurs
d'abuser de leurs privilges.

Starinux

Confrence
Linux

Scurit

Les intrusions

Les systmes de dtection d'intrusion :

Il y a deux catgories de systmes de dtection d'intrusion :

Les NIDS : Networks Intrusion Detection Systems


Les NIDS, sont des systmes de dtection d'intrusion qui
analyse en temps rel les donnes transitant sur le rseau.
Pour cela ils s'appuient sur une base de donnes contenant
la liste des codes malicieux.
Le plus connus de ces NIDS est Prlude.
On pourrait aussi parler des IDS comme Tripwire qui
dtecte les attaques en local sur la machine
(outrepassement de droit, rootkits, etc ...)

Starinux

Confrence
Linux

Scurits

Les intrusions

Les HIDS : Hybride Intrusion Detection Systems

Ces systmes entre les IDS et NIDS fonctionnent d'une faon


similaire aux NIDS. Il s'appuient aussi sur base de donnes.
La diffrence entre IDS et HIDS se fait de moins en moins.
Le plus connu des HIDS est SNORT.
Tous ces systmes de dtection d'intrusion s'appuient sur des
sondes qui recueillent des informations sur les activits
systmes, les analysent et font des remontes d'evenements
sous forme d'alerte.

Starinux

Confrence
Linux

Scurits

Les Firewalls

Les Firewalls

Starinux

Confrence
Linux

Scurits

Les Firewalls

Dfinition :
Les Firewalls sont des programmes conus pour isoler un rseau
local d'un autre rseau ou de l'Internet.

Starinux

Confrence
Linux

Scurits

Les Firewalls

Rappel : Le modle OSI

Starinux

Confrence
Linux

Scurits

Les Firewalls

Rappel : Dtail d'un paquet TCP/IP

Starinux

Confrence
Linux

Scurits

Les Firewalls

Les firewalls par filtrage de paquets :

Le filtrage se fait au niveau de la couche 3 du modle OSI (couche


rseau) en fonction des informations qui figurent dans les en tetes
des paquets.

Les firewalls statefull :


Ce type de Firewall possde un mecanisme de suivi des
connexions TCP.
Les paquets sont examins 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

Starinux

Confrence
Linux

Scurits

Les Firewalls

Les firewalls non stateful ou proxy de services :

Ce type de firewalls permet de contrler les couches


suprieures du modle OSI.L'information contenue dans le
paquet est prise en compte.
C'est un programme le proxy de service qui se charge de
grer les connexions.

Starinux

Confrence
Linux

Scurits

Les Firewalls

Le Firewalking :

Le Firewalking est une technique qui consiste determiner les


rgles prsentes 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.

Starinux

Confrence
Linux

Scurit

tunnel VPN et IPsec

TUNNEL VPN et IPsec

Starinux

Confrence
Linux

Scurit

tunnel VPN et IPsec

VPN
Un VPN (Virtual Private Network) est cr en partant d'un
rseau existant qui n'est pas scuris.
Le protocole sur lequel s'appuie le VPN est IPsec

Ipsec
Ipsec est une mthode permettant de crer des rseaux privs
virtuels.
Ipsec fonctionne selon deux modes :
- Le mode transport - Le mode tunnel

Starinux

Confrence
Linux

Scurit

tunnel VPN et IPsec

Ipsec

- Le mode transport :
* crypte les communications entre machines
- Le mode tunnel :
* encapsule les paquets crypts, dans de nouveaux
en-ttes IP (Ipv4 ou Ipv6). Sert crer des tunnels
VPN.

Starinux

Confrence
Linux

Scurit

tunnel VPN et IPsec

Le protocole AH : Authentification Header


Il garantie l'authenticit des changes par un checksum chiffr
de l'en-tte la fin du paquet IP.

Le protocole ESP : Encapsulating Security Payload


Il assure la confidentialit des paquets en cryptant les donnes.

Starinux

Confrence
Linux

Scurit

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 cls qui seront utilises lors du cryptage.

Starinux

Confrence
Linux

Scurit

Les attaques par injection de code

Les attaques par injection de code

Starinux

Confrence
Linux

Scurit

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 donnes sensibles, excuter des
commandes nuisibles.

Les virus :
Programme malicieux, capable de se reproduire dans un autre
programme.

Starinux

Confrence
Linux

Scurit

Les attaques par injetction de code

Les
vers :

Un ver est un programme autonome qui se propage l'intrieur


de la mmoire d'un ordinateur et circule d'un ordinateur
l'autre grce aux rseaux informatiques. Il se propage surtout
sur l'Internet.

Les bombes logiques :


Les bombes logiques sont des programmes qui se dclenchent
un moment dtermin typiquement par :
- la date du systme
- le lancement d'une commande
- un appel au systme.

Starinux

Confrence
Linux

Scurit

Les attaques par injection de code

Injection
SQL :

L'injection SQL est une attaque visant obtenir des accs non
autoriss une base de donnes ou retrouver des informations
directement dans la base.
Le point d'entre de ce type d'attaque est souvent une page de
formulaire sur une page Web.

Starinux

Confrence
Linux

Scurit

Les attaques

Les attaques par intrusion

Starinux

Confrence
Linux

Scurit

Les attaques par intrusion

Les backdoors :

C'est une porte drobe laisse volontairement par les


dveloppeurs d'un programme permettant d'entrer dans un
systme en vue de le dboguer lors de sa phase de conception.
Cela peut etre galement un bug d'un logiciel, typiquement
pour passer root sous Unix ou pour faire excuter 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.

Starinux

Confrence
Linux

Scurit

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 rseau.
Pour ce faire, le sniffer met la carte en mode promiscuous,
c'est dire que la carte intercepte tous les paquets circulant
sur le rseau.
Il est galement possible de rcuprer les mots de passe
l'aide de programme de crack tel que Ripper.

Starinux

Confrence
Linux

Scurit

Les attaques par intrusion

Rcupration du mot de passe sur un serveur FTP :

Starinux

Confrence
Linux

Scurit

Les attaques

Les attaques rseaux

Starinux

Confrence
Linux

Scurit

Les attaques rseaux

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 rpond A par un flag SYN-ACK
- La machine A rpond B par un flag ACK

Starinux

Confrence
Linux

Scurit

Les attaques rseaux

L'ARP Poisoning :

Falisfication d'adresses MAC d'un rseau ethernet. Le but de


cette attaque par dni de service est de duper les postes se
trouvant sur le rseau.

Man in The Middle :


Il s'agit de dtourner le flux entre deux machines. Le but de
l'attaquant peut etre d'intercepter des donnes, de les
modifier ou encore de les dtruire.

Starinux

Confrence
Linux

Scurit

Les attaques rseaux

Les attaques par dnis de service

Starinux

Confrence
Linux

Scurit

Les attaques rseaux

Syn Flooding :

Rappel : Les trois tapes d'une connexion TCP sont :


* L'envoi d'un SYN
* La rception 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 trs grand nombre de demandes de connexion (flag
SYN 1). La machine cible renvoie les SYN-ACK en rponse au
SYN reus. L'attaquant ne rpond pas avec un ACK, et donc
pour chaque SYN reu la cible aura une connexion TCP en
attente. Toutes ces connexions semi-ouvertes consomment des
ressources mmoires au bout d'un certain temps la machine
cible est sature et ne peut plus accepter de connexion.

Starinux

Confrence
Linux

Scurit

Les attaques rseaux

UDP Flooding

La gnration d'une grande quantit de paquets UDP (mode non


connect), soit destination d'une machine soit entre deux
machines provoque une congestion du rseau ainsi qu'une
saturation des ressources des deux htes victimes.

Smurfing :
l'attaquant camoufle (spoof) l'adresse source d'un paquet ICMP
de requte Echo Request (ping) au broadcast pour un rseau, ce
qui entrane toutes les machines du rseau rpondre en masse
la victime en encombrant de cette faon le rseau.

Starinux

Confrence
Linux

Scurit

Les attaques

Les attaques bases sur les


protocoles

Starinux

Confrence
Linux

Scurit

Les attaques bases sur les protocoles

DHCP

: Attaques par puisement d'adresses IP

Si la correspondance adresses IP adresses adresses MAC


du serveur DHCP est mal configure dans le fichier
/etc/dhcpd.conf, alors un attaquant peut saturer le
serveur en le noyant de requtes. Les clients ne pourront
alors plus avoir d'adresses IP.

DNS : DNS ID spoofing


Cette attaque consiste envoyer une fausse rponse une
requte DNS avant le vrai serveur DNS. De cette faon, le
pirate peut rediriger vers lui le trafic destination d'une
machine qu'il l'intresse

Starinux

Confrence
Linux

Scurit

Les attaques bases 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 :
Hritage historique d'UNIX, IDENT fourni des informations
sur les utilisateurs connects.
Il n'a aucune valeur ajoute et peut donc etre supprim.

Starinux

Confrence
Linux

Scurit

Les attaques bases sur les protocoles

FTP :

Les mots de passe de connexion FTP circulent en clair et


peuvent etre sniffes par un attaquant.
Pour les serveurs FTP annonymes, des droits en lecture et
criture mal positionns 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 connatre les informations utiles.

Starinux

Confrence
Linux

Scurit

Les attaques bases 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.

Confrence

Starinux

Linux

Scurit

Les attaques bases 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.

Starinux

Confrence
Linux

Scurit

Les attaques bases 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 dfauts que FTP et l'on doit plutot utiliser
SSH.

Starinux

Confrence
Linux

Scurit

Les attaques bases 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 crer ou de supprimer des
objets.
La commande xhost - ferme les accs au serveur X

Starinux

Confrence
Linux

Scurit

Les attaques bases sur les protocoles

Peer To Peer :

L'utilisation de logiciels de tlchargement de type Peer To


Peer est dconseill car c'est un vecteur de virus.

Starinux

Confrence
Linux

Scurit
TCPDUMP

TCPDUMP

Starinux

Confrence
Linux

Scurit
TCPDUMP

Dfinition
:

TCPDUMP est un utilitaire permettant de capturer des paquets


circulants sur le rseau.
Bas sur les librairies libcap il necessite que l'interface
carte rseau soit mise en mode promiscuous.
Il peut etre utiliser galement pour rcuperer des informations
qui passent en clair sur un rseau couple login/mots de
passe par exemple.

Confrence

Starinux

Linux

Scurit
TCPDUMP

Reprsentation d'un paquet TCP :


0

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
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Starinux

Confrence
Linux

Scurit
TCPDUMP

Options de TCPDUMP : 1/2

-i

Affiche les packets pour une interface spcifique


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

Starinux

Confrence
Linux

Scurit
TCPDUMP

Options
de TCPDUMP : 2/2

-w

Enregistre la sortie de TCPDUMP dans le fichier pass en


paramtre
exemple : tcpdump -i eth0 -w trc20040427.dump

-r

Affiche le contenu d'un fichier cr avec tcpdump -w


exemple : tcpdump -r exemple20041025.trc

Starinux

Confrence
Linux

Scurit
TCPDUMP

Expressions de TCPDUMP : 1/3


Host

Affiche les trames pour le host dfini en


paramtre (peut en gnral 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


dfini en paramtre
exemple : tcpdump -i eth0 src host 82.127.3.18

dst

Affiche les trames ayant pour destination le host


dfini en paramtre
exemple : tcpdump -i eth0 dst host 82.127.3.18

Confrence

Starinux

Linux

Scurit
TCPDUMP

Expressions et primitives de TCPDUMP : 2/3

port

Affiche les packets du port prcis


exemple 1 : tcpdump -i eth0 port 21
exemple 2 tcpdump -i eth0 port ftp

ip, arp, rarp, udp, tcp

Affiche les packets du protocole


prcis

exemple : tcpdump -i eth0 icmp

less

Affiche les packets d'une taille infrieure


celle prcise en paramtre
exemple : tcpdump -i eth0 less 60

Starinux

Confrence
Linux

Scurit
TCPDUMP

Expressions et primitives de TCPDUMP : 3/3

great

Affiche les packets d'une taille suprieure celle


prcise en paramtre
exemple : tcpdump -i eth0 greater 96

Starinux

Confrence
Linux

Scurit
TCPDUMP

Interpreter les rsulats de la


commande TCPDUMP

Starinux

Confrence
Linux

Scurit
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 rsultats de la commande
TCPDUMP :
tcpdump -n -S -t tcp and host 82.127.3.18 and port 21

Starinux

Confrence
Linux

Scurit
TCPDUMP

Sortie de la commande TCPDUMP :

1
2

jybserver:/home/jyb# tcpdump -n -S -t
tcpdump: listening on ppp0

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)

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)

82.127.3.18.41354 > 212.27.40.252.21: . ack 319001828 win 5840 <nop,nop,timestamp 9705933


901756857> (DF)

212.27.40.252.21 > 82.127.3.18.41354: P 319001828:319001914(86) ack 2666389482 win 46


<nop,nop,timestamp 901756909 9705933>(DF)

82.127.3.18.41354 > 212.27.40.252.21: . ack 319001914 win 5840 <nop,nop,timestamp 9705939


901756909> (DF) [tos 0x10]

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]

212.27.40.252.21 > 82.127.3.18.41354: . ack 2666389505 win 46 <nop,nop,timestamp 901764392


9706682> (DF)

10

tcp and host 82.127.3.18 and port 21

212.27.40.252.21 > 82.127.3.18.41354: P 319001914:319001959(45) ack 2666389505 win 46


<nop,nop,timestamp 901764425 9706682>(DF)

Starinux

Confrence
Linux

Scurit
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 squence 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 donnes du paquet TCP

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 rpond la machine A.


SYN et ACK sont positionns
La machine B envoie son ISN 319001827.
La machine B reconnat 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 rpond la machine B sur le port 21.


Il n'y a pas de flags .
La machine A reconnat l'ISN de la machine B et lui fait savoir ack 319001828 win 5840.

Starinux

Confrence
Linux

Scurit
Ethereal

Ethereal

Confrence

Starinux

Linux

Scurit
Ethereal

Dfinition

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.

Starinux

Confrence
Linux

Scurit
Ethereal

Page d'accueil d'Ethereal :

Starinux

Confrence
Linux

Scurit
Ethereal

Exemple de capture avec une connexion FTP :

Starinux

Confrence
Linux

Scurit

Le systme syslog

Le systme syslog

Starinux

Confrence
Linux

Scurit

Le systme syslog

Dfinition :

Syslog est un dmon de contrle centralis des messages


du systme
Syslog peut aussi rcuprer les logs applicatifs
Syslog est configur partir du fichier
/etc/syslog.conf

Starinux

Confrence
Linux

Scurit

Le systme syslog

Principales caractristiques :

Multiplateformes (tous les Unix)


Rception des logs de machines distantes
Classification des logs par pertinence
Dispatch dans plusieurs fichiers suivant la classification
tablie

Starinux

Confrence
Linux

Scurit

Le systme 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 : spcifie 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 dveloppes

Starinux

Confrence
Linux

Scurit

Le systme syslog

Configuration du fichier /etc/syslog.conf 2/3:

Le champ niveau spcifie la gravit du message :


debug : pour dboguage
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

Starinux

Confrence
Linux

Scurit

Le systme syslog

Configuration du fichier /etc/syslog.conf 3/3:

Le champ action spcifie la destination du message


/dev/xxx : vers un priphrique comme la console virtuelle par
exemple (/dev/console)
/path/to/filename : vers un fichier, couramment dans le
rpertoire /var
@machine : vers le dmon Syslog d'une autre machine

L'utilisation de mtacaractres est possible. Exemple :


kern.*;!info;*.warn /dev/console

Starinux

Confrence
Linux

Scurit

Le systme syslog

Les principaux fichiers utiliss par Syslog sont :

/var/log/messages : messages d'information


/var/log/syslog : messages d'avertissement

Les fichiers suivants sont rattachs au systme de


logs:
/var/adm/wtmp : date et dure des sessions utilisateurs
/var/run/utmp : informations sur les utilisateurs actuellement
connects
/var/log/lastlog : liste des derniers utilisateurs loggs

Starinux

Confrence
Linux

Scurit

Le systme syslog

Comment dporter l'affichage des logs dans une


console
virtuelle :

Ajout de l'entre suivante dans le fichier /etc/syslog.conf

daemon.*;mail.*;\
news.crit;news.err;news.notice;\
*.=debug;*.=info;\
*.=notice;*.=warn
|/dev/xconsole

Starinux

Confrence
Linux

Scurit
metasploit

Description d'une intrusion avec le


Framework Metasploit

Starinux

Confrence
Linux

Scurit
metasploit

Metasploit : Dfinition
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 possde une liste d'exploits connus
utiliser.

Starinux

Confrence
Linux

Scurit
metasploit

Metasploit : Page d'accueil

Starinux

Confrence
Linux

Scurit
metasploit

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

Starinux

Confrence
Linux

Scurit
metasploit

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

Starinux

Confrence
Linux

Scurit
metasploit

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

Starinux

Confrence
Linux

Scurit

Trace d'un scanner automatique

Les fichiers de logs consulter rgulirement :

Les logs systmes


/var/log/auth.log : Logs de connexion (Debian)
/var/log/secure.log : Idem pour Mandrake
/var/log/daemon.log : Logs des dmons lancs sur le systme.

Les logs des applications


/var/log/samba
/var/log/apache/access.log

Starinux

Confrence
Linux

Scurit

Trace d'un scanner automatique

Exemple d'un scan automatique sur un serveur SSH

Oct 29 16:16:52 jybserver sshd[29825]:


Oct 29 16:16:52 jybserver sshd[29825]:
NOUSER
Oct 29 16:16:52 jybserver sshd[29825]:
211.98.28.124 port 45841 ssh2
Oct 29 16:16:56 jybserver sshd[29827]:
Oct 29 16:16:56 jybserver sshd[29827]:
NOUSER
Oct 29 16:16:56 jybserver sshd[29827]:
211.98.28.124 port 46035 ssh2
Oct 29 16:17:03 jybserver sshd[29829]:
Oct 29 16:17:03 jybserver sshd[29829]:
NOUSER
Oct 29 16:17:03 jybserver sshd[29829]:
211.98.28.124 port 46172 ssh2
Oct 29 16:17:20 jybserver sshd[29841]:
46731 ssh2
Oct 29 16:17:26 jybserver sshd[29844]:
46863 ssh2

Illegal user test from 211.98.28.124


error: Could not get shadow information for
Failed password for illegal user test from
Illegal user guest from 211.98.28.124
error: Could not get shadow information for
Failed password for illegal user guest from
Illegal user admin from 211.98.28.124
error: Could not get shadow information for
Failed password for illegal user admin from
Failed password for root from 211.98.28.124 port
Failed password for root from 211.98.28.124 port

Starinux

Confrence
Linux

Scurit

Trace d'un scanner automatique

Exploiter les traces laisses par le pirate

Chaque intrusion ou tentative d'intrusion laisse des traces qu'il


est possible d'exploiter.
Il faut toutefois etre trs prudent car une adresse IP dans un
fichier de log n'est pas obligatoirement une preuve.
Il peut aussi s'agir d'une adresse spoofe.

Starinux

Confrence
Linux

Scurit

Trace d'un scanner automatique

Exploiter les traces laisses 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

Starinux

Confrence
Linux

Scurit

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

Starinux

Confrence
Linux

Scurit

Questions/Rponses

Questions/Rponses ??

Starinux

Confrence
Linux

Scurit

Rfrences

Les slides de cette confrence s'appuient sur le document de


rfrence suivant :

http://www.linux-france.org/prj/inetdoc/securite/tutoriel/tutoriel.securite.preface.html

Autres sites sur la scurit :


Le site franais de rfrence sur la scurit 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 gnraliste (en anglais)
http://www.securityfocus.com/unix

Вам также может понравиться