Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
R00tS3c
GitHub Repository: R00tS3c/DDOS-RootSec
Path: blob/master/Networking/netmaster.py
5038 views
1
import subprocess, datetime, random, socket, time, sys, os, re
2
from multiprocessing import Process
3
import binascii
4
5
listnerOutputFile = 'listener.tmp'
6
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
7
os.system('clear')
8
transmits = 1
9
timeout = 4
10
11
try:
12
targetHost = sys.argv[1]
13
targetPort = int(sys.argv[2])
14
targetPayloadArg = bytes(' '.join(sys.argv[3:]), 'utf-8')
15
targetPayload = targetPayloadArg.decode('unicode-escape').encode('utf-8')
16
except:
17
print("Usage: python3 {0} <ip> <port> <payload>".format(sys.argv[0]))
18
print()
19
print("""Examples: - python3 {0} 1.1.1.1 123 '\\x17\\x00\\x03\\x2a\\x00\\x00\\x00\\x00'""")
20
print(""" - python3 {0} 1.1.1.1 37810 'y'""")
21
print()
22
print("NOTE: Please make sure you put quotes around your payload!")
23
print()
24
25
targetPayloadHex = str(binascii.hexlify(targetPayload)).strip("'b").upper()
26
payloadSize = len(targetPayload)
27
payloadSizeReal = 28 + len(targetPayload)
28
29
def printError(error):
30
print("Error: {0}".format(error))
31
exit(0)
32
33
def dataListener():
34
try:
35
server_address = ('0.0.0.0', listeningPort)
36
s.bind(server_address)
37
print("Listneing on port - {0}".format(listeningPort))
38
with open(listnerOutputFile, 'w', 1) as file:
39
while True:
40
data, address = s.recvfrom(8192)
41
file.write("{0},{1},{2}\n".format(address[0], address[1], len(data)))
42
except Exception as e:
43
printError("Failed binding to listening port")
44
45
def dataSender(line):
46
ip = re.findall(r'(?:\d{1,3}\.)+(?:\d{1,3})', line)
47
vector = ip[0]
48
if vector:
49
for _ in range(transmits):
50
s.sendto(targetPayload, (vector, targetPort))
51
if transmits > 1:
52
time.sleep(1 / transmits)
53
print("Sent payload - {0}:{1}".format(vector, targetPort))
54
time.sleep(.01)
55
56
def killListener():
57
try:
58
listener.kill()
59
except:
60
listener.terminate()
61
62
def cleanFiles():
63
fileList = listnerOutputFile
64
for file in fileList:
65
try:
66
os.remove(file)
67
except:
68
pass
69
70
#Random listening port
71
listeningPort = random.randint(1024, 65500)
72
73
#Starting UDP listener thread
74
listener = Process(target = dataListener)
75
listener.start()
76
time.sleep(1)
77
78
#Send data to target, sleep, then kill listener thread
79
dataSender(targetHost)
80
print('=========================================================')
81
for x in range(timeout):
82
timeLeft = timeout - x
83
print("Sleeping for {0} more seconds...".format(timeLeft), end="\r")
84
time.sleep(1)
85
print('\r ')
86
killListener()
87
88
ampData = []
89
packetCount = 0
90
sizeCount = 0
91
sizeCountReal = 0
92
with open(listnerOutputFile, 'r') as results:
93
for line in results.readlines():
94
ip, port, size = line.split(',')
95
if ip == targetHost:
96
packetCount += 1
97
sizeCountReal += (int(size) + 28)
98
sizeCount += int(size)
99
100
amplificationFactorReal = sizeCountReal // payloadSizeReal
101
amplificationFactor = sizeCount // payloadSize
102
print(" *** Vector results *** ")
103
print()
104
print('=========================================================')
105
print("Vector host: {0}".format(targetHost))
106
print("Vector port: {0}".format(targetPort))
107
print('=========================================================')
108
print("Payload: {0}".format(str(targetPayload)[2:][:-1]))
109
print("Payload (hex): {0}".format(targetPayloadHex))
110
print("Payload size: {0} bytes".format(payloadSize))
111
print("Payload size (real): {0} bytes".format(payloadSizeReal))
112
print('=========================================================')
113
print("Packets recieved: {0}".format(packetCount))
114
print("Data recieved: {0} bytes".format(sizeCount))
115
print("Data recieved (real): {0} bytes".format(sizeCountReal))
116
print('=========================================================')
117
print("Amplification: {0}x".format(amplificationFactor))
118
print("Amplification: 100 Mbit/s --> {0} Mbit/s".format(100 * amplificationFactor))
119
print('=========================================================')
120
print("Amplification (real): {0}x".format(amplificationFactorReal))
121
print("Amplification (real): 100 Mbit/s --> {0} Mbit/s".format(100 * amplificationFactorReal))
122
print('=========================================================')
123
print("Coded by @oParoxysm :)")
124
print()
125
126
#Cleaning garbage
127
cleanFiles()
128
129