ค้นหาเว็บไซต์

คู่มือปฏิบัติสำหรับ Nmap (Network Security Scanner) ใน Kali Linux


ในบทความ Kali Linux ที่สอง เราจะพูดถึงเครื่องมือเครือข่ายที่เรียกว่า 'nmap' แม้ว่า nmap จะไม่ใช่เครื่องมือสำหรับ Kali เท่านั้น แต่ก็เป็นหนึ่งในเครื่องมือทำแผนที่เครือข่ายที่มีประโยชน์มากที่สุดใน Kali

  1. คู่มือการติดตั้ง Kali Linux สำหรับผู้เริ่มต้น - ตอนที่ 1

Nmap ย่อมาจาก Network Mapper ได้รับการดูแลโดย Gordon Lyon (เพิ่มเติมเกี่ยวกับ Mr. Lyon ที่นี่: http://insecure.org/fyodor /) และถูกใช้โดยผู้เชี่ยวชาญด้านความปลอดภัยจำนวนมากทั่วโลก

ยูทิลิตี้นี้ทำงานได้ทั้งบน Linux และ Windows และขับเคลื่อนด้วยบรรทัดคำสั่ง (CLI) อย่างไรก็ตาม สำหรับผู้ที่ไม่ค่อยใช้บรรทัดคำสั่ง มีส่วนหน้าแบบกราฟิกที่ยอดเยี่ยมสำหรับ nmap ที่เรียกว่า zenmap

ขอแนะนำอย่างยิ่งให้บุคคลทั่วไปเรียนรู้ nmap เวอร์ชัน CLI เนื่องจากให้ความยืดหยุ่นมากกว่ามากเมื่อเปรียบเทียบกับรุ่นกราฟิก zenmap

nmap มีจุดประสงค์อะไร? คำถามที่ดี Nmap ช่วยให้ผู้ดูแลระบบเรียนรู้เกี่ยวกับระบบบนเครือข่ายได้อย่างรวดเร็วและทั่วถึง จึงเป็นที่มาของชื่อ Network MApper หรือ nmap

Nmap มีความสามารถในการค้นหาโฮสต์สดและบริการที่เกี่ยวข้องกับโฮสต์นั้นได้อย่างรวดเร็ว ฟังก์ชันการทำงานของ Nmap สามารถขยายเพิ่มเติมได้ด้วย Nmap Scripting Engine ซึ่งมักเรียกสั้น ๆ ว่า NSE

กลไกการเขียนสคริปต์นี้ช่วยให้ผู้ดูแลระบบสามารถสร้างสคริปต์ที่สามารถใช้เพื่อตรวจสอบว่ามีช่องโหว่ที่เพิ่งค้นพบอยู่ในเครือข่ายของตนหรือไม่ สคริปต์จำนวนมากได้รับการพัฒนาและรวมอยู่ในการติดตั้ง nmap ส่วนใหญ่

คำเตือน - nmap มักใช้โดยผู้ที่มีเจตนาดีและไม่ดี ควรใช้ความระมัดระวังอย่างยิ่งเพื่อให้แน่ใจว่าคุณไม่ได้ใช้ nmap กับระบบที่ไม่ได้ให้การอนุญาต ชัดเจน ในข้อตกลงที่เป็นลายลักษณ์อักษร/ทางกฎหมาย โปรดใช้ความระมัดระวังเมื่อใช้เครื่องมือ nmap

ความต้องการของระบบ

  1. Kali Linux (nmap พร้อมใช้งานในระบบปฏิบัติการและฟังก์ชันอื่นที่คล้ายกับคู่มือนี้)
  2. คอมพิวเตอร์เครื่องอื่นและการอนุญาตให้สแกนคอมพิวเตอร์เครื่องนั้นด้วย nmap ซึ่งมักจะทำได้อย่างง่ายดายด้วยซอฟต์แวร์ เช่น VirtualBox และการสร้างเครื่องเสมือน

    1. หากต้องการใช้เครื่องจักรที่ดีในการฝึกฝน โปรดอ่านเกี่ยวกับ Metasploitable 2
    2. ดาวน์โหลดสำหรับ MS2 Metasploitable2
  3. การเชื่อมต่อการทำงานที่ถูกต้องกับเครือข่ายหรือหากใช้เครื่องเสมือน การเชื่อมต่อเครือข่ายภายในที่ถูกต้องสำหรับทั้งสองเครื่อง

Kali Linux - ทำงานกับ Nmap

ขั้นตอนแรกในการทำงานกับ nmap คือการเข้าสู่ระบบเครื่อง Kali Linux และหากต้องการ ให้เริ่มเซสชันแบบกราฟิก (บทความแรกในชุดนี้ติดตั้ง Kali Linux พร้อม XFCE Desktop Environment)

ในระหว่างการติดตั้ง โปรแกรมติดตั้งจะแจ้งให้ผู้ใช้ใส่รหัสผ่านผู้ใช้ 'root' ซึ่งจะต้องใช้ในการเข้าสู่ระบบ เมื่อเข้าสู่ระบบเครื่อง Kali Linux แล้ว โดยใช้คำสั่ง 'startx ' XFCE Desktop Environment สามารถเริ่มต้นได้ - เป็นที่น่าสังเกตว่า nmap ไม่จำเป็นต้องมีสภาพแวดล้อมเดสก์ท็อปในการทำงาน

startx

เมื่อเข้าสู่ระบบ XFCE แล้ว จะต้องเปิดหน้าต่างเทอร์มินัล เมื่อคลิกที่พื้นหลังของเดสก์ท็อป เมนูจะปรากฏขึ้น การนำทางไปยังเทอร์มินัลสามารถทำได้ดังนี้: แอปพลิเคชัน -> ระบบ -> 'Xterm<' หรือ 'UXterm' หรือ 'รูทเทอร์มินัล'

ผู้เขียนเป็นแฟนตัวยงของโปรแกรมเชลล์ชื่อ 'Terminator' แต่อาจไม่ปรากฏในการติดตั้งเริ่มต้นของ Kali Linux โปรแกรมเชลล์ทั้งหมดที่อยู่ในรายการจะทำงานตามวัตถุประสงค์ของ nmap

เมื่อเทอร์มินัลเปิดตัวแล้ว ความสนุก nmap ก็สามารถเริ่มต้นได้ สำหรับบทช่วยสอนนี้โดยเฉพาะ เครือข่ายส่วนตัวที่มีเครื่อง Kali และเครื่อง Metasploitable ได้ถูกสร้างขึ้น

สิ่งนี้ทำให้สิ่งต่าง ๆ ง่ายขึ้นและปลอดภัยยิ่งขึ้นเนื่องจากช่วงเครือข่ายส่วนตัวจะช่วยให้มั่นใจได้ว่าการสแกนยังคงอยู่ในเครื่องที่ปลอดภัยและป้องกันไม่ให้เครื่อง Metasploitable ที่มีช่องโหว่จากการถูกบุกรุกโดยบุคคลอื่น

จะค้นหาโฮสต์สดบนเครือข่ายของฉันได้อย่างไร?

ในตัวอย่างนี้ ทั้งสองเครื่องอยู่ในเครือข่าย 192.168.56.0 /24 ส่วนตัว เครื่อง Kali มีที่อยู่ IP 192.168.56.101 และเครื่อง Metasploitable ที่จะสแกนมีที่อยู่ IP 192.168.56.102

สมมติว่าไม่มีข้อมูลที่อยู่ IP การสแกน nmap อย่างรวดเร็วสามารถช่วยระบุได้ว่ามีอะไรอยู่บนเครือข่ายใดเครือข่ายหนึ่ง การสแกนนี้เรียกว่าการสแกน 'รายการแบบง่าย' ดังนั้นอาร์กิวเมนต์ -sL จึงส่งผ่านไปยังคำสั่ง nmap

nmap -sL 192.168.56.0/24

น่าเศร้าที่การสแกนครั้งแรกนี้ไม่ได้ส่งคืนโฮสต์สดใดๆ เลย บางครั้งนี่อาจเป็นปัจจัยหนึ่งในวิธีที่ระบบปฏิบัติการบางตัวจัดการกับการรับส่งข้อมูลเครือข่ายสแกนพอร์ต

ค้นหาและ Ping โฮสต์สดทั้งหมดบนเครือข่ายของฉัน

ไม่ต้องกังวล มีเทคนิคบางอย่างที่ nmap มีอยู่ให้ลองค้นหาเครื่องเหล่านี้ เคล็ดลับต่อไปนี้จะบอก nmap ให้ลองส่ง Ping ไปยังที่อยู่ทั้งหมดในเครือข่าย 192.168.56.0/24

nmap -sn 192.168.56.0/24

คราวนี้ nmap ส่งคืนโฮสต์ที่คาดหวังไว้สำหรับการสแกน! ในคำสั่งนี้ -sn ปิดใช้งานพฤติกรรมเริ่มต้นของ nmap ในการพยายามสแกนพอร์ตโฮสต์ และเพียงให้ nmap พยายาม ping โฮสต์

ค้นหาพอร์ตที่เปิดอยู่บนโฮสต์

ลองปล่อยให้พอร์ต nmap สแกนโฮสต์เฉพาะเหล่านี้แล้วดูว่าเกิดอะไรขึ้น

nmap 192.168.56.1,100-102

ว้าว! คราวนี้ nmap โดนเหมืองทองคำ โฮสต์นี้มีพอร์ตเครือข่ายแบบเปิดอยู่ไม่น้อย

พอร์ตเหล่านี้ทั้งหมดบ่งบอกถึงบริการการฟังบางประเภทในเครื่องนี้โดยเฉพาะ จากการเรียกคืนก่อนหน้านี้ ที่อยู่ IP 192.168.56.102 ถูกกำหนดให้กับเครื่องที่มีช่องโหว่ที่สามารถ metasploitable ได้ เหตุใดจึงมีพอร์ตที่เปิดอยู่มากมายบนโฮสต์นี้

การเปิดพอร์ตจำนวนมากในเครื่องส่วนใหญ่ถือเป็นเรื่องผิดปกติอย่างมาก ดังนั้นจึงควรตรวจสอบเครื่องนี้ให้ละเอียดยิ่งขึ้นอีกเล็กน้อย ผู้ดูแลระบบสามารถติดตามเครื่องจริงบนเครือข่ายและดูเครื่องในเครื่องได้ แต่นั่นคงไม่สนุกนัก โดยเฉพาะเมื่อ nmap ช่วยให้เราเร็วกว่ามาก!

ค้นหาบริการการฟังบนพอร์ตบนโฮสต์

การสแกนครั้งต่อไปนี้เป็นการสแกนบริการและมักใช้เพื่อพยายามพิจารณาว่าบริการใดที่อาจรับฟังบนพอร์ตเฉพาะบนเครื่อง

Nmap จะตรวจสอบพอร์ตที่เปิดอยู่ทั้งหมดและพยายามดึงข้อมูลแบนเนอร์จากบริการที่ทำงานบนแต่ละพอร์ต

nmap -sV 192.168.56.102

โปรดสังเกตว่าเวลานี้ nmap ให้คำแนะนำบางอย่างเกี่ยวกับสิ่งที่ nmap คิดว่าอาจทำงานบนพอร์ตนี้โดยเฉพาะ (เน้นในกล่องสีขาว) นอกจากนี้ nmap ยังพยายามระบุข้อมูลเกี่ยวกับระบบปฏิบัติการที่ทำงานบนเครื่องนี้ตลอดจนชื่อโฮสต์ (และประสบความสำเร็จอย่างมากเช่นกัน!)

การดูผลลัพธ์นี้ควรทำให้เกิดข้อกังวลเล็กน้อยสำหรับผู้ดูแลระบบเครือข่าย บรรทัดแรกอ้างว่า VSftpd เวอร์ชัน 2.3.4 กำลังทำงานอยู่บนเครื่องนี้! นั่นเป็น VSftpd เวอร์ชันเก่าจริงๆ

เมื่อค้นหาผ่าน ExploitDB พบว่ามีช่องโหว่ร้ายแรงในปี 2011 สำหรับเวอร์ชันนี้ (ExploitDB ID – 17491)

ค้นหาการเข้าสู่ระบบ FTP แบบไม่ระบุชื่อบนโฮสต์

ให้ nmap พิจารณาพอร์ตนี้ให้ละเอียดยิ่งขึ้นและดูว่าสามารถกำหนดอะไรได้บ้าง

nmap -sC 192.168.56.102 -p 21

ด้วยคำสั่งนี้ nmap ได้รับคำสั่งให้เรียกใช้สคริปต์เริ่มต้น (-sC) บนพอร์ต FTP (-p 21) บนโฮสต์ แม้ว่ามันอาจจะใช่หรือไม่ใช่ปัญหาก็ตาม nmap พบว่าอนุญาตให้เข้าสู่ระบบ FTP แบบไม่ระบุชื่อบนเซิร์ฟเวอร์นี้โดยเฉพาะ

ตรวจสอบช่องโหว่บนโฮสต์

สิ่งนี้จับคู่กับความรู้ก่อนหน้านี้เกี่ยวกับ VSftd ที่มีช่องโหว่เก่าควรทำให้เกิดข้อกังวลบางประการ มาดูกันว่า nmap มีสคริปต์ใด ๆ ที่พยายามตรวจสอบช่องโหว่ VSftpd หรือไม่

locate .nse | grep ftp

โปรดสังเกตว่า nmap มีสคริปต์ NSE ที่สร้างไว้แล้วสำหรับปัญหาแบ็คดอร์ VSftpd! มาลองใช้สคริปต์นี้กับโฮสต์นี้แล้วดูว่าเกิดอะไรขึ้น แต่ก่อนอื่นอาจเป็นสิ่งสำคัญที่ต้องรู้วิธีใช้สคริปต์

nmap --script-help=ftp-vsftd-backdoor.nse

เมื่ออ่านคำอธิบายนี้แล้ว เห็นได้ชัดว่าสคริปต์นี้สามารถใช้เพื่อพยายามดูว่าเครื่องนี้เสี่ยงต่อปัญหา ExploitDB ที่ระบุไว้ก่อนหน้านี้หรือไม่

มารันสคริปต์แล้วดูว่าเกิดอะไรขึ้น

nmap --script=ftp-vsftpd-backdoor.nse 192.168.56.102 -p 21

เย้! สคริปต์ของ Nmap ส่งคืนข่าวอันตราย เครื่องจักรนี้น่าจะเป็นตัวเลือกที่ดีสำหรับการสอบสวนที่จริงจัง นี่ไม่ได้หมายความว่าเครื่องถูกบุกรุกและถูกใช้เพื่อสิ่งที่น่ากลัว/แย่มาก แต่ควรนำข้อกังวลบางประการมาสู่ทีมเครือข่าย/ความปลอดภัย

Nmap มีความสามารถในการเลือกสรรอย่างมากและเงียบมาก สิ่งที่ทำไปแล้วส่วนใหญ่คือพยายามทำให้การรับส่งข้อมูลเครือข่ายของ nmap เงียบปานกลาง อย่างไรก็ตาม การสแกนเครือข่ายส่วนตัวในลักษณะนี้อาจใช้เวลานานมาก

Nmap มีความสามารถในการสแกนเชิงรุกมากขึ้น ซึ่งมักจะให้ข้อมูลเดียวกันจำนวนมาก แต่อยู่ในคำสั่งเดียวแทนที่จะเป็นหลายคำสั่ง มาดูผลลัพธ์ของการสแกนเชิงรุกกันดีกว่า (โปรดทราบ – การสแกนเชิงรุกสามารถปิดระบบการตรวจจับ/ป้องกันการบุกรุกได้!)

nmap -A 192.168.56.102

โปรดสังเกตว่าในครั้งนี้ ด้วยคำสั่งเดียว nmap ได้ส่งคืนข้อมูลจำนวนมากที่ส่งคืนก่อนหน้านี้เกี่ยวกับพอร์ตที่เปิด บริการ และการกำหนดค่าที่ทำงานบนเครื่องนี้โดยเฉพาะ ข้อมูลส่วนใหญ่นี้สามารถใช้เพื่อช่วยในการกำหนดวิธีการปกป้องเครื่องนี้ตลอดจนประเมินซอฟต์แวร์ที่อาจอยู่ในเครือข่าย

นี่เป็นเพียงรายการสั้น ๆ ของสิ่งที่มีประโยชน์มากมายที่ nmap สามารถใช้ค้นหาบนโฮสต์หรือส่วนเครือข่ายได้ ขอแนะนำอย่างยิ่งให้แต่ละบุคคลทำการทดลองกับ nmap ต่อไปในลักษณะที่ได้รับการควบคุมบนเครือข่ายที่เป็นของบุคคลนั้น (อย่าฝึกฝนโดยการสแกนเอนทิตีอื่น!)

มีคำแนะนำอย่างเป็นทางการเกี่ยวกับ การสแกนเครือข่าย Nmap โดยผู้เขียน Gordon Lyon หาได้จาก Amazon