Telnet

Přihlášení

Služba Telnet je sice také službou modelu klient/server, ale její větší význam spočívá v realizaci vzdáleného přihlášení (remote interactive computing) na bázi protokolu Telnet, pak nám dejte vědět o vzdáleném přihlášení.

Definice

Nejprve se podívejme na to, co je přihlášení: Systém sdílení času umožňuje více uživatelům používat počítač současně. Aby byla zajištěna bezpečnost systému a pohodlí účtování, systém vyžaduje každého Uživatel má jako přihlašovací identifikaci samostatný účet a systém také každému uživateli přiděluje heslo. Před použitím systému musí uživatel zadat ID a heslo. Tento proces se nazývá „přihlášení“. Vzdálené přihlášení se týká procesu, ve kterém uživatelé používají příkazy Telnet k dočasnému nastavení svého počítače jako emulačního terminálu vzdáleného hostitele. Emulační terminál je ekvivalentní neinteligentnímu stroji. Zodpovídá pouze za předání každého znaku zadaného uživatelem hostiteli a poté za ozvěnu každého výstupu informací hostitele na obrazovce.

Generování a vývoj

Nejprve si můžeme představit službu, která poskytuje vzdálené úpravy textu. Realizace této služby vyžaduje server, který přijímá požadavky na úpravu souborů a dat, a klienta, který tento požadavek odesílá. stroj. Klient naváže spojení TCP z místního počítače se serverem. To samozřejmě vyžaduje odpověď ze serveru a poté odešle zadané informace (informace o úpravě souboru) na server a přečte výstup vrácený ze serveru. Výše uvedené je standardní a běžná služba typu klient/server.

Zdá se, že s modelem služby klient/server lze vyřešit všechny vzdálené problémy. Realita však není tak jednoduchá, jak si myslíte. Pokud potřebujeme pouze upravovat soubory na dálku, pak služba, kterou jsme právě vymysleli, může být adekvátní, ale pokud naše požadavky nejsou tak jednoduché, chceme také realizovat vzdálenou správu uživatelů, vzdálené zadávání dat a vzdálenou údržbu systému, pokud chcete abychom dosáhli všech operací, které lze na vzdáleném hostiteli implementovat, pak budeme potřebovat velké množství dedikovaných serverových programů a používat serverový proces pro každou vyčíslitelnou službu. Problém, který následuje, je: vzdálený stroj bude velmi rychlý Přemožen serverovým procesem a ponořen do moře procesů (zde vyloučíme nejspecializovanější vzdálené stroje).

Existuje tedy řešení? K vyřešení toho všeho můžeme samozřejmě použít vzdálené přihlášení. Umožňujeme uživatelům vytvořit přihlašovací relaci na vzdáleném počítači a poté provádět příkazy, aby dosáhli stejného výsledku jako místní operace. Tímto způsobem můžeme přistupovat ke všem dostupným příkazům na vzdáleném systému a návrhář systému nemusí poskytovat více vyhrazených serverových programů.

Zdá se, že problém zde čeká světlou budoucnost. Použití vzdáleného přihlášení by mělo vždy vyřešit problém, ale není snadné dosáhnout vzdáleného přihlášení. Počítačové systémy, které neberou v úvahu návrh sítě, očekávají, že se uživatelé budou přihlašovat pouze z přímo připojených klávesnic a monitorů. Přidání funkcí vzdáleného přihlášení do takových strojů vyžaduje úpravu operačního systému stroje, což je extrémně obtížné a snažíme se tomu vyhnout. Proto bychom se měli zaměřit na konstrukci softwaru serveru pro vzdálené přihlášení, i když je to také obtížnější. Proč je to obtížnější?

Například: Operační systém obecně přiřazuje některým speciálním klávesám speciální význam. Například místní systém interpretuje 'Ctrl+C' jako: 'Ukončit aktuálně spuštěný příkazový proces'. Předpokládejme však, že jsme již spustili software serveru pro vzdálené přihlášení, „Ctrl+C“ nemusí být přeneseno do vzdáleného počítače, pokud klient skutečně přenáší „Ctrl+C“ na vzdálený počítač, pak příkaz „Ctrl+C“ nemusí být schopen ukončit místní proces, což znamená, že zde pravděpodobně dojde k záměně. A to je jen jeden z problémů.

Navzdory technickým potížím se systémovým programátorům podařilo vytvořit software serveru pro vzdálené přihlášení, který lze použít na většinu operačních systémů, a vytvořit aplikační software, který funguje jako klient. Klientský software obvykle zruší místní interpretaci všech klíčů kromě jednoho klíče a podle toho převede tyto místní interpretace na vzdálené interpretace. Díky tomu je interakce mezi klientským softwarem a vzdáleným počítačem stejná, jako když sedíte na vzdáleném hostiteli, stejná jako dříve, čímž se zabrání výše uvedenému zmatku. Jediný klíč výjimky může přivést uživatele zpět do místního prostředí.

