
SSH-Honeypot mit mittlerer Interaktion, der Brute-Force-Angriffe und vollständige Shell-Interaktionen von Angreifern protokolliert, mit Anpassungsoptionen zur Reduzierung von Fingerprinting.
Kippo ist ein SSH-Honeypot mit mittlerer Interaktion, der entwickelt wurde, um Brute-Force-Angriffe und, was am wichtigsten ist, die gesamte Shell-Interaktion des Angreifers zu protokollieren.
Original-Homepage: https://code.google.com/p/kippo/.
Dies ist ein persönlicher öffentlicher Fork von Kippo, der zusätzliche Funktionen sowie Änderungen enthält, um die Wahrscheinlichkeit eines Fingerabdrucks des Honeypots zu verringern.
Dies basiert auf "Kippo Honeypot v0.8 (svn r248 - 2014-05-19)".
Getestet auf Debian 7 stable.
apt-get update
apt-get -y install openssl python python-dev python-openssl python-pyasn1 python-twisted git
git clone git://github.com/g0tmi1k/kippo.git /opt/kippo/
cp -n /opt/kippo/kippo.cfg{.dist,}
chown -R nobody\:nogroup /opt/kippo/
su nobody -c '/bin/bash /opt/kippo/start.sh'
Es ist möglich, "iptables" zu verwenden und den Datenverkehr auf Port TCP 2222 (Kippos Standardport) umzuleiten, oder... "authbind" zu verwenden, um dem nicht-privilegierten Nicht-Benutzer (nobody) die Nutzung des privilegierten Ports TCP 22 (Standard-SSH-Port) zu ermöglichen.
apt-get -y install authbind
touch /etc/authbind/byport/22
chown nobody\:nogroup /etc/authbind/byport/22
chmod 0777 /etc/authbind/byport/22
sed -i 's/^twistd /authbind --deep twistd /' /opt/kippo/start.sh
sed -i 's/^ssh_port = .*/ssh_port = 22/' /opt/kippo/kippo.cfg
[ -e /opt/kippo/kippo.pid ] && kill $(cat /opt/kippo/kippo.pid) && sleep 2
su nobody -c '/bin/bash /opt/kippo/start.sh'
...Vergessen Sie nicht, vorher den "echten" SSH-Port zu ändern!.
sed -i 's/^Port .*/Port 222/' /etc/ssh/sshd_config
service ssh restart
Einige Vorschläge, wie die Anpassung erweitert werden kann, um die Instanz einzigartig zu machen (und somit die Erkennungswahrscheinlichkeit zu verringern).
...
hostname = uniquehostname
...
Datei: ./kippo.cfg
uniquehostname
Datei: ./honeyfs/etc/hostname
...
127.0.0.1 uniquehostname
....
Datei: ./honeyfs/etc/hosts
...
ssh_version_string = SSH-2.0-OpenSSH_6.0p1 Debian-4
...
Datei: ./kippo.cfg
*************************************************************
* All connections are monitored and recorded. *
* Disconnect IMMEDIATELY if you are not an authorized user! *
*************************************************************
Datei: ./honeyfs/etc/issue.net
Dies fügt "Password1" zur Liste der akzeptierten Passwörter hinzu.
Hinweis: Das Hinzufügen von "*" akzeptiert jedes eingegebene Passwort.
cd /opt/kippo/ && python utils/passdb.py data/pass.db add Password1
Der folgende Befehl erzeugt eine "gefälschte" Datei in /root/accounts.zip.enc (die 7 MB groß ist).
dd if=/dev/urandom of=honeyfs/root/accounts.zip.enc bs=1M count=7
Dies sind nur einige Vorschläge - fühlen Sie sich frei, den Honeypot nach Belieben zu verändern!
Kippo ist eine "simulierte Umgebung". Die Angreifer werden in ein "kontrolliertes Gefängnis" gesteckt, das nur auf vordefinierte (sogenannte whitelisted) Befehle/Dateien reagiert. Dadurch kann es sich verraten, zum Beispiel:
Kippo ist weit von "perfekt" entfernt und kann von einem erfahrenen Angreifer leicht identifiziert werden. Es könnte jedoch einen Amateur-Angreifer verwirren oder sogar täuschen, sodass er es für echt hält. Infolgedessen zeigt Kippo an, wenn sich jemand an einem Ort befindet, an dem er nicht sein sollte (also ein Frühwarnsystem) - außerdem macht es Spaß, die Wiederholungen anzusehen ;).
Nicht verwenden, wenn Sie die Risiken nicht akzeptieren. Der/die Autor(en) können nicht für die Verwendung dieses Programms verantwortlich gemacht werden, einschließlich eines möglichen Datenverlusts und/oder Schäden.
Dieser Code wurde entworfen und erstellt, um unautorisierte Benutzer in das System und das Netzwerk einzuladen, in dem er ausgeführt wird. Infolgedessen können sie bösartige Aktionen auf Ihrem Gerät/Ihren Geräten durchführen.
Der Code selbst (z. B. der wget-Befehl) kann verwendet werden, um eine Verbindung zu Diensten herzustellen, die möglicherweise öffentlich exponiert sind oder nicht. Außerdem gibt es verschiedene "DoS"-Schwachstellen, da es keine Einschränkungen beim Zugriff auf Ressourcen gibt. Der Code selbst wurde auch keinem Sicherheitsaudit unterzogen.
Wenn Sie ihn verwenden möchten, wird dringend empfohlen, ihn auf einer sicheren, aktuellen, isolierten Maschine auszuführen, die keine sensiblen Informationen enthält und vom Rest des Netzwerks getrennt ist (z. B. DMZ-Zone).