GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Déploiement de Kippo SSH Honeypot sur Ubuntu Linux

Présentation

Avez-vous l'impression que quelqu'un tente d'accéder à votre serveur ? Pour le savoir, vous pouvez déployer un honeypot dans votre système pour vous aider à soulager votre paranoïa en confirmant ou en rejetant votre croyance initiale. Par exemple, vous pouvez démarrer le pot de miel Kippo SSH, qui vous permet de surveiller les tentatives de force brute, de collecter les exploits et les logiciels malveillants d'aujourd'hui. Kippo enregistre également automatiquement la session shell du pirate, que vous pouvez rejouer pour explorer diverses techniques de piratage et utiliser ultérieurement ces connaissances rassemblées pour renforcer votre serveur de production. Une autre raison d'installer un pot de miel est de détourner l'attention de votre serveur de production. Dans ce tutoriel, nous allons montrer comment déployer un pot de miel Kippo SSH sur le serveur Ubuntu.

Prérequis

Le pot de miel Kippo SSH est une application basée sur Python. Par conséquent, nous devons d'abord installer les bibliothèques Python :

$ sudo apt-get install python-twisted

Normalement, vous exécuteriez votre sshd service à l'écoute sur le port par défaut 22. Il est logique d'utiliser ce port pour votre pot de miel SSH et donc si vous exécutez déjà le service SSH, nous devons changer le port par défaut en un autre numéro. Je suggérerais de ne pas utiliser le port alternatif 2222 car son utilisation est déjà généralement connue et cela pourrait saboter votre déguisement. Choisissons un nombre aléatoire à 4 chiffres comme 4632. Ouvrez votre fichier de configuration SSH /etc/ssh/sshd_config et changez la directive Port de :

Port 22

à

Port 4632

Une fois terminé, redémarrez votre sshd :

$ sudo service ssh restart

Vous pouvez confirmer que vous avez correctement modifié le port avec le netstat commande :

$ netstat -ant | grep 4632
tcp 0 0 0.0.0.0:4632 0.0.0.0:* LISTEN

De plus, Kippo doit exécuter un utilisateur non privilégié, c'est donc une bonne idée de créer un compte d'utilisateur séparé et d'exécuter Kippo sous ce compte. Créez un nouvel utilisateur kippo :

$ sudo adduser kippo

Installation

Kippo ne nécessite aucune installation fastidieuse. Tout ce qu'il faut faire, c'est télécharger une archive compressée et l'extraire dans le répertoire du kippo. Tout d'abord, connectez-vous en tant qu'utilisateur ou changez d'utilisateur pour kippo, puis téléchargez le code source de Kippo :

kippo@ubuntu:~$ wget http://kippo.googlecode.com/files/kippo-0.5.tar.gz

extrayez-le avec :

kippo@ubuntu:~$ tar xzf kippo-0.5.tar.gz 

cela créera un nouveau répertoire appelé kippo-0.5.

Configuration

Une fois que vous naviguez dans le répertoire de Kippo, vous verrez :

kippo@ubuntu:~/kippo-0.5$ ls
data dl doc fs.pickle honeyfs kippo kippo.cfg kippo.tac log start.sh txtcmds utils

Les répertoires et fichiers les plus notables ici sont :

  • dl – il s'agit d'un répertoire par défaut lorsque kippo stockera tous les logiciels malveillants et les exploits téléchargés par un pirate à l'aide de la commande wget
  • chéries – ce répertoire contient des fichiers, qui seront présentés à l'attaquant
  • kippo.cfg – fichier de configuration de kippo
  • journal – répertoire par défaut pour enregistrer l'interaction des attaquants avec le shell
  • start.sh – ceci est un script shell pour démarrer kippo
  • utilitaires - contient divers utilitaires kippo dont le plus notable est playlog.py, qui vous permet de rejouer la session shell de l'attaquant

Kippo est préconfiguré avec le port 2222. Ceci est principalement dû au fait que kippo doit s'exécuter en tant qu'utilisateur non privilégié et que l'utilisateur non privilégié ne peut ouvrir aucun port inférieur au numéro 1024. Pour résoudre ce problème, nous pouvons utiliser iptables avec Directives « PREROUTING » et « REDIRECT ». Ce n'est pas la meilleure solution car n'importe quel utilisateur peut ouvrir un port au-dessus de 1024, créant ainsi une opportunité à exploiter.

Ouvrez le fichier de configuration de Kippo et remplacez le numéro de port par défaut par un nombre arbitraire tel que 4633. Après cela, créez une redirection iptables du port 22 vers kippo sur le port 4633 :

$ sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 4633

Configurations facultatives

Système de fichiers

Ensuite, vous souhaiterez peut-être configurer le système de fichiers, qui sera présenté à l'attaquant une fois qu'il se sera connecté à notre pot de miel. Par défaut, Kippo est livré avec son propre système de fichiers mais il date de 2009 et il n'a plus l'air plausible. Vous pouvez cloner votre propre système de fichiers sans révéler aucune information avec l'utilitaire de Kippo utils/createfs.py . Avec les privilèges root, exécutez la commande linux suivante pour cloner votre système de fichiers :

# cd /home/kippo/kippo-0.5/
# utils/createfs.py > fs.pickle
Doing stuff