Server pro vzdálené přihlášení je navržen jako software na úrovni aplikace a existuje další požadavek, a to, že operační systém musí poskytovat podporu pro pseudoterminál (pseudoterminál). K popisu vstupního bodu operačního systému používáme pseudoterminály, což umožňuje programům, jako jsou servery Telnet, přenášet znaky do operačního systému a způsobuje, že znaky pocházejí z místní klávesnice. Pouze s použitím takového operačního systému může být vzdálený přihlašovací server navržen jako software na úrovni aplikace (jako je software serveru Telnet), jinak místní operační systém a přenos vzdáleného systému nebudou schopny identifikovat informace přenášené z druhého straně (protože mohou identifikovat pouze slave Informace zadané na místní klávesnici), vzdálené přihlášení se nezdaří.

Navržení serveru pro vzdálené přihlášení jako softwaru na úrovni aplikace má své zjevné výhody: je snazší upravovat a ovládat server než vkládat kód do operačního systému. Má ale také nedostatek v nízké účinnosti (obsah bude vysvětlen později). Naštěstí rychlost, s jakou uživatelé zadávají informace, není vysoká, takže tento návrh je stále přijatelný.

Pracovní proces

Při použití protokolu Telnet pro vzdálené přihlášení musí být splněny následující podmínky: na místním počítači musí být nainstalován klientský program obsahující protokol Telnet; IP adresa vzdáleného hostitele nebo název domény; musíte znát přihlašovací ID a heslo.

Služba vzdáleného přihlášení Telnet je rozdělena do následujících 4 procesů:

1) Navažte spojení mezi místním a vzdáleným hostitelem. Proces je ve skutečnosti navázání TCP spojení a uživatel musí znát IP adresu nebo název domény vzdáleného hostitele;

2) Uživatelské jméno a heslo zadané na místním terminálu a jakékoli později zadané příkazy nebo znaky jsou převedeny do formátu NVT (NetVirtualTerminal) na vzdáleném hostiteli. Tento proces ve skutečnosti odešle datový paket IP z místního hostitele vzdálenému hostiteli;

3) Převeďte data ve formátu NVT na výstupu vzdáleného hostitele do formátu akceptovaného místním hostitelem a odešlete je zpět na místní terminál, včetně vstupních příkazů Echo a výsledků provádění příkazů;

4) Nakonec místní terminál zruší připojení ke vzdálenému hostiteli. Proces spočívá v zrušení připojení TCP.

Výše uvedený obsah pojednává pouze o nejzákladnějších věcech vzdáleného přihlášení. Složitost a útrapy programátorů jsou pro nás nepředstavitelné. Nevím, jestli na to myslíte při pohodlném používání Telnetu!

Funkce

Použití

Telnet je standardní protokol a hlavní metoda služby vzdáleného přihlášení k internetu. Původně byl vyvinut společností ARPANET a nyní se používá hlavně pro internetové relace. Základní funkcí je umožnit uživatelům přihlásit se do vzdáleného hostitelského systému.

Telnet nám umožňuje sedět před svým počítačem a přihlásit se k jinému vzdálenému počítači přes internet. Tento počítač může být ve vedlejší místnosti nebo na druhé straně země. Po přihlášení ke vzdálenému počítači je místní počítač ekvivalentní terminálu vzdáleného počítače. Můžeme přímo manipulovat se vzdáleným počítačem s naším vlastním počítačem a využívat stejné provozní oprávnění jako místní terminál vzdáleného počítače.

Hlavním účelem Telnetu je využívat informační zdroje na vzdáleném počítači, které místní počítač nemá. Pokud je hlavním účelem dálkového ovládání přenos souborů mezi místním počítačem a vzdáleným počítačem, použije se pro srovnání FTP. Bude rychlejší a efektivnější.

Proces interakce

Když použijeme Telnet k přihlášení do systému vzdáleného počítače, spustí se ve skutečnosti dva programy: jedním je klientský program Telnet, který běží na místním hostiteli; druhým je program Telnet serveru, který běží na vzdáleném počítači, ke kterému se chcete přihlásit.

Klientský program Telnet na místním hostiteli dokončuje především následující funkce:

  • Nastavte TCP spojení se vzdáleným serverem.

  • Příjem místně zadaných znaků z klávesnice.

  • Vstupní řetězec je převeden do standardního formátu a odeslán na vzdálený server.

  • Získejte výstupní informace ze vzdáleného serveru.

  • Zobrazte tyto informace na obrazovce místního hostitele.

