linux dosya bulucu --python--

yuathay

Katılımcı Üye
7 Mar 2023
377
180
Gitti
Selamün Aleyküm
exploit konusu olarak acma nedenim sisteme sızdıktan sonra bi anlam ifade ediyor olmasıdır buda bir nevi exploit sayılır
bir sisteme sızdıktan sonra bu kodu bi şekilde çalıştırabilirsek belirttiğimiz dizinden itibaren var olan dosyalar içerikleri ile birlikte karşımıza düşecektir
israile karşı kullananacak olan herkesden Allah razı olsun

Python:
#kodu geliştirmek isteyenler için :
#cat yapılan yerlere chmod +r eklenebilir
#permission denied yazan yerleri okumaya yetkiniz yok diye kayıt edebiliriz PermissionError ile yapılabilir belki
#bazı dosyalarda UnicodeDecodeError: 'utf-8' codec can't decode byte 0xeb in position 1: invalid continuation byte hatası veriyor büyük ihtimalle hash'li dosyalar bunlar bunları gecmek icin try except blogları eklemeliyiz

import os
import subprocess

#NOT
#kodu sudo ile çalıştırmanız lazım normal kullanıcı ile çalıştırırsanız bazı dosyalarda permission denied hatası alabilirsiniz (normal dosyalarda sıkıntı olmaz)

print("1) kendim işlem yapmak istiyorum\n")
print("2) istedigim dosyaların hepsini belirteceğim dizine kayıt et\n")

while True:
    try:
        ilk_soru = int(input())
        subprocess.call("clear")
        break       
    except:
        pass
    
if ilk_soru == 1:
    bulunan_dizinlerin_yolu = []
    directory = []
    while True:
        try:
            başlangıç_dizini = str(input("hangi dizinden itibaren dosyaları çekmek istersiniz\n"))
            break
        except:
            print("bidaha yaz")
    def hepsi():
        def alt_dizinleri_bul(dizin):
            os.chdir(dizin)
            a = os.popen("ls -l").read().split("\n")
            b = os.popen("ls").read().split("\n")
            for i in range(len(a)):
                if i == 0:
                    pass
                else:
                    if a[i].startswith("d"):
                        directory.append(b[i-1])
        alt_dizinleri_bul(başlangıç_dizini)

        for i in directory:
            dizin = os.popen(f"find {başlangıç_dizini} -type d -name '{i}'").read()
            
            dizin = str(dizin).split("\n")[0]+"/"
            bulunan_dizinlerin_yolu.append(dizin)
            alt_dizinleri_bul(dizin)

    hepsi()
    döngü = 0
    while döngü < len(bulunan_dizinlerin_yolu):
        os.chdir(bulunan_dizinlerin_yolu[döngü])
        
        döngü += 1
        a = os.popen("ls -l").read()
        b = os.popen("ls").read()
        
        a = a.split("\n")
        b = b.split("\n")

        directory = []
        file = []

        for i in range(len(a)-2):
          
            if i == 0:
                pass
            else:
                if a[i].startswith("-"):
                    if not a[i]:
                        pass
                    else:
                        file.append(b[i-1])
        if not file:
            continue
        
        
        def oku():
            sözlük = {}
            sayı = 0
            print("*******************")
            print(bulunan_dizinlerin_yolu[döngü-1],"adlı dizindeki dosyalar")
            print("*******************")
            for r in file:
                print(f"{sayı}) {r}")
                sayı += 1
            print("*******************")
            
            print(f"{sayı}) çoklu değer girmek istiyorum")
            sayı += 1
            print(f"{sayı}) hepsini okumak istiyorum")
            print("*******************")
            
            while True:
                try:
                    girdi = int(input("hangi dosyayı okumak istersiniz\n"))
                    if girdi > sayı:
                        print("\n***mevcut bir sayı giriniz***\n")
                        continue
                    break
                except:
                    print("\n***sayı gir***\n")

            if girdi == sayı:
                subprocess.call("clear")
                try:
                    for y in file:
                        sözlük[y] = os.popen(f"cat '{y}'").read()
                        if not sözlük[y]:
                            continue
                        print("////////////")
                        print(f"{y} adlı dosyanın içeriği :")
                        print("////////////\n")
                        
                        print(sözlük[y])
                        print("\n******************\n")
                except:
                    pass
                print("*******************")
                
            elif girdi == sayı-1: #çoklu okumak
                print("değerleri boşluklu bir şekilde giriniz örneğin 1 4 17")
                while True:
                    coklu_değerler = input()
                    subprocess.call("clear")
                    print("**************")
                    for h in coklu_değerler.split(" "):
                        try:
                            if int(h) > sayı:
                                continue
                        except:
                            pass   
                        if str(h).isdigit():
                            while True:
                                try:
                                    index = file[int(h)]
                                    sözlük[index] = os.popen(f"cat '{index}'").read()
                                    break
                                except:
                                    print("geçerli bir değer girin")
                                    continue
                            if not sözlük[index]:
                                continue
                            print("////////////")
                            print(f"{index} adlı dosyanın içeriği :")
                            print("////////////\n")
                            print(sözlük[index])
                            print("\n**************\n")
                        else:
                            continue
                    break   

            else:#belirli bir sayıyı okumak
                okunacak_deger = file[girdi]
                try:
                    okunan_dosya = os.popen(f"cat '{okunacak_deger}'").read()
                    if not okunan_dosya.strip():
                        pass
                    else:
                        print(okunan_dosya)
                except:
                    pass #NOT OS POPEN YERLERİ TRY İCİNDE YAZ PERMİSSİON DENİED GİBİ HATALARDA PASS DE VE OKUNAMAYAN DOSYALAR DİYE KAYIT ET
                print("*******************")
                
        oku()

