python编程伪造arp应答(python arp欺骗)

发布时间:2022-11-13

本文目录一览:

  1. 怎么伪装自己的MAC,避过arp攻击
  2. arp求救~~~~
  3. ARP攻击产生的原因是什么?

怎么伪装自己的MAC,避过arp攻击

协议欺骗攻击技术常见种类简析及防范 对付这种攻击最好的办法是配置好路由器,使它抛弃那些由外部网进来的却声称是内部主机的报文。 当然也有其他的:

IP欺骗攻击

IP欺骗技术就是通过伪造某台主机的IP地址骗取特权从而进行攻击的技术。许多应用程序认为如果数据包能够使其自身沿着路由到达目的地,而且应答包也可以回到源地,那么源IP地址一定是有效的,而这正是使源IP地址欺骗攻击成为可能的前提。 假设同一网段内有两台主机A、B,另一网段内有主机X。B 授予A某些特权。X 为获得与A相同的特权,所做欺骗攻击如下:首先,X冒充A,向主机 B发送一个带有随机序列号的SYN包。主机B响应,回送一个应答包给A,该应答号等于原序列号加1。然而,此时主机A已被主机X利用拒绝服务攻击 “淹没”了,导致主机A服务失效。结果,主机A将B发来的包丢弃。为了完成三次握手,X还需要向B回送一个应答包,其应答号等于B向A发送数据包的序列号加1。此时主机X 并不能检测到主机B的数据包(因为不在同一网段),只有利用TCP顺序号估算法来预测应答包的顺序号并将其发送给目标机B。如果猜测正确,B则认为收到的ACK是来自内部主机A。此时,X即获得了主机A在主机B上所享有的特权,并开始对这些服务实施攻击。 要防止源IP地址欺骗行为,可以采取以下措施来尽可能地保护系统免受这类攻击:

  • 抛弃基于地址的信任策略:阻止这类攻击的一种非常容易的办法就是放弃以地址为基础的验证。不允许r类远程调用命令的使用;删除.rhosts 文件;清空/etc/hosts.equiv 文件。这将迫使所有用户使用其它远程通信手段,如telnet、ssh、skey等等。
  • 使用加密方法:在包发送到网络上之前,我们可以对它进行加密。虽然加密过程要求适当改变目前的网络环境,但它将保证数据的完整性和真实性。
  • 进行包过滤:可以配置路由器使其能够拒绝网络外部与本网内具有相同IP地址的连接请求。而且,当包的IP地址不在本网内时,路由器不应该把本网主机的包发送出去。 有一点要注意,路由器虽然可以封锁试图到达内部网络的特定类型的包。但它们也是通过分析测试源地址来实现操作的。因此,它们仅能对声称是来自于内部网络的外来包进行过滤,若你的网络存在外部可信任主机,那么路由器将无法防止别人冒充这些主机进行IP欺骗。

ARP欺骗攻击

在局域网中,通信前必须通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)。ARP协议对网络安全具有重要的意义,但是当初ARP方式的设计没有考虑到过多的安全问题,给ARP留下很多的隐患,ARP欺骗就是其中一个例子。而ARP欺骗攻击就是利用该协议漏洞,通过伪造IP地址和MAC地址实现ARP欺骗的攻击技术。 我们假设有三台主机A,B,C位于同一个交换式局域网中,监听者处于主机A,而主机B,C正在通信。现在A希望能嗅探到B-C的数据,于是A就可以伪装成C对B做ARP欺骗——向B发送伪造的ARP应答包,应答包中IP地址为C的IP地址而MAC地址为A的MAC地址。这个应答包会刷新B的ARP缓存,让B认为A就是C,说详细点,就是让B认为C的IP地址映射到的MAC地址为主机A的MAC地址。这样,B想要发送给C的数据实际上却发送给了A,就达到了嗅探的目的。我们在嗅探到数据后,还必须将此数据转发给C,这样就可以保证B,C的通信不被中断。 以上就是基于ARP欺骗的嗅探基本原理,在这种嗅探方法中,嗅探者A实际上是插入到了B-C中,B的数据先发送给了A,然后再由A转发给C,其数据传输关系如下所示:

