Sending Email via Gmail SMTP Server using OpenSSL
1 of 13
http://www.ilmuhacking.com/how-to/sending-email-via-gmail-smtp-serve...
Page protected Data secured
339Mb
Ilmu Hacking Hackingology, Computer Security Blog
Home About Disclaimer Menjaring Password dengan Firefox Sniffer Cpanel File Manager XSS Attack
Sending Email via Gmail SMTP Server using OpenSSL On March 11, 2009, in How to, by Rizki Wicaksono
Artikel ini bukan tentang bagaimana memakai Outlook, Thunderbird dan email client lainnya, bukan itu. Di sini saya akan menjelaskan bagaimana email dikirimkan ke tujuan melalui SMTP server Gmail secara anonymous maupun authenticated dengan menggunakan OpenSSL. Ini adalah penjelasan apa yang sebenarnya terjadi dibalik layar ketika outlook dan email client lainnya mengirim email melalui smtp server gmail. Anonymous vs Authenticated Sending Email bisa dikirimkan melalui smtp server secara anonymous maupun authenticated. Kalau kita mengirim email secara anonymous memakai smtp server milik gmail, maka email tujuan tidak bisa dari domain lain, harus dari domain yang sama atau domain lain yang masuk dalam jaringan google apps. Bila smtp server gmail mengijinkan pengiriman email ke lain domain secara anonymous itu berarti smtp server gmail bersifat open relay, karena dia bersedia menjadi titik relay pengiriman email ke domain lain. Saat ini jarang sekali ada smtp server yang open relay karena dia akan menjadi sasaran spammer mengirimkan email spamnya ke domain lain. Jadi bila kita ingin mengirim email ke domain lain (di luar google network), mau tidak mau harus secara authenticated yaitu dengan memasukkan username dan password terlebih dahulu. Dengan memasukkan username dan password, kini gmail bersedia menjadi titik relay pengiriman email ke manapun. Mirip dengan ketika kita login ke webmail gmail dengan sebelumnya memasukkan username dan password. Setelah login, selanjutnya kita bisa mengirimkan email ke manapun juga. Sending Anonymously Sebelum masuk ke pembahasan pengiriman email authenticated dengan SSL (smtps), saya akan memulai dengan mengirim email secara anonymous dengan smtp biasa. Pertama saya harus tahu dulu smtp server yang akan saya gunakan. Untuk itu saya harus mencari MX record dari domain gmail.com. Dengan perintah dig saya bisa mengetahui bahwa MX record untuk gmail.com adalah: $ dig -t MX gmail.com ;; QUESTION SECTION: ;gmail.com. ;; ANSWER SECTION: gmail.com.
2878
IN
MX
IN
MX
30 alt3.gmail-smtp-in.l.google.com.
5/25/2013 7:10 AM
Sending Email via Gmail SMTP Server using OpenSSL
2 of 13
;; AUTHORITY SECTION: gmail.com. gmail.com. gmail.com. gmail.com.
207201 207201 207201 207201
http://www.ilmuhacking.com/how-to/sending-email-via-gmail-smtp-serve...
IN IN IN IN
;; ADDITIONAL SECTION: gmail-smtp-in.l.google.com. 174 IN alt1.gmail-smtp-in.l.google.com. 174 alt2.gmail-smtp-in.l.google.com. 174 alt3.gmail-smtp-in.l.google.com. 174 alt4.gmail-smtp-in.l.google.com. 174 ns1.google.com. 34378 IN ns2.google.com. 34378 IN ns3.google.com. 34378 IN ns4.google.com. 34378 IN
IN IN IN IN
NS NS NS NS
ns4.google.com. ns1.google.com. ns2.google.com. ns3.google.com.
A A A A A A A A A
209.85.143.114 209.85.199.27 216.239.59.27 74.125.79.27 209.85.218.43 216.239.32.10 216.239.34.10 216.239.36.10 216.239.38.10
Ada banyak mail server untuk domain gmail.com, silakan pilih yang mana saja. Dalam contoh ini saya memakai gmailsmtp-in.l.google.com. Selanjutnya saya akan mengirim email dari dan ke rizki.wicaksono a.t. gmail.com. Saya akan membuat koneksi ke smtp server tersebut pada port 25 dan mengirimkan perintah smtp. Maaf alamat email saya ubah menjadi rizki.wicaksono .a.t. gmail.com agar tidak jadi sasaran spam, seharusnya dalam format email yang benar dengan karakter @. $ telnet gmail-smtp-in.l.google.com 25 Trying 209.85.143.114... Connected to gmail-smtp-in.l.google.com (209.85.143.114). Escape character is '^]'. 220 mx.google.com ESMTP 22si3820758tim.24 ehlo gmail.com 250-mx.google.com at your service, [202.43.x.x] 250-SIZE 35651584 250-8BITMIME 250-ENHANCEDSTATUSCODES 250 PIPELINING mail from:
250 2.1.0 OK 22si3820758tim.24 rcpt to: 250 2.1.5 OK 22si3820758tim.24 data 354 Go ahead 22si3820758tim.24 testing ajah... . 250 2.0.0 OK 1236753091 22si3820758tim.24 quit 221 2.0.0 closing connection 22si3820758tim.24 Connection closed by foreign host.
Perintah SMTP yang saya kirimkan sederhana sekali, diawali dengan EHLO sebagai salam pembuka. Kemudian diikuti dengan MAIL FROM, untuk mengisi alamat email asal yang harus diapit dengan karakter < dan >. Setelah itu baru masukkan email tujuan dengan perintah RCPT TO (juga harus diapit dengan karater < dan >). Setelah itu perintah berikutnya adalah DATA. Dengan mengirimkan perintah data ini, maka saya bisa mulai menuliskan Subject dan body email, hingga diakhiri dengan karakter DOT dalam satu baris sendiri. Mari kita lihat email yang diterima dalam format header lengkap berikut ini: Delivered-To: rizki.wicaksono.a.t.gmail.com Received: by 10.115.106.13 with SMTP id i13cs348624wam; Tue, 10 Mar 2009 23:31:32 -0700 (PDT) Received: by 10.110.92.8 with SMTP id p8mr5461696tib.56.1236753091115; Tue, 10 Mar 2009 23:31:31 -0700 (PDT) Return-Path:
5/25/2013 7:10 AM
Sending Email via Gmail SMTP Server using OpenSSL
3 of 13
http://www.ilmuhacking.com/how-to/sending-email-via-gmail-smtp-serve...
Date: Tue, 10 Mar 2009 23:31:31 -0700 (PDT) Message-Id: <[email protected]> testing ajah...
Pada header Received terlihat bahwa email pertama diterima oleh smtp server mx.google.com (ini hostname alias dari gmailsmtp-in.l.google.com). Kemudian smtp server ini merelay email ini ke smtp server lain, yaitu 10.110.92.8, dan akhirnya dari sana di-relay lagi ke smtp server terakhir yaitu 10.115.106.13. Smtp server 10.115.106.13 tersebut adalah smtp server yang terdekat dengan inbox user sehingga tidak perlu lagi di-relay. Sending via SMTP-Secure (SMTP over SSL) Kelemahan dari pengiriman email secara anonymous yang saya tunjukkan di atas adalah tidak bisa dipakai untuk mengirim email ke lain domain. Karena smtp server gmail tidak rela dijadikan titik relay pengiriman email ke domain lain. Yang dimaksud dengan domain lain adalah domain selain gmail.com dan domain lain yang tergabung dalam google apps network. Jadi kalau anda mempunyai email dengan domain sendiri di google apps, anda bisa memakai smtp server ini. Saya akan mencoba mengirim email ke rizki.a.t.ilmuhacking.com dengan menggunakan smtp server gmail. Perhatikan bahwa saya bisa saja langsung menggunakan smtp server ilmuhacking.com untuk mengirim email ke ilmuhacking.com, namun dalam artikel ini saya akan menunjukkan pengiriman email dari smtp server gmail. Gmail mempunyai smtp server sendiri yang berbeda dengan smtp server dalam daftar MX record DNS. SMTP server ini berlokasi di smtp.gmail.com. Pengiriman email dengan smtp server ini harus dengan smtp secure, yaitu smtp over SSL pada port 465. Mirip dengan http secure (http over SSL), pengiriman email dengan smtps aman dari sniffing password dan serangan man-in-the-middle. Oke, langsung saja ya. Saya gunakan perintah openssl command line berikut di Linux: $ openssl s_client -connect smtp.gmail.com:465 -crlf -CAfile /etc/pki/tls/certs/ca-bundle.crt
Perintah tersebut adalah untuk membuka koneksi SSL ke smtp.gmail.com pada port 465. Opsi -crlf ini sangat penting karena tanpa opsi ini gmail akan diam seribu bahasa ketika kita selesai menulis body email dengan perintah DOT sebab ternyata gmail hanya mau menerima line feed dalam bentuk CRLF (0x0D+0x0A). Opsi -CAfile menunjukkan lokasi trusted Certificate Authority yang kita miliki untuk memverfifikasi sertifikat yang dimiliki server apakah valid atau tidak. Setelah perintah ini dijalankan, maka openSSL akan menangani segala komunikasi yang terjadi di layer SSL, mulai dari negosiasi hubungan sampai mengakhiri hubungan. Berikut ini adalah tampilan setelah perintah itu dijalankan.
CONNECTED(00000003) depth=1 /C=ZA/ST=Western Cape/L=Cape Town/O=Thawte Consulting cc/OU=Certification Services Division/CN=Thawte Premium verify return:1 depth=0 /C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com verify return:1 --Certificate chain 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com i:/C=ZA/ST=Western Cape/L=Cape Town/O=Thawte Consulting cc/OU=Certification Services Division/CN=Thawte Premium Ser --Server certificate -----BEGIN CERTIFICATE----MIIDYzCCAsygAwIBAgIQUR2EgGT4+hGKEhCgLMX2sjANBgkqhkiG9w0BAQUFADCB zjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ Q2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UE CxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhh d3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNl cnZlckB0aGF3dGUuY29tMB4XDTA3MDczMDAwMDAwMFoXDTEwMDcyOTIzNTk1OVow aDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1v dW50YWluIFZpZXcxEzARBgNVBAoTCkdvb2dsZSBJbmMxFzAVBgNVBAMTDnNtdHAu Z21haWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD+RiG+G3Mo9Q9C tcwDjpp6dJGifjiR5M2DbEbrsIOlth80nk5A7xstKCUfKobHkf/G9Y/DO24JP5yT s3hWep05ybyiCmOzGL5K0zy3jIq0vOWy+4pLv2GsDjYi9mQBhobAAx3z38tTrTL+
5/25/2013 7:10 AM
Sending Email via Gmail SMTP Server using OpenSSL
4 of 13
http://www.ilmuhacking.com/how-to/sending-email-via-gmail-smtp-serve...
52e8bLnWqd03mWgn/+TQtrwbE1E6pVuQaZJY33ILpt8IfzwVf2TGQI+M5yazZ2fC xwArHo20iAss3MLQR8tDXWfBoH2Lk9BBsEKDRP4hp83yfpZgdY3pinHTCbqHpsiS v97epiiFBA== -----END CERTIFICATE----subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com issuer=/C=ZA/ST=Western Cape/L=Cape Town/O=Thawte Consulting cc/OU=Certification Services Division/CN=Thawte Premium S --No client certificate CA names sent --SSL handshake has read 1017 bytes and written 315 bytes --New, TLSv1/SSLv3, Cipher is RC4-MD5 Server public key is 1024 bit Compression: NONE Expansion: NONE SSL-Session: Protocol : TLSv1 Cipher : RC4-MD5 Session-ID: 2C94C746C92E5042C3B8FA92C765B21C5FC03147134A9B1998B89D25C18FD7C9 Session-ID-ctx: Master-Key: 1F674A6B6ABB774873CB57B2E235138A83CF864071C674F781B2C51E7C67B5BB2487DCC07A2AA3F197494AE045BA9F13 Key-Arg : None Krb5 Principal: None Start Time: 1236755367 Timeout : 300 (sec) Verify return code: 0 (ok) --220 mx.google.com ESMTP j5sm1016106tid.21
Dari situ terlihat bahwa gmail menggunakan sertifikat yang diterbitkan oleh Thawte, algoritma cipher yang dipakai adalah RC4 128 bit, yang merupakan algoritma stream cipher. Pada baris terakhir terlihat “220 mx.google.com ESMTP” yang menunjukkan bahwa itu adalah pesan yang dikirim dari layer smtp dan pengguna kini siap berkomunikasi di layer SMTP. Selanjutnya saya harus memasukkan perintah smtp seperti biasa, tidak ada bedanya dengan perintah smtp pada pengiriman email secara anonymous sebelumnya karena ini adalah pada layer SMTP, layer SSL semua sudah ditangani oleh OpenSSL. Namun tidak seperti sebelumnya, kali ini saya harus memasukkan perintah untuk authentication dengan perintah AUTH LOGIN. Berikut adalah perintah smtp yang dikirimkan untuk melakukan authentication. 220 mx.google.com ESMTP a14sm120617tia.27 ehlo gmail.com 250-mx.google.com at your service, [202.43.169.218] 250-SIZE 35651584 250-8BITMIME 250-AUTH LOGIN PLAIN 250-ENHANCEDSTATUSCODES 250 PIPELINING auth login 334 VXNlcm5hbWU6 cml6a2kud2ljYWtzb25vQGdtYWlsLmNvbQ== 334 UGFzc3dvcmQ6 aW5pcGFzc3dvcmQ= 235 2.7.0 Accepted
Seperti biasa saya mengawali dengan mengucapkan salam, dengan perintah EHLO. Setelah itu saya mengirimkan perintah AUTH LOGIN. Jawaban dari perintah AUTH LOGIN adalah “VXNlcm5hbWU6″ yang merupakan format base64 dari “Username:”. Kemudian saya menjawab dengan mengirimkan “cml6a2kud2ljYWtzb25vQGdtYWlsLmNvbQ==” yang merupakan format base64 dari username saya yaitu rizki.wicaksono.a.t.gmail.com (karakter @ saya ganti .a.t.). Gmail menjawab dengan “UGFzc3dvcmQ6″ yang merupakan format base64 dari “Password:”. Saya harus menjawab dengan password saya dalam format base64 encoded. Bila authentication berhasil maka gmail akan menjawab dengan “235 2.7.0 Accepted”.
5/25/2013 7:10 AM
Sending Email via Gmail SMTP Server using OpenSSL
5 of 13
http://www.ilmuhacking.com/how-to/sending-email-via-gmail-smtp-serve...
data 354 Go ahead a14sm120617tia.27
Setelah authentication berhasil saya bisa mulai mengirimkan email asal dan tujuan dengan perintah mail from dan rcpt to, sama seperti pada contoh pengiriman secara anonymous. Email tujuan saya kirim ke rizki.a.t.ilmuhacking.com. perintah RCPT harus dikirim dalam huruf kecil “rcpt” sebab huruf kapital “R” dalam openSSL adalah perintah khusus untuk melakukan RENEGOTIATION. Setelah memasukkan email asal dan tujuan, saya harus mengirimkan perintah DATA untuk mulai menulis isi emailnya. Kemudian gmail menjawab dengan “354 Go ahead a14sm120617tia.27″, itu artinya lampu hijau buat saya untuk memasukkan isi pesannya. data 354 Go ahead a14sm120617tia.27 Subject: ini contoh saja(subject tidak harus ada) ini baru isi bodynya . 250 2.0.0 OK 1236757718 a14sm120617tia.27
Perintah DATA harus diakhiri dengan sebuah karakter dot pada satu baris sendiri. Kalau dalam binary hexa: 0x0D0A2E0D0A, atau dengan kata lain karakter DOT (hex 2E), diapit dengan CRLF. Inilah gunanya opsi -crlf, tanpa ada opsi -crlf, maka openSSL hanya akan mengirim 0x0A2E0A, atau karakter DOT diapi dengan LF. Pada beberapa smtp server LF saja tidak masalah, namun untuk server lain seperti gmail harus lengkap yaitu CRLF. Tanpa opsi -crlf gmail tidak akan bereaksi apa-apa walaupun sudah diberikan perintah DOT karena gmail menganggap perintah DATA belum selesai karena gmail merasa belum menemukan “[CR][LF][.][CR][LF]” . Setelah mengirim “CRLF.CRLF”, gmail membalas dengan “250 2.0.0 OK 1236757718 a14sm120617tia.27″. Itu artinya email kita telah diterima oleh smtp server untuk disampaikan pada yang berhak menerima. String “a14sm120617tia.27″ adalah ESMTP ID yang akan muncul pada header “Received” nantinya. Setelah itu koneksi SSL harus diputus dengan perintah QUIT. Email Full Header Sekarang saya akan tunjukkan email yang diterima oleh rizki.a.t.ilmuhacking.com beserta header lengkapnya. Return-path: Envelope-to: rizki.a.t.ilmuhacking.com Delivery-date: Wed, 11 Mar 2009 02:46:34 -0500 Received: from ti-out-0910.google.com ([209.85.142.184]:18796) by gator669.hostgator.com with esmtp (Exim 4.69) (envelope-from ) id 1LhJ98-00072k-98 for rizki.a.t.ilmuhacking.com; Wed, 11 Mar 2009 02:46:34 -0500 Received: by ti-out-0910.google.com with SMTP id w4so2949271tib.9 for ; Wed, 11 Mar 2009 00:48:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:subject; bh=J251llbniOU9frVh5JTTWTbFJ7hfNyC2+eoS+Apb5mw=; b=MhRby2/7B1Wqvm3AuaVoN8rfMEgmNgQVn9dOaMvji3dBEJMxYJhmF0pTmO10Ax5a0N xPPZyR73wf4B9WnOuegsrYQaXeJcJwuT3OBpilTWYQkJ+On9oMp9G6f3mL8v1fqHop7R LLoq+sOzpP4hPSizgP7Ych3zkbOYsYCPTxhNs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:subject; b=wkxbyGJZxZ0u3LlYgarzF9mOAZE/suPNKdCGtI7m4HUsQoIj2bqaRCVwa4h9Gl8fjh
5/25/2013 7:10 AM
Sending Email via Gmail SMTP Server using OpenSSL
6 of 13
http://www.ilmuhacking.com/how-to/sending-email-via-gmail-smtp-serve...
by mx.google.com with ESMTPS id a14sm120617tia.27.2009.03.11.00.44.16 (version=SSLv3 cipher=RC4-MD5); Wed, 11 Mar 2009 00:48:37 -0700 (PDT) Message-ID: <[email protected]> Date: Wed, 11 Mar 2009 00:48:37 -0700 (PDT) From: rizki.wicaksono.a.t.gmail.com Subject: ini contoh saja(subject tidak harus ada) ini baru isi bodynya
Untuk menelusuri email selalu dimulai dari header Received paling bawah kemudian naik ke atas. Header Received yang paling bawah menunjukkan bahwa email dikirimkan oleh IP 202.43.x.x melalui smtp server mx.google.com. Informasi lain dari header itu adalah email dikirimkan dengan SSL versi 3 dan cipher RC4-MD5. ESMTP id adalah gabungan dari id yang didapatkan wahtu saya terkoneksi ke smtp server gmail “a14sm120617tia” dengan tanggal dan jam. Setelah itu email direlay ke smtp server 10.110.3.15. Dari situ masih di-relay lagi ke smtp server ti-out-0910.google.com, yang merupakan smtp server yang berada di ujung luar jaringan google. Smtp ini seperti sebuah gateway untuk email yang ditujukan ke domain di luar jaringan google. Dari smtp itu email direlay ke luar jaringan google melalui smtp server gator669.hostgator.com. Google mengetahui alamat smtp ilmuhacking dengan cara query MX record dari DNS. Berdasarkan MX record DNS, smtp server untuk domain ilmuhacking.com ada di ilmuhacking.com. Kalau MX servernya adalah ilmuhacking.com, kenapa kok disebut di header sebagai gator669.hostgator.com? Perhatikan apa yang dikirimkan oleh server ketika saya telnet ke MX server untuk ilmuhacking port 25. $ telnet ilmuhacking.com 25 Trying 174.132.149.60... Connected to 3c.95.84ae.static.theplanet.com (174.132.149.60). Escape character is '^]'. 220-gator669.hostgator.com ESMTP Exim 4.69 #1 Wed, 11 Mar 2009 03:49:14 -0500 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail.
Dari jawaban server, terlihat jelas bahwa server menyebut dirinya dengan gator669.hostgator.com. Dari header email tidak ada lagi Received header setelah email direlay melalui gator669 ini. Artinya smtp server itu adalah yang paling dekat dengan email tujuan (memang smtp server itu berada di host yang sama dengan ilmuhacking, jadi email account berada di localhost). Sending via Gmail Webmail Mengirim email dengan webmail gmail lebih anonoymous daripada dengan email client karena IP address pengirim email akan tersembunyi Sebagai pembanding saya ingin menunjukkan bedanya mengirim email menggunakan email client seperti outlook dengan mengirim email menggunakan webmail gmail.com. Mengirim email dengan webmail gmail lebih anonymous sebab ip address pengirim email akan tersembunyi dan tidak akan muncul di header email penerima. Jadi ketika penerima membaca headernya tidak akan bisa mengetahui pengirim email berasal dari IP berapa. Baiklah mari kita coba mengirim email ke rizki.a.t.ilmuhacking.com dari gmail saya. Berikut adalah header email yang saya dapatkan di email saya @ilmuhacking.com. 1 2 3 4 5 6 7 8 9 10
Return-path: Envelope-to: rizki ---- ilmuhacking.com Delivery-date: Thu, 02 Apr 2009 23:47:05 -0500 Received: from qw-out-2122.google.com ([74.125.92.26]:39569) by gator669.hostgator.com with esmtp (Exim 4.69) (envelope-from ) id 1LpbJ2-00081i-Ur for rizki-----ilmuhacking.com; Thu, 02 Apr 2009 23:47:04 -0500 Received: by qw-out-2122.google.com with SMTP id 3so780828qwe.41 for ; Thu, 02 Apr 2009 21:47:02 -0700 (PDT)
5/25/2013 7:10 AM
Sending Email via Gmail SMTP Server using OpenSSL
7 of 13
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
http://www.ilmuhacking.com/how-to/sending-email-via-gmail-smtp-serve...
b=rdHYQ5fLAKmA5Lfvye1KomQ+LDL8zwk+Wn8uanvrlNAAIj13Wr4Z+iJtPPDw2VR+yY 6DmLM48sl33LoiOKLYTmSdZMNS5ukRT8DLnoT+SSCOclG0iMASLGbvRYF+b8AfAyewBM Kp5Rkg36hEIOt1VPZq++vd5Gc+xaiGDWYw4Ew= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=UFm0D96HyVkRONh3GEJt2OcDJF49NswjHv6X1hJnAxNvNY+fAyj/NqI7B7zs/2BWRP qaKKf30jpr7qlTbPsPUZLWaFGlTA+2qIFXWlRrOI59pYS9gIpwoW0GNKc0oilGIG30FF 0rkqdz3BA+PqFCbWZuVyHxBWIW7j+Gnzorlak= MIME-Version: 1.0 Received: by 10.220.46.147 with SMTP id j19mr1263200vcf.75.1238734022579; Thu, 02 Apr 2009 21:47:02 -0700 (PDT) Date: Fri, 3 Apr 2009 11:47:02 +0700 Message-ID: <[email protected]> Subject: testing saja.... From: Rizki Wicaksono To: rizki --- ilmuhacking.com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit
Perhtaikan bahwa header Received yang paling bawah tidak menunjukkan ip address pengirimnya. Email pertama kali diterima oleh smtp server yang ip addressnya 10.220.46.147. Itu adalah ip adderss private, di jaringan internal gmail. Karena email dikirim dari webmail gmail sehingga email langsung diterima oleh server internal gmail. Dengan begini ip address pengirim tidak akan bisa diketahui oleh penerima email. Comparison Regular SMTP vs SMTP over SSL vs Webmail Oke, saya sudah tunjukkan 3 cara mengirim email melalui Gmail. Masing-masing ada kelemahan dan kelebihannya. Di bawah ini adalah tabel yang menunjukkan perbedaan dari ketiga cara tersebut dari sisi: ip address pengirim, apakah tersembunyi? apakah ada header DKIM-Signature? apakah untuk mengirim email harus login dulu? dan apakah bisa mengirim email ke domain di luar gmail.com? Sender Ip Address Hidden? Regular SMTP No SMTP over No SSL Webmail Yes
Header DomainKey/DKIMSignature? No
Must be Authenticated? No
Send to non-gmail domain? No
Yes
Yes
Yes
Yes
Yes
Yes
No related posts. Tagged with: gmail • smtp • ssl If you enjoyed this article, please consider sharing it!
16 Responses to “Sending Email via Gmail SMTP Server using OpenSSL” 1.
vmwmx says: March 28, 2009 at 11:14 am kakak saya newbie masih anget nich ada banyak pertanyaan buat kakak 1. apa perbedaan SLL dengan SMTP ?
5/25/2013 7:10 AM
Sending Email via Gmail SMTP Server using OpenSSL
8 of 13
http://www.ilmuhacking.com/how-to/sending-email-via-gmail-smtp-serve...
5. apakah pada baris ;;answer section berikut “gmail.com. 2878 IN MX 5 gmail-smtp-in.l.google.com” yg mengandung unsur mx adalah merupakan server domian dari google? 6. “-CAfile /etc/pki/tls/certs/ca-bu” apakah tempat penyimpanan file verifikasi untuk semua smtp server sama (misl:yahoo.com, plasa.com, dll)? jika tidak bagaimana kita mengetahuinya? 7. dari mana kita tahu “Thawte” menggunakan algoritma cipher = RC4 128 bit, untuk server lain bagaimana? 8. trus bagaimana saya tahu format base64 username n password saya tool apa yg harus gunakan? 9. apakah saya dapat mengirim pesan tersebut lebih dari satu atau dengan kata lain bomb e-mail? kalau bisa tolong command nya apa? btw artikel disini keren2 maju terus kakak rizki trimakasih sekian dulu pertanyaan nya kebanyakan maklum newbie Reply 2.
Rizki Wicaksono says: March 28, 2009 at 3:28 pm @vmwmx banyak jg ya pertanyaannya 1. SSL (secure socket layer) dan SMTP (simple mail transport protocol). SSL protokol untuk menjamin keamanan pertukaran data dengan enkripsi. SMTP protokol untuk mengirim email. 2. mx record adalah petunjuk smtp server untuk suatu domain. kalau kita mau kirim ke domain xxx.com, maka kita harus tahu dulu smtp server untuk xxx.com di mana? nah itulah guna mx record dalam dns. 3.additional section menunjukkan IP address dari jawaban yg diberikan dns. perhatikan pada section lain jawabannya bukan berupa ip address. pada additional section inilah kita temukan ip addressnya. 4. telnet itu nama program untuk membuka koneksi tcp seperti halnya netcat, port 25 adalah port standar utk smtp. kalau port 25 ditutup ya tidak bisa konek ke sana. 5. iya, itu adalah MX server (smtp server) untuk domain gmail.com. 6. CAfile adalah file berisi daftar trusted CA, berupa sertifikat yang mengandung public key masing-masing CA. 7. di dalam sertifikat disebutkan algoritme cipher yang dipakai. coba klik gambar gembok yang biasanya di pojok kanan bawah, lalu lihat detil sertifikatnya. 8. banyak base64 encoder online, silakan googling saja. 9. kalau bisa kirim satu, tentu bisa juga kirim 1000 dengan cara mengulang prosedur yang sama sebanyak 1000x. kalau masih tdk mengerti japri saja ke rizki.a.t.ilmuhacking.com di sini spacenya terbatas, tdk bisa panjang2 ceritanya. Reply
3.
badrun says: April 3, 2009 at 2:58 pm kok ga bisa ya?? pencerahannya dong.. 220 mx.google.com ESMTP y5si2478tia.17 ehlo 250-mx.google.com at your service, [125.160.108.148] 250-SIZE 35651584 250-8BITMIME 250-ENHANCEDSTATUSCODES 250 PIPELINING mail from: 250 2.1.0 OK y5si2478tia.17 rcpt to: 502 5.5.1 Unrecognized command. y5si2478tia.17 rcpt to: 555 5.5.2 Syntax error. y5si2478tia.17 rcpt to: 250 2.1.5 OK y5si2478tia.17
5/25/2013 7:10 AM
Sending Email via Gmail SMTP Server using OpenSSL
9 of 13
http://www.ilmuhacking.com/how-to/sending-email-via-gmail-smtp-serve...
550-5.7.1 [125.160.108.xxx] The IP you’re using to send mail is not authorized 550-5.7.1 to send email directly to our servers. Please use the SMTP relay at 550-5.7.1 your service provider instead. Learn more at http://mail.g 550 5.7.1 oogle.com/support/bin/answer.py?answer=10336 y5si2478tia.17 Reply 4.
Rizki Wicaksono says: April 3, 2009 at 3:43 pm @badrun mail from harus diisi alamat email @gmail.com …. soalnya kamu pake smtp yang non-ssl, non-authenticated… jadi cuma bisa kirim dari dan ke gmail.com sendiri. Reply
5.
badrun says: April 3, 2009 at 5:21 pm saya udah pake alamat gmail,, apa mungkin errornya disini.. “The IP you’re using to send mail is not authorized” bukan itu yah? ato bgmna? Reply
6.
Rizki Wicaksono says: April 3, 2009 at 9:08 pm @badrun sepertinya ip address telkom speedy diblacklist nih. mungkin karena masuk daftar ip address spam (cek di http://www.dnsbl.info/). Reply
7.
badrun says: April 8, 2009 at 6:39 pm iya,, ip speedy di block.. saya pk ip public lain bisa.. thx mas bwat share ilmunya.. Reply
8.
Pusat Informasi Jual Beli Tanah di Bali says: June 24, 2009 at 2:14 pm thanks infonya sangat penting sekali Reply
9.
ph0en1x says: July 26, 2009 at 12:01 am salam kenal, sya ingin bertanya, apakah dengan cara ini FFsniff dapat digunakan? setahu saya FFsniff butuh open relay smtp server.
5/25/2013 7:10 AM
Sending Email via Gmail SMTP Server using OpenSSL
10 of 13
http://www.ilmuhacking.com/how-to/sending-email-via-gmail-smtp-serve...
November 18, 2009 at 3:17 pm Salam kenal mas, artikelnya menarik sekali n sudah hampir cukup jelas, tapi berhubung saya masih newbie jadinya masih ada beberapa yang kurang paham,… Yang mau saya tanyakan : “Opsi -CAfile menunjukkan lokasi trusted Certificate Authority yang kita miliki untuk memverfifikasi sertifikat yang dimiliki server apakah valid atau tidak.” Dimana kita bisa mendapatkan sertifikat ini, apakah tiap smtp server berbeda(misal : gmail, yahoo, aol, hotmail, dll) ? Untuk penggunaan openssl pada saat mau login seperti dibawah ini : auth login 334 VXNlcm5hbWU6 cml6a2kud2ljYWtzb25vQGdtYWlsLmNvbQ== 334 UGFzc3dvcmQ6 aW5pcGFzc3dvcmQ= 235 2.7.0 Accepted Disini kita harus mengencode dulu username dan passwd kita, akan tetapi saya tidak bisa untuk mengcopy dari hasil encode ke dalam command console ini (untuk mempermudah penulisan), mungkinsaya yang tidak tau caranya, mungkin bisa dijelaskan ? Dengan openssl apa kita tidak bisa memberi parameter diawal untuk username dan passwordnya ? Sekian dulu. terima kasih banyak atas ilmu yang telah diberikan. Reply 11.
beck_up says: December 11, 2009 at 7:21 pm om kok linux ane ga bisa pake fasilitas dig yang om lakuin pertama kali ane pake linux backtrack 3… Reply
12.
Handri says: May 12, 2010 at 3:15 am Mas, minta tolong ada cara nggak untuk ngehack email yg telah kita kirim dgn masuk ke server email ? Reply
13.
August says: June 1, 2011 at 8:05 pm kk kan kita punya email dari yahoo. trus kita mau cari smtp kita dan pop3. trus host. tuh gmna si mohon pencerahannya maklum masih newbie panas
5/25/2013 7:10 AM
Sending Email via Gmail SMTP Server using OpenSSL
11 of 13
http://www.ilmuhacking.com/how-to/sending-email-via-gmail-smtp-serve...
klo pake php bisa ya..???? Reply Rizki Wicaksono says: September 13, 2012 at 1:24 pm bisa, banyak kok yang bikin fungsi php untuk kirim email via SSL SMTP gmail Reply 15.
iponk says: March 11, 2013 at 7:54 pm mas nanya ne kalo di windows bisa g? untuk kirim email lewat Localhost.. bisa ajarin saya mas. maklum newbie Reply
Leave a Reply Name (required) Mail (will not be published) (required) Website
This site is using OpenAvatar based on
FB IlmuHacking.com
5/25/2013 7:10 AM
Sending Email via Gmail SMTP Server using OpenSSL
12 of 13
http://www.ilmuhacking.com/how-to/sending-email-via-gmail-smtp-serve...
Cryptography Exploit How to Linux Mobile Phone Security Programming Web Security
Comments panji on Blockwise Chosen Boundary Attack – BEAST Attack panji on Blockwise Chosen Boundary Attack – BEAST Attack Romatua on Menjaring Password dengan Firefox Sniffer Romatua on Memahami Cara Kerja Token Internet Banking Romatua on Berburu Direktori dan File Sensitif dengan DirBuster Romatua on Hacking Email Telkom.net dan Plasa.com Rizki Wicaksono on Memahami Cara Kerja Token Internet Banking duL on Memahami Cara Kerja Token Internet Banking sasono loyi on Blockwise Chosen Boundary Attack – BEAST Attack Rizki Wicaksono on Blockwise Chosen Boundary Attack – BEAST Attack
Blogroll Baju Hamil Busana Muslim Grosir Jilbab Go To Top »
Ilmu Hacking Pages Home About Disclaimer
Stay In Touch Site RSS Feed
More Thanks for dropping by! Feel free to join the discussion by leaving comments, and stay updated by subscribing to the RSS feed. © 2010 Ilmu Hacking
5/25/2013 7:10 AM
Sending Email via Gmail SMTP Server using OpenSSL
13 of 13
http://www.ilmuhacking.com/how-to/sending-email-via-gmail-smtp-serve...
5/25/2013 7:10 AM