编程技术分享平台

网站首页 > 技术教程 正文

利用APR缓存攻击实例(arp高速缓存)

xnh888 2024-10-16 17:43:22 技术教程 34 ℃ 0 评论

本文章仅供交流学习使用,请勿做其他用途,否则后果自负。

1.攻击原理

  ARP欺骗就是中间人欺骗pc机,告诉pc机它是服务器。再欺骗服务器,告诉服务器它就是pc机。以致获取服务器与pc机的会话信息。

中间人欺骗服务器时,会给服务器发一个报文,发之前把报文中的源地址改成pc机的IP地址,但是mac地址还是它自己的,这时服务器收到报文后会查看arp缓存表,并更新arp缓存表。更新后的ARP缓存表里的数据是,中间人的mac地址对应pc机的IP地址。同理欺骗pc机。

2.拓扑图

3.步骤

1.开启路由转发功能

2.欺骗PC机

3.欺骗服务器

4.开始抓包

5.客户机登录FTP

6.抓包结果

4.攻击场景实战

首先,成功感染 nginx 的 DNS 缓存的要求是,攻击者需要知道:nginx 尝试解析的主机;知道配置nginx 所使用的解析器 。

此方案演示如何利用问题 ,使用下面的nginx.conf :

在 Windows 上运行Nginx.如果 Nginx 实例相对繁忙 (例如说每两次或更多次才能处理一个请求,以保持 nginx 每次在缓存项过期后不断解决后端名称问题),那么︰

1.攻击者可以看到后端的主机名,并且能看见1 小时之内的TTL 。

2.现在他可以确定,当启动 nginx 代理第一次请求 t = 0时,它会用txid = 41发出一个 DNS 查询等。这是因为,正如我刚才所解释的那样,在 Windows 中nginx 未能种子 PRNG,因此始终会生成相同的序列。

3.攻击者确定 nginx 什么时候会启动,也知道它会用哪个txid来发送下一个 DNS 查询。

4.攻击者等待后端的 IP 地址在nginx 的缓存中过期。例如这可能在 t = 100 h发生,那么攻击者就会知道 nginx 将使用随机值序列中第 101随机值由 rand () 返回。当它在缓存中过期时,nginx可能需要几百毫秒查询 8.8.8.8才能作出答复。在同一时间攻击者可以随机地将多个诈骗 DNS 回复与预测 txid 发送到不同的 UDP 端口,在这段时间里他能够发送 1000次诈骗答复。

5.第一次的中毒尝试将可能失败,因为 Windows 从一系列的 16384 端口 (49152 – 65535)中只选择一个源端口。所以如果他失败了,攻击者下次尝试会再从 nginx 的缓存过期后端的 IP 地址进行无限量的尝试。

6.Nginx 将然后代理攻击者服务器的所有请求,直到 TTL 过期。下一次感染尝试就会简单得多,因为此时攻击者已经知道哪一组端口是无效的。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表