巧用Tcpreplay讓攻擊流量瞞天過海 -電腦資料

電腦資料 時間:2019-01-01 我要投稿
【m.clearvueentertainment.com - 電腦資料】

    Tcpreplay是網(wǎng)絡安全中一種常用的工具,對于其報文重放的功能大家都非常清楚,但是對于其能夠在重放過程中改寫報文的內(nèi)容的功能應用卻不是很多,如果能夠熟練的應用Tcpreplay的報文改寫功能就有可能使攻擊者安全的規(guī)避的防火墻的檢測手段,

巧用Tcpreplay讓攻擊流量瞞天過海

。針對目前很多防火墻產(chǎn)品并不檢測報文的載荷,只是根據(jù)規(guī)則來阻止某個協(xié)議字段來達到防范的目的,這樣通過Tcprepaly就可以改寫敏感的報文字段,使其安全的通過防火墻的檢測。

    重寫二層頭

    從Client端發(fā)送攻擊流量到Server端,如果在Firewall上配置了策略,阻止了Client的MAC地址,Client端可以通過Tcprepaly將攻擊報文的源MAC地址重寫。具體使用如下:

    ./tcpreplay -i eth0 -k 00:02:02:03:04:05 /tmp/1.pcap

    參數(shù)-i用來指定發(fā)送的Primary接口,-k用來指定重寫源MAC地址。通過-k指定一個Firewall的可信MAC地址,攻擊流量就有可能瞞天過海。如果Firewall工作在transparent模式下,那么我們的攻擊流量需要重放,目的MAC則需要改為Server的MAC,我們則可以通過命令行

    ./tcpreplay -i eth0 -I 00:01:02:03:04 -k 00:02:02:03:02:07 /tmp/1.pcap

    亦即通過添加參數(shù)-I來重寫通過Primary端口流量的目的MAC。如果我們需要在Client的多個端口上將攻擊流量重放,那么我們則可以通過添加參數(shù)-j來指定Secondary接口,通過參數(shù)-J來重寫Secondary接口流量的目的MAC,通過參數(shù)-K來重寫Secondary端口的源MAC,具體應用如下:

    ./tcpreplay -j eth1 -J 00:01:02:03:04 -K 00:02:02:03:02:07 /tmp/1.pcap

    同樣,我們也可以綜合運用以上各個參數(shù)將同一個攻擊報文在Client的不同端口上以不同的目的MAC和源MAC發(fā)送,這樣亂拳出擊,可以充分考驗Firewall的應用,具體使用如下:

    ./tcpreplay -i eth0 -I 00:01:01:02:02:03 -k 00:02:02:04:04:05 -j eth1 -J 00:01:02:03:04 -K 00:02:02:03:02:07 /tmp/1.pcap

    重寫三層頭

    仍舊以上面的TOPO為例,如果Firewall上配置了策略阻止了特定的IP地址,Client端就可以通過Tcpreplay來重寫攻擊報文的源與目的IP,以此來規(guī)避Firewall的規(guī)則,達到其攻擊的效果,

電腦資料

巧用Tcpreplay讓攻擊流量瞞天過海》(http://m.clearvueentertainment.com)。具體的應用如下:

    ./tcpreplay -e 1.1.1.1:2.2.2.2 -i eth1 /tmp/2.pcap

    通過參數(shù)-e來具體的指定攻擊報文的源、目的IP,以此來修改成Firewall能夠允許通過的IP地址以此來達到攻擊的目的。這在修改三層頭中是最常用的一種方式。如果你獲得了一個pcap報文,你想把它重放給某人同時又不愿意暴露自己的IP地址,那么可以利用參數(shù)-s來隨機的選用IP地址,具體使用如下:

    ./tcpreplay -s 11 -i eth1 /tmp/2.pcap

    其中參數(shù)-s決定了你隨機選用的IP地址,不同的seed值會導致不用的pcap報文的IP地址。Tcprepaly在再深一點的應用是可以把報文的IP地址進行映射,類似于NAT的應用,可以將攻擊報文的IP地址映射到不用的網(wǎng)段,具體應用如下:

    ./tcpreplay -N 10.0.0.0/8:11.0.0.0/8 -i eth1 /tmp/2.pcap

    其中參數(shù)-N來指定需要映射的網(wǎng)段。

    重寫四層頭

    Tcprepaly可以修改二、三層頭來修改傳輸層面的信息,同樣也可以修改四層頭來修改session層面的信息,例如我們可以修改運行在8080端口上的HTTP的流量使其運行在80端口上,具體應用如下:

    ./tcpreplay -4 80:8080 -i eth1 /tmp/2.pcap

    我們通過參數(shù)-4來重新映射需要重放的報文的端口號。在修改報文頭的過程中面臨一個checksum的問題,因為許多網(wǎng)卡支持TCP/UDP/IP checksun的offloading,所以如果我們捕獲的流量是同一個系統(tǒng)產(chǎn)生的,則checksum就會是錯誤的,這在以后的重放中就會產(chǎn)生問題,所以我們需要通過參數(shù)-F來固定checksum,在重放的過程中編輯報文時不會改變checksum的值。具體應用如下:

    ./tcpreplay -4 80:8080 -i eth1 -F /tmp/2.pcap

    參數(shù)-F來固定checksum。

    小結(jié)

    靈活的運用tcpreplay的重寫功能,相信會在網(wǎng)絡的攻防檢測給大家?guī)砗艽蟮膸椭?/p>

最新文章