iT邦幫忙

2025 iThome 鐵人賽

DAY 15
0
Security

Cybersecurity 淺談資安學習歷程系列 第 15

Day 15|《資安攻防啟蒙 ep.4:攻擊者的第二步:掃描 & 分析》

  • 分享至 

  • xImage
  •  

前言 🐶 為什麼掃描很重要!?

今天我們會進入攻擊的第二步:掃描 & 分析來做分享!通常在資料搜集完成後,攻擊者接下來要做的,就是「掃描」——也就是主動出擊的部分啦!攻擊方會去開始探索目標(Target)有哪些對外開放的入口與弱點。這一步就像小偷已經繞到你家門口,開始一扇扇地試門把,看哪一扇門沒鎖、哪個窗戶忘了關。對攻擊者來說,掃描能幫助他們迅速了解系統的「攻擊面」,決定從哪裡下手,甚至規劃後續更精確的攻擊行動。因此,掃描是從被動收集到主動偵查的關鍵轉折點,也是整個攻擊鏈中不可或缺的一環~!


掃描 & 分析是啥?在幹嘛? 🔍

這個步驟的目標其實就是由「已知的線索」進一步轉化為「可攻擊的目標」或「具體的弱點」。

掃描(Scanning)

指的是針對目標主機、網路或系統,主動發送各種請求,試圖發現有哪些服務、埠口或設備是對外開放的。像是:

  1. 有哪些主機(IP位址)在線上?
  2. 哪些埠口(Port)是開啟的?
  3. 這些埠口對應的服務是什麼(例如 Web、FTP、SSH)?
  4. 服務的版本資訊(如 Apache 2.4.29、OpenSSH 7.6)

掃描的分類以及工具會在下面跟大家做介紹~!

分析/列舉(Enumeration)

分析是進一步蒐集特定服務背後更細節的資訊,例如「服務類型、軟體版本、甚至用戶名單」等。這兩個步驟逐步揭示目標系統的「地圖」,讓攻擊者能夠鎖定潛在的弱點或入口!🕵️‍♀️

  1. 找出伺服器上有哪些用戶帳號(例如 Windows 的使用者名單、Linux 的帳號)
  2. 列出共享資料夾、目錄結構、伺服器資源
  3. 列舉網域控制器、Active Directory 的群組、成員
  4. 查詢服務的設定細節(如FTP匿名登入是否開啟、郵件伺服器允許Relay等)

簡單來說,掃描是「找門」,分析則是「看這扇門後面有什麼」。

常見掃描類型與工具全 🛠️

簡單介紹完掃描以及分析後,我們要來進入今天的重點部分,常見的掃描類型以及掃描工具有哪些,並透過小小的範例實作帶大家了解掃描、滲透測試的過程。

1. 網路掃描(Network Scanning)

  • 目標:找出目標有哪些主機、設備在線上
  • 工具pingnmapmasscan 等等 Command
  • 說明:例如用 nmap -sn 192.168.1.0/24 掃描整個子網路有哪些主機在線

CLI 範例:ping 8.8.8.8(測試你電腦與 Google 公共DNS 伺服器 (IP 位址為8.8.8.8) 的連線狀態)

https://ithelp.ithome.com.tw/upload/images/20250915/20175957x9aAWANiGX.png

  • ICMP 就是 ping指令背後的一個協定(Internet Control Message Protocol),又稱「網際網路控制訊息協定」。是屬於網路層(IP 協定)的一部分,主要用途是傳遞控制訊息,例如:回報錯誤、測試連線狀態、診斷網路問題。
  • ttl(time to live),是「存活時間」。每經過一個路由器就會減 1(這邊 117 就代表這封封包經過了 128 - 117 = 11 個路由器 hops),用來避免封包無限循環。TTL 數字本身也能大致判斷對方主機的作業系統(例如 Windows 常見起始 128,Linux 常見起始 64、BSD/Unix 255)。

https://ithelp.ithome.com.tw/upload/images/20250915/201759572vehCCwKLf.png

  • 由於這邊可以看到 there’s no packet loss,所以可以推斷網路連線良好,並沒有封包遺失
  • RTT(Round-Trip Time)封包的往返時間:從你電腦送出,到對方回覆,再回到你電腦的時間。

2. 服務掃描(Port Scanning & Service Discovery)

  • 目標:找出主機對外開放了哪些埠口(port),以及這些埠口上跑的是什麼服務(如HTTP、FTP、SSH等)
  • 工具nmapnetcat 等等
  • 說明:例如用 nmap -sS 192.168.1.10 掃描指定主機的開放埠口

Python 埠口掃描實作小天地:

import socket

target = 'scanme.nmap.org'  # 可替換成你自己的測試主機
ports = [21, 22, 80, 443, 8080]

for port in ports:
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.settimeout(1)
    result = sock.connect_ex((target, port))
    if result == 0:
        print(f"Port {port} is OPEN")
    else:
        print(f"Port {port} is CLOSED")
    sock.close()

實作的部分都會再三強調,請務必只對合法或自己的目標進行測試!

3. 弱點掃描(Vulnerability Scanning)

  • 目標:快速檢查目標系統是否存在已知漏洞或弱點
  • 工具NessusOpenVASnmap 的 NSE(NMAP scripting engine)→ 可先看教學
  • 說明:例如用 nmap --script vuln 192.168.1.10 掃描已知漏洞

4. 列舉(Enumeration)

  • 目標:深入挖掘服務細節,例如帳號名單、目錄結構、網域用戶等
  • 工具enum4linuxldapsearchnmap NSE 腳本
  • 說明:例如用 enum4linux 192.168.1.10 列舉 Windows 共享資訊

結語 🐶

掃描與分析是攻擊鏈中從「資訊收集」邁向「主動偵查」的重要環節。透過各種掃描工具,攻擊者能夠快速找出目標的開放服務與潛在弱點,為後續攻擊鋪路。對防禦方來說,了解這些步驟和工具,也有助於提早發現異常行為,強化系統安全。因為掃描分析是攻擊中相對重要的一環,因此明天會繼續針對這個部分來做分享(Nmap 工具)。

資安攻防,「知己知彼,方能百戰百勝!」


上一篇
Day 14|《資安攻防啟蒙 ep.3:攻擊者的第一步:資料搜集(Reconnaissance)全方位解析》
系列文
Cybersecurity 淺談資安學習歷程15
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言