Cara Menggunakan Cowrie SSH Honeypot Untuk Menangkap Penyerang Di Jaringan Anda


Internet terus dikepung oleh bot yang mencari kerentanan untuk diserang dan dieksploitasi. Sementara kebijaksanaan konvensional adalah untuk mencegah serangan ini, ada cara untuk sengaja memancing hacker ke dalam perangkap untuk memata-matai mereka, mempelajari perilaku mereka, dan menangkap contoh malware.

Dalam artikel ini, kita akan menciptakan honeypot Cowrie, target yang menarik untuk menarik dan menjebak hacker.

Honeypot adalah perangkat jaringan atau perangkat yang terpasang di internet yang dirancang untuk diserang dan diberikan serangkaian kerentanan tertentu. Honeypots biasanya bermaksud meniru jenis perangkat yang diminati penyerang seperti server web.

Meskipun perangkat ini dapat muncul serupa atau bahkan identik, dengan server asli selama pemindaian pasif, ada sejumlah perbedaan mendasar antara honeypot yang dibuat dengan sengaja dan server yang rentan.

Perubahan ini mencoba membuat honeypot tidak dapat dibedakan dari server produksi ke peretas potensial yang memindai port SSH yang terbuka untuk menyerang sekaligus membatasi bahaya sebenarnya dari server yang tidak aman dengan membuatnya di lingkungan yang sandboxed. Ini menciptakan sesuatu yang terlihat nyata dan tampak rentan terhadap hacker namun tidak menimbulkan bahaya yang sama bagi administrator server karena server yang benar-benar rentan.

Cowrie adalah honeypot yang mencoba meniru server SSH , yang khusus memiliki kredensial login yang lemah dan mudah dibaca. Setelah penyerang masuk, mereka akan memiliki akses ke shell Linux palsu di mana mereka dapat menjalankan perintah dan menerima respons tampak realistis, namun penyerang tidak akan pernah dapat benar-benar menjalankan perintah nyata ini di luar lingkungan honeypot sandbox. Itu karena Cowrie "shell" ini sebenarnya bukan shell Linux sama sekali. Lingkungan command-line diimplementasikan sepenuhnya dengan Python.

Seperti honeypots lainnya, sambil membodohi penyerang untuk berpikir bahwa mereka berada di server, Cowrie juga akan mencatat atau menganalisis serangan yang dilakukan terhadapnya. Hal ini memungkinkan administrator honeypot mendapatkan gagasan tentang jenis serangan yang sedang dicoba, tingkat keberhasilan atau kegagalan umum mereka, serta lokasi geografis IP dari mana serangan yang diberikan berasal. Cowrie juga mampu mencoba menangkap informasi tentang penyerang tertentu dan bukan hanya metadata serangan mereka, seperti sidik jari SSH yang tidak sengaja terkena.

Honeypots Membantu Memahami Cara Kerja Hacker Berbahaya

Peretas mencoba memanfaatkan sejumlah utilitas Linux, mungkin untuk mendownload dan menjalankan malware di server, hanya untuk menemukan bahwa sementara perintah ini mengembalikan banyak respons normal, upaya untuk benar-benar menjalankan perangkat lunak perusak atau mencuri data tampaknya gagal.

Mungkin dengan atau tanpa menyadari bahwa mereka menggunakan honeypot, penyerang akhirnya menjadi frustrasi dan berusaha menghapus setiap file di sistem dengan rm perintah yang tentu saja juga gagal karena sifat honeypot yang dilindungi.

Bagi peneliti, honeypot adalah cara terbaik untuk memahami secara langsung serangan macam apa yang digunakan di alam liar, dan dengan demikian dapat melindungi secara lebih efektif terhadap mereka. Sebuah honeypot akan menarik hacker, beberapa di antaranya akan mencoba menginstal malware secara otomatis atau mungkin bahkan beberapa yang akan langsung mencoba mengakses mesin untuk mencuri data apa pun yang ada di dalamnya. Peretas lain yang kurang efektif dapat secara manual mencoba menyerang mesin.

Honeypots Melindungi dan Membantu Mengidentifikasi Pelanggaran

