ARP
关键字:
使用tracert命令在任意一台受影响的主机上,在DOS命令窗口下运行如下命令:tracert61.135.179.148。假定设置的缺省网关为10.8.6.1,在跟踪一个外网地址时,第一跳却是10.8.6.186,那么,10.8.6.186就是病毒源。原理:中毒主机在受影响主机和网关之间,扮演了“中间人”的角色。所有本应该到达网关的数据包,由于错误的MAC地址,均被发到了中毒主机。此时,中毒主机越俎代庖,起了缺省网关的作用。 (如何找到.... )
原理:
一、ARP通讯协议过程
由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输、计算机是根据mac来识别一台机器。
区域网内A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输。如果未找到,则A广播一个ARP请求报文(携带主机B的IP地址),网上所有主机包括B都收到ARP请求,但只有主机B识别自己的IP地址,于是向A主机发回一个ARP响应报文。其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。接着使用这个MAC地址发送数据(由网卡附加MAC地址)。
二、一次完整的ARP欺骗
ARP 欺骗分为两种,一种是双向欺骗,一种是单向欺骗:
1.单向欺骗
A的地址为:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA
B的地址为:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB
C的地址为:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC
A和C之间进行通讯.但是此时B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A被欺骗了),这时B就伪装成C了。同时,B同样向C发送一个ARP应答,应答包中发送方IP地址四192.168.10.1(A的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(A的MAC地址本来应该是AA-AA-AA-AA-AA-AA),当C收到B伪造的ARP应答,也会更新本地ARP缓存(C也被欺骗了),这时B就伪装成了A。这样主机A和C都被主机B欺骗,A和C之间通讯的数据都经过了B。主机B完全可以知道他们之间说的什么:)。这就是典型的ARP欺骗过程。
掐断A 与 c的通讯,实现原理:b 向A 发送一条ARP 数据包,内容为:c的地址是00:00:00:00:00:00 (一个错误的地址),那么A 此后向c发的数据包都会发到00,而这个地址是错误的,所以通讯中断了,但是要注意了,这里只是A --> c 中断了,c --> A 没有中断,所以这个叫单向欺骗。
掐断c与A 的通讯,实现原理和第一条一样,如果和第一条一起发,那么A 和c 的通讯就完全中断了,即:A <-- ×--> c.
嗅探A 与c 的通讯,实现原理:b 向A 发送一条ARP 数据包,内容为:c的地址是AA:BB:CC:DD:EE:FF (b自己的地址),也就是说,b 对 A 说:我才是c,于是A 把向c发送的数据都发给b 了,b得到数据后就可以为所欲为了,可以直接丢弃,那么通讯中断,也可以再次转发给c,那么又形成回路,B当了个中间人,监视A 和c 的通讯.此时你就可以用CAIN等任何抓包工具进行本地嗅探了.
2.ARP双向欺骗原理
A要跟C正常通讯,B向A说我是才C。B向C说我才是A,那么这样的情况下把A跟C的ARP缓存表全部修改了。以后通讯过程就是 A把数据发送给B,B在发送给C,C把数据发送B,B在把数据给A。
攻击主机发送ARP应答包给被攻击主机和网关,它们分别修改其ARP缓存表为, 修改的全是攻击主机的MAC地址,这样它们之间数据都被攻击主机截获。
....
https://www.jb51.net/hack/377841.html
五、防护办法
1.最常用的方法就是做双绑定, 本地跟路由都做了绑定(注:mac地址绑定)
2.彩影ARP防火墙
六、黑客常用的突破 ARP 防火墙的嗅探技术
黑客常用的突破 ARP 防火墙的嗅探技术,流程如下:
破ARP 防火墙的原理,就是不停地发包到网关(每秒几十次),对网关说我是真的机器,避免其他机器冒充本机。(比如目标机器是A 你是B 你向网关说我是才A),由于你发的频率高,所以在很短的时间周期内,网关认为你是受害机器,So,目标机器的正常数据包就发过来啦。
DOS与DDOS
https://wenku.baidu.com/view/54a7df613968011ca30091ef.html
复制不来,以下是图片,先说明下原理。
trinoo
(下面来自老师的ppt!!!)
攻击守护进程NS是真正实施攻击的程序,它一般和攻击控制进程(MASTER)所在主机分离,在原始C文件ns.c编译的时候,需要加入可控制其执行的攻击控制进程MASTER所在主机IP, ns运行时,会首先向攻击控制进程(MASTER)所在主机的31335端口发送内容为HELLO的UDP包,标示它自身的存在,随后攻击守护进程即处于对端口27444的侦听状态,等待master攻击指令的到来。
攻击控制进程(MASTER)在收到攻击守护进程的HELLO包后,会在自己所在目录生成一个加密的名为...的可利用主机表文件,MASTER的启动是需要密码的,在正确输入默认密码gOrave后,MASTER即成功启动,它一方面侦听端口31335,等待攻击守护进程的HELLO包,另一方面侦听端口27665,等待客户端对其的连接。当客户端连接成功并发出指令时,MASTER所在主机将向攻击守护进程ns所在主机的27444端口传递指令。
客户端不是trinoo自带的一部分,可用标准的能提供TCP连接的程序,如TELNET,NETCAT等,连接MASTER所在主机的27665端口,输入默认密码betaalmostdone后,即完成了连接工作,进入攻击控制可操作的提示状态。
Nmap
-sS为TCP同步扫描,原理是源主机发送一个TCP同步包(SYN),然后等待目的主机的回应。如果对方返回SYN|ACK包,就表示该目标端口打开。Wireshark抓包可以看出
-sT扫描是调用系统函数connect()用来打开一个链接,所以耗时要比-sS要多。RTTVAR(往返延时变量)很大,应该网络拥塞引起的。从wireshark抓包看出
1 隐藏扫描 Stealth Scaning
2 端口扫描 Port Scanning -sT
3 UDP扫描 UDP Scaning -sU
3. UDP扫描(UDP Scanning)
UDP扫描是向目标主机的每个端口发送一个0字节的UDP包,如果收到端口不可到达的ICMP消息,端口就是关闭的。如wireshark抓包所示
3. UDP扫描(UDP Scanning)
后记
看了同学的参考文档,发现不用脑子的只有我们吧……
实验报告……别人都知道是在干什么,只有我们。。。ping通了开心啊这个为什么啊
不是实验报告上没写就代表不用做
不是所有的事情都有实验步骤的
(PPS:只是把课认真学完+javaee/web我其实也就够呛了因为效率低。。。)
。。。吧?