HITB PRO CTF 2019

Ini cerita khusus mengenai HITB CTF di Abu Dhabi, sedangkan cerita jalan-jalan saya tuliskan di posting lain. Dari websitenya acaranya, rencananya ada 20 tim tingkat dunia yang diundang, pemenang dari berbagai CTF lain di dunia tapi akhirnya hanya 19 team yang berkompetisi. Di akhir kami akhirnya peringkat 9 dari 19.

Tim PDKT yang lolos di HITB tercantum di CTF Time. Saya tidak akan bercerita detail tentang tim ini, silakan kunjungi website/sosmed/github masing-masing anggota teamnya: farisv, visat, wearemarching, zeroload. Sengaja saya link tidak ke linkedin langsung, supaya kalau di masa depan informasi profilenya ingin dianonimkan akan lebih mudah. Ada yang baru tingkat 3, dan sisanya belum lama lulus (tidak seperti saya yang sudah lebih 20 tahun lulus S1).

Ranking akhir pemenang bisa dilihat di: https://ctftime.org/event/918 . Di posting ini saya ingin bercerita mengenai teknis CTF ini, dari format lombanya sampai teknis beberapa soalnya.

Format lomba adalah attack defense murni, tidak ada soal jeopardy. Semua tim diberikan berbagai service yang sama, dan kita perlu menyerang service team lain sambil mempertahankan tim kita. Supaya lebih jelasnya, saya akan memberikan contoh sederhana (bukan soal sesungguhnya).

Misalnya kita diberi layanan image gallery. Ternyata di programnya ada bugnya: bisa mengupload selain image, jadi kita bisa menjalankan kode kita sendiri atau mungkin ada bug lain: bisa melihat image orang lain. Nah panitia akan menaruh flag (berupa string kode) ke dalam image, dan akan mengupload ke semua peserta (flagnya beda untuk tiap service dan tim tiap peserta).

Tugas kita adalah mencuri flag dari peserta lain, dan memastikan orang tidak bisa mengambil flag kita. Bagian sulitnya adalah: fungsionalitas harus tetap jalan, jadi kita tidak bisa membela diri dengan mematikan servicenya atau memblok semua iamge, atau memblok peserta. Jadi ada program dari panitia yang akan menguji bahwa fungsionalitas masih jalan. Di contoh ini galery harus bisa tetap menerima image dan tetap bisa didownload imagenya. Jadi patchnya harus cukup eksak, kalau membuat layanannya tidak berjalan, poin kita akan dikurangi.

Panitia sudah membuat repositori semua soal dengan writeup dari panitia (dengan solusi yang diharapkan panitia). Ini bisa diakses umum di:

https://github.com/HackerDom/proctf-2019

Terlihat bahwa team PDKT berhasil pertama menyelesaikan salah satu soal drone_racing (first blood untuk soal itu).

Kita bisa menjalankan tcpdump untuk memonitor layanan kita agar bisa mempelajari eksploit yang dikirimkan team lain. Tapi tcpdump ini tidak selalu ampuh karena beberapa hal:

  • Team lain mengirimkan eksploit yang obfuscated
  • Kadang data yang dikirimkan sangat besar (misalnya image), padahal disk space virtual machine yang diberikan sangat terbatas
  • Kadang layanan memakai SSL (encrypted), jadi harus diintercept dengan cara khusus (tidak bisa sekedar tcpdump)
  • Kadang layanan memakai enkripsi custom

Jika ada beberapa team yang mendapatkan skor terlalu banyak dari satu soal, soal itu akan dipensiunkan dan diganti dengan soal yang lain. Soal-soal hari pertama baik yang bisa maupun yang tidak bisa diselesaikan juga dipensiunkan di hari ketiga.

Menurut saya beberapa soal dirancang tidak bisa diselesaikan dalam waktu sehari, dan memang diharapkan peserta meneruskan pengerjaan soal di hotel. Jadi jika ada lomba semacam ini, sebaiknya persiapkan stamina dengan baik.

Ada beberapa soal yang saya benar-benar tidak kepikiran karena tidak tahu bahwa suatu hal itu mungkin. Misalnya saya tidak memperhatikan di soal rubik bahwa bisa saja terjadi use after free karena menggunakan alokasi stack manual di F#. Saya tidak tahu bahwa ini bisa dilakukan di F# dan bahwa tidak ada pengecekan yang dilakukan oleh runtime .NET.

Satu soal yang membuat menyesal adalah SepToN. Saya tahu persis harus bagaimana: melakukan attack terhadap Substitution–permutation network. Dulu saya sempat mempelajari ini khusus AES untuk melakukan fault injection attack di hardware, tapi saya tidak pernah benar-benar mempraktikkan variasi SPN yang tidak wajar (di kasus ini round-nya hanya 4).

Saya merasa soal-soal enkripsi blok ini cukup mengada-ada. Saya tidak pernah menemukan di dunia nyata orang yang membuat block cipher custom sendiri. Sedangkan untuk berbagai kasus kelemahan kriptografi yang lain, memang saya temukan. Saya merasa stuck karena saya pikir attack hanya bisa dilakukan terhadap BMP header (4 byte) saja. Setelah membaca writeupnya, ternyata komponen Alpha bisa digunakan.

Ada satu team yang berhasil menyelesaikan soal SepToN ini, dan dari satu soal ini saja, mereka mendapatkan nilai yang sangat banyak. Tidak ada defense khusus yang bisa dilakukan untuk menangkal ini, jadi semua tim lain juga pasrah.

Soal yang diberikan sangat bervariasi, dan bahkan ada soal IOT juga. Saya sendiri awalnya diundang karena akan ada materi khusus IOT, tapi ternyata bagian ini dibatalkan. Ternyata dalam lomba ini tetap ada satu soal IOT. Saya agak menyesal tidak memperhatikan bahwa diberikan kabel mini USB untuk ST-LINK, dan baru di hari kedua saya sadari kabel ini ada dan bisa dipakai mengekstrak firmwarenya. Sayangnya waktunya tidak cukup, dan soal tidak diteruskan untuk hari ketiga. Saya jarang melakukan reversing kode ARM thumb (terakhir adalah ketika melakukan RE Pokemon Go Plus), dan prosesnya agak lama.

Ada juga satu soal berhubungan dengan AI (adversarial attack). Saya merasa sedikit kesal dengan diri sendiri karena tidak pernah benar-benar mencoba attack terhadap AI meskipun tahu teorinya. Saya tahu dengan tepat bagaimana neural networknya bekerja, dan saya mencoba-coba mengimplementasikan neural network sederhana dengan layer deconvolutional tapi akurasinya masih terlalu rendah.

Kesulitan utama dalam mengerjakan CTF seperti ini adalah: memilih soal untuk dikerjakan. Ada beberapa soal yang dari awal sepertinya sudah terlihat sangat sulit, tapi ternyata mudah (misalnya soal ca), dan karena sudah merasa akan ribet, kami jadinya tidak menyelesaikannya. Beberapa soal lain terlihat sulit dan memang sangat sulit (misalnya convolutional) dan saya merasa ini hampir mustahil selesai sehari (dan memang semua tim gagal menyelesaikan ini).