Program „servis“ vzdáleného hostitele se obvykle přezdívá „elf“. Obvykle tiše čeká na vzdáleném hostiteli a obdrží požadavek od místního hostitele. , Okamžitě se aktivuje a dokončí následující funkce:

  • Upozorněte místního hostitele, že vzdálený hostitel je připraven.

  • Počkejte, až místní hostitel zadá příkazy.

  • Reagujte na příkazy z místního hostitele (jako je zobrazení obsahu adresáře nebo spuštění programu atd.).

  • Odeslat výsledek provedení příkazu zpět do místního počítače k ​​zobrazení.

  • Znovu počkejte na příkaz z místního hostitele.

Na internetu mnoho služeb používá takovou strukturu klient/server. Uživateli většinou stačí porozumět programu klienta.

Bezpečnostní rizika

Ačkoli je Telnet relativně jednoduchý, praktický a pohodlný, Telnet není znovu používán v moderních síťových technologiích, které věnují zvláštní pozornost zabezpečení. Důvodem je, že Telnet je protokol pro přenos čistého textu, který přenáší veškerý uživatelský obsah včetně uživatelských jmen a hesel v čistém textu na internetu, což představuje určitá bezpečnostní rizika. Mnoho serverů se proto rozhodlo službu Telnet zakázat. Pokud chceme používat vzdálené přihlášení Telnet, měli bychom před použitím zkontrolovat a nastavit funkci povolení služby Telnet na vzdáleném serveru.

Protokol

Víme, že software serveru Telnet je náš nejběžněji používaný software serveru pro vzdálené přihlášení. Jedná se o typickou službu typu klient/server, která ke své práci využívá protokol Telnet. Co je tedy protokol Telnet? Jaké má vlastnosti?

Základní obsah

Telnet je protokol umístěný na 7. vrstvě modelu OSI --- aplikační vrstvě. Je to protokol, který poskytuje emulaci terminálu pro připojení ke vzdálenému hostiteli vytvořením protokolu TCP/IP virtuálního terminálu. Tento protokol vyžaduje ověření pomocí uživatelského jména a hesla a je standardním protokolem pro služby vzdáleného přihlášení k Internetu. Protokol Telnet může změnit počítač používaný místním uživatelem na terminál vzdáleného hostitelského systému. Poskytuje tři základní služby:

1) Telnet definuje síťový virtuální terminál, který poskytuje standardní rozhraní pro vzdálený systém. Klientské programy nepotřebují detailně znát vzdálený systém, stačí jim konstruovat programy, které používají standardní rozhraní;

2) Telnet obsahuje mechanismus, který umožňuje klientovi a serveru vyjednávat o možnostech, a také poskytuje sadu standardních možností; .

3) Telnet zpracovává oba konce připojení symetricky, to znamená, že Telnet nenutí klienta zadávat vstup z klávesnice, ani nenutí klienta zobrazovat výstup na obrazovce.

Přizpůsobit se heterogenním

Aby bylo možné interaktivní provoz Telnetu mezi více operačními systémy, je nutné mít podrobné znalosti o heterogenních počítačích a operačních systémech. Některé operační systémy například vyžadují, aby každý řádek textu končil ASCⅡ řídicím znakem návratu vozíku (CR), jiné systémy vyžadují posun řádku ASCⅡ (LF) a některé systémy vyžadují dvouznakovou sekvenci posunu řádku návratu vozíku (CR). ). -LF); Jiný příklad, většina operačních systémů poskytuje uživatelům klávesovou zkratku pro přerušení běhu programu, ale tato klávesová zkratka se může v každém systému lišit (některé systémy používají CTRL+C, zatímco jiné systémy používají ESCAPE). Pokud se nebere v úvahu heterogenita mezi systémy, znaky nebo příkazy vydávané lokálně budou pravděpodobně nepřesné nebo nesprávné poté, co byly přeneseny na vzdálené místo a interpretovány vzdáleným systémem. Proto musí tento problém vyřešit protokol Telnet. Protokol Telnet za účelem přizpůsobení se heterogennímu prostředí definuje způsob přenosu dat a příkazů na internetu. Tato definice se nazývá síťový virtuální terminál NVT (NetVirtualTerminal). Jeho aplikační proces je následující: Pro odeslaná data: klientský software převádí úhozy a sekvence příkazů z uživatelského terminálu do formátu NVT a odesílá je na server a serverový software převádí přijatá data a příkazy z formátu NVT do vzdálených umístění. . Formát požadovaný systémem; pro vrácená data: vzdálený server převede data z formátu vzdáleného stroje do formátu NVT a místní klient převede přijatá data formátu NVT do místního formátu. Pro podrobnou definici formátu NVT mohou přátelé, kteří mají zájem, najít relevantní informace.

