# HONEYNET (Deception Technology using Honeypot) ### Created by: Achmad Fathur Rizki --- ### Website related to seminar: https://dionaea.readthedocs.io/en/latest/ https://www.enisa.europa.eu/ https://www.enisa.europa.eu/publications/proactive-detection-report --- ### Requirements: 1. VMWare / virtualbox 2. Dionaea Open Virtualization Format Archive 3. Internet connection --- ### Steps:assadadad 1. Buka vmware dan import dionaea Open Virtualization Format Archive 2. Download extension pack untuk VMware (sesuaikan versi VMWare nya, dapat dilihat di about) 3. Atur network jadi bridged adapter (KONEKSI JANGAN KE HOTSPOT UI) 4. Buka https://dionaea.readthedocs.io/en/latest/installation.html 5. Login dengan username: dio dan password: 1234567890 6. Yang dari https://dionaea.readthedocs.io/en/latest/installation.html --> Arch linux ga usah diikuti > VMWARE DAN VIRTUALBOX MEMILIKI NETWORK YANG BERBEDA SEHINGGA VMWARE HARUS MELAKUKAN BEBERAPA KONFIGURASI AGAR DAPAT TERKONEKSI DENGAN INTERNET: > > 1. ifconfig (lihat apakah network ens33 atau enp0s3). > 2. Lalu, masukkan perintah berikut: > `sudo lshw -class network` > > 3. Ubah file di interfaces, dengan cara berikut: > `sudo nano /etc/network/interfaces` > 4. Cari enp0s3 (ethernet network peripheral #serial), dan ubah semuanya menjadi ens33 > 5. reboot --- ### Langkah-langkah melakukannya di dionaea 1. Clone dulu dengan memasukkan command berikut: ``` git clone https://github.com/DinoTools/dionaea.git cd dionaea ``` 2. Machine -> Setting -> Advance -> bidirectional (OPTIONAL) / install ssh agar dapat diakses make cmd `sudo apt-get install ssh` 3. Update dionaea `Sudo apt-get update` 4. Install required build dependencies before configuring and building dionaea. (‘ttf-liberation’ required to ‘util/gnuplotsql.py’) ``` sudo apt-get install \ build-essential \ cmake \ check \ cython3 \ libcurl4-openssl-dev \ libemu-dev \ libev-dev \ libglib2.0-dev \ libloudmouth1-dev \ libnetfilter-queue-dev \ libnl-3-dev \ libpcap-dev \ libssl-dev \ libtool \ libudns-dev \ python3 \ python3-dev \ python3-bson \ python3-yaml \ python3-boto3 \ ttf-liberation ``` 5. Balik ke laman awal `cd` 6. Masukkan komentar untuk run sebagai Daemon (running in background) `sudo /opt/dionaea/bin/dionaea -D` ![](https://i.imgur.com/64mXLhs.png) 7. Jalani perintah berikut untuk mengecek servis apa saja yang terbuka (servis 'palsu' yang diberikan oleh dionaea) `sudo netstat -atnp` ![](https://i.imgur.com/sRc2OJU.png) 8. Install sqlite3 `sudo apt install sqlite3` ![](https://i.imgur.com/akIN4tA.png) 9. Pindah direktori: `cd /opt/dionaea/etc/dionaea` `ls` 10. Lakukan perubahan sesuai yang diinginkan. Misalkan listen mode -> ubah jadi `manual` ![](https://i.imgur.com/byiepds.png) Atau mengubah konfigurasi logging ![](https://i.imgur.com/h3ut0Zu.png) 11. Untuk ngecek servis yang dijalanin ![](https://i.imgur.com/A7SrJP1.png) services-enabled untuk mengecek seluruh servis yang dibuka. ![](https://i.imgur.com/gdlMMe9.png) 12. Contoh penyerangan dari localhost, dari sini honeypot sudah dapat logging: `curl localhost` Atau, Contoh penyerangan dari http: ![](https://i.imgur.com/XDEhSK0.png) 13. Untuk menambahkan fungsi baru: `cd /opt/dionaea/lib/dionaea/python/dionaea` ![](https://i.imgur.com/owavPDs.png) 14. Masuk ke database: `cd /opt/dionaea/var/lib/dionaea/` Lalu: `sqlite3 dionaea.sqlite` ![](https://i.imgur.com/Qk7EUqO.png) - Cek serangan yang ada: `select * from connections;` - Cek malware yang ada di public address: `select * from downloads;` Lalu, Salin ke file binaries di `pot/dionaea/var/lib/dionaea` untuk analisis malware 15. Cek logging mendetail dari serangan yang dilakukan attacker. `opt/dionaea/var/lib/dionaea/bistreams/2019-09-11 ` =============== Visualisasi Honeypot Dionaea YINSTALASI VISUALISASI DIONAEA MENGGUNAKAN ES DAN KIBANA By : Pratama Putra K.R. 1) INSTALL ELK PLATFORM Install Java 8 Elasticsearch membutuhkan java 8 untuk running. Maka dilakukan installasi java 8 karena versi ini merupakan rekomendasi dari Elasticsearch. 1. Installasi Java 8 sudo apt install openjdk-8-jdk openjfx 2. Verifikasi jika sudah terinstall java 8 java -version Seharusnya java menunjukann versi openjdk version "1.8.0_222" Install Elasticsearch Untuk instalasi elasticsearch dapat dilakukan dengan menambahkan elastic package source list atau dengan mengunduh source nya 1. Mengunduh dari sumber wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.deb wget x.x.x.x/elasticsearch-6.5.4.deb 2. Menjalankan command untuk melakukan instalasi dari .deb file nya sudo dpkg -i elasticsearch-6.5.4.deb 3. Elastic sudah terinstall dan selanjutnya dilakukan kofigurasi sudo vi /etc/elasticsearch/elasticsearch.yml Untuk dapat mengakses hanya dari lokalhost maka dilakukan perubahan konfigurasi pada elasticsearch.yml dan atur network.host : localhost network.host: localhost 4. Save dan exit 5. Start Elasticsearch sudo service elasticsearch restart Install Kibana Untuk instalasi kibana dapat dilakukan dengan menambahkan elastic package source list atau dengan mengunduh source nya 1. Mengunduh dari sumber wget https://artifacts.elastic.co/downloads/kibana/kibana-6.5.4-amd64.deb wget x.x.x.x/kibana-6.5.4-amd64.deb 2. Menjalankan command untuk melakukan instalasi dari .deb file nya sudo dpkg -i kibana-6.5.4-amd64.deb 3. Elastic sudah terinstall dan selanjutnya dilakukan kofigurasi sudo vi /etc/kibana/kibana.yml Untuk dapat mengakses hanya dari lokalhost maka dilakukan perubahan konfigurasi pada kibana.yml dan atur server.host : localhost server.host: "localhost" 4. Save dan exit 5. Start kibana sudo service kibana restart Install Logstash 1. Mengunduh dari sumber wget https://artifacts.elastic.co/downloads/logstash/logstash-6.5.4.deb wget x.x.x.x/logstash-6.5.4.deb 2. Menjalankan command untuk melakukan instalasi dari .deb file nya sudo dpkg -i logstash-6.5.4.deb 3. Install geolite cd /etc/logstash/ wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz atau wget x.x.x.x/GeoLite2-City.tar.gz tar xzf GeoLite2-City.tar.gz mv GeoLite2-City_20190108 GeoLite2-City Install Filebeat 1. Mengunduh dari sumber curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.4-amd64.deb wget x.x.x.x/filebeat-6.2.4-amd64.deb 2. Menjalankan command untuk melakukan instalasi dari .deb file nya sudo dpkg -i filebeat-6.2.4-amd64.deb 2) CONVERT SQLITE TO JSON Install SqliteToJson 1. Mengunduh dari sumber wget https://raw.githubusercontent.com/eval2A/dionaeaToJSON/master/dionaeaSqliteToJson.py wget x.x.x.x/dionaeaSqliteToJson.py 2. Pindah dionaeaSqliteToJson.py sudo mv dionaeaSqliteToJson.py /opt/ 3. Edit dionaeaSqliteToJson.py Default path pada dionaeaSqliteToJson.py masih mengarah ke file yang salah. maka harus diganti sebagai berikut. sudo nano /opt/dionaeaSqliteToJson.py Ubah default path menjadi dionaeaSQLite = '/opt/dionaea/var/lib/dionaea/dionaea.sqlite' dionaeaBinariesPath = '/opt/dionaea/var/lib/dionaea/binaries' 4. Jalankan dionaeaSqliteToJson.py sudo apt-get install python3 sudo python3 /opt/dionaeaSqliteToJson.py 3) KONFIGURASI LOGSTASH DAN FILEBEAT Konfigurasi Logstash 1. Buat file konfigurasi sudo nano /etc/logstash/conf.d/logstash-dionaea.conf 2. Ubah file konfigurasi Logstash input { beats { port => 5044 } } filter { if [document_type] == "dionaea" { json { source => "message" } if [remote_host] { mutate { copy => { "remote_host" => "remote_hostname" } } dns { reverse => [ "remote_hostname" ] nameserver => [ "8.8.8.8", "8.8.4.4" ] action => "replace" hit_cache_size => 4096 hit_cache_ttl => 900 failed_cache_size => 512 failed_cache_ttl => 900 } geoip { source => "remote_host" target => "geoip" } } mutate { remove_tag => [ "beats_input_codec_plain_applied"] remove_field => [ "source", "offset", "input_type" ] } } } output { if [document_type] == "dionaea" { elasticsearch { hosts => ["localhost:9200"] index => "dionaea-%{+YYYY.MM.dd}" } } } 3. Save and Exit Konfigurasi Filebeat 1. Buat file konfigurasi cd /etc/filebeat mv filebeat.yml filebeat.yml.bak sudo nano filebeat.yml 2. Ubah file konfigurasi filebeat.prospectors: - type: log paths: - /opt/dionaea/var/dionaea/json/dionaea.json* fields: document_type: dionaea fields_under_root: true output: logstash: hosts: ["localhost:5044"] bulk_max_size: 2048 3. Save and Exit