Di sisi lain: kadang soal sulit bisa memiliki solusi sederhana yang tidak diharapkan pembuat soal. Team PDKT berhasil menyelesaikan soal Drone Racing yang mestinya sangat rumit (overflow file .class) dengan hanya menggunakan trik database.

Saya kagum dengan dedikasi team PDKT yang selagi lomba juga sambil mengurus final Cyber Jawara, jadi waktunya agak tersita karena sambil lomba juga mengurusi lomba di Indonesia. Semoga berikutnya akan ada lebih banya lagi yang kemampuannya setara, supaya minimal bisa membantu penyelenggaraan lomba di Indonesia.

Penutup

CTF offline seperti ini memang cocok untuk anak muda, sedangkan saya merasa agak lelah karena masalah perjalanan dan perbedaan time zone dan stamina tidak seperti waktu saya masih muda. Selain itu sudah lama juga saya tidak ikut CTF yang umum seperti ini, dua tahun terakhir saya hanya ikutan CTF Flare On saja. Mungkin kalau pekerjaan utama saya sehari-hari berhubungan dengan security, akan lebih mudah untuk update ilmu security/CTF setiap hari.

CTF seperti ini butuh tetap mengerjakan soal di hotel. Ini juga alasan saya tidak membawa Risna dan anak-anak, karena tidak akan bisa bersenang-senang di hari lomba. Sepertinya sekarang ini saya lebih cocok dengan CTF jangka panjang seperti Flare On supaya santai.

Pemain CTF juga harus belajar banyak hal baru, termasuk juga topik sulit seperti AI. Topik dasar enkripsi secara menyeluruh juga perlu dikuasai Saya sendiri jadi terinspirasi untuk akan lebih banyak menuangkan hal-hal seperti ini dalam bentuk tulisan (sudah lama tidak menulis teknis dasar).

Semoga di tahun-tahun berikutnya team Indonesia bisa lebih baik lagi.

CTF dan jalan-jalan di Abu Dhabi dan Dubai

Tim PDKT yang terdiri dari 3 orang berhasil menang di CTF HITB (Capture the Flag Hack In The Box) di Singapore (peringkat pertama), dan mereka mendapatkan undangan untuk berpartisipasi di HITB Pro di Abu Dhabi. Karena satu team di Abu Dhabi boleh 5 orang, maka mereka mengundang saya dan satu orang lagi. Tiket dan hotel kami ke Abu Dhabi dibayari oleh panitia.

Pada final ini kami hanya meraih peringkat 9 dari 19 team. Menurut saya tidak terlalu jelek mengingat lawan kami adalah tim tingkat dunia, dan anggota tim PDKT masih harus sambil mengurusi event Final CTF Cyber Jawara selagi berlomba. Posting ini hanya cerita singkat mengenai perjalanannya, dan di posting lain akan saya ceritakan lebih detail mengenai teknis CTF-nya.

Di Thailand kebetulan tanggal 14 adalah hari libur nasional, jadi saya bisa ikut event ini dengan mengambil hari cuti yang minimal. Acara selesai Kamis Sore, tapi karena tidak mungkin juga saya kembali dan langsung bekerja di Jumat pagi, saya putuskan untuk memperpanjang sampai Sabtu malam (pesawat jam 23.30).

Di Uni Emirat Arab (berikutnya saya singkat UAE saja), Jumat dan Sabtu adalah hari Libur. Teman saya Okta (yang pernah muncul namanya di posting yang ini), berbaik hati menawarkan untuk menginap di apartemennya. Hari Jumat walaupun libur, tapi umat Islam wajib melakukan Sholat Jumat, jadi saya meminta dijemput Okta jam 3 sore.

Museum Louvre Abu Dhabi

Saya menghabiskan pagi sampai Jumat sore di Museum Louvre Abu Dhabi. Saya belum pernah ke Louvre di Perancis, jadi tidak bisa membandingkan dengan di sana. Dari dulu saya merasa saya bukan orang yang bisa mengapresiasi seni, tapi lama-lama saya tertarik juga. Beberapa hal yang membuat saya tertarik pada seni dan arkeologi adalah Episode Dr Who mengenai Vincent Van Gough dan juga isi berbagai game Professor Layton.

Saya membawa koper dan tas saya ke museum karena saya sudah membaca bahwa mereka memiliki ruang penitipan (cloakroom). Waktu masuk, tas dan koper discan seperti di bandara, dan saya harus menunjukkan bahwa segala macam kabel yang terlihat di scanner memang hanya kabel biasa.

Untuk lebih menghargai kunjugan saya ke museum, saya membayar ekstra 21 AED untuk dapat memakai Multimedia guide. Ini berupa sebuah iPad mini dengan aplikasi Guide yang sudah terinstall di dalamnya. Setelah memakai aplikasi ini saya jadi tahu bahwa ternyata aplikasinya sama persis dengan yang ada di Google Play Store dan Apple App Store. Jadi kalau mau berhemat, pakai saja HP sendiri dengan menginstall dulu aplikasinya sebelumnya karena ukuran downloadnya cukup besar.

Berbagai item yang terpajang di museum memiliki nomor, dengan mengetikkan nomor itu, kita bisa mendengarkan penjelasan singkat mengenai objek itu. Dengan ini saya merasa bisa lebih menghargai apa yang bisa saya lihat. Misalnya: apa istimewanya bejana ini? Oh ternyata benda ini diciptakan sebelum Roda Tembikar (Potter’s Wheel) ditemukan, jadi teknik yang dipakai berbeda.

Item nomor 106 di aplikasi LAD

Sayangnya tidak semua objek memiliki penjelasan, padahal banyak juga benda-benda yang membuat penasaran. Sebenarnya tanpa datang ke museum itu, kita bisa mempelajari dengan cukup memakai aplikasinya. Hal yang tidak bisa dirasakan adalah kemegahan benda-benda, misalnya patung atau lukisan yang besar.

Saya berharap berbagai museum di Indonesia bisa membuat aplikasi sejenis itu. Aplikasinya konsepnya sangat sederhana: kita memasukkan angka secara manual. Tidak perlu menambahkan NFC, RFID, atau bahkan QR Code, cukup menambahkan angka ke display di museum. Tidak perlu juga penyewaan device khusus, cukup sediakan saja aplikasinya di play store/app store.

Saya sempat makan di kafetaria di Louvre. Walau harga makanan cukup mahal, makanannya cukup enak, dan pemandangan bagus (ke arah laut). Setelah selesai melihat semuanya, saya juga mengecek bagian museum untuk anak-anak, tapi menurut saya tempatnya terlalu kecil.

Sheikh Zayed Grand Mosque 