Přenos vzdálených příkazů

Víme, že většina operačních systémů poskytuje různé klávesové zkratky pro implementaci odpovídajících ovládacích příkazů. Když uživatel zadá tyto klávesové zkratky v místním terminálu, místní systém provede odpovídající ovládací příkazy bez použití těchto klávesových zkratek jako vstupu. Co tedy Telnet používá k realizaci vzdáleného přenosu řídicích příkazů? Telnet také používá NVT k definování způsobu přenosu řídicích funkcí z klienta na server. Víme, že znaková sada ASCⅡ obsahuje 95 tisknutelných znaků a 33 řídicích kódů. Když uživatel lokálně zadá společný znak, NVT jej přenese podle jeho původního významu; když uživatel zadá klávesovou zkratku (kombinovanou klávesu), NVT jej převede na speciální znak ASCⅡ pro přenos v síti a poté se dostane ke vzdálenému počítači. Poté převede na odpovídající řídicí příkazy.

Důvod pro odlišení normální znakové sady ASCⅡ od řídicího příkazu:

1) Tento rozdíl znamená, že Telnet má větší flexibilitu: lze jej přenášet mezi klientem a serverem Všechny možné znaky ASCⅡ a všechny ovládací funkce;

2) Toto rozlišení umožňuje klientovi specifikovat signalizaci bez dvojznačnosti, aniž by došlo k záměně mezi ovládacími funkcemi a běžnými znaky. .

Datový tok

Jak jsme uvedli výše, existuje nedostatek navrhování Telnetu jako softwaru na úrovni aplikace, to znamená, že není efektivní. Proč je to? Datový tok v Telnetu je uveden níže:

Datové informace zadává uživatel z místní klávesnice a předává je klientskému programu prostřednictvím operačního systému. Klientský program jej zpracuje a vrátí operačnímu systému a operační systém jím prochází. Síťový přenos Odešlete data do vzdáleného stroje, vzdálený operační systém odešle přijatá data do programu serveru a po opětovném zpracování serverovým programem se vrátí do vstupního bodu pseudoterminálu v operačním systému. Nakonec vzdálený operační systém přenese data do aplikačního programu, který uživatel spouští. , Toto je kompletní vstupní proces; výstup bude přenášen ze serveru na klienta stejnou cestou. Kvůli každému vstupu a výstupu počítač několikrát přepne procesní prostředí a tato režie je velmi drahá. Naštěstí rychlost psaní uživatelem není vysoká a i tak se s tímto nedostatkem můžeme smířit. .

Vynutit příkaz

Takovou situaci bychom měli zvážit: Předpokládejme, že místní uživatel spouští nekonečnou smyčku nesprávných příkazů nebo programů na vzdáleném počítači a tento příkaz nebo program přestal číst vstup, pak vyrovnávací paměť operačního systému může být zaplněna. Pokud ano, vzdálený server již nemůže zapisovat data do pseudoterminálu a případně přestat číst data z TCP spojení, buffer TCP spojení nakonec bude plný, což zabrání toku dat do tohoto spojení. Pokud nastanou výše uvedené věci, místní uživatel ztratí kontrolu nad vzdáleným počítačem.

Aby se tento problém vyřešil, musí protokol Telnet používat externí signalizaci, aby server přinutil přečíst řídicí příkaz. Víme, že TCP používá k implementaci externí datové signalizace mechanismus nouzových dat, takže Telnet potřebuje pouze připojit rezervovaný oktet nazývaný datemark a upozornit server tím, že nechá TCP odeslat segment s nastavenými nouzovými datovými bity. To je vše, segment zpráv přenášející naléhavá data obejde řízení toku a dostane se přímo na server. V reakci na nouzovou signalizaci bude server číst a zahazovat všechna data, dokud nenajde datovou značku. Po nalezení datové značky se server vrátí k normálnímu zpracování.

Vzhledem k heterogenitě strojů a operačních systémů na obou koncích Telnetu je nemožné a nemělo by to striktně specifikovat podrobnou konfiguraci každého připojení telnet, jinak to výrazně ovlivní přizpůsobivost Telnetu heterogenitě. Proto Telnet používá k vyřešení tohoto problému mechanismus vyjednávání možností.

Škála voleb Telnetu je velmi široká: některé volby rozšiřují obecný směr funkce a některé systémy voleb zahrnují některé drobné detaily. Například: existuje možnost ovládat, zda Telnet pracuje v poloduplexním nebo plně duplexním režimu (velký směr); existuje také možnost umožnit serveru na vzdáleném počítači určit typ uživatelského terminálu (malé podrobnosti).

