Цель - защита системы от взломщика, путем выдачи ему ложных данных. Разговор пойдет о
*NiX.
Давно известно, что прежде чем производить взлом, надо собрать информацию о жертве. Например, чтобы использовать удаленный эксплоит Sendmail, надо узнать версию Sendmail и найти эксплоит под эту версию. Если взломщик не узнает версию, то ему
останется либо искать другой путь взлома, либо попробовать все эксплоиты (что редко происходит).
В общем цена информации понятна, приступим к делу!
1. В папке /etc есть файлы issue и issue.net, задача первого - выдать приветствие при доступе с локального терминала, а другого - с telnetd. Содержимое файлов нужно изменить, например вместо "* Welcome to RedHat 6.2 *" написать "* Welcome to Mandrake 8.2 *". Это гораздо полезней, чем написать "* Welcome *", т.к. при виде приветстивя Mandrake, взломщик будет ориентироваться на то, что на машине-жертве сторит Mandrake, а при появлении простого приветствия, взломщик полезет дальше, чтобы узнать информацию. Хотя он все равно узнает верную информацию, но потеряет время.
2. Файл shells в той же папке. Он хранит адрес к shell. Тоже лучше сменить на недостоверную информацию.
3. /etc/Mandrake - Здесь хранится версия дистрибутива Юниха. Посмотрите дальше смотрите сами, какие еще файлы с информацией хранятся в папке /etc, а мы следуем дальше.
4. Меняем баннеры дальше. SSHD. Версия храниться в файле version.h. SENDMAIL. Тут будет немного сложнее чем в случае с SSHD. Заходим в папку с исходниками и ищем там файл version.c, и меняем там версию. Теперь заходим в файл sendmail.cf, ищем там строчку с настоящей версией и тоже заменяем. В случае с WU-FTPD тоже ничего сложного нету: идем в папку с исходниками и открываем файл newvers.sh. Ищем там строчку
"printf "char version[] = \"Version wu-2.6.1(%d) ", edit > "vers.c";\"
Как видно, эта строчка создает файл vers.c, в который и записывает версию. Нам надо заменить версию тут и откомпилировать.
Вообще надо всегда изменять баннеры, т.к. они дают очень важную информацию.
5. При взломе, чтобы определить ОС удаленной машины юзают queso, etc. Данная программа посылает запрос на машину и получив ответ анализирует его (в результате в зависимости от ответа определяется ОС). Твоя задача заключается в том, чтобы настроить свой файрволл таким образом, чтобы тот не отвечал на данный запрос или отвечал ложно.
6. Не помешало бы и открыть несколько ложных портов, на которые запихнуть ложные данные. Как это сделать, читай в статье Безопасность в Линуксе.
7. Ты наверно уже слышал о такой классной для хацкеров, но вредной для твоей линухи команде uname которая с опцией –a, выводит много информации о атакуемой машине (тип ос, версия ядра etc.) Для нас это не есть гуд, так что, мы переделаем эту команду так, чтобы она выводила только то, что мы ей скажем и этим самым сбивала взломщика с толку. Нормальная команда uname хранится обычно в папке /bin, так что залезь в нее и присвой такие права доступа: chmod og-rx uname. Теперь зайди в папку /etc/skel – там хранятся файлы .bashrc, bash_profile и остальное добро, которое копируется в домашнюю директорию каждому пользователю на твоей машине, после создания для него аккаунта. Открой файл /etc/skel/bash_profile – этот файл хранит в себе значения переменных (то есть он является чем-то вроде файла инициализации). Ниже я опишу некоторые переменные:
$PATH – хранит в себе путь к папкам, в которых хранятся файлы команд.
(пути к папкам разделяются “:” например /bin:/usr/bin:/sbin).
$HOME – хранит путь к домашней директории.
$PS1 – хранит приглашение (по умолчанию “$” но можно изменить).
!Caution! Что бы просмотреть значения какой-то переменной, используют команду echo $имя_переменной.
После того, как ты его открыл, присвой переменной $PATH первое значение /usr/bin. Это означает, что если будет введена команда uname, то ее сначала будут искать в /usr/bin, но ее там нет, поэтому исправим это :). Иди в папку /usr/bin и создай файл uname, после пиши в него это (аналог команды uname я написал на Перле, но можно и на Си, хотя это не так уж и страшно):
#!/usr/bin/perl
while (<@ARGV>) {
if ($_ eq '') {
print "FreeBSD\n";
}
if ($_ eq '-a') {
$time=scalar(localtime);
print "FreeBSD 4.2.2 localhost.localdomain 2.2.14-11src \#1 $time CERT 2000 i586 unknown\n";
}
if ($_ eq '--help') {
print qq{
Использование: uname [КЛЮЧ]...
Печатает определенные сведения о системе. По умолчанию КЛЮЧ="-s".
-a, --all напечатать всю информацию
-m, --machine напечатать тип машин
-n, --nodename напечатать имя машины в сети
-r, --release напечатать номер выпуска операционной систем
-s, --sysname напечатать название операционной систем
-p, --processor напечатать тип процессора
-v напечатать версию операционной систем
--help показать эту справку и выйти
--version показать информацию о версии и выйти
Об ошибках сообщайте .\n};}
if ($_ eq '-m') {
print "i586\n";}
if ($_ eq '-n') {
print "localhost.localdomain\n";}
if ($_ eq '-r') {
print "2.2.14-11src\n";}
if ($_ eq '-s') {
print "FreeBSD\n";}
if ($_ eq '-p') {
print "unknown\n";}
if ($_ eq '-v') {
$time=scalar(localtime);
print "\#1 $time CERT 2000\n";}
}
Права доступа ставь такие: chmod og+x uname. Все теперь uname слушается тебя и говорит всем что у тебя стоит FreeBSD, версия ядра 2.2.14-11src etc :). Так ты можешь сделать и с другими командами, если ты хочешь чтобы они выводили только то, что тебе нужно.
8. Как всем известно, в никсах пароли обычно хранятся в определенных файлах (passwd, shadow, master.passwd). В линухе пассы лежат в shadow, а все остальное в passwd, тоесть файла master.passwd для системы нет, а мы его сделаем не для системы, а для горе-взломщиков, которые захотят получить наши пароли и не увидят файла shadow :). Для этого создай файл master.passwd в папке /etc и пиши следующее (для наглядного примера я взял файл пассов с www.crc.losrios.cc.ca.us, так что ты можеш заюзать Джони, расшифровать их и поиметь этот сайт :):
root:/xDSBsAdco3v.:0:3::/root:/sbin/sh
www:N74jZlzME3vI2:201:200:,,,:/www:/usr/bin/false
thomagm:GUXqxHZzHSRFU:202:20:Gina
M.Thomas-Lord,CRC,7226,:/home/thomagm:/usr/bin/rksh
apedaid:GUOPOM/y.WlhE:203:20:Dewayne
Apedaile,CRC,7392,:/home/apedaid:/usr/bin/rksh
bennetg:ral5BQAMbqbRc:208:20:Gary
P.Bennett,CRC,7353,:/home/bennetg:/usr/bin/rksh
Вот вроде и все, если ты все это учтешь при настройке/установки своего никса, то обезапасишь себя от несанкционированного доступа взломщиков к картинкам твоего кота Мурзика :). Удачи!