elif ilk_soru == 2:
    kayıt = str(input("dosyaları kayıt etmek için dizin oluşturucaz dizin yolu ve adını giriniz örn: /home/kullanici/Desktop/dosya/\n"))
    başlangıç_dizini = str(input("hangi dizinden itibaren dosyaları çekmek istersiniz\n"))

    bulunan_dizinlerin_yolu = []
    directory = []
    degerler = []
    adlar = []

    os.mkdir(kayıt)
    os.chdir(kayıt)
    oluşturulan_dizin_yolu = os.popen("pwd").read()

    def alt_dizinleri_bul(dizin):
        os.chdir(dizin)
        a = os.popen("ls -l").read().split("\n")
        b = os.popen("ls").read().split("\n")
        for i in range(len(a)):
            if i == 0:
                pass
            else:
                if a[i].startswith("d"):
                    directory.append(b[i-1])
    alt_dizinleri_bul(başlangıç_dizini)

    for i in directory:
        dizin = os.popen(f"find {başlangıç_dizini} -type d -name '{i}'").read()
        
        dizin = str(dizin).split("\n")[0]+"/"
        bulunan_dizinlerin_yolu.append(dizin)
        alt_dizinleri_bul(dizin)


    döngü = 0
    while döngü < len(bulunan_dizinlerin_yolu):
        os.chdir(bulunan_dizinlerin_yolu[döngü])
        döngü += 1
        a = os.popen("ls -l").read()
        b = os.popen("ls").read()
        
        a = a.split("\n")
        b = b.split("\n")

        directory = []
        file = []

        for i in range(len(a)-2):
            if i == 0:
                pass
            else:
                if a[i].startswith("-"):
                    if not a[i]:
                        pass
                    else:
                        file.append(b[i-1])
        if not file:
            continue

        def oku():
            try:
                for y in range(len(file)):
                    try:
                        os.mkdir(kayıt)
                    except:
                        pass
                    içerik = os.popen(f"cat '{file[y]}'").read()
                    if not içerik:
                        continue
                    else:
                        adlar.append(file[y])
                        degerler.append(os.popen(f"cat '{file[y]}'").read())
            except:
                pass

        oku()

    if kayıt.endswith == "/":
        pass
    else:
        kayıt = kayıt+"/"

    for i in range(len(degerler)):
        with open(f"{kayıt}örnek+{adlar[i]}","w") as dosya:
            dosya.write(degerler[i])

else:
    print("geçerli bir sayı gir")
 