Metoda vyjednávání možností Telnetu je také velmi zajímavá. Zpracovává každou možnost symetricky, to znamená, že každý konec může odeslat žádost k vyjednávání; kterýkoli konec může žádost přijmout nebo odmítnout. Navíc, pokud se jeden konec pokusí vyjednat možnost, které druhý konec nerozumí, může strana přijímající požadavek jednoduše odmítnout vyjednávání. Proto je možné propojit novější, složitější verze klientského serveru Telnet se staršími, méně komplexními verzemi. Pokud klient i server rozumí novým možnostem, může se interakce zlepšit. V opačném případě se všechny přepnou do méně efektivního, ale fungujícího režimu, aby se spustily. Všechny tyto návrhy mají zlepšit přizpůsobení se heterogenitě, což ukazuje, jak důležitý je Telnet pro jeho aplikaci a vývoj.

Některé principy jsou popsány výše. I když je pro nás těžké se této úrovně v používání Telnetu dotknout, myslím, že je smysluplné jim porozumět a přinese nám to mnoho osvícení. . Pojďme se podívat na Telnet službu Win2000.

Vyjednávání dílčích možností

Některé možnosti nelze jednoduše vyjádřit „aktivací“ nebo „zakázáním“. Příkladem je zadání typu terminálu. Klientský proces musí odeslat řetězec ASCII k označení typu terminálu. Abychom se s takovými možnostmi vypořádali, musíme definovat mechanismus vyjednávání dílčích možností.

RFC1091[VanBokkelen1989] definuje, jak vyjádřit mechanismus vyjednávání dílčích možností typu terminálu. První připojená strana (obvykle klientský proces) odešle 3bajtovou sekvenci znaků, aby požádala o aktivaci této možnosti.

Tady 24 (desetinné) je ID číslo možnosti typu terminálu. Pokud přijímající strana (obvykle proces serveru) souhlasí, jsou data odpovědi:

Potom proces serveru odešle následující řetězec:

Tento řetězec se ptá na typ terminálu klientského procesu. SB je počáteční příznak příkazu pro vyjednávání dílčích možností. "24" v dalším byte znamená, že se jedná o dílčí možnost volby typu terminálu (obvykle hodnota volby za SB je obsah, který má být předložen pro dílčí možnost). "1" v dalším bajtu znamená "odeslat typ terminálu". Příznak end příkazu pro vyjednávání dílčích možností je také IAC, stejně jako SB je příznak příkazu start. Pokud je typ terminálu ibmpc, příkaz odezvy klientského procesu bude:

Čtvrtý bajt "0" představuje "můj typ terminálu je" (dokument AssignedNumbersRFC má formální hodnotu pro typ terminálu Definition, ale alespoň mezi systémy Unix může být typ terminálu reprezentován libovolnými údaji, které druhá strana Pokud jsou tato data definována v databázi termcap nebo terminfo). Během procesu vyjednávání dílčí volby Telnet je typ terminálu vyjádřen velkými písmeny, a když server obdrží řetězec, bude automaticky převeden na malá písmena.

Konfigurace

Vlastně z aplikační úrovně nemá služba Telnet Win2000 co říci, většinu obsahu lze získat ze souboru NÁPOVĚDA, jen jsem to dal trochu do pořádku. Win2000 nám poskytuje klientské a serverové programy Telnet: Telnet.exe je klientský program (Client), tlntsvr.exe je serverový program (server) a také nám poskytuje program pro správu serveru Telnet tlntadmn.exe.

Služba Telnet je ve výchozím nastavení nainstalována v systému Windows 2000, ale ve výchozím nastavení se nespouští. Následující text je součástí výchozího nastavení služby Telnet v souboru HELP:

AllowTrustedDomain: Určuje, zda má být povolen přístup uživatelům domény. Výchozí hodnota je 1, což umožňuje přístup uživatelům v důvěryhodných doménách. Lze jej změnit na 0: doménovým uživatelům není povolen přístup (povolen je pouze lokální uživatel).

Výchozí doména: Můžete nastavit libovolnou doménu, která má vztah důvěryhodnosti s počítačem. Výchozí hodnota je ".".

DefaultShell: Zobrazí umístění cesty instalace shellu. Výchozí hodnota je: %systemroot%\System32\Cmd.exe/q/k

MaxFailedLogins: Zobrazuje maximální počet neúspěšných pokusů o přihlášení před ukončením připojení. Výchozí hodnota je 3.

LoginScript: Zobrazí umístění cesty přihlašovacího skriptu serveru Telnet. Výchozí umístění je "%systemroot%\System32\login.cmd". Obsah skriptu můžete změnit tak, aby uvítací obrazovka pro přihlášení do Telnetu byla jiná.

NTLM: Možnost ověření NTLM. Výchozí hodnota je 2. Může mít následující hodnoty:

0: Nepoužívejte ověřování NTLM.

