Hello gayn kembali lagi dengan gw Yukinoshita 47 kali ini gw ikutan CTF lagi sih ini perdana di tahun 2019 yaitu Google CTF 2019 ya gw cuma iseng aja itung-itung ngisi konten blog ya kan wkwkwkwk.
Oke write up kali ini adalah Enter Space-Time Coordinates
Berikut challenge nya
Enter Space-Time Coordinates
Ok well done. The console is on. It's asking for coordinates. Beating heavily on the console yields little results, but the only time anything changes on your display is when you put in numbers.. So what numbers are you going to go for? You see the starship's logs, but is there a manual? Or should you just keep beating the console?
Kemudian download file nya
Buka terminal jalankan perintah
~$ sudo su
Kemudian input password lalu tekan enter
~# cd Downloads
Kemudian tekan enter
extract file 00c2a73eec8abb4afb9c3ef3a161b64b451446910535bfc0cc81c2b04aa132ed dengan binwalk yaitu perintah nya.
~# binwalk -e 00c2a73eec8abb4afb9c3ef3a161b64b451446910535bfc0cc81c2b04aa132ed
Kemudian tekan enter
Kemudian karena file 00c2a73eec8abb4afb9c3ef3a161b64b451446910535bfc0cc81c2b04aa132ed adalah file executable ya gw bongkar aja dengan ghidra
caranya buka ghidra dengan perintah
~# ghidra
Kemudian tekan enter
Jika parrot linux lu atau OS lu belum ada ghidra ne panduan install nya https://yukinoshita47.blogspot.com/2019/05/parrot-linux-install-ghidra-tool.html
Setelah itu di ghidra klik menu file lalu pilih new project
Klik non shared project lalu klik next
Kemudian project directory nya gw default aja dan project name nya Enter Space-Time Coordinates kemudian klik finish.
kemudian klik menu file pilih import file
kemudian ambil file rand2 di folderv_00c2a73eec8abb4afb9c3ef3a161b64b451446910535bfc0cc81c2b04aa132ed.extracted yang berada di folder Downloads
lalu klik Select File To Import
lalu klik OK
Klik ok lg
kemudian pilih file rand2 lalu klik kanan pilih open with lalu klik Code Browser
klik Analyze
pada bagian sisi kiri ada menu Symbol Tree lalu pilih Function kemudian klik main maka akan muncul detail kode nya seperti gambar dibawah ini dan flag nya juga keliatan kok
berikut potongan kode nya
undefined8 main(void)
{
int iVar1;
undefined8 uVar2;
undefined8 uVar3;
long lVar4;
long local_30;
long local_28;
ulong local_20;
seed = time((time_t *)0x0);
puts("Travel coordinator");
local_20 = 0;
while (local_20 < 6) {
printf("%zu: %s - ",local_20,*(undefined8 *)(destinations + local_20 * 8));
iVar1 = strcmp(*(char **)(destinations + local_20 * 8),"CTF");
if (iVar1 == 0) {
puts("<REDACTED>");
}
else {
uVar2 = next_destination();
uVar3 = next_destination();
printf("%zu, %zu\n",uVar3,uVar2);
}
local_20 = local_20 + 1;
}
printf("\nEnter your destination\'s x coordinate:\n>>> ");
__isoc99_scanf(&DAT_00100b25,&local_28);
printf("Enter your destination\'s y coordinate:\n>>> ");
__isoc99_scanf(&DAT_00100b25,&local_30);
lVar4 = next_destination();
if (lVar4 == local_28) {
lVar4 = next_destination();
if (lVar4 == local_30) {
puts("Arrived at the flag. Congrats, your flag is: CTF{welcome_to_googlectf}");
}
}
puts("Arrived somewhere, but not where the flag is. Sorry, try again.");
return 0;
}
flag nya adalah CTF{welcome_to_googlectf} lalu submit
dan solved
oke cukup sampai disini aja dulu nanti jika ada challenge yang lain yang berhasil gw selesaikan ya gw bikin lagi write up nya ntar.