Kehadiran honeypot juga dapat mengalihkan perhatian beberapa penyerang berbahaya dari target sebenarnya dan membuang-buang waktu mereka, berpotensi melindungi jaringan yang lebih besar dengan mesin produksi nyata yang digunakan. Mereka juga dapat membantu dalam mengidentifikasi pelanggaran jaringan lokal, jika mesin lain di LAN dikompromikan, bukti tersebut dapat diungkap saat penyerang mencoba melakukan pivot ke honeypot. Jika pengguna di jaringan besar yang tidak sadar terinfeksi oleh perangkat lunak perusak, mungkin terdeteksi setelah honeypot menerima upaya masuk yang berasal dari perangkat yang terinfeksi tersebut, dan administrator jaringan mungkin dapat mengidentifikasi dan menyelesaikan masalah tersebut.

Sebuah honeypot tidak akan pernah dibagi dengan server sebenarnya atau terhubung ke jaringan nyata. Hati-hati saat membuat honeypot, seolah-olah kesalahan itu bisa membuat kerentanan nyata. Cowrie tidak diketahui rentan sendiri namun membawa perhatian pada mesin sebagai honeypot menyebabkan kemungkinan serangan yang lebih tinggi terhadap layanan lain yang mungkin memiliki kekurangan keamanan. Dengan pemikiran ini Anda harus memastikan bahwa di manapun Anda memilih untuk memasang honeypot Anda tidak digunakan sebagai mesin live untuk layanan lainnya.

Berikut ini langkah-langkahnya:

Langkah 1
Memilih Tempat Menginstal Cowrie

Cowrie sendiri tidak memerlukan spesifikasi teknis yang cukup besar untuk dijalankan. Honeypot dapat diinstal pada hampir semua hal dengan shell Linux dan koneksi jaringan termasuk pada Raspberry Pi.

Untuk menarik serangan melalui internet, honeypot Anda perlu terhubung ke internet dan tersedia untuk dipindai port. Pemindaian port ini mungkin memerlukan penyesuaian pada konfigurasi router atau firewall Anda di jaringan Anda. Salah satu penyesuaian semacam itu mungkin adalah port forwarding yang berfokus pada router untuk sengaja mengekspos port tertentu ke internet.

Daripada menarik perhatian ke jaringan lokal dan menyesuaikan konfigurasi jaringan, seseorang juga dapat menggunakan virtual private server (VPS), contoh mesin virtual yang disediakan oleh penyedia hosting. Tidak seperti ruang server online tradisional, yang umumnya hanya menyediakan akses FTP untuk hosting situs web atau file, VPS menyediakan akses shell sistem operasi langsung, ideal untuk memasang honeypot.

Jika Anda memilih untuk menggunakan Pi Raspberry, ini merupakan platform yang relatif bagus untuk honeypot, karena biaya rendahnya membuat aplikasi sumber daya yang tidak praktis menjadi honeypot lebih mudah untuk dibenarkan. Mengingat server sebenarnya tidak boleh digunakan karena server berfungsi dan honeypot pada saat yang bersamaan, menerapkan komputer papan sirkuit kecil adalah solusi yang baik. The Raspberry Pi 3 adalah platform yang ideal karena memiliki spesifikasi tertinggi dari setiap Pi tersedia. Ini tersedia hanya sebagai komputer papan tunggal atau dengan starter kit yang mudah digunakan.

Dalam artikel ini, Cowrie terinstal di VPS yang menjalankan Debian. Penyedia VPS umumnya mengizinkan pilihan sistem operasi serta jumlah memori dan inti CPU yang disediakan. Untuk menjalankan Cowrie, distribusi spesifik server Linux akan bekerja pada pilihan server dengan spesifikasi paling rendah sekalipun. Distribusi desktop juga fungsional walaupun beberapa distribusi tujuan khusus seperti Kali Linux mungkin tidak ideal karena penggunaan peraturan firewall non-standar dan konfigurasi istimewa akun.

Dalam artikel ini, kita menggunakan Debian, desktop dan server distribusi Linux yang dikenal dengan stabilitas dan keamanan. Distro berbasis Debian lainnya seperti Ubuntu atau Raspbian juga merupakan pilihan yang efektif.

Pemaparan honeypot tergantung pada koneksi jaringannya. Pada VPS, Anda menyiapkan honeypot pada port 22 rentan yang terpapar ke seluruh internet, seperti adanya perangkat lain yang terhubung ke internet secara langsung. Jika, sebaliknya, Anda ingin mendeteksi upaya tembus dan pivot dalam jaringan lokal tersebut, tetapkan honeypot Anda ke dalam LAN.

