Собственно говоря это и небольшая статейка и в тоже время как бы вопрос. INIT В общем то начал рыть по теме обхода UAC. В частности программного обхода UAC установленного в дефолтовое состояние. СПОСОБ 0 Специфические манипуляции с планировщиком заданий после которых можно создать спец задание которое запустится с наивысшими правами и не покажется окно UAC но этот процес практически не реально автоматизировать. Да и паливно очень будет когада будут светиться окна его. СПОСОБ 1 Через COM объекты ворда. Исходника не видел, зато читал что такое возможно, Но что-то как-то стремно, тем более что OO сейчас стал набирать обороты со всеми вытекающими последствиями. СПОСОБ 2 Проверять свои права, если они низкие, то запускать себя в цикле с наивысшими правами, пока не получится запустить. т.е. основная идея в том, чтобы зае*ать юзверя появлениями окна UAC и в конечном итоге он рано или поздно разрешит запуск с наивысшими правами. Я конечно понимаю, действует это хорошо, но всё равно это очень паливный обход СПОСОБ 3 В файле прописать манифест в котором есть запись чтобы с наивысшими правами запускалось всё. или в имени указать строку install или update, но это всё не подходит потому что пашет тока на UAC с уровнем ниже дефолтового СПОСОБ 4 Инжект в другие процессы. А частности то, что было реализовано в MyLoader. А именно: Создание секции, запись в неё шелкода, запуск виндового процесса какого-нить типа ie / svchost, приаттачивание к нему этой секции и выполнение кода через APC. Когда метод даже помогал обходить проактивки фаеров чтобы делать беспаливный инжект, но увы что-то этот метод так и не запахал на Win 7 (6.1.7600). Ни запись в реестр из шелкода не проканала (незя открыть HKLM с правами на запись), ни запуск нового процесса с повышенными правами без появления уведомления. СПОСОБ 5 Довольно жестокий метод основанный сразу на 3-х особенностях поведения винды, а именно: a) существуют белый список UAC. И те проги которые в нем находятся, при старте сразу получают наивысший уровень привелегий. Их там штук 50-70 штук. НО почти все находятся в тех папках в которые нет доступа на запись с низким уровнем привелегий. b) сильно распиаренная бага в виндах связанная с последовательностью загрузки DLL. т.е. если процесс грузит DLL через LoadLibrary, то сначала он проверяет текущую папку, а тока потом системную. Таким образом можно внедрить свою зловредную DLL в процесс. c) доверенным MS прогам разрешается создать COM объекты с повышенными правами без вывода UAC окошка. И суть метода такая: 0) Допустим берем прогу которая есть в белом списке UAC - \Windows\system32\sysprep\sysprep.exe Она подгружает при старте CRYPTBASE.dll из системной папки. 1) Внедряем код в любой запущенный процесс виндовый, главное чтобы это была стандартная MS прога. Подойдет даже Explorer.exe 2) Во внедренном шелкоде создаем спец COM объект с повышенными привелегиями 3) через этот COM объект закидываем свою DLL со спец именем в папку с прогой которая есть в белом списке UAC. В нашем случае мы дожны закинутьсвою DLL в папку \Windows\system32\sysprep\ с именем CRYPTBASE.dll 4) запускаем sysprep.exe и таким образом наша DLL выполняется с наивысшими правами. т.е. суть в том, что через COM объект с наивысшими правами мы смогли закинуть нашу DLL в папку куда незя было ранее закинуть её, далее при старте sysprep.exe, система ему дала наивысшие права, а далее из-за баги с путями DLL загрузилась наша DLL. А в нашей DLL мы можем делать что угодно уже. Лично проверял данный метод и он довольно хорошо работает. пробил UAC в чистую. Но всё равно както не надежно мне кажется, рано или поздно всё равно пофиксят, да антивири очень плохо относятся к таким вот манипуляциям. DESTROY Вот собственно говоря и все способы которые на данный момент мне известны, как видно мало какой из них может дать нормальный результат по обходу UAC. Есть много плюсов и много минусов, а реализовывать все способы сразу - довольно жестокая задача, темболее очень паливная проактивками. НЕБОЛЬШОЙ ВОПРОС Если кому-то известны другие пабликовые способы обхода UAC то прошу отписаться тут. //me с удовольствием выслушает и о приват способах)) Или если кто-то знает малвар которые юзает какието еще способы, то назовите хотябы его. Или если есть вариант дайте линк на семпл.
Этот баг лечится правкой в реестре... (читал об этом когда защищался от WM виря который так тырил деньги_
Виндовый загрузчик в 1ю очередь лупит по баундах.Только если времяштамп несовпадают - обращяется к классическим таблам импорта.Достаточно просто добавить дллку в баунды экзешника ,и все есть инжект.
нет, загрузчик сперва обрабатывает секцию knowndlls а вот уж потоом. к теории - много инстант мессенджеров юзают плагины. и если кинуть свою длл в эту папку то все сработает - поскольку девелоперам влом анализировать с диска - ихний это плагин или нет - и впервую очередь они его загружают.
возможно есть, но всё в привате. врятли кто-нибудь поделится. ты ведь понимаешь какова ценность подобной инфы.
Владею инфой обхода приватной,используеться в последней версии глазика(кто в теме тот поймет),могу дать кому нить из ЛОА,с гарантией ,что в паблике не засветиться
Если кого интересует инфа для беспалевного обхода UAC (и не только) для всех осей, пишите в личку или жабу. [email protected]