1: Nejprve zkuste ověření NTLM, pokud selže, použijte uživatelské jméno a heslo.

2: Používejte pouze ověřování NTLM.

TelnetPort: Zobrazuje port, na kterém server telnet naslouchá požadavkům telnet. Výchozí hodnota je: 23. Můžete také přejít na jiné porty.

K velmi pohodlné konfiguraci výše uvedených nastavení můžete použít tlntadmn.exe (program pro správu serveru Telnet). Po konfiguraci je třeba restartovat službu Telnet.

NTLM

Když zmiňujete telnet, musíte zmínit NTLM. Myslím, že to je pro vetřelce také nejproblematičtější věc. I když získáte administrátorský účet a heslo, považujte za jednoduché Předávání NTLM není snadné a telnet ve win2000 standardně používá pouze NTLM k ověření identity, takže musíme věnovat pozornost NTLM, takže co je NTLM?

Starší protokol SMB přenáší hesla v síti jako prostý text. Později se objevil autentizační mechanismus „LANManagerChallenge/Response“, zkráceně LM. Je velmi jednoduchý a snadno se rozlouskne. Microsoft následně navrhl ověřování WindowsNT výzva/odpověď. Mechanismus, konkrétně NTLM. Nyní existuje aktualizovaný autentizační systém NTLMv2 a Kerberos.

Proces

1. Klient nejprve lokálně zašifruje heslo aktuálního uživatele, aby se z něj stal hash hesla

2. Klient odešle svůj vlastní účet na server. Tento účet není šifrován a je přenášen přímo v prostém textu.

3. Server vygeneruje 16bitové náhodné číslo a odešle ho klientovi jako výzvu (otázka hesla; výzva)

4. Klient poté použije zašifrovanou hodnotu hash hesla k zašifrování výzvy a poté ji vrátí serveru. Jako odpověď (reakce)

5. Server odešle tři věci: uživatelské jméno, výzvu klientovi a odpověď vrácenou klientem řadiči domény.

6. Řadič domény používá toto uživatelské jméno k vyhledání hodnoty hash hesla uživatele v databázi správy hesel SAM a poté pomocí této hodnoty hash hesla zašifruje výzvu.

7. Řadič domény porovná dvě zašifrované výzvy, a pokud jsou stejné, ověření je úspěšné.

Z výše uvedeného procesu vidíme, že NTLM odesílá požadavek na přihlášení na server Telnet jako aktuální uživatel, místo aby se přihlašoval pomocí účtu a hesla správce druhého, které jste naskenovali. Je zřejmé, že se vám nepodaří přihlásit. Například váš domácí počítač se jmenuje A (místní počítač), počítač, který jste hackli, se jmenuje B (vzdálený počítač), váš účet na A je xinxin a heslo je 1234, skenujete ke správě B Uživatelský účet je Administrator a heslo je 5678. Když chcete Telnet do B, NTLM automaticky použije účet a heslo aktuálního uživatele jako přihlašovací údaje k provedení výše uvedených 7 operací, to znamená, že použije xinxin a 1234 místo skenování. Administrátor a 5678, které dorazily, a to vše se provádí automaticky, vám vůbec nedávají možnost zasáhnout, takže vaše přihlašovací operace selže.

Zobrazení

Vzhledem k tomu, že server Telnet má 3 možnosti pro použití NTLM, když Telnet použijete na vzdáleném počítači, zobrazí se jedna z následujících situací:

< p>1) Když je možnost ověření=0

============================== ======

Microsoft(R)Windows(TM)Verze5.00(Build2195)

Vítejte ve službě MicrosoftTelnetService

TelnetServerBuild5.00.99201 .1

přihlášení:

heslo:

Když \ je 0, ověřování NTML se nepoužívá, zadejte přímo uživatelské jméno a heslo, například můžete zadat naskenovaný správce a 5678

2) Když možnost ověření=1

=======================================

NTLMAuthenticationfailedduetoinsufficientcredentials.Pleaseloginwithcleartextusernameandpassword

Microsoft(R)Windows(TM)Verze5.00(Build2195)

Vítejte ve službě MicrosoftTelnetService

TelnetServerBuild5.00.99201.1

přihlášení:

heslo:

\Vyzkoušejte nejprve identitu NTLM Ověření, pokud se nezdaří, použijte uživatelské jméno a heslo. Ve skutečnosti se pro nás tato metoda neliší od předchozí metody.

3) Když je možnost ověření=2< /p>

=======================================

NTLMAuthenticationfailedduetoinsufficientcredentials.Pleaseloginwithcleartextusernameandpassword

Server povoluje pouze ověření NTLM

Server má uzavřené připojení

Chybí připojení k hostiteli.

C:\

