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 กันสนุกเลยทีเดียว
ตัวอย่างที่เอามาวันนี้ยืมมาจาก 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 ใน 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
บริการของเรา
PENETRATION TEST
ทีมผู้เชี่ยวชาญที่มีจรรยาบรรณและใบรับรอง ใช้ระเบียบวิธีอิงมาตรฐาน NIST SP800-115 ค้นหาความเสี่ยงไซเบอร์บนแอปพลิเคชัน โครงสร้างพื้นฐาน และโมบาย ให้ตรงกับความต้องการขององค์กร
Up Next

ARTICLES
May
19
2023
SSH Tunnel for Penetration Testing
หลาย ๆ คนน่าจะคุ้นเคยกับ Secure Shell (SSH) กันดี ว่าเป็น protocol ที่มีการเข้ารหัสซึ่งใช้ในการเชื่อมต่อไปยังเครื่องคอมพิวเตอร์ต่าง ๆ หรือแม้แต่ใช้งานในการเคลื่อนย้ายไฟล์ระหว่าง host แต่รู้หรือไม่ว่า SSH ยังสามารถที่จะทำสิ่งที่เรียกว่า "SSH Tunnel" ได้อีกด้วย
READ MORE

ARTICLES
Jan
05
2026
Introduction to Active Directory Certificate Services (AD CS)
ไม่ว่ากาลเวลาจะผันเปลี่ยนไปสักเท่าไร การโจมตีองค์กรต่าง ๆ เหล่า attacker มักจะมีเป้าหมายในการโจมตีและยึดครองระบบ Active Directory (AD) โดยอาศัยเทคนิคมากมายในการขยายผลและยกระดับสิทธิของตัวเองให้สามารถควบคุมทั้งองค์กรให้ได้
READ MORE

ARTICLES
Aug
26
2021
NTLMv2 Attack
จากบทความก่อนหน้าที่กล่าวอธิบายว่าใน Windows Domain Environment เมื่อเครื่องที่อยู่ใน domain ต้องการสื่อสารกันจะใช้ Kerberos เป็น Protocol หลักในการทำ Authentication หากไม่สามารถใช้ได้จะหนีไปใช้ NTLMv2 แทน ซึ่งเงื่อนไขการไม่ใช้ Kerberos นั้นมีอยู่ 2 ข้อ
READ MORE