B-----A-----C
B----A------C

于是A就成功于截获到了它B发给C的数据。上面这就是一个简单的ARP欺骗的例子。 ARP欺骗攻击有两种可能,一种是对路由器ARP表的欺骗;另一种是对内网电脑ARP表的欺骗,当然也可能两种攻击同时进行。但不管怎么样,欺骗发送后,电脑和路由器之间发送的数据可能就被送到错误的MAC地址上。 防范ARP欺骗攻击可以采取如下措施:

  • 在客户端使用arp命令绑定网关的真实MAC地址命令
  • 在交换机上做端口与MAC地址的静态绑定。
  • 在路由器上做IP地址与MAC地址的静态绑定
  • 使用“ARP SERVER”按一定的时间间隔广播网段内所有主机的正确IP-MAC映射表。

DNS欺骗攻击

DNS欺骗即域名信息欺骗是最常见的DNS安全问题。当一个DNS服务器掉入陷阱,使用了来自一个恶意DNS服务器的错误信息,那么该DNS服务器就被欺骗了。DNS欺骗会使那些易受攻击的DNS服务器产生许多安全问题,例如:将用户引导到错误的互联网站点,或者发送一个电子邮件到一个未经授权的邮件服务器。网络攻击者通常通过以下几种方法进行DNS欺骗。

(1)缓存感染

黑客会熟练的使用DNS请求,将数据放入一个没有设防的DNS服务器的缓存当中。这些缓存信息会在客户进行DNS访问时返回给客户,从而将客户引导到入侵者所设置的运行木马的Web服务器或邮件服务器上,然后黑客从这些服务器上获取用户信息。

(2)DNS信息劫持

入侵者通过监听客户端和DNS服务器的对话,通过猜测服务器响应给客户端的DNS查询ID。每个DNS报文包括一个相关联的16位ID号,DNS服务器根据这个ID号获取请求源位置。黑客在DNS服务器之前将虚假的响应交给用户,从而欺骗客户端去访问恶意的网站。

(3)DNS重定向

攻击者能够将DNS名称查询重定向到恶意DNS服务器。这样攻击者可以获得DNS服务器的写权限。 防范DNS欺骗攻击可采取如下措施:

  • 直接用IP访问重要的服务,这样至少可以避开DNS欺骗攻击。但这需要你记住要访问的IP地址。
  • 加密所有对外的数据流,对服务器来说就是尽量使用SSH之类的有加密支持的协议,对一般用户应该用PGP之类的软件加密所有发到网络上的数据。这也并不是怎么容易的事情。

源路由欺骗攻击

通过指定路由,以假冒身份与其他主机进行合法通信或发送假报文,使受攻击主机出现错误动作,这就是源路由攻击。在通常情况下,信息包从起点到终点走过的路径是由位于此两点间的路由器决定的,数据包本身只知道去往何处,但不知道该如何去。源路由可使信息包的发送者将此数据包要经过的路径写在数据包里,使数据包循着一个对方不可预料的路径到达目的主机。下面仍以上述源IP欺骗中的例子给出这种攻击的形式: 主机A享有主机B的某些特权,主机X想冒充主机A从主机B(假设IP为aaa.bbb.ccc.ddd)获得某些服务。首先,攻击者修改距离X最近的路由器,使得到达此路由器且包含目的地址aaa.bbb.ccc.ddd的数据包以主机X所在的网络为目的地;然后,攻击者X利用IP欺骗向主机B发送源路由(指定最近的路由器)数据包。当B回送数据包时,就传送到被更改过的路由器。这就使一个入侵者可以假冒一个主机的名义通过一个特殊的路径来获得某些被保护数据。

arp求救~~~~

