昨天我們用 SSH 的 -L、-D、-R 成功透過跳板機,存取了原本連不到的內網服務。
但想像一下這個場景:我們用 Lab 2 的 -D 成功建立了 SOCKS Proxy,curl 也能順利連到內網 Web 了。
然後呢?我們其實還不知道內網裡有哪些其他服務!
這時候,第一個想到的可能就是用 nmap 掃一下,結果卻發現,不是所有工具都能像 curl 一樣,直接指定 SOCKS Proxy 來連線 QQ
那有沒有辦法讓原本不直接支援 SOCKS Proxy 的工具,也能透過這條隧道連線呢?
這就是今天要解決的第一個問題!
另外,當我們真的拿到 Shell 之後,也不能只顧著繼續找漏洞。
畢竟現在大家越來越重視漏洞修補,有些漏洞可能早就被補起來了,不一定每次都能順利找到可以利用的漏洞。
但系統裡可能還留著其他有用的憑證,像是設定檔、環境變數,或應用程式使用的帳密。
有時候,比起一直找新的漏洞,從系統裡挖掘既有的憑證,反而可能找到更有價值的突破口! 👀
所以今天就來研究兩件事:
那我們就開始吧!~
在昨天我們建Docker compose的資料夾,重新開終端機,下
docker compose up -d --build
docker compose up — 啟動 docker-compose.yml 裡定義的所有容器-d — detached,在背景跑,不會佔住你的終端機--build — 重新 build image(確保用最新的設定)
開另一個終端機:
ssh -D 1080 -p 2222 labuser@127.0.0.1
ssh:撥號本身,表示你要跟某個人建立連線labuser@127.0.0.1:我們要打給誰、打去哪。labuser 是帳號,127.0.0.1 看起來像是「打給自己」,但因為 Docker 已經把跳板機的 port 轉接到我們本機了,所以這其實就是打給「跳板機」這個朋友,只是接聽的地方剛好也在我們電腦上-p 2222:撥打的分機號碼。這個朋友(跳板機)的電話總機只接聽 2222 這支分機,不是打一般的 22(因為 Docker 把它轉接到 2222 了)輸入密碼 labpass
這樣我們電腦的 1080 port 就變成 SOCKS5 proxy 了。也就是說,我們本機的 1080 port,變成一個「代打窗口」—任何東西丟進 127.0.0.1:1080,都會被跳板機接手、幫我們連到它連得到的地方,再把結果帶回來給我們。
Proxychains 是 Linux 工具,Windows 上沒有,但我們裝 Docker 時已經裝了 WSL2(Windows Subsystem for Linux,也就是在 Windows 裡面塞一個 Linux,讓我們不用裝虛擬機就能跑 Linux 指令),我們直接來用xddd
開另一個終端,輸入:
wsl

就會進入 Linux 環境。
在 WSL 裡面:
sudo apt update && sudo apt install -y proxychains4
sudo — 用管理員權限執行apt update — 更新套件清單apt install -y proxychains4 — 安裝 proxychains4,-y 安裝中跳出的任何問題,都自動回答yes
出現 sudo: not found,求救一下AI發生了什麼事><
原來......Docker 自己的精簡版 Linux,沒有 sudo 也沒有 apt QQ
我們要另外裝一個完整的 Ubuntu WSL,才能安裝我們的Proxychains
裝 Ubuntu WSL
wsl --install -d Ubuntu
wsl --install — 安裝 WSL 發行版-d Ubuntu — 指定要裝的版本是 Ubuntu
設定user account後,會跳出讓我們設定密碼
設定完成後,會出現
在 Ubuntu WSL 裡面:
sudo apt update && sudo apt install -y proxychains4

