<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    如何使用Tcprepaly重放數據包!

    VSole2022-11-29 10:29:56

    聲明:本人堅決反對利用文章內容進行惡意攻擊行為,一切錯誤行為必將受到懲罰,綠色網絡需要靠我們共同維護,推薦大家在了解技術原理的前提下,更好的維護個人信息安全、企業安全、國家安全。

    Tcpreplay是一種pcap包的重放工具, 它可以將tcpdump和Ethereal/Wireshark等工具捕捉到的網絡流量包進行編輯修改和重放. 重寫Layer 2、3、4層數據包,并將流量重新發送至目標網絡, 這樣通過重放網絡流量包從而實現復現問題情景以定位bug。

    Tcpreplay是一個工具集合,包括:tcpprep(確認客戶端發給服務器的報文,還是服務器發給客戶端的報文)、tcprewrite(編輯報文)、tcpreplay(發送報文)。其中,tcpreplay是真正實現流量回放功能的工具,其他幾個工具可以看作tapreplay的輔助工具,作為流量重放前期的準備工作,比如tcpprep可以劃分哪些包是client的, 哪些是server的, client的包從一個網卡發, server的包可能從另一個網卡發。tcprewrite可以就是修改2層, 3層, 4層報文頭部,也就是對IP,MAC等信息進行修改。

    Tcpreplay安裝

    CentOS環境下直接,在線安裝執行下列命令即可:

    yum -y install tcpreplay
    

    Ubuntu環境下直接,在線安裝執行下列命令即可:

    sudo apt-get install tcpreplay
    

    查看安裝是否成功:

    tcpreplay -V
    

    查看幫助信息:

    -q, --quiet   #安靜模式 -a  #精確的時間(使用高速 cpu 發包) -d  #輸出調試信息(0-5,默認 0) -K, --preload-pcap   #發送前將數據包預加載到 RAM 中 -c  #雙網卡回放報文必選參數,后跟文件名 -C, --cachefile=str   #通過tcpprep緩存文件拆分流量 -N  #獲得網絡接口和出口 -2, --dualfile        #從網絡分路器一次重放兩個文件 -i, --intf1=str       #客戶端到服務器/RX/主要流量輸出接口,雙網卡回放報文必選參數,指定從接口 -I, --intf2=str       #服務器到客戶端/TX/二級流量輸出接口 --listnics            #列出可用的網絡接口并退出,雙網卡回放報文必選參數,指定主接口 -S  #制定包長度 -L, --limit=num       #限制發送的數據包數量      --duration=num   #限制發送的秒數,限制發包數量 -M, --mbps=str              以 Mbps(兆字節每秒)發送報文 -t, --topspeed              以最快的速度回放報文 -o, --oneatatime           用戶每輸入一次回放一個報文     --pps-multi=num        每個時間間隔發送的數據包數X     --unique-ip            每次循環迭代修改 IP 地址以生成唯一的流     --unique-ip-loops=str  在分配新的唯一 ip 之前循環的次數     --no-flow-stats        禁止打印和跟蹤流計數、速率和到期時間     --flow-expiry=num      將流視為過期之前處于非活動狀態的秒數 -r, --portmap=str          重寫 tcp/udp 端口 -s, --seed=num             根據給出的seed隨機改寫源/目的IPv4、IPv6 -N, --pnat=str             通過偽 NAT 重寫 ip 地址 -S, --srcipmap=str         使用偽 NAT 重寫源 IPv4/v6 地址 -D, --dstipmap=str            使用偽 NAT 重寫目標 IPv4/v6 地址 -e, --endpoints=str        在最后 2 個點之間重寫 ip 地址 -b, --skipbroadcast        不重寫廣播/多播 IP 地址 -C, --fixcsum              強制重新計算 TP/TCP/UDP 校驗和 -m, --mtu=num              覆蓋默認 MTU 長度(1500 字節)     --mtu-trunc            截斷大于指定 MTU 的數據包 -E, --efcs                 從幀尾刪除以太網校驗和 (FCS)     --ttl=str              修改 IPv4/v6 TTL/Hop 限制     --tos=num              設置 IPv4 TOS/DiffServ/ECN 字節     --tclass=num           設置 IPv6 流量類別字節     --flowlabel=num        設置 IPv6 流標簽 -F, --fixlen=str           填充或截斷數據包數據以匹配報頭長度     --fuzz-seed=num        Fuzz 1 in X packets.  Edit bytes, length, or emulate packet drop     --fuzz-factor=num      Set the Fuzz 1 in X packet ratio (default 1 in 8 packets)     --skipl2broadcast      跳過重寫廣播/多播第 2 層地址     --enet-dmac=str        覆蓋目標以太網 MAC 地址     --enet-smac=str        覆蓋源以太網 MAC 地址     --enet-subsmac=str     替換 MAC 地址     --enet-mac-seed=num    隨機化 MAC 地址     --enet-mac-seed-keep-bytes=num 隨機化 MAC 地址     --enet-vlan=str        指定以太網 802.1q VLAN 標記模式     --enet-vlan-tag=num    指定新的以太網 802.1q VLAN 標記值     --enet-vlan-cfi=num    指定以太網 802.1q VLAN CFI 值     --enet-vlan-pri=num    指定以太網 802.1q VLAN 優先級     --hdlc-control=num     指定 HDLC 控制值     --hdlc-address=num     指定HDLC地址     --user-dlt=num         設置輸出文件 DLT 類型     --user-dlink=str       用用戶指定的數據重寫數據鏈路層 -i, --infile=str           輸入待處理的pcap文件 -o, --outfile=str          輸出 pcap 文件 -c, --cachefile=str        通過 tcpprep 緩存文件拆分流量 -v, --verbose              通過 tcpdump 將解碼的數據包打印到 STDOUT -V, --version              Print version information 顯示版本號 -P, --pid                  啟動時打印tcpreplay的PID     --stats=num            每 X 秒打印一次統計信息,如果為“0”,則在每個循環中打印一次 ---------------------------------------------------------------------------------------- -T, --timer=str            選擇包定時模式:select、ioport、gtod、nano     --maxsleep=num         包與包之間相隔X毫秒 -v, --verbose              通過 tcpdump 將解碼的數據包打印到 STDOUT,可選參數,每發送一個報文都以 tcpdump 風格打印對應信息 ------------------------------------------------------------------------------------------ -l, --loop=num              循環遍歷捕獲文件 X 次 --loopdelay-ms=num          循環之間的延遲(以毫秒為單位) --pktlen                    覆蓋 snaplen 并使用實際的數據包 len,可選參數,指定循環次數 ----------------------------------------------------------------------------------------- -x, --multiplier=str         將重播速度修改為給定倍數 -p, --pps=str                指定每秒發送報文的個數 ------------------------------------------------------------------------------------------ -m  #可選參數,指定一個倍數值,比默認發送速度快多少倍發送報文 ------------------------------------------------------------------------------------------- -A, --decode=str           傳遞給 tcpdump 解碼器的參數     --skip-soft-errors     跳過寫入軟錯誤的數據包
    

    Tcpreplay典型案例

    本次案例使用Tcpreplay工具,重放具有攻擊特征的流量數據包,觸發IPS告警信息。操作過程如下所示:

    (1)查詢可用的網絡接口信息

    tcpreplay --listnics
    

    (2)抓取接口的流量數據包

    tcpreplay -i eth3 data.pcap
    

    (3)標記 client 和 server

    tcpprep -a client -i test.pcap -o test.cach
    

    (4)修改源目的ip和mac地址

    tcprewrite --endpoints=源ip地址:目的ip地址 --enet-dmac=上行目的mac地址,下行目的mac地址 --enet-smac=上行源mac地址,下行源mac地址 -i test.pcap -c test.cach -o test_result.pcap
    --endpoints: 重寫ip地址 源ip地址:目的ip地址--enet-dmac: 覆蓋目標以太網MAC地址 上行目的mac地址,下行目的mac地址--enet-smac: 覆蓋源以太網MAC地址 上行源mac地址,下行源mac地址-i: 客戶端到服務器/RX/主要流量輸出接口-c: 雙網卡回放報文必選參數,后跟文件名
    

    (5)從新生成cach文件

    tcpprep -a client -i test_result.pcap -o test_result.cach
    

    (6)tcpreplay回放報文

    tcpreplay -i eth3 -I eth5 -c test_result.cach test_result.pcap
    

    (7)在IPS底層抓取流量包,發現已經觸發IPS告警

    常見問題總結

    (1)如果回放報文出現了消息過長“Error whith PF_PACKET send() :Message to long”的錯誤,通常mtu的默認值為1500, 將網卡的mtu值改大,例如命令為:

    ip link set eth2 mtu 1520 ifconfig eth2 mtu 1520
    

    (2)如果重放報文報文發現報文時序錯亂問題,比如tcp三次握手信息錯亂等,通常是由于報文的時間間隔較短,再加上網絡環境等因素的影響造成報文到達時間不同。通常可以通過設置發包速率-p參數解決該問題:

    tcpreplay -i eth3 -I eth5 -p 1 -c test_result.cach test_result.pcap
    
    num重放攻擊
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    nmap -PN -sS -sV --script=vulscan –script-args vulscancorrelation=1 -p80 target. nmap -PN -sS -sV --script=all –script-args vulscancorrelation=1 target. NetCat,它的實際可運行的名字叫nc,應該早很就被提供,就象另一個沒有公開但是標準的Unix工具
    一. 信息搜集1. 子域名信息搜集2. 網站后臺管理頁面3. 未授權訪問4. index\info目錄信息泄
    談談業務邏輯漏洞 業務邏輯漏洞簡介 業務邏輯漏洞,是由于程序邏輯不嚴謹或邏輯太過復雜,導致一些邏輯分支不能正常處理或處理錯誤,這樣的漏洞統稱為業務邏輯漏洞。 簡單理解:就是編程人員的思維邏輯不夠嚴謹導致攻擊者有機可乘的漏洞 邏輯漏洞還是一種雖然沒有在owasp top10 提及到,但是往往會存在的漏洞。好像一名隱士,大隱隱于市,然而造成的破壞可能一點不比sql注入,xss等漏洞小。如下是邏
    好像一名隱士,大隱隱于市,然而造成的破壞可能一點不比sql注入,xss等漏洞小。點擊購買時,使用bp進行抓包,在數據包,將表示商品數量的num變量改為負數,然后forward這個數據包。
    在紅隊HW通過前期的打點獲得shell后通常下一步就是對內網進行橫向,獲得shell進想要行橫向的前提是我們必須有代理可以訪問內網的資產,這時候我們就需要通過拿到shell的那臺機器權限,在此臺機上傳代理工具進行配置搭建內網代理,目的達到內網出網的效果,使我們能夠進行下一步的內網橫向滲透。在hw經常用到的代理工具有很多,根據不同之需和個人不同的使用習慣選擇不同工具進行使用,本文主要對NPS這
    情景一 默認SSH密碼批量反彈shell 情景二 dump源碼 情景三 利用shell批量getflag 情景四 批量利用一句話木馬種植不死馬 最近工作很忙 今天抽空準備下AWD比賽得攻防工具和腳本 以下只是常用 希望下周不被吊錘~~ 后續整理后想抽空寫成一個攻擊框架匯總github~~ 這里從各種情景和需求去總結工具和腳本的使用
    最新提權漏洞原理深入分析
    跟隨P4nda大佬的博客復現了CVE-2018-17463,在一些大佬懶得講的地方加了一些理解和解釋,比較新手向。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类