Smurf с веб-интерфейсом? Легко!

Xakep, номер #032, стр. 032-059-2


Также доступно множество утилит для поиска броадкаст адресов с большим количеством ответов. Все необходимое можно разыскать на том же www.packetstormsecurity.org. Но в данный момент я не считаю, что они полезны, т.к. еще давно ребята из www.netscan.org просканировали весь Интернет за нас, и теперь полный список доступен с их сайта, он весит целых 1.5 мегабайта!

Мутим скрипт!

К данной статье прилагается скрипт websmurf.pl, являющийся веб-интерфейсом для smurf'a (скачать можно с сайта журнала, по адресу: www.xakep.ru/articles/releases).

Для установки скрипта тебе понадобятся всего лишь права рута на сервере :). Т.к. только рут способен использовать RAW_SOCK, конечно, если удастся уговорить

администратора загрузить специальный модуль, который разрешит юзать RAW_SOCK всем юзерам, то рут не понадобится :). В случае, если ты заимел рут, компилируешь смурф и делаешь владельцем файла r00t?a. Chown 0:0 smurf5 и затем выставить атрибуты suid для того, чтобы обычные юзеры могли его выполнять, chmod 4755.

Также советую разрешить его исполнение только определенному пользователю для того чтобы другие локальные юзверги не могли читать файлы системы, доступные только руту. При хреновом раскладе злобо-хаки смогут даже поломать систему, перехватив заветного root`a :(. Уже боишься? Зря. Проблема решается просто: добавив в исходник papasmurf.c строчку if (getuid() != 1000) exit(0); где 1000 -UID юзера, которому разрешено вызывать smurf. Если запрятывал УИД, то придется еще заглянуть в файл /etc/passwd. Все готово, все пучком? Теперь можно приступить к конфигурации скрипта.

$suid_smurf = "/home/www/cgi-bin/suid_smurf";

Переменная $suid_smurf задает, где находится suid'ый откомпилированный papasmurf.

$broadcast = "/home/www/cgi-bin/list.txt";

$broadcast данная переменная задает, где расположен список броадкаст адресов.

@ivalid_ips = ("127.0.0.1", "195.34.0.1");

В массиве @ivalid_ips лежит список адресов, которые нельзя атаковать.

$MAX_SIZE = 99;

Переменная прописывает максимальный размер пакета.

$MAX_AMOUNT = 100;

Максимальное количество packet?ов к отправке

$log = 1;

1 - логить попытки смурфа, 0 - нет.

$log_file = "smurf_log"

Название лог файла.

После того как изменишь настройки, следует разместить файло в /cgi-bin/ директорию и поставить атрибуты 755. Если включить логгинг, то придется сразу создать файл с названием переменой $log_file и поставить на него атрибуты 666 (сие не нужно тем, кто работает с suexec).

Назад на стр. 032-059-1  Содержание