Merhabalar Herkese Ben Reksy
ㅤ
ㅤ
Bu Python kodu, web sitelerinde admin giriş sayfalarını bulmak için kullanılan güçlü bir brute-force tarayıcısıdır. Admin panelini bulmak için çeşitli yolları kontrol eder ve bulduğu sonuçları bir dosyaya kaydeder. İşte kodun işleyişi ve admin panelini bulduktan sonra yapabileceğiniz detaylı işlemler:
ㅤAdmin Panelini Bulduktan Sonra Ne Yapılır?
ㅤㅤ
ㅤㅤ
- Güvenlik Açıklarını Tespit Etmek
Admin panelinin güvenliğini test ederek olası zayıflıkları tespit edebilirsiniz. Bu, sistem yöneticilerine güvenlik açıklarını rapor etme fırsatı sağlar ve sistemin daha güvenli hale gelmesine yardımcı olur.
ㅤ - Sistem Yönetimi ve Yapılandırma
Erişim sağladığınız admin paneli üzerinden sistem yönetimi ve yapılandırma işlemleri gerçekleştirebilirsiniz. Kullanıcı hesaplarını yönetmek, sistem ayarlarını yapılandırmak veya veri tabanını yönetmek gibi görevler bu aşamada yapılabilir.
ㅤ - Güvenlik Testleri ve Sızma Testleri
Sızma testleri, sistemlerin güvenliğini değerlendirmek için yapılan kapsamlı testlerdir. Bu testlerde kullanılan bazı yöntemler ve araçlar şunlardır:
ㅤ
- Brute Force Testleri: Parola tahminlerini otomatik olarak deneyerek sisteme erişim sağlamaya çalışır. Genellikle Hydra, John the Ripper, Burp Suite gibi araçlar kullanılır.
ㅤ - Zafiyet Tarama Araçları: Web uygulamalarında bilinen güvenlik açıklarını tespit etmek için kullanılır. Nessus, OpenVAS, Nikto gibi araçlar bu amaçla kullanılır.
ㅤ - SQL Enjeksiyonu (SQLi): SQL sorgularını manipüle ederek veritabanına yetkisiz erişim sağlama yöntemidir. sqlmap, Havij gibi araçlar bu tür testlerde kullanılır.
ㅤ - XSS (Cross-Site Scripting): Web uygulamalarına zararlı kod enjekte ederek kullanıcıların tarayıcılarında çalıştırılmasını sağlamak amacıyla yapılan testlerdir. OWASP ZAP, Burp Suite gibi araçlar kullanılır.
ㅤ - Güvenlik Açığı Analizi ve Raporlama: Bulunan açıkların analiz edilip, detaylı bir rapor hazırlanmasını içerir. Bu, sistem yöneticilerine açıkların kapatılması için gereken bilgileri sağlar.
ㅤ
- Brute Force Testleri: Parola tahminlerini otomatik olarak deneyerek sisteme erişim sağlamaya çalışır. Genellikle Hydra, John the Ripper, Burp Suite gibi araçlar kullanılır.
Kodun Detaylı Açıklaması
ㅤㅤ
1. Gerekli Kütüphaneler ve Yapılandırmalar
ㅤ
Python:
import requests
import random
import logging
import os
from tqdm import tqdm
- requests: HTTP istekleri yapmak için kullanılır. Web sitelerine GET istekleri göndermek için kullanacağız.
- random: Rastgele seçimler yapmak için kullanılır. Özellikle User-Agent başlıklarını rastgele seçmek için kullanıyoruz.
- logging: Hata ve bilgi mesajlarını kaydetmek için kullanılır. Bu sayede kodun çalışma sürecindeki önemli olayları kaydedebiliriz.
- os: Dosya ve dizin işlemleri yapmak için kullanılır. Çıktı dosyasının yolunu oluşturmak için kullanıyoruz.
- tqdm: İlerleme çubuğu oluşturmak için kullanılır. Tarama işlemi sırasında kullanıcıya ilerlemeyi göstermek için kullanıyoruz.
ㅤ
2. Logging Yapılandırması
ㅤ
Python:
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
- Bu satır, logging modülünü yapılandırır. INFO seviyesindeki loglar yazılır ve log mesajlarının zaman damgası, seviyesi ve mesajı içerir.
ㅤ
3. User-Agent Listesi
ㅤ
Python:
user_agents = [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4676.71 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36",
"Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.81 Mobile Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Firefox/79.0"
]
- User-Agent başlıkları, HTTP isteklerinde tarayıcının türünü belirtir. Farklı User-Agent başlıkları kullanarak web sitelerinin nasıl yanıt verdiğini test ederiz.
ㅤ
4. Geniş Admin Paths Listesi
ㅤ
Python:
admin_paths = [
"admin", "administrator", "admin1", "admin2", "admin_area", "admin_login",
"admin_console", "admin_home", "admin_panel", "admin_login", "cpanel", "controlpanel",
"adm", "admin/account", "admin/login", "admin/admin", "admin_area/admin",
"administrator_login", "webadmin", "controlpanel", "wp-admin", "admincontrol", "admin/account.asp",
"admin/account.html", "admin/index.html", "admin/index.asp", "admin/login.html",
"admin/admin.html", "admin_area/login.html", "admin_area/index.html",
"admin_login.asp", "admin_login.php", "admin_login.aspx", "admin_area/login.php",
"admin_area/login.aspx", "admin_area/login.asp", "admin_area/index.php", "admin_area/index.aspx",
"controlpanel/login", "cpanel/login", "cpanel/index", "adminarea", "adminsite",
"admin_site", "adminportal", "admin_portal", "admin_console", "admin_page", "admin_pages",
"administrator", "administrator_login", "administrator_area", "administrator_panel",
"admin_panel/login", "admin_panel/index", "paneladmin", "panel_admin", "wp-login", "admin_control",
"admin_access", "admin_secure", "admin_secure/login", "secureadmin", "secure_admin",
"secure_area/admin", "system_admin", "sysadmin", "sys_admin", "admintools", "admin_tools",
"admintool", "admin_tool", "backend", "backend/login", "backend/index", "manage", "management",
"management/login", "management/index", "admin_dashboard", "dashboard", "login", "user/login",
"users/login", "member/login", "members/login", "admincp", "admincp/login", "admincontrolpanel",
"admincontrolpanel/login", "adminpanel", "adminpanel/login", "administratorpanel", "administratorpanel/login",
"adminarea/login", "adminarea/index", "admincp/index", "admincontrolpanel/index", "adminpanel/index",
"administratorpanel/index", "adminsite/login", "adminsite/index"
]
- Bu liste, çeşitli admin giriş yollarını içerir. Web sitesindeki admin giriş sayfalarını bulmak için bu yolları deniyoruz.
ㅤ
5. Ayarlar
ㅤ
Python:
timeout = 10
retries = 3
- timeout: HTTP isteği için zaman aşımı süresi (saniye cinsinden). İstek yanıtı beklenirken geçecek süreyi belirtir.
- retries: Bir istekte hata alındığında yeniden deneme sayısı. Hata durumunda isteği belirli sayıda yeniden denemek için kullanılır.
ㅤ
6. try_admin_login Fonksiyonu
ㅤ
Python:
def try_admin_login(target_url, path):
url = f"{target_url.rstrip('/')}/{path}"
headers = {'User-Agent': random.choice(user_agents)}
for _ in range(retries):
try:
response = requests.get(url, headers=headers, timeout=timeout)
if response.status_code == 200:
return url
except requests.RequestException as e:
logging.warning(f"İstek hatası: {e}")
time.sleep(random.uniform(1, 3))
return None
- target_url.rstrip('/'): Hedef URL'nin sonundaki eğik çizgileri temizler, böylece URL'nin doğru biçimlendirilmesini sağlar.
- headers: Rastgele seçilen bir User-Agent başlığı içerir.
- requests.get(url, headers=headers, timeout=timeout): Belirli bir URL'ye GET isteği gönderir.
- response.status_code == 200: Yanıt kodu 200 (başarı) ise, bu URL'nin admin giriş sayfası olduğunu varsayar ve URL'yi döndürür.
- requests.RequestException: İstek sırasında herhangi bir hata oluşursa, hata mesajını loglar ve kısa bir süre bekler (1-3 saniye arası rastgele).
ㅤ
7. admin_login_bulucu Fonksiyonu
ㅤ
Python:
def admin_login_bulucu(target_url):
bulunan_yollar = []
for path in tqdm(admin_paths, desc="Admin yolları kontrol ediliyor", bar_format="{l_bar}{bar} {percentage:3.0f}%"):
result = try_admin_login(target_url, path)
if result:
bulunan_yollar.append(result)
logging.info(f"Admin login bulundu: {result}")
return bulunan_yollar
- tqdm(admin_paths, desc="Admin yolları kontrol ediliyor"): Admin yolları listesinde ilerlemeyi gösteren bir çubuk oluşturur.
- try_admin_login(target_url, path): Belirli bir yol için admin giriş sayfası olup olmadığını kontrol eder.
- bulunan_yollar.append(result): Bulunan admin giriş sayfası URL'sini listeye ekler.
- logging.info(f"Admin login bulundu: {result}"): Bulunan admin login URL'sini bilgi loguna yazar.
ㅤ
8. main Fonksiyonu
ㅤ
Python:
def main():
target_url = input("Hedef URL'yi girin: ").strip()
if not target_url:
print("Hata: Hedef URL gereklidir.")
return
# Masaüstü yolu al
desktop_path = os.path.join(os.path.expanduser("~"), "Desktop")
output_file = os.path.join(desktop_path, "admins.txt")
print(f"{target_url} adresinde admin login sayfaları taranıyor...")
bulunan_admin_logins = admin_login_bulucu(target_url)
if bulunan_admin_logins:
logging.info("Admin login sayfaları bulundu:")
with open(output_file, "w") as f:
for admin_login in bulunan_admin_logins:
logging.info(admin_login)
f.write(f"{admin_login}\n")
else:
logging.info("Admin login sayfası bulunamadı.")
- input("Hedef URL'yi girin: "): Kullanıcıdan taranacak hedef URL'yi alır.
- os.path.join(os.path.expanduser("~"), "Desktop"): Kullanıcının masaüstü dizininin yolunu alır.
- output_file: Çıktı dosyasının tam yolunu oluşturur.
- admin_login_bulucu(target_url): Belirli bir URL üzerindeki admin login sayfalarını tarar ve bulunanları döndürür.
- with open(output_file, "w") as f:: Çıktı dosyasını yazma modunda açar ve bulunan admin login URL'lerini dosyaya yazar.
ㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤBitiş / Dosyalar / Resimler
ㅤ
Kodumuzun sonuna geldik! Bu Python kodu, bir web sitesindeki yönetici giriş sayfalarını bulmak için tasarlanmış bir brute-force arayıcıdır Umarımki faydalı olabilmişimdir beğenen beğenmeyen herkese teşekkür ederim eksiklerimi ve önerilerinizi belirtirseniz çok sevinirim herkese iyi forumlar
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ
ㅤ
Github Linki