\Pozorně se podívejte na výše uvedený displej, není zde vůbec žádná možnost zadat své uživatelské jméno a heslo, takže se můžete přímo odpojit a naskenovat heslo jako bílý sken

Takže pro vetřelce je NTLM hora před námi, musíme se jí zbavit. Obecně máme následující metody:

1 Změňte telnet úpravou konfigurace vzdáleného registru Server, změňte režim ověřování z 2 na 1 nebo 0;

2 Použijte NTLM.exe, spusťte jej přímo po nahrání a změňte režim ověřování serveru telnet z 2 na 1;

3 Vytvořte prověřovaného uživatele lokálně, otevřete klienta telnet jako tento uživatel a přihlaste se vzdáleně;

4 Použijte software, jako je opentelnet.exe (jsou vyžadována práva správce a je otevřen kanál IPC)

p>

5 Používejte skripty, jako je RTCS (Vyžaduje oprávnění správce, ale nespoléhá na kanály IPC)

V zásadě výše uvedených 5 typů, z nichž poslední dva jsou našimi běžněji používanými metodami pro otevření telnetu, a způsob použití je velmi jednoduchý, příkaz je následující:

OpenTelnet.exe\serverusernamepasswordNTLMAuthortelnetport

OpenTelnet.exe\adresa serveru správce uživatelské jméno heslo metoda ověření (vyplňte 0 nebo 1) port telnet

cscriptRTCS.vbetargetIPusernamepasswordNTLMAuthortelnetport

cscriptRTCS.vbe

Vzdálené přihlášení

Telnet se používá pro vzdálené přihlášení k internetu. To může uživatele přimět sedět na internetu. Před klávesnicí počítače je navzájem propojuje další počítač, který se připojil k internetu prostřednictvím sítě. Toto připojení se může stát s počítači ve stejné místnosti nebo s počítači, které byly online ve všech částech světa. Tradičně jsou spojeny. Počítač a počítač, který poskytuje služby všem uživatelům v síti, se nazývá server (Server) a stroj, který používáte, se nazývá klient (Klient). Po připojení může klient využívat všechny služby poskytované serverem. Uživatelé mohou spouštět obvyklý interaktivní proces (registrace pro zadávání, provádění příkazů) a mohou také přistupovat k mnoha speciálním serverům, jako je vyhledávání rejstříků knih. Lze využít různé služby poskytované různými hostiteli na internetu.

Telnet

(telnet)(n.)AterminalemulationprogramforTCP/IPnetworkssuchastheInternet.TheTelnetprogramrunsonyourcomputerandconnectsyourPCtoaserveronthenetwork.YoucanthenentercommandsthroughtheTelnetprogramandtheywillbeexecutedasifyouwereenteringthemdirectlyontheserverconicate ssword.TelnetisacommonwaytoremotelycontrolWebservers.

Příkaz Telnet

Nejjednodušší způsob, jak používat Telnet, je zadat do příkazového řádku:

%telnetremote-název-počítače(neboIP)< /p>

Je zde použit Cshell systému UNⅨ, protože výběr příkazu je znak procenta "%". Pokud používáte jiné počítačové systémy (např.: Dos, VAX/VMS, Macintosh), pouze příkazy Existují určité rozdíly v detailech, ale podstata je podobná. Zde je základní příklad použití Telnetu:

telnetporky.math.

Pokouším se o 129.237.128.11...

Connectedtoporky.math

Escapecharacteris'^]'.

SunOSUNⅨ (vepřové)

login:wl

heslo:xxxxxxx

Poslední přihlášení:TueMar2805:35fromns

SunOSRelease4.1.3_U1(SLIPPERY1)#3:SunNov2023:47:23CST1999

Nomatch.

if:syntaxe výrazu.

porky/serv/wl%ls

ahoj

porky/serv/wl%

porky/serv/ wl%cd/

porky/%ls

Mail/dev/home/mnt/sbin/

usr/

Zprávy/ doména/home1/net/serv/

var/

Record/etc/kadb*pcfs/sys@

vmunix*

bin@export/lib@printtmp/

bootgofer/lost+found/recordtmp_mnt/

vepřové/%

Výše uvedený příklad je použití Telnetu k nalezení vzdáleného počítače s názvem porky .math. Po nalezení tohoto počítače se počítač uživatele, který byl online, stane jedním z jeho terminálů. V tuto chvíli je dialog, který se objeví na obrazovce, stejný jako terminál, ke kterému se uživatel připojuje na hostiteli. Uživatel se musí přihlásit (login) a odhlásit (logout). Po přihlášení lze zadat jakýkoli příkaz vhodný pro vzdálený systém, protože „pro systém UNⅨ lze použít všechny standardní příkazy UNⅨ (jako ls a pwd) Když uživatel opustí vzdálený systém, opustí také Telnet, a může provozovat svůj vlastní lokální systém.Ve skutečnosti je Telnet nástroj, který lze zaregistrovat do vzdáleného počítačového systému.

