/* Почему я написал эту статью? Просто потому, что в сети пока нет
более-менее подробного описания RTK: Russian Trinux
Kit. Скажу честно, мне эта статья далась не легко,
так я по совместительству являюсь создателем системы, но тем не менее я постарался трезво оценить и описать все ее
плюсы и минусы. Статья по большей части носит теоретический характер. */
What is...
RTK - это Live-CD дистрибутив ОС Linux, созданный для проверки безопасности
удаленных или локальных вычислительных систем и сетей (хотя вы можете использовать
его и в других целях, например восстановление системы после сбоя или построение шлюза,
хотя это тема отдельной статьи). Многие спросят, почему именно "проверка
безопасности", ведь раньше было кое-что другое ;-)? Думаю ответ очевиден - это сделано во избежания
лишних трений с некоторыми структурами нашего государства.
Система содержит последние версии популярных digital security программ
(в поставку входят всевозможные сканнеры, снифферы, криптографические средства,
файрволлы, прокси серверы, редиректы, релизы известных хакерских групп и пр.
В общей сложности система содержит более 150 security-утилит), кроме того
RTK не требует установки и запускается с диска.
Why?
Встает резонный вопрос: "Зачем пользоваться системой RTK? Ведь можно просто поставить
Linux (или BSD), скачать необходимое мне ПО и пользоваться им при необходимости!"
На этот вопрос существует несколько ответов:
1. ПК
Иногда случаются ситуации, когда невозможно получить доступ к своему рабочему
ПК (причин множество: командировка, чужой компьютер, системный сбой и пр). И из-за
этого несколько усложняется проведение сетевого анализа системы или сети.
Дистрибутив RTK можно запускать на любой машине (в идеале, конечно) с достаточным количеством
оперативной памяти, кроме того в систему уже встроены популярные программы,
позволяющие проверить безопасность сети и/или хоста. Конечно мы не претендуем на идеальную
систему, содержащую все необходимые вам программы, так как каждый специалист пользуется
своим набором утилит, возможно даже недоступных широкой общественности... Кроме того,
наш проект придерживается философии Open Source, следовательно мы вынуждены
отказаться от коммерческих продуктов (и не только из-за наших убеждений, но и
из-за тяжб в суде). Но для анализа на "среднем уровне" он более чем подходит!
2. Системный Администатор.
У многих людей просто нет времени вплотную заниматься безопасностью сети, да и скромный
бюджет не позволяет нанять специалистов в данной области.Но тем не менее мы не движемся в сторону "эникей системы", типа "вставил диск, запустил систему,
ввел ip и нажал scan". Мы добавили очень много всевозможных утилит, чтобы пользователь
сам проводил нужные ему исследования и пользовался необходимыми ему программами,
не тратя время на их поиск и установку.
3. logs
Система постоянно записывает различные сообщения в лог-файлы, невольно позволяя "следить"
за пользователем компьютера. Это частенько используют эксперты, проводящие полный анализ
машины взломщика (что в принципе, при правильном подходе может являться прямым
доказательством в суде). Все данные системы RTK находятся на виртуальном диске, создаваемым в ОЗУ (RAM),
который как известно, сбрасывается после каждой перезагрузки. Данная особенность
полностью освобождает вас от проблемы лог-файлов, уследить за которыми на обычной системе
бывает очень проблематично... Проще говоря система не оставляет никаких следов.
Как вы уже наверное поняли выше были представлены плюсы системы, а теперь время поговорить
о минусах. Правде надо смотреть в лицо!
1. Иллюзия безопасности и Безнаказанности
Как вы наверняка знаете, система RTK не оставляет никаких следов. Но у многих может сложиться
иллюзия полной свободы и безнаказанности... Стоит помнить, что следы остаются
на взломанной машине (хотя это зависит от вас ;-)), плюс логи у провайдера.
Так что на счет безнаказанности можно поспорить (подробности в разделе LaW ниже).
2. Бедный Админ или массовый "панки хой!"
Представляете, что может сделать с бедным админом обычной домашней сети
распространение CD с RTK? Это минимум массовое сканирование, постоянная проверка
уязвимостей, пробные реализации DoS (возможно даже не осознанно,
например при помощи nessus), всевозможные флуды и снифы, hijacking
etc. Конечно за всем этим ОЧЕНЬ весело наблюдать, пока вы не встанете на место админа ;-).
Хотя home networks бывают разные ;-).
3. Мораль сей басни такова..
Что все таки я (да и множество других людей, участвующих в создании
и распространении RTK) несут моральную ответственность
за последствия от действий пользователей системы. Я не думаю, что кому-то будет приятно услышать новость в том,
что молодой парень в результате своих "хакерских исследований" с RTK получил срок
(пусть даже и условный, в этом тоже мало хорошего).
Так что предупреждаю всех начинающих исследователей: "Прежде чем что-то
предпринимать - подумайте!" И хочу напомнить, что мы НЕ НЕСЕМ ОТВЕТСТВЕННОСТЬ за
любые противоправные действия, совершенные вами при помощи данного дистрибутива.
Вообще примеров "За и Против" можно привести уйму, но Вам и только вам решать,
стоит ли пользоваться системой. И у каждого будут свои причины, так
что я оставлю данный вопрос читателю...
Super HAKEP!
Существует мнение, что дистрибутив создан для script
kiddie. Имхо, это совсем не так. Просто потому что кидису совсем не нужны
средства вроде hping, cctt etc. Ведь алгоритм действия скрипт
кидисов прост: добывается шелл с толстым каналом, на него закачивают
ip generator и banner grabber, первый соответственно генерирует
список ip адресов, а второй его использует для проверки определенных сервисов
(к примеру ftp/ssh/smtp), после выхода нового vuln список результатов grep'ится и вот, несколько хостов уже ждут
своих незаконных владельцев ;-). По моему RTK в эту схему никак не вписывается.
LaW
Нарушаем ли мы закон? Думаю, нет. Но чисто теоретически это можно расценивать
как 273 статью УК РФ, цитирую:
Статья 273. Создание, использование и распространение вредоносных программ для ЭВМ
1. Создание программ для ЭВМ или внесение изменений в существующие программы, заведомо
приводящих к несанкционированному уничтожению, блокированию, модификации либо копированию
информации, нарушению работы ЭВМ, системы ЭВМ или их сети, а равно использование либо
распространение таких программ или машинных носителей с такими программами -
наказываются лишением свободы на срок до трех лет со штрафом в размере от двухсот до пятисот
минимальных размеров оплаты труда или в размере заработной платы или иного дохода осужденного
за период от двух до пяти месяцев.
2. Те же деяния, повлекшие по неосторожности тяжкие последствия, -
наказываются лишением свободы на срок от трех до семи лет.
Может ли использование системы RTK привести к "несанкционированному уничтожению,
блокированию, модификации либо копированию информации, нарушению работы ЭВМ, системы
ЭВМ или их сети"? Ответ тут очевиден. Но если смотреть на это дело
под таким углом, то тот же tcpdump в составе Slackware может использоваться для
несанкционированного перехвата информации, nessus в составе KNOPPIX может вызвать
падение демонов, а кривая программа может нарушить работу "ЭВМ",
в общем таких примеров можно привести много. И что, всех под суд? Я думаю нет.
Вам и только Вам решать, как использовать RTK, проводить ли с ней анализ безопасности
сети знакомого админа или искать слабые места в защите своих соседей... Пользуясь системой
вы должны понимать, что использование утилит дистрибутива может привести к
несанкционированному доступу к системе и Ваши действия могут попасть под статью 272 УК РФ, цитирую:
Статья 272. Неправомерный доступ к компьютерной информации
1. Неправомерный доступ к охраняемой законом компьютерной информации, то есть информации
на машинном носителе, в электронно - вычислительной машине (ЭВМ), системе ЭВМ или их сети,
если это деяние повлекло уничтожение, блокирование, модификацию либо копирование информации,
нарушение работы ЭВМ, системы ЭВМ или их сети, - наказывается штрафом в размере от двухсот
до пятисот минимальных размеров оплаты труда или в размере заработной платы или иного дохода
осужденного за период от двух до пяти месяцев, либо исправительными работами на срок от шести
месяцев до одного года, либо лишением свободы на срок до двух лет.
2. То же деяние, совершенное группой лиц по предварительному сговору или организованной
группой либо лицом с использованием своего служебного положения, а равно имеющим доступ к
ЭВМ, системе ЭВМ или их сети, - наказывается штрафом в размере от пятисот до восьмисот
минимальных размеров оплаты труда или в размере заработной платы или иного дохода осужденного
за период от пяти до восьми месяцев, либо исправительными работами на срок от одного года до
двух лет, либо арестом на срок от трех до шести месяцев, либо лишением свободы на срок до пяти лет.
Независимо от вашего мировоззрения, стремления к свободе и возможной нетерпимости к
правоохранительным органам, советую задуматься над возможными последствиями. А они могут стать
для вас весьма плачевными. Вообще я не юрист чтобы рассуждать тут о возможности задержания
взломщика без логов на его машине, но тем не менее доказательства вашей вины могу быть весьма
сомнительными (мягко говоря), вспомнить даже печальную историю с Порублевым.
Закончив лирическое отступление, перейдем собственно говоря к основам использования системы...
RTK 0.4 BE CD
Итак, предположим что у вас каким-то образом появился диск с RTK 0.4 BE.
Для успешной работы с системой требуется 64Mb RAM и процессор Intel Pentium or
AMD. Хотя я настоятельно рекомендую работать на 128
mb. После загрузки (то есть "установки" диска в CD-привод) вы должны увидеть приглашение
isolinux:
Как вы уже поняли, существует несколько типов запуска для определенного
количества RAM (64/128/256/384/512). Дело в том, что динамическое распределение оперативной
памяти на мой взгляд не очень удачно, поэтому мы и использовали такой подход.
Boot
С процессе загрузки нет ничего хитрого, начнем с самого начала. Загружается ядро,
потом идет код linuxrc (который соответственно указан в
/etc/inittab). Он производит настойку русского языка, поиск CD-приводов, монтирование диска с RTK 0.4
BE, "послезагрузочную" очистку виртуального диска, поднятие loopback интерфейса, запуск ldconfig,
линкование /dev/psaux с /dev/mouse (дефолтно предполагается, что у вас мышь PS/2), монтирование
и поиск конфигов на floppy-диске, а также вывод различной информации.
Вот к примеру лог загрузки на моей настолькой машине:
------------------------------------
===========================
Монтирую диск с RTK 0.4 BE
Очищаю виртуальный диск...
===========================
Версия RTK: 0.4 BE
Ядро: 2.4.21
===========================
Поднимаю loopback интерфейс
===========================
Запускаю ldconfig
===========================
Попытка монтирования дискеты в /boot
end_request: I/O error, dev 02:00 (floppy), sector 0
end_request: I/O error, dev 02:00 (floppy), sector 0
mount: /dev/fd0 is not a valid block device
umount: /boot: not mounted
===========================
--------------------- Конфигурация Файловых Систем -----------------------
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/sr7 266528 266528 0 100% /RTK
/RTK/RTK 252480 252480 0 100% /04
-----------------------------------------------------------------------
===========================
Информация по монтированию:
/proc on /proc type proc (rw)
none on /dev/pts type devpts (rw)
/dev/sr7 on /RTK type iso9660 (ro)
/RTK/RTK on /04 type squashfs (ro,loop=/dev/loop0)
===========================
Использование памяти:
total used free shared buffers cached
Mem: 253172 106096 147076 0 4984 95524
-/+ buffers/cache: 5588 247584
Swap: 0 0 0
===========================
Добро пожаловать в RTK: Russian Trinux Kit 0.4 BE
Наберите 'root' или 'rtk' для успешного входа в систему.
ALT-<Лево/Право> позволяет переключаться между терминалами.
Правый переключает раскладку клавиатуры.
За более подробной информацией обращайтесь по адресу
http://linuxsecurity.ru
INIT: Entering runlevel: 3
darkstar.example.net login:
------------------------------------
Configs
Влиять на процесс загрузки просто необходимо. К примеру, для автоматического
поднятия сети, настойки мыши или копирования конфига x-window...
Вот пример скрипта first:
# GPM
gpm -m /dev/psaux -t ps2
# Поднятие сети
/sbin/ifconfig eth0 192.168.0.10 netmask 255.255.255.0 up
/sbin/route add default gw 192.168.0.1
echo "search mynet.local" > /etc/resolv.conf
echo "nameserver xx.xx.x.x" >> /etc/resolv.conf
# xfree86 config copy...
cp xf86cfg /etc/X11/XF86Config
Для успешного выполнения скрипта во время загрузки системы его нужно
положить в корень флоппи диска.
System
С "системной" точrи зрения RTK - это тот же Linux Slackware, со всеми вытекающими отсюда последствиями.
То есть вы можете использовать все преимущества данной системы (естественно из установленных пакетов, к
примеру в RTK нет никаких демонов кроме sshd. Список пакетов Slackware, встроенных в RTK 0.4 BE
можно посмотреть по адресу http://linuxsecurity.ru/sources.php) без установки на жесткий диск.
Но здесь я хотел бы остановиться именно на добавленных "системных" программах. Это во первых
xcode, который осуществляет преобразования документов в различные кодировки, Eddi - довольно интересный
текстовой редактор (но лично мне он не очень нравится и в будущей версии я планирую поставить
nedit), audacity (аудио редактор) и Mozilla (думаю в комментариях не нуждается). Конечно список нельзя назвать большим,
но во первых дистрибутив создавался не для этих целей, а во вторых в slackware имхо есть все необходимое
для комфортной работы.
Save As..
Надо учитывать, что все данные, сохраненные вами на виртуальном диске, после перезагрузки будут уничтожены.
Для записи важных материалов я советую монтировать дискету или раздел жесткого диска и записывать информацию туда.
Также возможна отправка данных в сеть (например на удаленный ftp-сервер) или запись на болванку. Чтобы легче было осуществить копирование всех важных данных, лучше всего создать специальную
папку на виртуальном диске (к примеру /mystuff) и по ходу работы копировать нужные данные туда,
просто в последствии будет легче перенести все обходимые вам материалы на какой-нибудь носитель.
Security tools...
Я намеренно не стал приводить здесь
описание security-программ, входящих в RTK, чтобы статью не
восприняли как руководство к действию. Может быть в будущем я и напишу что-нибудь подобное,
но не со стороны "взлома", а с позиции "проверки безопасности" ;-).
Small FAQ
Почему диск стоит так дорого? И когда будет доступен образ?
Диск с RTK 0.4 BE стоит столько же, сколько и один выпуск журнала
Системный Администратор - 145 руб. На разработку RTK ушло 4 месяца очень напряженной работы и
лично я думаю что мы заслуженно пытаемся заработать на хлеб (ведь тут
речи даже не идет о каких-то сверх прибылях или больших деньгах).
RTK - это не подзаборный дистрибутив, а вполне законченный,
проверенyый и протестированный продукт. Так что поймите нас правильно, образ в ближайшее время мы выкладывать
не планируем...
Когда выйдет новая версия?
Версия 0.4 вышла всего пару нtдель назад ;-). Ну а новую версию не стоит ждать раньше нового года,
это точно. Я так думаю где-то в феврале-марте...
Будет ли что-то на основе BSD?
В ближайшее время нет. Причины тут две: во первых
лично я не вижу в этом смысла, во вторых я не настолько
хорошо знаю системы BSD-like, чтобы создать качественный live-cd.
Можно ли RTK поставить на жесткий диск?
Можно, но придется немного повозиться.
Выводы
Не стоит думать что воспользовавшись системой все у вас будет ломаться на ходу.
RTK - это "всего лишь" live-cd дистрибутив ОС Linux (0.4 BE based on Slackware 9.0),
укомплектованный утилитами для анализа безопасности сети, который работает без жесткого диска
и не оставляет никаких следов на "запускаемой" машине. На последок хочу заметить, что
дистрибутив - всего лишь средство, а как им воспользоваться - дело ваше...