Tryhackme — Investigating Windows (Bahasa Indonesia)

Alex
8 min readJul 28, 2023
https://tryhackme.com/room/investigatingwindows

A windows machine has been hacked, its your job to go investigate this windows machine and find clues to what the hacker might have done.

Task 1 — Investigating Windows

Tugas kita di sini hanya ada satu (Task 1), tapi bercabang :) Ada beberapa soal yang perlu kita jawab. Jadi, seperti biasa, setelah menyambungkan VPN dan menghidupkan Windows machine-nya, gas masuk ke intro Task 1..

This is a challenge that is exactly what is says on the tin, there are a few challenges around investigating a windows machine that has been previously compromised.

Connect to the machine using RDP. The credentials the machine are as follows:

Username: Administrator
Password: letmein123!

Please note that this machine does not respond to ping (ICMP) and may take a few minutes to boot up.

Kita akan pake RDP (Remote Desktop Protocol) untuk login ke mesin Windows yang sudah ter-hack dengan creds di atas. Ada banyak pilihan tools untuk remote desktop, di linux terutama, ada xfreerdp, remmina, atau rdesktop. Kebetulan saya pakai xfreerdp karena xfreerdp simple, tapi kaya fitur.

Perintah yang saya gunakan:

xfreerdp /u:administrator /p:letmein123! /v:10.10.250.7 /smart-sizing /t:'Investigating Windows'

/u : username

/p : password

/v : server hostname

/smart-sizing : biar ukuran window-nya bisa di-custom

/t : title window-nya

Kalau muncul pertanyaan trust certificate seperti di bawah, silakan tinggal iyakan saja (Y), lalu enter.

Do you trust the above certificate? (Y/T/N?) Y
  • Whats the version and year of the windows machine?

Apa versi dan tahun mesin windows tersebut?

Banyak cara untuk menjawab soal pertama ini, bisa menggunakan ‘dxdiag’, ‘properties’ This PC, Setting, atau via cmd dengan perintah ‘systeminfo’.

(1) dxdiag

dxdiag

(2) Properties ‘This PC’

Properties ‘This PC’

(3) Setting > About

Setting > About

(4) systeminfo via Command Prompt/Powershell

systeminfo
systeminfo via CMD/Powershell
  • Which user logged in last?

Siapakah user yang login akhir-akhir ini?

Pertama-tama, mari kita cari tau, ada berapa user di mesin ini. Caranya juga beragam, bisa via ‘Users’ di Computer Management, atau bisa juga via CMD/Powershell dengan perintah net user.

(1) Users di Computer Management

Users di Computer Management

(2) net user via CMD/Powershell

net user
net user via CMD/Powershell

Kita tahu bahwa di mesin ini, setidaknya ada 4 user, yaitu Administrator, Jenny, John, dan Guest. Jadi, setelah mengetahui jumlah usernya, mari kita cari tahu, kapan dan siapa yang terakhir kali login ke mesin ini. Saya akan menggunakan Powershell agar lebih mudah. Kita akan cek satu persatu.

net user $USER | sls 'last logon'
Last Logon
  • When did John log onto the system last?

Kapan terakhir kali John login? Mudah, jawabannya bisa dilihat di screenshot soal sebelumnya.

  • What IP does the system connect to when it first starts?

IP apakah yang terhubung dengan system ketika pertama kali selesai booting?

Kalau diperhatikan, ketika mesinnya selesai booting, akan muncul beberapa saat jendela CMD yang menampilkan alamat IP yang coba disambungkan.

IP
  • What two accounts had administrative privileges (other than the Administrator user)? Answer format: username1, username2

Dua akun yang punya administrative privileges selain user administrator?

Lagi-lagi, kita punya beberapa opsi untuk menjawab soal ini, yaitu bisa via ‘Groups’ di Computer Management atau bisa juga via perintah ‘net user’ tadi di CMD/Powershell.

(1) Groups di Computer Management

Groups > Administrators > Properties

(2) net user via CMD/Powershell

net user $USER | findstr Group
net user via CMD
  • Whats the name of the scheduled task that is malicious.

Apa nama tugas terjadwal (scheduled task) yang malicious?

Jawabannya bisa kita temukan di Task Scheduler. Di bagian Task Scheduler Library, kita bisa melihat setidaknya ada 6 proses yang dijadwalkan running pada waktu-waktu tertentu. Untuk mengetaui apakah proses tersebut malicious atau tidak, kita dapat menggunakan tab ‘Action’ pada section di bawahnya. Melalui tab ‘Action’ tersebut, kita dapat mengetahui apa yang akan dikerjakan oleh suatu proses ketika jadwal running-nya tiba.

Setelah melihat beberapa proses, agaknya kita bisa curiga pada proses dengan nama ‘Clean File System’ karena proses tersebut seperti mengandung perintah agar mengeksekusi sebuah file atau program powershell untuk memasang listener sebagai backdoor.

Clean File System
  • What file was the task trying to run daily?

