Eredeti: Hasznos netcat példák Linuxon
Szerző: Dan Nanni
Megjelenés dátuma: 2014. január 27
Fordítás: A.Panin
Az átutalás időpontja: 2016. szeptember 7
A TCP/IP-hálózatok "svájci késeként" emlegetett segédprogram rendkívül rugalmas eszköz, amellyel szinte bármit megtehet. lehetséges cselekvések TCP/UDP socketekkel Linuxon. Ez az egyik legnépszerűbb eszköz a hálózatok diagnosztizálására és kísérletezésre a rendszergazdák körében.
Vegye figyelembe, hogy amikor az nc-t használja az ismert portokon lévő kapcsolatok fogadására hálózati szolgáltatások(0-1023) root jogosultságra lesz szüksége. Minden más esetben a normál felhasználói jogok elegendőek az nc megfelelő működéséhez.
A következő parancs egy teszt UDP csomag küldése 1 másodperces késleltetéssel a távoli gazdagép 5000-es portjára a megadott címmel.
$ echo -n "foo" | nc -u -w1 192.168.1.8 5000
Az alábbi parancs a tartományok portjainak vizsgálatára és a nyitott portok listázására szolgál.
$ nc -vnz -w 1 192.168.233.208 1-1000 2000-3000
$nc -lp 5000 > my.jpg
$nc hostB.com 5000< my.jpg
A hostB.com (host) nevű gazdagépen:
$ nc -l 5000 | tarxvf-
A hostA.com nevű gazdagépen (átviteli oldalon):
$ tar cvf - /útvonal/könyvtárhoz | nc hostB.com 5000
A fenti parancs lehetővé teszi a nyitott, elfogadó UDP portok listáját egy távoli szerveren.
Az alábbi parancs lehetővé teszi üzenetek (szövegsorok) fogadását egy adott UDP-porton.
$ nc -u localhost 5000
Kérjük, vegye figyelembe, hogy parancsot adott az első üzenet kézhezvétele után azonnal befejezi a munkáját. Ha üzenetsorozatot szeretne kapni, akkor ezt kell használnia míg hurok a következő módon:
$ míg igaz; do nc -u localhost 5000; Kész
Távoli szerveren:
$ nc -lp 5000 | sudo dd of=/backup/sdb.img.gz
A helyi csomóponton, ahol HDD:
$ dd if=/dev/sdb | gzip -c | nc remote_server.com 5000
A localhost-on:
$ nc -lp 5000 | gunzip -c | sudo dd of=/dev/sdb
A távoli szerveren, ahol a fájl tárolva van kép kemény lemez (például /backup/sdb.img.gz):
$ cat /backup/sdb.img.gz | nc my_local_host.com 5000
Futtassa a következő parancsot egy webszerver elindításához, amely egy test.html nevű weboldalt fog kiszolgálni a 8000-es porton csatlakozó ügyfelek számára.
$ míg igaz; do nc -lp 8000< test.html; done
Most ellenőrizze a weboldal elérhetőségét úgy, hogy böngészőjével navigál a következő címre: http://
$ míg igaz; csináld a sudo nc -lp 80-at< test.html; done
Az első csomóponton (192.168.233.203):
$ nc -lp 5000
A második csomóponton:
$nc 192.168.233.203 5000
A fenti két parancs végrehajtása után az egyik csomóponton a terminálablakba beírt összes karakter megjelenik a másik csomópont terminálablakában.
A távoli gazdagépen (192.168.233.208):
$ nc -lp 5000 -e /bin/bash
A localhost-on:
$nc 192.168.233.208 5000
Miután végrehajtotta a fenti parancsot a helyi gazdagépen, bármilyen parancsot végrehajthat a távoli gazdagépen a helyi gazdagép terminálablakán keresztül. A parancsok a távoli gazdagépen lesznek végrehajtva, és ezeknek a parancsoknak a kimenete megjelenik a helyi gazdagép terminálablakában. Ez a megközelítés használható hátsó ajtó létrehozására egy távoli gazdagépen.
A fenti parancsok egy proxypipe nevű vezetéket hoznak létre, és az nc segédprogrammal az 5000-es localhost porton lévő összes TCP-kapcsolatot átirányítják a http://www.google.com címre egy kétirányú vezetéken keresztül. A parancsok végrehajtása után hozzáférhet kezdőlap keresőmotor Google rendszerek belépésével címsor webböngésző címe: http://127.0.0.1:5000.
A fenti parancsok lehetővé teszik, hogy az nc segédprogrammal olyan proxykiszolgálót hozzon létre, amely támogatja SSL protokoll, amely lehetővé teszi a kapcsolatok létrehozását a google.com webhelyhez.
A videó streaming szerveren (192.168.233.208):
$ macska video.avi | nc -l 5000
A kliens rendszeren:
$nc 192.168.233.208 5000 | mplayer -vo x11 -cache 3000 -
A következő parancsok lehetővé teszik az nc segédprogram számára, hogy IPv6-címet használjon, amikor TCP-porton keresztül fogad kapcsolatokat. Erre a hálózaton belüli IPv6 címzési beállítások helyességének tesztelése során lehet szükség.
$ nc -6 -l 5000 $ sudo netstat -nap | grep 5000 tcp6 0 0:::5000:::* HALLGAT 4099/nc
Szia Kedves X Olvasó!
Azt hiszem, ezt a rajzot egy minitesztnek nevezhetjük "Hacker vagy?". Próbáld meg ezt mondani
ezt a vicces cicát jelenti. Nos, ha még mindig nehézségek merülnek fel, tudd, hogy minden haladó ember előtt áll a legkedvesebb dolog, így vagy úgy
a Nethez kapcsolódik, és a neve Netcat.
A Netcat egy olyan segédprogram, amely lehetővé teszi adatok olvasását és továbbítását a hálózaton keresztül
kapcsolatokat. Más szavakkal, a Netcat lehetővé teszi, hogy bármihez csatlakozzon, és bármit megtehessen. A Netcat abszolút önellátó, megfelelő használat mellett bármelyiket helyettesítheti szoftver eszköz, köztük még az Ön számára is ismert
Apache. Tehát a nagyon egyszerű változat A Netcat lehetővé teszi TCP és UDP kapcsolatok Bármelyikről bármelyik portra képes "meghallgatni" a bejövő kapcsolatokat (és megmondhatja a "cicának", hogy csak az Ön által megadott címekről, sőt portokról várjon a kapcsolatra!), képes portokat szkennelni, DNS-lekérdezéseket megoldani, bármilyen parancsot küldeni szabványos bemenetről, előre definiált műveleteket végrehajtani a kapcsolatra, amit a "cica" hallgat, hexa-kiíratást végezhet a küldött, és még sok más adatból...
Bár szerintem már az elején ki kellett volna mondani, hogy a Netcat mindenre képes; felhasználási lehetőségeinek pedig csak tudásod és képzelőerőd szab határt. Kezdetben a Netcat Unix segédprogramnak készült, de amint érti, nem akadhattak olyan rajongók, akik ne portolták volna át a "cicát" Windowsra. Mindkét verziót könnyen megtalálhatja a "Netcat" keresőmotorjaiban. De az előnyök természetesen a Unix-oidokra vonatkoznak, amelyek a fordítás során kissé módosíthatják a "cicát", és ezáltal aktiválhatják az alapértelmezés szerint letiltott "további funkciókat".
Ha valaha is használt "szoftvertámadásokat", vagy egyszerűen csak exploitokat, akkor valószínűleg észrevette, hogy több mint fele ilyen vagy olyan módon használja a Netcat-et. Ez elsősorban annak tudható be, hogy a Netcat soha semmilyen módon nem módosítja a bejövő adatokat (valamint a kimenő adatokat), ellentétben mondjuk egy Telnet klienssel, amely először értelmezi a bejövő adatokat, és csak azután adja át Önnek. A Netcat ezért vált a sebezhetőségek felkutatásának és kihasználásának hatékony eszközévé, aminek köszönhetően a Bugtraq több száz új bejegyzéssel bővült.
De ha a sebezhetőségek keresése nem tetszik, akkor megpróbálhatja a Netcat webböngészőként, vagy mondjuk e-mail kliensként használni; főleg azóta, hogy be Internet Explorer-e az Outlook pedig "friss" lyukakat talált, a jó öreg Unicode, heh... Sőt, orosz srácaink jeleskedtek ezen a téren (!Játszik a nemzeti büszkeség!). Ha ezt a cikket az Intézővel olvassa, nézze meg, hogyan működik a "Szamár"
tele lyukakkal.
Ezt követően Netcatre vált – nem túl kényelmes, de
biztonságos ... És végül példák a Netcat "haladó" használatára
(Unix):
Figyelem, minden shell scriptek formájában történik, így ha kell, bármit módosíthat.
A sim-től el akarok búcsúzni. Olvassa el a kézikönyveket, és sok sikert az ikonikus Netcat segédprogram megtanulásához!
P.S./Private/: A http://georgy.h1.ru/ oldalt én bezártam. Egyszer, s mindenkorra. Köszönöm mindenkinek, aki a vendégem volt.
Ez a második bejegyzés a Unix segédprogramokról szóló cikksorozatban, amelyet tudnia kell. Ebben a cikkben bemutatom a netcat segédprogramot vagy egyszerűen az nc-t.
A Netcat segédprogramot gyakran egyfajta "svájci késnek" nevezik Jó érzék ez a szó. A netcat funkcionalitása ugyanolyan hasznos, mint egy jól bevált zsebes svájci kés sokoldalúsága és kézreállósága. Néhány funkciója magában foglalja a portszkennelést, a fájlátvitelt, a porthallgatást, és hátsó ajtóként is használható.
2006-ban a netcat a 4. helyet szerezte meg a 100 Utilities listán hálózati biztonság", tehát határozottan ő az eszköz, amelyet tudni kell.
Ha emlékszel, azt mondtam, hogy a netmacska a svájci kés. Mi lenne ez a kés, ha nem lehetne úgy használni, mint egy hagyományos kést? Ez az oka annak, hogy a netcat használható a normál telnet helyett:
$nc www.google.com 80
Valójában kényelmesebb, mint a normál telnet, mert a kapcsolatot bármikor megszakíthatja a Ctrl+C lenyomásával, és a bináris adatokat a szokásos módon kezeli (nincs escape szekvencia, semmi).
Hozzáadhatja a „-v” opciót a műveletek eredményeinek részletesebb megjelenítéséhez, és a (-vv) opciót, hogy statisztikákat kapjon arról, hogy hány bájt került átadásra az aktuális kapcsolati munkamenet során.
A Netcat szerverként használható. Ha az alábbiak szerint futtatja, akkor az 12345-ös porton fog figyelni (minden interfészen):
$ nc -l -p 12345
Most, ha csatlakozik ennek a gazdagépnek a 12345-ös portjához, bármit beír, a távoli oldalra kerül, ami azt jelzi, hogy a netcat használható chatszerverként. Futtassa az egyik számítógépen:
# Az A számítógépen IP 10.10.10.10 $ nc -l -p 12345
És csatlakozzon hozzá egy másikból:
# B számítógépen $ nc 10.10.10.10 12345
Most mindkét fél beszélhet!
Ez a beszédmód, ahol mindkét fél beszélhet egymással, lehetővé teszi az nc használatát hálózati I/O műveletekhez! Például elküldhet egy teljes könyvtárat egyik számítógépről a másikra úgy, hogy az első számítógépen a tar-t az nc-n keresztül vezeti át, és a kimenetet átirányítja egy másik tar folyamatra a másodikon.
Tegyük fel, hogy fájlokat szeretne átvinni az A számítógép /data könyvtárából, amelynek IP-címe 192.168.1.10, a B számítógépre (bármilyen IP-címmel). Ez egyszerű:
# Az A gépen IP 192.168.1.10 $ tar -cf - /data | nc -l -p 6666 # B számítógépen $ nc 192.168.1.10 6666 | tar-xf-
Ne felejtse el kombinálni a csővezetéket az előző cikkben leírt Pipe Viewer-rel, hogy megnézze, milyen gyors az átvitel!
Egyetlen fájl egyszerűbben is elküldhető:
# 192.168.1.10 $ IP-című A számítógépen cat fájl | nc -l -p 6666 # B gépen $ nc 192.168.1.10 6666 > fájl
Akár egy teljes lemezt is másolhat és visszaállíthat az nc használatával:
# Az A gépen IP 192.168.1.10 $ cat /dev/hdb | nc -l -p 6666 # B gépen $ nc 192.168.1.10 6666 > /dev/hdb
Megjegyzés: A „-l” opció nem használható „-p”-vel Mac számítógépeken! A megoldás az, hogy egyszerűen lecseréljük a „-l -p 6666? a „-l 6666?. Mint itt:
# most az nc a 6666-os porton figyel Mac számítógépek$ nc -l 6666
A netcat kiemelkedő felhasználási területe a portszkennelés. Netcat nem legjobb eszköz ilyen munkához, de megbirkózik vele (a legjobb természetesen az nmap):
$ nc -v -n -z -w 1 192.168.1.2 1-1000 (UNKNOWN) 445 (microsoft-ds) nyitott (UNKNOWN) 139 (netbios-ssn) nyitott (UNKNOWN) 111 (sunrpc) nyitott (UNKNOWN) www.UNKNOWN) (UNKNOWN) (UNKNOWN) : A kapcsolat időtúllépése (UNKNOWN) 22 (ssh) nyitva
Az "-n" opció megakadályozza a DNS-kereséseket, a "-z" nem vár választ a szervertől, és a "-w 1? a kapcsolat időtúllépését 1 másodpercre állítja.
A netcat egy másik nem triviális használata proxyként. A port és a gazdagép is továbbítható. Nézd meg ezt a példát:
$ nc -l -p 12345 | www.google.com 80
Ez a parancs elindítja az nc-t a 1234-es porton, és minden kapcsolatot átirányít a google.com:80 címre. Ha most csatlakozik ehhez a számítógéphez az 12345-ös porton, és kérést küld, azt fogja tapasztalni, hogy nem kap válaszként adatokat. Ez helyes, mert nem állítottunk be kétirányú csatornát. Ha hozzáad egy második csatornát, az adatait egy másik porton kapja meg:
$ nc -l -p 12345 | nc www.google.com 80 | nc -l -p 12346
Miután elküldte a kérést az 12345-ös porton, kapja meg válaszadatait az 12346-os porton.
A netcat talán legerősebb funkciója, hogy bármilyen folyamatot kiszolgálóként futtat:
$ nc -l -p 12345 -e /bin/bash
Az "-e" opció a bemenet és a kimenet végrehajtását egy hálózati aljzaton keresztül irányítja át. Ha most csatlakozik a gazdagéphez az 12345-ös porton, használhatja a bash-t:
$ nc localhost 12345 ls -las összesen 4288 4 drwxr-xr-x 15 pkrumins felhasználó 4096 2009-02-17 07:47 . 4 drwxr-xr-x 4 pkrumins felhasználó 4096 2009-01-18 21:22 .. 8 -rw------- 1 pkrumins felhasználó 8192 2009-02-16 19:30 .bash_history 4-rw-0-01 pkrumin 1-18 21:04 .bash_logout ...
Ebből az következik, hogy az nc egy népszerű hackereszköz, és nagyon könnyű hátsó ajtót létrehozni vele. Tovább Linux szerver futtathatja a /bin/bash-t és a Windows cmd.exe-t, és a teljes irányítás a kezében van.
Csak ennyit akartam mondani. Ismersz más hasznos netcat-trükköket, amelyekre itt nem térünk ki?
Ha Debian vagy Debian alapú rendszere van, például Ubuntu, tegye a következőket:
$ sudo aptitude install netcat
Ha Fedora vagy Fedora alapú rendszere van, például CentOS, tegye a következőket:
$ sudo yum install netcat
Ha Slackware-t, FreeBSD-t, NetBSD-t, Solarist vagy Mac-et használ, töltse le az nc-forrásokat, és tegye:
$ tar -zxf nc-version.tar.gz $ cd nc-verzió $ ./configure && sudo make install
Egy másik módja ennek Mac-en, ha rendelkezik MacPortokkal:
$ sudo port install netcat
A Slackware-en csomagként telepítheti a csomagkönyvtárból:
$ sudo installpkg nc-1.10-i386-1.tgz
Ha Windows rendszert használ, töltse le a Windoze portot a securityfocus webhelyről.
A használati útmutató megtalálható a man nc.
Élvezze az nc-vel töltött időt a következő alkalomig!
nc [-46bCDdhklnrStUuvZz] [-I hossz][-én intervallum][-O hossz][-P proxy_username][-p forrás_port][-q másodpercig][-s forrás][-T kulcsszóra][-V rtable] [-w időtúllépés][-X proxy_protocol][-x proxy_address[:kikötő]] [rendeltetési hely] [kikötő]-4 | erők nc hogy csak IPv4-címeket használjon. |
-6 | erők nc hogy csak IPv6-címeket használjon. |
-b | Közvetítés engedélyezése. |
-C | Küldés sorvégként. |
-D | Hibakeresés engedélyezése a socketen. |
-d | Ne próbáljon stdin-ből olvasni. |
-h | Nyomtassa ki az nc súgót. |
-ÉN hossz | Meghatározza a TCP fogadási puffer méretét. |
-én intervallum | A küldött és fogadott szövegsorok közötti késleltetési időintervallumot határozza meg. Ezenkívül késleltetést okoz a több porthoz történő csatlakozások között. |
-k | erők nc hogy továbbra is figyeljen egy másik kapcsolatot, miután az aktuális kapcsolat létrejött. Hiba ennek az opciónak a használata nélkül -l választási lehetőség. |
-l | Ennek meghatározására szolgál nc inkább figyeljen a bejövő kapcsolatra, mintsem kapcsolatot kezdeményezzen egy távoli gazdagéppel. Hiba ezt az opciót a következővel együtt használni -o, -s, vagy -z lehetőségek. Ezenkívül a -w opciókat figyelmen kívül hagyja. |
-n | Ne végezzen DNS- vagy szolgáltatáskeresést meghatározott címeken, gazdagépneveken vagy portokon. |
-O hossz | Meghatározza a TCP küldési puffer méretét. |
-P proxy_username | Megadja a hitelesítést igénylő proxykiszolgálónak megjelenítendő felhasználónevet. Ha nincs megadva felhasználónév, akkor a hitelesítés nem történik meg. A proxy hitelesítés jelenleg csak a HTTP CONNECT proxy esetén támogatott. |
-o forrás_port | Megadja, hogy az nc-nek milyen forrásportot kell használnia, a jogosultsági korlátozásoktól és a rendelkezésre állástól függően. |
-q másodpercig | az stdin EOF után várjon a megadott számú másodpercet, majd lépjen ki. Ha a másodperc negatív, várjon örökké. |
-r | Meghatározza, hogy a forrás- vagy célportokat véletlenszerűen kell kiválasztani, nem pedig egy tartományon belül egymás után, vagy abban a sorrendben, ahogyan a rendszer hozzárendeli őket. |
-S | Engedélyezi az RFC 2385 TCP MD5 aláírási lehetőséget. |
-s forrás | Megadja a csomagok küldésére használt interfészt. A UNIX tartományú datagram socketekhez adja meg a létrehozandó és használandó helyi ideiglenes socket fájlt, hogy a datagramok fogadhatók legyenek. Hiba ezt az opciót a következővel együtt használni -l választási lehetőség. |
-T kulcsszóra | Módosítsa az IPv4 TOS értékét. kulcsszóra lehet az egyik kritikai, inetcontrol, alacsony költségű, alacsony késleltetés, netcontrol, áteresztőképesség, megbízhatóság, vagy valamelyik DiffServ kódpont: ef, af11 ... af43, cs0 ... cs7; vagy egy szám hexadecimális vagy tizedesjegyben. |
-t | Okoz nc RFC 854 DON"T és WON"T válaszok küldésére az RFC 854 DO és WILL kérésekre. Ez lehetővé teszi az nc használatát a telnet munkamenetek parancsfájljaihoz. |
-U | Meghatározza a UNIX tartományi socketek használatát. |
-u | Használja az UDP-t a TCP alapértelmezett beállítása helyett. UNIX tartományi socketeknél használjon datagram socketet a stream socket helyett. UNIX tartományi socket használata esetén a /tmp fájlban egy ideiglenes fogadó socket jön létre, kivéve, ha -s zászlót adják. |
-V rtable | Állítsa be a használni kívánt útválasztási táblázatot. Az alapértelmezett érték 0. |
-v | Van nc bőbeszédűbb kimenetet ad. |
-w időtúllépés | Olyan kapcsolatok, amelyek nem hozhatók létre, vagy időkorlát másodpercek után tétlenek. A -w zászló nincs hatással a -l opció, azaz Az nc örökké figyelni fogja a kapcsolatot, akár a -w zászló. Az alapértelmezés szerint nincs időkorlát. |
-X proxy_protocol | Kéri, hogy az nc a megadott protokollt használja, amikor a proxyszerverrel beszél. A támogatott protokollok: " 4 " (SOCKS v.4), " 5 " (SOCKS v.5) és " csatlakozni" (HTTPS proxy). Ha a protokoll nincs megadva, a SOCKS 5-ös verzióját használja a rendszer. |
-x proxy_cím[:port] | Ezt kéri nc proxy használatával kell csatlakoznia a célhoz proxy_addressés kikötő. Ha kikötő nincs megadva, a proxy protokoll jól ismert portját használja (1080 SOCKS, 3128 HTTPS esetén). |
-Z | DCCP mód. |
-z | Megadja, hogy az nc csak figyelő démonokat keressen anélkül, hogy adatokat küldene nekik. Hiba ezt az opciót a következővel együtt használni -l választási lehetőség. |
rendeltetési hely lehet numerikus IP-cím vagy szimbolikus gazdagépnév (kivéve, ha a -n lehetőség adott). Általában egy célállomást kell megadni, kivéve, ha a -l opció adott (ebben az esetben a helyi gazdagép kerül felhasználásra). A UNIX tartományi socketeknél meg kell adni egy célt, és ez az a socket elérési útja, amelyhez csatlakozni kell (vagy figyelni kell, ha -l lehetőség adott).
A port lehet egyetlen egész szám vagy portok tartománya. A tartományok a formában vannak nn-mm. Általában meg kell adni egy célportot, kivéve, ha a -U lehetőség adott.
Nagyon egyszerű felépíteni egy nagyon egyszerű kliens/szerver modellt nc. Az egyik konzolon indítsa el nc egy adott porton figyeli a kapcsolatot. Például:
Nc -l 1234
Az nc most a porton figyel 1234 kapcsolatért. Egy második konzolon (vagy egy második gépen) csatlakozzon a hallgatott géphez és porthoz:
Nc 127.0.0.1 1234
Most már kapcsolatnak kell lennie a portok között. Bármi, amit a második konzolon ír be, összefűződik az elsővel, és fordítva. A kapcsolat létrehozása után nc nem igazán érdekli, hogy melyik oldalt használják "szervernek", és melyik oldalt "kliensnek". A kapcsolat megszakítható egy EOF (' ^D’).
Nincs -c vagy -e opciót a modern netcatben, de továbbra is végrehajthat parancsot a kapcsolat létrehozása után a fájlleírók átirányításával. Legyen óvatos, mert VESZÉLYES, ha megnyit egy portot, és hagyja, hogy bárki, aki csatlakozik, tetszőleges parancsot hajtson végre a webhelyen. Ha ezt valóban meg kell tennie, itt van egy példa:
A "szerver" oldalon:
Rm-f /tmp/f; mkfifo /tmp/f cat /tmp/f | /bin/sh -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f
Az „ügyfél” oldalon:
nc host.example.com 1234
(shell prompt a host.example.com webhelyről)
Kezdje a használatával nc egy adott porton történő hallgatáshoz a kimenet fájlba rögzítésével:
nc -l 1234 > filename.out
Egy második gép segítségével csatlakozzon a hallgatáshoz nc folyamat, beadva az átvinni kívánt fájlt:
nc host.example.com 1234< filename.in
A fájl átvitele után a kapcsolat automatikusan megszakad.
Néha hasznos "kézzel" beszélni a szerverekkel, nem pedig felhasználói felületen keresztül. Segíthet a hibaelhárításban, amikor szükséges lehet ellenőrizni, hogy a szerver milyen adatokat küld az ügyfél által kiadott parancsokra válaszul. Például egy webhely kezdőlapjának lekéréséhez:
Printf "GET / HTTP/1.0\r\n\r\n" | nc host.example.com 80
Vegye figyelembe, hogy ez a által küldött fejléceket is megjeleníti a háló szerver. Szűrhetők olyan eszköz segítségével, mint pl sed, ha szükséges.
Bonyolultabb példák építhetők fel, ha a felhasználó ismeri a szerver által igényelt kérések formátumát. Egy másik példaként egy e-mailt el lehet küldeni egy SMTP-szervernek a következő használatával:
Nc [-C] localhost 25<< EOF HELO host.example.com MAIL FROM:< >RCPT TO:< >ADATOK Az e-mail törzse. . LÉPJ ki az EOF-ból
Hasznos lehet tudni, hogy mely portok vannak nyitva, és mely szolgáltatások futnak a célgépen. A -z zászló segítségével elmondható nc hogy jelentse a nyitott portokat, ahelyett, hogy kapcsolatot kezdeményezne. Általában hasznos bekapcsolni a bőbeszédű kimenetet az stderr-re úgy, hogy ezt az opciót a következővel együtt használjuk -v választási lehetőség.
Nc -zv host.example.com 20-30 Csatlakozás a host.example.com 22 porthoz sikerült! Sikerült a csatlakozás a host.example.com 25-ös porthoz!
A porttartomány úgy lett megadva, hogy a keresést a portokra korlátozza 20 - 30 , és növekvő sorrendben szkenneljük.
Megadhatja a vizsgálandó portok listáját is, például:
Nc -zv host.example.com 80 20 22 nc: csatlakozás a host.example.com webhelyhez 80 (tcp) sikertelen: Kapcsolat megtagadva nc: csatlakozás a host.example.com webhelyhez 20 (tcp) sikertelen: A csatlakozás megtagadva Sikerült a csatlakozás a host.example.com porthoz!
A portok ellenőrzése az Ön által megadott sorrendben történik.
Alternatív megoldásként hasznos lehet tudni, hogy melyik kiszolgálószoftver fut, és melyik verzióban. Ezt az információt gyakran az üdvözlő szalaghirdetések tartalmazzák. Ezek lekéréséhez először létre kell hozni egy kapcsolatot, majd a szalaghirdetés lekérésekor meg kell szakítani a kapcsolatot. Ez úgy érhető el, hogy megad egy kis időtúllépést a -w zászlót, vagy esetleg egy "QUIT" parancs kiadásával a szervernek:
Echo "QUIT" | nc host.example.com 20-30 SSH-1.99-OpenSSH_3.6.1p2 Protokolltérés. 220 host.example.com IMS SMTP vevő, 0.84-es verzió, kész
TCP-kapcsolatot nyit meg a porthoz 42 nak,-nek host.example.com, port használatával 31337 forrásportként, időtúllépéssel 5 másodpercig.
nc -u host.example.com 53 nc -x10.2.3.4:8080 -Xconnect -Pruser host.example.com 42
Ugyanaz, mint a fenti példában, de ezúttal engedélyezi a proxy hitelesítést felhasználónévvel " ruser", ha a proxy megköveteli.
ifconfig- A hálózati interfészek konfigurációjának megtekintése vagy módosítása.
Ebben a cikkben megnézem a népszerű netcat hálózati segédprogramot és néhány hasznos trükköt a használatához.
A Netcat egy Unix segédprogram, amely lehetővé teszi TCP és UDP kapcsolatok létrehozását, adatok fogadását és továbbítását. Hasznossága és egyszerűsége ellenére sokan nem tudják, hogyan kell használni, és méltánytalanul megkerülik.
Ezzel a segédprogrammal végrehajthat néhány lépést a behatolási tesztelés során. Ez akkor lehet hasznos, ha a támadott gépen nincsenek telepített csomagok (vagy nem vonják magukra a figyelmet), vannak korlátozások (például IoT/beágyazott eszközök) stb.
Mit lehet tenni a netcat segítségével:
Általánosságban elmondható, hogy a netcat használatával a unix segédprogramok egy része lecserélhető, így ez az eszköz egyfajta kombájnnak tekinthető bizonyos feladatok elvégzéséhez.
Sok esetben, ha egy adott gazdagépet ellenőrizni kell, telnetet vagy saját szolgáltatásaikat használják a gazdagép vagy szalagcím azonosítására. Hogyan segíthet nekünk a netcat:
nc: csatlakozás a 192.168.1.100 12345 (tcp) címhez nem sikerült: A csatlakozás megtagadva
Sikerült a csatlakozás a 192.168.1.100 22 porthoz!
SSH-2.0-OpenSSH
Egy ilyen vizsgálattal nem lesz kapcsolat a porttal, csak a sikeres kapcsolat kimenete:
nc: csatlakozás a 192.168.1.100 20-as porthoz (tcp) sikertelen: A csatlakozás megtagadva
nc: csatlakozás a 192.168.1.100 21-es porthoz (tcp) sikertelen: A csatlakozás megtagadva
0 asszociációt talált
1 kapcsolatot találtam:
1: zászlók=82
outif en0
src 192.168.1.100 50168-as port
dst 192.168.1.100 22-es port
rang információ nem elérhető
TCP aux információ elérhető
Sikerült a csatlakozás a 192.168.1.100 22-es porthoz!
nc: csatlakozás a 192.168.1.100 23-as porthoz (tcp) sikertelen: A csatlakozás megtagadva
nc: csatlakozás a 192.168.1.100 24-es porthoz (tcp) sikertelen: A csatlakozás megtagadva
Root jogosultságok szükségesek az UDP-portok nmap segítségével történő vizsgálatához. Ha nincsenek ott, ebben az esetben a netcat segédprogram is segítségünkre lehet:
Sikerült a csatlakozás a 192.168.1.100 5555-ös porthoz!
Ez akkor lehet hasznos, ha hálózati eszközökkel kommunikál.
Az első üzenet után a kimenet leáll. Ha több üzenetet kell kapnia, akkor a true értéket kell használnia:
Fájl átvitel. A netcat használatával egyszerre fogadhat fájlokat és továbbíthat fájlokat egy távoli gazdagépre:
A Netcat egyszerű webszerverként működhet a html oldalak megjelenítésére.
Böngésző használatával: http://netcat host:8888/index.html. A szabványos webszerver 80-as portjának használatához az nc-t root jogosultságokkal kell futtatnia:
Az első csomóponton (192.168.1.100):
A második csomóponton:
A parancsok végrehajtása után bármelyik csomópont terminálablakába beírt összes karakter megjelenik a másik csomópont terminálablakában.
A netcat segítségével kényelmesen megszervezhet egy fordított shellt:
Most már csatlakozhat a távoli gazdagépről:
Nem szabad feladni, ha nincsenek bizonyos eszközök, sokszor elég körülményes, néha rögtönzött eszközökkel is megoldható a feladat.