Программа UAC Bypass, повышение прав до уровня Системы! Win 10.


MKII

Уважаемый пользователь
Форумчанин
Регистрация
03.10.2022
Сообщения
256
Репутация
183
Всем привет!
Саму идею для реализации взял с
Но к сожалению, оригинальные сурсы написаны на ЯП C#, по этому, я принял решение перенести данное чудо на C++.
Так-же по мере написания софта, было исправлено несколько багов, которые не были исправлены в оригинале.
Получилось вроде как успешно, на красоту кода не претендую, выше Джуна себя не оцениваю, так что слова про мусорный код будут лишними :)

1664942915310.png

1664944508655.png


Тут можно узреть готовый результат, для наглядности, я сделал открытие CMD.
При желании можно скрыть консоль и никто не узнает чем вы промышляете ;)

Так-же в софт встроена функция для отключения Windows Defender, но из за неё пк может зависнуть намертво, может быть кто-то найдет способ фикса, я не стал ковыряться в этом.
Для активации функции, надо раскомментировать строки: 60 и 62, я пометил комментариями что они делают.

Отчет AntiScan.me
1664944777588.png

Хотел использовать Lazy Importer, для скрытия таблицы импортов, но стало лень заморачиваться и я решил оставить все как есть.

Скачать исходный код можно на моём GitHub.
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 125
Репутация
8 243
На Lazy Importer раньше вроде-как ругались АВ, да и громозкий он как мне казалось, лучше свой написать...

По коду, норм., но лишние переменные:

Код:
static char proc[50];
std::string vaals = "testsss";
LONG lError2;
void* tmlPtr = malloc(sizeof(tml));

Вот тут может-быть переполнение буфера на стеке:
Код:
BYTE slump[1026];
LPCSTR pData = (LPCSTR)argv[0];
int dwSize = wcslen((LPWSTR)pData) * sizeof(WCHAR);
memcpy((void*)slump, (const void*)pData, dwSize * sizeof(BYTE));
Если например pData будет больше 1026.)

Вместо вывода ошибок, почему-то:
Код:
printf("")

Но это так придирки...
 

MKII

Уважаемый пользователь
Форумчанин
Регистрация
03.10.2022
Сообщения
256
Репутация
183
На Lazy Importer раньше вроде-как ругались АВ, да и громозкий он как мне казалось, лучше свой написать...

По коду, норм., но лишние переменные:

Код:
static char proc[50];
std::string vaals = "testsss";
LONG lError2;
void* tmlPtr = malloc(sizeof(tml));

Вот тут может-быть переполнение буфера на стеке:
Код:
BYTE slump[1026];
LPCSTR pData = (LPCSTR)argv[0];
int dwSize = wcslen((LPWSTR)pData) * sizeof(WCHAR);
memcpy((void*)slump, (const void*)pData, dwSize * sizeof(BYTE));
Если например pData будет больше 1026.)

Вместо вывода ошибок, почему-то:
Код:
printf("")

Но это так придирки...
На счет Lazy, вроде не ругаются, по крайней мере, я им статик детекты снимал.
А на счет остального, тут уже моя неграмотность и невнимательность :)
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 125
Репутация
8 243
А вот мне интересно, само по себе скрытие импорта не должно сбивать детект-же.

Скрытие импорта это больше для того что-бы сбить с толка аналитика, или любопытного пользователя, так современные АВ всё равно должны детектить вроде...

А-ты про статик детект, но вероятно просто кодом разбавил.)
 

MKII

Уважаемый пользователь
Форумчанин
Регистрация
03.10.2022
Сообщения
256
Репутация
183
А вот мне интересно, само по себе скрытие импорта не должно сбивать детект-же.

Скрытие импорта это больше для того что-бы сбить с толка аналитика, или любопытного пользователя, так современные АВ всё равно должны детектить вроде...

А-ты про статик детект, но вероятно просто кодом разбавил.)

Вполне возможно что кодом разбавил, но если учитывать, что до этого я пытался мусорный код добавлять, не думаю что только в этом дело, возможно какие-то не популярные антивирусы хавают такое)
Ибо я где-то слышал что скрытие импортов может помочь в статик тесте, но в рантайме смысла 0.
 

MKII

Уважаемый пользователь
Форумчанин
Регистрация
03.10.2022
Сообщения
256
Репутация
183
А вот мне интересно, само по себе скрытие импорта не должно сбивать детект-же.

Скрытие импорта это больше для того что-бы сбить с толка аналитика, или любопытного пользователя, так современные АВ всё равно должны детектить вроде...

А-ты про статик детект, но вероятно просто кодом разбавил.)
так что не буду утверждать что я прав в этом, так как не уверен точно)
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 125
Репутация
8 243
как я понял, написание ВПО на .NET плохой тон?
Почему ?
Многие на нём пишут, это если мы про винду.
На C# как понимаю относительно легко писать вещи, которые например на С++ очень долго делать...

Но нужно знать этот C# и уметь им пользоваться, как любым инструментом, я например его вообще не знаю, специфика другая...
Поэтому хорошо когда есть проекты на разных языках.)
 

MKII

Уважаемый пользователь
Форумчанин
Регистрация
03.10.2022
Сообщения
256
Репутация
183
Верх Низ