
मध्यम-अंतःक्रिया SSH हनीपॉट जो ब्रूट फोर्स हमलों और पूर्ण आक्रमणकारी शेल अंतःक्रियाओं को लॉग करता है, साथ ही फिंगरप्रिंटिंग कम करने के लिए अनुकूलन विकल्प प्रदान करता है।
Kippo एक मध्यम इंटरैक्शन SSH हनीपॉट है जिसे ब्रूट फोर्स हमलों और, सबसे महत्वपूर्ण रूप से, हमलावर द्वारा की गई पूरी शेल इंटरैक्शन को लॉग करने के लिए डिज़ाइन किया गया है।
मूल होमपेज: https://code.google.com/p/kippo/।
यह Kippo का एक व्यक्तिगत सार्वजनिक फोर्क है, जिसमें अतिरिक्त सुविधाएँ और हनीपॉट की फिंगरप्रिंटिंग की संभावनाओं को कम करने के लिए संशोधन शामिल हैं।
यह "Kippo Honeypot v0.8 (svn r248 - 2014-05-19)" पर आधारित है।
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'
"iptables" का उपयोग करके ट्रैफ़िक को पोर्ट TCP 2222 (Kippo का डिफ़ॉल्ट पोर्ट) पर रीडायरेक्ट करना संभव है या... "authbind" का उपयोग करके गैर-विशेषाधिकार प्राप्त गैर-उपयोगकर्ता (nobody) को विशेषाधिकार प्राप्त पोर्ट TCP 22 (डिफ़ॉल्ट SSH पोर्ट) का उपयोग करने की अनुमति दें।
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'
...पहले से "असली" ssh पोर्ट को बदलना न भूलें!.
sed -i 's/^Port .*/Port 222/' /etc/ssh/sshd_config
service ssh restart
अनुकूलन को बढ़ाने के कुछ सुझाव, जिससे यह तुरंत अनूठा बन जाए (इसलिए पहचाने जाने की संभावना कम हो)।
...
hostname = uniquehostname
...
फ़ाइल: ./kippo.cfg
uniquehostname
फ़ाइल: ./honeyfs/etc/hostname
...
127.0.0.1 uniquehostname
....
फ़ाइल: ./honeyfs/etc/hosts
...
ssh_version_string = SSH-2.0-OpenSSH_6.0p1 Debian-4
...
फ़ाइल: ./kippo.cfg
*************************************************************
* All connections are monitored and recorded. *
* Disconnect IMMEDIATELY if you are not an authorized user! *
*************************************************************
फ़ाइल: ./honeyfs/etc/issue.net
यह स्वीकृत पासवर्ड सूची में "Password1" जोड़ देगा।
नोट: "*" जोड़ने पर कोई भी सबमिट किया गया पासवर्ड स्वीकार हो जाएगा।
cd /opt/kippo/ && python utils/passdb.py data/pass.db add Password1
निम्नलिखित कमांड /root/accounts.zip.enc में एक "नकली" फ़ाइल उत्पन्न करेगा (जो 7mb की है)।
dd if=/dev/urandom of=honeyfs/root/accounts.zip.enc bs=1M count=7
ये केवल कुछ सुझाव हैं - हनीपॉट को अपनी इच्छानुसार बदलने में संकोच न करें!
Kippo एक "सिम्युलेटेड वातावरण" है। हमलावरों को एक "नियंत्रित जेल" में रखा जाता है, जो केवल पूर्व-निर्धारित (यानी व्हाइटलिस्टेड) कमांड/फ़ाइलों पर प्रतिक्रिया देगा। परिणामस्वरूप, यह निम्नलिखित कारणों से पकड़ में आ सकता है, उदाहरण के लिए:
Kippo "परिपूर्ण" से बहुत दूर है और एक अनुभवी हमलावर द्वारा आसानी से पहचाना जा सकता है। हालाँकि, यह एक शौकिया हमलावर को भ्रमित कर सकता है या धोखा दे सकता है कि यह असली है। परिणामस्वरूप Kippo संकेत देगा यदि कोई ऐसी जगह पर है जहाँ उसे नहीं होना चाहिए (यानी एक प्रारंभिक चेतावनी प्रणाली) - साथ ही रीप्ले वापस देखना मज़ेदार है ;)।
यदि आप जोखिम स्वीकार नहीं करते हैं तो इसका उपयोग न करें। लेखक इस कार्यक्रम के उपयोग के लिए ज़िम्मेदार नहीं ठहराए जा सकते, जिसमें किसी भी संभावित डेटा हानि और/या क्षति शामिल है।
यह कोड अनधिकृत उपयोगकर्ताओं को उस सिस्टम और नेटवर्क में आमंत्रित करने के लिए डिज़ाइन और बनाया गया है जिस पर इसे निष्पादित किया जाता है। परिणामस्वरूप, वे आपके डिवाइस पर दुर्भावनापूर्ण कार्रवाई कर सकते हैं।
कोड स्वयं (जैसे wget कमांड) का उपयोग उन सेवाओं से कनेक्ट करने के लिए किया जा सकता है जो सार्वजनिक रूप से उजागर हो भी सकती हैं और नहीं भी। साथ ही संसाधनों तक पहुँचने में कोई सीमा न होने के कारण विभिन्न "DoS" कमज़ोरियाँ हैं। कोड स्वयं भी किसी सुरक्षा ऑडिट से नहीं गुज़रा है।
यदि आप इसे उपयोग करने जा रहे हैं, तो अत्यधिक अनुशंसा की जाती है कि आप इसे एक सुरक्षित, अद्यतित, पृथक मशीन पर चलाएँ जिसमें कोई संवेदनशील जानकारी न हो और साथ ही बाकी नेटवर्क से अलग हो (जैसे DMZ ज़ोन)।