前言

大家可能对PPPOE不是很熟悉,但是肯定对拨号上网非常熟悉,拨号上网就是用的这种通信协议。一般PPPOE认证上网主要用于校园网或者小区网中,拨号界面如下图所示。

但是PPPOE这种通信协议,是有一些安全漏洞的。下面从三个方面讲解一下PPPOE的攻击方式,以及如何使用Python实现攻击工具。

 纯粹技术分享,切莫违反国家法律。

第一种方式:账号密码窃取

对于PPPOE认证上网的过程如下图所示,分为发现阶段和会话阶段,发现阶段分为PADI,PADO,PADR,PADS。

其中窃取账号密码的问题就出现在第一步PADI。PPPOE客户端进行连接时,在PADI阶段会发送一个广播包,寻找局域网中的PPPOE服务器,从而完成认证。

这时候我们需要做的是伪装成PPPOE服务器,回复请求信息,抢先和客户端通信,并强制客户端使用明文传输方式,从而获取账号和密码。下面我们通过wireshark抓一下数据包,更加直观的观察一下寻找PPPOE服务器的过程。点击宽带连接,使用Wireshark监听,会发现广播包,这时候pppoe服务器会进行回复。

 攻击场景:在本机电脑上开启PPPOE欺骗程序,开始进行监听,并在局域网中的其他电脑上进行宽带连接,观察欺骗效果。如下图所示,已经成功欺骗出了账号和密码。

窃取账号的部分代码内容如下

第二种方式:客户端断网攻击

拨号客户端(宽带连接)与 PPPOE服务器成功连接后,那服务器是如何表示客户端呢?通俗的说,服务器必须要知道客户端是哪一个,这样通信才不能错乱。PPPOE采用的是分配ID的方式,也就是给每个客户端随机分配一个int型的整数。通过wireshark抓包,我们可以清晰地看到ID的分配。

乍一听是没有问题,但是问题正在于ID的范围,为int类型。PPPOE服务器通过分配给客户端一个1-65535的值来唯一标识客户端。只要知道对方电脑MAC地址,循环发送65535个PADT断网包,即可以实现断网攻击,而对方电脑的MAC可以通过ARP请求获得。

什么是PADT断网包?通过wireshark抓包,咱们看一下断网包的内容。断开宽带连接,使用Wireshark监听,会发现PADT断网包,进行数据帧分析和模拟即可。

攻击场景:一台电脑运行断网程序,通过ARP请求获取对方电脑MAC地址,模拟PADT包,将另外一台电脑的宽带连接断掉。

断网攻击的部分代码内容如下

第三种方式:服务器DoS攻击

DoS攻击是针对PPPOE服务器的,其实原理很简单。现在基本上高级点的路由,对ARP洪水攻击都做了很好的防护,对大量的arp包进行了过滤,但是对PPPOE包却没有做防护,使大量的PPPOE包可以直达PPPOE服务器,从而打垮服务器,这样会导致大规模的断网。

Dos攻击的部分代码内容如下

最后 完整代码

Python实现的PPPOE攻击工具,使用了scapy包,可不要和爬虫框架scrapy混淆了。scapy是一款非常优秀的网络协议工具包,具有发包和收包的功能,非常强大。接下来我们会接着讲解这个scapy包,至于PPPOE攻击工具的完整代码,欢迎加入公众账号,查看原文。