安裝成功!
編輯設定檔:
sudo nano /etc/proxychains4.conf
sudo — 需要管理員權限才能改系統設定檔nano — Linux 內建的文字編輯器/etc/proxychains4.conf — Proxychains 的設定檔路徑
要改兩個地方:
1. 確認模式是 dynamic_chain
找到這幾行,確認 dynamic_chain 前面沒有 #,其他的要有 #:
dynamic_chain # ← 前面不要有 #
# strict_chain # ← 前面要有 #
dynamic_chain的意思是:依照設定的順序串接 Proxy,遇到無法使用的 Proxy 時,可以略過它,繼續嘗試建立連線。我們目前只有設定一個 Proxy,所以只要這個 Proxy 正常運作,dynamic_chain和strict_chain在這次實作中的效果就差不多。
2. 改最後面的 [ProxyList]
滑到最底部,把原本的內容改成:
[ProxyList]
socks5 127.0.0.1 1080
這行告訴 Proxychains:所有攔截到的流量,都送到
127.0.0.1:1080這個 SOCKS5 proxy(就是我們 SSH-D開的那個)。
改完按 Ctrl+O ,然後 Enter 存檔,再按 Ctrl+X 離開。
Proxychains 牽涉到好幾個步驟——裝軟體、改設定檔、還要確認 tunnel(隧道,就是前面用 ssh -D 建好的那條「幫我們轉送流量到內網」的通道)真的有打通)
如果一開始就直接拿一個完全陌生的內網去掃,一旦掃不到任何東西,會完全搞不清楚問題出在哪——是我們 Proxychains 設定錯了?還是 tunnel 根本沒接通?還是這個網段本來就沒東西?超級難除錯!
所以我們這會用已經知道答案的主機(internal-web)去測。這樣如果測得到,就代表 tunnel 跟 Proxychains 都沒問題;測不到,問題就一定出在這兩個環節上,不用再懷疑別的!讓我們可以搞定新手超難上手的proxychain設定!確定會設定後,未來就可以自己用他來掃內網有哪些主機、主機又有哪些服務><(我們今天的最後會看到!!!)
tunnel 沒接通 ≠ Proxychains 設定錯
指令 → Proxychains(負責攔截流量) → tunnel(負責把流量送過去) → 跳板機 → 內網目標
- Proxychains 設定錯:設定檔裡的位址、port 寫錯,或根本沒裝好。
- tunnel 沒接通:SSH 根本沒連上,或
-D開的那個窗口沒有正確監聽,流量找不到路送出去。
proxychains4 nmap -sT -Pn -p 80 internal-web
- Proxychains 只支援 TCP。所以 nmap 必須用
-sT(TCP Connect Scan),不能用預設的-sS(SYN Scan)-Pn是跳過 ping(ICMP),因為ICMP 走不了 SOCKS 協定![]()

internal-web 是 Docker 內部的 hostname,WSL 不認得。要用 IP 來連。
先在另一個終端(Windows PowerShell)查 internal-web 的 IP:
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' internal-web
docker inspect — 查看容器的詳細資訊-f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' — 只顯示 IPinternal-web — 容器名稱
internal-web 這個 hostname 是 Docker Compose 內的 DNS 幫我們解析的,只有同一個 Docker 網路裡的容器才查得到
為什麼 internal-web 連不到,換成 IP 就有機會連到?
internal-web(名字) |
172.18.0.2(IP) |
|
|---|---|---|
| 這是什麼 | 一個「別名」,要翻譯成 IP 才能用 | 網路層真正認得的座標 |
| 誰負責翻譯 | Docker Compose 自己架的內部 DNS | 不需要翻譯,直接用 |
| 誰查得到 | 只有「同一個 Docker 網路裡的容器」 | 只要在同一層網路上,誰都能試著連 |
| WSL 的狀況 | WSL 不是那個網路裡的容器,問了沒人回答 | 因為這次在 WSL 中執行 Proxychains 時,無法直接解析 Docker 內部的主機名稱 internal-web,所以改用該主機的 IP 172.18.0.2 進行連線測試 |
internal-web 連不到,不是因為「路不通」,是因為「沒人幫忙翻譯這個名字」

剛剛我們已經查到 internal-web 的 IP 是 172.18.0.2 了。現在回到 WSL 這邊,直接用這個 IP去跑 nmap 測試,看看能不能連得到
proxychains4 nmap -sT -Pn -p 80 172.18.0.2

