0Pricing
Cyber Security Academy · บทเรียน

การระบุลักษณะบริการและระบบปฏิบัติการ

ใช้ 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.2

WhatWeb สำหรับการตรวจลายนิ้วมือเว็บ

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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เทคนิคการสแกนพอร์ตด้วย Nmap
  2. การระบุลักษณะบริการและระบบปฏิบัติการ
  3. Netcat: มีดพกสวิสสำหรับเครือข่าย
  4. การเขียนสคริปต์แจกแจงเครือข่าย
← กลับไปที่ Cyber Security Academy