Hendro Wijayanto

Home » CTF

Category Archives: CTF

Advertisements

[Write Up] CTF SCC Fenus 2017 – Extrem 2 – Network (POST)

Soal Level Easy 1 dapat Anda download DISINI (http://skamaker.com/5ayp)

  1. Setelah Anda download Anda akan mendapatkan file POST
  2. File tersebut merupakan file archive. Silakan Anda extract. Akan ditemukan 2 file, yaitu Clue.txt dan post.pcapng
  3. Didalam Clue.txt terdapat soal “Terlihat berkali-kali di jaringan ada yang berkirim pesan dan
    masuk ke login. Carilah apa yang dia kirim dan susunlah!
  4. Buka file post.pcapng dengan Wireshark
  5. Banyak banget yaaaa..packet sniffingnyaaaaa……
  6. Mulai filter dengan HTTP. Tuliskan http di kolom filter
  7. Jika melihat nama filenya tadi adalah POST, silakan filter HTTP yang isi packetnya adalah POST. Silakan filter dengan http.request.method eq POST
  8. Jadi dikit kan packetnyaaaaa…….
  9. Coba deh lihat satu per satu….mulai packet No 3280
  10. Coba deh decode base64nya…. Ternyata Zonk… Berarti copy dulu user[password] nya….Karena itu yang isi. (466c6167206e79)
  11. Lanjut ke paket selanjutnya. No 3483. Ternyata Kosong
  12. Lanjut ke paket No 3628. Ternyata isi user[password]nya ada. (61206164616c61)
  13. Lanjut ke paket No 11714. Ternyata isi user[password]nya ada. (68203a2053316d)
  14. Lanjut ke paket No 12487. Ternyata gak ada user[password]nya. Kosong
  15. Lanjut ke paket terakhir No 12593. Ternyata isi user[password]nya ada. (706c3368337840)
  16. Jika disusun akan membentuk 466c6167206e79 61206164616c61 68203a2053316d 706c3368337840. Kode apa ya kira-kira…?????
  17. Ternyata itu adalah Hexadecimal. Langsung saja convert hexadecimal to text (http://www.unit-conversion.info/texttools/hexadecimal/)
  18. Hasilnyaaaa…..Taraaaa………

Advertisements

[Write Up] CTF SCC Fenus 2017 – Extrem 1 – Programming (nyummy)

Soal Level Extrem 1 dapat Anda download DISINI (http://skamaker.com/5YEq)

  1. Anda akan mendapatkan file dengan nama nyummy. Itu adalah file Archive. Silakan Anda extract.
  2. Maka akan muncul 2 file, yaitu : OjoDolananTogel.jpg dan Rijndael.php
  3. Silakan buka file gambarnya, siapa tahu ada petunjuk
  4. Ternyata dibawah terdapat kalimat “Pemenang Kunjungi : http://yoineer.com/7xV0”
  5. Ternyata di dalamnya adalah file soal. Ternyata ada file MyExtreme1.txt. Jika Anda buka maka isinya adalah
  6. Bantuin mecahin ini Sayang (Pakai Rijndael.php):
    xDza6mqBg/EII38PyGfuWLMsKJMgn/WjQw0h7gkVmU0sTuCAq8a7WHMcL596dzHb5lLyLIRJRS3ge/j24I8QPqbzPLjTlVaB39lQ87NA6zc4CdVgme2Z9DmsCQ56SaE4yzNw3t0LBdsMN1tso4jHmqnvGxY+eF+0S464avuSYPs=|z8GZl7Yp/rHl1i97h4fNZ8ToI5eXtpC4isf8NgsWFGE=
  7. Silakan buka file Rijndael.php. Ternyata script untuk Decodenya sudah tidak ada entah dimana. Tugas kita adalah melengkapi script tersebut

Script Rijndael.php Awal

<?php

define('ENCRYPTION_KEY', 'd0a7e7997b6d5fcd55f4b5c32611b87cd923e88837b63bf2941ef819dc8ca282');
// Encrypt Function
 function mc_encrypt($encrypt, $key){
 $encrypt = serialize($encrypt);
 $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC), MCRYPT_DEV_URANDOM);
 $key = pack('H*', $key);
 $mac = hash_hmac('sha256', $encrypt, substr(bin2hex($key), -32));
 $passcrypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $encrypt.$mac, MCRYPT_MODE_CBC, $iv);
 $encoded = base64_encode($passcrypt).'|'.base64_encode($iv);
 return $encoded;
 }
