21-Pentesting FTP

Aşağıdakı əmrdən istifadə edərək FTP serverinə qoşulmaq mümkündür.

ftp <target-ip>

FTP serverləri üçün anonymous giriş xüsusui məqsədlərə xidmət edən bir seçimdir, bu seçim əsasən ictimai fayl paylaşımı və ya həssas olmayan məlumatların paylanması ilə bağlı olur.(user:anonymous&pass:anonymous)

FTP serverinin versiyasını müəyyən etmək üçün Nmap əmri:

nmap -p 21 --script ftp-vuln <target_ip>

FTP serverinin anonim girişə icazə verib-vermədiyinin müəyyənləşdirilməsi:

nmap -p 21 --script ftp-anon <target_ip>

FTP serverinin anonim istifadəçilərə faylları yükləməyə icazə verib-vermədiyinin yoxlanılması:

nmap -p 21 --script ftp-vsftpd-backdoor <target_ip>

Ftp istifadəçi enum üçün Nmap əmri:

nmap -p 21 --script ftp-enum-users <target_ip>

Hydra ilə FTP brute force:

hydra -l <username> -P <password_list>  <target_ip> ftp

Nmap versiya + NSE skript:

nmap -Pn -sV -p 21 --script="banner,(ftp* or ssl*) and not (brute or broadcast or dos or external or fuzzer)" <target-ip>

Anonim Login

Bu tip giriş adətən istifadəçilərə fərdi hesab tələb etmədən faylları endirməyə və ya yükləməyə imkan verən ictimai FTP serverləri üçün istifadə olunur. Qeyd etmək vacibdir ki, anonim giriş adətən yalnız oxumaq üçün giriş təmin edir, istifadəçilərə faylları serverdən endirməyə imkan verir, lakin onları yükləməyə və ya dəyişdirməyə imkan vermir. Məqsəd istifadəçilərə fərdiləşdirilmiş etimadnaməyə ehtiyac olmadan serverdə açıq olan resurslara daxil olmaq üçün rahat yol yaratmaqdır.

ftp <IP>
>anonymous
>anonymous
>ls -a # Bütün faylları ekrana yazdırır (gizli fayllar daxil)
>binary #Ascii əvəzinə binary ötürməni təyin edir
>ascii #Binary yerinə ötürülməni ascii-yə təyin edir
>bye #çıxış

FTP'dən Bütün Faylları Endirmək

wget -m ftp://anonymous:[email protected] 
wget -m --no-passive ftp://anonymous:[email protected] 

İstifadəçi adı və parol məlum olduqda:

wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/

FTP Əmrləri

  • USER username FTP serverinə daxil olarkən autentifikasiya üçün istifadəçinin şəxsiyyətini təmin edən istifadəçi adını müəyyən etmək üçün istifadə olunur.

  • PASS password Həmin istofadəçi üçün parolu təyin edir.

  • HELP Server hansı əmrlərin işlədilə biləcəyini göstərir.

  • PORT 127,0,0,1,0,80Bu, 80-ci portda IP 127.0.0.1 ilə əlaqə yaratmaq üçün FTP serverini göstərəcək (siz 5-ci simvolu "0" və 6-cı simvolu onluqda port kimi qoymalısınız və ya ifadə etmək üçün 5-ci və 6-cı simvollardan istifadə etməlisiniz).

  • EPRT |2|127.0.0.1|80|Bu, FTP serverinə 80-ci portda IP 127.0.0.1 ilə TCP əlaqəsi ("2" ilə göstərilir) qurmağı göstərəcək.

  • LIST Bu, cari qovluqdakı faylların siyahısını göndərəcək

    • LIST -R Rekursiv List

  • APPE /path/something.txt Bu, passiv əlaqədən və ya PORT/EPRT bağlantısından fayla alınan məlumatları saxlamaq üçün FTP-ni göstərəcək. Fayl adı varsa, o, məlumatları əlavə edəcəkdir.

  • STOR /path/something.txt APPE kimidir, lakin o, faylların üzərinə yazır

  • STOU /path/something.txt APPE kimidir, lakin faly mövcuddursa, heç nə etmir.

  • RETR /path/to/file Passiv və ya port bağlantısı qurulmalıdır. Daha sonra FTP serveri qeyd edilən faylı həmin əlaqə vasitəsilə göndərəcək

  • REST 6 Bu, serverə növbəti dəfə RETR-dən istifadə edərək nəyisə göndərərkən 6-cı baytda başlamalı olduğunu göstərir.

  • TYPE i Transferi binary'ə təyin edir

  • PASV Bu, passiv bir əlaqə açacaq və istifadəçinin qoşula biləcəyini göstərəcək

  • PUT /tmp/file.txt Qeyd edilən faylı FTP serverinə yükləyir

Konfiqurasiya Faylları

ftpusers
ftp.conf
proftpd.conf
vsftpd.conf

Post-Exploitation

VsFTPd-nin konfiqurasiyası /etc/vsftpd.conf faylında olur. Bu faylda bəzi təhlükəli parametrləri tapmaq mümkündür:

  • anonymous_enable=YES

  • anon_upload_enable=YES

  • anon_mkdir_write_enable=YES

  • anon_root=/home/username/ftp - anonymous üçün root qovluğu

  • chown_uploads=YES - Anonim yüklənmiş faylların sahibliyini dəyişdirir

  • chown_username=username - Anonim yüklənmiş fayllara sahiblik verilən istifadəçi

  • local_enable=YES - Yerli istifadəçilərə daxil olmağa imkan verir

  • no_anon_password=YES - Anonymous üçün parol tələb etmir

  • write_enable=YES - Bu əmrlərə icazə verir: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE, SITE

Last updated

Was this helpful?