今天一早接到一个客户电话,说他有一个交换机下面的用户,大面积和上线下线。

由于之有已建议用户在主干换了普通VLAN交换机。所以这次出现问题概率较小,只在一条支路的交换机下面。

下面我对这个情况的发生做一下分析:

PPPoE认证分为两个阶段:

第一阶段:发现阶段

1.客户端以向FFFF-FFFF-FFFF广播发送PADI数据包寻找AC,即服务端

2.服务端回复一个PADO单播帧;

3.农牧民端回复一个PADR单播请求,期望进行会话

4.服务端回复一个PADS数据包,同意进行下一步协商(包中携带一个sessionid,作为用户的凭证之一)

第二阶断:会话阶段

双方使用PPP的LCP协议协商链路,NCP进行用户名密码检验,双方完成通讯。

在第一阶段pppoe会话重要依据就是双方的mac地址,在和sessionid

在用户下线的时候,用户会发送PADT数据包进行协商,断开会话连接

大家可以想象一下:病毒模拟发包的方式,向服务端发送PADT数据包?服务端以为是客户端请求下线,就会断开客户端,导致客户端掉线,多可怕的事啊。

具体数据包看附图

有人要问了,病毒没有客户端与服务端通讯的seddionid,如何断开?这个问题,我晚点再给大家解释,大家先看图

图上第一段是客户机正常下线的数据图片。

过程是客户端向服务端发送一个PADT,然后服务端收到PADT包,然后再回馈一个PADT包,客户端下线,这个过程服务端只收到一个PADT数据包的。

图上第三段是大面积掉线用户的数据图片。

大家仔细看,服务端收到两个PADT包,多了一个PADT?这要如何解释?

原因是病毒模拟客户端向服务端发送PADT,服务端回馈一个PADT,此时按理如果是由客户端自己主动发起的断开,他是不会再回馈一个PADT包的。

可是我们服务端确实是收到了两个PADT,这是因为第一个不是我们的客户端发送的(是病毒发送的),所以客户端以为是服务端主动断开,所以再回复一个PADT,才有上面的2个PADT包。

我仔细看了一下日志,大部分用户都是2个PADT的数据包,印证了这一点。

接下去,我向大家解释一下,为什么没有sessionid,病毒为什么能模仿发送数据包

发送PADT起码要知道客户端MAC和sessionid,我在抓包的时候发现:中毒的客户机,一秒钟发起5000多个ARP请求,而且是获取其他客户机MAC地址的ARP数据包。

这说明病毒一直在扫描内网的MAC,这个因为是二层通讯,这人以很简单可以获取的,而且在三层是禁止不了的。

接下去说一下sessionid吧

由于session是0xFFFF,也就是65536,网上有人说,病毒要断开一个客户端,要发送65536个数据包?

其实不然的,病毒没有这么傻吧?断开一个客户端,要这么麻烦,6万多个数据包,也得发送好一会儿。

病毒其实可以模拟一个pppoe认证过程的,自己就会获取一个sessionid,或者根本不需要,因为本身就是pppoe 上网的,直接获取。

大家都清楚,PPPOE的sessionid是累加的,这个看日志就知道了,所以病毒只要往他的MAC地址库里面取出来的地址(这个数量就很少了吧),然后发送session为当前sessionid的数值就可以了

想想,是不是太可怕了?

又有人要问了,这样之前上网的不就没事?确实是,但是你总要下线吧,下线后,你的sessionid就在病毒扫描范围内了,有甚者,全网扫描

有人要问了,这个要怎么防呢?其实这是二层通讯,除非你每个端口用VLAN隔离,才可以完全避免啊,

其实只要增加VLAN交换机使用,8口的才50多一个,以后还会更便宜,出了问题,影响的面积就不会是全网,不但有些用户不受影响,而且也好找

如果有遇到这个问题要咨询详细处理的,可以加我的Q561454825

