Skip Ribbon Commands
Skip to main content

Ondrej Sevecek's Blog

:

Engineering and troubleshooting by Directory Master!
Ondrej Sevecek's Blog > Posts > Jak se dostat na serveru k uloženým heslům služeb, naplánovaných úloh a IIS app poolů
listopad 03
Jak se dostat na serveru k uloženým heslům služeb, naplánovaných úloh a IIS app poolů

Nedávno jsem tu psal článek o tom, jak se dostat na počítačích k uživatelem uloženým heslům. Tedy k těm, která si uživatel sám uloží pro přistup do sítě, nebo k webovým stránkám apod. Ono to je totiž občas potřeba promazat, pokud máte problémy s Windows ověřováním do NTLM, nebo Kerberos intranetových webů a nebo při správě Exchange serveru. Ale to nešlo o hacking.

A u článku padl dotaz, jak je to s hesly služeb a proč by se neměly používat administrátorské účty k provozování služeb, naplánovaných úloh, nebo třeba IIS AppPool pracovních procesů (mimochodem, český název na application pool je fond aplikací, což je totální nesmysl - když už, tak fond procesů)

Zaprvé, služba nikdy nemusí běžet pod členem doménové skupiny Domain Admins. Služba obvykle ani nemusí běžet ani pod členem lokální Administrators skupiny, což je ale v některých případech opravdu zapotřebí. Pořád se ale jedná jen o lokálního administrátora, nikoliv doménového (tedy nikoliv "celosíťového").

Za druhé, pokud takovou službu někdo hackne, nebo třeba jen pozmění obsah skritpu oné naplánované úlohy, tak má najednou oprávnění daná přesně tím účtem, pod kterým úloha, nebo služba právě pracuje.

A za třetí, jejich hesla jsou uložena v plain-textu.

Scénář

Máme počítač a na něm jsou služby (services.msc), naplánované úlohy (task scheduler) a případně IIS pracovní procesy (IIS application pool, fond aplikací), které běží pod nějakým doménovým uživatelem.

Jsem lokálním administrátorem. Jak zjistím jejich hesla?

Řešení

Jako základní premisu bych uvedl následující. Jestliže se ukládá heslo, ukládá se v plné (plain-text) formě. Ano, hesla v Active Directory, hesla lokálních uživatelů, nebo třeba logon cache verifikátory jsou uloženy pomocí MD4 (a v případě logon cache od Windows VistaSHA-1) heše. Ale tato hesla musí být uložena v plné formě. Lokální administrátor je tedy musí být schopen zjistit.

Jak zjistím heslo IIS app poolu?

Řekněme, že se váš IIS app pool (fond aplikací) jmenuje například MujAppPool. Potom stačí z příkazové řádky zadat následující příkaz a heslo si prostě přečíst:

%windir%\System32\InetSrv\AppCmd.exe LIST APPPOOL MujAppPool /text:*

Jak zjistím heslo služby, která běží pod nějakým doménovým uživatelem?

Tohle je už trošinku složitější. Hesla služeb (services) jsou v registrech v klíči HKLM\Security\Secrets, kde jsou ale ještě dále skryta (obfuscate). Takže potřebujete trošku lepší nástroj. Stáhněte si Cain & Abel, což je takový hackerský prográmek, ovšem velice účinný.

Potom už stačí jen najít záložku Decoders (první záložka), vybrat na ní položku LSA Secrets a kliknout nahoře na čudlík Plus (Add to list):

Jak zjistím heslo naplánované úlohy, která běží pod nějakým uživatelským účtem?

Operace je podobná, jako v předchozím případě. Jenom musíte v nástroji Cain & Abel zvolit na záložce Decoders položku nazvanou Credential Manager.

A fičink.

Comments

Re: Jak se dostat na serveru k uloženým heslům služeb, naplánovaných úloh a IIS app poolů

k heslům pro NPS (network policy server) a jeho RADIUS client shared secret se dostanete normálním exportem, podobně jako v případě IIS:

netsh nps export filename=export.xml exportPSK
ondass on 2.3.2015 13:49

Re: Jak se dostat na serveru k uloženým heslům služeb, naplánovaných úloh a IIS app poolů

ondass on 27.4.2015 18:39

Add Comment

Title


Pole Title nemusíte vyplňovat, doplní se to samo na stejnou hodnotu jako je nadpis článku.

Author *


Pole Author nesmí být stejné jako pole Title! Mám to tu jako ochranu proti spamu. Roboti to nevyplní dobře :-)

Body *


Type number two as digit *


Semhle vyplňte číslici dvě. Předchozí antispemové pole nefunguje úplně dokonale, zdá se, že jsou i spamery, které pochopily, že je občas potřeba vyplnit autora :-)

Email


Emailová adresa, pokud na ni chcete ode mě dostat odpověď. Nikdo jiný než já vaši emailovou adresu neuvidí.

Attachments