網站安全漏洞測試對抓包嗅探埠講解

網站安全發表於2019-12-26

在浩瀚的網路中安全問題是最普遍的需求,很多想要對網站進行滲透測試服務的,來想要保障網站的安全性防止被入侵被攻擊等問題,在此我們Sine安全整理了下在滲透安全測試中抓包分析以及嗅探主機服務型別,以及埠掃描等識別應用服務,來綜合評估網站安全。

網站安全漏洞測試對抓包嗅探埠講解

8.2.1. TCPDump

TCPDump是一款資料包的抓取分析工具,可以將網路中傳送的資料包的完全截獲下來提供分析。它支援針對網路層、協議、主機、網路或埠的過濾,並提供邏輯語句來過濾包。

8.2.1.1. 命令列常用選項

  • -B <buffer_size> 抓取流量的緩衝區大小,若過小則可能丟包,單位為KB
  • -c <count> 抓取n個包後退出
  • -C <file_size> 當前記錄的包超過一定大小後,另起一個檔案記錄,單位為MB
  • -i <interface> 指定抓取網路卡經過的流量
  • -n 不轉換地址
  • -r <file> 讀取儲存的pcap檔案
  • -s <snaplen> 從每個報文中擷取snaplen位元組的資料,0為所有資料
  • -q 輸出簡略的協議相關資訊,輸出行都比較簡短。
  • -W <cnt> 寫滿cnt個檔案後就不再寫入
  • -w <file> 儲存流量至檔案
  • 按時間分包時,可使用strftime的格式命名,例如 %Y_%m_%d_%H_%M_%S.pcap
  • -G <seconds> 按時間分包
  • -v 產生詳細的輸出,-vv -vvv 會產生更詳細的輸出
  • -X 輸出報文頭和包的內容
  • -Z <user> 在寫檔案之前,轉換使用者

網站安全漏洞測試對抓包嗅探埠講解

8.2.2. Bro

Bro是一個開源的網路流量分析工具,支援多種協議,可實時或者離線分析流量。

8.2.2.1. 命令列

  • 實時監控 bro -i <interface> <list of script to load>
  • 分析本地流量 bro -r <pcapfile> <scripts...>
  • 分割解析流量後的日誌 bro-cut

8.2.2.2. 指令碼

為了能夠擴充套件和定製Bro的功能,Bro提供了一個事件驅動的指令碼語言。

8.2.3. tcpflow

tcpflow也是一個抓包工具,它的特點是以流為單位顯示資料內容,在分析HTTP等協議的資料時候,用tcpflow會更便捷。

8.2.3.1. 命令列常用選項

  • -b max_bytes 定義最大抓取流量
  • -e name 指定解析的scanner
  • -i interface 指定抓取介面
  • -o outputdir 指定輸出資料夾
  • -r file 讀取檔案
  • -R file 讀取檔案,但是隻讀取完整的檔案

8.2.4. tshark

WireShark的命令列工具,可以透過命令提取自己想要的資料,可以重定向到檔案,也可以結合上層語言來呼叫命令列,實現對資料的處理。

8.2.4.1. 輸入介面

  • -i <interface> 指定捕獲介面,預設是第一個非本地迴圈介面
  • -f <capture filter> 設定抓包過濾表示式,遵循libpcap過濾語法,這個選項在抓包的過程中過濾,如果是分析本地檔案則用不到
  • -s <snaplen> 設定快照長度,用來讀取完整的資料包,因為網路中傳輸有65535的限制,值0代表快照長度65535,預設為65535
  • -p 以非混合模式工作,即只關心和本機有關的流量
  • -B <buffer size> 設定緩衝區的大小,只對windows生效,預設是2M
  • -y <link type> 設定抓包的資料鏈路層協議,不設定則預設為 -L 找到的第一個協議
  • -D 列印介面的列表並退出
  • -L 列出本機支援的資料鏈路層協議,供-y引數使用。
  • -r <infile> 設定讀取本地檔案

8.2.4.2. 捕獲停止選項

  • -c <packet count> 捕獲n個包之後結束,預設捕獲無限個
  • -a <autostop cond>
  • duration:NUM 在num秒之後停止捕獲
  • filesize:NUM 在numKB之後停止捕獲
  • files:NUM 在捕獲num個檔案之後停止捕獲

8.2.4.3. 處理選項

  • -Y <display filter> 使用讀取過濾器的語法,在單次分析中可以代替 -R 選項
  • -n 禁止所有地址名字解析(預設為允許所有)
  • -N 啟用某一層的地址名字解析。m 代表MAC層, n 代表網路層, t 代表傳輸層, C 代表當前非同步DNS查詢。如果 -n 和 -N 引數同時存在, -n 將被忽略。如果 -n 和 -N 引數都不寫,則預設開啟所有地址名字解析。
  • -d 將指定的資料按有關協議解包輸出,如要將tcp 8888埠的流量按http解包,應該寫為 -d tcp.port==8888,http 。可用 tshark -d 列出所有支援的有效選擇器。

