Skip Ribbon Commands
Skip to main content

Ondrej Sevecek's Blog

:

Engineering and troubleshooting by Directory Master!
Ondrej Sevecek's Blog > Posts > Parádní UAC bypass
prosinec 21
Parádní UAC bypass

Včera mi Michal Meravý (díky!) poslal super UAC bypass, trošku jsem to upravil na powershell a je to tu:

reg add hkcu\software\classes\mscfile\shell\open\command /d "cmd /c start powershell -NoExit" & eventvwr

nebo rovnou příklad zneužití

reg add hkcu\software\classes\mscfile\shell\open\command /d "cmd /c start powershell { 'chachá' | Out-File c:\uac-bypass.txt }" & eventvwr

Vo co gou? O UAC jsem tu už jednou hanlivě psal, že se jedná o "bezpečnostní" fíčuru pro domáčí uživatele. V podnikovém prostředí tak maximálně na to, aby to snížilo míru a frekvenci toho, jak si BFUčka dodrbávají počítače a kdo to pak musí pořád opravovat. Takže z mého pohledu o nic nejde. Ale líbí se mi to. Zrovna tahle metoda je prostě krásná, to se musí uznat.

Jak to funguje?

Od Windows 7 se UAC ve výchozím nastavení chová tak, že některé programy nevyžadují explicitní potvrzování čudlíkem, a přitom je systém rovnou spustí "elevated" (neboli "jako správce", neboli "as administrator"). To je případ různých systémových správcovských programů jako je control panel, nebo většina MMC konzolí (soubory s příponou .msc). A eventvwr.exe.

Zrovna tenhle eventvwr.exe je evidentně kamenem úrazu. Spustí se elevated a přitom sám v podstatě nic nedělá. Jenom spustí rovnou eventvwr.msc konzoli. A ta se spouští jen jako asociace .msc souboru.

Tento uac bypass tedy jen změní v uživatelském profilu asociaci .msc souboru z původního mmc.exe na powershell. A je to. Jakmile potom někdy spustíte eventvwr.exe, tak rovnou naskočí jako správce a spustí následně powershell už také jako správce.

Krásná ukázka exploitu, kterých bude nekonečně mnoho, pokud navrhnete nějaký software blbě. Dá se to fixnout? Ano, stačí opravit eventvwr.exe. Ale stejně bude dalších nekonečně moc cest. Stačí trošku hledat.

Pokud se jedná o pěknou historii různých UAC bypassů, tak se mrkněte sem - stránka UACMe - nabízí milión různých cest. Když si to pročtete, nabízí také seznam miliónu MS fixů, které každou tu cestu postupně opravují :-)

Jak se bránit?

Buď uživatelé nesmí být členem místní skupiny Administrators. Nebo můžete přepnout UAC tak, aby se to ptalo vždycky, když je to potřeba. To se provede buď v Group Policy, nebo lokálně v Local Security Policy:

Security Settings
  Local Policies
    Security Options
      User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode

  = Prompt for consent

Jednoduše - musíte to přepnout z výchozího Prompt for consent for non-Windows binaries na bezpečnější (ale otravnější) Prompt for consent.

Comments

Re: Parádní UAC bypass

To jsem teda netušil, že jde UAC tak jednoduše ochcat. No jen mi to potvrzuje, že je nejlepší mít prostě dva účty.
Borek on 23.12.2016 11:14

ad. dva účty

Dva účty jsou super, běžně je používám.
Ale zkuste jednoduše spustit nějaký program jako jiný uživatel a "elevated" zároveň :-)
Tomáš on 30.12.2016 11:34

ad. dva účty

Dva účty jsou super, běžně je používám.
Ale zkuste jednoduše spustit nějaký program jako jiný uživatel a "elevated" zároveň :-)
Tomáš on 30.12.2016 11:41

Add Comment

Sorry comments are disable due to the constant load of spam *


Omlouvám se, ale příval spamu nelze kontrolovat, takže mi prosím pošlete email, pokud máte nějaký dotaz, nebo připomínku.

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 *


Email


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

Attachments