Příkaz

nápověda online

otevřete a poté IP adresu nebo název domény pro vzdálené přihlášení

Close normálně ukončí vzdálenou relaci a vrátí se do příkazového režimu

zobrazit Zobrazení pracovních parametrů

režim zadejte příkaz řádku nebo znakový režim

odeslat odeslat speciální znaky vzdálenému hostiteli (pro zobrazení podrobných znaků zadejte send?)

nastavit pracovní parametry (typ set? pro zobrazení podrobných parametrů)

zobrazení stavu informace o stavu

přepnutím změníte pracovní parametry (zadáním přepnutí? zobrazíte podrobné parametry)

^] Escape znak (escapecharacter), ukončete relaci za neobvyklých okolností a vraťte se do příkazového režimu

quit Ukončete telnet a vraťte se na místní počítač

z přepne telnet do stavu pauzy

< p> Ukončete příkazový režim a vraťte se do režimu relace telnet

Problémy se zabezpečením programu telnet.exe

Doporučujeme upravit oprávnění, odstranit všechny uživatele a uložit pouze správce a SYSTÉM jako všechna oprávnění

p>

Často kladené otázky

1. Co je Telnet? Odpověď: Telnet je zkratka pro teletypenetwork, která se nyní stala vlastním podstatným jménem označujícím protokol a metodu vzdáleného přihlášení, rozdělenou na klienta Telnet a program Telnet Server. Telnet umožňuje uživatelům vzdáleně se přihlásit ke vzdálenému serveru Telnet na místním klientovi Telnet.

2. Jaká je funkce Telnetu? Odpověď: Telnet poskytuje funkci vzdáleného přihlášení, která uživatelům umožňuje být na místním hostiteli. Spusťte klienta Telnet, můžete se přihlásit ke vzdálenému serveru Telnet. Příkazy zadané lokálně lze spouštět na serveru a server vrátí výsledky místnímu, stejně jako při přímém provozu na konzole serveru. Tímto způsobem můžete dálkově ovládat a provozovat lokálně. Řídící server.

3. Jaké jsou pracovní režimy Telnetu? Odpověď: Pro Telnet existují čtyři pracovní režimy:

1) Half-duplex: Klient musí začít od Proces serveru získá příkaz GOAHEAD(GA). Nyní se používá zřídka.

2) Znaky po jednom: Klient odešle každý znak zadaný uživatelem na server samostatně a server odešle znak zpět klientovi. Je to výchozí metoda většiny programů Telnet. Možnost SUPPRESSGOAHEAD a možnost ECHO musí být platné současně.

3) Režim Kludgeline (kludgelinemode): Pokaždé, když uživatel zadá řádek informací, klient je jednou odešle na server. Tento režim se používá, když je jedna z výše uvedených dvou možností neplatná.

4) Linkový režim: podobný Metoda kvazicestování opravuje nedostatky metody kvazicestování. Novější program Telnet tuto metodu podporuje.

4. Jaké jsou funkce a význam možností SUPPRESSGOAHEAD a ECHO?

Odpověď: Pokud je aktivována možnost "GOAHEAD", jedná se o poloduplexní režim. Abyste mohli pracovat „po jednom znaku“, musíte tuto volbu potlačit, to znamená aktivovat“ Volba SUPPRESSGOAHEAD.ECHO aktivuje funkci echo.

Když jsou oba aktivovány současně, znamená to, že je převzat pracovní režim „po jednom znaku“.

5. Proč někdy nelze úspěšně navázat spojení Telnet? Jak to vyřešit

Odpověď: Pokud server není na portu 23, ale čeká, až se uživatelé připojí na jiných portech, Telnet v tuto chvíli selže a klient musí změnit připojený port.

p>

Telnet je navíc protokol pro přenos prostého textu. Z bezpečnostních důvodů jej mnoho firewallů deaktivuje. Pokud se potřebujete přihlásit vzdáleně, můžete nastavit bránu firewall, která umožní Telnet.

6. Telnet je přenášen v prostém textu, což představuje bezpečnostní rizika. Co bych měl dělat?

Odpověď: Telnet přenáší veškerý uživatelský obsah, včetně uživatelských jmen a hesel, v čistém textu na internetu, což představuje bezpečnostní riziko, takže mnoho serverů je zakázáno služby Telnet. Někdy je ale pro provoz nutné se vzdáleně přihlásit k serveru. V tuto chvíli si můžete vybrat program SSH (SecureShell) s funkcí šifrování.

Související články
HORNÍ