网络侦察
交换式网络环境的监听:
(1)ARP欺骗(ARP spoofing):网关的MAC和IP地址与自己的地址绑定。
(2)在交换机上做端口镜像,把交换机上的数据拷贝到其他端口上。
口令猜测:
(1)字典攻击。(2)基于概率的口令猜测。概率大小决定测试先后次序。
拒绝服务攻击DoS(Denial of Service)
定义:
阻止或拒绝合法使用者存取网络服务器。
特点:
往往是针对TCP/IP协议中的某个弱点。从某种程度上,DoS攻击永远不会消失。(资源有限,但访问存取是无限的,跟承载能力有关)从技术上,没有根本的解决办法。一个解决思路:网络基础设施上溯源。
攻击模式:
(1)消耗资源:针对流量的攻击、消耗磁盘空间、消耗CPU(CPU 多核 开多线程 跑死循环)和内存资源(申请内存 malloc new 递归)。未及时free易造成内存泄露的问题。
PS:内存泄漏(Memory Leak):指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。
(2)破坏或更改配置信息。
(3)物理破坏或改变网络部件。防御:加强管理。
常见DoS攻击:
SYN Flooding:
利用TCP连接的常见服务端口攻击。
表现:短时间大量SYN包。
TCP连接的三次握手,存储接收到的数据,进行缓存,缓存充满使服务终止。连接请求超过超时的处理,即可最终充满。客户端利用假IP,不发送第三次响应包。
特点:
- 利用TCP/IP协议的薄弱环节进行攻击
- 利用较少数据流量就可
- 攻击来源无法定位
- 在服务端无法区分TCP连接请求的合法性.
应对:(1)优化系统配置(缓冲区扩大和超时时间减小)(2)优化路由器配置
Smurf攻击:
结合使用IP欺骗和ICMP回复的攻击。
Ping of Death攻击
Teardrop攻击
Land攻击:设置IP为127.0.0.1,向自己发响应包。
电子邮件轰炸:SMTP端口(25):早期未授权访问,发送地址可以自己设定。
目前为ESMTP服务。hello过程之后,会有自己邮件地址和口令的认证。
应对:配置路由器和防火墙,识别源头。
分布式拒绝服务攻击DDoS:
相比传统的DoS攻击:(1)网络资源的限制减小(2)隐蔽性高
DDoS的三级控制结构。客户端(Client)、中间机(Handler)和代理机(Agent)。
应对:
- 在数据流中搜寻特征字符串
- 利用数据包的某些特征
- 监视本地主机端口的使用
- 对通信数据量进行统计
缓冲区溢出攻击
缓冲区定义:
一段连续的存储空间。(堆或栈的空间)
1 | int i; |
三重含义:(1)在内存存储创建的位置(2)存储空间大小(3)数据存储格式。例如int与double不同。
缓冲区溢出定义:
指写入缓冲区的数据量超过了该缓冲区的最大限度,造成溢出数据改写了缓冲区相邻的原始数据。
缓冲区溢出危害:
- 实现任意执行代码
- 进行DoS攻击
- 破坏关键数据,使系统的稳定性和有效性受到影响
- 进行蠕虫攻击 Morris
缓冲区溢出的根本原因:
代码操作缓冲区时,没有对缓冲区边界检查,导致溢出数据改写缓冲区相邻单元的数据。
1 | while((*d++=*s++)!='\0'); //strcpy函数实现 |