Основные уязвимости в Windows | OTUS

Основные уязвимости в Windows

Pentest_deep_23.3-5020-c58bfc.png

Третий модуль курса «Пентест. Практика тестирования на проникновение» посвящён структуре ОС Windows и тому, какие существуют механизмы ограничения доступа в этой популярной операционной системе. Но не менее важно знать, какие именно уязвимости используются злоумышленниками, чтобы обойти существующие механизмы ограничения доступа. О них и поговорим.

На момент написания материала из наиболее распространённых уязвимостей Windows можно выделить четыре:

1-20219-e64b0c.png

Давайте вкратце рассмотрим каждую из них.

Stack Corruption

Stack Corruption — это повреждение стека или массива данных, которые сохраняются на стеке.

2-20219-1ce07b.png

Как известно, все программы, которые запускаются на любых языках программирования, попадают в оперативную память. Хранятся они там в виде своеобразных «табличек», и эти таблички разделены на части: в одной части лежат команды, в другой части лежат данные и т. п. Так вот, там, где находятся данные, возможны ситуации, связанные со Stack Corruption.

Стек — именно та ячейка, которая хранит информацию, необходимую для приложения, чтобы оно выполнялось и знало, как именно исполнять алгоритмы (там находятся специальные адреса и данные). Переполнение какой-нибудь переменной, находящейся на стеке, может привести к тому, что специальные адреса, используемые приложением для его корректной работы, могут быть перезаписаны. Перезапись этих адресов является способом перехвата управления и прямым доказательством того, что этот перехват произошёл.

Heap overflow

Речь идёт о переполнении, которое происходит на куче. «На куче» — это если программист написал приложение, которое очень много делает при обработке файлов, соответственно, вместо стека переполнение происходит на куче. Здесь как раз и происходит выполнение команд, то есть отсюда уже забирается информация, которая в дальнейшем будет открывать порт, дампить какие-нибудь значения или переконфигурировать операционную систему.

3-20219-f82690.png

Heap overflow — сложно диагностируемая ошибка, так как реализация кучи может быть собственной у каждого ПО.

Type Confusion and Use-After-Free

Эти уязвимости можно назвать вспомогательными. Что касается Type Confusion, то это уязвимость, которая позволяет вывести приложение из строя или выполнить дополнительные действия. Она чаще всего используется злоумышленниками для повреждения памяти.

Use-After-Free (UAF) — уязвимость, при которой процесс может войти в неопределённое состояние. Сам этот класс уязвимости не приводит к проблемам, но при определённых условиях может быть произведено выполнение команд. Например, эти уязвимости могут позволить подменить значения в памяти, что, в свою очередь, может привести к выполнению вредоносного кода либо к остановке и выходу из строя самого приложения.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто