Honeypot
Mise en place de cowrie
https://medium.com/@jeremiedaniel48/install-and-setup-cowrie-honeypot-on-ubuntu-linux-5d64552c31dc
Cowrie est un honeypot basé sur Python. Il permet aux attaquants de se connecter et permet de voir ce qu'ils font. Je part d'une debian 10.
<source>
- Changer le port par défaut ssh vers 220
vim /etc/ssh/sshd_config
- Modifier le port
systemctl restart sshd
- Installation dépendances
sudo apt-get install git python3-virtualenv libssl-dev build-essential libpython-dev python3 authbind sudo adduser --disabled-password cowrie su - cowrie git clone http://github.com/micheloosterhof/cowrie </source>
On a désormais Cowrie. Il fonctionne avec virtualenv. Le dossier Cowrie contient des dossiers var, etc... à ne pas confondre avec ceux du système. On va le configurer et le lancer:
<source> cd cowrie/ virtualenv cowrie-env source cowrie-env/bin/activate python3 -m pip install -r requirements.txt cd etc/ cowrie-env/bin/deactivate cp cowrie.cfg.dist cowrie.cfg vim cowrie.cfg </source>
Les lignes à paramétrer:
<source> hostname = pve #Nom d'hôte log_path = var/log/cowrie #Ne pas hésiter à mettre des liens vers celui-ci dans /var/log guest_ssh_port = 22 #Vérifier les ports
- Partie Telnet
[telnet] enabled = True listen_endpoints = tcp:2223:interface=0.0.0.0
- Partie SSH
[ssh] enabled = True listen_endpoints = tcp:2222:interface=0.0.0.0 </source>
On va ensuite permettre à certains utilisateurs de se connecter, notamment root avec un mot de passe volontairement naze: <source> cp cowrie/etc/userdb.example cowrie/etc/userdb.txt
- Qui contient :
root:x:!root root:x:!123456 root:x:!/honeypot/i root:x:password tomcat:x:* oracle:x:* </source>
On doit rediriger ssh et telnet vers les ports de cowrie:
<source> sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222 sudo iptables -t nat -A PREROUTING -p tcp --dport 23 -j REDIRECT --to-port 2223 </source>
Enfin, pour lancer cowrie: <source> cowrie@hackme:~$ cowrie/bin/cowrie usage: cowrie/bin/cowrie <start|stop|force-stop|restart|status> </source>
Splunk
Aucun intérêt si on ne fait rien des données ! On va installer splunk dans un conteneur et avoir un dashboard.
Sur ma machine docker (une AUTRE machine, aps celle de cowrie)
<source> sudo docker run -d -p 8000:8000 -p 8088:8088 -e "SPLUNK_START_ARGS=--accept-license" -e "SPLUNK_PASSWORD=motdepasse" --name splunk splunk/splunk:latest </source>
On attend que le conteneur soit 'healthy' (et pas 'installing') dans docker container ls, puis on se connecte sur l'interface web : http://docker.mon.domaine:8000.
Dans l'URL, changer fr-FR par en-US. Puis:
- Settings > Data Inputs > HTTP event collector > Global settings
Vérifier que le port number est bien 8088 et DECOCHER Enable SSL.
- Settings > Data Inputs > HTTP event collector > New Token
L'appeller "cowrie" puis next > Review > submit (rien à changer). NOTER LE TOKEN
- Settings > Indexes > New Index
L'appeller "cowrie" et save.
- Settings > Data Inputs > HTTP event collector
Editer cowrie > Default Index : choisir cowrie
Puis, sur la machine cowrie, éditer le cowrie/etc/cowrie.cfg pour avoir: <source> [output_splunk] enabled = true url = http://docker.ju.lab:8088/services/collector token = 8694fab3-fca4-4ee3-9bd6-288a9e09c5eb index = cowrie
- sourcetype = cowrie
- source = cowrie
</source> Noter que sourcetype et source doivent être commentés
Relancer cowrie:
cowrie/bin/cowrie restart
Enfin, sur l'interface web splunk: Télécharger https://www.dropbox.com/s/fo3qk4nav93ksc1/ManukaHoneyPot.tar.gz?dl=0 Sur l'interface web splunk, choisir Apps > Manage Apps Install app from file et choisir Manuka Honeypot Plus qu'à retourner sur le home, et afficher Manuka Honeypot dans la barre de gauche.