- Mengimpor Hasil Ke Dalam SOF-ELK (Elastic Stack)
- Memasang dan menjalankan SOF-ELK
- Perbarui SOF-ELK!
- Menjalankan Hayabusa
- Opsional: Menghapus data lama yang telah diimpor
- Mengonfigurasi berkas konfigurasi logstash Hayabusa di SOF-ELK
- Mengimpor hasil Hayabusa ke dalam SOF-ELK
- Memeriksa bahwa impor berhasil di Kibana
- Melihat hasil di Discover
- Menganalisis hasil
- Rencana Masa Depan
Mengimpor Hasil Ke Dalam SOF-ELK (Elastic Stack)¶
Memasang dan menjalankan SOF-ELK¶
Hasil Hayabusa dapat dengan mudah diimpor ke dalam Elastic Stack. Kami merekomendasikan penggunaan SOF-ELK, sebuah distro Linux elastic stack gratis yang berfokus pada investigasi DFIR.
Pertama, unduh dan ekstrak image VMware SOF-ELK yang dikompres dengan 7-zip dari https://github.com/philhagen/sof-elk/wiki/Virtual-Machine-README.
Terdapat dua versi, x86 untuk CPU Intel dan versi ARM untuk komputer Apple seri-M.
Saat Anda menyalakan VM, Anda akan mendapatkan layar yang mirip dengan ini:
Catat URL Kibana dan alamat IP dari server SSH.
Anda dapat masuk dengan kredensial berikut:
- Nama pengguna:
elk_user - Kata sandi:
forensics
Buka Kibana di peramban web sesuai dengan URL yang ditampilkan. Misalnya: http://172.16.23.128:5601/
Catatan: Kibana mungkin membutuhkan waktu sejenak untuk dimuat.
Anda akan melihat halaman web sebagai berikut:
Kami merekomendasikan Anda untuk SSH ke dalam VM alih-alih mengetik perintah di dalam VM dengan ssh elk_user@172.16.23.128.
Catatan: tata letak keyboard default adalah keyboard US.
Masalah konektivitas jaringan pada Mac¶
Jika Anda menggunakan macOS dan Anda mendapatkan kesalahan no route to host di terminal atau Anda tidak dapat mengakses Kibana di peramban Anda, hal itu kemungkinan disebabkan oleh kontrol privasi jaringan lokal macOS.
Di System Settings, buka Privacy & Security -> Local Network dan pastikan bahwa peramban dan program terminal Anda diaktifkan agar dapat berkomunikasi dengan perangkat di jaringan lokal Anda.
Perbarui SOF-ELK!¶
Sebelum mengimpor data, pastikan untuk memperbarui SOF-ELK dengan perintah sudo sof-elk_update.sh.
Menjalankan Hayabusa¶
Jalankan Hayabusa dan simpan hasil ke JSONL.
Mis: ./hayabusa json-timeline -L -d ../hayabusa-sample-evtx -w -p super-verbose -G /opt/homebrew/var/GeoIP -o results.jsonl
Opsional: Menghapus data lama yang telah diimpor¶
Jika ini bukan kali pertama mengimpor hasil Hayabusa dan Anda ingin membersihkan semuanya, Anda dapat melakukannya dengan cara berikut:
- Periksa rekaman apa yang saat ini ada di SOF-ELK:
sof-elk_clear.py -i list - Hapus data saat ini:
sof-elk_clear.py -a - Hapus berkas-berkas di direktori logstash:
rm /logstash/hayabusa/*
Mengonfigurasi berkas konfigurasi logstash Hayabusa di SOF-ELK¶
Sudah ada berkas konfigurasi logstash Hayabusa yang disertakan dalam SOF-ELK yang mengonversi nama field ke dalam format Elastic Common Schema. Jika Anda lebih nyaman dengan nama field Hayabusa, kami merekomendasikan untuk menggunakan yang kami sediakan.
- Pertama SSH ke dalam SOF-ELK:
ssh elk_user@172.16.23.128 - Hapus atau pindahkan berkas konfigurasi logstash saat ini:
sudo rm /etc/logstash/conf.d/6650-hayabusa.conf - Unggah berkas 6650-hayabusa-jsonl.conf yang baru ke
/etc/logstash/conf.d/:sudo wget https://raw.githubusercontent.com/Yamato-Security/hayabusa/main/doc/ElasticStackImport/6650-hayabusa-jsonl.conf -O /etc/logstash/conf.d/6650-hayabusa.conf. - Mulai ulang logstash:
sudo systemctl restart logstash
Berkas konfigurasi ini akan membuat field DetailsText dan ExtraFieldInfoText terkonsolidasi yang memungkinkan Anda dengan cepat melihat field-field paling penting sekilas alih-alih harus meluangkan waktu membuka setiap rekaman satu per satu untuk memeriksa semua field.
Mengimpor hasil Hayabusa ke dalam SOF-ELK¶
Log diserap ke dalam SOF-ELK dengan menyalin log ke dalam direktori yang sesuai di dalam direktori /logstash.
Pertama exit keluar dari SSH dan kemudian, salin berkas hasil Hayabusa yang Anda buat:
scp ./results.jsonl elk_user@172.16.23.128:/logstash/hayabusa
Memeriksa bahwa impor berhasil di Kibana¶
Pertama catat Total detections, First Timestamp dan Last Timestamp di Results Summary dari pemindaian Hayabusa Anda.
Jika Anda tidak dapat memperoleh informasi ini, Anda dapat menjalankan wc -l results.jsonl di *nix untuk mendapatkan jumlah total baris untuk Total detections.
Secara default, Hayabusa tidak mengurutkan hasil demi meningkatkan kinerja sehingga Anda tidak dapat melihat baris pertama dan terakhir untuk mendapatkan timestamp pertama dan terakhir.
Jika Anda tidak mengetahui timestamp pertama dan terakhir yang tepat, cukup atur tanggal pertama di Kibana ke tahun 2007 dan hari terakhir sebagai now sehingga Anda akan memiliki semua hasil.
Anda sekarang akan melihat Total Records serta timestamp pertama dan terakhir dari event yang telah diimpor.
Terkadang dibutuhkan waktu sejenak untuk mengimpor semua event, jadi cukup terus segarkan halaman hingga Total Records sesuai dengan jumlah yang Anda harapkan.
Anda juga dapat memeriksa dari terminal dengan menjalankan sof-elk_clear.py -i list untuk melihat apakah impor berhasil.
Anda akan melihat bahwa indeks evtxlogs Anda seharusnya memiliki lebih banyak rekaman:
Mohon buat issue di GitHub jika Anda mengalami kesalahan parsing saat mengimpor.
Anda dapat memeriksanya dengan melihat bagian akhir dari berkas log /var/log/logstash/logstash-plain.log.
Melihat hasil di Discover¶
Klik ikon sidebar di kiri atas dan klik Discover:
Anda mungkin akan melihat No results match your search criteria.
Di sudut kiri atas yang bertuliskan indeks logstash-*, klik dan ubah menjadi evtxlogs-*.
Anda sekarang akan melihat timeline Discover.
Menganalisis hasil¶
Tampilan Discover default seharusnya terlihat mirip dengan ini:
Anda dapat memperoleh gambaran umum tentang kapan event terjadi dan frekuensi event dengan melihat histogram di bagian atas.
Menambahkan kolom¶
Di sidebar sisi kiri, Anda dapat menambahkan field yang ingin Anda tampilkan di kolom dengan mengklik tanda plus setelah mengarahkan kursor ke sebuah field. Karena terdapat banyak field, Anda mungkin ingin mengetik nama field yang Anda cari di kotak pencarian.
Untuk memulai, kami merekomendasikan kolom-kolom berikut:
ComputerEventIDLevelRuleTitleDetailsText
Jika monitor Anda cukup lebar, Anda mungkin juga ingin menambahkan ExtraFieldInfoText sehingga Anda melihat semua informasi field.
Tampilan Discover Anda sekarang seharusnya terlihat seperti ini:
Pemfilteran¶
Anda dapat memfilter dengan KQL(Kibana Query Language) untuk mencari event dan alert tertentu. Misalnya:
* Level: "crit": Hanya menampilkan alert critical.
* Level: "crit" OR Level: "high": Menampilkan alert high dan critical.
* NOT Level: info: Tidak menampilkan event informasional, hanya alert.
* MitreTactics: *LatMov*: Menampilkan event dan alert yang terkait dengan lateral movement.
* "PW Spray": Hanya menampilkan serangan spesifik seperti "Password Spray".
* "LID: 0x8724ead": Menampilkan semua aktivitas yang terkait dengan Logon ID 0x8724ead.
* Details_TgtUser: admmig: Mencari semua event di mana target user adalah admmig.
Mengalihkan Detail¶
Untuk memeriksa semua field dalam sebuah rekaman, cukup klik ikon (Toggle dialog with details) di sebelah timestamp:
Melihat dokumen di sekitarnya¶
Jika Anda ingin melihat event tepat sebelum dan sesudah alert tertentu, pertama buka detail dari alert tersebut lalu klik View surrounding documents di kanan atas:
Dalam contoh ini, kita melihat event sebelum dan sesudah alert serangan Pass the Hash:
Catatan: Ubah angka di bagian atas
Load x newer documentsatau bagian bawahLoad x older documentsuntuk mengambil lebih banyak event.
Mendapatkan metrik cepat pada field¶
Di kolom kiri, jika Anda mengklik nama field, ia akan memberikan Anda metrik cepat tentang penggunaannya:
Perhatikan bahwa data diambil sebagai sampel demi kecepatan sehingga tidak 100% akurat.
Rencana Masa Depan¶
- Parser Logstash untuk CSV
- Dashboard yang telah dibuat sebelumnya











