Buffer Overflow, CEH, Certified Ethical Hacker (CEH), Переполнение буфера

#27 Руководство по подготовке сертифицированного этичного хакера (CEH). Переполнение буфера (Buffer Overflow).

Здравствуйте, дорогие друзья.

При наличии уязвимостей хакеры могут использовать недостатки в компьютерных сетях. Лицо, ответственное за сетевую защиту организации, должно будет исправлять уязвимые системы. Также хорошей практикой является закрытие неосновных служб, работающих в системах. Если системы не управляются должным образом или не защищены, они могут быть использованы хакерами. После взлома удаленной системы, злоумышленник может предпринять шаги, чтобы закрепиться, настроив учетные записи и захват и эксфильтрации информации из сети. В этой главе мы внимательно рассмотрим переполнение буфера и контрмеры переполнения буфера.

К концу этой главы вы сможете

1. Определять переполнение буфера.

2. Идентифицировать переполнение буфера.

3. Определять меры противодействия переполнению буфера.

Переполнение буфера

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

Переполнение буфера стека

Переполнение буфера стека происходит, когда программа записывает больше, чем ожидалось, данных в буфер, который расположен в стеке. Это приводит к компрометации данных. Для получения дополнительной информации посетите Stack Buffer Overflow.

(https://blog.rapid7.com/2019/02/19/stack-based-buffer-overflow-attacks-what-you-need-to-know/).

Переполнение буфера в куче

Память в куче динамически выделяется приложением. Много раз данные программы содержатся в куче. Если злоумышленник может повредить эти данные, то будет пробовать заставить приложение перезаписать внутренние структуры. Дополнительные сведения см. на странице Переполнение буфера в куче.

(https://cwe.mitre.org/data/definitions/122.html).

Обнаружение уязвимостей переполнения буфера

Программы, написанные на C, более подвержены переполнению буфера. Стандартная библиотека C предлагает множество функций, которые не выполняют никаких ограничений. Злоумышленник ищет строки, объявленные как локальные переменные, в функциях и проверяет наличие граничной проверки или использование безопасных функций C в исходном коде. Чтобы обнаружить уязвимости, связанные с переполнением буфера, Вы можете изучить исходный код для строк, объявленных как локальные переменные в функциях или методах, а также проверить неправильное использование стандартных функций и принудительных данных о приложении и проверить его ненормальное поведение. См. Рисунок ниже.

Detecting buffer overflow vulnerabilities

Защита от переполнения буфера

Есть несколько вещей, которые разработчик приложения может сделать, чтобы избавиться от переполнения буфера, включая выполнение ручного аудита кода, отключение стека, и выполнение, с использованием методов компиляции и разработки более безопасной библиотеки C.

Nmap

Nmap бесплатен и работает на различных платформах, таких как Microsoft Windows, Mac OS X и Linux. Его можно использовать для оценки того, какие хосты находятся в сети, а затем определить порты, на которых удаленная система работает для протокола управления передачей (TCP), и протокола пользовательских дейтаграмм (UDP).

Чтобы определить, какая операционная система работает на удаленной машине, Вы также можете выполнять сканирование операционной системы. Приведены результаты сканирования ОС с помощью nmap, и оно часто может быть неубедительным, требуя от злоумышленника использования других методов, для точного определения удаленной ОС. Результаты сканирования Ping показывают, что пять хостов подключены к сеть 192.168.100.0/24. Однако могут быть и другие хосты, у которых активированы их брандмауэры. См. рисунок ниже.

Nmap

TCP-сканирование

Эти порты редко доступны на машинах, подключенные к Интернет, но обычно открыты на компьютерах Windows, подключенных к локальной сети. В частном случае на рис. ниже, эти порты доступны, потому что администратор сервера Windows 2008 предоставил общий доступ к одной папке с именем «диск С:». Как правило, эти порты открыты в системах Windows, и связанны с общим доступом к файлам и принтерам для Microsoft Windows.

TCP scan

Отпечаток ОС

Сканирование с помощью nmap дает неоднозначные результаты (рис. ниже). Он говорит, что ОС может быть

  • Microsoft Windows 7 Профессиональная
  • Microsoft Windows Vista SP0 или SP1
  • Windows Server 2008 SP1
  • Windows 7
  • Microsoft Windows Vista с пакетом обновления 2 (SP2)
  • Windows Сервер 2008
OS fingerprint

Использование Metasploit для fingerprint

Вам нужно иметь более точное представление о том, какая ОС является целевой, на которой компьютер работает. Если Вы используете один из вспомогательных инструментов сканирования Metasploit модулей, Вы можете получить лучший результат. См. рис. ниже.

Metasploit auxiliary scan

Используйте команду show options, чтобы просмотреть параметры для опции вспомогательного сканирующего модуля. См. Рисунок ниже.

Showing options

После установки RHOSTS запустите сканирование, чтобы определить удаленную операционную систему машины. См. Рисунок ниже.

RHOSTS

ОС определяется как Windows 2008 Standard без Hyper-V. Пакет обновления 1. См. Рисунок ниже.

Windows 2008 Standard without Hyper-V Service Pack 1

Поиск эксплойтов

Эксплойты упоминаются последними, поскольку мы просматриваем результаты поиска. Имя эксплойта находится в Metasploit, а есть также дата выпуска, эффективность, и обзор уязвимости. Поскольку Server 2008 вышел в 2008 году, будем искать эксплойты, которые вышли в 2008 году или позже. См. Рисунок ниже.

Search using Metasploit

Meterpreter

Meterpreter — это расширенная полезная нагрузка Metasploit, которая позволяет злоумышленнику сбрасывать хэши, загружать данные, и выполнять определенные задачи после эксплуатации. См. рис. ниже. Такой инструмент, как John the Ripper, может использоваться для взлома паролей, после сброса хэшей.

Meterpreter

Резюме

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

Ресурсы

Stack Buffer Overflow:

https://blog.rapid7.com/2019/02/19/stack-based-buffer-overflow-attacks-what-you-need-to-know/

Heap-Based Buffer Overflow:

https://cwe.mitre.org/data/definitions/122.html

На этом все. Всем хорошего дня!

#1 Руководство по подготовке сертифицированного этичного хакера (CEH). Введение в этический взлом.

#2 Руководство по подготовке сертифицированного этичного хакера (CEH). Фазы атаки.

#3 Руководство по подготовке сертифицированного этичного хакера (CEH). Этичные хакеры.

#4 Руководство по подготовке сертифицированного этичного хакера (CEH). Футпринтинг и Разведка/сканирование сетей.

#5 Руководство по подготовке сертифицированного этичного хакера (CEH). Определение сетевого диапазона.

#6 Руководство по подготовке сертифицированного этичного хакера (CEH). Трехстороннее рукопожатие. Флаги TCP. Nmap. Zenmap.

#7 Руководство по подготовке сертифицированного этичного хакера (CEH). Перечисление (enumeration).

#8 Руководство по подготовке сертифицированного этичного хакера (CEH). Инструменты командной строки. SNMP-перечисление.

#9 Руководство по подготовке сертифицированного этичного хакера (CEH). Взлом системы.

#10 Руководство по подготовке сертифицированного этичного хакера (CEH). Операции Kerberos.

#11 Руководство по подготовке сертифицированного этичного хакера (CEH). Взлом пароля. Кейлоггеры. Руткиты. Стеганография.

#12 Руководство по подготовке сертифицированного этичного хакера (CEH). Трояны, бэкдоры, вирусы и черви.

#13 Руководство по подготовке сертифицированного этичного хакера (CEH). ICMP-туннелирование. Инструменты для создания троянов.

#14 Руководство по подготовке сертифицированного этичного хакера (CEH). Вирусы и черви.

#15 Руководство по подготовке сертифицированного этичного хакера (CEH). Какие вирусы атакуют? Как вирусы заражают?

#16 Руководство по подготовке сертифицированного этичного хакера (CEH). Снифферы.

#17 Руководство по подготовке сертифицированного этичного хакера (CEH). Социальная инженерия.

#18 Руководство по подготовке сертифицированного этичного хакера (CEH). Компьютерная социальная инженерия.

#19 Руководство по подготовке сертифицированного этичного хакера (CEH). Отказ в обслуживании (DoS).

#20 Руководство по подготовке сертифицированного этичного хакера (CEH). Перехват сеанса (Session Hijacking).

#21 Руководство по подготовке сертифицированного этичного хакера (CEH). Взлом веб-серверов.

#22 Руководство по подготовке сертифицированного этичного хакера (CEH). Взлом веб-приложений.

#23 Руководство по подготовке сертифицированного этичного хакера (CEH). SQL-инъекции.

#24 Руководство по подготовке сертифицированного этичного хакера (CEH). Взлом беспроводных сетей.

#25 Руководство по подготовке сертифицированного этичного хакера (CEH). Обход систем обнаружения вторжений. Брандмауэры и ханипоты.

#26 Руководство по подготовке сертифицированного этичного хакера (CEH). Брандмауэры и ханипоты.