智能网全。流量大屏幕可以彻底解决这个问题 网址: 现有的一些针对ARP问题的工具软件,甚至有ARP防火墙等等。并没有从根本上解决ARP问题,因为它们在建立地址解析表时,还在使用ARP机制。所以在接收到一个ARP欺骗包时,这些小软件或ARP防火墙本身很可能就被欺骗了,就更谈不上解决ARP问题了。 智能网全™流量大屏幕产品采用全新的可靠机制,在全网内建立真实的地址解析表并分发到每一个被管理的网络节点。在网卡驱动层过滤每一个数据包,它不仅能够识别和禁止ARP欺骗,更能准确的定位哪个IP节点、进程和登录账号是ARP欺骗的源头。 参考资料:智能网全。ARP病毒的真正克星

一、ARP Spoofing攻击原理分析

在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞或者实现“man in the middle” 进行ARP重定向和嗅探攻击。 用伪造源MAC地址发送ARP响应包,对ARP高速缓存机制的攻击。 每个主机都用一个ARP高速缓存存放最近IP地址到MAC硬件地址之间的映射记录。MS Windows高速缓存中的每一条记录(条目)的生存时间一般为60秒,起始时间从被创建时开始算起。 默认情况下,ARP从缓存中读取IP-MAC条目,缓存中的IP-MAC条目是根据ARP响应包动态变化的。因此,只要网络上有ARP响应包发送到本机,即会更新ARP高速缓存中的IP-MAC条目。 攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。 ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和 MAC地址存储在ARP缓存中。因此,B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A可不知道被伪造了)。 当攻击源大量向局域网中发送虚假的ARP信息后,就会造成局域网中的机器ARP缓存的崩溃。 Switch上同样维护着一个动态的MAC缓存,它一般是这样,首先,交换机内部有一个对应的列表,交换机的端口对应MAC地址表Port n - Mac记录着每一个端口下面存在那些MAC地址,这个表开始是空的,交换机从来往数据帧中学习。因为MAC-PORT缓存表是动态更新的,那么让整个 Switch的端口表都改变,对Switch进行MAC地址欺骗的Flood,不断发送大量假MAC地址的数据包,Switch就更新MAC-PORT缓存,如果能通过这样的办法把以前正常的MAC和Port对应的关系破坏了,那么Switch就会进行泛洪发送给每一个端口,让Switch基本变成一个 HUB,向所有的端口发送数据包,要进行嗅探攻击的目的一样能够达到。也将造成Switch MAC-PORT缓存的崩溃,如下下面交换机中日志所示:

Internet 172.20.156.100 00b.cd85.a193 ARPA Vlan256
Internet 172.20.156.50 000b.cd85.a193 ARPA Vlan256
Internet 172.20.156.254 0000b.cd85.a193 ARPA Vlan256
Internet 172.20.156.53 0000b.cd85.a193 ARPA Vlan256
Internet 172.20.156.33 0000b.cd85.a193 ARPA Vlan256
Internet 172.20.156.13 0000b.cd85.a193 ARPA Vlan256
Internet 172.20.156.15 0000b.cd85.a193 ARPA Vlan256
Internet 172.20.156.14 0000b.cd85.a193 ARPA Vlan256

二、ARP病毒分析

当局域网内某台主机运行ARP欺骗的木马程序时,会欺骗局域网内所有主机和路由器,让所有上网的流量必须经过病毒主机。其他用户原来直接通过路由器上网现在转由通过病毒主机上网,切换的时候用户会断一次线。切换到病毒主机上网后,如果用户已经登陆了传奇服务器,那么病毒主机就会经常伪造断线的假像,那么用户就得重新登录传奇服务器,这样病毒主机就可以盗号了。 由于ARP欺骗的木马程序发作的时候会发出大量的数据包导致局域网通讯拥塞以及其自身处理能力的限制,用户会感觉上网速度越来越慢。当ARP欺骗的木马程序停止运行时,用户会恢复从路由器上网,切换过程中用户会再断一次线。 在路由器的“系统历史记录”中看到大量如下的信息:

MAC Chged 10.128.103.124
MAC Old 00:01:6c:36:d1:7f
MAC New 00:05:5d:60:c7:18

