วิธีการใช้ Nmap สำหรับการสแกนช่องโหว่?
เผยแพร่แล้ว: 2022-04-07Nmap หรือ Network mapper เป็นชุดเครื่องมือสำหรับการทดสอบการทำงานและการเจาะระบบทั่วทั้งเครือข่าย รวมถึงการสแกนพอร์ตและการตรวจจับช่องโหว่
เอ็นจิ้นสคริปต์ Nmap (NSE) สคริปต์เป็นหนึ่งในความสามารถที่ได้รับความนิยมและทรงพลังที่สุดของ Nmap สคริปต์สแกนช่องโหว่ Nmap เหล่านี้ถูกใช้โดยผู้ทดสอบการเจาะระบบและแฮกเกอร์เพื่อตรวจสอบช่องโหว่ที่รู้จักทั่วไป
ช่องโหว่และการเปิดเผยทั่วไป (CVE) เป็นฐานข้อมูลของปัญหาด้านความปลอดภัยข้อมูลที่เปิดเผยต่อสาธารณะ ทำหน้าที่เป็นแบบจำลองอ้างอิงสำหรับการตรวจจับช่องโหว่และภัยคุกคามที่เกี่ยวข้องกับความปลอดภัยของระบบข้อมูล
ในบทความนี้ เราจะมาดูวิธีการใช้ Nmap สำหรับ Vulnerability Scan
มาเริ่มกันเลย!
การติดตั้ง Nmap
Nmap ได้รับการติดตั้งล่วงหน้าในเกือบทุกการกระจาย Linux ในกรณีที่หายไป คุณต้องติดตั้งด้วยตนเอง สามารถติดตั้งได้ง่ายๆ ด้วยคำสั่งต่อไปนี้
apt-get install nmap
และคุณยังสามารถติดตั้งได้โดยการโคลนที่เก็บ git อย่างเป็นทางการ
git clone https://github.com/nmap/nmap.git
จากนั้นไปที่ไดเร็กทอรีนั้นและติดตั้งข้อกำหนดโดยใช้คำสั่งด้านล่าง
./configure make make install
เวอร์ชันล่าสุดของซอฟต์แวร์นี้ รวมถึงโปรแกรมติดตั้งไบนารีสำหรับ Windows, macOS และ Linux (RPM) มีให้ที่นี่
สแกนช่องโหว่ด้วย Nmap
Nmap-vulners , vulscan และ vuln เป็นสคริปต์การตรวจจับ CVE ทั่วไปและเป็นที่นิยมมากที่สุดในเครื่องมือค้นหา Nmap สคริปต์เหล่านี้ช่วยให้คุณค้นพบข้อมูลสำคัญเกี่ยวกับข้อบกพร่องด้านความปลอดภัยของระบบ
Nmap-vulners
หนึ่งในเครื่องสแกนช่องโหว่ที่เป็นที่รู้จักมากที่สุดคือ Nmap-vulners มาดูวิธีตั้งค่าเครื่องมือนี้และวิธีเรียกใช้การสแกน CVE พื้นฐานกัน เอ็นจิ้นสคริปต์ Nmap ค้นหาการตอบสนอง HTTP เพื่อระบุ CPE สำหรับสคริปต์ที่กำหนด
การติดตั้ง
ในการติดตั้งสคริปต์ Nmap-vulners ให้ไปที่ไดเร็กทอรีสคริปต์ Nmap โดยใช้คำสั่งต่อไปนี้
cd /usr/share/nmap/scripts/
ขั้นตอนต่อไปคือการโคลนที่เก็บ git
git clone https://github.com/vulnersCom/nmap-vulners.git
หลังจากโคลนที่เก็บ git แล้ว คุณไม่จำเป็นต้องดำเนินการใดๆ สำหรับการกำหนดค่า เครื่องมือจะถูกติดตั้งโดยอัตโนมัติ
และถ้าคุณต้องการดูสคริปต์ NSE ที่มีอยู่ในฐานข้อมูล Nmap-vulners ให้ใช้คำสั่ง ls
มันจะแสดงสคริปต์ส่วนขยาย .nse ทั้งหมดบนเทอร์มินัล
การใช้งาน
สคริปต์ NSE ใช้งานง่าย เพียงส่งอาร์กิวเมนต์ -script ไปยังคำสั่ง Nmap ของเราเพื่อสั่งสคริปต์ NSE ที่จะใช้
nmap -sV --script vulners [--script-args mincvss=<arg_val>] <target>
อย่าลืมส่งอาร์กิวเมนต์ "-sV" ขณะใช้สคริปต์ NSE Nmap-vulners จะไม่สามารถเข้าถึงฐานข้อมูล Vulners Exploit ได้หากไม่ได้รับข้อมูลเวอร์ชันใด ๆ จาก Nmap ดังนั้น พารามิเตอร์ -sV จึงจำเป็นตลอดเวลา
ตัวอย่างคำสั่ง
ไวยากรณ์ค่อนข้างตรงไปตรงมา เพียงเรียกสคริปต์ด้วยตัวเลือก “–script” และระบุเอ็นจิ้นช่องโหว่และเป้าหมายเพื่อเริ่มการสแกน
nmap -sV --script nmap-vulners/ <target>
หากคุณต้องการสแกนพอร์ตใดพอร์ตหนึ่ง ให้เพิ่มตัวเลือก “-p” ที่ส่วนท้ายของคำสั่ง แล้วส่งหมายเลขพอร์ตที่คุณต้องการสแกน
nmap -sV --script nmap-vulners/ <target> -p80,223
Nmap – vuln
สคริปต์ NSE ถูกจัดประเภทตามชุดของหมวดหมู่ที่กำหนดไว้ล่วงหน้าซึ่งแต่ละสคริปต์เป็นของ การรับรองความถูกต้อง การออกอากาศ การดุร้าย การล่วงล้ำ มัลแวร์ ปลอดภัย เวอร์ชัน และช่องโหว่เป็นหมวดหมู่บางส่วน คุณสามารถค้นหาประเภทหมวดหมู่ทั้งหมดของสคริปต์ NSE และเฟสได้ที่นี่
สคริปต์ที่อยู่ในหมวดหมู่ "ช่องโหว่" จะค้นหาช่องโหว่ที่ทราบเฉพาะและรายงานกลับเฉพาะเมื่อมีการระบุช่องโหว่ในระบบเป้าหมาย
nmap -sV --script vuln <target>
Nmap-vulscan
Vulscan เป็นสคริปต์ NSE ที่ช่วย Nmap ในการตรวจหาช่องโหว่บนเป้าหมายตามบริการและการตรวจจับเวอร์ชัน vulscan เป็นเหมือนโมดูลสำหรับ Nmap ที่แปลงเป็นเครื่องสแกนช่องโหว่ ตัวเลือก Nmap -sV อนุญาตให้ตรวจหาเวอร์ชันต่อบริการ ซึ่งใช้เพื่อระบุช่องโหว่ที่อาจเกิดขึ้นสำหรับช่องโหว่ที่ตรวจพบในระบบ
ปัจจุบัน มีฐานข้อมูลที่ติดตั้งไว้ล่วงหน้าดังต่อไปนี้:
- Exploitdb.csv
- osvdb.csv
- securitytracker.csv
- openvas.csv
- scipvuldb.csv
- xforce.csv
- securityfocus.csv
- cve.csv
การติดตั้ง
ในการติดตั้ง Vulscan ก่อนอื่น ให้ไปที่ไดเร็กทอรีสคริปต์ Nmap โดยใช้คำสั่งต่อไปนี้
cd /usr/share/nmap/scripts/
ขั้นตอนต่อไปคือการโคลนที่เก็บ git และติดตั้งข้อกำหนดทั้งหมด
git clone https://github.com/scipag/vulscan.git ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan
Vulscan ใช้ประโยชน์จากฐานข้อมูลที่กำหนดค่าไว้ล่วงหน้าซึ่งบันทึกไว้ในเครื่องของเรา ในการอัพเดตฐานข้อมูล ไปที่ไดเร็กทอรี updater พิมพ์คำสั่งต่อไปนี้ในเทอร์มินัลเพื่อไปยังไดเร็กทอรี updater
cd vulscan/utilities/updater/
ถัดไป เปลี่ยนการอนุญาตของไฟล์ที่จะรันในระบบ
chmod +x updateFiles.sh
และสุดท้าย อัปเดตฐานข้อมูลการหาช่องโหว่ด้วยคำสั่งด้านล่าง
./updateFiles.sh
การใช้งาน
ลองใช้ vulscan เพื่อทำการสแกนช่องโหว่ของ Nmap สคริปต์ vulscan NSE สามารถใช้ในลักษณะเดียวกับ nmap-vulners
nmap -sV --script vulscan <target>
โดยค่าเริ่มต้น Vulscan จะค้นหาฐานข้อมูลทั้งหมดพร้อมกัน ใช้เวลานานในการสืบค้นข้อมูลโดยใช้ฐานข้อมูลทั้งหมด การใช้พารามิเตอร์ vulscandb คุณสามารถส่งผ่านฐานข้อมูล CVE ได้ครั้งละหนึ่งฐานข้อมูลเท่านั้น
--script-args vulscandb=database_name
ตัวอย่างคำสั่ง
nmap -sV --script vulscan --script-args vulscandb=exploit.csv <target> -p 80,233
การสแกนช่องโหว่ส่วนบุคคล
การสแกนช่องโหว่แต่ละรายการสามารถทำได้โดยใช้สคริปต์เฉพาะในแต่ละหมวดหมู่ นี่คือรายการของสคริปต์ NSE มากกว่า 600+ รายการและไลบรารี NSE 139 รายการ
ตัวอย่าง
- http-csrf : สคริปต์นี้ตรวจพบช่องโหว่ Cross-Site Request Forgery (CSRF)
nmap -sV --script http-csrf <target>
- http-sherlock : ตั้งใจที่จะใช้ประโยชน์จากช่องโหว่ "shellshock" ในเว็บแอปพลิเคชัน
nmap -sV --script http-sherlock <target>
- http-slowloris-attack: สคริปต์นี้จะตรวจสอบเว็บเซิร์ฟเวอร์หรือระบบเป้าหมายโดยไม่เปิดการโจมตี DoS เพื่อหาช่องโหว่ในการโจมตี Slowloris DoS
nmap -sV --script http-slowloris-check <target>
- http-vmware-path-vuln : VMWare ESX, ESXi และ Server ทั้งหมดได้รับการทดสอบหาช่องโหว่ในการข้ามเส้นทาง
nmap -sV --script http-vmware-path-vuln <target>
- http-passwd : พยายามดึงข้อมูล /etc/passwd หรือ boot.ini เพื่อดูว่าเว็บเซิร์ฟเวอร์มีความเสี่ยงต่อการข้ามผ่านไดเรกทอรีหรือไม่
nmap -sV --script http-passwd <target>
- http-internal-ip-disclosure : เมื่อส่งคำขอ HTTP/1.0 โดยไม่มีส่วนหัวของโฮสต์ การตรวจสอบนี้จะกำหนดว่าเว็บเซิร์ฟเวอร์รั่วที่อยู่ IP ภายในหรือไม่
nmap -sV --script http-internal-ip-disclosure <target>
- http-vuln-cve2013-0156 : ตรวจจับเซิร์ฟเวอร์ Ruby บน Rails ที่เสี่ยงต่อการโจมตี DOS และการฉีดคำสั่ง
nmap -sV --script http-vuln-cve2013-0156 <target-address>
และสุดท้าย นี่คือรายการสคริปต์ NSE ทั้งหมดที่อยู่ในหมวดหมู่ "vuln"
ระบบของคุณสามารถตรวจจับการสแกน Nmap ได้หรือไม่?
การลาดตระเวนเป็นขั้นตอนแรกในการทดสอบการแฮ็กและการเจาะข้อมูลอย่างมีจริยธรรม แฮกเกอร์ใช้ขั้นตอนการลาดตระเวนเพื่อค้นหาข้อบกพร่องและช่องโหว่ในระบบเพื่อโจมตี ดังนั้นระบบป้องกันควรจะสามารถตรวจจับพวกมันได้
คุณจะได้รับการแจ้งเตือนหากคุณใช้เครื่องมือ SIEM (ข้อมูลความปลอดภัยและการจัดการเหตุการณ์) ไฟร์วอลล์ และมาตรการป้องกันอื่นๆ และนี่คือรายการเครื่องมือ SIEM ที่ดีที่สุดในการรักษาความปลอดภัยให้กับธุรกิจและองค์กรของคุณจากการโจมตีทางไซเบอร์ เครื่องมือเหล่านี้ยังช่วยในการบันทึกการสแกน Nmap การสแกนช่องโหว่นั้นคุ้มค่า เนื่องจากการระบุตัวตนตั้งแต่เนิ่นๆ สามารถป้องกันความเสียหายต่อระบบในอนาคตได้
บทสรุป
ฉันหวังว่าคุณจะพบว่าบทความนี้มีประโยชน์มากในการเรียนรู้วิธีใช้ Nmap สำหรับการสแกนช่องโหว่
คุณอาจสนใจที่จะเรียนรู้รายการ Open Source Web Security Scanners เพื่อค้นหาช่องโหว่