Admiralduss

Yeni üye
1 Ağu 2021
29
11
Ankara
Selamün Aleyküm
exploit konusu olarak acma nedenim sisteme sızdıktan sonra bi anlam ifade ediyor olmasıdır buda bir nevi exploit sayılır
bir sisteme sızdıktan sonra bu kodu bi şekilde çalıştırabilirsek belirttiğimiz dizinden itibaren var olan dosyalar içerikleri ile birlikte karşımıza düşecektir
israile karşı kullananacak olan herkesden Allah razı olsun

Python:
#kodu geliştirmek isteyenler için :
#cat yapılan yerlere chmod +r eklenebilir
#permission denied yazan yerleri okumaya yetkiniz yok diye kayıt edebiliriz PermissionError ile yapılabilir belki
#bazı dosyalarda UnicodeDecodeError: 'utf-8' codec can't decode byte 0xeb in position 1: invalid continuation byte hatası veriyor büyük ihtimalle hash'li dosyalar bunlar bunları gecmek icin try except blogları eklemeliyiz

import os
import subprocess

#NOT
#kodu sudo ile çalıştırmanız lazım normal kullanıcı ile çalıştırırsanız bazı dosyalarda permission denied hatası alabilirsiniz (normal dosyalarda sıkıntı olmaz)

print("1) kendim işlem yapmak istiyorum\n")
print("2) istedigim dosyaların hepsini belirteceğim dizine kayıt et\n")

while True:
    try:
        ilk_soru = int(input())
        subprocess.call("clear")
        break      
    except:
        pass
   
if ilk_soru == 1:
    bulunan_dizinlerin_yolu = []
    directory = []
    while True:
        try:
            başlangıç_dizini = str(input("hangi dizinden itibaren dosyaları çekmek istersiniz\n"))
            break
        except:
            print("bidaha yaz")
    def hepsi():
        def alt_dizinleri_bul(dizin):
            os.chdir(dizin)
            a = os.popen("ls -l").read().split("\n")
            b = os.popen("ls").read().split("\n")
            for i in range(len(a)):
                if i == 0:
                    pass
                else:
                    if a[i].startswith("d"):
                        directory.append(b[i-1])
        alt_dizinleri_bul(başlangıç_dizini)

        for i in directory:
            dizin = os.popen(f"find {başlangıç_dizini} -type d -name '{i}'").read()
           
            dizin = str(dizin).split("\n")[0]+"/"
            bulunan_dizinlerin_yolu.append(dizin)
            alt_dizinleri_bul(dizin)

    hepsi()
    döngü = 0
    while döngü < len(bulunan_dizinlerin_yolu):
        os.chdir(bulunan_dizinlerin_yolu[döngü])
       
        döngü += 1
        a = os.popen("ls -l").read()
        b = os.popen("ls").read()
       
        a = a.split("\n")
        b = b.split("\n")

        directory = []
        file = []

        for i in range(len(a)-2):
         
            if i == 0:
                pass
            else:
                if a[i].startswith("-"):
                    if not a[i]:
                        pass
                    else:
                        file.append(b[i-1])
        if not file:
            continue
       
       
        def oku():
            sözlük = {}
            sayı = 0
            print("*******************")
            print(bulunan_dizinlerin_yolu[döngü-1],"adlı dizindeki dosyalar")
            print("*******************")
            for r in file:
                print(f"{sayı}) {r}")
                sayı += 1
            print("*******************")
           
            print(f"{sayı}) çoklu değer girmek istiyorum")
            sayı += 1
            print(f"{sayı}) hepsini okumak istiyorum")
            print("*******************")
           
            while True:
                try:
                    girdi = int(input("hangi dosyayı okumak istersiniz\n"))
                    if girdi > sayı:
                        print("\n***mevcut bir sayı giriniz***\n")
                        continue
                    break
                except:
                    print("\n***sayı gir***\n")

            if girdi == sayı:
                subprocess.call("clear")
                try:
                    for y in file:
                        sözlük[y] = os.popen(f"cat '{y}'").read()
                        if not sözlük[y]:
                            continue
                        print("////////////")
                        print(f"{y} adlı dosyanın içeriği :")
                        print("////////////\n")
                       
                        print(sözlük[y])
                        print("\n******************\n")
                except:
                    pass
                print("*******************")
               
            elif girdi == sayı-1: #çoklu okumak
                print("değerleri boşluklu bir şekilde giriniz örneğin 1 4 17")
                while True:
                    coklu_değerler = input()
                    subprocess.call("clear")
                    print("**************")
                    for h in coklu_değerler.split(" "):
                        try:
                            if int(h) > sayı:
                                continue
                        except:
                            pass  
                        if str(h).isdigit():
                            while True:
                                try:
                                    index = file[int(h)]
                                    sözlük[index] = os.popen(f"cat '{index}'").read()
                                    break
                                except:
                                    print("geçerli bir değer girin")
                                    continue
                            if not sözlük[index]:
                                continue
                            print("////////////")
                            print(f"{index} adlı dosyanın içeriği :")
                            print("////////////\n")
                            print(sözlük[index])
                            print("\n**************\n")
                        else:
                            continue
                    break  

            else:#belirli bir sayıyı okumak
                okunacak_deger = file[girdi]
                try:
                    okunan_dosya = os.popen(f"cat '{okunacak_deger}'").read()
                    if not okunan_dosya.strip():
                        pass
                    else:
                        print(okunan_dosya)
                except:
                    pass #NOT OS POPEN YERLERİ TRY İCİNDE YAZ PERMİSSİON DENİED GİBİ HATALARDA PASS DE VE OKUNAMAYAN DOSYALAR DİYE KAYIT ET
                print("*******************")
               
        oku()