Saya dijemput oleh Okta bersama keluarga dan diantar ke Sheikh Zayed Grand Mosque . Ini merupakan salah satu tujuan wisata yang disarankan di Abu Dhabi. Masjidnya sangat besar dan ada jalan masuk khusus untuk pengunjung.

Dari jalan masuk khusus kita akan masuk parkir bawah tanah yang besar, seperti di Mall. Saya cukup kagum karena yang pertama saya lihat ketika masuk adalah: Starbucks.

Setelah itu kami perlu mengisi data diri pengunjung yang sepertinya hanya sekedar keperluan Survey karena kita tidak diminta nama atau pun nomor identitas. Entri data menggunakan iPad yang dipasang. Setelah itu kita akan mendapatkan print berupa QR Code

Perjalanan dari tempat parkir sampai Masjid cukup jauh, tapi banyak travelator dan juga eskalator yang tinggal diikuti. Di berbagai tempat wisata rohani di dunia ini (misalnya di berbagai pura di Bali atau temple di Chiang Mai), kita diminta untuk berpakaian sopan, demikian juga halnya di Masjid ini. Untuk yang memakai pakaian kurang sopan, akan dipinjami baju yang lebih sopan.

Kesan saya: Masjid ini sangat megah dan indah baik luar maupun dalamnya. Saya hanya memilih foto yang agak kosong untuk diupload di sini, dalam kenyataannya jumlah pengunjung masjid sangat banyak.

Makan malam

Saya ditraktir oleh Okta dan keluarga untuk makan di Najd Palace. Berbagai menu dan harganya bisa dilihat di situs restorannya. Di sinilah kali pertama saya merasakan daging Onta, yang menurut saya rasanya lezat.

Setelah sedikit melihat kota Abu Dhabi, saya menginap di Apartemen Okta. Di pagi hari, Nita, istrinya Okta memasakkan kami makanan Indonesia. Menu sarapannya cocok sekali untuk lidah saya.

Perjalanan ke Dubai

Di hari Sabtu pagi, Okta sekeluarga pergi ke Dubai untuk mengantarkan anaknya les piano, jadi saya numpang sekalian untuk ketemu Mas Ady, Rinda dan anak-anaknya. Mas Ady ini dulu kakak kelas dan sekaligus kakak Admin jaringan, sementara Rinda ini teman sekelas dulu di ITB.

Pemandangan sepanjang perjalanan kebanyakan adalah gurun, tapi ada banyak juga pepohonan di tepi jalan. Rupanya ada banyak selang air yang membuat tanaman itu bisa tetap hidup di gurun yang panas. Perjalanan ke Dubai memakan waktu sekitar 1 jam.

Sebelum bertemu dengan Mas Ady dan keluarga, saya sempat melihat-lihat toko buku, dan mendapati ada 2 buku programming yang saya belikan untuk Jonathan.

Sedangkan Joshua yang suka belajar alfabet apa saja (Inggris, Rusia, Spanyol, Thai, Yunani, dan sekarang Arab) saya belikan wipe and clean numeral Arab.

Setelah ketemu, acaranya adalah makan sambil ngobrol-ngobrol. Tapi fotonya tidak akan saya upload di sini, cukup di FB saja dan tidak dibuat publik. Sebelum makan, Rinda memberi saya susu Unta. Ini juga kali pertama saya minum susu Unta. Menurut saya rasanya enak.

Waktu saya untuk jalan-jalan tidak banyak: pukul 18.45 saya harus naik bus ke Abu Dhabi (busnya gratis oleh Etihad, Airline yang saya pakai). Jadi supaya maksimal yang dilakukan hanya mampir dan foto-foto di beberapa tempat.

Mas Ady berbaik hati memfotokan saya di berbagai tempat yang khas Dubai, seperti misalnya dengan latar belakang Burj Khalifa dan juga suasana gurun. Dulu saya berpikir bahwa gurun itu tempat yang “menyeramkan” tapi ternyata bisa terlihat sangat indah.

Sebagai orang yang suka ngoprek mobil, mas Ady sempat menunjukkan menu diagnostik mobilnya. Penasaran pengen pencet-pencet menunya, tapi takut karena mobilnya sambil jalan.

Saya diantarkan ke stasiun bus dan busnya tidak lama kemudian berangkat. Di dalam busnya ada WiFi-nya. Ketika sampai, masih ada waktu untuk makan, jadi saya membeli makanan sambil memakai buah Ara yang dibawakan oleh Rinda. Sempat kaget juga karena ada yang tiba-tiba datang dan bertanya: beli buah itu di mana? ketika saya bilang saya belinya di Dubai dia tampak kecewa.

Pulang

Semua proses checkin berjalan lancar, dan saya sampai di Bangkok Jam 9 pagi di hari Minggu. Kemudian perjalanan diteruskan ke Chiang Mai. Perjalanan bisa lancar, dan semuanya senang menerima oleh-oleh yang dibawakan oleh keluarga Mas Ady/Rinda dan juga Okta/Nita.

Saya sangat menikmati perjalanan kali ini. Meskipun tidak menang di lomba, saya merasa belajar cukup banyak. Saya juga senang bisa bertemu generasi muda hacker Indonesia yang bisa membanggakan nama Indonesia di dunia Internasional. Saya juga senang bisa bertemu teman-teman yang sudah lama sekali tidak bertemu (terakhir bertemu lebih dari 10 tahun yang lalu). Saya juga senang melihat kelakuan anak-anak yang di mana-mana sama aja, mirip dengan anak-anak saya.

Insiden Google Play: CC Niaga dicharge 100x lipat

Cerita ini tentang kejadian yang saya alami dua hari lalu: membeli koin game seharga 5 ribu rupiah di Google Play tapi tercharge 500 ribu rupiah di CC Niaga (5 transaksi, jadi 2.5 juta rupiah). Masalahnya bisa diselesaikan setelah menelpon dan juga membatalkan transaksi dari Google Play. Nah sekarang cerita lengkapnya.

Saya cukup jarang membeli koin game dari Google Play. Pernah membeli agak banyak karena pernah dapet voucher Google Play, tapi dalam kasus tersebut tidak ada masalah, karena tidak terhubung ke kartu kredit. Koin yang saya beli adalah untuk game Pokemon Go dari perusahaan Niantic.

Niantic memiliki sistem pricing yang aneh: akan lebih murah membeli 100 koin berkali-kali dibandingkan langsung mengeluarkan uang banyak. Perhatikan gambar ini:

  • 100 Pokecoin 5 ribu rupiah
  • 550 Pokecoin 75 ribu rupiah

Sedangkan jika saya membeli 100 pokecoin x 6 = 600 pokecoin, dengan hanya 5 rb x 6 = 30 ribu rupiah. Ini saya jelaskan supaya bisa dimengerti alasan kenapa saya perlu membeli berkali-kali. Saya memilih menggunakan account indonesia, karena dengan account Thailand, harga koin menjadi hampir 2x lipat (harga 100 pokeoin 5000 rupiah menjadi 20 baht atau 9200 rupiah).

Perhatikan juga: tidak ada item yang harganya tepat 500 ribu rupiah, ada yang lebih dan ada yang kurang, tapi tidak ada yang tepat 500 ribu rupiah. Yang paling dekat adalah 589 ribu, dan di bawahnya 299 ribu. Jadi tidak mungkin saya salah beli/salah tekan yang hasilnya 500 ribu rupiah.

Saya berencana membeli 14 kali (1400 koin), totalnya seharusnya 70 ribu rupiah. Pembelian pertama sampai kelima berhasil, tapi ketika yang keenam saya dapat pesan: kartu ditolak. Saya pikir: hmm mungkin ada fraud detection. Mungkin karena ada banyak pembelian berulang dalam waktu singkat, jadi kartunya ditolak.

Saya teringat lagi bahwa saya masih punya pulsa XL karena dulu pernah dapat dari menemukan bug di situs isi pulsa (bug sudah dilaporkan dan dapat reward). Dan ternyata dengan account Google Indonesia saya bisa membeli memakai pulsa XL. Dan saya teruskan pembeliannya dengan XL, 9 pembelian berikutnya berhasil.

Saya mendapat notifikasi (14 email) dari Google via email. Semua sesuai yang diharapkan. Perhatikan: 100 koin dengan harga 5000 rupiah. Total 5000 rupiah.

Tapi beberapa jam kemudian saya dapat SMS Horror. Saya bukan dicharge 5 ribu rupiah, tapi 500 ribu rupiah, per transaksi. Meski hanya ada 3 SMS, tapi CS niaga memastikan bahwa jumlah transaksinya 5, bukan 3.

Sejujurnya, walau sering dapat SMS notifikasi tapi sering kali tidak saya perhatikan seksama karena biasanya bank selalu benar. Asalkan saya merasa memang melakukan transaksi, ya notifikasinya pasti benar. Tapi untungnya kali ini saya perhatikan dengan seksama jumlah nolnya.

Pikiran pertama saya adalah: mungkin sistem notifikasinya salah. Saya cek saldo kartu kredit online: benar, semua limit kartu kredit saya habis. Untungnya limit kartu saya ini sangat rendah (< 3 juta rupiah), kartu ini lebih sering saya pakai untuk pentesting.

Berikutnya: saya telepon ke Niaga. Tips: lihat SMS dengan seksama, ada nomornya di situ. Saya sempat mencoba +622114041 (yang tercantum di web niaga) tapi selalu gagal. Konyolnya, saya sempat salah tekan bukan 14041, tapi 14045 dan nyasar ke McD.

  • Memakai 006/001, dia langsung +622114041 tidak bisa dari Thailand
  • Memakai Skype bisa, tapi ketika mulai berbicara dengan CS, tiba-tiba audionya beralih ke call orang lain (sepertinya bug Skype, saya coba 2x hasilnya sama)

Saya menghubungi CS karena ingin benar-benar yakin bahwa transaksinya 500 ribu rupiah, dan bukan kesalahan di sistem notifikasi dan web CIMB Niaga. Jawaban CS adalah: benar transaksinya sebesar itu, coba kirim bukti-bukti ke [email protected]

Sebelum mengirimkan bukti, saya segera terpikir untuk segera membatalkan transaksi di Google Play. Sayangnya di Google Play opsi alasan yang ada hanya sangat sedikit. Sebenarnya tidak ada alasan yang cocok dengan masalah saya. Tidak ada cara mudah menghubungi Google, jadi saya pilih alasan apa saja. Empat transaksi pertama berhasil dibatalkan, tapi yang kelima gagal.

Akhirnya saya kirim bukti-bukti ke Niaga dan segera dibalas dengan meminta nomor kartu saya. Sebenarnya saya merasa kurang nyaman dan aman mengirimkan nomor CC via email (karena pada dasarnya email itu tidak aman), tapi karena limitnya sangat rendah, ya sudah lah.

Hari ini saya belum mendapat kabar resmi dari Niaga (katanya memang akan dihubungi dalam 3 hari, jadi masih wajar). Tadi saya cek online semua saldo kartu kredit sudah kembali normal, jadi saya putuskan untuk menuliskan ceritanya. Sampai saat ini saya tidak tahu salah siapa ini, dan apakah banyak yang terpengaruh. Kalau Anda belum lama ini berbelanja di Google Play dengan kartu kredit, coba cek tagihannya.

Penutup

Siapa saja bisa menjadi korban “sial” sistem komputer. Setiap sistem bisa bermasalah, atau dalam kasus saya dua sistem yang berhubungan bisa memiliki bug. Sekarang saya selalu berusaha memiliki backup untuk berbagai hal yang sifatnya terkomputerisasi, misalnya:

  • memiliki dua rekening bank, masing-masing memiliki kartu ATM
  • memiliki dua nomor telepon (dan tetap memelihara nomor Indonesia andaikan ada masalah)
  • memiliki backup di cloud provider terpisah

Saya bersyukur karena banyak hal:

  • Masalahnya bisa diselesaikan dengan cepat
  • Kartu yang saya pakai memiliki limit yang rendah sehingga gagal di transaksi ke-5. Andaikan limitnya tinggi, saya akan tercharge 7 juta rupiah.
  • Tidak sedang butuh memakai kartunya segera

Bisa dibayangkan betapa sedihnya kalau gara-gara game, kartu terblokir, lalu butuh itu untuk membayar tagihan penting.

Tulisan ini sekaligus juga sebagai pengingat: periksalah berbagai SMS dan Email notifikasi yang masuk dari Bank.

Cerita hacking dari masa lalu

Sebagian teman angkatan di Informatika ITB tahu kalau saya dan Deny dulu hampir di-DO karena “ngehack” kampus, tapi cerita detailnya belum pernah saya tuliskan. Nah kali ini dengan persetujuan dan encouragement dari Deny, Tintin, dan Okta saya akan tuliskan ceritanya. Karena ini cerita lama (lebih dari 20 tahun yang lalu), saya akan banyak memberikan latar belakang cerita.

Cerita ini sudah sangat lama, sebagian detail sangat saya ingat, tapi sebagian lagi benar-benar lupa. Ketika bertanya ke Tintin dan Deny mereka juga banyak lupa detailnya, jadi saya ceritakan saja di sini sekarang sebelum tambah lupa lagi.

Kenalan dengan Hacker

Saya awali dulu dengan cerita ketemu Deny. Sekedar background: kok bisa ketemu dengan orang lain yang suka ngehack?

Saya ketemu Deny kali pertama waktu kuliah di Informatika ITB, tahun 1998. Di ITB tingkat 1 adalah Tahap Persiapan Bersama, di tahun pertama semua jurusan pelajarannya sama yaitu ilmu-ilmu dasar dengan tujuan agar ilmunya seragam di tingkat berikutnya. Pelajaran yang diberikan misalnya: Fisika, Kimia, Matematika (Kalkulus), Bahasa Inggris, dan bahkan ada juga pelajaran Olah Raga.

ITB

Nah saya jadi ngobrol dengan Deny karena waktu itu saya membawa buku komputer. Kalau tidak salah ingat judul bukunya: Meningkatkan Dayaguna Komputer dengan Turbo Pascal karangan Busono. Buku ini mengajarkan cara mengakses hardware komputer secara low level (serial port, parallel port, dsb) dengan Turbo Pascal.

Perlu dicatat bahwa saat itu (nggak tau sekarang) banyak yang masuk Informatika ITB tapi pengetahuannya mengenai komputer sangat dasar sekali. Informatika ITB dipilih banyak orang karena passing grade-nya waktu itu adalah yang tertinggi. Jadi saya senang ketemu dengan seseorang yang bisa ngobrol programming selagi programming belum diajarkan di kelas.

Meski belum diajarkan programming, HMIF (Himpunan Mahasiswa Informatika) ITB memberikan pelatihan dasar Linux pada seluruh mahasiswa baru setelah selesai masa OSPEK. Pelajarannya sangat dasar: bagaimana mengakses Linux, mengakses email, membuat file, mengedit dengan vi, dsb.

Di pelatihan itu (Agustus 1998) kali pertama saya dan Deny belajar mengenai Linux. Sebelumnya kami cuma memakai DOS dan Windows. Setelah masa pelatihan selesai, mahasiswa (tingkat manapun, termasuk tingkat 1) boleh bebas mengakses lab ketika tidak ada praktikum. Bahkan kadang diperbolehkan juga pada jam praktikum kalau kenal dengan asistennya, selama masih ada komputer kosong di belakang dan tidak mengganggu sesi praktikum.

Lab

Di semua waktu luang tingkat 1, saya dan Deny menghabiskan sebagian besar waktu ngoprek di Lab. Waktu itu belum ada Google (tepatnya lagi baru September 1998 Google didirikan, itupun tidak langsung populer), jadi sumber utama ilmu kami adalah:

  • Majalah Phrack
  • Halaman manual (man page), bahkan saya pernah memprint banyak sekali manual page “perl” untuk dibaca di kost
  • Mailing list (misalnya bugtraq)
  • Beberapa website dan e-Zine

Entah kenapa saya dan Deny tidak tertarik sama sekali untuk join dengan berbagai “group hacker” seperti hackerlink, kecoak elektronik, dsb. Tapi saya dapat cerita dari teman kami Tintin (sekelas/seangkatan juga), bahwa group yang ada itu ya cuma bisa compile exploit dari Packet Storm, dan bahkan kadang mereka bingung kalau ketemu error waktu compile.

Waktu tahun kami masuk, kondisi mesin di lab sedang cukup parah. Baru dua tahun setelah itu ada dana baru sehingga mesinnya diupgrade secara signifikan. Dulu sudah jaman Pentium tapi mesin di lab masih 486 DX dan keyboardnya banyak yang mulai error. Mesinnya bisa dual boot: network boot ke Linux (diskless, memakai NFS) dan ke Novell Netware. Dari Netware kita bisa telnet ke salah satu server yang bisa diakses mahasiswa (Puntang/x86 dan kerinci/Sparc).

Sebagai catatan: di berbagai jurusan lain (misalnya Teknik Elektro) waktu itu yang banyak dipakai adalah BSD (biasanya FreeBSD), tapi di jurusan Informatika yang banyak dipakai adalah Linux dari awal. Dari setup yang dilakukan, bisa dilihat bahwa adminnya (mas Budi Aprianto mahasiswa yang dipandu oleh dosen, Pak Riza Satria Perdana ) sangat capable dan sudah mensetup sistemnya dengan baik:

  • Network boot dengan PXE waktu itu belum umum, harus burn EPROM di Network Card
  • Diskless boot juga tidak terlalu umum. Server NFS-nya memakai Solaris di server dengan CPU SPARC

Awalnya rasanya aneh memakai Linux, beberapa ilmu DOS seperti TSR, mengakses layar secara langsung atau memakai Library “<conio.h>” untuk mewarnai layar tidak berlaku di Linux. Tapi saya dan Deny cukup rajin belajar mengimplementasikan banyak hal, dari network programming (bikin port scanner dengan full TCP connect), sampai termasuk juga yang berhubungan dengan security.

Di tahun 1998 sebenarnya mekanisme shadow password sudah disupport di Linux, tapi entah kenapa belum diimplementasikan di distribusi yang kami pakai. Salah satu “hack” pertama yang kami lakukan adalah membuat program untuk membrute force password seseorang. Waktu itu password requirement belum diterapkan, jadi passwordnya masih relatif gampang ditebak.

Seperti yang saya jelaskan: kondisi lab waktu itu cukup parah, banyak keyboard yang error, kadang menekan 1 huruf tapi hurufnya tertekan 2 kali atau malah tidak tertekan. Ini biasanya jadi masalah ketika mengganti password (ada kelebihan/kekurangan huruf). Daripada selalu merepotkan admin, waktu itu kami membantu teman yang lupa password dengan mencoba-coba otomatis menambah dan mengurangi karakter dari password terakhir yang diingat.

Perpustakaan

Lab di Informatika ITB tutup di sore hari (lupa jam 4 atau 5), tapi ada rental Internet di perpustakaan ITB yang tutup sampai jam 7 malam. Jika saya belum ingin pulang (toh di kost nggak banyak yang bisa dikerjakan) saya akan menghabiskan uang untuk nongkrong di rental internet perpustakaan (memakai Windows 97).

Perpustakaan ITB

Akses internet di perpustakaan ITB adalah per 30 menit: bayar dulu, komputer tertentu akan diaktifkan, dan jika waktu habis koneksi akan dimatikan otomatis. Tapi lama-lama kan mahal, jadi saya mempelajari bagaimana prosesnya sejak memberi uang, dapat akses internet, sampai aksesnya dimatikan lagi.

Ternyata operator akan melakukan telnet ke sebuah server dan dari situ ada skrip untuk membuka akses internet. Saya perhatikan juga bahwa ada admin yang suka memakai salah satu komputer di dalam ruangan rental.

Saya menulis sendiri keylogger yang memakai API windows. Tepatnya sebenarnya bukan keylogger karena tidak mencatat semua tombol, tapi hanya akan mencari semua single line textbox dan password textbox dan melog teks serta passwordnya ke file. Di Windows lama (95 sampai ME) ini sangat mudah, kita cukup mengenumerasi handle Window dan mengirimkan WM_GETTEXT (waktu itu tidak ada sistem permission di Windows). Dengan teknik tersebut, segala macam password yang sudah tersimpan juga bisa didapatkan passwordnya (tidak hanya yang diketik manual).

Saya hanya memasang logger di komputer yang saya tahu dipakai admin. Dengan logger itu saya bisa mendapatkan akses internet unlimited di perpustakaan. Supaya tidak mencurigakan biasanya saya akan membayar 30 menit pertama dan hanya meneruskan kalau sepi. Di semester baru, saya baru tahu dari Deny kalau dia bawa logger saya dan dia pakai di warnet di Medan.

Tempat Lain

Lab IF dan Perpustakaan sebenarnya bukan satu-satunya tempat nongkrong. Banyak tempat lain di ITB yang punya lab komputer dan jadi tempat belajar untuk banyak orang, misalnya ada PAU (Pusat Antar Universitas), unit ARC (Amateur Radio Club), berbagai lab di berbagai jurusan.

Masing-masing orang punya kisahnya di tempat mereka, dari mulai kisah teknis seperti kami, sampai ada yang ketemu pasangan di tempat-tempat tersebut. Saya sendiri dulu sempat juga main ke ARC sebentar, tapi karena merasa kurang cocok, jadi lebih sering di lab IF (sementara Deny cukup sering ke ARC).

Root

Saya tidak ingat kapan kami mulai berani mengakses root. Tapi ini terjadi kira-kira akhir tahun (sekitar 3-4 bulan sejak kami belajar Linux). Akses root pertama kami dapatkan dari backdoor di port yang kami temukan dengan port scan. Selain cara itu, waktu itu ada banyak sekali eksploit yang bisa dipakai asalkan kita mencari di Internet (atau melihat mailing list bugtraq).

Sebagai catatan: dari adanya backdoor berarti sudah ada yang lebih dulu dari kami mendapatkan root. Salah satu teman kami, Okta juga dapet root dengan eksploit sendmail.

Salah satu alasan kami mendapatkan root adalah: untuk mengakses internet dari lab IF ITB. Di semester pertama kami cuma dapat akses email. Kami berusaha mencari host yang memiliki akses internet dan/atau username/password proxy yang bisa dipakai.

Berikutnya setelah jadi root di satu host, mau ngapain? Bagian pertama adalah: jadi root di host lain. Kami bisa telnet ke mesin x86 dan Sparc. Di mesin x86 kami sudah punya root, tapi di Sparc kami nggak punya exploit apa-apa. Kami bisa mengakses home dir yang sama (via NFS). Jadi pertama adalah pivoting: mengcopy shell di Sparc ke home directory, lalu di-chmod setuid root dari server x86. Sekarang kami punya akses di kedua server utama. Dari mana dulu tahu ilmu ini? sebenarnya semuanya cuma logika dasar aja. Setelah tahu konsepnya, mengembangkan hal-hal dasar seperti itu tidak sulit.

Keisengan berikutnya muncul: Deny mendownload source code program “login”, lalu menambahkan kode logging agar password disimpan ke file. Executable baru itu dipakai untuk menggantikan program login asli di kedua server. Hasilnya: kami dapat password semua orang.

Sebagai catatan: programming itu sangat perlu untuk seorang hacker. Sekarang ini banyak yang mengaku “hacker”, tapi kalau saya berikan source code saja dan saya minta untuk menambahkan logging kebanyakan tidak bisa.

Meskipun mendapatkan akses ke semua account, kami tidak tertarik membaca email atau file-file orang lain. Segala macam yang kami lakukan waktu itu cuma karena penasaran aja. Kami juga nggak mau mencoba teknik-teknik yang kami anggap nggak butuh skill teknis, contoh yang tidak kami lakukan:

  • Denial Of Service
  • Email bombing
  • Social engineering

Bagian social engineering ini: kami nggak pengen seseorang jadi merasa bersalah jadi korban Social engineering. Tujuan hacking waktu itu adalah: belajar teknis.

Tertangkap

Saya tidak tahu tepatnya apa yang membuat kami tertangkap. Seingat saya kami sudah sangat teliti: tidak memakai home directory sendiri, tapi memakai home directory dua mahasiswa ITB yang diterima tapi pindah keluar negeri. Kalau tidak salah ingat: ada keanehan di sistem dan itu menyebabkan penelusuran yang mendalam di sistem dan malah mengarah ke kami berdua.

Saya ingat waktu itu ada kuliah di salah satu gedung di tengah ITB (lupa tepatnya, antara Oktagon atau TVST), dosennya adalab Bu Putri. Kami sadar ada yang salah, karena di akhir kuliah tiba-tiba beliau memanggil: yang namanya Yohanes Nugroho mana ya? (saya berdiri), terus “kalau Deny Saputra?” (Deny berdiri). Terus udah: “silakan duduk, cuma pengen tahu yang mana sih orangnya”. Urutan memanggilnya begitu, karena NIM saya lebih rendah dari Deny.

Selesai kuliah itu saya dan Deny sudah tahu bahwa kami tertangkap. Saya diwawancara oleh Pak Riza Satria Perdana, lalu Deny juga (wawancaranya terpisah). Setelah semuanya selesai, kami diberi tahu bahwa sebenarnya yang kami lakukan itu bisa membuat kami di DO. Tapi Pak Riza mau memberi kesempatan, bahkan akhirnya saya menjadi administrator jaringan Informatika ITB.

Saya sebutkan di atas bahwa Okta juga mendapatkan root, tapi lolos dari interogasi. Kenapa? karena waktu interogasi, saya ditanya itu setuid shell punya siapa? saya bilang “nggak tau, mungkin Deny yang taruh situ”, dan ketika Deny ditanya: “nggak tau, mungkin Yohanes yang taruh di situ”.

Supaya jelas: meskipun kami sering ngehack bareng , bukan berarti tiap hari duduk berdua dan ngobrol berdampingan. Kami hacking terpisah, dan banyak diskusi. Kadang saya dan Deny duduk di lab terpisah dan berbicara dengan software “talk“. Jadi kami nggak tahu 100% apa yang dilakukan yang lain.

Penutup

Sejak kami tertangkap, kami jadinya pelan-pelan meninggalkan dunia security dan lebih fokus ke programming. Memasuki tahun kedua, sudah ada banyak tantangan dari berbagai tugas kuliah yang diberikan, jadi sudah tidak bosan lagi. Tapi masih ada juga sedikit jejak yang saya lakukan di bidang security setelah itu (misalnya ini).

Setelah itu saya banyak terlibat berbagai kegiatan lain, misalnya mengurus TOKI, ikut jadi programmer pengolah data di ITB, ikut proyek dosen, jadi asisten di universitas swasta, memberi les, dsb). Sedangkan Deny mengambil jalan hidup lain (silakan tanya sama Deny buat yang ketemu, nggak akan diceritakan di sini). Okta sekarang jadi expat di Timur Tengah.

Baru tahun 2014 saya mulai terlibat lagi di dunia security. Kerjanya hanya part time pentesting (sampai sekarang masih part time). Part time di sini artinya: dari Senin sampai Jumat saya kerja di perusahaan di Thailand sini menjadi programmer yang tidak ada hubungannya dengan produk security dan cuma di malam hari/weekend saya melakukan pentesting.

