Ada pepatah, jangan menganggap remeh musuh anda :-)
sejak implementasi exim di worldless (berapa tahun kang?)
saya menerapkan smtp auth supaya user tertentu bisa
merelay dari luar network.
kira-kira tanggal 1 september, rupa-rupanya spammer
mencium adanya keteledoran admin (macam saya) yang
tidak memeriksa apakah semua semua expansion variable
yang digunakan kosong atau bernilai. dan, exim rupanya
menganggap {} == {} adalah benar (1/true) jadi,
attacker tinggal menyebut random string pada variable
2 sehingga menghasilkan {} (kosong/null) dan mengosongkan
variabel ke tiga, misal untuk metode plain:
% printf 'adi\0adipass' | mmencode
kalau user adi tidak ad, lookup adi menghasilkan {},
dan karena $3 kosong, jadi -> authenticated.
jadi jangan lupa, memeriksa dulu bahwa expansion variable
tidak kosong, misal:
autentikasi_plain:
driver = plaintext
public_name = PLAIN
server_condition = "${if and {{!eq{$2}{}}{!eq{$3}{}} \
{eq{${lookup{$2}cdb{/mail/passwd_database.db}{$value}}}{$3}}}{yes}{no}}"
server_set_id = $2
sepertinya ini metode baru. kebetulan ada 2 mesin exim yang
mengaktifkan smtp auth, kena attack-nya bareng he..he..
baru saja dibetulin, sudah langsung punya tester:
2003-09-05 23:51:52 Authentication failed for (exclaims) [218.70.144.13]: 535
Incorrect authentication data
2003-09-05 23:53:25 Authentication failed for (hotel) [218.70.143.178]: 535 Incorrect
authentication data
attacker semakin cepat. kita semakin lambat ;-(
Salam,
P.Y. Adi Prasaja
--
Right or wrong my list. Unsubscribe option is currently unavailable.
Indeed, it's available upon request .. but: cepek dulu donk!