跑了之後出現 timeout 和 need more proxies,流量根本沒走進隧道 QQ
127.0.0.1 ≠ Windows 的 127.0.0.1因為 WSL 是一個獨立的 Linux 系統,它有自己的網路。WSL 裡面的 127.0.0.1 是指 WSL 自己,不是 Windows。
但我們的 SSH 隧道(ssh -D 1080)是在 Windows 的 PowerShell 開的,SOCKS proxy 綁在 Windows 的 127.0.0.1:1080。WSL 要連到 Windows 上的東西,必須用 Windows 在 WSL 內部網路的 IP,就像兩台不同的電腦要互連,要用對方的 IP 才行。
怎麼查 Windows 的 IP?在 WSL 裡面:
cat /etc/resolv.conf | grep nameserver
cat /etc/resolv.conf — 印出 DNS 設定檔的內容| — pipe,把前面的輸出餵給後面的指令grep nameserver — 只留下包含 nameserver 的那一行(就是 Windows 的 IP)
這個 10.255.255.254 就是 Windows 在 Ubuntu WSL 網路裡的 IP
回去改 Proxychains 設定:
sudo nano /etc/proxychains4.conf
把 [ProxyList] 改成:
socks5 10.255.255.254 1080
大家的 IP 可能會不一樣,要用我們自己在Ubuntu WSL 網路裡查到的 Windows IP!

改完按 Ctrl+O ,然後 Enter 存檔,再按 Ctrl+X 離開。
回 WSL 跑:
proxychains4 nmap -sT -Pn -p 80 172.18.0.2

再跑一次⋯⋯還是 timeout 😭
127.0.0.1原來 ssh -D 1080 預設只綁在 Windows 的 127.0.0.1:1080,只有 Windows 自己能連,WSL 從外面連不進去。
解法:把 SSH 隧道改成監聽所有介面。回到 PowerShell,先 exit 斷掉原本的 SSH,重新連:
-D 1080 這個指令,完整寫法其實是 -D [監聽位址]:[port],只打 1080 時,監聽位址這格會自動補上 127.0.0.1。也就是說:
-D 1080 等於 -D 127.0.0.1:1080
這個「監聽位址」欄位,決定的是這個服務願意接受從哪裡來的連線,跟剛剛講的「127.0.0.1 代表我自己」是同一個位址,但這裡它扮演的角色不一樣:
127.0.0.1:只接受從我自己這台機器內部發出的連線—就算有其他機器(像 WSL)知道了 Windows 的真實 IP、敲對了門牌,Windows 這一端的 SSH 服務還是會檢查「這個連線是不是從我自己發出的?不是的話,不理。」0.0.0.0:不限制來源,這台機器上所有網路介面收到的連線,我都接受。回到 PowerShell,先把原本的 SSH 斷掉,下exit

然後重新連,加上 0.0.0.0:
ssh -D 0.0.0.0:1080 -p 2222 labuser@127.0.0.1

這樣 SSH tunnel 就會監聽所有介面,WSL 也連得到了。
然後回 WSL 再試一次:
proxychains4 nmap -sT -Pn -p 80 172.18.0.2

再試一次⋯⋯還是 timeout 😭😭QQQQQ
可能是 Windows 防火牆擋住了。在 PowerShell(用系統管理員開啟)加一條防火牆規則:
New-NetFirewallRule -DisplayName "SSH SOCKS Proxy" -Direction Inbound -LocalPort 1080 -Protocol TCP -Action Allow

