nightHawkResponse - Incident Response Forensic Framework

chmood


Kerangka Forensik Respon Insiden - nightHawkResponse

Custom dibangun aplikasi untuk asynchronus penyajian data forensik pada backend Elasticsearch.

Aplikasi ini dirancang untuk menelan Mandiant Redline "koleksi" file dan memberikan fleksibilitas dalam pencarian / stack dan tagging.


Aplikasi ini lahir dari ketidakmampuan untuk mengontrol beberapa penyelidikan (atau ratusan endpoint) dalam satu panel kaca.

Untuk menelan audit redline, kami menciptakan nightHawk.GO , aplikasi Gopher sepenuhnya menjadi dewasa yang dirancang untuk menemani kerangka ini. Kode sumber untuk aplikasi tersedia di repo ini, biner telah disusun dan berjalan di dalam iso siap menelan dari boot pertama.


Membangun
16/07/16: Versi 1.0.2

Perbaikan bug (tokenization dan pemetaan update)
Global yang error Cari penanganan, penyorotan kata kunci
Susun pada URL Domain dan DNS, tetap susun registry
Reindex utilitas Data ditambahkan (lihat artikel wiki untuk penggunaan)
Meng-upgrade fitur tambahan, Anda sekarang dapat memperbarui source dari yum tanpa men-download iso baru (lihat artikel wiki untuk penggunaan)
folder / media Putar untuk menghapus koleksi lama setelah 1 hari (atau> 2GB FolderSize)
Ditambahkan w32system (info sistem)

Dihapus pemetaan statis di PostController untuk hostname

Tetap masalah dengan membangun Audit aggs mana default_field tidak diserahkan kepada ES.

Fitur:

Video Demonstrasi: Nighthawk Response Landasan
forensik tampilan tunggal endpoint (beberapa jenis pemeriksaan).
pencarian global.
Timelining.
Susun.
Tagging.
proses interaktif tampilan struktur pohon.
file upload beberapa & investigasi Bernama.

Nighthawk ISO

Untuk membuatnya lurus ke depan untuk pengguna Nighthawk, kami membangun sebuah ISO dengan segala sesuatu penyiapan siap untuk pergi. Itu berarti Anda mendapatkan berikut;

sumber Nighthawk.

CentOS 7 Minimal dengan libs inti yang dibutuhkan untuk mengoperasikan Nighthawk.
Nginx dan UWSGI setup reverse proxy (socketed dan dioptimalkan), SSL diaktifkan.
Latest Elasticsearch / Kibana (Kibana terkena dan bisa digunakan jika diinginkan).
SYSCTRL untuk semua layanan inti.
Logging (diputar) untuk semua layanan inti.
Pengaturan sistem dikonfigurasi, daftar ini dapat ditemukan di /opt/nighthawk/etc/nightHawk.json berkas.


Mulai sistem :


Sebelum membangun VM Anda dengan disediakan ISO, mempertimbangkan berikut;

CPU / RAM.

Tertunda : Pengaturan layanan Elastic menjadi ganda node dengan 1/4 dari memori sistem dialokasikan per node. Ini berarti jika Anda memberikan RAM 2GB, masing-masing ES node akan 512mb dan sistem akan tetap dengan 1GB untuk beroperasi. Jika Anda ingin mengatur ini dengan cara yang berbeda, ssh ke dalam kotak dan mengkonfigurasi cara yang Anda inginkan.

HDD.

Minimal 20GB harus dipertimbangkan. Sebuah file audit dapat menjadi besar dan karena itu yang disarankan Anda mengalokasikan banyak penyimpanan untuk menangani menelan banyak koleksi. Tertunda : berdasarkan petunjuk penyiapan penyimpanan untuk kasus skala besar. Jika Anda ingin men-setup partisi tambahan, Anda dapat melakukan ini sendiri, beberapa perubahan dapat dibuat untuk titik penyimpanan data ES untuk partisi baru Anda.

Instalasi :

download ISO: Nighthawk v1.0.2 

Konfigurasi perangkat keras, mount ISO ke VM , 

mulai script installtion. Setelah selesai, pada browser Anda (Chrome / FireFox), goto; . 

Jika Anda perlu untuk mengakses Kibana, goto; . 

Jika Anda perlu untuk SSH ke dalam kotak, rincian login adalah; . 

Jika Anda ingin mengubah alamat IP (tercermin aplikasi luas); Redline Audit Koleksi Script dapat ditemukan di root repo ini. Gunakan ini ketika menggunakan kolektor mandiri redline karena ini akan mengembalikan dokumen yang Anda butuhkan untuk mengisi Nighthawk dengan benar. Uploading:

PENTING : Membuat file Audit zip untuk meng-upload 

(Redline berdiri sendiri kolektor):

Langkah_1: Arahkan ke Sesi \ AnalysisSessionX \ Audit <ComputerName> di mana X adalah nomor analisis yang 1 untuk kebanyakan kasus. 

Langkah_2: Buat zip dari folder yang berisi file audit yaitu 20160708085733 

Langkah_3: Upload 20160708085733.zip PENTING : Gunakan exisiting HX pemeriksaan berkas (HX kolektor): 

