iT邦幫忙

2026 iThome 鐵人賽

DAY 3
0

今天的目標只有一個

昨天聊了滲透測試的流程。

從情報蒐集開始,到後面的漏洞分析、利用,每個階段其實都不是做完就結束。

當後面發現新的資訊時,可能還是要回頭再看看:

「還有沒有什麼我一開始沒注意到的?」

所以今天想真正把這件事情做一次。

今天先搞清楚一件事:

我們的目標機器到底有什麼?

就這樣。

不急著打進去,也先不找漏洞。

先從最基本的地方開始,看看這台機器:

  • 開了哪些 Port?
  • 跑了哪些 Service?
  • 可以看到哪些 Version?

先把眼前看到的東西整理清楚,再來想:

「下一步可以往哪裡走?」


先選機器:為什麼是Lame

HTB 上的機器分成 Active 和 Retired。

這次會把我這30 天的 CPTS 學習過程寫成鐵人賽,實際打靶的過程也會一起記錄下來。

而 HTB 官方規定,Active Machine 不能公開解法,所以這次的練習靶機只能是 Retired Machine。

但我其實完全沒有頭緒xddd(心理一直OS: 到底哪些機器,可以用又能搭配我的 CPTS 學習歷程

我希望把 Academy 學到的內容,在靶機上實際練習,而不是隨便挑幾台機器來打><

這需求對我來說太困難了 所以我把他交給 AI,請AI幫我規劃 30 天的學習內容,以及適合搭配的HTB Retired練習靶機。

而 AI 幫我規劃的第一台練習機,就是 Lame (所以我們今天就邀請Lame來陪我們練習囉


開始之前,先把環境準備好

我自己沒有架 Kali VM,還好 HTB 有提供 Pwnbox,讓我不用自己架一台攻擊機><直接開瀏覽器就可以用了(超級新手友善><
那我們就來看看怎麼開啟Pwnbox~~~

開啟步驟:

  1. 在Search Lab搜尋Lame,到Lame的頁面,選Start Pwbbox(等Target IP出現(如下圖))
    https://ithelp.ithome.com.tw/upload/images/20260917/20184189UmUP3QuPHT.png

  2. 點右上角的Connect,選Machines
    https://ithelp.ithome.com.tw/upload/images/20260917/20184189g1dI3TOtS5.png

  3. 展開之後點Pwnbox
    https://ithelp.ithome.com.tw/upload/images/20260917/20184189eakYWAwtSZ.png

  4. 等Pwnbox啟動並跳轉後,選Open Desktop
    https://ithelp.ithome.com.tw/upload/images/20260917/20184189QR7hLv0qd2.png

  5. 開啟HTB提供的Pwnbox攻擊機後,點下圖的紅色框框開啟終端機:
    https://ithelp.ithome.com.tw/upload/images/20260917/201841893O801AYTcl.png

服用說明:Pwnbox 有使用時間限制,到期後環境可能會重開或重置,連 IP 都可能改變。
所以實作時,我會以當天取得的 IP 為主,完成當天的實驗,並截圖記錄當天取得的 IP,方便未來的自己回顧,也讓大家閱讀時能了解當時的實作環境


正式開掃

第一步:確認目標在線上

sudo nmap 10.129.69.51 -sN -oA lamealiveornot

-sN告訴Nmap「先確認主機有沒有活著,不掃描 Port」。
-oA lame_alive會把掃描結果存成三種格式的檔案。這樣之後要分析、查看或檢索結果,直接看存下來的資料就好,不用每次都重新掃描。

https://ithelp.ithome.com.tw/upload/images/20260917/20184189rmXNy1fIvs.png

看到Host is up,確認在線上。


第二步:確認主機在線之後,看看裡面有什麼

確認這台機器有回應之後,我們來看看它有哪些服務(我們來掃掃 Port,看看有哪些門是開著的。

sudo nmap 10.129.69.51 -p- -T4 -oA lameallports

Nmap預設只掃最常見的1000個port。

1000 個聽起來好像很多,但一台機器有 65535 個 TCP Port。如果我只用預設設定,就還有很多 Port 根本沒有被看到。

而在滲透測試一開始,我覺得先把環境摸清楚很重要(我不想一開始只看幾個常見的 Port,結果漏掉其他入口ㄚ~~~

-p-就是「幫我全部掃過一遍」!!!

先全部掃過一遍,知道這台機器有開哪些 Port,後面才可以再更精確地針對這些port做研究。

至於 -T4,是用來調整 Nmap 的掃描速度。

T0 最慢,T5 最快。因為這次是在 HTB 的練習環境,不需要像真實滲透測試一樣太在意掃描流量被偵測的問題,所以我就先選 T4T4的速度快,又還算穩定~

另外下指令時我沒有特別寫 -sS,是因為我前面使用了 sudo,在root的情況下,Nmap 預設就是使用 SYN Scan,也就是 -sS

所以雖然指令裡沒有寫 -sS,實際上還是會使用 SYN 封包來判斷 Port 的狀態。

簡單來說,就是「敲門」🚪

🟢 open:門開了

收到 SYN-ACK,代表這個 Port 有提供服務。

→ Nmap 顯示:open

🔴 closed:門是關的,但有回應

收到 RST,代表目標有回應,只是這個 Port 沒有提供服務。

→ Nmap 顯示:closed

filtered:門敲了,但不知道裡面有沒有提供服務

可能是防火牆或其他封包過濾機制把封包擋住,Nmap 沒辦法確認這個 Port 是開還是關。

→ Nmap 顯示:filtered

這三個是敲門後最常收到的回覆~
open = 有提供服務
closed = 有回應,但沒有提供服務
filtered = 被擋住,無法判斷
其中open對我們來說是最值得往下挖掘滴 (但open 只是代表這個 Port 有服務,不代表它一定有漏洞或一定可以被攻擊呦~~~

-oA lameallports 則是把掃描結果輸出成多種格式, lameallports 是我自己命的檔名,執行完後會產生像 lameallports.nmap、lameallports.gnmap、lameallports.xml 這些檔案。平常可以直接查看 .nmap 檔案,而 .gnmap 是專門設計成方便用 grep 指令快速篩選掃描結果,.xml 則方便其他工具進一步解析。

來掃描囉~~~

https://ithelp.ithome.com.tw/upload/images/20260917/201841897s2CKk9uN4.png

公布答案~~Lame開著的端口有:

21/tcp   open  ftp
22/tcp   open  ssh
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
3632/tcp open  distccd

有五扇門是開的。但我現在只知道「門是開的」,還不知道裡面在做什麼、版本是什麼。必須要繼續挖~~~👀


第三步:看清楚每個服務是什麼

sudo nmap 10.129.69.51 -sC -sV -p 21,22,139,445,3632 -oA lameportdetail

-sV:版本偵測。Nmap會去跟每個服務「對話」,試圖問出「你是什麼版本」。這很重要——同樣是FTP,版本2.3.4跟版本3.0可能差著一個致命漏洞。

-sC:跑預設腳本。Nmap內建了一堆針對特定服務的「自動調查問卷」。看到FTP就自動測試能不能匿名登入、看到SMB就抓共享資料夾清單、看到HTTP就抓網頁標題。這些腳本可以幫我們省掉很多手動測試的工。

注意這裡我沒有再加-p-,而是只掃-p 21,22,139,445,3632——就是剛才掃到開著的那五個ports。因為-sC -sV比單純的端口掃描慢很多(它要跟服務互動),所以先用-p-找出開著的端口,再針對這幾個端口深入,是比較有效率的做法。

https://ithelp.ithome.com.tw/upload/images/20260917/20184189x0G5BDtPYI.png
https://ithelp.ithome.com.tw/upload/images/20260917/20184189JyvttKDzIb.png
https://ithelp.ithome.com.tw/upload/images/20260917/20184189MlSvBjEWSS.png

這才是真正有用的資訊!!! 我現在不只知道哪些門開著,還知道每個門後面是什麼、版本多少。

怎麼讀這個結果:

欄位 意思
PORT 哪個端口號碼,後面tcp代表通訊協定
STATE 狀態(open代表有服務在跑)
SERVICE 這大概是什麼類型的服務
VERSION 服務的具體版本號

今天知道了什麼

對照Day 2說的滲透測試流程:我現在做完了「Information Gathering(情報蒐集)」的第一輪,也就是Service Enumeration(服務列舉)——搞清楚目標對外跑了哪些服務、各自是什麼版本。

下一步是「Vulnerability Assessment(弱點評估)」——拿這些版本號去查有沒有已知漏洞,思考可能的攻擊方向。但那是Day 5的事。

明天 Day 4 要做的是:

「既然知道這五個服務了,那每一個服務還能告訴我什麼?」

所以會開始針對 FTP、SMB 等服務做進一步的列舉,也會實際用到像 smbclientenum4linux-ng 等工具。

我們先不急著找漏洞~

先把服務摸清楚,再來想下一步!


今天的Takeout

原本以為掃描很簡單——打開攻擊機、下完 nmap,就可以收成結果哩~

看了 Academy 才發現,掃描也是有很多眉眉角角的xddd

為什麼不一開始就加-sC -sV -p-一次跑完?因為那樣會非常慢!!!一次要對65535個ports做版本偵測跟腳本測試,會跑超級久!!!

先用-p-快速找出哪些port是開的,再針對這幾個port做詳細偵測,
這樣可以節省超級多時間,也不用在那邊乾等掃描跑完 ><

今天的最後,來把掃描到的資訊先貼到SysReptor的notes,才不會明天或最後要寫報告忘記(就要重工了!!!喔不!!!

那我們明天見囉~~~



上一篇
Day 2 — 滲透測試的流程到底長什麼樣
下一篇
Day 4 — 掃到服務之後,我怎麼決定先挖哪個
系列文
《朝 HTB CPTS 前進:資安新手的 30 天實作筆記》9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言