Python实现PPPOE攻击工具的更多相关文章

  1. 火眼发布Windows攻击工具集

    导读 渗透测试员的喜讯:安全公司火眼发布Windows攻击工具集--足足包含140个程序. Kali Linux 已成为攻击型安全专家的标配工具,但对需要原生Windows功能的渗透测试员来说,维护良 ...

  2. 实用的DDos攻击工具

    来源: http://www.safecdn.cn/linux/2018/12/ddos/95.html ‎ 特别提示:仅用于攻防演练及教学测试用途,禁止非法使用 Hyenae 是在windows平台 ...

  3. 应用服务攻击工具clusterd

    应用服务攻击工具clusterd   clusterd是一款Python语言编写的开源应用服务攻击工具.该工具支持七种不同的应用服务平台,如JBoss.ColdFusion.WebLogic.Tomc ...

  4. DDOS 攻击工具

    DDOS  攻击工具 使用github上的DDOS攻击工具 https://github.com/Ha3MrX/DDos-Attack 将python脚本拷贝到主机,使用 chmod +x ddos- ...

  5. CC攻击工具list

    从论文里抠出来的工具列表如下,后面有黑产的工具以及网络上摘录的工具: 分类:(1)有僵尸网络(是否代理服务器)&没有的==>(2)单一url&混合url(多线程,压测为主,dem ...

  6. Kali Linux中前十名的Wifi攻击工具

    无 线网络的攻与防一直是比较热门的话题,由于无线信号可以被一定范围内的任何人接收到(包括死黑阔),这样就给WIFI带来了安全隐患:路由器生产厂商和网 络服务供应商(ISPs)的配置大多是默认开启了WP ...

  7. DDoS攻击工具

    DDoS攻击工具 综合性工具 综合性工具除了可以进行DDoS攻击外,还可用于其他的用途,例如:端口扫描.安全审计.防火墙等.实际上,大部分综合性工具开发的原始目的并不是用于DDoS,而是"网 ...

  8. Python的包管理工具Pip (zz )

    Python的包管理工具Pip 接触了Ruby,发现它有个包管理工具RubyGem很好用,并且有很完备的文档系统http://rdoc.info 发现Python下也有同样的工具,包括easy_ins ...

  9. DDoS攻防战(二):CC攻击工具实现与防御理论

    我们将要实现一个进行应用层DDoS攻击的工具,综合考虑,CC攻击方式是最佳选择,并用bash shell脚本来快速实现并验证这一工具,并在最后,讨论如何防御来自应用层的DDoS攻击. 第一步:获取大量 ...

随机推荐

  1. UNIX环境高级编程——system函数

    system函数 功能:调用fork产生子进程,由子进程来调用:/bin/sh -c command来执行参数command所代表的命令,阻塞当前进程直到command命 令执行完毕. int sys ...

  2. UNIX环境高级编程——文件I/O

    一.文件描述符 对于Linux而言,所有对设备或文件的操作都是通过文件描述符进行的.当打开或者创建一个文件的时候,内核向进程返回一个文件描述符(非负整数).后续对文件的操作只需通过该文件描述符,内核记 ...

  3. Struts Chain ClassCastException Aop

    我们知道struts的restult type 有很多,但主要就是四种 dispatch,rediret,chain,drdirectaction 要让数据从一个action传到另一个action,就 ...

  4. HTML入门笔记案例展示(1)

    一: html标签&html书写规则 Html 的标签 分为如下 这两种 : 单标签: 单标签一般 用于特殊的含义,  例如 :  <br/> 表示换行,  <hr/> ...

  5. 【Qt编程】基于Qt的词典开发系列--后序

    从去年八月份到现在,总算完成了词典的编写以及相关技术文档的编辑工作.从整个过程来说,文档的编写比程序的实现耗费的时间更多.基于Qt的词典开发系列文章,大致包含了在编写词典软件过程中遇到的技术重点与难点 ...

  6. Java之美[从菜鸟到高手演变]之设计模式四

    在阅读过程中有任何问题,请及时联系:egg. 邮箱:xtfggef@gmail.com 微博:http://weibo.com/xtfggef 转载请说明出处:http://blog.csdn.net ...

  7. Java进阶(五十一)Could not create the view: An unexpected exception was thrown

    Java进阶(五十一)Could not create the view: An unexpected exception was thrown 今天打开Myeclipse10的时候,发现server ...

  8. eclipse搭建ssh后台

    SSH框架是最常用的框架之一,在搭建SSH框架的时候总有人遇到这样,那样的问题.下面我介绍一下SSH框架搭建的全过程.  第一步:准备工作.    下载好eclipse,Struts2,Spring, ...

  9. Java学习笔记(二)事件监听器

    Java实现对组件事件(如单击.输入等)的监听和JavaScript类似,都是先添加Listener,再写触发函数,不同的是,Java实现监听前必须使用implements将各个接口添加到类内. 相关 ...

  10. .NET(C#)连接各类数据库代码-集锦

    1.C#连接连接Access 复制代码代码如下: using System.Data;   using System.Data.OleDb;   ..   string strConnection=& ...