这个消息代表了用户的MAC地址发生了变化,在ARP欺骗木马开始运行的时候,局域网所有主机的MAC地址更新为病毒主机的MAC地址(即所有信息的MAC New地址都一致为病毒主机的MAC地址),同时在路由器的“用户统计”中看到所有用户的MAC地址信息都一样。 如果是在路由器的“系统历史记录”中看到大量MAC Old地址都一致,则说明局域网内曾经出现过ARP欺骗(ARP欺骗的木马程序停止运行时,主机在路由器上恢复其真实的MAC地址)。

BKDR_NPFECT.A病毒引起ARP欺骗之实测分析

Part1. 病毒现象

中毒机器在局域网中发送假的APR应答包进行APR欺骗, 造成其他客户机无法获得网关和其他客户机的网卡真实MAC地址,导致无法上网和正常的局域网通信.

Part2. 病毒原理分析:

病毒的组件

本文研究的病毒样本有三个组件构成:

  • %windows%\SYSTEM32\LOADHW.EXE (108,386 bytes) —— “病毒组件释放者”
  • %windows%\System32\drivers\npf.sys (119,808 bytes) —— “发ARP欺骗包的驱动程序”
  • %windows%\System32\msitinit.dll (39,952 bytes) —— “命令驱动程序发ARP欺骗包的控制者”
病毒运作基理:
  1. LOADHW.EXE 执行时会释放两个组件npf.sysmsitinit.dllLOADHW.EXE释放组件后即终止运行。

    注意: 病毒假冒成winPcap的驱动程序,并提供winPcap的功能。客户若原先装有winPcap, npf.sys将会被病毒文件覆盖掉。

  2. 随后msitinit.dllnpf.sys注册(并监视)为内核级驱动设备: "NetGroup Packet Filter Driver" msitinit.dll 还负责发送指令来操作驱动程序npf.sys (如发送APR欺骗包, 抓包, 过滤包等) 以下从病毒代码中提取得服务相关值:
    BinaryPathName = "system32\drivers\npf.sys"
    StartType = SERVICE_AUTO_START
    ServiceType= SERVICE_KERNEL_DRIVER
    DesiredAccess= SERVICE_ALL_ACCESS
    DisplayName = "NetGroup Packet Filter Driver"
    ServiceName = "Npf"
    
  3. npf.sys 负责监护msitinit.dll。并将LOADHW.EXE注册为自启动程序:
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce]
    dwMyTest = LOADHW.EXE
    

    注: 由于该项位于RunOnce下,该注册表启动项在每次执行后,即会被系统自动删除.

Part3. 反病毒应急响应解决方案

按以下顺序删除病毒组件

  1. 删除 “病毒组件释放者”
    %windows%\SYSTEM32\LOADHW.EXE
    
  2. 删除 “发ARP欺骗包的驱动程序” (兼 “病毒守护程序”)
    %windows%\System32\drivers\npf.sys
    
    a. 在设备管理器中, 单击“查看”--“显示隐藏的设备” b. 在设备树结构中,打开“非即插即用…” c. 找到“NetGroup Packet Filter Driver”,若没找到,请先刷新设备列表 d. 右键点击“NetGroup Packet Filter Driver”菜单,并选择“卸载”。 e. 重启windows系统 f. 删除%windows%\System32\drivers\npf.sys
  3. 删除 “命令驱动程序发ARP欺骗包的控制者”
    %windows%\System32\msitinit.dll
    
  4. 删除以下“病毒的假驱动程序”的注册表服务项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Npf
    

三、定位ARP攻击源头和防御方法

1.定位ARP攻击源头

主动定位方式:因为所有的ARP攻击源都会有其特征——网卡会处于混杂模式,可以通过ARPKiller这样的工具扫描网内有哪台机器的网卡是处于混杂模式的,从而判断这台机器有可能就是“元凶”。定位好机器后,再做病毒信息收集,提交给趋势科技做分析处理。

