PC_ZONEСтепан «Step» Ильин twitter.com/stepahNT AUTHORITY\SYSTEMNT AUTHORITY\SYSTEMGETSYSTEMGETSYSTEMÄÎËÎÉ USERLEVEL!ÏÎÂÛØÀÅÌ ÏÐÈÂÈËÅÃÈÈÄÎ NT AUTHORITY\SYSTEM  ËÞÁÎÉÂÅÐÑÈÈ WINDOWSÁÓÊÂÀËÜÍÎ ÇÀ ÍÅÑÊÎËÜÊÎ ÄÍÅÉ ÏÅÐÅÄ ÑÄÀ×ÅÉ ÍÎÌÅÐÀ  ÏÅ×ÀÒÜ METASPLOITÎÁÇÀÂÅËÑß ÑÂÅÆÅÍÜÊÈÌ ÌÎÄÓËÅÌ, ÏÐÎ ÊÎÒÎÐÛÉ ÌÛ ÏÐÎÑÒÎ ÍÅ ÌÎÃËÈÍÅ ÐÀÑÑÊÀÇÀÒÜ. ÁËÀÃÎÄÀÐß ÍÎÂÎÉ ÊÎÌÀÍÄÅ GETSYSTEM, ÍÀ ÑÊÎÌÏÐÎÌÅÒÈÐÎ-ÂÀÍÍÎÉ ÑÈÑÒÅÌÅ ÑÒÀËÎ ÂÎÇÌÎÆÍÎ ÏÅÐÅÉÒÈ ÈÇ USER LEVEL  RING0, ÏÎËÓ×ÈÂÏÐÀÂÀ NT AUTHORITY\SYSTEM! È ÝÒÎ —  ËÞÁÛÕ ÂÅÐÑÈßÕ ÂÈÍÄÛ.032Âнынешнем году 19 января сталапубличной 0-day уязвимость, позволяющаявыполнить повышениепривилегий в любой версии Windows,начиная от NT 3.1, выпущенной в ещев 1993 году, и заканчивая новомодной «семеркой».На exploit-db.com хакером Tavis Ormandyбыли опубликованы как исходники сплоитаKiTrap0d, так и скомпилированный бинарник,готовый к применению. Опробовать оригинальныйсплоит может любой желающий. Для этогонужно лишь извлечь из архива vdmexploit.dll иvdmallowed.exe, каким-либо образом передатьна машину-жертву, и там запустить exe-шник.В результате, независимо от того, под аккаунтомкакого пользователя выполнен запуск,появится консоль с привилегиями системногопользователя, то есть NT AUTHORITY\SYSTEM.Проверки ради можно запустить сплоит на своеймашине, предварительно залогинившисьв систему под обычным пользователем. Послезапуска сплоита откроется новое окно cmd.exeс максимальными привилегиями. Что это дает?Представь ситуацию, что сплоит пробиваетнекоторое приложение и получает шелл наудаленном компьютере. Пускай это будет сплоитдля Internet Explorer — в этом случае у взломщикана руках будет доступ к системе с правамитого пользователя, под учеткой которого был запущенбраузер. Не спорю, очень часто это будетаккаунт с правами администратора (пользовательсам виноват), но если нет? Вот здесь-то иможно заюзать KiTrap0d, чтобы поднять своипривилегии до NT AUTHORITY\SYSTEM! Малотого, даже те пользователи, которые входят вгруппу администратора, не могут обращатьсяк некоторым участкам системы, например, длячтения хешей паролей пользователей (об этомниже). А NT системный акаунт — может! Привсем этом, на момент публикации статьи ниодного патча со стороны Microsoft, закрывающегоуязвимость, выпущено не было.ÎÏÅÐÀÖÈß «ÇÀÕÂÀÒ ÑÈÑÒÅÌÛ»Демонстрировать в действии оригинальныйсплоит мы не будем, потому как 25 января вMetasploit был добавлен новый скрипт, благодарякоторому использовать KiTrap0d сталоеще удобнее. Первоначально попавший вбазы модулей вариант был нестабилен исрабатывал не всегда, но не прошло и полдня,как все ошибки были устранены. Сейчасмодуль закачивается вместе со всеми остальнымиобновлениями, так что для установкидостаточно выбрать пункт в меню «Metasploitupdate». Теперь, имея доступ к удаленнойсистеме, можно набрать «run kitrap0d» ипривести сплоит в действие. «Но раз пошлатакая пьянка, реализуем-ка мы для этого деласпециальную команду», — подумали разработчикиMetasploit. В результате получиласьзамечательная такая команда «повыситьпривилегии», доступная через расширениеmeterpreter, — нам она очень нравится :).Итак, у нас есть доступ к удаленной системе(наглядный пример эксплуатирования приведенв статье «Операция «Аврора») и мынаходимся в консоли метасплоита. Посмотрим,как у нас обстоят дела с правами:meterpreter > getuidServer username: WINXPSP3\userАга, обычный пользователь. Быть может, ондаже входит в группу администраторов, нонам это неважно. Подключаем модуль, в которомреализована интересующая нас командаgetsystem, и проверим, погрузилась ли она,отобразив на экране справку:meterpreter > use privLoading extension priv...success.meterpreter > getsystem -hUsage: getsystem [options]Attempt to elevate your privilegeto that of local system.OPTIONS:XÀÊÅÐ 03 /134/ 10
ПОЛУЧАЕМ СИСТЕМНЫЙ АККА-УНТ В МЕТАСПЛОИТЕОРИГИНАЛЬНАЯ ВЕРСИЯ KITRAP0D В ДЕЙСТВИИЧТОБЫ НЕ ПАРИТЬСЯ С ГРУППО-ВЫМИ ПОЛИТИКАМИ, MICROSOFTПРЕДЛАГАЕТ АВТОМАТИЧЕСКИЙСКРИПТ FIXIT! ДЛЯ ВРЕМЕННОГОРЕШЕНИЯ ДАННОЙ ПРОБЛЕМЫКРАДЕМ ТОКЕН НУЖНОГО ПРОЦЕССА-h Help Banner.-t The technique to use. (Defaultto '0').0 : All techniques available1 : Service — Named PipeImpersonation (In Memory/Admin)2 : Service — Named PipeImpersonation (Dropper/Admin)3 : Service — Token Duplication(In Memory/Admin)4 : Exploit — KiTrap0D (In Memory/User)Как видно, сплоит KiTrap0D реализует лишьчасть функциональности команды. Если тебе удалосьотхватить шелл с пользователем, у которогоуже есть права администратора, то для поднятиядо уровня NT AUTHORITY\SYSTEM можно использоватьтри другие техники (выбрать нужнуюпозволяет ключ -t). Так или иначе, не указаввообще никаких параметров, мы укажем метасплоиту,что тот может использовать любой изподходов. В том числе и KiTrap0D, что повыситнаши привилегии до уровня «Система», какимибы правами мы сейчас ни обладали.meterpreter > getsystem...got system (via technique 4).Ага, получили сообщение об успешном повышениипривилегий, причем для атаки использовалсяименно KiTrap0D — видимо, у негоприоритет. Действительно ли мы поднялись всистеме? Проверим наш текущий UID (идентификаторпользователя):meterpreter > getuidServer username: NT AUTHORITY\SYSTEMЕсть! Всего одна команда в консоли метасплоитаи права NT AUTHORITY\SYSTEM унас в кармане. Далее, вообще говоря, можновсе. При этом напомню, ни одного патча отMicrosoft на момент выхода журнала еще небыло.ÄÀÌÏÈÌ ÏÀÐÎËÈРаз уж на руках есть доступ к системномуаккаунту, то надо извлечь из этого чтонибудьполезное. В арсенале Metasploit естьзамечательная команда hashdump — болеепродвинутая версия известной утилитыpwdump. Более того, в последней версииметасплоита включен переработанный вариантскрипта, который использует модернизированныйпринцип извлечения LANMAN/NTLM хешей и пока не детектируетсяантивирусами. Но смысл не в этом. Важно,что для выполнения команды hashdumpнеобходимы права NT AUTHORITY\SYSTEM.В противном случае программа выдастошибку «[-] priv_passwd_get_sam_hashes:Operation failed: 87». Происходит это потому,что LANMAN/NTLM-хеши паролей пользователейхранятся в специальных ветвях реестраHKEY_LOCAL_MACHINE\SAM и HKEY_LOCAL_MACHINE\SECURITY, которые недоступныдаже администраторам. Их можнопрочитать только с привилегиями системногоаккаунта. Вообще говоря, использоватьКЛЮЧЕВЫЕ СТРОЧКИ В ИСХОД-НИКЕ СПЛОИТАсплоит и затем команду hashdump для того,чтобы локально извлечь из реестра хеша,совсем не обязательно. Но если такая возможностьесть, почему бы и нет?meterpreter > getuidServer username: NT AUTHORITY\SYSTEMmeterpreter > run hashdump[*] Obtaining the boot key...[*] Calculating the hboot keyusing SYSKEY 3ed7[...][*] Obtaining the user list andkeys...[*] Decrypting user keys...[*] Dumping password hashes...Administrator:500:aad2bbbe2b51404eeaad3b435b514ee:...Guest:501:aad3b435baaaaeaa3b435d3b435b514aae04ee:...HelpAssistant:1000:cefa2909bd5b0f4602168042f2f646:...Хеши получены. Остается скормить их какомунибудьиз брутфорсеров, например, l0phtcrack(www.l0phtcrack.com).XÀÊÅÐ 03 /134/ 10 033