Способы получения доступа к компьютеру


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

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

Какие команды будет вводить атакующий в командной оболочке во время атаки по переполнению стековой памяти? Существует огромное число вариантов, но мы рассмотрим самые популярные методы.


Создание черного хода с помощью inetd



Процесс inetd сканирует различные порты и активизирует соответствующий процесс для обработки входящих данных. Например, атакующий в состоянии переполнить память в такой программе, чтобы реализовалась командная строка.

Эта строка запускает командную оболочку (/bin/sh) и приказывает ей добавить некоторую строчку в конец файла /etc/inetd. conf. Новая строка в файле конфигурации информирует inetd о необходимости сканирования ТСР-порта 12345. Когда на этот порт приходят данные, inetd запускает интерактивную командную оболочку с привилегиями супервизора. Строка включает также команду killall, которая отправляет процессу inetd сигнал HUP, заставляя его прочитать измененный файл конфигурации.

Теперь, чтобы соединиться с выбранной системой, атакующий может воспользоваться инструментом Netcat. Он позволяет атакующему установить соединение с любым портом другой системы. Итак, атакующий запускает Netcat, и перед ним появляется интерактивный запрос на ввод команды, где допустимо набрать любые команды. По существу, хакер с помощью inetd создал черный ход, который позволяет ему получить доступ к командной строке системы с привилегиями супервизора. Теперь он способен изменять настройки компьютера, воровать данные - делать все, что ему заблагорассудится, ведь у него есть полный контроль над машиной.

Единственный недостаток данного метода с точки зрения атакующего - необходимость модифицировать файл /etc/inetd. conf. Хороший системный администратор с помощью инструмента проверки целостности системы, такого как Tripwire, быстро заметит это изменение, а следовательно, вскоре обнаружит проблему. Но если системный администратор не отследит проведенные в системе изменения, метод окажется достаточно эффективным.


Создание черного хода с помощью ТРТР и Netcat



В данном виде атаки атакующий взламывает уязвимую программу, запуская клиент ТРТР. Затем с помощью клиента в выбранную систему загружается программа Хеtcat;. Программу Xetcat (которую для краткости часто называют просто XC) допустимо настроить таким образом, чтобы на машине атакующего появлялся запрос на ввод команды.

Прежде чем начать атаку, злоумышленники загружают Xetcat на собственный ТРТР-сервер, чтобы к программе можно было обратиться.

Она проходит в несколько этапов:

1. Атакующий переполняет буфер выбранной программы, вследствие чего запускается командная оболочка и активизируется ТРТР-клиент.

2. TFTP-клиент на атакуемой машине загружает копию программы Netcat из сети атакующего и запускает ее.

3. Запускается Netcat, настроенная таким образом, что открывается оболочка, которая передается машине хакера.

4. Копия Netcat на компьютере последнего ждет начала соединения.

5. Теперь у него есть интерактивный доступ к атакуемой машине посредством этой оболочки.

Если на брандмауэре блокируются соединения TFTP, тот может воспользоваться клиентом FTP, чтобы передать выполняемую программу Netcat. Либо с помощью TFTP, либо с помощью FTP получает интерактивный доступ к командной строке системы в соответствии с привилегиями уязвимого процесса - того процесса, который помог получить доступ.

Одним из преимуществ этого метода для хакера является отсутствие необходимости изменять настройки системы: для получения доступа не нужно модифицировать файл inetd. conf или какие-либо другие параметры системы.


Xterms



Еще одним популярным методом получения доступа при переполнении буфера является применение системы X Window. Это пользовательский графический интерфейс, распространенный в системах UNIX и в некоторых системах Windows NT. Данный метод эффективен для любой системы, где установлены компоненты X Window и где брандмауэр не блокирует исходящие соединения.

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

Зачастую хакеры используют этот метод, чтобы запустить программу Xterminal (Xterms) и получить доступ к командной строке системы посредством исходящего соединения X Window.

Этапы этой атаки следующие:

1. Атакующий настраивает свой компьютер так, чтобы он принимал входящие Х-соединения от атакуемой машины.
2. Переполняет буфер уязвимой программы, запуская командную оболочку.

3. В оболочку вводится команда, которая активизирует программу Xterms, причем окно этой программы появляется на компьютере последнего.

4. Он вводит команды для Xterms, и они выполняются на компьютере жертвы.

У данного типа атаки есть несколько преимуществ. Во-первых, не нужно изменять настройки атакуемой системы. К тому же на машину жертвы не требуется загружать какое-либо программное обеспечение (например, Netcat). Если на компьютере установлена система X Window и разрешены исходящие соединения X Window, данная атака не вызовет затруднений.


Не только при переполнении буфера



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

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

Чтобы хорошо изучить эти и другие новые программы взлома, нужно постоянно следить за появляющейся в Internet информацией. Наиболее ценным источником сведений служит рассылка BugTraq. Еще одна рассылка способна удовлетворить ваше любопытство - это рассылка SANS Newsbite, поддерживаемая институтом SANS.


Автор: pimka21

Еще советуем:
  • Как защитить компьютер от взлома
  • Что такое переполнение буфера памяти
  • Защита от переполнения буфера памяти
  • Стековая память: как защитить ее от переполнения
  • Атаки переполнения стековой памяти
  • Данную страницу никто не комментировал. Вы можете стать первым.
    RSS
                   
           
    Введите символы или вычислите пример:
    captcha