服務枚舉

1.枚舉所有開放的埠口與對應的服務。
2.嘗試與這些服務互動,確認其版本資訊。
3.利用 searchsploit 快速查找對應版本的已知漏洞。
4.測試這些漏洞是否真的能被利用,但別花太多時間卡在兔子洞上。
5.如果漏洞利用成功,就繼續深入;如果失敗,就要重新思考漏洞的類型與利用方式是否正確。

  1. 枚舉所有開放的埠口與對應的服務。
  2. 嘗試與這些服務互動,確認其版本資訊。
  3. 利用 searchsploit 快速查找對應版本的已知漏洞。
  4. 測試這些漏洞是否真的能被利用,但別花太多時間卡在兔子洞上。
  5. 如果漏洞利用成功,就繼續深入;如果失敗,就要重新思考漏洞的類型與利用方式是否正確。

服務枚舉


Nmap 掃描指令整理與註解

# 掃描所有 TCP port,快速找出開放的 port,整理成逗號分隔字串
ports=$(nmap -p- --min-rate=1000 -T4  | grep ^[0-9] | cut -d '/' -f1 | tr '\n' ',' | sed s/,$//)

# 對所有開放的 port 進行進階掃描:預設腳本 + 版本偵測,並輸出到檔案
nmap -p$ports -sC -sV 10.10.10.184 | tee nmap/portsall.txt

# 高速 TCP + UDP 掃描,禁用重試,直接輸出到檔案
nmap --min-rate=2000 --max-retries=0 -sT -sU -4  -Pn > portscan

# 全 TCP 埠掃描 + 預設腳本 + 版本偵測,輸出為多格式檔案(.nmap, .gnmap, .xml)
nmap -p- -n -Pn -sC -sV --min-rate 2000 -oA nmap/portscan -v 

# 高速 TCP 全埠掃描,結果輸出到檔案
nmap -p- --min-rate 10000  | tee scans/nmap-alltcp.txt

# 漏洞掃描腳本執行於開放的埠口
nmap --script vuln -sV -p$ports -Pn  | tee nmap/vuln.txt

# 完整 UDP 掃描 + 版本偵測 + OS 指紋分析,輸出為多格式檔案
nmap -sU -sV -O -p- -Pn -vv -oA nmap/udp 

# 掃描前 10 大 UDP 常見端口 + 版本偵測
nmap -sU --top-ports 10 -sV -oA nmap/udp 

# 對 443 port 做詳細掃描:包含預設腳本與漏洞腳本
nmap -sV -A --script=default,vuln -p 443 

# 查找所有與 FTP 有關的 Nmap NSE 腳本
locate .nse | grep ftp


RustScan 快速掃描

# 批量掃描多個主機,過濾開放端口,送給 httpx 確認存活,再給 nuclei 掃描漏洞
rustscan -a 'hosts.txt' -r 1-65535 | grep Open | tee open_ports.txt | sed 's/Open //' | httpx -silent | nuclei -t ~/nuclei-templates/

Masscan 高速掃描

# 全 TCP + UDP 埠高速掃描(需指定介面,如 tun0)
masscan -p1-65535,U:1-65535  --rate=1000 -e tun0 | tee masscan.out

目錄枚舉


# 掃描目標網站目錄與檔案,支援遞迴、過濾403、支援 HTTPS
feroxbuster -u  -x html -w  -d 2 -o feroxbuster.txt -C 403 -k

# 基本掃描網站目錄
gobuster -u  -w  -t 80 -a Linux

# 掃描網站路徑並加入副檔名過濾
gobuster dir -k -u http://: -x "htm,html,asp,aspx,txt,php,jsp,js,cgi" \
-w /usr/share/seclists/Discovery/Web-Content/common.txt -e -l -s "200,204,301,302,307" -o gobusted

# 虛擬主機掃描(VHost Enumeration)
gobuster vhost -w ./SecLists/Discovery/DNS/subdomains-top1million-5000.txt -u 

# 子域名掃描
gobuster dns -w ./SecLists/Discovery/DNS/subdomains-top1million-5000.txt -d  -r 

# 對目標 IP 進行基本網站漏洞掃描
nikto -h 

# 指定目標與參數進行漏洞掃描,並儲存結果
nikto -host http://: -C all -maxtime=30s -o nikto.txt

# 掃描 WordPress 網站
wpscan -u 10.10.10.10/wp/

# 全面掃描 + 密碼爆破(需要 API Token)
wpscan --url  -v --detection-mode aggressive \
--enumerate ap,at,cb,dbe,u --api-token  --password-attack wp-login > wpscan

# 指定 wp-content 目錄進行掃描
wpscan --url  --wp-content-dir 10.11.1.251/wp/wp-content/ \
-v --enumerate ap,at,cb,dbe,u --password-attack wp-login > wpscan

# 掃描 WebDAV 弱點
davest 

# 掃描指定副檔名的目錄與檔案
dirsearch.py -u  -w  -e asp,aspx -o `pwd`/dirsearch.txt -r

# 掃描指定 URL 並使用 raft 字典
dirsearch -r -f http://: --extensions=htm,html,asp,aspx,txt,php,jsp,js,cgi \
-w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories-lowercase.txt \
--request-by-hostname -t 40 > dirsearch

CMS識別

# Droopescan:用於掃描 Drupal、Silverstripe、Joomla 等 CMS 的資訊
git clone https://github.com/SamJoan/droopescan.git

# Drupwn:專為 Drupal 枚舉而設計的工具
git clone https://github.com/immunIT/drupwn.git

登入爆破

hydra -l 'root@localhost' -P `pwd`/cewl_passlist.txt  \
http-post-form "/otrs/index.pl:Action=Login&RequestedURL=&Lang=en&TimeOffset=-120&User=^USER^&Password=^PASS^:F=Login failed"

DNS 枚舉

# 使用 nslookup 查詢 DNS
nslookup
server          # 設定 DNS 伺服器
1) localhost         # 預設
2) IP               # 嘗試內網 DNS
3) guess            # 猜測可能的 DNS 名稱


# 掃描整個子網段,進行 AXFR (zone transfer) 測試
dnsrecon -n  -r /24 -t axfr -d thinc.local


# 使用 nmap 嘗試 DNS 掃描
nmap -p 53 --dns-server  /24


# 執行 AXFR 區域傳送,並將結果存入檔案
dig axfr  @ > friendzone
dig axfr  @ >> friendzone

# 從結果中擷取有效域名,整理成唯一清單
cat friendzone | grep friendzone | grep IN | awk -F ' ' '{print $1}' | sed 's/\.$//g' | sort | uniq > hosts