
خادم SSH وهمي متوسط التفاعل يسجّل هجمات القوة الغاشمة وتفاعلات الصدفة الكاملة للمهاجم، مع خيارات تخصيص لتقليل البصمة.
Kippo هو فخ SSH متوسط التفاعل مصمم لتسجيل هجمات القوة الغاشمة، والأهم من ذلك، كامل تفاعل الصدفة الذي يقوم به المهاجم.
الصفحة الرئيسية الأصلية: https://code.google.com/p/kippo/.
هذا fork عام شخصي لـ 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 (بحجم 7 ميجابايت).
dd if=/dev/urandom of=honeyfs/root/accounts.zip.enc bs=1M count=7
هذه مجرد بعض الاقتراحات - لا تتردد في تعديل الفخ كما تشاء!
Kippo هو "بيئة محاكاة". يتم وضع المهاجمين في "سجن مُتحكم به"، والذي سيستجيب فقط للأوامر/الملفات المحددة مسبقًا (المعروفة أيضًا بالقائمة البيضاء). ونتيجة لذلك، قد يخيب ظنهم، على سبيل المثال:
Kippo بعيد كل البعد عن "الكمال" ويمكن التعرف عليه بسهولة من قبل مهاجم متمرس. ومع ذلك، قد يربك هذا أو حتى يخدع مهاجمًا مبتدئًا ليعتقد أنه حقيقي. ونتيجة لذلك، سيشير Kippo إلى ما إذا كان شخص ما في مكان لا ينبغي أن يكون فيه (المعروف أيضًا بنظام الإنذار المبكر) - بالإضافة إلى أنه من الممتع مشاهدة الإعادات ;).
لا تستخدمه إذا كنت لا تقبل المخاطر. لا يمكن تحميل المؤلف(ين) مسؤولية استخدام هذا البرنامج، بما في ذلك أي فقدان محتمل للبيانات و/أو أضرار.
تم تصميم وإنشاء هذا الكود لدعوة المستخدمين غير المصرح لهم إلى النظام والشبكة التي يتم تنفيذه عليها. ونتيجة لذلك، قد يقومون بأفعال ضارة على جهازك/أجهزتك.
يمكن استخدام الكود نفسه (على سبيل المثال أمر wget) للاتصال بخدمات قد تكون أو لا تكون مكشوفة للعامة. كما توجد ثغرات "DoS" متنوعة بسبب عدم وجود قيود عند الوصول إلى الموارد. كما لم يخضع الكود نفسه لتدقيق أمني.
إذا كنت ستستخدمه، فمن المستحسن بشدة تشغيله على جهاز آمن ومحدث ومعزول لا يحتوي على أي معلومات حساسة بالإضافة إلى كونه منفصلًا عن بقية الشبكة (على سبيل المثال منطقة DMZ).