Netcat
Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită la 11 iunie 2015; verificările necesită
15 modificări .
netcat ( în engleză net network + cat ) este un utilitar Unix care vă permite să stabiliți conexiuni TCP și UDP, să primiți date de acolo și să le transmiteți. În ciuda utilității și simplității sale, acest utilitar nu este inclus în niciun standard (de exemplu, POSIX ).
Acțiune
Într-un caz simplu, NetCat este numit ca:
port
gazdă nc
Acest lucru duce la crearea unei conexiuni TCP cu acreditările specificate și scurtcircuitarea intrării standard la ieșirea din rețea și invers, ieșirea standard la intrarea în rețea. Această funcționalitate amintește de comanda cat , care a condus la alegerea numelui „netcat”. Dacă conexiunea eșuează, programul imprimă un mesaj de eroare către stderr .
Utilitarul recunoaște următoarele chei:
-h
|
Referinţă; nu se face nimic
|
-v
|
Diagnosticare suplimentară (verbosă)
|
-o fișier_ieșire
|
Dumps de date de
ieșire |
-i numărul
|
Întârziere între datele trimise (în secunde )
|
-t
|
Compatibil Telnet
|
-z
|
Nu trimiteți date (scanare porturi)
|
-u
|
Conectați-vă prin UDP (în loc de TCP)
|
-l
|
Mod pasiv (ascultare pe un port)
|
-p număr
|
* Număr de port local (pentru -l)
|
- e gazda
|
Utilizați adresa IP locală („proprie”) specificată
|
-n
|
Dezactivați căutările DNS și ale numerelor de port în /etc/services
|
-w număr
|
Setați timeout (în secunde)
|
-q număr
|
Setați timeout după EOF la intrare (în secunde) **
|
-e executabil
|
! Rulați programul specificat pentru a comunica cu rețeaua (în loc de intrare și ieșire standard)
|
-c echipa
|
! La fel, ca o comandă pentru /bin/sh
|
-k
|
Continuați să ascultați pentru alte conexiuni după ce conexiunea curentă a fost întreruptă.
|
! - necesită un ansamblu special, dezactivat în fișierele executabile furnizate (creează cu ușurință o vulnerabilitate în rețea).
* - în unele implementări, numărul portului pentru ascultare este setat prin -l, iar comutatorul -p lipsește.
** - nu este disponibil în toate versiunile.
Opțiuni:
- -d. Disponibil numai pe Windows. Face Netcat invizibil. Puteți rula programul în modul de ascultare fără a deschide fereastra modului MS-DOS. De asemenea, permite crackerilor să mascheze mai bine un program care rulează de la administratorii de sistem.
- -e <comanda>. Dacă Netcat este compilat cu opțiunea GAPING_SECURITY_HOLE, un program poate executa o <comandă> ori de câte ori cineva stabilește o conexiune pe portul de ascultare, atâta timp cât clientul Netcat redirecționează I/O către programul care rulează. Utilizarea acestei opțiuni este destul de periculoasă dacă nu înțelegeți pe deplin ce faceți. Aceasta este o modalitate rapidă și ușoară de a deschide o „ușă din spate” către sistemul dumneavoastră. Un exemplu va fi dat în continuare.
- -i <secunde>. Interval de întârziere între transferurile de bucăți de date. Dacă un fișier este trecut prin conducta Netcat, programul așteaptă <secunde> secunde înainte de a trece următoarea linie ca intrare. Dacă utilizați Netcat pentru a gestiona mai multe porturi pe aceeași gazdă, Netcat așteaptă <secunde> secunde înainte de a se conecta la următorul port listat pe linie. Acest lucru face posibilă mascarea ușor a unui transfer de date sau a unui atac de serviciu de sistem și permite ca scanările de porturi să fie mascate de la unele software de analiză a intruziunilor și de la administratorii de sistem.
- -g <listă-rute>. Utilizarea acestei opțiuni poate fi destul de netrivială. Netcat acceptă capacitatea de a masca originea rutării (discutată mai detaliat în Fă-ți un prieten: Falsificarea adresei IP). Puteți specifica până la opt opțiuni -g pe linia de comandă pentru a forța Netcat să direcționeze traficul prin anumite adrese IP, care sunt de obicei utilizate dacă falsificați adresa IP de origine de la care provine traficul (de exemplu, pentru a încerca să ocoliți o firewall sau verificarea gazdelor permise). Folosind acest truc pe mașina de la care controlați procesul, puteți ca pachetele transmise să revină la adresa pe care o specificați în loc să le redirecționați în direcția reală. Rețineți că acest lucru de obicei nu funcționează, deoarece majoritatea routerelor ignoră opțiunile sursei de rutare și multe filtre și firewall-uri înregistrează astfel de încercări.
- -G <indicator hop>. Această opțiune vă permite să modificați lista de rutare specificată de opțiunea -g pentru a determina la ce adresă să accesați. Deoarece o adresă IP este un număr de patru octeți, acest argument este întotdeauna un multiplu de patru, unde 4 este prima adresă IP din listă, 8 este a doua și așa mai departe. Această opțiune este de obicei folosită dacă încercați să falsificați o listă de rutare, astfel încât să pară că pachetele provin din altă parte. Ignorând primele două adrese IP din lista specificată de opțiunea -g și specificând numărul 12 în opțiunea -G, veți avea pachete direcționate direct la a treia adresă din lista de rutare. Conținutul real al pachetului va conține în continuare adresele IP care au fost omise, făcând să pară că pachetele provin de la o adresă atunci când au venit de fapt din altă parte. Această tehnică vă permite să ascundeți de unde ați venit la gazdă atunci când utilizați falsificarea adreselor sau o listă de rutare, dar nu este garantat că veți putea obține un răspuns, deoarece acesta va fi direcționat înapoi prin adresele dvs. IP falsificate.
- -l. Această opțiune comută în modul „ascultare” al Netcat. Este folosit împreună cu opțiunea -p pentru a lega Netcat la un anumit port TCP și pentru a asculta conexiunile de intrare. Pentru a utiliza portul UDP, utilizați opțiunea -u.
- -L. Disponibilă numai în versiunea Windows a programului, o opțiune mai restrictivă a modului „ascultare” decât -l. Spune programului să repornească cu aceiași parametri dacă conexiunea a fost închisă. Acest lucru oferă Netcat capacitatea de a monitoriza conexiunile ulterioare fără intervenția utilizatorului, de fiecare dată când se termină conexiunea inițială. Ca și în cazul opțiunii -l, această opțiune trebuie utilizată împreună cu opțiunea -p.
- -n îi spune lui Netcat să nu caute nicio gazdă. Dacă utilizați această opțiune, nu ar trebui să furnizați niciun nume de gazdă ca argumente.
- -o <hexfile> determină generarea și stocarea unui dump hexazecimal al datelor într-un fișier hex. Comanda nc -o hexfile scrie datele care merg în ambele direcții și începe fiecare linie cu < sau > pentru a indica intrarea sau respectiv ieșirea. Pentru a scrie doar datele primite într-un fișier, ar trebui să utilizați comanda nc -o <hexfile. În consecință, pentru a scrie numai datele de ieșire, utilizați comanda nc -o >hexfile.
- -p <port>. Această opțiune vă permite să specificați numărul portului local pe care Netcat ar trebui să-l folosească. Acest argument este necesar dacă utilizați opțiunile -l sau -L pentru modul de ascultare. Dacă această opțiune nu este specificată pentru o conexiune de ieșire, Netcat va folosi portul care este definit pentru aceasta în sistem, ceea ce fac majoritatea clienților TCP sau UDP. Rețineți că pe sistemele Unix, numai utilizatorul root poate defini numere de porturi mai mici de 1024.
- -r. Netcat alege aleatoriu porturile locale și la distanță. Această opțiune este utilă atunci când Netcat este utilizat pentru a obține informații despre o gamă largă de numere de porturi de pe un sistem și pentru a prezenta situația într-un mod mai puțin asemănător unei scanări de porturi. Dacă această caracteristică este utilizată împreună cu opțiunea -i și la un interval suficient de mare, atunci este probabil ca scanarea portului să nu fie detectată fără o examinare atentă a jurnalului de sistem de către administrator.
- -s Specifică adresa IP de ieșire pe care Netcat o folosește pentru a stabili o conexiune. Această opțiune permite hackerilor să efectueze câteva trucuri îngrijite: ascunde adresa IP sau falsifică altceva. Dar pentru a obține informațiile trimise la adresa falsificată, trebuie să folosească opțiunea de ordonare a rutare -g. În plus, folosind modul de ascultare, vă puteți conecta în mod repetat la un serviciu deja ascultat. Toate serviciile TCP și UDP funcționează pe porturi, dar nu toate funcționează pe o anumită adresă IP. Multe servicii ascultă implicit pe toate interfețele disponibile. Syslog, de exemplu, ascultă pe portul UDP 514 pentru a citi traficul syslog. În același timp, dacă porniți Netcat să asculte pe portul 514 și utilizați opțiunea -s pentru a determina adresa IP de ieșire, orice trafic care trece prin adresa IP pe care o specificați va fi direcționat prin Netcat în primul rând. De ce? Dacă un socket specifică atât o adresă IP, cât și un număr de port, aceasta specifică prioritatea acestuia față de un socket care nu le specifică pe ambele. Mai târziu vom vorbi despre acest lucru în detaliu și vom demonstra cum să stabilim ce serviciu din sistem poate fi predefinit.
- -t. Compilat cu opțiunea TELNET, Netcat poate comunica cu serverul telnet conform convențiilor stabilite, răspunzând cu informații goale, dar vă permite să introduceți informații ca răspuns la o solicitare de conectare atunci când utilizați o conexiune TCP pe portul 23.
- -u. Opțiunea îi spune programului să folosească protocolul UDP în loc de TCP, lucrând atât în modul de ascultare, cât și în modul client.
- -v determină cât de detaliat vă informează programul despre ceea ce face. Dacă nu utilizați opțiunea -v, Netcat scoate numai informațiile primite. Dacă opțiunea -v este folosită o dată, veți putea afla la ce adresă a fost conectată sau ce adresă este monitorizată în cazul în care există probleme. Reutilizarea opțiunii vă va informa câte date au fost trimise sau primite înainte de încheierea conexiunii.
- -w <secunde> Specifică cantitatea de timp în care Netcat așteaptă o conexiune. Această opțiune vă spune, de asemenea, cât timp să așteptați după primirea unui semnal EOF (sfârșitul fișierului) la intrarea standard înainte de a întrerupe conexiunea și a ieși. Acest lucru este deosebit de important dacă trimiteți comenzi către un server la distanță folosind Netcat și vă așteptați să primiți o cantitate mare de informații (de exemplu, prin trimiterea unei comenzi către un server web HTTP pentru a descărca un fișier mare).
- -z. Dacă sunteți preocupat doar să determinați care port este deschis, ar trebui să utilizați nmap (consultați prelegerea Scannerele de porturi). Dar această opțiune îi spune lui Netcat să trimită suficiente date pentru a căuta porturi deschise în intervalul de valori dat. [unu]
Aplicație
- Testare și lucru manual cu protocoale de rețea ;
- Verificarea disponibilitatii porturilor;
- Interfață de rețea pentru shell-ul UNIX (totuși, unele versiuni de bash se pot conecta la TCP și UDP pe cont propriu);
- (Cu comutatorul -l) creați servere simple, de obicei cele de testare;
- (Partajat cu inetd ) redirecționare porturi.
Exemple
Sub Windows:
Rulați CMD mergeți la folderul cu netCat (de exemplu C:\netcat\)
Pentru a crea un chat între gazde
Pe o mașină (10.10.10.1), deschideți portul 1234 pentru a asculta: nc -l -p 1234 Pe o altă mașină, conectați-vă la gazda 10.10.10.1 pe portul 1234 nc 10.10.10.1 1234
Se trimite text cu Enter. Întrerupeți conexiunea CTRL+C
Pentru ubuntu , eliminați „-p” din comutatoare.
Afișarea unei pagini HTML de test la un client cu un browser obișnuit cu o singură comandă (port 8080):
(echo -e "HTTP/1.1 200 OK\nContent-Type: text/html\n\n Hello World";) | nc -vv -l -p 8080
Transferarea unui fișier către un client cu un browser obișnuit într-o singură comandă (port 8080):
(echo -e "HTTP/1.1 200 OK\nContent-Disposition: attachment; filename=целевое-имя-которое-увидит-клиент\nContent-Type: application/octet-stream\nConnection: close\n"; cat имя-файла-на-диске ) | nc -vv -l -p 8080
Transferarea directorului curent cu toate fișierele și subdirectoarele pe Internet sau Intranet, portul 3333, cu despachetarea în directorul curent:
nc -l -p 3333 | tar xv (выполняется на приёмной стороне)
tar cv * | nc -q 0 ip.адрес.приёмной.стороны 3333 (выполняется на передающей стороне)
Numele echipei
nc , netcat , ncat , pnetcat (pe diferite sisteme ).
Vezi și
Note
- ↑ fker. totul despre NETCAT (engleză) . ANTICHAT - Comunitate online de securitate (23 februarie 2009). Preluat la 5 decembrie 2019. Arhivat din original pe 5 decembrie 2019.
Link -uri
Comenzi Unix |
---|
|
GNU Coreutils |
---|
Utilitare de fișiere |
|
---|
Utilitare de text |
|
---|
Utilități Shell |
|
---|
|