Nom du système d'exploitation

Kippo vous permet également de changer le nom du système d'exploitation situé dans le fichier /etc/issue. Disons que nous utilisons Linux Mint 14 Julaya. Bien sûr que vous utiliserez quelque chose de réel et de plausible.

$ echo "Linux Mint 14 Julaya \n \l" > honeyfs/etc/issue

Fichier de mot de passe

Modifier honeyfs/etc/passwd et le rendre plus plausible et juteux.

Mot de passe root alternatifs

Kippo est livré avec le mot de passe préfiguré « 123456 ». Vous pouvez conserver ce paramètre et ajouter d'autres mots de passe comme :pass, a , 123, password, root

kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add pass
kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add a 
kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add 123 
kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add password 
kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add root

Désormais, l'attaquant pourra se connecter en tant que root avec l'un des mots de passe ci-dessus.

Création de nouvelles commandes

De plus, Kippo vous permet de configurer des commandes supplémentaires qui sont stockées dans le répertoire txtcmds/. Pour créer une nouvelle commande, par exemple df nous redirigeons simplement la sortie du vrai df commande à txtcmds/bin/df :

# df -h > txtcmds/bin/df

Ce qui précède est une simple commande de sortie de texte statique, mais elle occupera un attaquant pendant un certain temps.

Nom d'hôte

Modifiez le fichier de configuration kippo.cfg et changez votre nom d'hôte en quelque chose de plus attrayant comme :

hostname = accounting

Démarrer le pot de miel Kippo SSH

Si vous avez suivi les instructions ci-dessus jusqu'à présent, vous devriez maintenant avoir configuré votre pot de miel SSH avec les paramètres suivants :

  • port d'écoute 4633
  • iptables portforward de 22 -> 4633
  • nom d'hôte :comptabilité
  • plusieurs mots de passe root
  • clone Honeyfs fraîchement mis à jour de votre système existant
  • Système d'exploitation :Linux Mint 14 juillet

Commençons maintenant le pot de miel Kippo SSH.

$ pwd
/home/kippo/kippo-0.5
kippo@ubuntu:~/kippo-0.5$ ./start.sh
Starting kippo in background...Generating RSA keypair...
done.
kippo@ubuntu:~/kippo-0.5$ cat kippo.pid
2087

De ce qui précède, vous pouvez voir que Kippo a démarré et qu'il a créé toutes les clés RSA nécessaires pour la communication SSH. De plus, il a également créé un fichier appelé kippo.pid, qui contient un numéro PID de l'instance en cours d'exécution de Kippo, que vous pouvez utiliser pour terminer kippo avec le kill commande.

Tester le déploiement du pot de miel SSH

Maintenant, nous devrions pouvoir nous connecter à notre nouveau pot de miel ssh alias de serveur ssh sur le port ssh par défaut 22 :

$ ssh root@server 
The authenticity of host 'server (10.1.1.61)' can't be established.
RSA key fingerprint is 81:51:31:8c:21:2e:41:dc:e8:34:d7:94:47:35:8f:88.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'server,10.1.1.61' (RSA) to the list of known hosts.
Password:
accounting:~# accounting:~# cd / accounting:/# ls var sbin home srv usr mnt selinux tmp vmlinuz initrd.img etc root dev sys lost+found proc boot opt run media lib64 bin lib accounting:/# cat /etc/issue Linux Mint 14 Julaya \n \l

Cela vous semble familier ? Nous avons terminé

Fonctionnalités supplémentaires

Kippo est livré avec plusieurs autres options et paramètres. L'un d'eux consiste à utiliser l'utilitaire utils/playlog.py pour rejouer les interactions du shell de l'attaquant stockées dans le répertoire log/tty/. De plus, Kippo permet de stocker les fichiers journaux dans la base de données MySQL. Consultez le fichier de configuration pour des paramètres supplémentaires.

Conclusion

Une chose qui doit être mentionnée est qu'il est conseillé de configurer le répertoire dl de Kipps sur un système de fichiers séparé. Ce répertoire contiendra tous les fichiers téléchargés par l'attaquant afin que vous ne vouliez pas que vos applications se bloquent faute d'espace disque.

Kippo semble être une alternative de pot de miel SSH agréable et facile à configurer aux environnements de pot de miel entièrement chrootés. Kippo a plus de fonctionnalités à offrir que celles décrites dans ce guide. Veuillez lire kippo.cfg pour vous familiariser avec eux et ajuster les paramètres de Kippo en fonction de votre environnement.


Ubuntu
  1. Autoriser la connexion racine ssh sur le serveur Linux Ubuntu 14.04

  2. Comment changer le port SSH sous Linux

  3. Changer le port SSH sur le système Linux Ubuntu 20.04 - Meilleure méthode ?

  4. Comment changer le port SSH sur Lubuntu 20.04 Linux

  5. Comment activer le serveur SSH sur Ubuntu 22.04 Jammy Linux

Activer SSH sur Ubuntu 22.04 Jammy Jellyfish Linux

Comment changer le port SSH sous Linux

Comment installer le serveur SSH dans Ubuntu 20.04

Comment activer ssh sur Ubuntu 20.04 LTS Linux

Comment changer le port SSH dans Ubuntu

Comment changer le port SSH sur Ubuntu ?