然後回 WSL 再試一次:
proxychains4 nmap -sT -Pn -p 80 172.18.0.2
還是失敗
關加的防火牆規則
Remove-NetFirewallRule -DisplayName "SSH SOCKS Proxy"
與其跨 Windows 網路搞半天,不如把 SSH tunnel 也開在 WSL 裡面,所有東西都在同一個環境,就沒有跨網路的問題了:
ssh -D 1080 -p 2222 labuser@localhost -f -N
-D 1080 — 在 WSL 本機的 port 1080 開 SOCKS5 proxy-p 2222 — 連到目標的 port 2222labuser@localhost — 用 localhost 連到 Windows 上的 Docker 容器(WSL2 有 localhost 轉發功能)-f — 認證完成後自動跑到背景(不佔住終端機)-N — 不執行遠端指令,只建隧道(不開 shell)-N 的話 -f 會報錯:Cannot fork into background without a command to execute
那為什麼這次可以用 localhost 連到跳板機呢?
在我的 Docker Desktop/WSL2 環境中,因為 Docker 容器有發布 2222:22 Port,所以可以從 WSL 的 localhost:2222 連到跳板機。
不過,這是我目前實驗環境中的連線結果,不代表所有 Docker Desktop/WSL2 環境都一定能這樣連。實際的連線方式還是會受到 Docker Desktop、WSL 網路模式與 Port Publishing 等設定影響呦~
輸入密碼 labpass
然後把 Proxychains 設定改回 127.0.0.1(因為 tunnel 現在就在 WSL 本地了):
sudo nano /etc/proxychains4.conf
把最後一行改回:socks5 127.0.0.1 1080
在 WSL 裡跑:
proxychains4 nmap -sT -Pn -p 80 172.18.0.2

🎉🎉🎉 成功了!!!
看到80/tcp open http 代表 proxychains 透過 SOCKS proxy 成功掃到內網的 internal-web!
再用 curl 測試看看:
proxychains4 curl http://172.18.0.2
proxychains4 — 攔截後面程式的所有網路連線curl http://172.18.0.2:80 — curl 以為自己在直接連內網,但 Proxychains 偷偷把流量塞進 SOCKS5 proxy,經過 SSH 隧道,由跳板機轉送到內網跟昨天 Lab 2 的差別: 昨天我們要手動寫 curl -x socks5h://127.0.0.1:1080,現在只要前面加 proxychains4,curl 自己不用知道有 proxy 存在

