Тук-тук, это я!Степан Ильин aka StepХакер, номер #084, стр. 084-032-1 (step@gameland.ru) Port Knocking. Новый фокус от админов в действии Сканирование портов - излюбленный прием сетевых взломщиков. С его помощью можно легко определить активные сервисы, выяснить названия и версии используемого софта, после чего попытаться найти подходящий эксплойт. Иногда сканер портов показывает фигу и говорит, что на удаленной машине открытых портов нет. Конечно, работающих сервисов может действительно не быть, но возможен и другой вариант - администратор использует прием Port Knocking. [порт - что?] «Порт нокинг» - это особая технология передачи данных. Для того чтобы лучше ее понять, вспомни азбуку Морзе и конкретно обозначение слова SOS. Сигнал бедствия передается с помощью комбинации - три точки, три тире, три точки. Три точки, соответственно, обозначает букву S, а три тире - букву O. Для всех остальных символов также существуют аналогичные обозначения. Таким образом, общий принцип очень прост: с помощью последовательностей точек и тире можно представить любую букву, а соответственно, слово и текст. Технология Port Knocking использует очень схожий принцип. Разница лишь в том, что для кодирования информации применяются не точки и тире, а серии попыток подключения к закрытым портам. Зачем это нужно? Для многого. Возьму сразу распространенный и банальный пример. Если клиенту заранее известна секретная последовательность подключений, то он может подключиться даже к тому серверу, у которого открытые порты внешне отсутствуют. Скажем, если бы я хотел приконнектиться к взломанному серверу через SSH, то сконструировал такой бэкдор, который не использует напрямую 22 или любой другой порт. Такой подход сразу же вызовет подозрения у любого опытного администратора. Лучше сделать так, чтобы бэкдор определял попытки подключения последовательно на 1011, 1007, 1033, 1002, 1000 порты, после чего открывал доступ к SSH-порту на несколько секунд. Этих секунд будет вполне достаточно, чтобы подключиться и комфортно работать в системе. Последовательность попыток подключения к закрытым портам называется Knock (тук-тук!). Несмотря на то, что все порты на сервере закрыты, все попытки непрерывно отслеживаются, и информация о них записываются в логи файрвола. Сервер чаще всего никак не отвечает на эти подключения, но он считывает и обрабатывает их. Если серия подключений обозначена в настройках специального Port Knock демона, на сервере тут же выполнится определенное действие. В большинстве случаев открываются несколько портов, например, 22 - для возможности подключения администратора к SSH-сервису. Но это лишь один из вариантов. Триггер может совершенно по-разному реагировать на правильный «тук-тук!» и не только динамически изменять правила файрвола, а еще выполнять любые другие административные действия (скажем, выполнять перезагрузку системы, отключение питания и т.п.). Что касается выбора Knock'ов, то он произволен и зависит исключительно от разработчика. Единственное условие - последовательность подключений (или алгоритм ее составления) должна быть заранее известна как для серверной, так и клиентской стороны. Содержание Вперед на стр. 084-032-2 |


















































































