标注:网卡可以置于一种模式叫混杂模式(promiscuous),在这种模式下工作的网卡能够收到一切通过它的数据,而不管实际上数据的目的地址是不是它。这实际就是Sniffer工作的基本原理:让网卡接收一切它所能接收的数据。 被动定位方式:在局域网发生ARP攻击时,查看交换机的动态ARP表中的内容,确定攻击源的MAC地址;也可以在局域居于网中部署Sniffer工具,定位ARP攻击源的MAC。 也可以直接Ping网关IP,完成Ping后,用ARP –a查看网关IP对应的MAC地址,此MAC地址应该为欺骗的MAC。 使用NBTSCAN可以取到PC的真实IP地址、机器名和MAC地址,如果有“ARP攻击”在做怪,可以找到装有ARP攻击的PC的IP、机器名和MAC地址。 命令:

nbtscan -r 192.168.16.0/24

(搜索整个192.168.16.0/24网段, 即192.168.16.1-192.168.16.254);或

nbtscan 192.168.16.25-137

(搜索192.168.16.25-137 网段,即192.168.16.25-192.168.16.137) 输出结果第一列是IP地址,最后一列是MAC地址。

NBTSCAN的使用范例:

假设查找一台MAC地址为“000d870d585f”的病毒主机。

  1. 将压缩包中的nbtscan.execygwin1.dll解压缩放到c:\下。
  2. 在Windows开始—运行—打开,输入cmd(windows98输入“command”),在出现的DOS窗口中输入:
    C:\nbtscan -r 192.168.16.1/24
    
    (这里需要根据用户实际网段输入),回车。
  3. 通过查询IP--MAC对应表,查出“000d870d585f”的病毒主机的IP地址为“192.168.16.223”。 通过上述方法,我们就能够快速的找到病毒源,确认其MAC——〉机器名和IP地址。

2.防御方法

a. 使用可防御ARP攻击的三层交换机,绑定端口-MAC-IP,限制ARP流量,及时发现并自动阻断ARP攻击端口,合理划分VLAN,彻底阻止盗用IP、MAC地址,杜绝ARP的攻击。 b. 对于经常爆发病毒的网络,进行Internet访问控制,限制用户对网络的访问。此类ARP攻击程序一般都是从Internet下载到用户终端,如果能够加强用户上网的访问控制,就能极大的减少该问题的发生。 c. 在发生ARP攻击时,及时找到病毒攻击源头,并收集病毒信息,可以使用趋势科技的SIC2.0,同时收集可疑的病毒样本文件,一起提交到趋势科技的TrendLabs进行分析,TrendLabs将以最快的速度提供病毒码文件,从而可以进行ARP病毒的防御。

ARP攻击产生的原因是什么?

目前,ARP攻击和ARP病毒越来越影响网络的正常使用。在这里简单谈一谈ARP攻击的原理和防范方法。 ARP 是TCP/IP suite中的一个协议,它的作用是查询某主机或设备的48bit的MAC地址和查询某一MAC地址设备的IP地址(RARP)。 ARP包分和,ARP请求为广播包,ARP应答为单播包。ARP有个特点,就算没有ARP请求也可以利用ARP应答去更新其它机器的ARP CACHE内的记录。现在大多数的网络管理监控和病毒都是利用的这个特点。如网路岗、P2P终结者、MSN监控软件、QQ监控软件等。 过程如下:

  1. 软件或病毒先根据host的IP子网发ARP请求,记录子网内所有机器的IP和MAC。
  2. 发送伪造的ARP应答包到1中所有机器以更新他们的ARP记录。伪造的ARP应答包中目标方的IP和MAC地址为1中记录的相应的机器的地址,发送方的IP地址为子网的网关地址,MAC地址为的地址。而且通常安装了网络管理监控软件或病毒的host会以极小的间隔以轮训方式发送伪造的ARP应答包以确保ARP记录的更新。这会浪费大量的带宽,也会增加collision。
  3. 子网内的其它机器(除了中病毒或安装了网络管理监控软件的机器)上网时会发的包会先发送到病毒主机,然后病毒主机再转发到真正的网关。在次过程中病毒主机就可以监控、分析传送的内容了。