Les
rootkit sous Linux
Définition
d'un rootkit :
Les rootkits sont des
outils exploités par les pirates informatiques
(hackers) qui permettent de s'approprier le compte root.
Un rootkit est
généralement installé volontairement
par un
utilisateur avec peu de droits et qui a préalablement eu un
accès à la
machine (soit en la piratant soit en ayant des
accès de simple
visiteur par exemple).
Il exploite alors une
faille du système d'exploitation et / ou des
protocoles réseau utilisés pour
récupèrer les mots de passes qui
transitent sur le réseau et ainsi avoir accès
à des services sécurisés
voir à d'autres machines.
Fréquemment,
les rootkits
installent une backdoor sur la machine afin que le pirate puisse se
reconnecter discrètement sur la machine. De plus, les
rootkit
actuels modifient le noyau ( souvent un module chargé ) afin
de
se rendre invisible à l'administrateur.
- Les modifications faites
pas le pirate ne sont pas loguées
- un netstat ne montre pas
les ports ouverts par la backdoor
- un ps ne montre pas les
processus du pirate
- un ls ne montre pas que des fichiers ont
été modifiés
- etc..
installation
d'un
rootkit ici
Analyse du
rootkit KNARK
Les Scanners
Sous linux chaque fichiers a une emprunte
MD5
vous pouvez effectuer un checksum à l'aide du programme
md5sum
afin de vérifier si ce dernier a été
modifié ( volontairement ou lors d'un
téléchargement ).
malekalmorte@ubuntu:~$
md5sum /sbin/lsmod
1714cbb179be07fa944ab1f128e1a751
/sbin/lsmod
Dès lors, le md5 de chaque binaire
système de
chaque distribution est connu, on peut alors déterminer si
ce
dernier ont été modifié par un rootkit.
rkhunter
- rkhunter
est un scanner qui vérifie les signatures md5 des binaires
systèmes
Il scan aussi le système à partir de signature de
rootkit connus.
L'installation est simple :
malekalmorte@ubuntu:~$
tar xvfz Desktop/rkhunter-1.2.7.tar.gz
./rkhunter/files/
./rkhunter/files/CHANGELOG
./rkhunter/files/LICENSE
./rkhunter/files/README
./rkhunter/files/WISHLIST
./rkhunter/files/backdoorports.dat
./rkhunter/files/check_modules.pl
./rkhunter/files/check_port.pl
./rkhunter/files/defaulthashes.dat
./rkhunter/files/filehashmd5.pl
./rkhunter/files/filehashsha1.pl
./rkhunter/files/mirrors.dat
./rkhunter/files/os.dat
./rkhunter/files/rkhunter
./rkhunter/files/rkhunter.conf
./rkhunter/files/rkhunter.spec
./rkhunter/files/showfiles.pl
./rkhunter/files/md5blacklist.dat
./rkhunter/files/tools/
./rkhunter/files/tools/update_server.sh
./rkhunter/files/tools/update_client.sh
./rkhunter/files/tools/README
./rkhunter/files/check_update.sh
./rkhunter/files/programs_bad.dat
./rkhunter/files/contrib/
./rkhunter/files/contrib/run_rkhunter.sh
./rkhunter/files/contrib/README.txt
./rkhunter/files/testing/
./rkhunter/files/testing/stringscanner.sh
./rkhunter/files/testing/rootkitinfo.txt
./rkhunter/files/testing/rkhunter.conf
./rkhunter/files/development/
./rkhunter/files/development/createfilehashes.pl
./rkhunter/files/development/createhashes.sh
./rkhunter/files/development/rpmhashes.sh
./rkhunter/files/development/rpmprelinkhashes.sh
./rkhunter/files/development/osinformation.sh
./rkhunter/files/development/rkhunter.8
./rkhunter/files/development/createhashesall.sh
./rkhunter/files/development/search_dead_sysmlinks.sh
./rkhunter/files/programs_good.dat
./rkhunter/files/defaulthashes2.dat
./rkhunter/installer.sh
se mettre dans le nouveau dossier rkhunter :
malekalmorte@ubuntu:~/rkhunter$
sudo ./installer.sh
Rootkit
Hunter installer
1.2.4 (Copyright 2003-2005, Michael Boelen)
---------------
Starting
installation/update
Checking
/usr/local... OK
Checking file retrieval
tools... /usr/bin/wget
Checking installation
directories...
- Checking
/usr/local/rkhunter...Exists
- Checking
/usr/local/rkhunter/etc...Exists
- Checking
/usr/local/rkhunter/bin...Exists
- Checking
/usr/local/rkhunter/lib/rkhunter/db...Exists
- Checking
/usr/local/rkhunter/lib/rkhunter/docs...Exists
- Checking
/usr/local/rkhunter/lib/rkhunter/scripts...Exists
- Checking
/usr/local/rkhunter/lib/rkhunter/tmp...Exists
- Checking
/usr/local/etc...Exists
- Checking
/usr/local/bin...Exists
Checking system
settings...
- Perl... OK
Installing files...
Installing Perl module
checker... OK
Installing Database
updater... OK
Installing
Portscanner... OK
Installing MD5 Digest
generator... OK
Installing SHA1 Digest
generator... OK
Installing Directory
viewer... OK
Installing Database
Backdoor ports... OK
Installing Database
Update mirrors... OK
Installing Database
Operating Systems... OK
Installing Database
Program versions... OK
Installing Database
Program versions... OK
Installing Database
Default file hashes... OK
Installing Database MD5
blacklisted files... OK
Installing Changelog...
OK
Installing Readme and
FAQ... OK
Installing Wishlist and
TODO... OK
Installing RK Hunter
configuration file... Skipped (no overwrite)
Installing RK Hunter
binary... OK
Configuration already
updated.
Installation ready.
See
/usr/local/rkhunter/lib/rkhunter/docs for more information. Run
'rkhunter' (/usr/local/bin/rkhunter)
On peut alors démarrer le scan, on remarquera que rkhunter
détermine le type de distribution pour connaître
les md5 des fichiers (puisqu'ils diffèrent selon la
distribution).
malekalmorte@ubuntu:/$ sudo /usr/local/bin/rkhunter -c
Rootkit Hunter 1.2.7 is running
Determining OS... Ready
Checking binaries
* Selftests
Strings
(command) [
OK ]
* System tools
Performing 'known bad' check...
/bin/cat
[ OK ]
/bin/chmod
[ OK ]
etc... etc..
Chkrootkit
chkrootkit permet aussi un scan à la
recherche de rootkit connus - il est disponible sur apt-get
j'ai fait un script qui permet d'envoyer
un mail après vérification du système
:
ici
Les IDS
LIDS
LIDS est un projet qui
permet :
- d'augmenter la sécurité du noyau
notamment
cela
rajoute des vérifications sur les débordements de
tampon
- monitorer le noyau
- d'ajouter des ACL sur l'exécution de programmes
- Mettre le système dans un mot où le
root n'a
aucun
pouvoir, de ce fait, si la machine est rootkité le hackeur
ne
peut rien faire.
La désactivation de ce mode ( lorsque par exemple vous
administrez la machine ) se fait par un mot de passe.
Dans le même style, il existe un autre projet
GrSecurity qui
permet aussi d'augmenter la sécurité au niveau du
noyau et ajouter des restrictions aux utilisateurs.
Quelques conseils
Voici quelques conseils pour se prémunir de ce
genre d'attaques et intrusions :
- Désactivez tous les daemons inutiles.
- Mettez un firewall
- Utiliser un maximum de programme crypté
et donc un minimum de programme non crypté (telnet, ftp
etc..)
- Ne laissez pas des utilisateurs inutiles sur le
système.
- Ne pas utiliser des mots pas faciles à deviner
ou qui se
trouvent dans des dictionnaires (mots courants que ce soit en anglais
ou en français).
- Tenez régulièrement le
système à jour
afin de corriger des éventuelles failles de
sécurités au niveau des daemons, programmes et du
noyau
de votre machine. Vous pouvez aussi voir du côté
de Nessus
pour cela.
- Scannez votre machine réuglièrement
avec les programmes mentionnés ci-dessus.
- Scannez aussi votre machine depuis une machine distante
afin de
vérifier les éventuels ports ouverts qui ne
devraient pas
l'être.
Retour à la page
d'accueil