File apakah yang task tersebut coba jalankan setiap hari? Yak, filenya bisa terlihat di screenshot soal sebelumnya.

  • What port did this file listen locally for?

Port berapakah yang file tersebut gunakan? Jawabannya juga dapat ditemukan dari screenshot soal sebelumnya.

  • When did Jenny last logon?

Kapan Jenny terakhir kali login?

net user Jenny | sls 'last logon'
Jenny last logon
  • At what date did the compromise take place? Answer format: MM/DD/YYYY

Tanggal berapakah mesin windows ini terkompromikan (ter-hack)?

Kembali ke Task Scheduler yang tadi. Di sana, kita cukup melihat tanggal berapa file ‘Clean File System’ tersebut dibuat untuk menjawab soal ini.

Compromised Date
  • During the compromise, at what time did Windows first assign special privileges to a new logon? Answer format: MM/DD/YYYY HH:MM:SS AM/PM

Kapan Windows pertama kali memberikan special privilege ke new logon?

Kita bisa cek ini di Log. Log yang dapat kita cek terkait soal ini bisa ditemukan di Event Viewer > Windows Log > Security. Kemudian, di sana kita bisa menemukan banyak ‘Events’ (tertulis ada 2247 events) yang tidak mungkin kita periksa satu persatu. Oleh karena itu, untuk memudahkan pencarian, kita akan gunakan fitur ‘Filter Current Log’ di bagian kanan (section ‘Actions’).

Sekarang, modal yang kita perlukan hanya ‘Event ID’ yang terkait dengan special privileges to a new logon. Dengan bantuan mbah Google, kita bisa dengan cepat menemukan ID-nya.

4672
Filtering

Setelah melakukan filter, kita akhirnya tinggal perlu menemukan salah satu dari 310 file log special logon, wkwkwk, tinggal.. :”

310 file logon special :”

Tapi, jangan sedih, karena THM sudah memberikan Hint kepada kita, yaitu kita hanya perlu menemukan file yang memiliki detik 49 dengan keterangan PM. Mudah? Lebih mudah, dong…

THM Hint
  • What tool was used to get Windows passwords?

Tool apa yang digunakan untuk mendapatkan password Windows?

Kembali ke Task Scheduler > Task Scheduler Library. Di sana, kita bisa melihat ada task bernama ‘GameOver’ yang juga memiliki action yang agak janggal, yaitu menjalankan program mim.exe yang berada di folder C:\TMP untuk melakukan dumping password (?).

GameOver

Pertanyaannya, apa sebenarnya nama asli tools mim.exe ini? Untuk mengetahuinya, kita dapat menjalankannya langsung dengan CMD/Powershell.

cd C:\TMP
dir
.\mim.exe
mimikatz
  • What was the attackers external control and command servers IP?

Apa IP dari kontrol eksternal dan command server yang digunakan oleh sang hacker?

Untuk menjawab soal ini, kita tinggal melihat file windows hosts. File hosts tersebut berfungsi untuk menghubungkan alamat IP dengan hostname-nya. Misalnya,

127.0.0.1 localhost

Jadi, tugas kita sekarang adalah mencari lokasi file hosts tadi.

windows hosts file location
windows hosts file
  • What was the extension name of the shell uploaded via the servers website?

Apa ekstensi file shell yang diupload via web server?

Clue-nya adalah ‘web server’. Di Windows, default root web server biasanya berlokasi di folder C:\inetpub\wwwroot.

defaul web windows

So, kita langsung cek file shell yang ada di di folder tersebut.

shell file extention
  • What was the last port the attacker opened?

Port berapakah yang terakhir kali dibuka oleh sang attacker?

Hint

Aktivitas buka-tutup port memang biasanya dilakukan di firewall karena memang tugas firewall untuk memastikan keamanan PC kita di suatu jaringan.

Ada 2 rule firewall, yaitu inbound dan outbound. Inbound rule mengatur traffic dari luar ke dalam PC kita. Sebaliknya, outbound rule mengatur traffic dari dalam PC ke luar. Kita akan fokus ke inbound rule karena logikanya, untuk menciptakan persistence (backdoor), hacker perlu akses dari luar untuk mengendalikan komputer korban (victim machine). Dan tentu saja, salah satu caranya adalah dengan mengaktifkan suatu port untuk menerima akses masuk dari luar tersebut.

Biasanya, rule yang baru ditambahkan akan berada di posisi paling atas. Sehingga, kita tidak perlu repot-repot mencari rule yang baru ditambahkan oleh hacker.

1337 port — firewall
  • Check for DNS poisoning, what site was targeted?

Cek DNS Poisoning, apa situs yang ditargetkan?

Jawaban sudah dapat dilihat di screenshot soal tentang windows hosts file sebelumnya.

google.com

Hehehe, akhirnya selesai juga ya!

Selamat! You are a junior blue team, rn! :)

welcoming party…

--

--

Alex

A college student. A writer. Cyber security enthusiast.