天天看點

網站精華滲透測試之嗅探流量抓包剖析

在浩瀚的網絡中安全問題是最普遍的需求,很多想要對網站進行滲透測試服務的,來想要保障網站的安全性防止被入侵被攻擊等問題,在此我們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
  • 逗号分割 www.baidu.com,www.zhihu.com
  • 分割線 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位址哄騙
  • -oN<filespec> 标準輸出
  • -oX<filespec> XML輸出
  • -oS<filespec> ScRipTKIdd|3oUTpuT
  • -oG<filespec> Grep輸出 -oA<basename> 輸出至所有格式
  • -v 資訊詳細程度
  • -d [level] debug level
  • --packet-trace 跟蹤發送和接收的封包
  • --iflist 列舉接口和路由
  • 在網站安全滲透測試中遇到的檢測方法以及繞過方法太多太多,而這些方法都是源于一個目的,就是為了確定網站或平台的安全性想要了解更多的安全檢測以及上線前的滲透測試評估可以咨詢專業的網站安全公司來達到測試需求

繼續閱讀