8.2.4.4. 輸出選項

  • -w <outfile> 設定raw資料的輸出檔案。不設定時為stdout
  • -F <output file type> 設定輸出的檔案格式,預設是 .pcapng,使用 tshark -F 可列出所有支援的輸出檔案型別
  • -V 增加細節輸出
  • -O <protocols> 只顯示此選項指定的協議的詳細資訊
  • -P 即使將解碼結果寫入檔案中,也列印包的概要資訊
  • -S <separator> 行分割符
  • -x 設定在解碼輸出結果中,每個packet後面以HEX dump的方式顯示具體資料
  • -T pdml|ps|text|fields|psml 設定解碼結果輸出的格式,預設為text
  • -e 如果 -T 選項指定, -e 用來指定輸出哪些欄位
  • -t a|ad|d|dd|e|r|u|ud 設定解碼結果的時間格式
  • -u s|hms 格式化輸出秒
  • -l 在輸出每個包之後flush標準輸出
  • -q 結合 -z 選項進行使用,來進行統計分析
  • -X <key>:<value> 擴充套件項,lua_script、read_format
  • -z 統計選項,具體的參考文件

8.2.4.5. 其他選項

  • -h 顯示命令列幫助
  • -v 顯示tshark的版本資訊

網路滲透測試嗅探

網站安全漏洞測試對抓包嗅探埠講解

8.3. 嗅探工具

8.3.1. Nmap

nmap [<掃描型別>...] [<選項>] {<掃描目標說明>}

8.3.1.1. 指定目標

  • CIDR風格 192.168.1.0/24
  • 逗號分割
  • 分割線 10.22-25.43.32
  • 來自檔案 -iL <inputfile>
  • 排除不需要的host --exclude <host1 [, host2] [, host3] ... > --excludefile <excludefile>

8.3.1.2. 主機發現

  • -sL List Scan - simply list targets to scan
  • -sn/-sP Ping Scan - disable port scan
  • -Pn Treat all hosts as online -- skip host discovery
  • -sS/sT/sA/sW/sM TCP SYN/Connect()/ACK/Window/Maimon scans
  • -sU UDP Scan
  • -sN/sF/sX TCP Null, FIN, and Xmas scans

8.2.1.3. 埠掃描

  • --scanflags 定製的TCP掃描
  • -P0 無ping
  • PS [port list] (TCP SYN ping) // need root on Unix
  • PA [port list] (TCP ACK ping)
  • PU [port list] (UDP ping)
  • PR (Arp ping)
  • p <port message>
  • F 快速掃描
  • r 不使用隨機順序掃描

8.2.1.4. 服務和版本探測

  • -sV 版本探測
  • --allports 不為版本探測排除任何埠
  • --version-intensity <intensity> 設定 版本掃描強度
  • --version-light 開啟輕量級模式 // 級別2
  • --version-all 嘗試每個探測 // 級別9
  • --version-trace 跟蹤版本掃描活動
  • -sR RPC 掃描

8.2.1.5. 作業系統掃描

  • -O 啟用作業系統檢測
  • --osscan-limit 針對指定的目標進行作業系統檢測
  • --osscan-guess
  • --fuzzy 推測作業系統檢測結果

8.2.1.6. 時間和效能

  • 調整並行掃描組的大小
  • --min-hostgroup<milliseconds>
  • --max-hostgroup<milliseconds>
  • 調整探測報文的並行度
  • --min-parallelism<milliseconds>
  • --max-parallelism<milliseconds>
  • 調整探測報文超時
  • --min_rtt_timeout <milliseconds>
  • --max-rtt-timeout <milliseconds>
  • --initial-rtt-timeout <milliseconds>
  • 放棄低速目標主機
  • --host-timeout<milliseconds>
  • 調整探測報文的時間間隔
  • --scan-delay<milliseconds>
  • --max_scan-delay<milliseconds>
  • 設定時間模板
  • -T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane>

8.2.1.7. 逃避滲透測試檢測相關

網站安全漏洞測試對抓包嗅探埠講解

mtu 使用指定的MTU

  • -D<decoy1[, decoy2][, ME], ...> 使用誘餌隱蔽掃描
  • -S<IP_Address> 源地址哄騙
  • -e <interface> 使用指定的介面
  • --source-port<portnumber>;-g<portnumber> 源埠哄騙
  • --data-length<number> 傳送報文時 附加隨機資料
  • --ttl <value> 設定ttl
  • --randomize-hosts 對目標主機的順序隨機排列
  • --spoof-mac<macaddress, prefix, orvendorname> MAC地址哄騙

8.2.1.8. 輸出

  • -oN<filespec> 標準輸出
  • -oX<filespec> XML輸出
  • -oS<filespec> ScRipTKIdd|3oUTpuT
  • -oG<filespec> Grep輸出 -oA<basename> 輸出至所有格式

8.2.1.9. 細節和除錯

  • -v 資訊詳細程度
  • -d [level] debug level
  • --packet-trace 跟蹤傳送和接收的報文
  • --iflist 列舉介面和路由
  • 在網站安全滲透測試中遇到的檢測方法以及繞過方法太多太多,而這些方法都是源於一個目的,就是為了確保網站或平臺的安全性想要了解更多的安全檢測以及上線前的滲透測試評估可以諮詢專業的網站安全公司來達到測試需求,國內推薦Sinesafe,綠盟,啟明星辰,深信服等等都是很不錯的安全大公司。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31542418/viewspace-2670650/,如需轉載,請註明出處,否則將追究法律責任。

相關文章