Merhaba
Kippo, python dili ile geliştirilmiş bir SSH honeypot projesi. Kurumlar tarafından default SSH portu üzerinde çalıştırılan Kippo, sahte bir dosya sistemi sunarak saldırganların çalıştırdığı komutları log dosyasına yazmaktadır. Kippo projesine https://github.com/desaster/kippo adresin ulaşılabilir. Kippo’nun kurulumu ile ilgili adımlar hızlıca aşağıdak anlatılmıştır.
Kurulum
# Gerekli paketlerin kurulumu apt-get update apt-get upgrade apt-get install python-dev openssl python-openssl python-pyasn1 python-twisted unzip # 22. tcp portuna Kippo servisini root olarak çalıştırmak sakıncalıdır. apt-get install authbind useradd -d /home/kippo -s /bin/bash -m kippo -g sudo touch /etc/authbind/byport/22 chown kippo /etc/authbind/byport/22 # Kippo kurulumu su kippo wget https://github.com/desaster/kippo/archive/v0.9.zip unzip -x v0.9.zip cd kippo-0.9 mv kippo.cfg.dist kippo.cfg # kippo.cfg dosyasında 2222 portunu 22 olarak değiştiriniz. sed -i 's/2222/22/g' kippo.cfg
NOT: Kurulum adımları için https://github.com/desaster/kippo/wiki/Running-Kippo
Son olarak Kippo servisinin otomatik çalışması için start.sh dosyasında twistd ile başlayan komut yerine aşağıdaki komut yazılmalıdır.
authbind --deep twistd -y kippo.tac -l log/kippo.log --pidfile kippo.pid
Ve servis aşağıdaki iki komut ile çalıştırılır.
mkdir log mkdir log/tty ./start.sh
Kippo SSH Servisine Brute Force Saldırısı
Kippo servisi kuruldu ve saldırganların gelmesi beklenmekte. Daha önce blog’umda yer verdiğim [Beleth] Multi-Threat Sözlük Saldırıları ile SSH Hacking Performansı aracı ile SSH servisine brute force saldırısı gerçekleştirilecektir.
Brute force saldırısı başarıyla sonuçlandı ve şifre 123456 olarak belirlenmiş durumda. Hedef sisteme 123456 şifresi ile giriş yapıldığında ise honeypot log dosyası aşağıdaki gibi tutuluyor olacaktır.
root@pentest:~# ssh -l root 178.62.199.46 Password: nas3:~# echo "HELLO WORLD" HELLO WORLD nas3:~#
Honeypot log dosyasinda çalıştırılan her komut tutulmaktadır.
2014-12-12 07:55:58-0500 [SSHChannel session (0) on SSHService ssh-connection on HoneyPotTransport,29,18.6.164.14] CMD: echo "HELLO WORLD" 2014-12-12 07:55:58-0500 [SSHChannel session (0) on SSHService ssh-connection on HoneyPotTransport,29,18.6.164.14] Command found: echo "HELLO WORLD"
Kippo SSH Honeypot’un Tespiti
Penatrasyon testi gerçekleştirilen kurumların dışa açık ipleri üzerinde çalışan SSH servisi tespit edildiğinde, ilk yapılan işlem SSH Brute force tekniğidir. Eğer testi blackbox olarak gerçekleştiriyorsanız, bu tür honeypot’lara dikkat etmek gerekir. Aksi takdirde passwordu 123456 olan SSH servisi tespit ettik diye rapora yazarak madara olunabilir. ( Bir pentest raporunda, 1-65535 arası tüm portlar açıktır! yazısı gördü bu gözler. Syncookie/proxy ‘den habersiz pentester.. )
Honeypot’ları tespit etmek kolay bir işlem değildir. Kippo gibi son derece popüler bir honeypot için, bu blog yazısının yazıldığı tarihte geliştirilmeye devam eden bir metasploit modülü bulunmakta. Bu modül yakın zaman içerisinde msf repolarına merge edilecektir.
msf > use auxiliary/scanner/ssh/detect_kippo msf auxiliary(detect_kippo) > show options Module options (auxiliary/scanner/ssh/detect_kippo): Name Current Setting Required Description ---- --------------- -------- ----------- RHOSTS yes The target address range or CIDR identifier RPORT 22 yes The target port THREADS 1 yes The number of concurrent threads msf auxiliary(detect_kippo) > set RHOSTS 178.62.199.46 RHOSTS => 178.62.199.46 msf auxiliary(detect_kippo) > run [*] 178.62.199.46 - Kippo honeypot detected! [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed
Görüldüğü üzere Kippo honeypot detected! uyarı verilmekte. Gerçek SSH servisi demo ortamında 2222 numaralı portta çalıştığı için birde gerçek SSH servisini test edelim.
msf auxiliary(detect_kippo) > set RPORT 2222 RPORT => 2222 msf auxiliary(detect_kippo) > run [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed