LEVEL : NEWBIE
Spam dan Phishing adalah serangan social engineering yang umum. Dalam social engineering, vektor serangan phishing bisa berupa panggilan telepon, pesan teks, atau email. Kaya yang seharusnya udah lu tebak, fokus kita adalah di email sebagai vektor serangan.
Kita semua seharusnya agak familiar sama apa itu spam. Ga peduli apa pun, email-email ini entah gimana nemuin jalan ke kotak masuk (inbox) kita.
Email pertama yang diklasifikasiin sebagai spam berasal dari tahun 1978, dan itu masih berkembang sampe sekarang.
Phishing adalah vektor serangan serius yang lu, sebagai defender, harus pertahanin. Organisasi bisa ngikutin semua pedoman yang disaranin pas ngebangun strategi pertahanan berlapis. Tapi, yang dibutuhin cuma pengguna yang kurang berpengalaman dan ga curiga dalam lingkungan perusahaan lu buat ngeklik tautan atau nge-download dan ngejalanin lampiran berbahaya yang bisa ngasih penyerang pijakan ke dalam jaringan.
Banyak produk ngebantu ngelawan spam dan phishing, tapi realistisnya email ini masih bisa lolos. Pas itu terjadi, sebagai Analis Keamanan, lu perlu tau cara menganalisis email ini buat nentuin apakah itu berbahaya atau jinak. Lebih jauh lagi, lu bakal perlu ngumpulin informasi tentang email buat memperbarui produk keamanan lu buat mencegah email berbahaya balik lagi ke kotak masuk pengguna.
Di materi ini, kita bakal ngeliat semua komponen yang terlibat sama pengiriman email di Internet dan cara menganalisis header email.
Pantes aja buat mulai materi ini dengan nyebutin orang yang nemuin konsep email dan ngebikin simbol @
terkenal. Orang yang bertanggung jawab atas kontribusi terhadap cara kita berkomunikasi adalah Ray Tomlinson.
Penemuan email dimulai dari tahun 1970-an buat ARPANET. Yap, mungkin sebelum lu lahir. Jelas, sebelum gua lahir. 🙂
Jadi, apa yang membentuk alamat email?
- User Mailbox (atau Username)
@
- Domain
Yuk kita liat alamat email ini, billy@johndoe.com
.
- User mailbox-nya adalah
billy
@
(terima kasih Ray)- Domain-nya adalah
johndoe.com
Buat nyederhanain ini lebih jauh, pikirin tentang jalan tempat lu tinggal.
Lu bisa mikirin jalan lu sebagai domain.
Nama depan/belakang penerima, bareng sama nomor rumah dalam skenario ini, mewakili user mailbox.
Dengan informasi ini, tukang pos yang ngirim surat tau ke kotak surat mana harus naro suratnya.
Selanjutnya, yuk kita liat protokol jaringan yang dipake buat ngirim email dari pengirim ke penerima.
Beberapa protokol terlibat sama “sihir” yang terjadi pas lu ngeklik KIRIM (SEND) di klien email.
Sekarang, lu seharusnya udah tau kalo protokol tertentu dibikin buat menangani tugas terkait jaringan tertentu, kaya email.
Ada 3 protokol khusus yang terlibat buat memfasilitasi pesan email keluar dan masuk, dan itu dicantumin secara singkat di bawah ini.
- SMTP (Simple Mail Transfer Protocol) – Ini dipake buat menangani pengiriman email.
- POP3 (Post Office Protocol) – Bertanggung jawab mentransfer email antara klien dan server email.
- IMAP (Internet Message Access Protocol) – Bertanggung jawab mentransfer email antara klien dan server email.
Lu seharusnya udah merhatiin kalo POP3 dan IMAP punya definisi yang sama. Tapi ada perbedaan di antara keduanya.
Perbedaan antara keduanya dicantumin di bawah:
POP3
- Email di-download dan disimpen di satu perangkat.
- Pesan terkirim disimpen di satu perangkat tempat email dikirim.
- Email cuma bisa diakses dari satu perangkat tempat email di-download.
- Kalo lu mau nyimpen pesan di server, pastiin setelan “Keep email on server” diaktifin, atau semua pesan dihapus dari server setelah di-download ke aplikasi atau software perangkat tunggal.
IMAP
- Email disimpen di server dan bisa di-download ke banyak perangkat.
- Pesan terkirim disimpen di server.
- Pesan bisa disinkronin dan diakses di banyak perangkat.
Sekarang yuk kita bahas gimana email berjalan dari pengirim ke penerima.
Buat ngegambarin ini dengan sebaik-baiknya, liat gambar yang diilustrasiin di bawah:

