Netcat

Fejlesztő*Hobbit*
Legfrissebb stabil kiadás1.10
(1996. március 20.)
Operációs rendszerUNIX
PlatformMicrosoft Windows
KategóriaHálózatok, Kiegészítők
LicencPermissive free software licence[1]
A Netcat weboldala

A netcat egy számítógépes hálózati szolgáltatás, mely olvas és ír a TCP vagy UDP hálózati kapcsolatokat használva. A netcat célja, hogy megbízható "back-end" eszköz legyen, amely közvetlenül vagy könnyen felhasználható más programok és szkriptek által. Ugyanakkor ez egy funkciókban gazdag hálózati hibakereső és vizsgálati eszköz, mert képes szinte bármilyen szükséges korrelációt előállítani, és számos beépített képessége is van. 2000-ben a www.insecure.org szerint a netcat volt a második legnagyobb működő hálózati biztonsági eszköz. 2003-ban és 2006-ban a negyedik helyet érte el ugyanabban a kategóriában. A netcat-ot gyakran nevezik a "TCP / IP svájci-bicskájának." Az összetevők listája tartalmazza a port szkennelést, fájlok átvitelét, és a port hallgatást – ezért ”hátsó ajtóként” (backdoor)is használható.

Szolgáltatások

[szerkesztés]

Néhány a netcat fő szolgáltatásai közül:[2]

Példák

[szerkesztés]

Nyers kapcsolat létrehozása a 25. porton (mint a telnet esetén)

[szerkesztés]
nc mail.server.net 25

Egy ”one-shot webserver” létrehozása a 8080. porton, fájlba írással

[szerkesztés]
{ echo -ne "HTTP/1.0 200 OK\r\n\r\n"; cat some.file; } | nc -l -p 8080
{ echo -ne "HTTP/1.0 200 OK\r\nContent-Length: " `wc -c some.file | cut -f 1 -d ' '` "\r\n\r\n"; cat some.file; } | nc -l 808

A fájl elérhető egy webböngészőn keresztül a http://servername:8080/ címen. A netcat csak egyszer készíti el a fájlt, amikor az első felhasználó csatlakozik, az utána már elérhető. A második lehetőség a fájl hosszát a böngésző elvárásaihoz igazítja. Jegyezzük meg, hogy a –p kapcsoló szükséges lehet a figyelt port azonosításához az nc egyes változataiban.

Ellenőrzés, ha az UDP portok (-u) nyitottak a 192.168.0.1 címen, zero mode I/O-t használva (-z)

[szerkesztés]
nc -vzu 192.168.0.1 80-90

Jegyezzük meg, hogy az UDP tesztek mindig „open”-t mutatnak. Az –uz kapcsoló hasztalan.

Pipe UDP-vel (-u) 1 másodperc várakozási idővel (-w) a ’loggerhost’-on, az 514-es port használatával

[szerkesztés]
echo '<0>message' | nc -w 1 -u loggerhost 514

Port szkennelés

[szerkesztés]

A netcat ritkán használt port szkennelésre. A netcat nem a lehető legjobb megoldás erre a munkára, de elegendő lehet. (Az Nmap egy sokkal megfelelőbb eszköz.)

nc -v -n -z -w 1 192.168.1.2 1-1000

A –n kapcsoló megelőzi a DNS lookup-t, a –z beállítja hogy az nc ne fogadjon a szervertől adatokat, és a –w 1 határozza meg a kapcsolat időtúllépését inaktivitás esetén.

Proxy

[szerkesztés]

Ugyancsak hasznos, ha a netcat-ot proxy-ra használjuk. A portok és a kiszolgálók egyaránt átirányíthatóak.

nc -l 12345 | nc www.google.com 80

A 12345. port reprezentálja a kérelmet.

A fenti parancs elindít egy nc szervert a 12345. porton, és az összes kapcsolat átirányításra kerül a google.com:80 –ra. Ha a böngésző kérelmet intéz az nc-hez, a kérelem a google-hoz lesz küldve, de a válasz nem lesz elküldve a böngészőnek. Ez azért van így, mert a pipe-ok egyirányúak. Egy elnevezett pipe átirányíthatja az input-ot és az output-ot.

mkfifo backpipe
nc -l 12345  0<backpipe | nc www.google.com 80 1>backpipe

A –c kapcsoló is használható:

nc -l 12345 -c 'nc www.google.com 80'

Folyamat létrehozása a szerveren

[szerkesztés]

Az A számítógépen (IP: 192.168.1.2):

nc -l -p 1234 -e /bin/bash

A –e kapcsoló kényszeríti az alkalmazást, hogy az input és output kommunikációja a hálózati kapcsolaton keresztül történjen. A következő A állomást bármely másik állomáshoz csatlakoztatja adott hálózatban:

nc 192.168.1.2 1234
ls -las
total 4288
4 drwxr-xr-x 15 imsovain users 4096 2009-02-17 07:47 .
4 drwxr-xr-x 4 imsovain users 4096 2009-01-18 21:22 ..
8 -rw------- 1 imsovain users 8192 2009-02-16 19:30 .bash_history
4 -rw-r--r-- 1 imsovain users 220 2009-01-18 21:04 .bash_logout
...

A következtetés tehát az, hogy az nc egy közkedvelt cracker eszköz arra, hogy backdoor-t[3] hozzunk létre bármely számítógépen. Egy linuxos rendszeren a /bin/bash, egy windowsos rendszeren pedig a cmd.exe uralmunk alá hajtásával kényszeríthetjük engedelmességre a gépet.

Port továbbítás, vagy port térképezés

[szerkesztés]

Linux alatt a netcat alkalmazható port továbbításra (port forwarding) is. Alább kilenc különböző mód van feltüntetve, amellyel ezt megvalósíthatjuk. (A –c kapcsoló nem feltétlenül támogatott.)

nc -l -p port1 -c ' nc -l -p port2'
nc -l -p port1 -c ' nc host2 port2'
nc -l -p port1 -c ' nc -u -l -p port2'
nc -l -p port1 -c ' nc -u host2 port2'
nc host1 port1 -c ' nc host2 port2'
nc host1 port1 -c ' nc -u -l -p port2'
nc host1 port1 -c ' nc -u host2 port2'
nc -u -l -p port1 -c ' nc -u -l -p port2'
nc -u -l -p port1 -c ' nc -u host2 port2'

A proxy beállítását tekintsd meg a Netcat#Proxy résznél.

Változatok

[szerkesztés]

Kapcsolódó szócikkek

[szerkesztés]

Jegyzetek

[szerkesztés]
  1. Copyright file. Debian. [2008. december 26-i dátummal az eredetiből archiválva]. (Hozzáférés: 2008. szeptember 6.)
  2. http://nc110.sourceforge.net/
  3. https://en.wikipedia.org/wiki/Backdoor_(computing)
  4. https://en.wikipedia.org/wiki/Rewrite_(programming)
  5. https://en.wikipedia.org/wiki/Chris_Wysopal
  6. https://hu.wikipedia.org/wiki/IPhone
  7. https://en.wikipedia.org/wiki/BusyBox

További információk

[szerkesztés]