Langkah 2
Mempersiapkan Instalasi Cowrie

Langkah pertama untuk mempersiapkan server Anda adalah memastikannya diperbarui. Sementara honeypot akan dengan sengaja membatasi eksposur sistem yang sebenarnya, ada baiknya untuk memastikan bahwa versi Linux yang digunakan pada mesin yang ingin Anda pasang honeypot ada yang up to date dan aman.

Pada distro berbasis Debian atau Debian seperti Ubuntu, sistem dapat diperbarui menggunakan apt-get. Ini bisa dimasukkan ke dalam sistem command line atau lebih dari SSH jika Anda menghubungkan ke sistem jarak jauh.

Setelah Anda up to date, kita dapat menginstal beberapa dependensi khusus Cowrie dengan menjalankan perintah di bawah ini.

sudo apt-get install git python-virtualenv libssl-dev libffi-dev build-essential libpython-dev python2.7-minimal authbind

Setelah prasyarat dipasang, langkah selanjutnya adalah memindahkan layanan SSH yang sebenarnya ke port yang berbeda. Sementara honeypot akan meniru server SSH pada port 22, kami ingin bisa tetap mengelola sistem melalui SSH di port yang berbeda. Kita bisa menentukan ini di file konfigurasi daemon daemon. Kita bisa mengedit file ini di editor teks Nano, termasuk di kebanyakan distro Linux dengan menjalankan perintah di bawah ini di terminal.

sudo nano / etc / ssh / sshd_config

Ubah nomor setelah "Port" dari 22 menjadi nomor yang Anda pilih, dan pastikan untuk menghapus simbol "#" dari awal baris jika sebelumnya berkomentar. Dalam contoh ini, saya mengubah port menjadi "9022." Nomor port ini mewakili port dimana kita benar-benar akan mengelola honeypot, sementara layanan honeypot yang rentan akan berjalan di port 22 seperti layanan SSH konvensional. Hal ini dapat diatur ke nomor apapun, asalkan bukan port 22.

Setelah berubah dibuat untuk file tersebut, mereka dapat disimpan dalam Nano dengan menekan Ctrl + O dan kemudian keluar Nano denganCtrl + X . Setelah konfigurasi SSH diubah, layanan bisa di restart dengan systemd dengan menggunakan perintah di bawah ini di terminal.

sudo systemctl restart ssh

Jika Anda menginstal pada VPS atau ingin terhubung ke mesin honeypot Anda dari jarak jauh, saat menggunakan SSH, gunakan opsi -p untuk menentukan port baru ini. Untuk menghubungkan SSH ke port 9022, perintah di bawah ini akan digunakan, diikuti oleh alamat server.

ssh -p 9022

Sekarang, kami siap untuk memulai konfigurasi awal Cowrie.

Langkah 3
Instalasi Cowrie

Langkah pertama dari proses instalasi adalah membuat akun pengguna baru khusus untuk Cowrie. Kita bisa melakukan ini dengan perintah adduser dengan menjalankan string di bawah ini.

sudo adduser --disabled-password cowrie

Ini membuat akun pengguna baru tanpa kata kunci dan nama pengguna "cowrie." Kita bisa login ke akun pengguna baru ini dengan menggunakan sudo su seperti pada perintah di bawah ini.

sudo su - cowrie

Selanjutnya kita bisa mengkloning kode sumber Cowrie ke folder rumah pengguna baru ini dengan menggunakan Git, seperti yang ditunjukkan pada perintah di bawah ini.

git klonhttps://github.com/micheloosterhof/cowrie

Sekarang, kita bisa pindah ke folder cowrie dengan cd.

cd cowrie

Di dalam artikel ini, kita bisa membuat lingkungan virtual baru untuk alat ini dengan menjalankan perintah di bawah ini.

virtualenv cowrie-env

Kita kemudian bisa mengaktifkan lingkungan virtual baru ini:

sumber cowrie-env / bin / aktifkan

Dari sini, kita bisa menggunakan Pip untuk memasang persyaratan tambahan. Pertama, update Pip dengan perintah berikut.

pip install --upgrade pip

Sekarang pasang persyaratan dengan string yang ditunjukkan di bawah ini. Filerequirement.txt yang disertakan dengan Cowrie digunakan sebagai referensi untuk dependensi Python agar Pip dapat menginstal.

