Bu yazdığım python scripti hackleyip backdoor bıraktığınız websitelerini kontrol ederek backdoor'un aktif olup olmadığını kontrol eder.
Çoklu thread yapısı sayesinde işlemlerinizi çok hızlı yapabilirsiniz.
Küçük çapta projelerede bu konuyla birlikte son veriyorum bundan sonra daha geniş çapta projelere yöneleceğim, bu script 10 dk lık bir parmak antremanının eseridir, bazen elimde 1000-2000 adet webshell oluyor ve bunları tek tek kontrol etmek hem zaman alıcı hemde can sıkıcı olabiliyor.
İleri ki günlerde worpress ve diğer popüler site scriplerinin admin panelini crack edip backdoor upload edebilen ve bunları belirli günlerde denetleyip telegramda satışa sunan bir otomosyon yazacağım.
Çoklu thread yapısı sayesinde işlemlerinizi çok hızlı yapabilirsiniz.
Küçük çapta projelerede bu konuyla birlikte son veriyorum bundan sonra daha geniş çapta projelere yöneleceğim, bu script 10 dk lık bir parmak antremanının eseridir, bazen elimde 1000-2000 adet webshell oluyor ve bunları tek tek kontrol etmek hem zaman alıcı hemde can sıkıcı olabiliyor.
İleri ki günlerde worpress ve diğer popüler site scriplerinin admin panelini crack edip backdoor upload edebilen ve bunları belirli günlerde denetleyip telegramda satışa sunan bir otomosyon yazacağım.
Python:
import requests
import concurrent.futures
import os
import multiprocessing
MAX_WORKERS = min(10, multiprocessing.cpu_count() * 2) # Maksimum 10 thread veya CPU çekirdeğinin 2 katı
# Log yazma fonksiyonu
def logyaz(log_tahlili, icerik):
try:
dosya_adi = "valid.txt" if log_tahlili is True else "invalid.txt" if log_tahlili is False else "Error.txt"
with open(dosya_adi, "a+") as dosya:
dosya.write(icerik + "\n")
except Exception as error:
print(f"Log yazma hatası: {error}")
def check_website(url):
url = url.strip()
if not url.startswith("http"):
url = "http://" + url
try:
response = requests.get(url, timeout=5) # 5 saniye timeout ekledim
status_code = response.status_code
if status_code == 200:
print(f"[+] {url} erişilebilir. Durum kodu: {status_code}")
logyaz(True, url)
elif status_code == 403:
print(f"[-] {url} erişim engellendi. Durum kodu: {status_code}")
logyaz(False, url)
elif status_code == 404:
print(f"[-] {url} bulunamadı. Durum kodu: {status_code}")
logyaz(False, url)
elif status_code >= 500:
print(f"[!] {url} sunucu hatası. Durum kodu: {status_code}")
logyaz("Error", url)
else:
print(f"[?] {url} bilinmeyen hata. Durum kodu: {status_code}")
logyaz("Error", url)
except requests.exceptions.Timeout:
print(f"[!] {url} isteği zaman aşımına uğradı.")
logyaz("Error", f"Timeout: {url}")
except requests.exceptions.RequestException as e:
print(f"[!] {url} isteği başarısız. Hata: {e}")
logyaz("Error", f"{url} - {e}")
def main():
print("Listenin yolunu giriniz:")
liste_yolu = input().strip()
try:
with open(liste_yolu, "r") as dosya:
siteler = dosya.readlines()
with concurrent.futures.ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor:
executor.map(check_website, siteler)
except Exception as error:
logyaz("Error", str(error))
if __name__ == "__main__":
main()