// Decrypt Function
 function mc_decrypt($decrypt, $key){
 $decrypt = explode('|', $decrypt.'|');
 $decoded = base64_decode($decrypt[0]);
 $iv = base64_decode($decrypt[1]);
 //Disini Script Hilang
 $key = pack('H*', $key);
 //Disini Script Hilang
 $mac = substr($decrypted, -64);
 $decrypted = substr($decrypted, 0, -64);
 $calcmac = hash_hmac('sha256', $decrypted, substr(bin2hex($key), -32));
 if($calcmac!==$mac){ return false; }
 //Disini Script Hilang
 //Disini Script Hilang
 }
echo '<h1>Rijndael 256-bit CBC Encryption Function</h1>';
$data = 'ctf-hack1nG_CIT_SiNus{2017}';
$encrypted_data = '';
echo 'Decrypted Data: ' . mc_decrypt($encrypted_data, ENCRYPTION_KEY) . '</br>';
$data = array(1, 5, 8, 9, 22, 10, 61);
$encrypted_data = mc_encrypt($data, ENCRYPTION_KEY);

?>

Script Rijndael.php Setelah di Perbaiki

<?php

define('ENCRYPTION_KEY', 'd0a7e7997b6d5fcd55f4b5c32611b87cd923e88837b63bf2941ef819dc8ca282');
// Encrypt Function
 function mc_encrypt($encrypt, $key){
 $encrypt = serialize($encrypt);
 $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC), MCRYPT_DEV_URANDOM);
 $key = pack('H*', $key);
 $mac = hash_hmac('sha256', $encrypt, substr(bin2hex($key), -32));
 $passcrypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $encrypt.$mac, MCRYPT_MODE_CBC, $iv);
 $encoded = base64_encode($passcrypt).'|'.base64_encode($iv);
 return $encoded;
 }
// Decrypt Function
 function mc_decrypt($decrypt, $key){
 $decrypt = explode('|', $decrypt.'|');
 $decoded = base64_decode($decrypt[0]);
 $iv = base64_decode($decrypt[1]);
 if(strlen($iv)!==mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC)){ return false; }
 $key = pack('H*', $key);
 $decrypted = trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $decoded, MCRYPT_MODE_CBC, $iv));
 $mac = substr($decrypted, -64);
 $decrypted = substr($decrypted, 0, -64);
 $calcmac = hash_hmac('sha256', $decrypted, substr(bin2hex($key), -32));
 if($calcmac!==$mac){ return false; }
 $decrypted = unserialize($decrypted);
 return $decrypted; 
 
 }
echo '<h1>Rijndael 256-bit CBC Encryption Function</h1>';
$data = 'ctf-hack1nG_CIT_SiNus{2017}';
$encrypted_data = 'xDza6mqBg/EII38PyGfuWLMsKJMgn/WjQw0h7gkVmU0sTuCAq8a7WHMcL596dzHb5lLyLIRJRS3ge/j24I8QPqbzPLjTlVaB39lQ87NA6zc4CdVgme2Z9DmsCQ56SaE4yzNw3t0LBdsMN1tso4jHmqnvGxY+eF+0S464avuSYPs=|z8GZl7Yp/rHl1i97h4fNZ8ToI5eXtpC4isf8NgsWFGE=';
echo 'Decrypted Data: ' . mc_decrypt($encrypted_data, ENCRYPTION_KEY) . '</br>';
$data = array(1, 5, 8, 9, 22, 10, 61);
$encrypted_data = mc_encrypt($data, ENCRYPTION_KEY);

?>

Setelah itu silakan Anda copy ke XAMPP dan silakan Anda akses di browser. Maka Anda akan menemukan Flag

[Write Up] CTF SCC Fenus 2017 – Hard 2 – SQL Injection (hack-me.zip)