由于PADT伪造攻击带来的大面积掉线原因分析的更多相关文章

  1. [转]Android WiFi 掉线原因分析

    看到一个比较详细的分析wifi断开的文章.收藏一下. 原文: http://blog.csdn.net/chi_wy/article/details/50963279 原因1 .从Log分析来看,这个 ...

  2. (28)django的中间件(自定义中间件和防范跨站请求伪造攻击)-重要的概念

    Django中间件和中间件不是同一种东西 什么是中间件:中间件是一个很大的概念,只要程序和程序之间还有一层程序,用来处理两个程序的整个交互过程的请求.数据等等就叫中间件 Django中间件:是介于re ...

  3. (22)Ajax的基本使用(实现登录功能和局部刷新以及防止跨站请求伪造攻击)

    Ajax的作用 前后端分离的项目,需要交互,就要通过Ajax来完成交互 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即 ...

  4. discuzX3.2 X3.4网站漏洞修复 SQL注入与请求伪造攻击利用与修复

    2018年12月9日,国内某安全组织,对discuz X3.2 X3.4版本的漏洞进行了公开,这次漏洞影响范围较大,具体漏洞是discuz 的用户前段SQL注入与请求伪造漏洞,也俗称SSRF漏洞,漏洞 ...

  5. 安全性测试入门 (三):CSRF 跨站请求伪造攻击和防御

    本篇继续对于安全性测试话题,结合DVWA进行研习. CSRF(Cross-site request forgery):跨站请求伪造 1. 跨站请求伪造攻击 CSRF则通过伪装成受信任用户的请求来利用受 ...

  6. XSS跨站脚本攻击与CSRF跨站请求伪造攻击的学习总结(转载)

    转载自 https://blog.csdn.net/baidu_24024601/article/details/51957270 之前就了解过这方面的知识,但是没有系统地总结.今天在这总结一下,也让 ...

  7. JWT伪造攻击

    JWT修改伪造攻击 什么是JWT? JSON Web Token(JSON Web令牌)是一种跨域验证身份的方案.JWT不加密传输的数据,但能够通过数字签名来验证数据未被篡改(但是做完下面的WebGo ...

  8. SpringSecurity原理解析以及CSRF跨站请求伪造攻击

    SpringSecurity SpringSecurity是一个基于Spring开发的非常强大的权限验证框架,其核心功能包括: 认证 (用户登录) 授权 (此用户能够做哪些事情) 攻击防护 (防止伪造 ...

  9. 教你轻松解决CSRF跨站请求伪造攻击

    摘要:CSRF(Cross-site request forgery)跨站请求伪造,通过伪装来自受信任用户的请求来利用受信任的网站.与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也 ...

随机推荐

  1. HP管理工具System Management Homepage安装配置

    如果用HP的启动光盘进行系统安装时,HP SMH 及相关组件会自动安装完成,但如果是用操作系统光盘进行系统安装,则HP SMH相关组件需要手动进行安装及相关设置!HP SMH由三部分组成:HP Sys ...

  2. sql server 与oracle 中字段类型的对应

    SqlServer 2k转换为Oracle 10g 列名 SqlServer数据类型 SqlServer长度 Oracle数据类型 column1 ) column2 ) column3 ) colu ...

  3. 通过Python的JIRA库操作JIRA

    [本文出自天外归云的博客园] 前提 需要安装jira库: pip install jira 编写脚本 例如,我想统计一下某一jira的备注里是否有如下信息,没有则给予提示: [产品需求文档地址]:ht ...

  4. pandas的连接函数concat()函数

        pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,   keys=None, levels=No ...

  5. SQL 分页 SQL SERVER 2008

    public IList<UserInfo> GetPageList(int pageSize, int pageIndex, out int totalItemCount) { var ...

  6. Writing your first Django

    Quick install guide 1.1   Install Python, it works with Python2.6, 2.7, 3.2, 3.3. All these version ...

  7. 华为路由器GRE配置

    1. 协议简介 gre(generic routing encapsulation,通用路由封装)协议是对某些网络层协议(如ip 和ipx)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议 ...

  8. IIS 日志分析

    查看哪个IP访问量大,访问了什么地址,大可以看到攻击者IP: select c-ip,count(c-ip) AS allcount,cs-uri-stem,cs-uri-query,cs(User- ...

  9. maven 从私仓库下载jar包

    pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w ...

  10. WebRTC网关服务器单端口方案实现

    标准WebRTC连接建立流程 这里描述的是Trickle ICE过程,并且省略了通话发起与接受的信令部分.流程如下: 1) WebRTC A通过Signal Server转发SDP OFFER到Web ...