Di bawah ini adalah penjelasan dari tiap titik bernomor dari diagram di atas:
- Alexa nulis email ke Billy (
billy@johndoe.com
) di klien email favoritnya. Setelah dia selesai, dia ngeklik tombol kirim. - Server SMTP perlu nentuin ke mana ngirim email Alexa. Itu query DNS buat informasi yang terkait sama
johndoe.com
. - Server DNS dapetin informasi
johndoe.com
dan ngirim informasi itu ke server SMTP. - Server SMTP ngirim email Alexa di Internet ke kotak surat Billy di
johndoe.com
. - Di tahap ini, email Alexa ngelewatin berbagai server SMTP dan akhirnya diterusin ke server SMTP tujuan.
- Email Alexa akhirnya nyampe server SMTP tujuan.
- Email Alexa diterusin dan sekarang ada di server POP3/IMAP lokal nunggu Billy.
- Billy login ke klien emailnya, yang query server POP3/IMAP lokal buat email baru di kotak suratnya.
- Email Alexa disalin (IMAP) atau di-download (POP3) ke klien email Billy.
Terakhir, tiap protokol punya port default dan port yang disaranin terkait. Contohnya, SMTP adalah port 25.
Baca artikel ini buat paham perbedaan antara masing-masing di sini.
Kita tau gimana email berjalan dari titik A ke titik B dan semua protokol yang terlibat dalam prosesnya.
Tugas ini adalah buat memahami komponen-komponen yang membentuk pesan email pas nyampe di kotak masuk (inbox).
Pemahaman ini penting kalo lu pengen menganalisis email yang berpotensi berbahaya secara manual.
Sebelum kita mulai, kita perlu memahami kalo ada dua bagian dari email:
- header email (informasi tentang email, kaya server email yang meneruskan email)
- isi email (body) (teks dan/atau teks berformat HTML)
Sintaks buat pesan email dikenal sebagai Internet Message Format (IMF).
Yuk kita liat header email dulu.
Apa yang lu cari pas menganalisis email yang berpotensi berbahaya?
Yuk kita mulai dengan kolom header email ini:
From
– alamat email pengirimSubject
– baris subjek emailDate
– tanggal pas email dikirimTo
– alamat email penerima
Ini biasanya keliatan jelas di klien email apa pun. Yuk kita liat contoh kolom ini di gambar di bawah.
Peringatan: Ini adalah cuplikan dari email yang sebenernya. Email di gambar di bawah ini dari alamat email honeypot Yahoo. Jangan terlibat/berinteraksi sama alamat email atau alamat IP yang dijelasin di materi ini.

Catatan: Angka-angka di gambar di atas sesuai sama daftar poin kolom header email di atas.
Metode lain buat dapetin informasi header email yang sama, dan lebih banyak lagi, adalah dengan ngeliat detail email ‘mentah’ (raw).
Pas ngeliat header email secara detail, itu bisa mengintimidasi pada awalnya, tapi itu ga seburuk itu kalo lu tau apa yang harus dicari.
Catatan: Tergantung pada klien email lu, apakah klien web atau aplikasi desktop, langkah-langkah buat ngeliat kolom header email ini bakal bervariasi, tapi konsepnya sama.
Di gambar di bawah, lu bisa ngeliat cara ngeliat informasi ini di Yahoo.

