CONFIGURATION ET UTILISATION D’ UN HONEYPOT

Qu'est ce qu'un honeypot?

Un honeypot (pot de miel) est un programme, une machine ou un système volontairement vulnérable qui est destiné à attirer et à piéger les pirates.
Cet appât fait croire aux intrus qu’ils se trouvent sur une machine de production normale, alors qu'ils évoluent dans un leurre.
Le but est d’observer les attaques, de les enregistrer, mais aussi de simplement faire perdre du temps aux pirates.
Les pots de miel retournent des informations très instructives qui sont plus faciles à interpréter que celles récoltées par les IDS.

Honeyd

Honeyd est un démon qui crée des hôtes virtuels sur un réseau. Ces hôtes peuvent être configurés pour héberger des services arbitraires, et leur personnalité peut être adaptée pour apparaître sous certains OS.

Honeyd est un logiciel open source, sous licence GPL disponible a l'adresse http://www.honeyd.org/

Installation :

 

 

Pré requis :

            - libevent :

                        bibliothèque d’événements non synchrones

            - libdnet :

                        interface bas niveau pour les routines de réseau

            - libpcap :

                        bibliotheque de capture de paquets

            - arpd :

                        démon arp.

            Arpd permet de gérer les adresses IP non attribuées et il redirige les

            attaques vers Honeyd.

 

 

Les installations se font plus ou moins simplement, via les commandes habituelles :

 

# ./configure [-without-python] le cas échéant
# make

# make install

 

 

Utilisation :

 

 

Fichier de configuration de honeyd :

 

On peut créer autant d’hôtes virtuels que l’ont veut, grâce au fichier de configuration.

Pour cela on utilise l'option :

 

 

"-l honeydcont"

 

Pour simuler des IDS sur le réseau, nous avons donc créé 2 hôtes semblables au IDS réels, à savoir un FreeBSD 5.2 et une Debian (Linux 2.4.18).

Les faux IDS ont les ports 22 et 25 ouverts pour le non-secure, le port 22 pour le secure, avec des scripts perls qui répondent aux tentatives de connections.

 

Pour simuler les machines d’administration, nous avons instancié un FreeBSD 5.2 et un Linux 2.4.18, dont les ports 22, 25, et 80 sont ouverts.

 

Nous avons aussi insèré une machine sous Windows XP, qui serait infectée par un virus de type Mydoom.

Pour cela, nous avons installé le script mydoom.pl, disponible librement sur le site "http://www.honeynet.org.br/tools/".

 

Enfin, nous avons crée un tarpit sous MacOS X. Un tarpit est un host virtuel qui ralenti les connections de l attaquant. Il est notamment utilise pour ralentir

la progression des vers.

 

Ce fichier de configuration "honeydconf" est le suivant.

 

### FreeBSD computers <==> IDS SECURE

create freebsd

add freebsd tcp port 22 "sh scripts/test.sh $ipsrc $dport"

add freebsd tcp port 25 "perl scripts/smtp.pl"

set freebsd default tcp action block

set freebsd default udp action reset

set freebsd personality "FreeBSD 5.2-CURRENT (Jan 2004) on X86"

bind 192.168.0.6 freebsd

 

### Linux <==> IDS NON SECURE

create linux

add linux tcp port 22 "sh scripts/test.sh $ipsrc $dport"

add linux tcp port 25 "perl scripts/smtp.pl"

set linux default tcp action block

set linux default udp action reset

set linux personality "Linux 2.4.18"

bind 192.168.0.7 linux

 

## Server FreeBSD admin secure

create server

set server personality "FreeBSD 4.9 - 5.1"

add server tcp port 80 "sh scripts/web.sh"

add server tcp port 22 "sh scripts/test.sh $ipsrc $dport"

add server tcp port 25 "perl scripts/unix/general/snmp/fake-snmp.pl"

set server default tcp action block

set server default udp action reset

bind 192.168.0.8 server

 

# Server admin no-secure

create admnosec

add admnosec tcp port 22 "sh scripts/test.sh $ipsrc $dport"

add admnosec tcp port 25 "perl scripts/smtp.pl"

set admnosec default tcp action block

set admnosec default udp action reset

set admnosec personality "Linux 2.4.18"

bind 192.168.0.9 admnosec

 

### Tarpit Template

### Insecure and open Mac box designed to tarpit worms/autorooters

create sticky

set sticky personality "Apple Mac OS X Server 10.1.2 (ppc)"

set sticky default tcp action tarpit open

set sticky default udp action block

bind 192.168.0.10 sticky

 

### MyDoom Faker

create mydoom

set mydoom personality "Microsoft Windows XP Professional"

set mydoom default tcp action reset

set mydoom default udp action reset

set mydoom default icmp action open

set mydoom uid 32767 gid 32767

add mydoom tcp port  1080 "scripts/mydoom.pl -l scripts/mydoom"

add mydoom tcp port  3127 "scripts/mydoom.pl -l scripts/mydoom"

add mydoom tcp port  3128 "scripts/mydoom.pl -l scripts/mydoom"

add mydoom tcp port 10080 "scripts/mydoom.pl -l scripts/mydoom"

bind 192.168.0.11 mydoom

 

- Fichier de signature :

 

Les hotes créés doivent faire correspondre "leur personnalité" avec les personnalités testées par nmap.

Ainsi, honeyd se sert du fichier fingerprint de nmap.

Nous avons donc intègre la dernière version du fingerprint de nmap, grâce à l option :

 

"-p nmap-os-fingerprint"

 

 

- Le fichier de log :

 

Honeyd permet de générer des logs, dans le un fichier de notre choix, grâce à l’option :

 

 

"-l logname"

 

Cependant, il faut que le fichier existe :

 

# touch /var/honeyd/log

 

et qu’il ait les droits en écriture

 

 

# chmod 733 /var/honeyd/log

 

 

- La rangée d’hôtes :

 

Il faut spécifié a honeyd les IPs pour lesquels il doit répondre.

La range d'ip est spécifie a la fin de la ligne de commande par :

 

"192.168.0.x-192.168.0.y"

avec y >= x

 

Le ligne de commande pour lancer honeyd ressemble donc a :

 

 

# honed -p nmap-os-prints -c honeyd.conf -l /var/hobeyd/log 192.168.0.6-192.168.0.10

 

Le honeypot est en place, les attaquants voient 5 hôtes, qui sont virtuels.

Des qu’une attaque sera lancée sur 1 de ces hôtes, le honeypot sauvera les log dans /var/hobeyd/log.

Malheureusement, ces logs ne sont pas appréhendables tels quels, nous avons donc cherché une solution pour les analyser.

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

Honeysum:

 

Honeysum est un outil écrit en perl qui a pour but de condenser les fichiers de log de honeyd, afin qu'ils deviennent compréhensibles.

Il est librement téléchargeable a l adresse "http://www.honeynet.org.br/tools/".

 

Pour le faire marcher, il faut que l’extension netmask pour perl soit installée.

 

Il prend en argument le fichier de configuration de honeyd et le fichier de log.

On le lance ainsi :

 

# perl honeysum.pl –c honeyd.conf honeyd.log

 

On obtient ainsi :

 

 

qui récapitule les attaques et tentatives de connexions.