Pengantar
Apakah Anda merasa ada seseorang yang mencoba mengakses server Anda? Untuk mengetahuinya, Anda dapat menggunakan honeypot dalam sistem Anda untuk membantu Anda meredakan paranoia dengan mengonfirmasi atau mengabaikan keyakinan awal Anda. Sebagai contoh, Anda dapat memulai honeypot Kippo SSH, yang memungkinkan Anda memantau upaya paksa, mengumpulkan eksploitasi dan malware hari ini. Kippo juga secara otomatis merekam sesi shell peretas, yang dapat Anda putar ulang untuk menjelajahi berbagai teknik peretasan dan kemudian menggunakan pengetahuan yang dikumpulkan ini untuk memperkuat server produksi Anda. Alasan lain mengapa menginstal honeypot adalah untuk mengalihkan perhatian dari server produksi Anda. Dalam tutorial ini kami akan menunjukkan cara menerapkan honeypot Kippo SSH di server Ubuntu.
Prasyarat
Kippo SSH honeypot adalah aplikasi berbasis python. Oleh karena itu, pertama-tama kita perlu menginstal pustaka python:
$ sudo apt-get install python-twisted
Biasanya Anda akan menjalankan sshd mendengarkan layanan pada port default 22. Masuk akal untuk menggunakan port ini untuk honeypot SSH Anda dan dengan demikian jika Anda sudah menjalankan layanan SSH, kita perlu mengubah port default ke nomor lain. Saya menyarankan untuk tidak menggunakan port alternatif 2222 karena penggunaannya sudah diketahui secara umum dan dapat merusak penyamaran Anda. Mari kita pilih beberapa angka 4 digit acak seperti 4632. Buka file konfigurasi SSH /etc/ssh/sshd_config Anda dan ubah arahan Port dari:
Port 22
untuk
Port 4632
Setelah selesai restart sshd Anda:
$ sudo service ssh restart
Anda dapat mengonfirmasi bahwa Anda telah mengubah port dengan benar dengan netstat perintah:
$ netstat -ant | grep 4632
tcp 0 0 0.0.0.0:4632 0.0.0.0:* LISTEN
Selanjutnya, Kippo perlu menjalankan pengguna yang tidak memiliki hak istimewa, jadi sebaiknya buat beberapa akun pengguna terpisah dan jalankan Kippo di bawah akun ini. Buat pengguna baru kippo:
$ sudo adduser kippo
Pemasangan
Kippo tidak memerlukan instalasi yang membosankan. Yang perlu dilakukan hanyalah mengunduh tarball yang di-gzip dan mengekstraknya ke direktori kippo. Pertama, login sebagai atau ubah pengguna menjadi kippo lalu unduh kode sumber Kippo:
kippo@ubuntu:~$ wget http://kippo.googlecode.com/files/kippo-0.5.tar.gz
ekstrak dengan:
kippo@ubuntu:~$ tar xzf kippo-0.5.tar.gz
ini akan membuat direktori baru bernama kippo-0.5.
Konfigurasi
Setelah Anda menavigasi ke direktori Kippo, Anda akan melihat:
kippo@ubuntu:~/kippo-0.5$ ls
data dl doc fs.pickle honeyfs kippo kippo.cfg kippo.tac log start.sh txtcmds utils
Direktori dan file yang paling terkenal di sini adalah:
- dl – ini adalah direktori default ketika kippo akan menyimpan semua malware dan exploit yang diunduh oleh peretas menggunakan perintah wget
- madu – direktori ini berisi beberapa file, yang akan ditampilkan ke penyerang
- kippo.cfg – file konfigurasi kippo
- log – direktori default untuk mencatat interaksi penyerang dengan shell
- start.sh – ini adalah skrip shell untuk memulai kippo
- util – berisi berbagai utilitas kippo yang paling terkenal adalah playlog.py, yang memungkinkan Anda untuk memutar ulang sesi shell penyerang
Kippo telah dikonfigurasi sebelumnya dengan port 2222. Hal ini terutama karena kippo perlu dijalankan karena pengguna non-privilege dan pengguna non-privilege tidak dapat membuka port apa pun, yang berada di bawah nomor 1024. Untuk mengatasi masalah ini kita dapat menggunakan iptables dengan Direktif "PREROUTING" dan "REDIRECT". Ini bukan solusi terbaik karena setiap pengguna dapat membuka port di atas 1024 sehingga menciptakan peluang untuk dieksploitasi.
Buka file konfigurasi Kippo dan ubah nomor port default ke beberapa nomor arbitrer seperti, 4633. Setelah ini, buat iptables redirect dari port 22 ke kippo di port 4633:
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 4633
Konfigurasi opsional
Sistem file
Selanjutnya, Anda mungkin ingin mengonfigurasi sistem file, yang akan ditampilkan kepada penyerang setelah dia login ke honeypot kami. Secara default Kippo hadir dengan sistem filenya sendiri tetapi sudah ada sejak tahun 2009 dan sepertinya tidak masuk akal lagi. Anda dapat mengkloning sistem file Anda sendiri tanpa mengungkapkan informasi apa pun dengan utilitas Kippo utils/createfs.py . Dengan hak akses root, jalankan perintah linux berikut untuk mengkloning sistem file Anda:
# cd /home/kippo/kippo-0.5/
# utils/createfs.py > fs.pickle
Doing stuff
Nama sistem operasi
Kippo juga memungkinkan Anda untuk mengubah nama sistem operasi yang terletak di file /etc/issue. Katakanlah kita menggunakan Linux Mint 14 Julaya. Tentu saja Anda akan menggunakan sesuatu yang nyata dan masuk akal.
$ echo "Linux Mint 14 Julaya \n \l" > honeyfs/etc/issue
File kata sandi
Edit honeyfs/etc/passwd dan membuatnya lebih masuk akal dan juicy.
Kata sandi root alternatif
Kippo hadir dengan kata sandi "123456" yang telah ditentukan sebelumnya. Anda dapat menyimpan pengaturan ini dan menambahkan lebih banyak kata sandi seperti:pass, a , 123, password, root
kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add pass kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add a kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add 123 kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add password kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add root
Sekarang penyerang akan dapat masuk sebagai root dengan salah satu kata sandi di atas.
Membuat Perintah Baru
Selanjutnya, Kippo memungkinkan Anda untuk mengkonfigurasi perintah tambahan yang disimpan di direktori txtcmds/. Untuk membuat perintah baru, misalnya df kita cukup mengarahkan output dari df real yang sebenarnya perintah ke txtcmds/bin/df:
# df -h > txtcmds/bin/df
Di atas adalah perintah output teks statis sederhana tetapi akan membuat penyerang sibuk untuk beberapa waktu.
Nama Inang
Edit file konfigurasi kippo.cfg dan ubah nama host Anda menjadi sesuatu yang lebih menarik seperti:
hostname = accounting
Memulai Kippo SSH Honeypot
Jika Anda mengikuti petunjuk di atas hingga saat ini, sekarang Anda seharusnya telah mengonfigurasi honeypot SSH Anda dengan pengaturan berikut:
- port mendengarkan 4633
- portforward iptables dari 22 -> 4633
- nama host:akuntansi
- beberapa kata sandi root
- kloning honeyfs terbaru dari sistem Anda yang ada
- OS:Linux Mint 14 Julaya
Mari kita mulai Kippo SSH honeypot sekarang.
$ pwd
/home/kippo/kippo-0.5
kippo@ubuntu:~/kippo-0.5$ ./start.sh
Starting kippo in background...Generating RSA keypair...
done.
kippo@ubuntu:~/kippo-0.5$ cat kippo.pid
2087
Dari atas, Anda dapat melihat bahwa Kippo memulai dan membuat semua kunci RSA yang diperlukan untuk komunikasi SSH. Selain itu, ia juga membuat file bernama kippo.pid, yang berisi nomor PID dari instance Kippo yang sedang berjalan, yang dapat Anda gunakan untuk menghentikan kippo dengan kill perintah.
Menguji penerapan SSH Honeypot
Sekarang, kita seharusnya bisa login ke server ssh baru kita alias ssh honeypot pada port ssh default 22:
$ ssh root@server
The authenticity of host 'server (10.1.1.61)' can't be established.
RSA key fingerprint is 81:51:31:8c:21:2e:41:dc:e8:34:d7:94:47:35:8f:88.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'server,10.1.1.61' (RSA) to the list of known hosts.
Password:
accounting:~# accounting:~# cd / accounting:/# ls var sbin home srv usr mnt selinux tmp vmlinuz initrd.img etc root dev sys lost+found proc boot opt run media lib64 bin lib accounting:/# cat /etc/issue Linux Mint 14 Julaya \n \l
Terlihat tidak asing? Kita selesai
Fitur Tambahan
Kippo hadir dengan beberapa opsi dan pengaturan lainnya. Salah satunya adalah dengan menggunakan utilitas utils/playlog.py untuk memutar ulang interaksi shell penyerang yang disimpan di direktori log/tty/. Selain itu, Kippo memungkinkan file log disimpan oleh database MySQL. Lihat file konfigurasi untuk pengaturan tambahan.
Kesimpulan
Satu hal, yang perlu disebutkan adalah disarankan untuk mengonfigurasi direktori dl Kipps ke beberapa sistem file terpisah. Direktori ini akan menampung semua file yang diunduh oleh penyerang sehingga Anda tidak ingin aplikasi Anda hang karena tidak ada ruang disk.
Kippo tampaknya menjadi alternatif honeypot SSH yang bagus dan mudah dikonfigurasi untuk lingkungan honeypot chroot penuh. Kippo memiliki lebih banyak fitur untuk ditawarkan daripada yang dijelaskan dalam panduan ini. Harap baca kippo.cfg untuk mengenalnya dan sesuaikan pengaturan Kippo agar sesuai dengan lingkungan Anda.