Sunday, March 26, 2017

[Toddler's Bottle] Pwnable.Kr - FD Write Up

Tags



Yoo kembali lagi dengan gw Yukinoshita 47 kali ini gw mau share writeup game hacker ini yang bernama Pwnable.kr :v

sedikit penjelasan Pwnable ini adalah wargame mirip dengan CTF tapi berbeda konsep nya :v 

write up kali ini adalah FD dalam kategori [Toddler's Bottle]

challenge nya adalah

Mommy! what is a file descriptor in Linux?

* try to play the wargame your self but if you are ABSOLUTE beginner, follow this tutorial link: https://www.youtube.com/watch?v=blAxTfcW9VU

ssh fd@pwnable.kr -p2222 (pw:guest)

oke langsung sadja kita ke TKP

pertama-tama konekin dulu ssh nya buat ngakses soal challenge nya :

Yukinoshita47 pwnable # ssh fd@pwnable.kr -p2222

lalu masukkan passwordnya guest

setelah itu

lihat file nya

fd@ubuntu:~$ ls -la


 di situ ada file

drwxr-x---  5 root   fd   4096 Oct 26 03:50 .
drwxr-xr-x 80 root   root 4096 Jan 11 23:27 ..
d---------  2 root   root 4096 Jun 12  2014 .bash_history
-rw-------  1 root   root  128 Oct 26 03:50 .gdb_history
dr-xr-xr-x  2 root   root 4096 Dec 19 01:23 .irssi
drwxr-xr-x  2 root   root 4096 Oct 23 10:38 .pwntools-cache
-r-sr-x---  1 fd_pwn fd   7322 Jun 11  2014 fd
-rw-r--r--  1 root   root  418 Jun 11  2014 fd.c
-r--r-----  1 fd_pwn root   50 Jun 11  2014 flag

dan di file fd.c itu adalah source code nya jadi mari kita lihat source code nya

fd@ubuntu:~$ cat fd.c 

maka akan muncul seperti gambar dibawah ini



berikut source code nya

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char buf[32];
int main(int argc, char* argv[], char* envp[]){
    if(argc<2){
        printf("pass argv[1] a number\n");
        return 0;
    }
    int fd = atoi( argv[1] ) - 0x1234;
    int len = 0;
    len = read(fd, buf, 32);
    if(!strcmp("LETMEWIN\n", buf)){
        printf("good job :)\n");
        system("/bin/cat flag");
        exit(0);

    }
    printf("learn about Linux file IO\n");
    return 0;


}
 yg jd perhatian gw adalah lihat tulisan yg gw bold itu ya benar bagian

     int fd = atoi( argv[1] ) - 0x1234;
    int len = 0;
    len = read(fd, buf, 32);
    if(!strcmp("LETMEWIN\n", buf)){
        printf("good job :)\n");
        system("/bin/cat flag");
        exit(0);

    }
    printf("learn about Linux file IO\n");
    return 0;


kemudian gw coba eksekusi progam fd nya

fd@ubuntu:~$ ./fd 0x1234
maka akan muncul seperti gambar dibawah ini dan itu tentu saja bukan flag nya :v


solusi nya adalah gw convert 0x1234 dengan bilangan lain seperti gambar dibawah ini


 kemudian gw coba eksekusi menggunakan bilangan desimal

fd@ubuntu:~$ ./fd 4660 kemudian gw tekan enter masih sama yang muncul kalimat learn about Linux file IO

kemudian gw liat di script nya ada tulisan LETMEWIN jd gw coba eksekusi lagi dengan fd@ubuntu:~$ ./fd 4660 kemudian gw tekan enter lalu ketik LETMEWIN lu gw tekan enter bumm flag nya nongol :p wkwkwkwkwk

good job :)
mommy! I think I know what a file descriptor is!!




seperti gambar dibawah ini



flag dari [Toddler's Bottle] FD adalah mommy! I think I know what a file descriptor is!!

sampai jumpa di writeup berikut nya :*


Banyak Anak Underground Yang Bilang CTF itu Copo
Kita Maklumin Aja Karena Otak Nya Berpikiran Sempit 

terlalu serius di dunia maya gak baik lho
 wkwkwkwkwkwkwkwk 

 

Greetz to : Yukinoshita 47 | _Tuan2Fay_ | Snooze | OutrageousEngkus | TM_404 | E7B_404 | LuckNut | Cr4bbyP4tty | ShadowHearts | CyberGhost.17 | Lyonc | EvilClown | Mr.Spongebob | D34D_SL33P | | Mr.HzA404EsL | Mr_Viruzer#29 | Loyo-ID | Fazlast | DarkTerrorizt | And All Member of Garuda Security Hacker

Saya orang nya sederhana dan biasa saja gak lebih

*Komentar Dengan Sopan !
*Jangan OOT
*I am Just Newbie
EmoticonEmoticon