Extract SMTP data from PCAP

ปกติแล้วชีวิตประจำวันสำหรับคนเล่น Internet นั้นคงหนีไม่พ้นการใช้งาน Web Site และ EMail ซึ่งทุกวันนี้ผมเองก็มักได้ยินแต่คนส่วนใหญ่แนะนำว่าเข้าใช้งาน Web ให้ระวังจะ Login ต้องมีดูที่ Address Bar ว่าต้องเป็น HTTPS ก่อนนะ แล้ว EMail ล่ะ ทำไมไม่ค่อยมีคนพูดถึงกันเลย ซึ่งผมคิดว่า EMail ก็ควรระมัดระวังในการใช้ด้วยเหมือนกัน
EMail Security ส่วนมากนั้นมักจะได้ยินเกี่ยวกับการทำ Encryption และ Digital Signature ซึ่งนั่นไม่ค่อยสนุกเท่าไรนัก ดังนั้นเลยคิดว่ามาลองนั่งแกะ SMTP packet ดีกว่า หากเรามี Packet ที่มีข้อมูล SMTP เราจะดูอะไรได้บ้างกันนะ ซึ่งโดยทั่วไปหากดูผ่าน Wireshark ก็คงจะนั่งไล่ Flow กันสนุกเลยทีเดียว
ดู SMTP Authentication ผ่าน Wireshark
ตัวอย่างที่เอามาวันนี้ยืมมาจาก http://forensicscontest.com/2009/10/10/puzzle-2-ann-skips-bail ซึ่งถ้าเข้า Web ตามไปจะมี File PCAP ให้โหลด (PCAP = Packet Capture) เอามาเปิดดูด้วย WireShark จะพบข้อมูลตามด้านล่าง
Wireshark
รูปตัดมาเฉพาะช่วง Authentication ของ SMTP สิ่งที่เห็นคือช่วงตั้งแต่เริ่ม Authenticate กับ Server จนสำเร็จ ซึ่ง Key หลักของรูปนี้คงจะไม่ยากเท่าไร หากรู้จักกับ SMTP เป็นอย่างดีอยู่แล้ว โดย Password นั้นถูก Encode[1] ในรูปแบบของ Base64 ซึ่งปัจจุบันผมยังเห็น Email Server ตามองค์กรต่าง ๆ หลายที่ยังเปิดใช้งานให้คุยแบบ Plaintext อยู่ซึ่งนั่นถือเป็นความเสี่ยงอย่างร้ายแรงพอสมควร เนื่องจากอาจทำให้ข้อมูลส่วนตัว หรือความลับบริษัทรั่วไหลได้ บางคนอาจคิดว่าถ้าได้ Password แล้วจะทำอะไรได้ หาก Sender ส่งเมล์แล้วไม่ได้ Save ไว้ เข้า Email ไปได้ก็ไม่มีประโชยน์ แต่มันคงจะไม่จริงไปซะหมด เพราะว่าเราสามารถได้ข้อมูลเพิ่มเติมจากอีก เช่น
สามารถอ่านเนื้อ Email ได้จาก WireShark ด้วย
Wireshark
แยก Attachment ด้วย Network Miner
แต่หากมี Attachment ใน Mail ไปด้วย การแยก Attachment นั้นโดยใช้ WireShark คงจะทำได้ยาก เนื่องจากสิ่งที่เห็นใน WireShark นั้นจะเป็น Binary Data แล้วถูกตัดออกเป็นส่วน ๆ ตามรูปด้านล่าง ซึ่งคงจะลำบากหากเราต้องมานั่งรวม Data แล้วสร้างเป็น File ขึ้นมาใหม่
Wireshark
ดังนั้นจึงขอแนะนำ Tool ชื่อ "Network Miner" http://sourceforge.net/projects/networkminer/
ที่สามารถช่วยในการวิเคราะห์ Packet ให้เราได้รวมถึงสามารถสร้าง Reconstruct File ให้ได้ด้วย
Wireshark
สุดท้ายแล้วเราก็จะสามารถได้ Attachment มาครอบครอง หากใครสนใจ ลองไปดูโจทย์ที่ผ่านมาแล้วลองทำเพื่อความบันเทิงได้ที่ http://forensicscontest.com/ ครับ
Encode คือ การแปลงรูปแบบการแสดงผลให้อยู่ในรูปแบบอื่น ๆ ซึ่งแตกต่างจาก Encrypt ที่หมายถึงการเข้ารหัส การถอดรหัส (Decrypt) นั้นต้องอาศัย Key ในการถอดรหัส แต่การ Decode นั้นไม่จำเป็นต้องใช้ Key
OUR SERVICES
PENETRATION TEST
With our high-ethical, professional certified team and methodology based on NIST SP800-115, we offer a full range of cost-effective services to identify your cyber risks in application, infrastructure, and mobile platforms to meet the requirements of your organisation.
Up Next

ARTICLES/19 May 2023
SSH Tunnel for Penetration Testing
SSH ไม่ได้มีไว้แค่ล็อกอินหรือย้ายไฟล์ บทความอธิบายว่า SSH Tunnel คืออะไร และเอามาเปิดทางเข้าถึงระบบในงานทดสอบเจาะระบบได้อย่างไร

ARTICLES/21 May 2013
Extra: HTTPS Insecurity with SSLstrip
การดัก HTTPS ตรง ๆ อ่านข้อมูลไม่ได้ SSLstrip ของ Moxie Marlinspike จึงเลี่ยงด้วยการลดรูปการเชื่อมต่อลงเป็น HTTP ก่อนถึงเหยื่อ นำเสนอครั้งแรกที่ Black Hat DC 2009

ARTICLES/5 Jan 2026
Introduction to Active Directory Certificate Services (AD CS)
รู้จัก Active Directory Certificate Services ว่าคืออะไร ทำงานร่วมกับ AD อย่างไร และทำไมถึงกลายเป็นเป้าหมายที่ attacker ใช้ยกระดับสิทธิ์ในองค์กร

