A PsExec és a csúnya dolgok, amikre képes
a hálózatok kezelésére használt eszközök többsége kétélű kard. Ezek az eszközök nagy rugalmasságot biztosítanak, és lehetővé teszik az eszközök, szolgáltatások és szoftverek könnyebb kezelését. A megfelelő kezekben nincs miért aggódnunk, de rossz kezekben a távoli adminisztrációs eszközök erőteljes fegyverekké válnak, amelyeket a támadók felhasználhatnak rosszindulatú tevékenységek széles skálájának elvégzésére., Ebben a cikkben egy olyan eszközről fogok beszélni, amely megfelel ennek a leírásnak. Ez az eszköz a Microsoft Sysinternals PsExec eszköz. Ebben a cikkben fogok áttekintést adni arról, hogy mi a PsExec, és milyen képességei vannak adminisztratív szempontból. Ezt követően átveszem az ellenfél szerepét, és bemutatok néhány csúnya dolgot, amit egy hálózaton lehet használni.
Ez a cikk célja, hogy szolgálja a két közönség., Az első közönség a rendszergazdákból áll, akik felelősek hálózataik védelméért olyan eszközök használatától, mint a PsExec rosszindulatú célokra. A másik célközönség etikus hackerekből és professzionális penetrációs tesztelőkből áll, akik némi hasznot hozhatnak abból, hogy egy kicsit többet tudnak a PsExec néhány dologról., Függetlenül attól, hogy melyik közönség esik a fontos, hogy én adja meg a nyilatkozatot, hogy néhány parancsok és technikák beszélek itt lehet elég illegális attól függően, hogy milyen körülmények között használják őket, ezért arra kérem, hogy óvatosan járjon el, ha bármilyen intézkedést szed megkérdőjelezhető lehet.
mi az a PsExec?
a PsExec segédprogramot a Pstools csomag részeként tervezték, amelyet eredetileg a Sysinternals Mark Russinovich fejlesztett ki, most a Microsoft tulajdonában van., Az eszköz parancssori alapú távoli adminisztrációs eszköz, amely lehetővé teszi a folyamatok távoli végrehajtását más rendszereken. Nagyon rugalmas, mivel lehetővé teszi az alternatív hitelesítési adatok használatát, nem pedig az azt végrehajtó felhasználó adatait, ami azt jelenti, hogy kezelheti a tartomány és a webhely határai által elválasztott eszközöket. Nem csak a PsExec képes programokat végrehajtani egy távoli rendszeren, hanem átirányíthatja a konzol bemenetét és kimenetét a rendszerek között, így távolról is használhat interaktív eszközöket.,
A legtöbb Microsoft által társított szoftverrel ellentétben a PsExec belső működése nem titok, és meglehetősen egyszerű. A PsExec lehetővé teszi egy távolról elindított futtatható fájl bemenetének és kimenetének átirányítását az SMB használatával, valamint a távoli rendszer rejtett $ADMIN megosztásával. Ezzel a megosztással a PsExec A Windows Service control Manager API-t használja a PsExecsvc szolgáltatás elindításához a távoli rendszeren, amely létrehoz egy megnevezett csövet, amellyel a PsExec kommunikál. Ez a megnevezett cső lehetővé teszi a bemeneti / kimeneti átirányítást a PsExec-et elindító rendszerre.,
Playing Nice with PsExec
mint egy eredeti design, PsExec lehet használni, hogy nem számos nagyon hasznos dolog, ami segít a rendszergazdák. Az egyik ilyen forgatókönyv, hogy találtam magam többször is az egyik, amelyben már ismert a DNS nevét a számítógép, de nem a pontos IP konfigurációs beállítások (DNS szerver, alapértelmezett átjáró, stb). Normál körülmények között az ipconfig-et használnám a helyi rendszeren ezen információk meghatározásához., Az esetek túlnyomó többségében azonban ez azt jelentheti, hogy egy másik helyre kell vezetnem, vagy kölcsön kell kérnem egy felhasználó számítógépét, természeténél fogva csökkentve termelékenységüket a napra. Mivel az ipconfig nem képes futtatni egy nem helyi gép ellen, a PsExec segítségével sikeresen elindíthatom, amint az az 1.ábrán látható.
1. Ábra: A PsExec, hogy indítson ipconfig egy távoli rendszeren
Miután PsExec hívják, a távoli számítógép kijelölt után a dupla perjel (\\), majd az ipconfig parancsot., Amikor végrehajtja a PsExec-et, az alapértelmezés szerint a távoli rendszer % – OS könyvtárában próbálja futtatni a parancsot, ezért nem kellett itt megadnom a teljes elérési utat. Végül az ipconfig / all kapcsolója meg van adva az összes rendelkezésre álló ipconfig információ kiadásához.
a PsExec egy másik gyakori implementációja, hogy frissítések, javítások és gyorsjavítások telepítéséhez használja. Bár ennek tipikus preferált módszere a csoportpolitika, lehetnek olyan esetek, amikor ez a módszer túl lassú., Én már sok olyan helyzetben, ahol én kellett telepíteni egy magas prioritású biztonsági javítás, amely nem tudja várni az időtartamát a standard csoportházirend frissítési idő, így én fordult PsExec telepíteni a fájlt egy gyorsabb módon. Erre példa a 2. ábra.
2. ábra: futtatható javítás távoli indítása
a fenti parancskép további funkciókat használ. Először is vegye figyelembe, hogy két számítógépes név van vesszővel elválasztva a kettős perjel (\\) után., A PsExec lehetővé teszi több céleszköz megadását itt, vagy alternatívaként egy olyan fájlt, amely tartalmazza az eszköznevek vagy címek listáját. A parancs tartalmazza a / C kapcsolót is, amelyet akkor használ, amikor meg akarja adni a távoli rendszeren végrehajtandó helyi rendszeren lévő fájlt. Ebben az esetben én határozza meg a fájl patch.exe. A fájl található a helyi rendszer a gyökere a C meghajtó, így meg kellett adnia a teljes fájl elérési útját. A / C kapcsoló alapértelmezés szerint a helyi Rendszer %SYSTEM% könyvtárában néz ki., Mint látható, a fájl sikeresen végrehajtásra kerül, a kimenet pedig átirányításra kerül a PsExec-et futtató helyi konzolra.
a PsExec I”ve egy utolsó barátságos használata nagyon kényelmesnek bizonyult, ha azt magasabb privilégiumszintű rendszerek távoli adminisztrálására használja, miközben alacsonyabb privilegizált fiók alatt rendszert használ. Nem tudom megszámolni, hányszor voltam a helyszínen dolgozik a felhasználók számítógépén, és kaptam egy hívást, amely megköveteli, hogy végre egy adminisztratív funkció, mint a Jelszó módosítása., Természetesen, egy Active Directory környezetben tudtam csak RDP egy domain vezérlő, és végezze el ezt a változást, de már több ügyfél, aki nem használja active directory vagy RDP különböző okok miatt. Ha ez a helyzet, a meglehetősen könnyű pop egy USB flash meghajtót, majd nyissa meg a másolatot a PsExec telepítettem rá. A 3. ábra esetében a PsExec-et használtam a felhasználók jelszavának visszaállításához egy rendszeren a privilégiumok emelésével” a PsExec által végrehajtott net eszköz.,
3. Ábra: Változó egy felhasználó”s jelszót felemelő PsExec”s jogosultságok
Csinál Csúnya Dolgokat PsExec
Most”s sétálni a sötét oldalra, majd nézd meg néhány dolog, amit lehet csinálni a PsExec azok a potenciálisan gonosz szándék. Először is, nézzük meg a forgatókönyv, amelyben a támadó kapott hitelesítő adatokat a rendszer, de nincs közvetlen hozzáférést hozzá., Ebben az esetben a támadó célja a rendszer GUI vagy parancssori irányításának megszerzése, de a hitelesítő adatok használatához rendelkezésre álló lehetőségek korlátozottak lehetnek. Az egyik módszer, amely ebben a helyzetben hasznos lehet, A PsExec használatával futtathat egy backdoor futtatható fájlt a rendszeren, például a 4. ábrán látható módon.
4. ábra: egy rosszindulatú futtatható fájlt távolról indítanak
ebben a képernyőképben egy távoli támadó a PsExec-et használja a /C kapcsolóval a helyi NC fájl futtatásához.exe a távoli rendszeren., Ezzel együtt a-u és-p kapcsolók segítségével megadhatjuk a kompromittált felhasználónevet és jelszót, hogy a fájl root szintű jogosultságokkal végrehajtható legyen. Az áldozat számára ismeretlen, a fájl, amelyet csendesen végrehajtanak, valójában egy hátsó ajtóban, amely lehetővé teszi a támadó számára, hogy csatlakozzon a rendszerhez, és adminisztratív parancssort kapjon.
egy érdekes dolog a támadás csak nézett az, hogy valójában nem is kell a felhasználó jelszavát annak érdekében, hogy végre. A valóságban csak a felhasználó felhasználónevére és jelszavára van szükség., A Windows rendszerben matematikai számításokat alkalmaznak a felhasználó által megadott jelszavakra annak érdekében, hogy ezeket a jelszavakat titkosított, rögzített hosszúságú karakterláncba, hash-nak nevezzük. Ezek hash egy biztonsági funkció célja, hogy tartsa tiszta szöveges jelszavakat továbbítják a hálózaton keresztül. Amikor hitelesítés történik, ezek a jelszó hash-ek egyik gazdagépről a másikra kerülnek elküldésre. A PsExec használatával ezt úgy lehet kihasználni, hogy az 5. ábrán látható jelszó helyett egyszerűen megadja a jelszó kivonatát.,
5. Ábra: A jelszó hash, hogy végre egy fájl távolról
Ez a példa ugyanaz, mint a 4. Ábra az egyetlen különbség az, hogy a jelszó hash használják a hely, a jelszó. A fogadó rendszernek nincs problémája a hash hitelesítési célú elfogadásával. Számos módszer létezik a jelszó-hashok megszerzésére, amelyek egy kicsit túlmutatnak a cikk hatályán. Írtam egy másik cikket ebben a témában, hogy itt megtekinthető.,
egy másik ügyes trükk, amelyet a PsExec lehetővé tesz, az a képesség, hogy hozzáférjen a fájlokhoz, és folyamatokat hozzon létre a rendszer beépített fiókjával. A Rendszer fiók egy Windows gép a legerősebb számla, és lehetővé teszi a hozzáférést nagyjából semmit, beleértve néhány elem, amely nem érhető el a rendszergazdai fiók és a felhasználó által létrehozott fiókok.. A 6. ábra példát mutat a regedit alkalmazás eléréséhez.,
6. ábra: az áldozat nyilvántartásának elérése
a fenti parancs közvetlenül egy helyi rendszeren fut, de megadja az-S kapcsolót a helyi rendszerfiók használatához. Ez kombinálva van a-I (interaktív) opcióval, amely regeditet futtat interaktív módban. A parancs futtatása elindítja a regedit rendszert, amely további hozzáférést biztosít néhány érdekes fájlhoz. Ennek egyik ilyen példája a Sam fájl, amely felhasználói jelszó hashokat tartalmaz., Mivel a megfelelő motiváció, a támadó hozzáférhet egy rendszer PsExec könnyen kivonat a jelszó hash a rendszer használja ezt a technikát, potenciálisan számára információt, amely lehetővé teszi, hogy a kompromisszum más rendszerek vagy beszámoló.
néhány figyelmeztetés
hitelesítő adatok a clear-ban – ha aggódik amiatt, hogy ki hallgathatja a hálózati tevékenységet, akkor a PsExec valószínűleg nem a legjobb eszköz a használatához., A PsExec a megadott felhasználói hitelesítő adatokat egyértelműen továbbítja, ami azt jelenti, hogy ha felhasználónevet és jelszót ad meg a rendszer távoli eléréséhez, bárki, aki Wireshark vagy Tcpdump fut, elfoghatja a hitelesítő adatokat.
Antivirus Érzékelés – Ez nem olyan nagy probléma, de most, hogy a legtöbb víruskereső alkalmazás valamilyen szinten a rendszer memória ellenőrzése a legtöbb őket elkapni PsExec használják a rendszert, ezek nyomon követése., Ha csinál egy penetráció teszt A Windows rendszer és PsExec nem működik, mint amilyennek lennie kellene, akkor esélye van, hogy egyre blokkolja a víruskereső, és ami még rosszabb, akkor lehet, hogy hagyja, hogy a végfelhasználó tudja, hogy játszik a rendszer.
PsExec és Metasploit-ha lehetséges, soha többé nem használom a PsExec-et. A PsExec módosított verziója már szerepel a Metasploit keretrendszerben. A Metasploit egy penetrációs tesztelési keretrendszer, amely meglehetősen kis funkcionalitást biztosít., Ha a PsExec-et valamilyen biztonsági értékeléshez szeretné használni, akkor fontolóra veszi a Metasploit hozzáadott funkcióinak vizsgálatát. Valójában a PsExec ezen verzióját használtam egy cikkben, amelyet korábban írtam a Hash technikák átadásáról.
következtetés
a PsExec eszköz sok felhasználással rendelkezik a felhasználó különféle szándékaihoz. Remélhetőleg ez a cikk segített, hogy oktassák meg néhány jellemzője, hogyan lehet használni a rossz-csinál. A PsExec olyan eszköz, amely lehetővé teszi a támadó számára, hogy kreatív legyen., Bár itt csak néhány egyedi felhasználást fedeztem le az eszközről, azt merném mondani, hogy több tucat vagy akár több száz érdekes támadóvektor áll rendelkezésre a funkciókészletével. Egy bizonyos ponton azt tervezem, hogy egy nyomon követési cikket írok, amely érdekesebb és fejlettebb felhasználásokat tartalmaz a PsExec számára. Időközben, ha bármilyen érdekes PsExec trükkö van, akkor nyugodtan írjon nekem közvetlenül a következő cikkbe való felvételhez.