audit FireEye HX adalah perpanjangan berakhir di. mans. Audit dari HX berbeda dari kolektor Redline karena .mans bahwa ia mengembalikan sebenarnya file zip. Ini berarti dapat di-upload langsung seperti audit Redline yang Anda harus mengikuti petunjuk di atas. Arahkan ke "Upload" ikon di bar nav, pilih .zip Audit (atau beberapa), nama kasus (jika tidak sistem akan menyediakan Anda dengan satu) dan menyerahkan. 

Jika Anda telah menggunakan skrip pemeriksaan Redline kami untuk membangun koleksi Anda, ikuti "Redline Kolektor" petunjuk di atas. Setelah diproses, titik akhir akan muncul di "Investigasi sekarang" simpul pohon. Di bawah titik akhir Anda akan disajikan dengan semua jenis audit yang tersedia untuk endpoint itu. 

Fitur upload aplikasi web ini memunculkan Popen subprocesss yang memanggil aplikasi GO untuk mengurai audit redline dan mendorong data ke Elasticsearch. Ada 2 pilihan untuk meng-upload, satu adalah berurutan, yang lain adalah konkuren. 

Harap Catatan: Concurrent upload dibatasi untuk 5 pada satu waktu dan dapat sumber daya intensif, jika Anda memiliki mesin kurang bertenaga kemudian membatasi penggunaan fitur ini untuk 2-3 . Tagging: Anda dapat mengklik pada setiap baris dalam setiap meja (dalam pandangan respon) untuk menandai data tersebut. Setelah tag Anda dapat melihat komentar di komentar tampilan. Elasticsearch: Ada pemetaan kustom (disertakan dalam git root) dan komentar penasehat sebagai berikut;

https://192.168.42.173

https://192.168.42.173:8443

admin/nightHawk

/opt/nighthawk/bin/nighthawkctl set-ip <new_ipaddress>



Orang tua / hubungan anak:


Dokumen diindeks melalui aplikasi GO sebagai hubungan orang tua / anak. Ini dipilih karena mampu memberikan jalan yang relatif logis untuk melihat dokumen, yaitu. orang tua adalah nama endpoint dan anak-anak jenis audit. Melakukan agregasi pada dokumen relasional orang tua / anak di skala tampaknya masuk akal juga. Kerangka susun mengandalkan membangun orang tua dalam array untuk kemudian mendapatkan semua agregasi dokumen anak untuk jenis pemeriksaan tertentu.

Sharding:


Elasticsearch setup membutuhkan pengakuan desain tuning dan tepat. 

Sharding penting untuk memahami karena cara kita menghubungkan dokumen tua / anak. Anak itu selalu diarahkan ke orangtua, tidak bisa ada sendiri. Ini berarti pertimbangan harus diberikan untuk berapa banyak pecahan yang menetap di indeks. 

Dari apa yang kita mengerti, mungkin bijaksana untuk memilih setup yang encorporates banyak node dengan pecahan tunggal. Untuk mendapatkan kinerja dari jenis setup kita bekerja pada pecahan dialihkan pencarian.

Kami sedang bekerja pada merancang konfigurasi terbaik untuk pencarian cepat.

Scaling:

Aplikasi ini dirancang untuk skala sangat. Dari konsep desain inital, kami mampu menjalankannya dengan lancar pada satu cpu 2gb ubuntu VM dengan 3 ES node (Macbook Pro), dengan sekitar 4 juta US + dokumen (atau 50 endpoint tertelan). Jika masuk ke produksi, menjalankan setup dengan 64 / 128GB RAM dan penyimpanan SAS, Anda akan mampu mempertahankan petir waktu respon yang cepat dari retrival dokumen sementara memiliki banyak analis yang bekerja pada aplikasi sekaligus.

Pertimbangan:

DataTables pengolahan campuran:

Ada beberapa jenis pemeriksaan dicerna yang banyak untuk besar untuk mengembalikan semua dokumen ke meja. Misalnya, sejarah URL dan Registry dapat kembali kembali 15k doc untuk DOM, render ini akan menempatkan ketegangan pada browser klien. Untuk mengatasi hal ini, kita menggunakan pengolahan serverside ke halaman melalui hasil jenis pemeriksaan tertentu. Ini berarti Anda juga dapat mencari dokumen-dokumen dalam jenis audit yang menggunakan Elasticsearch di backend.

Tagging:

Saat ini kami dapat menandai dokumen dan melihat komentar tersebut. Kami dapat memperbarui mereka atau mengubah mereka. Analis mampu memberikan konteks seperti Tanggal / Analis Nama / Komentar untuk dokumen.


Dependensi (semua preinstalled): To Do: Proses Menangani (in progress).

Waktu slider seleksi untuk generator berbasis waktu (in progress). Menu konteks untuk penyelidikan Sebelumnya / Current. Konteks Tagging. Sistem penandaan akan mengintegrasikan dalam satu lingkaran WebSocket untuk komentar langsung di panel analis (in progress). Konteks Aplikasi. 

Kemampuan untuk memindahkan titik akhir antara baik konteks. Berpotensi mendesain ulang pohon simpul untuk tanggal penyelidikan didorong. Susun Selektif, saat ini pemilih akar node diaktifkan. pencarian Shard routing. Redline skrip Audit Template. 


integrasi yang lebih luas dengan AngularJS (in progress). desain responsif. (in progress). halaman kontrol administratif untuk konfigurasi pengaturan inti (in progress). Screenshots:

elasticsearch-dsl.py django 1.8 python requests









Download nightHawkResponse

Komentar