Техника сетевых атак
Шрифт:
Но старый клиент не способен соединится с telnet-сервером Windows 2000, поскольку не поддерживает NTLM аутентификацию, которую настоятельно рекомендуется использовать в целях безопасности. Со всеми же остальными задачами, описанными в этой книге, он успешно справляется.
Следующий эксперимент демонстрирует подключение к telnet-серверу hobbiton.org и регистрацию нового пользователя. Для этого необходимо выбрать пункт меню “~Подключить/Удаленная система”. Когда на экране появится диалоговое окно, изображенное на рисунке 060 в поле «Имя узла» указать «hobbiton.org» (или адрес другого узла, к которому необходимо подключиться на данный момент). Содержимое поля «порт» на данном этапе необходимо оставить по умолчанию, то есть “telnet”
Рисунок 060 Диалог «подключение»
Затем нажать кнопочку «подключить», и пару секунд появится заставка “OpenBSD” [99], и требование ввести имя пользователя и пароль (смотри рисунок 061).
Рисунок 061 Начало telnet-сессии с сервером
Если ввести свое имя и взятый наугад пароль, сервер поругается,- не знаем мы, мол, таких проходимцев, пробуйте еще раз. Для регистрации нового пользователя необходимо в качестве имени ввести “newuser”. Сервер задаст несколько придирчивых вопросов о поле, возрасте, месте проживания и через некоторое время, варьирующиеся от десятков минут до нескольких дней, создаст новый аккаунт и пустит в систему.
Что можно сделать с помощью Perl (глава для начинающих)
O В этой главе:
O История создания языка Perl
O Назначение и возможности Perl
O Демонстрация возможностей Perl
«…программисты слишком часто обвиняют в грехах именно себя. Программистам нужно меньше времени тратить на оправдания. Если программирование не интересно, мы не будем убеждать других стать программистами» Ларри Уолл
Народная молва утверждает, лучше, дескать, один раз увидеть, чем сто раз услышать. Поэтому, вместо пылкой агитации за изучение языка Perl, ниже будет приведен один маленький, не самый эффектный, но достаточно оригинальный эксперимент. Как известно, большинство серверов новостей Usenet часто сильно перегружены и не отличаются завидной скоростью. А сами конференции порой содержат тысячи сообщений, просматривать которые в on-line весьма медленно и накладно.
Между тем, текстовые сообщения легко сжимаются любым архиватором в несколько раз, - будь сервер малость поумнее, - он мог бы передавать упакованный поток данных на компьютер клиента, заметно уменьшая сетевой трафик.
Но такую операцию не трудно осуществить и самостоятельно: выбрать сервер с быстрым каналом, установить на нем клиентскую программу, которая умела бы читать сообщения из выбранной конференции, упаковывать их и выкладывать на быстрый FTP, поддерживающий докачку.
Ниже приведена одна из возможных реализаций такой программы (на диске, прилагаемом к книге, она находится в файле “/SRC/nr.pl”). В качестве упражнения зайдите telnet-ом на hobbiton.org (смотри главу «Удаленное выполнение программ») и наберите следующий текст в редакторе vi:
· #!/usr/local/bin/perl
· use Socket;
·
· #$server='mailserver.corvis.ru';
· #$server='oberon.rnd.runnet.ru';
· $server='news.fido7.ru';
· $group='fido7.ru.nethack';
· $listfile='list.txt';
· $msgfile='msg.txt';
·
· print "NNTP Reader Version 2.0 (c) 2000 Kris Kaspersky\n";
· print "Open nf.cfg file…";
·
· #Попытка взятия настоек из файла
· if (open(FH,"nr.cfg"))
· {
· print "OK\n";
· $server=«FH»;
· $server=~ s/\n//;
· $group=«FH»;
· $group =~ s/\n//;
·}
· else
· {
· print "fail\n";
·}
·
· print "Server [$server]:";
· $tmp=«»; if (length($tmp)»2) {$server=$tmp; $server=~ s/\n//;}
·
·
· print "Command (MSG|LIST|EXIT):";
· $tmp=«»;
·
· if ($tmp=~/MSG\n/)
· {
· print "Group [$group]:";
· $tmp=«»;
· if (length($tmp)»2) {$group=$tmp; $group=~ s/\n//;}
· getmsg;
·}
·
· if ($tmp=~/LIST\n/)
· {
· LIST;
·}
·
· if ($tmp=~/EXIT\n/)
· {
· EXIT;
·}
·
· #Сохраняем настойки в файле
· if (open(FH,"»nr.cfg"))
· {
· print FH "$server\n";
· print FH "$group\n";
·}
· close (FH);
·
·
· sub getmsg
· {
·
· $cmdcount=0;
· print "Connecting to $server…";
· socket(NNTP, PF_INET, SOCK_STREAM, getprotobyname("tcp") || 6);