การระบุลักษณะบริการและระบบปฏิบัติการ
ใช้ Nmap -sV และ -O เพื่อระบุบริการและระบบปฏิบัติการที่กำลังทำงาน
การระบุลักษณะบริการและระบบปฏิบัติการ เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุใดการตรวจลายนิ้วมือจึงสำคัญ
การทราบรุ่นที่แน่นอนของบริการและระบบปฏิบัติการจะเปลี่ยนรายการพอร์ตที่เปิดอยู่ให้กลายเป็นรายการเป้าหมายที่นำไปปฏิบัติได้ ข้อมูลรุ่นเชื่อมโยงโดยตรงกับหมายเลข CVE และโมดูลการเจาะระบบ
การตรวจจับรุ่นบริการด้วย -sV
nmap -sV ตรวจสอบแต่ละพอร์ตที่เปิดอยู่ด้วยเพย์โหลดเฉพาะบริการ และเปรียบเทียบการตอบกลับกับฐานข้อมูลการตรวจสอบของเครื่องมือ (nmap-service-probes) เพื่อระบุซอฟต์แวร์และรุ่น
sudo nmap -sV -p 22,80,443,3306 192.168.1.100
# 22/tcp open ssh OpenSSH 7.4
# 80/tcp open http nginx 1.18.0
# 3306/tcp open mysql MySQL 5.7.38ระดับความเข้มข้นของ -sV
แฟล็ก --version-intensity (0-9) ควบคุมความเข้มข้นที่เอ็นแมปใช้ตรวจสอบ ระดับความเข้มข้นที่สูงขึ้นจะค้นพบบริการได้มากขึ้น แต่ใช้เวลานานกว่าและสร้างเสียงรบกวนมากกว่า
sudo nmap -sV --version-intensity 9 192.168.1.100
# 9 = try all probes (slowest, most accurate)
# 0 = only most likely probes (fastest)การตรวจจับระบบปฏิบัติการด้วย -O
nmap -O ใช้การตรวจลายนิ้วมือสแตก TCP/IP — ค่าของ TTL ขนาดหน้าต่าง TCP และตัวเลือก IP — เพื่อคาดเดาระบบปฏิบัติการ ผลลัพธ์จะมีเปอร์เซ็นต์ความเชื่อมั่นด้วย
sudo nmap -O 192.168.1.100
# OS details: Linux 4.15 - 5.6
# Network Distance: 1 hop
# Requires at least one open and one closed portการสแกนเชิงรุก -A
-A เปิดใช้การตรวจจับระบบปฏิบัติการ การตรวจจับรุ่น การสแกนด้วยสคริปต์ และการติดตามเส้นทางด้วยแฟล็กเดียว เหมาะสำหรับการสแกนแบบครอบคลุมอย่างรวดเร็วในสภาพแวดล้อมห้องปฏิบัติการ
sudo nmap -A 192.168.1.100
# Combines: -O -sV -sC --tracerouteการดึงแบนเนอร์ด้วยเน็ตแคต
การดึงแบนเนอร์คือการเรียกดูแบนเนอร์บริการที่เซิร์ฟเวอร์ส่งเมื่อมีการเชื่อมต่อ วิธีนี้เป็นทางเลือกที่เรียบง่ายและสร้างเสียงรบกวนน้อยกว่าการตรวจลายนิ้วมือด้วยเอ็นแมปแบบเต็มรูปแบบ
# HTTP banner
nc 192.168.1.100 80
GET / HTTP/1.0
# SSH banner
nc 192.168.1.100 22
# Returns: SSH-2.0-OpenSSH_8.9p1การดึงแบนเนอร์ด้วยเคิร์ล
แฟล็ก -I ของเคิร์ลจะดึงเฉพาะส่วนหัวการตอบกลับ ทำให้เห็นซอฟต์แวร์เซิร์ฟเวอร์ รุ่น และสแตกเทคโนโลยีโดยไม่ต้องดาวน์โหลดเนื้อหา
curl -I http://192.168.1.100
# HTTP/1.1 200 OK
# Server: Apache/2.4.52 (Ubuntu)
# X-Powered-By: PHP/8.1.2WhatWeb สำหรับการตรวจลายนิ้วมือเว็บ
WhatWeb ระบุเทคโนโลยีเว็บ ได้แก่ CMS ไลบรารี JavaScript ระบบวิเคราะห์ข้อมูล ซอฟต์แวร์เซิร์ฟเวอร์ และเฟรมเวิร์ก เครื่องมือนี้สร้างขึ้นโดยเฉพาะสำหรับการสำรวจแอปพลิเคชันเว็บ
whatweb http://target.com
# Output:
# WordPress [v6.2], Apache[2.4.52],
# PHP[8.1], jQuery[3.6.0]เอ็นจินสคริปต์ของเอ็นแมปสำหรับการตรวจลายนิ้วมือ
สคริปต์ NSE ช่วยเพิ่มความสามารถในการตรวจลายนิ้วมือของเอ็นแมป สคริปต์ http-server-header, ssh-hostkey และ banner ใช้ดึงข้อมูลโดยละเอียด
nmap --script=banner 192.168.1.100
nmap --script=http-server-header 192.168.1.100
nmap --script=ssh-hostkey 192.168.1.100การเชื่อมโยงกับ CVE
เมื่อทราบรุ่นของบริการแล้ว ให้ค้นหาในฐานข้อมูลช่องโหว่แห่งชาติ (NVD) หรือใช้เครื่องมืออย่าง searchsploit เพื่อค้นหาช่องโหว่ที่ตรงกับรุ่นนั้นโดยเฉพาะ
searchsploit apache 2.4.49
searchsploit openssh 7.4
# Or search NVD:
# https://nvd.nist.gov/vuln/searchการหลบเลี่ยงการตรวจลายนิ้วมือในฐานะผู้ป้องกัน
ผู้ป้องกันสามารถปิดบังแบนเนอร์ได้โดยลบส่วนหัวเซิร์ฟเวอร์ ปรับแต่งแบนเนอร์ SSH และใช้การเคาะพอร์ต แต่การรักษาความปลอดภัยด้วยการปิดบังข้อมูลเพียงอย่างเดียวทำให้ผู้โจมตีทำงานยากขึ้นเท่านั้น ไม่ใช่การแก้ปัญหา
# Apache: suppress version
ServerTokens Prod
ServerSignature Off
# Nginx
server_tokens off;ตรวจสอบความเข้าใจอย่างรวดเร็ว
แฟล็กใดของเอ็นแมปที่รวมการตรวจจับระบบปฏิบัติการ การตรวจจับรุ่น และการสแกนด้วยสคริปต์ไว้ด้วยกัน
สรุป: การตรวจลายนิ้วมือ
การตรวจลายนิ้วมือเปลี่ยนรายการพอร์ตดิบให้เป็นข้อมูลข่าวกรองที่นำไปปฏิบัติได้ ใช้ -sV และ -O ร่วมกันเพื่อการตรวจจับอัตโนมัติ ใช้การดึงแบนเนอร์ด้วยตนเองเพื่อยืนยันผลโดยสร้างเสียงรบกวนน้อย และใช้ WhatWeb สำหรับสแตกเว็บ ควรตรวจสอบสตริงรุ่นกับฐานข้อมูล CVE อยู่เสมอ
คำถามที่พบบ่อย
บทเรียน “การระบุลักษณะบริการและระบบปฏิบัติการ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การระบุลักษณะบริการและระบบปฏิบัติการ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การระบุลักษณะบริการและระบบปฏิบัติการ”
ใช้ Nmap -sV และ -O เพื่อระบุบริการและระบบปฏิบัติการที่กำลังทำงาน คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “การระบุลักษณะบริการและระบบปฏิบัติการ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม
ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เทคนิคการสแกนพอร์ตด้วย Nmap
- การระบุลักษณะบริการและระบบปฏิบัติการ
- Netcat: มีดพกสวิสสำหรับเครือข่าย
- การเขียนสคริปต์แจกแจงเครือข่าย