[BUG BOUNTY] Email Spoofing | No Valid SPF Record

Avatar photo

Sekian lama tidak aktif ngeblog lagi, kali ini saya ingin sharing kembali mengenai salah satu celah yang saya temukan di salah satu website pembayaran elektronik lokal Indonesia.

Vulnerability jenis apa yang saya temukan ?

Awal mulanya saya melakukan footprinting dan melakukan information gathering dengan keinginan mendapatkan sebuah keberentungan, alhasil saya hanya menemukan sebuah file i.php yang menampilkan konfigurasi PHP yang dipakai pada web tersebut. Jika dilaporkan pun hanya akan dianggap sebagai “Information Disclosure”. saya sempat berhenti sejenak sampai disini sampai ada teman saya yang memberikan sebuah link referensi mengenai email spoofing.

Apa sih Email Spoofing itu ? 

Email spoofing adalah pemalsuan pada bagian header email, sehingga email yang dikirim seolah-olah dikirimkan dari email yang valid. e-mail spoofing umumnya digunakan untuk aktivitas spamming, phishing atau fraud. Contoh email spoof biasanya dikirimkan dengan menyamarkan alamat email sebenarnya dengan alamat email instansi tertentu.

Kenapa Email Spoofing bisa terjadi ?

Yang saya tau, email spoofing sendiri bisa terjadi karena adanya misconfiguration atau kesalahan saat mengatur sebuah SPF record. 

SPF atau Sender Policy Framework adalah sistem validasi email yg didisain untuk mencegah spam dengan cara mendeteksi spoofing, dengan mem-verifikasi alamat IP pengirim. Dengan SPF kita bisa tahu bahwa sebuah email terkirim dari sebuah alamat IP (email server) yang memang diijinkan untuk mengirim email tsb dari domain si sender.

Dari sini saya tahu bagaimana saya harus melanjutkan, saya mencoba apakah disalah satu domain target saya ini memiliki missconfiguration SPF Record tadi.

Proof of Concept :

1. Buka https://www.kitterman.com/spf/validate.html untuk mengecek SPF valid tidaknya. Ciri SPF yang memiliki kerentanan kurang lebih seperti ini :

SPF record lookup and validation for: redacted.com

Permanent SPF error: Void lookup limit of 2 exceeded

SPF records are published in DNS as TXT records.

The TXT records found for your domain are:

No valid SPF record found.

2. Lakukan uji coba spamming menggunakan fake mailer, https://emkei.cz/?reCAPTCHAv2

3. Gunakan domain yang rentan tadi sebagai pengirim, contoh : superadmin@redacted.com

4. Jika email tadi masuk pada inbox, berarti domain tadi memang benar-benar memiliki celah email spoofing.

Apa impact dari celah ini ?

Sederhananya kita bisa saja memanfaatkan celah ini untuk memanipulasi email pengirim sebagai admin domain tersebut untuk mengirimkan email ke korban.

Terus bagaimana cara memperbaikinya ?

Menambahkan SPF record disetiap domain yang rentan, saran gunakan operator “-all” daripada menggunakan operator “~all”.

Pengertian ringkasnya seperti ini :

  • +all (Pass) – Semua email diperbolehkan.
  • -all (Fail) – Bahwa kiriman email yang tidak sesuai verifikasi (MX Record, Alamat IP, dan sebagainya) akan otomatis ditolak.
  • ~all (SoftFail) – Ijinkan email walaupun gagal saat dicocokkan dengan parameternya dan nanti akan ditandai oleh sistem.
  • ?all (Neutral) – Tidak ada kebijakan yang digunakan.
Mungkin itu saja sedikit penjelasan mengenai writeup bug bounty saya yang berantakan dengan banyaknya kekurangan.
Timeline report :
– 13/06/2020 – Vulnerability reported.
– 14/06/2020 – The REDACTED team asked for my ID
– 14/06/2020 – Triaged.
– 08/09/2020 – Ask for update reports
– 11-09-2020 – Resolved. Vulnerability has been patched.
– 23/09/2020 – Bounty rewarded.
Referensi :

Total
0
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post

Belajar MySQL : Membuat Auto Generator PIN menggunakan Trigger

Next Post

0l4bs | Cross-site scripting labs for web application security enthusiasts

Related Posts