PsExec a Ošklivé Věci, které Může Dělat
Většina z nástrojů, které používáme ke správě sítě mají tendenci být dvousečný meč. Tyto nástroje poskytují velkou flexibilitu a umožňují snadnou správu zařízení, služeb a softwaru. Ve správných rukou se nemáme čeho bát, ale ve špatných rukou se naše nástroje pro vzdálenou správu stávají silnými zbraněmi, které mohou útočníci použít k provádění široké škály škodlivých činností., V tomto článku budu hovořit o nástroji, který odpovídá tomuto popisu. Tento nástroj je nástroj Microsoft Sysinternals PsExec. V tomto článku se chystám poskytnout přehled o tom, co je PsExec a jaké jsou jeho schopnosti z administrativního hlediska. Po tomto, vezmu roli protivníka a ukážu některé ošklivé věci, pro které lze v síti použít.
tento článek si klade za cíl sloužit dvěma divákům., První publikum se skládá ze správců systému, kteří jsou zodpovědní za ochranu svých sítí před používáním nástrojů, jako je PsExec pro škodlivé účely. Ostatní zamýšlené publikum se skládá z etických hackerů a profesionálních penetračních testerů,kteří mohou získat nějaký užitek z toho, že vědí něco víc o některých věcech, pro které může být PsExec použit., Bez ohledu na to, které publikum, které spadají do jeho důležité, že jsem se poskytují upozornění, že některé příkazy a techniky jsem diskutovat zde může být docela ilegální v závislosti na okolnostech, v nichž jsou použity, tak jsem nutkání postupovat s opatrností, pokud žádné akce, které užíváte, může být sporné.
co je PsExec?
PsExec nástroj byl navržen jako součást PsTools suite, původně vyvinut Mark Russinovich ze Sysinternals, nyní ve vlastnictví společností Microsoft., Nástroj je vytvořen jako nástroj pro vzdálenou správu založený na příkazovém řádku a umožňuje vzdálené provádění procesů v jiných systémech. Je velmi flexibilní v tom, že umožní spíše použití alternativních přihlašovacích údajů než pověření uživatele, který je provádí, což znamená, že můžete spravovat zařízení oddělená hranicemi domény a webu. PsExec může nejen spouštět programy ve vzdáleném systému, ale může také přesměrovat vstup a výstup konzoly mezi systémy, takže můžete vzdáleně Používat interaktivní nástroje.,
Na rozdíl od většiny softwaru přidruženého k Microsoftu nejsou vnitřní fungování PsExec žádným tajemstvím a jsou poměrně jednoduché. PsExec umožňuje přesměrování vstupu a výstupu vzdáleně spustit spustitelný pomocí SMB a skryté $ADMIN podíl na vzdáleném systému. Díky této akcii používá PsExec API Správce služeb Windows ke spuštění služby PsExecsvc ve vzdáleném systému, který vytváří pojmenovanou trubku, se kterou PsExec komunikuje. Toto pojmenované potrubí umožňuje přesměrování vstupu / výstupu zpět do systému, který spustil PsExec.,
Hrát Pěkný s PsExec
podle jeho původní design, PsExec může být použit k tomu mnoho velmi užitečných věcí, které mohou pobočník správce systému. Jeden takový scénář, že jsem se ocitl v několikrát je ten, ve kterém jsem známý název DNS počítače, ale ne přesné nastavení konfigurace IP (DNS server, výchozí brána, atd.). Za normálních okolností bych k určení těchto informací použil ipconfig v místním systému., V naprosté většině případů však, to by mohlo znamenat, že bych musel jet na jiné místo nebo si půjčit počítač uživatele, neodmyslitelně snižuje jejich produktivitu za den. Vzhledem k tomu, ipconfig nemá schopnosti pro běh proti non-místní stroj, mohu použít PsExec úspěšně spustit, jak je znázorněno na obrázku 1.
Obrázek 1: Pomocí PsExec spuštění příkazu ipconfig na vzdáleném systému,
Po PsExec se říká, že vzdálený počítač je určen po dvojité lomítko (\\), následuje příkaz ipconfig., Když spustíte PsExec, je výchozí do adresáře % SYSTEM% ve vzdáleném systému, na kterém se pokoušíte spustit příkaz, a proto jsem zde nemusel specifikovat úplnou cestu. A konečně, /all switch Pro ipconfig je určen pro výstup všech dostupných informací ipconfig.
Další běžnou implementací PsExec je použití pro nasazení aktualizací, záplat a oprav hotfixů. Ačkoli typickým preferovaným způsobem, jak toho dosáhnout, je skupinová politika, mohou existovat případy, kdy je tato metoda příliš pomalá., Byl jsem v mnoha situacích, kdy jsem potřeboval nasadit bezpečnostní patch s vysokou prioritou, která nemůže čekat dobu trvání standardní skupiny politiky obnovovací čas, takže jsem se obrátil na PsExec nasadit soubor v rychlejším způsobem. Příklad toho je vidět na obrázku 2.
Obrázek 2: Spuštění spustitelné opravy vzdáleně
příkazový obrázek výše využívá některé další funkce. Nejprve si všimněte, že za dvojitým lomítkem (\\) jsou oddělena čárkami dvě jména počítačů., PsExec umožňuje zadat více cílových zařízení zde, nebo alternativně, soubor obsahující seznam názvů zařízení nebo adres. Příkaz také obsahuje přepínač / c, který se používá, když chcete zadat soubor v místním systému, který má být proveden ve vzdáleném systému. V tomto případě jsem zadal opravu souboru.exe. Soubor je umístěn na mém místním systému v kořenovém adresáři jednotky C, takže jsem musel zadat úplnou cestu k souboru. Přepínač / C ve výchozím nastavení vypadá v adresáři %SYSTEM% v místním systému., Jak vidíte, soubor je úspěšně proveden a výstup je přesměrován zpět na místní konzoli, ze které spouštíme PsExec.
Poslední přátelské použití PsExec i “ zjistil jsem, že je velmi výhodné, je používat jej vzdáleně spravovat systémy vyšší úrovně oprávnění při používání systému pod nižším privilegovaným účtem. Nemohu spočítat, kolikrát jsem byl na místě pracuje na počítači uživatelů a já jsem dostal hovor, který vyžaduje, abych provést administrativní funkci, jako je změna hesla., Samozřejmě, že v prostředí Active Directory jsem mohl jen RDP do řadiče domény a provést tuto změnu, ale já jsem měl několik klientů, kteří nepoužívají active directory nebo RDP z různých důvodů. Pokud tomu tak je, je poměrně snadné vyskočit na USB flash disk a získat přístup k kopii PsExec, kterou jsem na něm nainstaloval. V případě obrázku 3 jsem použil PsExec k resetování hesla uživatelů v systému zvýšením oprávnění “ nástroje net, Jak provádí PsExec.,
Obrázek 3: Změna user“s heslem, které povznášejí PsExec“s právy
Dělat Ošklivé Věci s PsExec
„s vzít na procházku na temné straně a podívat se na některé věci, které může být provedeno s PsExec od těch s potenciálně zlé úmysly. Za prvé, pojďme zvážit scénář, ve kterém útočník získal pověření pro systém, ale nemá žádný přímý přístup k němu., V tomto případě se útočník snaží získat GUI nebo kontrolu nad příkazovým řádkem systému, ale možnosti dostupné pro použití těchto pověření mohou být omezené. Jednou z metod, která může být v této situaci užitečná, je použití PsExec ke spuštění spustitelného souboru backdoor v systému, jako je to, co je znázorněno na obrázku 4.
obrázek 4: škodlivý spustitelný soubor je spuštěn vzdáleně
v případě tohoto snímku obrazovky vzdálený útočník používá PsExec s přepínačem / C ke spuštění místního souboru nc.exe na vzdáleném systému., Spolu s tím se přepínače-u A-p používají k zadání kompromitovaného uživatelského jména a hesla, aby mohl být soubor proveden s oprávněními úrovně root. Bez vědomí oběti, soubor, který je tiše popraven ve skutečnosti zadní vrátka, která umožní útočníkovi připojit k systému a získat příkazového řádku pro správu.
zajímavá věc o útoku, na který jsme se právě podívali,je to, že k jeho provedení nepotřebujete heslo uživatele. Ve skutečnosti vše, co potřebujete, je uživatelské jméno a heslo hash uživatele., V systému Windows, matematické výpočty jsou aplikovány na uživatele dodávané hesla, aby tyto hesla do šifrované pevné délky řetězce, tzv. hash. Tyto hashe jsou bezpečnostní funkce, která má zabránit přenosu jasných textových hesel v síti. Když dojde k autentizaci, tyto hash hesla jsou odesílány z jednoho hostitele do druhého. Pomocí PsExec to lze využít jednoduše zadáním hash hesla namísto hesla, znázorněné na obrázku 5.,
Obrázek 5: Pomocí hesla hash aby spustit soubor vzdáleně
Tento příklad je stejný jako ten, který viděli na Obrázku 4, jediný rozdíl je, že hash hesla se používá místo hesla. Přijímající systém nemá problém přijmout tento hash pro účely autentizace. Existuje celá řada metod pro získání hesla hash, které jsou trochu nad rámec tohoto článku. Napsal jsem další článek na toto téma, které si můžete prohlédnout zde.,
dalším elegantním trikem, který PsExec umožňuje, je možnost přístupu k souborům a procesům tření pomocí vestavěného účtu systému. Systémový účet na počítači se systémem Windows je nejvýkonnější účet a umožňuje přístup k téměř cokoliv, včetně některých položek, které nejsou přístupné účtu správce a Uživatelem vytvořené účty.. Obrázek 6 poskytuje příklad pro přístup k aplikaci regedit.,
Obrázek 6: Přístup k registru oběť
výše uvedený příkaz je spuštěn přímo na lokálním systému, ale určuje -s přepínač aby bylo možné použít místní SYSTÉMOVÝ účet. To je v kombinaci s-i (interaktivní) možnost, která běží regedit v interaktivním režimu. Spuštěním tohoto příkazu spustíte regedit se systémem access, který poskytuje další přístup k některým zajímavým souborům. Jedním z takových příkladů je soubor SAM, který obsahuje uživatelské heslo hash., Vzhledem k tomu správnou motivaci, útočník s přístupem do systému a PsExec mohl snadno extrahovat všechny hodnoty hash hesla ze systému pomocí této techniky, potenciálně poskytuje mu informace, které mohou umožnit ohrozit jiných systémů či účtů.
několik upozornění
pověření v clear-pokud máte obavy o to, kdo by mohl poslouchat ve vaší síťové aktivitě, pak PsExec pravděpodobně není nejlepším nástrojem k použití., PsExec přenáší všechny pověření uživatele jsou poskytovány v jasné, což znamená, že pokud zadáte uživatelské jméno a heslo pro přístup k systému na dálku, někdo s kopií Wireshark nebo Tcpdump spuštěny může zachytit přihlašovací údaje.
Antivirus Detekce – kdysi To není tak moc problém, ale teď, že většina virus skenování aplikace dělat některé úrovně systému a sledování paměti většina z nich bude chytit PsExec používán na systém jejich monitorování., Pokud děláte penetrační test na systému Windows a PsExec nefunguje tak, jak by mělo být, pak je pravděpodobné, že jste stále blokovány antivirus, a ještě horší, můžete být nechat koncového uživatele vědět, že jste pohrává s jejich systémem.
PsExec a Metasploit-pokud je to možné, už nikdy nepoužívám PsExec sám. Upravená verze PsExec je nyní součástí rámce Metasploit. Metasploit je penetrační testování rámec, který poskytuje poměrně málo funkcí., Pokud chcete použít PsExec pro nějakou formu posouzení bezpečnosti, pak s ohledem na zkoumání přidané funkce, kterou Metasploit poskytuje. Vlastně jsem použil tuto verzi PsExec v článku, který jsem napsal dříve o předávání Hash techniky.
závěr
nástroj PsExec má mnoho využití pro různé záměry uživatele. Doufejme, že tento článek vám pomohl vzdělávat vás o některých jeho funkcích a o tom, jak je lze použít pro špatné jednání. PsExec je druh nástroje, který umožňuje útočníkovi být kreativní., Přestože jsem zde použil pouze několik jedinečných použití nástroje, troufám si říci, že pomocí jeho sady funkcí jsou k dispozici desítky nebo dokonce stovky zajímavých útočných vektorů. V určitém okamžiku budu plánovat psaní následného článku obsahujícího zajímavější a pokročilejší použití pro PsExec. Mezitím, pokud máte nějaké zajímavé triky PsExec, neváhejte mi napsat přímo pro zařazení do dalšího článku.