Di bawah ini adalah snippet pesan mentah buat sampel email.

Catatan: Gambar di atas nunjukkin beberapa, bukan semua, informasi dalam header email.
Lu bisa meninjau email ini di direktori Email Samples di Desktop dalam virtual machine yang dilampirin. Emailnya berjudul email1.eml
.
Dari gambar di atas, ada kolom header email lain yang menarik.
X-Originating-IP
: Alamat IP asal email dikirim (ini dikenal sebagai X-header).Smtp.mailfrom/header.from
: Domain asal email dikirim (header ini ada di dalamAuthentication-Results
).Reply-To
: Ini adalah alamat email yang bakal dituju email balasan, bukan alamat emailFrom
.
Buat memperjelas, di email di sampel di atas, Pengirimnya adalah newsletters@ant.anki-tech.com
, tapi kalo penerima ngebales email, balasannya bakal masuk ke reply@ant.anki-tech.com
, yang merupakan Reply-To
, dan BUKAN ke newsletters@ant.anki-tech.com
.
Di bawah ini adalah sumber daya tambahan dari Media Template tentang cara menganalisis header email:
Isi email (email body) adalah bagian dari email yang isinya teks (polos atau berformat HTML) yang pengirim pengen lu liat.
Di bawah ini adalah contoh email text-only.

Di bawah ini adalah contoh email berformat HTML.

Email di atas isinya gambar (yang diblokir sama klien email) dan hyperlink yang disematkan (embedded). HTML adalah yang ngebolehin buat nambahin elemen ini ke email.
Buat ngeliat kode HTML email sama dengan pendekatan yang ditunjukin di bawah, tapi itu mungkin bervariasi tergantung klien webmail.
Di contoh di bawah, screenshot-nya dari Protonmail. (Nggak ada gambar, tapi ini cara ngeliat kode HTML email di Protonmail.)
Cuplikan kode HTML ditunjukin di bawah.

Snippet kode HTML ditunjukin di bawah

Di klien web email khusus ini, Protonmail, opsi buat beralih kembali ke HTML disebut “View rendered HTML”.

Sekali lagi, itu bakal beda buat klien webmail lain.
Terakhir, email mungkin isinya lampiran (attachment). Premis yang sama berlaku; lu bisa ngeliat lampiran email dari format HTML email atau dengan ngeliat kode sumber.
Yuk kita liat beberapa contoh di bawah.
Contoh ini adalah email berformat HTML dari “Netflix” dengan lampiran. Klien webnya adalah Yahoo!

- Isi email punya gambar.
- Lampiran email adalah dokumen PDF.
Sekarang yuk kita liat lampiran ini dalam source code.