elif ilk_soru == 2:
    kayıt = str(input("dosyaları kayıt etmek için dizin oluşturucaz dizin yolu ve adını giriniz örn: /home/kullanici/Desktop/dosya/\n"))
    başlangıç_dizini = str(input("hangi dizinden itibaren dosyaları çekmek istersiniz\n"))

    bulunan_dizinlerin_yolu = []
    directory = []
    degerler = []
    adlar = []

    os.mkdir(kayıt)
    os.chdir(kayıt)
    oluşturulan_dizin_yolu = os.popen("pwd").read()

    def alt_dizinleri_bul(dizin):
        os.chdir(dizin)
        a = os.popen("ls -l").read().split("\n")
        b = os.popen("ls").read().split("\n")
        for i in range(len(a)):
            if i == 0:
                pass
            else:
                if a[i].startswith("d"):
                    directory.append(b[i-1])
    alt_dizinleri_bul(başlangıç_dizini)

    for i in directory:
        dizin = os.popen(f"find {başlangıç_dizini} -type d -name '{i}'").read()
       
        dizin = str(dizin).split("\n")[0]+"/"
        bulunan_dizinlerin_yolu.append(dizin)
        alt_dizinleri_bul(dizin)


    döngü = 0
    while döngü < len(bulunan_dizinlerin_yolu):
        os.chdir(bulunan_dizinlerin_yolu[döngü])
        döngü += 1
        a = os.popen("ls -l").read()
        b = os.popen("ls").read()
       
        a = a.split("\n")
        b = b.split("\n")

        directory = []
        file = []

        for i in range(len(a)-2):
            if i == 0:
                pass
            else:
                if a[i].startswith("-"):
                    if not a[i]:
                        pass
                    else:
                        file.append(b[i-1])
        if not file:
            continue

        def oku():
            try:
                for y in range(len(file)):
                    try:
                        os.mkdir(kayıt)
                    except:
                        pass
                    içerik = os.popen(f"cat '{file[y]}'").read()
                    if not içerik:
                        continue
                    else:
                        adlar.append(file[y])
                        degerler.append(os.popen(f"cat '{file[y]}'").read())
            except:
                pass

        oku()

    if kayıt.endswith == "/":
        pass
    else:
        kayıt = kayıt+"/"

    for i in range(len(degerler)):
        with open(f"{kayıt}örnek+{adlar[i]}","w") as dosya:
            dosya.write(degerler[i])

else:
    print("geçerli bir sayı gir")
eline sağlık hocam
 
Ü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.