Электронная библиотека

Хакер


Хакер

Как ломают Unix сервера

Xakep, номер #005, стр. 005-030-1


Автор: Hell_man [CHC] (comphell@tomcat.ru)

Для того чтобы взломать Юникс сервер нужно иметь первоначальный доступ к нему. Юникс - это многопользовательская операционная система. То есть в ней одновременно может работать несколько пользователей. Существует четыре вида пользователей:

1. Суперпользователь aka root

2. Администратор

3. Обычный пользователь

4. Псевдопользователь

Задача хакера - получить максимальные права, то есть права рута. Существует несколько видов получения этих прав. Хакер может из псевдопользователя получить статус системного администратора, может, имея права обычного пользователя, стать рутом, и последний вариант - по цепочке, то есть из псевдопользователя в обычного и так до рута.

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

Администратор - это такой крутой чел, который находится в доверии у рута. Он даже может знать пароль рута и т.д. Обычно UID и GID у них ниже 100.

Обычный пользователь - это просто человек, у которого есть доступ к серверу. Он имеет право запускать программы (но не все, а те, которые ему разрешил запускать рут), записывать свои программы, сидеть на IRC, получать и отсылать почту.

Псевдопользователем может стать практически любой кибер юзер, когда он телнетится на 25 порт (это порт почтового демона (Sendmail или Qmail). Но, практически, он ничего делать не может.

Но ведь как-то получают рута! Я расскажу один из способов, только не считай это инструкцией. Это просто пример, чтобы ты понял, как работает эта система.

Итак:

Хакер имеет права только псевдопользователя, а ему нужен рут. Что делать? Существуют такие программы, которые называются эксплоитами (exploits). Но так как у него права только псевдопользователя, то ему нужны удаленные эксплоиты (remote exploits). Эти программы используют дырки в таких демонах, как IMAPd (143 порт), QPOP (110 порт), FTPd (21 порт), NAMEd (53 порт) и т.д. Запуская эксплоит, он обычно посылает какую-то строку этому демону, и демон, перезагружаясь, отдает хакеру привилегии рута.

Второй способ, это когда у хакера уже есть доступ к удаленной машине, то есть он - обычный пользователь. Тогда ему опять же нужны эксплоиты, только в этот раз локальные (local exploits). Он запускает такой эксплоит на удаленной машине и опять же получает права рута. Только перед тем, как найти нужный эксплоит, хакер смотрит версию операционки, на которой висит сервер. Это делается командой "uname-a". Имея права рута, хакер лезет за файлом /etc/passwd, в котором хранится вся информация о юзерах, присутствующих в системе. А дальше в ход вступает взломщик паролей (например, John the Ripper).

Если же хакер по какой-то случайности имеет права администратора, то он, опять же, пользуется локальными эксплоитами, но немного другим способом. Дело в том, что админы часто заходят под своим логином, а потом, запуская программу "su", получают права рута. После запуска программа "su" спрашивает пароль рута и, если он введен правильно, дает права суперпользователя. Хакер может подсунуть троянского коня, замаскированного под "su", который, при запуске админом "su", запомнит пароль, введенный админом, выдаст сообщение о неправильном пароле и запустит настоящую "su". Затем хакер заходит на сервак, смотрит пароль рута и действует.

Содержание  Вперед на стр. 005-030-2