[Security] Deployment Kippo Honeypot On Linux Ubuntu

4 minute read

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم

Deployment Kippo Honeypot On Linux Ubuntu

Honeypot

Honeypot merupakan salah satu solusi yang dapat diberikan karena honeypot merupakan sebuah sistem umpan atau aplikasi simulasi yang mensimulasikan seluruh jaringan untuk memikat penyerang dengan menyamarkan diri sebagai sistem yang rentan

implementasi Kita bakal menggunakan metode honeypot medium interaction memanfaatkan tools aplikasi, yaitu Kippo yang dapat membuat layanan palsu sebagai target serangan dan mencatat aktivitas yang dianggap dapat membahayakan sistem dan jaringan, dengan adanya interaksi lebih lanjut ketika penyerang melakukan mengeksploitasi dan masuk dalam honeypot yang bisa kita trace log nya.

Requirements

Konfigurasi

Saya sarankan temen temen ikuti cara instalasi di atas jdi kita langsung ke konfig nya aja, lalu kita buat user biasa dulu karena progral kippo berjalanan di non-root user

By default layanan services ssh berjalan di port 22, dan si honeypot ini akan memakai port tersebut untuk menjebak si penyerang maka dari itu kita harus mengganti port ssh aslinya dari port 22 ke yang lain, cara merubahkan ke file,

sudo nano /etc/ssh/sshd_config

# Port 22 ubah ke 1945
Port 1945

Setelah done restart service ssh:

$ sudo service ssh restart

Buat user non-root untuk honeypot kippo

sudo adduser kippo

Tambahkan user kippo ke priveleged ALL

sudo nano /etc/sudoers

# User privilege specification
root    ALL=(ALL:ALL) ALL
kippo   ALL=(ALL:ALL) ALL

Sekarang pindah ke user honeypot untuk instalasi Kippo. kita jalankan kippo di virtualenv yang kita buat dari fitur python

su kippo
$ cd ~
$ git clone https://github.com/desaster/kippo.git
$ cd kippo
$ virtualenv env
$ . ./env/bin/activate

Your shell prompt will now display the currently active virtualenv:

(env)$

Install the required python packages

(env)$ pip install -U pip
(env)$ pip install setuptools==44.0.0
(env)$ pip install twisted==15.1.0
(env)$ pip install pyasn1
(env)$ pip install pycrypto

15.1.0 is the last twisted version that kippo works with

Kippo sendiri secara default berjalan di port 2222. Hal tersebut dikarenakan pada dasarnya Kippo hanya bisa dijalankan oleh non-root user sementara non-root user sendiri tidak diijinkan membuka port dibawah 1024.

Pertama, kita edit edit dulu di bagian kippo.cfg .

(env)$ cp kippo.cfg.dist kippo.cfg
(env)$ nano kippo.cfg

Edit file config kippo nya

ssh_port = 4672
hostname = Finance
log_path = log
download_path = dl
download_limit_size = 1000000

Untuk konfigurasi lain silahkan dibaca baca sendiri keterangannya. Disini saya menggunakan port 4672 untuk ssh honeypot. Download path adalah lokasi dimana file yang didownload oleh attacker misalnya dengan wget akan disimpan. Sehingga saat hacker mengirim exploit atau malware tidak akan bisa dieksekusi. Download limit digunakan untuk membatasi besarnya download dalam ukuran bytes. Defaultnya tidak dibatasi dan menurut saya tidak baik juga karena bisa saja attacker mengirim file dalam jumlah besar yang menyebabkan server menjadi penuh. Hostname adalah nama komputer yang akan ditampilkan kepada attacker. Sumber Linuxsec.org

Selanjutnya adalah melakukan redirrect dari port 22 ke port 4672 dengan iptables.

(env)$ sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 4672
(env)$ sudo iptables -I INPUT 5 -p tcp --dport 4672 -j ACCEPT

Perintah pertama digunakan untuk meredirect port 22 ke 4672 sehingga saat attacker melakukan akses ke port default ssh tetap bisa tersambung. Sementara perintah kedua digunakan untuk mengijinkan koneksi di port 4672. -I INPUT 5 maksudnya adalah rule uptables tersebut akan diletakkan pada baris kelima. Hal ini saya lakukan untuk menghindari rule baru tersimpan di bawah rule DROP. Sumber Linuxsec.org

Sampai disini Kippo sudah siap dijalankan. by default Kippo memberi password honeypot atau server palsunya 123456

Starting kippo in foreground jadi secara interactive *saya saranin sih pake ini:

Activate the virtualenv we created before:

(env)$ twistd -n -y kippo.tac

OR

Starting kippo in background: Dan command ini untuk jalanain honeypot kippi di background services

(env)$ ./start.sh env

HASIL SIMULASI

Di sisi Server akan menjalankan Kippo honeypot secara Interactive

(env) kippo@ubuntu:~/kippo$ twistd -n -y kippo.tac
Generating new RSA keypair...
Done.
Generating new DSA keypair...
Done.
2020-06-19 14:10:45+0700 [-] Log opened.
2020-06-19 14:10:45+0700 [-] twistd 15.1.0 (/home/kippo/kippo/env/bin/python2 2.7.12) starting up.
2020-06-19 14:10:45+0700 [-] reactor class: twisted.internet.epollreactor.EPollReactor.
2020-06-19 14:10:45+0700 [-] HoneyPotSSHFactory starting on 4672
2020-06-19 14:10:45+0700 [-] Starting factory <kippo.core.ssh.HoneyPotSSHFactory instance at 0x7f57c76231b8>

Di Sisi penyerang

C:\Users\cinta>ssh root@192.168.10.1 -p 22
The authenticity of host '192.168.10.1 (192.168.10.1)' can't be established.
RSA key fingerprint is SHA256:w9tOzSOJ1oIL4LW1J50Wj6Mjiv4XNYvjv1f8TOLFg4I.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.1' (RSA) to the list of known hosts.
Password:
root@Finance:~# echo "Hello World"

Nah disini si penyerang bisa memasukan command command untuk melakukan hacking pada server tsb namun yang dia serang merupakan server palsu yang dimana tidak akan berpengaruh terhadap server aslinya. Nah command yang di masukkan oleh si penyerang dapat ter log di server aslinya nah disini sysadmin atau netsec dapat mempelajari perilaku penyerang tsb tujuan nya untuk apa dan tools atau malware/virus apa yang digunakan untuk meneyarang server.

Tampilan log disisi Server

2020-06-19 14:17:57+0700 [SSHChannel session (0) on SSHService ssh-connection on HoneyPotTransport,1,192.168.10.2] Updating realfile to honeyfs//etc/passwd
2020-06-19 14:18:24+0700 [SSHChannel session (0) on SSHService ssh-connection on HoneyPotTransport,1,192.168.10.2] CMD: echo "Hello World""
2020-06-19 14:18:38+0700 [SSHChannel session (0) on SSHService ssh-connection on HoneyPotTransport,1,192.168.10.2] CMD: echo "Hello World"
2020-06-19 14:18:38+0700 [SSHChannel session (0) on SSHService ssh-connection on HoneyPotTransport,1,192.168.10.2] Command found: echo "Hello World"

Referensi

Happy, Enjoy Ngoprek ~

Comments