Soal Level Easy 1 dapat Anda download DISINI (http://skamaker.com/5WAb)

Anda akan menemukan file hack-me.zip. Kalau anda buka….eeeeh….. ” Tipe arsip tidak didukung”. Trus itu file apa dong…?????? Itu file txt mas-mbak yang ganteng dan cantik. Coba buka dengan notepad.

Kunjungi aku disini. Aku kangen. Alamatku

aHR0cDovL3lvaW5lZXIuY29tLzg0WjA=

Itu suruh ngunjungi sebuah link. Tapi di encode dengan base64. Coba decode dulu dengan base64 to text. Dan hasilnya :

http://yoineer.com/84Z0

Coba deh buka link tersebut. Ternyata masuk ke sebuah halaman Form

Jika Anda analisa, pemecahannya adalah menggunakan SQL Injection.

  • Jika kemungkinan query menggunakan awalan kutip satu ‘, maka inject dengan kutip dua. contoh querynya sebagai berikut : $query=select * from admin where username=”‘.$username.’” and password=MD5(“‘.$password.’”);
  • Jika kemungkinan query menggunakan awalan kutip dua “, maka inject dengan kutip satu. contoh querynya berikut : $query=select * from admin where username=’$username’ and password=MD5(‘$password’);

Cara Injection

  1.  Buka halaman login
  2. Masukkan sembarang username dan password. Contoh username dan password = admin
  3. Maka akan muncul tulisan QUERY : select * from sqli where username=’admin’ and password=MD5(‘admin’)
  4. Anda sudah dapat melihat struktur querynya. Kembali ke halaman awal/index
  5. Masukan username admin’ /*
  6. Masukan password admin’)*/ OR (‘1’=’1
  7. Kemudian Klik Login
  8. Taraaaa……. Akan muncul tampilan

Coba klik “Forward to Home Admin” Maka akan muncul halaman dimana didalamnya terdapat Flag

 

[Write Up] CTF SCC Fenus 2017 – Hard 1 – Programming (use-ROT13)

Soal Level Medium 3 dapat Anda download DISINI (http://skamaker.com/5TmK)

Jika Anda download Anda akan menemukan file use-ROT13. Dan jika Anda buka dengan notepad. Maka didalamnya terdapat soal :

Tolongin temen gue...Komputer dia baru aja kena Ransomeware "Tante-Cry".
Semua Film kesukaannya di enkripsi. Tapi dia udah nemuin kode enkripsinya.
Ini kode enkripsinya :

507GRnvWTJ48+uoQW0OVogyllFqsQ9ac11urDqWFjuo=

tapi dia bingung, script yang dia pakai gak bisa buat dekripsi kode tersebut.
Bantuin temen gue dong..... !

Scriptnya php-nya ada disini:
uggc://jjj.zrqvnsver.pbz/svyr/8o4ntd4bkb3z4ho/sbe-qrpbqr.cuc

Terdapat kode enkripsi base64. Tetapi untuk memecahkannya kita disuruh menggunakan script PHP yang dapat di download disebuah halaman web. Tetapiiii…….. halaman web/linknya di enkripsi. Truussss……..?????? Ingat, nama file yang anda download tadi adalah “use-ROT13”. Berarti halaman link tersebut di enkrip dengan ROT13. Segera hubungi google. Cari ROT13 to Text. (https://codebeautify.org/rot13-to-text-converter). Taraaaa……….. Setelah di decode ketemu dah linknya. Yaitu http://www.mediafire.com/file/8b4agq4oxo3m4ub/for-decode.php.

Kemudian Download tuh Script PHP buat decodenya. Ternyata eh ternyata setelah dilihat-lihat scriptnya, ada banyak script yang dengaja dihilangkan. Yaaa……kita harus pakai ilmu PHP kita. Jangan cuma bisa Pemberi Harapan Palsu aja,,,tapi kudu bisa Pemberi Harapan Pasti. Yuk kita coba lihat scriptnya.

Ini Script PHP yang belum sempurna :

<?php

$password = 'ctfSinus2017';
$method = 'aes-256-cbc';

$password = substr(hash('sha256', $password, true), 0, 32);

$iv = chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0);

$encrypted = '';

$decrypted = '';
echo 'Flag is : ' . $decrypted . "<br/>";
?>

Dan ini Script PHP yang sudah diperbaiki :

<?php

$password = 'ctfSinus2017';
$method = 'aes-256-cbc';

$password = substr(hash('sha256', $password, true), 0, 32);

$iv = chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0);

$encrypted = '507GRnvWTJ48+uoQW0OVogyllFqsQ9ac11urDqWFjuo=';

$decrypted = openssl_decrypt(base64_decode($encrypted), $method, $password, OPENSSL_RAW_DATA, $iv);
echo 'Flag is : ' . $decrypted . "<br/>";
?>

Jalankan di XAMPP

Ketemu dah Flagnya : CTF[SinusSolo]2017