Tahun 2016 ikutan ngajak Deny untuk ikutan Flare On dan Pentesting. Ternyata ilmu Deny di bidang RE dan pentesting masih tajam walau tidak pernah khusus pentesting. Contohnya kelakuan hardcorenya ketika mengerjakan RHME (Hardware CTF): reversing statik assembly AVR (bukan kode C hasil decompiler), pake listing HTML dari IDA, di handphone, di kereta pulang sambil berdiri (dan flagnya ketemu).

Kami minta maaf buat yang dulu merasa kesal dengan kelakuan kami. Kami juga mengucapkan terima kasih untuk Pak Riza dan para dosen lain yang masih memberi kesempatan pada kami untuk bertobat dari kenakalan kami dan bisa meneruskan di ITB.

Setelah lama lulus, dapet cerita dari Tintin, ternyata kelakuan kami dulu sangat menginspirasi dia untuk belajar security. Bahkan Tintin sekarang sudah mengambil S2 security dari Carnegie Mellon University. Syukurlah, ternyata yang kami lakukan nggak sepenuhnya berefek negatif untuk orang lain :).

Kalau dari ingatan Tintin, ada banyak hal iseng lain yang kami lakukan, tapi karena saya nggak ingat, saya tidak ceritakan di sini. Walau mungkin dulu sengaja saya lupakan karena terlalu iseng. Seingat saya sih saya nggak pernah berniat jahat.

Tapi saya harap yang kami lakukan di atas tidak ditiru mentah-mentah. Jangan menghack kampus, sudah ada banyak cara lain yang legal untuk belajar security:

  • Ada bug bounty
  • Ada berbagai CTF
  • Ada berbagai sertifikasi yang bisa diambil

Hal yang patut ditiru adalah:

  • Semangat membaca artikel teknis
  • Semangat mencoba berbagai hal teknis secara umum
  • Semangat belajar programming

Kalau bisa ketemu orang atau kelompok yang membantu bertumbuh akan lebih baik lagi.

Happy Hacking

Nostalgia di Sekolah Dasar

Hari ini saya sedang melatih diri untuk mencoba mengingat seberapa ingatan saya sekarang tentang masa kecil saya. Kalau mengingat secara spesifik, rasanya kok sulit, tapi ada beberapa hal yang saya ingat secara random.

Saya gak pernah diberi uang jajan dari kecil. Waktu SD kelas 1, lokasi sekolah itu dekat dari rumah jadi saya bisa jalan kaki. Orang tua saya gak pernah memberi saya uang jajan. Saya juga ga punya kebiasaan jajan. Ada sih warung-warung di depan sekolah, ada juga yang jual mainan, tapi saya tidak pernah punya keinginan untuk membeli apa-apa.

Nah tapi seperti pernah saya tulis sebelumnya, waktu SD kelas 1, tanpa saya mengerti beberapa teman menyerahkan uang jajannya 100 rupiah sehari ke saya karena mereka menyontek PR dari saya. Saya sudah gak ingat lagi PR jaman SD itu kayak apa ya? rasanya saya gak pernah juga berlama-lama ngerjain PR. Biasanya bahkan pulang sekolah saya tinggal main-main saja. Uang yang diberi teman saya itu ya saya kumpulin aja. Kalau sudah banyak saya tukar dengan lembaran uang 1000-an ke mama saya. Uangnya saya kumpulkan di dompet di rumah.

Setelah kelas 3 SD, saya diberikan ongkos becak atau bemo untuk sekolah karena kami pindah rumah agak jauh dari sekolah. Saya ingat kelas 3 SD itu saya masuk sekolah jam 1 siang sampai jam 5 siang. Iya saya sekolahnya SD Negeri Inpres yang bangkunya gak cukup untuk semua kelas masuk bersamaan. Jadi kelas 1 itu masuk sekolah jam 10 – 12, kelas 2 masuk jam 7.45 – 12, kelas 3 – 5 masuk siang jam 1- 5, lalu kelas 6 SD masuk pagi lagi.

Kelas tertentu saya bisa sharing becak dengan kakak saya, sisanya ya saya kadang jalan kaki setengah jalan supaya bayar angkotnya lebih murah dan sisanya saya kantongi. Ada kalanya juga saya naik sepeda ke sekolah. Saya gak ingat umur berapa saya bisa mahir naik sepeda, tapi saya ingat sering naik sepeda itu kelas 4 atau 5 SD.

Saya ingat, kadang-kadang ada les tambahan dari gurunya untuk acara sekolah, misalnya menari atau les tambahan ketika kelas 6 SD. Les tambahan ini wajib. Jadi sekolah pagi sampai jam 1, semua disuruh pulang dulu lalu datang lagi jam 3- 5. Saya ingat kadang-kadang saya bermain sepeda cukup jauh juga dengan teman-teman saya sepulang dari les tambahan. Tapi kalau sekarang ditanya daerah mana dulu sepedaanya, saya gak ingat lagi hehehe.

Ada memor yang juga saya ingat banget, waktu itu datang dokter untuk vaksinasi gratis. Saya yang sebenarnya takut bilang ke guru kalau menurut orangtua saya, saya sudah dapat imunisasi lengkap, jadi saya gak perlu lagi disuntik. Ada beberapa teman yang juga gak ikut imunisasi lagi, dan kami mengetawai teman-teman yang nangis ketika disuntik (padahal sendirinya kabur hahahha).

Memori paling berkesan waktu kelas 6 SD itu ketika saya masuk TV untuk acara cerdas cermat, walaupun kami kalah dan cuma dapat juara 3. Nah tapi hadiahnya dipakai sama kepala sekolahnya dan gak dikasihin ke kami huhuhuhu. Saya ingat banget kalau saya ajak 2 teman saya yang ikutan tim cerdas cermat untuk menghadap kepala sekolah meminta hadiah yang diberikan, tapi ya waktu itu saya belum bisa menang argumen lawan kepala sekolah hehehehe.

Gimana dengan teman-teman masa SD, masih ada yang ingat? Yang saya ingat paling teman yang masuk ke SMP yang sama. Teman yang ikut cerdas cermat bahkan sampai SMA masih ketemu lagi walau cuma 1 orang yang sekelas sama saya. Sekarang masih kontak? masih sama 1 orang, yang 1 lagi nggak tau kabarnya. Ada beberapa nama teman-teman SD yang masih saya ingat, tapi waktu saya coba cari di FB saya tidak menemukannya.

Salah satu hal yang juga lucu kalau diingat, waktu SD itu pertemanan bisa dari deket banget lalu jadi musuhan (eskete), terus nanti baikan lagi dan jadi deket banget lagi. Penyebab musuhannya apa? saya ga ingat lagi. Namanya juga anak-anak ya, hal-hal kecil aja bisa bikin ribut.