Dari contoh di atas, kita bisa ngeliat header yang terkait sama lampiran ini:
Content-Type
adalahapplication/pdf
.Content-Disposition
nentuin kalo itu lampiran.Content-Transfer-Encoding
ngasih tau kita kalo itu di-encode base64.
Dengan data yang di-encode base64, lu bisa nge-decode-nya dan nyimpennya ke mesin lu.
Peringatan: Pas berinteraksi sama lampiran, lakuin dengan hati-hati dan pastiin lu ga ngeklik dua kali lampiran email secara ga sengaja.
Catatan: Header khusus buat ‘konten’ bisa ditemuin di berbagai lokasi dalam kode sumber pesan email, dan itu ga cuma terkait sama lampiran. Contohnya, Content-Type
bisa text/html
, dan Content-Transfer-Encoding
bisa punya nilai lain, kaya 8bit
.
Sekarang kita udah ngebahas konsep umum tentang email dan gimana mereka berjalan dari pengirim ke penerima, kita sekarang bisa ngebahas gimana metode komunikasi ini dipake buat tujuan jahat.
Jenis email berbahaya yang beda bisa diklasifikasiin sebagai salah satu dari ini:
- Spam – email sampah yang ga diminta yang dikirim secara massal ke sejumlah besar penerima. Varian Spam yang lebih berbahaya dikenal sebagai MalSpam.
- Phishing – email yang dikirim ke target yang ngaku-ngaku berasal dari entitas tepercaya buat memikat individu agar ngasih informasi sensitif.
- Spear phishing – ngambil phishing selangkah lebih maju dengan menargetkan individu atau organisasi tertentu yang nyari informasi sensitif.
- Whaling – mirip sama spear phishing, tapi itu ditargetkan khusus buat individu tingkat C (C-Level) posisi tinggi (CEO, CFO, dll.), dan tujuannya sama.
- Smishing – ngambil phishing ke perangkat seluler dengan menargetkan pengguna seluler dengan pesan teks yang dibuat khusus.
- Vishing – mirip sama smishing, tapi alih-alih pake pesan teks buat serangan social engineering, serangannya didasarkan pada panggilan suara.
Kalo soal phishing, modus operandi-nya biasanya sama tergantung pada tujuan email. Contohnya, tujuannya bisa buat panen kredensial, dan yang lain adalah buat dapetin akses ke komputer.
Di bawah ini adalah karakteristik umum yang dimiliki email phishing:
- Nama/alamat email pengirim bakal nyamar sebagai entitas tepercaya (email spoofing)
- Baris subjek dan/atau isi (teks) email ditulis dengan rasa urgensi atau pake kata kunci tertentu kaya Faktur, Ditangguhkan, dll.
- Isi email (HTML) dirancang agar cocok sama entitas tepercaya (kaya Amazon)
- Isi email (HTML) diformat atau ditulis dengan buruk (bertentangan dengan poin sebelumnya)
- Isi email pake konten generik, kaya Dear Sir/Madam.
- Hyperlink (seringkali pake layanan pemendek URL buat nyembunyiin asal aslinya)
- Lampiran berbahaya yang menyamar sebagai dokumen yang sah
Kita bakal ngeliat masing-masing teknik (karakteristik) ini dengan lebih detail di materi selanjutnya dalam modul Phishing.
Pengingat: Pas berurusan sama hyperlink dan lampiran, lu perlu hati-hati biar ga ga sengaja ngeklik hyperlink atau lampiran.
Hyperlink dan alamat IP harus ‘dijinakkan’ (defanged). Defanging adalah cara buat bikin URL/domain atau alamat email ga bisa diklik buat ngindarin klik yang ga disengaja, yang bisa ngakibatin pelanggaran keamanan yang serius. Itu ngeganti karakter khusus, kaya “@” di email atau “.” di URL, dengan karakter yang beda.
Contohnya, domain yang sangat mencurigakan, http://www.suspiciousdomain.com
, bakal diubah jadi hxxp[://]www[.]suspiciousdomain[.]com
sebelum meneruskannya ke tim SOC buat deteksi.
Sebelum ngakhirin materi ini, lu harus tau apa arti BEC (Business Email Compromise).
BEC adalah pas musuh (adversary) dapetin kendali atas akun karyawan internal dan kemudian pake akun email yang udah kena compromise itu buat ngebujuk karyawan internal lain buat ngelakuin tindakan yang ga sah atau curang.
Tip: Lu harus familiar sama istilah ini. Gua pernah denger pertanyaan ini ditanyain sebelumnya dalam wawancara kerja.
Dalam materi ini, kita ngebahas ini:
- Apa yang membentuk alamat email?
- Gimana email berjalan dari pengirim ke penerima.
- Cara ngeliat kode sumber header email.
- Cara ngeliat kode sumber isi email.
- Memahami informasi terkait yang harus kita dapetin dari email yang lagi kita analisis.
- Beberapa teknik umum yang dipake penyerang dalam kampanye email spam dan phishing.
Di seri Analisis Phishing yang akan datang, kita bakal ngeliat sampel berbagai teknik umum yang dipake dalam kampanye email phishing, bareng sama tools buat ngebantu kita menganalisis header email dan isi email.