看到 Welcome to Ngnix 成功了!
因為像 nmap 沒有 --proxy 參數,我們不可能寫 nmap -x socks5://...,但可以寫:
proxychains4 nmap -sT -Pn -p 80 172.18.0.2
到目前為止我們學了怎麼建隧道、怎麼讓工具走隧道(Proxychains),也能用 nmap 掃到內網有哪些服務了。
但拿下一台機器之後呢?內網裡不會只有一台機器,怎麼從這台跳到下一台?
這就要提到滲透測試裡很常聽到的一個詞:橫向移動(Lateral Movement)。
簡單說就是:用你在這台機器上找到的帳密或存取權限,去嘗試登入內網的其他機器。 從一個立足點慢慢擴散,一台接一台拿下來。
拿下跳板機 → 翻出密碼 → 用同一組密碼試隔壁的 DB server → 成功!
→ 再翻出更多密碼 → 試 Domain Controller → ...
所以關鍵問題變成:密碼從哪裡來?
這就是接下來要講的「憑證挖掘」— 拿到 shell 之後,系統上到底有哪些地方可能藏著密碼。
我們之前有整理過拿到機器 shell 之後的SOP,其中包含尋寶xddd(尋寶主要是要翻箱倒櫃找帳密、環境變數、API Key、私鑰等,為橫向移動做準備。這些機密資訊,理當被好好保護著,但事實上,管理員、開發者和使用者有時候會因為一些疏忽><不小心把它們遺留在機器上,讓我們有機會輕易找到他們xddd
所以說,不管我們拿到的是 root、www-data 還是一般使用者,都建議照著拿到Shell後的 SOP 走一輪~很有機會透過這個過程,找到提權或橫向移動的軌跡checklist翻一遍! 雖然說權限不同能看到的東西不一樣,但每個身分都可能藏著驚喜><
關於尋寶部分,今天還有整理了新工具!(Linux機器的尋寶新工具!)
| 寶物 | 怎麼找 | 為什麼要找 |
|---|---|---|
| 使用的指令紀錄 | cat ~/.bash_history |
不小心把密碼打在指令裡,像 mysql -u root -p'mypassword'(謝謝她!我們直接拿去用!xdd |
| SSH 私鑰 | ls -la ~/.ssh/ |
尋找id_rsa ,我們的寶,讓我們不用密碼就登入其他機器 |
| Web 設定檔 | cat /var/www/html/wp-config.php、grep -r "password" /etc/ --include="*.conf" |
資料庫帳密、API Key 有時候會不小心被明文存在設定檔,而且很多人會把一組密碼用在多個地方 |
| 環境變數 | env、find / -name ".env" 2>/dev/null |
API key、DB 連線字串常放在環境變數或 .env 檔裡 |
| 敏感資訊 | cat /etc/shadow(需要 root) |
/etc/shadow 通常保存本機帳號的密碼雜湊,而不是明文密碼。若取得讀取權限,攻擊者可能嘗試離線破解密碼雜湊,取得原本設定的密碼後,再評估是否能用於其他服務的登入 |
| 信件目錄 | ls /var/spool/mail/ |
系統通知信裡,有時候會有重設密碼連結或帳密資訊 |
| 大範圍搜尋 | grep -rli "password|passwd|credential|secret" /home/ /opt/ /var/ 2>/dev/null |
沒線索時,進行地毯式搜索!不能放過藏有秘密的角落 |
cat— 印出檔案內容ls -la— 列出所有檔案(-l詳細、-a包含隱藏檔)grep -r— 在目錄裡遞迴搜尋、--include="*.conf"— 只搜.conf結尾的檔案find / -name ".env"— 從根目錄找叫.env的檔案grep -rli—-r遞迴、-l只列檔名、-i不分大小寫\|— grep 裡的「或」,任一關鍵字出現就算中2>/dev/null— 把「Permission denied」之類的錯誤訊息丟掉,畫面才不會一堆紅字
找到密碼後,可進行「密碼重用」— 很多人在不同服務用同一組密碼,一組帳密可能可以破解好幾台機器!
把我們的新工具,也融入我們的拿到shell後的SOP(不斷完整我們的information gathering工具!)
今天的表定安排都完成啦!~
我們再回頭一起看一下:當我們已經可以透過跳板機存取內網時,要怎麼進一步了解內網有哪些主機,以及哪些 Port 正在開啟呢?
為了測試 Proxychains 的安裝、設定,以及 SSH Tunnel 是否正常運作,我們一開始先拿已經確定存在的 internal-web 做測試。
但在真實的滲透測試情境中,當我們取得跳板機的存取權限後,不會一開始就知道內網有一台叫 internal-web 的主機。
我們必須靠自己探測——這個網段裡有哪些 IP、哪些 Port 開啟、可能提供什麼服務,都需要一步一步挖掘出來,不會有人先把主機名稱告訴你!
現在 Proxychains 跟 SSH Tunnel 都比較熟悉了,而且時間還夠,回頭把這個「偷吃步」補起來~
假裝自己從頭就不知道 internal-web 存在,試著透過 Proxychains 和 SSH Tunnel 探測內網!
不能用猜的——既然假裝自己不知道 internal-web 存在,也不應該直接假設自己知道網段範圍。
真正該做的,是回到 Windows/PowerShell 這端,查一下 Docker Compose 幫我們建立的 Network 實際設定:
docker network ls

找到 Day 27 這個資料夾對應的網路,接著查它的細節:
docker network inspect <網路名稱>
[
{
"Name": "docker_lab-net",
"Id": "0242dae90acf9afdc134f0c1176f9aa0ab9e136d406edf7767c68e4b8a1d9712",
"Created": "2026-10-11T15:55:04.165467779Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv4": true,
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Options": {
"com.docker.network.enable_ipv4": "true",
"com.docker.network.enable_ipv6": "false"
},
"Labels": {
"com.docker.compose.config-hash": "0f95b6172ad6413b7411e8f0e1790a71c075c17fe82a6b48a2622aed9348f6a3",
"com.docker.compose.network": "lab-net",
"com.docker.compose.project": "docker",
"com.docker.compose.version": "5.5.1"
},
"Containers": {
"7faac24571ec33887ffbf259ab529b5398feca525dd070c78fcc5d8f425fa9cb": {
"Name": "internal-redis",
"EndpointID": "34b358a00de630f7244c7bb3c7a3f6f8aefb923d1f52b6849be33f9a789b6d41",
"MacAddress": "42:ca:47:bf:df:6c",
"IPv4Address": "172.18.0.3/16",
"IPv6Address": ""
},
"cd3b3121d39fac7d2fa11ad0457ba2d67a75eaf69f63bdf6aaa788f84143f736": {
"Name": "jump-server",
"EndpointID": "7ef1492372235fabacc7302adf9784858399b2ae57693f0cf28cc82c6411f633",
"MacAddress": "ea:de:d1:8a:28:b1",
"IPv4Address": "172.18.0.4/16",
"IPv6Address": ""
},
"ea94e859a98eaca859371506af4852566eaf46cb451596f3ff9feb775f06dc10": {
"Name": "internal-web",
"EndpointID": "b6471e42cae74137721468cbdc19264a28a2a8de2960c31473399cbf7c70b579",
"MacAddress": "62:a3:20:41:a6:0c",
"IPv4Address": "172.18.0.2/16",
"IPv6Address": ""
}
},
"Status": {
"IPAM": {
"Subnets": {
"172.18.0.0/16": {
"IPsInUse": 6,
"DynamicIPsAvailable": 65530
}
}
}
}
}
]
輸出裡找 IPAM → Config → Subnet 這個欄位:172.18.0.0/16,我們的網段範圍。
一般情況下,我們可能會先用 Nmap 的主機探索功能,確認哪些 IP 有回應,再針對存活的主機掃描 Port。
但這次我們是透過 SSH Dynamic Tunnel 搭配 Proxychains 進行測試。
Proxychains 使用 SOCKS Proxy 轉送 TCP 連線,不能直接把一般的 ICMP Ping 探測封包透過 SOCKS 隧道轉送。
因此,這次改用 -Pn,略過 Nmap 的主機探索階段,直接嘗試連線到指定的 TCP Port。
要注意的是,-Pn 並不是確認所有主機都存活,而是告訴 Nmap 不要先透過主機探索判斷目標是否在線。
接著還有另一個問題:掃描速度!
透過 Proxychains 的每個 TCP 連線,都需要經過 SOCKS Proxy 與 SSH Tunnel 轉送,通常會比直接掃描慢不少。
如果對整個 /16 網段進行全 Port 掃描,光是目標 IP 數量就可能達到數萬個,再乘上每個 IP 要測試的 Port 數量,等待時間會非常可觀。
所以這次先縮小掃描範圍,選擇一小段網段,並使用 Nmap 的 --top-ports 20 測試常見的 20 個 TCP Port:
proxychains4 nmap -sT -Pn --top-ports 20 172.18.0.0/29
/29 把範圍縮小,因為我們是小型lab,而且掃描上較有效率--top-ports 20 只測最常見的 20 個 port[proxychains] config file found: /etc/proxychains4.conf
[proxychains] preloading /usr/lib/x86_64-linux-gnu/libproxychains.so.4
[proxychains] DLL init: proxychains-ng 4.17
Starting Nmap 7.98 ( https://nmap.org ) at 2026-10-12 20:35 +0800
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:111 ... OK
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:111 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:111 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:111 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:111 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:111 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:993 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:993 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:993 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:993 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:1723 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:1723 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:1723 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:1723 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:3389 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:3389 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:3389 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:3389 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:21 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:21 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:21 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:21 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:8080 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:8080 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:8080 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:8080 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:443 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:443 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:443 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:443 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:445 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:445 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:445 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:445 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:3306 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:3306 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:3306 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:3306 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:23 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:23 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:23 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:23 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:111 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:111 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:111 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:111 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:111 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:993 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:5900 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:5900 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:5900 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:5900 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:80 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:80 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:80 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:80 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:135 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:135 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:135 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:135 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:995 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:995 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:995 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:995 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:25 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:25 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:25 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:25 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:22 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:22 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:22 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:22 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:110 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:110 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:110 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:110 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:139 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:139 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:139 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:139 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:53 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:53 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:53 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:53 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.3:143 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.4:143 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.5:143 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.0:143 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:111 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:1723 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:993 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:3389 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:1723 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:21 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:3389 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:8080 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:21 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:443 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:8080 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:445 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:443 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:3306 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:445 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:23 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:3306 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:111 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:5900 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:23 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:80 ... OK
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:5900 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:135 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:80 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:995 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:135 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:25 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:995 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:22 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:25 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:110 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:22 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:139 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:110 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:53 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:139 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.2:143 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:53 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.6:143 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:993 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:993 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:1723 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:1723 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:3389 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:3389 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:21 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:21 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:8080 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:8080 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:443 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:443 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:445 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:445 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:3306 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:3306 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:23 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:23 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:5900 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:111 ... OK
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:5900 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:80 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:80 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:135 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:135 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:995 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:995 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:25 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:25 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:22 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:22 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:110 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:110 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:139 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:139 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:53 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:53 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.7:143 <--socket error or timeout!
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... 172.18.0.1:143 <--socket error or timeout!
Nmap scan report for 172.18.0.0
Host is up (0.00s latency).
PORT STATE SERVICE
21/tcp closed ftp
22/tcp closed ssh
23/tcp closed telnet
25/tcp closed smtp
53/tcp closed domain
80/tcp closed http
110/tcp closed pop3
111/tcp closed rpcbind
135/tcp closed msrpc
139/tcp closed netbios-ssn
143/tcp closed imap
443/tcp closed https
445/tcp closed microsoft-ds
993/tcp closed imaps
995/tcp closed pop3s
1723/tcp closed pptp
3306/tcp closed mysql
3389/tcp closed ms-wbt-server
5900/tcp closed vnc
8080/tcp closed http-proxy
Nmap scan report for 172.18.0.1
Host is up (0.00s latency).
PORT STATE SERVICE
21/tcp closed ftp
22/tcp closed ssh
23/tcp closed telnet
25/tcp closed smtp
53/tcp closed domain
80/tcp closed http
110/tcp closed pop3
111/tcp open rpcbind
135/tcp closed msrpc
139/tcp closed netbios-ssn
143/tcp closed imap
443/tcp closed https
445/tcp closed microsoft-ds
993/tcp closed imaps
995/tcp closed pop3s
1723/tcp closed pptp
3306/tcp closed mysql
3389/tcp closed ms-wbt-server
5900/tcp closed vnc
8080/tcp closed http-proxy
Nmap scan report for 172.18.0.2
Host is up (0.00s latency).
PORT STATE SERVICE
21/tcp closed ftp
22/tcp closed ssh
23/tcp closed telnet
25/tcp closed smtp
53/tcp closed domain
80/tcp open http
110/tcp closed pop3
111/tcp closed rpcbind
135/tcp closed msrpc
139/tcp closed netbios-ssn
143/tcp closed imap
443/tcp closed https
445/tcp closed microsoft-ds
993/tcp closed imaps
995/tcp closed pop3s
1723/tcp closed pptp
3306/tcp closed mysql
3389/tcp closed ms-wbt-server
5900/tcp closed vnc
8080/tcp closed http-proxy
Nmap scan report for 172.18.0.3
Host is up (0.00s latency).
PORT STATE SERVICE
21/tcp closed ftp
22/tcp closed ssh
23/tcp closed telnet
25/tcp closed smtp
53/tcp closed domain
80/tcp closed http
110/tcp closed pop3
111/tcp closed rpcbind
135/tcp closed msrpc
139/tcp closed netbios-ssn
143/tcp closed imap
443/tcp closed https
445/tcp closed microsoft-ds
993/tcp closed imaps
995/tcp closed pop3s
1723/tcp closed pptp
3306/tcp closed mysql
3389/tcp closed ms-wbt-server
5900/tcp closed vnc
8080/tcp closed http-proxy
Nmap scan report for 172.18.0.4
Host is up (0.00s latency).
PORT STATE SERVICE
21/tcp closed ftp
22/tcp closed ssh
23/tcp closed telnet
25/tcp closed smtp
53/tcp closed domain
80/tcp closed http
110/tcp closed pop3
111/tcp closed rpcbind
135/tcp closed msrpc
139/tcp closed netbios-ssn
143/tcp closed imap
443/tcp closed https
445/tcp closed microsoft-ds
993/tcp closed imaps
995/tcp closed pop3s
1723/tcp closed pptp
3306/tcp closed mysql
3389/tcp closed ms-wbt-server
5900/tcp closed vnc
8080/tcp closed http-proxy
Nmap scan report for 172.18.0.5
Host is up (0.00s latency).
PORT STATE SERVICE
21/tcp closed ftp
22/tcp closed ssh
23/tcp closed telnet
25/tcp closed smtp
53/tcp closed domain
80/tcp closed http
110/tcp closed pop3
111/tcp closed rpcbind
135/tcp closed msrpc
139/tcp closed netbios-ssn
143/tcp closed imap
443/tcp closed https
445/tcp closed microsoft-ds
993/tcp closed imaps
995/tcp closed pop3s
1723/tcp closed pptp
3306/tcp closed mysql
3389/tcp closed ms-wbt-server
5900/tcp closed vnc
8080/tcp closed http-proxy
Nmap scan report for 172.18.0.6
Host is up (0.00s latency).
PORT STATE SERVICE
21/tcp closed ftp
22/tcp closed ssh
23/tcp closed telnet
25/tcp closed smtp
53/tcp closed domain
80/tcp closed http
110/tcp closed pop3
111/tcp closed rpcbind
135/tcp closed msrpc
139/tcp closed netbios-ssn
143/tcp closed imap
443/tcp closed https
445/tcp closed microsoft-ds
993/tcp closed imaps
995/tcp closed pop3s
1723/tcp closed pptp
3306/tcp closed mysql
3389/tcp closed ms-wbt-server
5900/tcp closed vnc
8080/tcp closed http-proxy
Nmap scan report for 172.18.0.7
Host is up (0.00s latency).
PORT STATE SERVICE
21/tcp closed ftp
22/tcp closed ssh
23/tcp closed telnet
25/tcp closed smtp
53/tcp closed domain
80/tcp closed http
110/tcp closed pop3
111/tcp closed rpcbind
135/tcp closed msrpc
139/tcp closed netbios-ssn
143/tcp closed imap
443/tcp closed https
445/tcp closed microsoft-ds
993/tcp closed imaps
995/tcp closed pop3s
1723/tcp closed pptp
3306/tcp closed mysql
3389/tcp closed ms-wbt-server
5900/tcp closed vnc
8080/tcp closed http-proxy
Nmap done: 8 IP addresses (8 hosts up) scanned in 254.03 seconds
我們使用 --top-ports 20 掃描這段網路,結果如下:
172.18.0.1:111/tcp 開啟,服務為 rpcbind
172.18.0.2:80/tcp 開啟,服務為 HTTP由於使用了 -Pn,Nmap 顯示的 Host is up不代表已經透過主機探索確認該 IP 有主機在線><
那 Redis 的 6379 為什麼沒有出現呢?
因為我們使用的 --top-ports 20 只會掃描 Nmap 認定最常見的 20 個 TCP Port,而 6379 不在這個清單裡。
所以,即使 Redis 正在 172.18.0.3:6379 提供服務,這次掃描也不會發現它!
接下來,我們就針對 Redis 常用的 6379 Port 再掃描一次,確認內網中是否有 Redis 服務。
要掃到 Redis,改成手動指定 port:
proxychains4 nmap -sT -Pn -p 6379 172.18.0.0/29

找到了!Redis 在 172.18.0.3:6379 open~~~
而這樣才是從「不知道內網有什麼,純粹靠SSH -D探測」的真實流程起點
今天最大的體悟:搞懂原理真的比盲目努力重要太多了!!!
Proxychains 踩坑那段就是最好的例子——如果早點搞懂整個環境的運作方式,直接把 SSH Tunnel 開在 WSL 裡面,早就完工哩 xddd~但也因為這次實際踩坑,讓我們對 Windows、WSL 和 Docker 容器之間的網路結構更有印象!
滲透測試也是一樣的道理:工具只是手段,理解原理,才能處變不驚! xddd 當工具不如預期、測試結果跟想像不一樣時,才能試著釐清問題出在哪裡,再判斷下一步該怎麼做 ><
而這也是我們一直在練習的事——從理解滲透測試的基本原理,到拿到機器後的資訊蒐集、漏洞評估與利用,一步一步累積實作經驗。
明天就是我們的限時綜合練習啦!!!不知道到時候會遇到什麼挑戰 xddd
那我們就明天見啦~