Нестандартные backdoor-ы в *nix. Как создать свой необычный backdoor
Xakep, номер #046, стр. 046-054-3 Вариант два - наш бэкдор представляет собой набор патчей к либам. Это более приятный способ. Во-первых, админы не так часто проверяют библиотеки, а во-вторых, после переустановки тех же самых ps'ов и login'ов наш бэкдор все равно будет успешно функционировать. Вариант три - бэкдор является процессом-демоном, который по запросу совершает нужные нам действия, например, при соединении с ним дает шелл. Проблем и с этим методом тоже хватает: бэкдор будет светиться в ps'е, netstat'е, еще в куче программ. Кроме того, нам нужно, чтобы он как-то запускался при перезагрузке системы. Так что придется применять различные методики скрытия от ps и netstat, а также мы должны обеспечить незаметный для админа запуск нашего бэкдор-процесса. Наконец, бэкдор представляет собой модуль для ядра операционки (тема затронута выше) или же патчер процессов, или самого ядра "на лету". Это самые "продвинутые" техники, дающие максимальный результат, но в то же время они - одни из самых сложных в реализации. При их использовании можно с очень большой вероятностью быть уверенными, что админ не сможет нас вычислить. Но даже несмотря на это, остается проблема - запуск бэкдора при перезагрузке системы. Запускаем бэкдор Насущная проблема - заставить админа париться, рвать на себе волосы и задавать вопрос: "Как же он запускается?". Запись стартовой строки в различные rc и inetd.conf отпадает сразу - легко детектируется. Что остается? Детектируемое патченье init'а и прочей запускаемой при старте мишуры. Немного более сложна детектируемая модификация библиотек. Вообще злые системные вещи, вроде изменения mbr'а (придется ведь патчить на лету операционку в процессе загрузки) или изменение структур данных файловой системы. Опять же хороши совмещенные варианты: запускается патченный файл, подгружает нечто в ядро, а затем это нечто совершает сбивающие админа с толку действия (как было сказано ранее - подмена патченного файла на оригинальный и т.д.). Защита от админа внутри сети Представим такую ситуацию: есть порутанная машина А, Б - это мы, и В - другая машина в одном сегменте с А, за которой сидит админ и пытается вычислить Б (нас). Опять проследим за логикой админа. Какие действия он может предпринять? Во-первых, админ может просканить хост А с целью выявления фичей, которые ему не удалось почекать локально, например, левые открытые порты (ведь мы уже скрылись из нетстата!). Во-вторых, он может долго и упорно мониторить сетку на наличие аномального трафика. |