2014-07-22

Keletas naudingų Netcat triukų

Galime sakyti, kad maži, paprasti ir automatiniai įrankiai gali būti kur kas labiau naudingesni ir daugiau turtingesni savo funkcionalumu, nei dideli ir išsipūtę framework‘ai. Kaip pavyzdį galime paimti legendinį “Šveicarišką peiliuką kompiuteriniams tinklams” – NetCat. Tai viso labo vienas vykdomasis failas, užimantis apie 60 KB kietajame diske. Taigi ką mes galime su juo padaryti? O gi galime labai daug.
Taigi apžvelgsime keletą naudingų triukų.


Prievado skenavimas.

Netcat gali būti panaudotas, kaip prievado skeneris. Netcat neturi tiek funkcijų kiek nmap, bet jei Jūs norite pamatyti, kokie prievadai yra atidaryti pasirinktame kompiuteryje, tai galite padaryti su šia paprasta komanda:
nc -v -w 1 localhost -z 1-3000

Ši komanda atliks visų prievadų paiešką, esančių vietinio tinklo (localhost) diapozone nuo 1 iki 3000.


Failo siuntimas.

Tarkime Jūs norite persiųsti didelės talpos zip failą iš kompiuterio A į kompiuterį B, tačiau nė vienas kompiuteris neturi priėjimo prie FTP arba el. pašto ar Skype programos. Iškyla klausimas ar įmanoma persiusti failą, ar neiškils kažkokios failo perdavimo metu problemos.
Taigi esant tokiai situacijai galime pasinaudoti Netcat ir sėkmingai persiųsti norimą failą.
Kompiuteryje B turime atlikti tai. Tarkime 1337 prievadas yra nenaudojamas, taigi pasinaudoję žemiau esančia komanda atidarome šį prievadą failo gavimui:
nc -lp 1337 > file.zip

Tarkime kompiuterio B IP adresas yra 10.48.2.40. Kompiuteryje A turime atlikti šią komandą:
nc -w 1 10.48.2.40 1337 < file.zip
Taigi viskas. Jūsų failas sėkmingai perduotas kompiuteriui B.


Pokalbių (chat) serveris.

Kartais labai reikia susisiekti su žmogumi, bet nesinori naudoti pokalbių programos. Netcat tai gali padaryti.
Tiesiog reikia pasinaudoti žemiau esančiu kodu priskyrus kažkurį norimą prievadą:
nc -lp 1337
Tada iš kito kompiuterio reikia tiesiog prisijungti prie priskirtojo prievado:
nc 10.48.2.40 1337
Taigi dabar galite pradėti susirašinėjimą. Kai parašysit žinutę ir paspausite enter Jūsų žinutė iškart bus perduota kitam kompiuteriui.


Telnet serveris.

Netcat taip pat galime panaudoti, jei norime sukurti telnet serverį. Tam turime atlikti žemiau esančią komandą pridėję –e parametrą:
nc -lp 1337 -e /bin/bash

Windows operacinėje sistemoje galite naudoti šią komandą:
nc -lp 1337 -e cmd.exe

Kai tik kliento kompiuteris prisijungs prie mūsų 1337 prievado, jis turės visišką priėjimą prie mūsų paleisto shell‘o ir su tokiomis teisėmis kokiomis buvo paleistas nc serveryje.


HTTP užklausos parametrų keitimas.

Netcat galime panaudoti norėdami prisijungti prie serverio, su pakeistais header'io laukais. Tokio prisijungimo metu galite nurodyti koks bus user agent, referrer ir kita. Tai naudinga, kai Jūs norite sugeneruoti daug įvairių užklausų, kurios gali būti lengvai surastos log'ose:
nc google.com 80
GET / HTTP/1.1
Host: google.com
User-Agent: NOT-YOUR-BUSINESS
Referrer: YOUR-MOM.COM
Pastaba, Jūsų užklausa nebus išsiųsta tol, kol nesugeneruosite papildomos tuščios eilutės. Taigi, kai baigsite rašyti paspauskite du kartus klavišą enter. Gausite užklausos atsakymą ir HTML formatu:
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=79f8f28c854d90ec:TM=1186369443:LM=1186369443:S=UIiTvi68MtmbcmGl; expires=Sun, 1
-Jan-2038 19:14:07 GMT; path=/; domain=.google.com
Server: GWS/2.1
Transfer-Encoding: chunked
Date: Mon, 06 Aug 2007 03:04:03 GMT

738


Tinklo serveris.

Ar jums kada prireikė sukurti paprastą tinklo serverį, kuriame būtų tik vienas html puslapis ir įspėjimas apie klaidą bei kada ji bus pataisyta. Netcat pagalba galime pasinaudoti paprastu script‘u:
while true; do nc -l -p 80 -q 1 < error.html; done

Error.html faile pateikta paprasta klaidos žinutė įspėjanti vartotojus apie apkrovą ir duodanti jiems pranešimą, kada ši klaida bus ištaisyta. Šis būdas leidžia greitai ir paprastai pranešti apie situaciją ir išvengti įvairių nusiskundimų iš vartotojų pusės.


Kietojo disko particijų klonavimas tinkle.

Sistemoje kurioje noryte atlikti klonavimą turite atlikti šią komandą:
dd if=/dev/sda | nc 192.168.0.1 9000
9000 prievadas yra parenkamas atsitiktinai. Gavėjo pusėje turite atlikti šią komandą:
nc -l -p 9000 | dd of=/dev/sda

Taip pat abejose sistemose Jūsų klonuotos particijos turi būti neprimontuotos. Taigi jei Jūs ruošiatės atlikti klonavimą turite įkrauti live distribuciją, tarkim Knoppix. Pastaba, tai taip pat galite atlikti ir norėdami klonuoti NTFS particijas. Tik norint tai atlikti naudokite live Linux distribucijas abejose sistemose.


Apibendrinant.

Nepasaint to, kad su Netcat galite atlikti daug dalykų ji vis dar atitinka Unix filosofiją, jog darydamas vieną dalyką jį padarai gerai. Netcat sukurtas vienam dalykui – skaityti ir rašyti duomenų paketus tinklo socket‘uose. Dėl to, kad skirtas vienam dalykui jis gali būti panaudotas įvairioms užduotims.

Tai ironiška, bet kuo daugiau funkcijų pridedi į tam tikrą priemonę, tuo ji pasidaro specifiškesnė. Ir žinoma, GUI yra pagrindinis funkcionalumo žudikas. Jei Netcat turėtų GUI, ji būtų šiuo metu daug labiau paplitusi tarp naudotojų.

Komentarų nėra:

Rašyti komentarą