Setelah menulis beberapa kenangan SD ini, ada banyak kenangan lain muncul di kepala, misalnya kenangan masak air sampai gosong di ruang guru, berantem sama temen 1 kelompok karena masalah pinjam tip-ex, jadi mata-mata di kelas yang suka disuruh guru mencatat siapa yang ribut ketika guru perlu keluar ruangan sebentar. Di suruh membantu ibu guru nulis di papan tulis (padahal tulisan saya gak bagus-bagus amat). Bikin guru berantem karena saya sebel dijadiin kurir bolak balik buat menyampaikan pesan mereka ke guru lain (ini sebenarnya dasar aja gurunya hubungannya udah ga bagus, terus ngapain juga saya harus mondar mandir menyampaikan pesan dengan awalan: kata bu A bla bla bla).

Ternyata memori itu bekerjanya butuh dipancing ya, kalau udah ingat 1 hal, bisa jadi kemana-mana hahahhaa. Sepertinya tulisan random ini harus diakhiri sebelum tambah random lagi :). Menyenangkan juga mengingat-ingat masa kecil, siapa tau nanti ada teman SDN 060855 nyasar ke blog ini dan ingat saya hehehe.

Serasa hidup seratus tahun

Saya dulu lahir dan menghabiskan masa kecil di tempat yang boleh dibilang agak primitif. Tempatnya tidak ada listrik (memakai lampu dian), tidak ada toilet (buang air di kali), memakai kayu untuk memasak (tidak memakai minyak tanah atau gas), dinding rumahnya dari anyaman bambu.

Dulu saya kadang berpikir: sayang sekali dulu saya nggak punya kesempatan belajar komputer dari kecil (seperti anak-anak di Amerika pada masa itu misalnya). Tapi setelah bertemu banyak orang, terutama orang tua, saya jadi bisa nyambung ketika bercerita dengan mereka (“dulu waktu saya masih kecil, belum pake listrik, bisa kamu bayangkan nggak?”). Saya jadi merasa pernah hidup di awal abad 20 (atau bahkan seperti akhir abad 19 di Eropa).

Komputer pertama saya bukan IBM PC tapi Apple II/e yang dibeli bapak saya karena dapat dengan harga sangat murah (bapak nggak ngerti berbagai jenis komputer). Sekarang waktu saya melihat berbagai video Youtube mengenai komputer lama, saya merasa bisa mengerti yang mereka bicarakan. Saya jadi sempat merasa hidup remaja di tahun 1980an.

Sekarang saya jadi lebih bisa menikmati cerita sejarah, tapi biasanya sampai sekitar 1900an atau kahir 1800an saja, karena sebelum itu tidak banyak yang bisa dilakukan oleh orang biasa (bukan dari keluarga ningrat atau kaya). Sebelum itu banyak penemuan dasar seperti toilet juga belum umum. Baru pertengahan abad 19 toilet dengan flush banyak dipakai. Kertas tisu toilet baru diterima di Eropa tahun 1930an setelah teknologinya cukup matang.

Saya tidak tahu berapa lama lagi akan hidup, tapi dengan pernah mengalami masa kecil di kampung, pernah memiliki komputer lama, dan dengan membaca banyak sejarah, saya merasa telah hidup lama sekali. Meski begitu tentunya saya berharap ingin punya umur panjang untuk melihat berbagai hal di masa depan.

15 Tahun ngeblog bareng

Hari ini tepat 15 tahun kami ngeblog bareng. Cerita mengenai awal ngeblog bareng ini sudah dituliskan waktu saya posting mengenai 10 tahun ngeblog bareng (kami ngeblog setelah beberapa bulan pacaran). Kenapa kami masih ngeblog di sini sementara orang lain memakai sosmed (berganti-ganti sosmed) dan kenapa ngeblognya campur-campur antara cerita teknis, cerita kehidupan dan hal random lainnya sudah pernah juga dituliskan di posting 14 tahun blogging bareng.

Sekitar setahun terakhir ini kami tambah rajin ngeblog. Risna mulai memaksakan diri lebih banyak ngeblog dengan mengikuti writing challenge dan saya berusaha menambahkan banyak konten baik teknis maupun non teknis.

Jumlah posting blog sampai saat ini

Menulis teknis yang akurat dan enak dibaca itu sulit dan butuh waktu jadi itu sebabnya cerita teknisnya tidak selalu ada. Saya tahu banyak yang suka membaca blog ini dan minta topik tertentu tapi tidak bisa saya tuliskan dengan singkat karena prerequisite ilmunya banyak.

Saya berikan contoh topik yang sering diminta orang: bypassing SSL Pinning. Secara praktis ada beberapa tool yang memungkinkan kita membypass SSL pinning dan tekniknya jalan pada 90% aplikasi yang ada. Masalahnya adalah pada 10% aplikasi lain yang tidak bisa dibypass itu bagaimana? biasanya orang bertanya karena aplikasi yang ingin dicoba tidak bisa dibypass SSL pinningnya dengan berbagai tool yang sudah ada.

Topik bypassing SSL pinning ini meliputi banyak hal: mengenai bagaimana kerjanya SSL? apa itu SSL certificate? apa isinya? Apa itu public key? lalu biasanya public key ini harus dihash, apa itu hashing? setelah dihash informasinya biasanya disimpan dalam encoding base64.

Tanpa dasar semacam itu sulit sekali membuat artikel singkat bypass SSL Pinning yang bisa membypass berbagai aplikasi. Saya sudah mulai membahas banyak topik dasar di blog ini walau tidak disharing ke sosmed, sekarang semuanya dimasukkan kategori: basic security.

Tapi hidup ini nggak cuma soal teknis, jadi saya akan menulis lebih banyak hal lagi yang belum saya tuliskan. Ada banyak minat sesaat saya yang sering tidak saya tulis padahal bisa jadi kenangan. Saya dulu sempat suka dangdut (misalnya ada posting Jadilah Bintang), suka Anime dan Manga (dulu saya sempat melukis Sailor Moon dengan cat minyak di pelajaran seni rupa, dan salah satu keisengan adalah membuat program kuis Sailor Moon), pernah suka campur sari (belum pernah saya tulis), dan masih banyak lagi.

Sekarang ini juga saya jadi sering membaca berbagai topik random karena berbagai pertanyaan dari Jonathan yang sering ke mana-mana (misalnya: “If nothing made out of matter can not exceed the speed of light, can we use anti-matter instead?“, “How many rovers are there on Mars?”). Kadang bingung bagaimana menuliskan topik random seperti ini. Kadang ketertarikan Jonathan juga tidak bertahan terlalu lama karena memang kadang hal-hal yang dia pikirkan masih jauh dari kemampuannya saat ini.

Berbagai keisengan Jonathan ini rencananya juga akan saya tuliskan. Kadang ini masih berhubungan dengan teknis juga. Misalnya sekarang Jonathan sedang berusaha membuat kalkulator di minecraft. Dia sudah melihat beberapa video untuk berbagai pendekatannya (misalnya ada pendekatan sangat sederhana dengan semacam lookup table, dan pendekatan dengan konversi ke biner dulu).

Saya senang sampai sekarang masih bisa ngeblog bareng Risna. Semoga kami bisa tetap ngeblog bareng terus menuliskan kisah hidup kami sampai tua nanti.