เครื่องมือ Dig: เจาะลึก DNS ไขรหัสข้อมูลเว็บไซต์
การทำความเข้าใจโครงสร้างพื้นฐานของอินเทอร์เน็ตเป็นสิ่งจำเป็นอย่างยิ่ง โดยเฉพาะอย่างยิ่งสำหรับผู้ที่ทำงานด้านความปลอดภัยเครือข่าย หรือผู้ที่ต้องการสำรวจข้อมูลเว็บไซต์ให้ลึกซึ้งยิ่งขึ้น เครื่องมือหนึ่งที่ทรงพลังและมักถูกมองข้ามคือ Dig (Domain Information Groper)
Dig เป็นเครื่องมือบรรทัดคำสั่งที่ช่วยให้สามารถสอบถามข้อมูลจาก DNS (Domain Name System) ได้โดยตรง คิดง่าย ๆ ว่า DNS คือสมุดโทรศัพท์ของอินเทอร์เน็ต ที่แปลงชื่อโดเมนที่เราคุ้นเคยอย่าง google.com ให้เป็นที่อยู่ IP ที่คอมพิวเตอร์เข้าใจ การใช้ Dig ทำให้มองเห็นเบื้องหลังการทำงานนี้ และช่วยในการทำ Reconnaissance หรือการรวบรวมข้อมูลเบื้องต้นเกี่ยวกับเป้าหมายได้อย่างมีประสิทธิภาพ
เข้าใจพื้นฐาน DNS ด้วย Dig
สองบรรทัด
ค้นหา IP Address (A Record)
สองบรรทัด
ข้อมูลพื้นฐานที่สุดที่เราต้องการทราบจากโดเมนคือ IP Address ของมัน นี่คือที่อยู่จริงบนเครือข่ายที่เราสามารถติดต่อกับเซิร์ฟเวอร์นั้นได้
การใช้คำสั่ง dig example.com จะแสดง A Record ซึ่งเป็นระเบียนที่แปลงชื่อโดเมนเป็นที่อยู่ IP (IPv4)
หรือจะระบุประเภทระเบียนที่ต้องการค้นหาโดยตรงก็ได้ เช่น dig example.com A ผลลัพธ์ที่ได้จะบอกว่าโดเมนนี้เชื่อมโยงกับ IP ใด
สองบรรทัด
ระบุ DNS Server ที่ต้องการ
สองบรรทัด
ปกติแล้ว Dig จะใช้ DNS Server เริ่มต้นของระบบ แต่บางครั้งเราอาจต้องการสอบถามจากเซิร์ฟเวอร์อื่น เช่น DNS สาธารณะของ Google เพื่อตรวจสอบความถูกต้อง หรือแก้ไขปัญหาที่เกิดจาก DNS Server ภายใน
สามารถระบุ DNS Server ที่ต้องการใช้ได้โดยเติมเครื่องหมาย @ ตามด้วย IP Address ของเซิร์ฟเวอร์นั้น เช่น dig @8.8.8.8 example.com เพื่อสอบถามจาก DNS ของ Google
สองบรรทัด
ตรวจสอบข้อมูลอีเมล (MX Record)
สองบรรทัด
หากต้องการทราบว่าอีเมลของโดเมนนั้นถูกจัดการโดยเซิร์ฟเวอร์ใด ต้องใช้ MX Record (Mail Exchanger Record) นี่คือระเบียนที่บอกให้ระบบส่งอีเมลทราบว่าจะส่งข้อความไปยังเซิร์ฟเวอร์อีเมลไหน
ใช้คำสั่ง dig example.com MX จะแสดงรายชื่อเซิร์ฟเวอร์ที่รับผิดชอบการจัดการอีเมลสำหรับโดเมนนั้น พร้อมลำดับความสำคัญ
สองบรรทัด
ดูรายชื่อ Name Server (NS Record)
สองบรรทัด
NS Record (Name Server Record) จะบอกว่าโดเมนนี้ใช้ Name Server ใดเป็นผู้จัดการข้อมูล DNS หลัก Name Server เหล่านี้คือผู้ที่รู้ข้อมูลทั้งหมดเกี่ยวกับโดเมนนั้น
การใช้ dig example.com NS จะช่วยให้เห็นว่าโดเมนดังกล่าวถูกควบคุมโดย Name Server ใดบ้าง ซึ่งเป็นข้อมูลสำคัญในการทำความเข้าใจโครงสร้างการจัดการโดเมน
Dig สำหรับการสำรวจและวิเคราะห์เชิงลึก
สองบรรทัด
ข้อมูลเริ่มต้นของโดเมน (SOA Record)
สองบรรทัด
SOA Record (Start of Authority Record) เป็นระเบียนที่ให้ข้อมูลสำคัญเกี่ยวกับโดเมนนั้น ๆ รวมถึง Name Server หลัก, ผู้ดูแลระบบ, Serial Number ของระเบียน (ที่ใช้ระบุว่าข้อมูลมีการอัปเดตหรือไม่) และช่วงเวลาในการรีเฟรชหรือลองใหม่
ใช้คำสั่ง dig example.com SOA เพื่อดูข้อมูลเหล่านี้ ซึ่งมีประโยชน์ในการตรวจสอบสุขภาพของ DNS และการกำหนดค่า
สองบรรทัด
ข้อมูลข้อความพิเศษ (TXT Record)
สองบรรทัด
TXT Record (Text Record) เป็นระเบียนที่ใช้เก็บข้อมูลข้อความทั่วไป ซึ่งมักจะถูกนำมาใช้เพื่อวัตถุประสงค์พิเศษต่าง ๆ เช่น การยืนยันความเป็นเจ้าของโดเมน, การตั้งค่า SPF, DKIM, DMARC สำหรับการป้องกันสแปมอีเมล หรือการตั้งค่าความปลอดภัยอื่น ๆ
คำสั่ง dig example.com TXT จะเปิดเผยข้อมูลเหล่านี้ ที่อาจบ่งบอกถึงเครื่องมือหรือบริการที่โดเมนนั้นใช้งานอยู่
สองบรรทัด
ค้นหาชื่อโดเมนจาก IP Address (Reverse DNS)
สองบรรทัด
โดยปกติเราใช้ชื่อโดเมนเพื่อค้นหา IP Address แต่บางครั้งเราอาจมีแต่ IP Address และต้องการทราบว่า IP นั้นเป็นของโดเมนใด กระบวนการนี้เรียกว่า Reverse DNS Lookup โดยใช้ PTR Record (Pointer Record)
ใช้คำสั่ง dig -x IP_ADDRESS เช่น dig -x 8.8.8.8 เพื่อค้นหาชื่อโดเมนที่เกี่ยวข้องกับ IP นั้น ๆ
สองบรรทัด
ดึงข้อมูลทุกประเภท (ANY Query)
สองบรรทัด
หากต้องการดูข้อมูล DNS ทั้งหมดที่เกี่ยวข้องกับโดเมนเดียวในคราวเดียว สามารถใช้ ANY query ได้
คำสั่ง dig example.com ANY หรือ dig any example.com จะแสดงระเบียนทุกประเภทที่มีอยู่สำหรับโดเมนนั้น ซึ่งเป็นวิธีที่รวดเร็วในการรวบรวมข้อมูลในเบื้องต้น
สองบรรทัด
ตรวจสอบการถ่ายโอนโซน (Zone Transfer)
สองบรรทัด
Zone Transfer หรือ AXFR (Asynchronous Full Zone Transfer) คือกระบวนการที่ Name Server ตัวหนึ่งขอข้อมูล DNS ทั้งหมดจาก Name Server หลักเพื่อซิงค์ข้อมูล นี่เป็นฟังก์ชันที่สำคัญสำหรับการกระจายข้อมูล DNS แต่หากถูกกำหนดค่าผิดพลาดและอนุญาตให้บุคคลภายนอกเข้าถึงได้ ก็อาจเป็นช่องโหว่ด้านความปลอดภัยร้ายแรง เพราะผู้โจมตีจะได้รับข้อมูล DNS ทั้งหมดของโดเมนนั้นไป
ลองใช้ dig axfr example.com @ns1.example.com (โดยแทนที่ ns1.example.com ด้วย Name Server จริงของเป้าหมาย) หากได้รับข้อมูล Zone Transfer กลับมา แสดงว่ามีช่องโหว่
Dig เป็นเครื่องมือที่ขาดไม่ได้สำหรับทุกคนที่ต้องการทำความเข้าใจการทำงานของอินเทอร์เน็ตในระดับที่ลึกซึ้งยิ่งขึ้น ไม่ว่าจะเป็นการแก้ไขปัญหาเครือข่าย การทำ Reconnaissance หรือการประเมินความปลอดภัย เครื่องมือนี้ช่วยให้สามารถมองเห็นเบื้องหลังของโดเมน และเปิดเผยข้อมูลที่มีค่ามากมายที่ซ่อนอยู่ในการตั้งค่า DNS ที่ดูเหมือนเรียบง่าย ให้ความรู้และอำนาจในการวิเคราะห์ข้อมูลเครือข่ายอย่างที่ไม่เคยมีมาก่อน