pip install --upgrade -r requirements.txt

Konfigurasi untuk Cowrie didefinisikan dalam dua file, cowrie.cfg.dist dan cowrie.cfg.Secara default, hanya cowrie.cfg.dist yang disertakan saat alat diunduh, namun setelan apa pun yang ditetapkan dalam cowrie.cfg akan diprioritaskan. Untuk membuatnya sedikit lebih mudah dikonfigurasi, kita bisa membuat salinan cowrie.cfg.dist dan menggunakannya untuk membuat cowrie.cfg, sehingga ada backup dari file asli. Kita bisa melakukan ini dengan menggunakan perintah cp seperti yang ditunjukkan pada string di bawah ini.

cp cowrie.cfg.dist cowrie.cfg

Kita bisa mengedit file konfigurasi ini di Nano dengan menjalankan nano cowrie.cfgdari command line. Pengaturan pertama yang mungkin perlu diubah adalah nama host dari honeypot. Meskipun ini tidak perlu, default "svr04" mungkin merupakan indikator bahwa ini adalah honeypot untuk penyerang.

Selanjutnya, "listen_port" harus disetel ke "22" daripada "2222", sehingga sambungan yang diupayakan pada port SSH standar diperbolehkan.

Kita sekarang bisa membuat perubahan lain ke file, menyimpannya dengan Ctrl + O , dan keluar Nano denganCtrl + X . Setelah file disimpan, kita juga bisa mengupdate konfigurasi port routing untuk sistem dengan cara tunning perintah di bawah ini.

iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222

Kita sekarang bisa meluncurkan Cowrie dengan menjalankan string di bawah ini dari folder Cowrie.

bin / cowrie mulai

Jika ini berhasil, honeypot sekarang berjalan! Anda juga bisa menghentikannya kapan saja dengan menjalankan pemberhentian bin / cowrie.

Langkah 4
Memantau dan Menyerang Honeypot

Jika kita melakukan pemindaian jaringan seperti Nmap terhadap server kita, kita akan melihat ketiga port SSH yang kita konfigurasikan aktif. Port 2222 terlihat dimana Cowrie berjalan, begitu pula port 22, port SSH standar diteruskan oleh konfigurasi iptables yang didefinisikan sebelumnya. Terakhir, port 9022 juga disaring, port administrasi SSH yang sebenarnya digunakan.

Jika kita mencoba untuk terhubung ke port 22 atau 2222, kita bisa langsung "menyerang" honeypot kita sendiri.Honeypot akan menerima hampir semua kredensial login yang dicoba, dan juga menghadirkan sesuatu yang mirip dengan shell Linux.

Setelah masuk ke honeypot pada port 22 dan mencoba menjalankan perintah di atasnya, kita dapat meninjau kembali apa yang kita lakukan dengan masuk kembali ke port 9022 untuk memeriksa log. Log ini dicatat dalam format yang dapat diputar ulang secara real-time menggunakan alat replay log terpadu. Script ini bisa dijalankan diikuti dengan file log tertentu sebagai argumen untuk mengulanginya secara real time.

Untuk memanggil skrip, gunakan ./bin/playlog dari direktori Cowrie diikuti dengan nama log yang ingin Andaputar ulang. Log terletak di direktori / log / tty / direktori direktori Cowrie, dan masing-masing diberi judul prosedural, dengan tanggal dan waktu ditetapkan secara otomatis sebagai nama file. Untuk melihat log yang tersedia, gunakan ls dengan menjalankan ls log / tty dari direktori Cowrie. Setelah Anda memilih log untuk dilihat, gunakan sebagai argumen untuk skrip playlog, seperti yang ditunjukkan pada contoh perintah di bawah ini.

./bin/playlog /home/cowrie/cowrie/log/tty/20171214-154755-fe93f2240ae-0i.log

Jika honeypot Anda terhubung ke internet, Anda bisa menunggu sampai probe yang tak terelakkan mencoba masuk dan menjatuhkan malware ke mesin. Cowrie open source dan sangat dapat dikonfigurasi, dan benar-benar dapat diperluas dan dikombinasikan agar memiliki fungsi lebih lanjut agar sesuai untuk berbagai proyek honeypot. Dengan setup yang sangat minim, masih sangat bertenaga, dan cara yang menarik untuk memahami pemandangan serangan internet.



Comments

Popular Posts