3.14.
Кого взламывают в UNIX
В
мире хакеров и киберпанков существует небольшая градация юзеров UNIX.
●
Technical Thug. Обычно системный программист, пишущий скрипты на sed, C,
awk, perl и APL.
●
Administrative Fascist. Законченный тунеядец, вынужденный стать
системным администратором UNIX.
●
Maniac. Взломщик с большим опытом. Правда, его талант в области
компьютерного шпионажа не оплачивается ни Мосадом ни Кубой.
●
Idiot. Обычно кретин или старый программист на Коболе, выбранный
системным администратором Международным Комитетом кретинов.
3.15.
Лазейка, возникающая при передаче файлов через rcp
Если
параметр rcp утвержден в файле config.tel, то это просто
означает, что открыт доступ в систему из Internet.
3.16.
Новый экаунт
Чтобы
создать новый экаунт, хакер использует следующую конструкцию:
# cd /home;
mkdir “Bob’s home directory”# echo “Bob Leontyef:
gandalf:0:0::/dev/tty:compress -f” > /etc/passwd
Он может
также написать сценарий на Perl, который создает исходный каталог и скопирует
данные в /etc/passwd, /etc/shadow и /etc/group.
3.17.
Файл паролей
Доступ
к файлу паролей может быть даже у простого пользователя. В стандартном UNIX
файл паролей находится в каталоге /etc/passwd. В других системах этот файл
может находиться в другом месте. Кроме того, файл паролей может быть скрытым.
Пароли
в этом файле зашифрованы. Расшифровкой или извлечением занимаются специальные
программы. Именно они и предоставляют в руки хакера самый главный пароль –
суперюзера root.
В
файле паролей содержатся семь идущих по порядку вещей:
● Username
● Encrypted password
● User number
● Group Number
● GECOS Information
● Home directory
● Shell
Например, файл паролей из /etc/passwd может быть представлен в следующем виде:
bob:5fg63fhD3d5gh:9406:12:Bob
Leontyef:/home/fsg/will:/bin/bash
Эта
запись переводится так:
●
Имя пользователя: bob
●
Расшифровка пароля: 5fg63fhD3d5gh
●
Номер пользователя: 9406
●
Номер группы: 12
●
Информация GECOS: Bob Leontyef
●
Каталог по умолчанию: /home/fsg/will
●
Shell: /bin/bash
Unix-пароли
расшифровываются только одним способом. Специальная программа расшифровывает
текст, который вводится в поле password и сравнивает этот текст с формой
дешифровки. Поэтому софт, крякающий пароли, использует коллекцию различных
слов или словари. Каждое слово в таком словаре расшифровывается и
сравнивается с формой encrypted поступающего пароля.
Лучшая
крякалка паролей для Unix — Crack by Alec Muffett, для DOS — CrackerJack.
В
UNIX широко применяется система скрытых паролей: область /etc/passwd
заменяется специальным символом, а метод расшифровки хранится в отдельном
каталоге, который доступен только пользователю root. Атака на многие скрытые
пароли осуществляется через специально написанную программу, которая
использует последовательные запросы к getpwent, например:
#include <pwd.h>
main( )
{
struct passwd *p;
while(p=getpwent( ))
printf(“%s:%s:%d:%d:%s:%s:%s\ n”, p->pw_name,
p->pw_passwd,
p->pw_uid, p->pw_gid, p->pw_gecos, p->pw_dir,
p->pw_shell);
}
3.18.
Маленький исходник для скрытого файла паролей
#include <pwd.h>
main ( )
{
struct passwd *p;
while(p=getpwent ( ))
printf(“%s:%s:%d:%d:%s:%s:%s\ n”, p->pw_name,
p->pw_passwd,
p->pw_uid, p->pw_gid, p->pw_gecos, p->pw_dir,
p->pw_shell);
}
3.19.
Конфигурация Linux и подключение к удаленному узлу
Скрипт
удаленного подключения лежит в /usr/local/sbin/initppp. Далее идут
конструкции:
#!/bin/sh
PPPD
= “/usr/sbin/pppd”
$(PPPD) connect ‘/usr/sbin/chat -v “” ATZH0Q0M1 OK
ATDT3560100 \
CONNECT “” ogin: Suserid word: “`cat /etc/ppp/password`”’
\
/dev/modem 115200
Файл в /usr/sbin/pppd является стандартным, таким как /dev/modem. Например,
/dev/cua1. Установка опций для модема проходит через команду ln -sf /dev/cua1
(для первого коммуникационного порта).
Файл
паролей лежит в /etc/ppp/password. Через скрипт хакер может изменить пароль так:
cat/etc/ppp/password
3.20. Network Information System или древние желтые страницы
UNIX
UNIX
NIS позволяет нескольким компьютерам сети иметь различный уровень доступа к
конфигурационным файлами. Если атакуемая версия UNIX использует NIS, то хакер
получит файл паролей /etc/passwd с очень короткой строкой, типа вот этой:
+::0:0:::
Чтобы
увидеть действительный файл паролей хакер использует команду ypcat passwd.
3.21.
Таинственный знак после запятой
Этот
знак соответствует времени хранения пароля. Это означает, что пароль в
определенный момент времени может быть заменен пользователем после системного
администратора. Пароль перед заменой может еще храниться некоторое время.
Типичная запись /etc/passwd с данными о времени хранения пароля:
bob:5fg63fhD3d,M.z8:9406:12:Bob
Leontyef:/home/fsg/will:/bin/bash
Обратите
внимание на запятую в области дешифровки пароля. Знак после запятой
используется только механизмом хранения пароля.
Таким
образом, символы, соответствующие данным времени хранения пароля для
вышеприведенного примера, будут такими:
M.z8
Эти
четыре символа интерпретируются следующим образом:
●
Максимальное число недель, в течение которых пароль не может быть изменен.
●
Минимальное число недель, в течение которых пароль должен использоваться
перед заменой.
Отметим
три важные вещи. Если первые и вторые символы установлены как “..”, то
пользователь будет вынужден изменить свой пароль в следующий раз. В этом
случае программа passwd удалит данные о хранении пароля.
Если
третий и четвертый символы установлены как “..”, то пользователь будет
вынужден изменить свой пароль в следующий раз. Данные о времени хранения
пароля будут соответствовать первым и вторым символам.
Если же
первый символ (MAX) меньше чем второй символ (MIN), то пользователю вообще не
позволяют изменить пароль (только root может его изменить).
Заметим, что хакер не может
командой su изменить данные о времени хранения пароля.
|