След случайно появяване на е-майл адреса ми на уеб-страницата на популярен ежедневник, спамерите не закъсняха. Първите бяха София Ехо (sofiaecho.com) – получих тяхна новина. Със стандартния текст отдолу да се отпиша от списъка им, ако не го желая.
Пратих им в отговор стандартния си текст, че аз не съм се записвал в него, така че да ме отпишат сами. В края на краищата, е-майл адресът ми е частна собственост. Това да му пращат нежелани е-майли е все едно да нахлуят в къщата ми, или да хвърлят в нея през прозорците нежелани предмети. Ако ще са културни, няма да настояват да го правят. (Всъщност, ако наистина бяха културни, нямаше изобщо да го правят, ама очевидно не става дума за това.)
Да видим какви ще излязат в крайна сметка.
Честито, колега блогър. С това свое дейние вие предоставихте на спамерите доказателство, че вашият e-mail адрес е активен, а не изоставен. Той ще бъде преместен от общия списък към по-скъпо продаваният списък. Надявам се, няма да възразите предстоящите реклами. Спамерите ще са ви благодарни, предполагам, ако продължите да доказвате активността на акаунта с обратни писма.
Познавайки Григор, не мисля че като ударим една черта спамерите ще са много благодарни нему :).
Особено като вземат да получават 10,000 писма с еднакъв текст.
Пейо имаше добра идея, може би не е зле да се започне с реализацията и.
Пояснение на коментара на Дончо:
Спамерите (ако са български) първият път получават 1 брой умерено учтиво писмо като описаното. При втория си спам получават 10 броя, при третия – 100, и т.н. Досега нито веднъж не ми се е налагало да стигам до 100 000 броя… 🙂
За чуждестранните имам други средства за действие. Напоследък особено ми хареса идеята да изровя всички активни е-майли на спамера (най-вече тези, които той не би искал да са известни), и да ги запиша във всички спам списъци, на които попадна. Мислил съм и за идеята да подпомогна малко процеса, като им пратя няколкостотин хиляди е-майла със случайно генерирани хедъри и съдържание, но засега не съм го правил. Тъй де, отворени проксита по света достатъчно.
А коя точно от идеите на Пейо имаш предвид? Спомням си за повече от една (но не помня кои бяха в блога му, и кои просто ми е споменавал).
Имах впредвид идеята за евристична генерация на фалшиви отговори на заинтересован човек, така че да се хванат и да свършат малко “истинска” работа, а след това да получат “User unknown”…
Мда, тази беше наистина добра! 🙂
Горещо одобрявам. И ако ми остане поне малко време, с удоволствие бих работил за реализирането й.
Спомням си, че веднъж беше споменал за системата за отговор 1-10-100-1000-10000 и т.н. Може ли да помоля за скриптчето дето го прави? Обещавам тържествено да бъде използвано само срещу спамери.
Скриптчето е уникум на грозотата и некадърността в програмирането, но нямам време да го оправя като хората. За момента дори ми се налага да помня от кой спамер по колко спама съм получавал досега – скриптът не го записва (а е страшно лесно да се направи). Но както и да е, ето ти го.
Състои се от две части. Първата е обща, и пуска нещата. Втората е специфична за всеки спамер – правя я от тази за някой предишен, при нужда. Абе, с една дума, механизацията е твърде хилава…
Eто общата част:
#!/bin/bash
# Written by Grigor Gatchev.
disp_help () {
echo
echo “floodmail.sh: A shell script to flood an address with mails :-E”
echo
echo “Usage: floodmail.sh [other_options]”
echo
echo “Mandatory options:”
echo ” –to-address=string”
echo ” Address of the poor message receiver.”
echo ” –from-address=string”
echo ” Address of the nasty message sender.”
echo ” –subject=string”
echo ” Text for the message subject.”
echo
echo “Other options:”
echo ” –body=string”
echo ” Text for the message body.”
echo ” –count=number”
echo ” Count of the times this message must be sent. Default: 1″
echo
}
mandatory_option_missing () {
echo ” Required option not set: “$1
exit
}
split_option () {
OPTION_NAME=”$(echo $1 | cut –fields=1 –delimiter==)”
OPTION_CONTENTS=”$(echo $1 | cut –fields=2 –delimiter==)”
}
# Init variables.
FROM_ADDRESS=
TO_ADDRESS=
SUBJECT=
BODY=
COUNT=1
# Parse parameters.
if [ $# == 0 ]; then
disp_help
exit
fi
while ! [ $# == 0 ]; do
split_option “$1″
case $OPTION_NAME in
–from-address )
FROM_ADDRESS=”$OPTION_CONTENTS”
;;
–to-address )
TO_ADDRESS=”$OPTION_CONTENTS”
;;
–subject )
SUBJECT=”$OPTION_CONTENTS”
;;
–body )
BODY=”$OPTION_CONTENTS”
;;
–count )
COUNT=”$OPTION_CONTENTS”
;;
* )
echo
echo “Wrong option: “$OPTION_NAME
disp_help
exit
;;
esac
shift
done
# Check for mandatory options.
if [ “$FROM_ADDRESS” == “” ]; then
mandatory_option_missing –from-address
fi
if [ “$TO_ADDRESS” == “” ]; then
mandatory_option_missing –to-address
fi
if [ “$SUBJECT” == “” ]; then
mandatory_option_missing –subject
fi
# Postprocess options.
COUNT=$(($COUNT))
# —– Do the job —– #
send_msg_count () {
local FROM=$1 ; shift
local TO=$1 ; shift
local SUBJECT=$1; shift
local BODY=$1 ; shift
local COUNT=$1 ; shift
SUBJECT=”Subject: “$SUBJECT
if ! [ “$BODY” == “” ] ; then
if [ -r “$BODY” ] ; then BODY=$(cat “$BODY”) ; fi
fi
local COUNTER
for COUNTER in $(seq 1 $COUNT); do
echo -ne “Sending $COUNTER of $COUNT messages.\\r”
echo -e “$SUBJECT”\\n\\n”$BODY” | sendmail -f “$FROM” “$TO”
done
echo
}
send_msg_count “$FROM_ADDRESS” “$TO_ADDRESS” “$SUBJECT” “$BODY” “$COUNT”
Това скриптче се използва като engine от други, специфични за всеки провайдер. Ето едно примерно:
OUNT=$1
NEXTCOUNT=”$COUNT”0
./floodmail.sh \
–to-address=”nitaigouranga@aol.com” \
–from-address=spambuster@serdica.org \
–subject=”Stop spamming us.” \
–count=$COUNT \
–body=”Your spam is NOT welcome here. Take the care to stop it.\\nThis message is being sent to you $COUNT times. On next your spam, it will be sent to you $NEXTCOUNT times.”
Нещата биха могли да се подобрят допълнително, в няколко насоки:
– да помни за кой спамер до колко спама и отговора е стигано
– събджектите и текстовете на съобщенията да бъдат подбирани от база с по няколко десетки, за да е малко по-трудно на получателите да ги отфилтрират автоматично. (Ако измисля как получателят да разбира кой адрес да отпише, без да може да филтрира по него, ще е добра идея същото да става и с други елементи на хедъра. Пък и, като се замисля, нужно ли му е да знае? Да отпише всички, ако иска потокът да спре…)
Големият проблем тук е, че работи само срещу спамери, които са дали е-майл адрес. Ако работеше срещу всички, нямаше цена да има. 🙂
Благодаря!
Ще се помъча да откажа някой спамер сега 🙂
Интересен момент. Реших да използвам скрипта срещу cherut@freebiemaniac.com от който получавам спам.
Получава се следното:
Oct 27 18:25:26 localhost postfix/pickup[20394]: E4F413E436: uid=0 from=
Oct 27 18:25:26 localhost postfix/cleanup[21383]: E4F413E436: message-id=
Oct 27 18:25:26 localhost postfix/qmgr[11383]: E4F413E436: from=, size=565, nrcpt=1 (queue active)
Oct 27 18:25:26 localhost amavis[20761]: (20761-04) ESMTP::10024 /var/lib/amavis/amavis-20051027T175620-20761: -> Received: SIZE=565 from mail.riskeng.bg ([127.0.0.1]) by localhost (mail [127.0.0.1]) (amavisd-new, port 10024) with
ESMTP id 20761-04 for ; Thu, 27 Oct 2005 18:25:26 +0300 (EEST)
Oct 27 18:25:26 localhost amavis[20761]: (20761-04) Checking: ->
Oct 27 18:25:29 localhost amavis[20761]: (20761-04) spam_scan: hits=-5.899 tests=ALL_TRUSTED,BAYES_00
Oct 27 18:25:29 localhost amavis[20761]: (20761-04) FWD via SMTP: [127.0.0.1]:10025 ->
Oct 27 18:25:29 localhost postfix/smtpd[21390]: connect from localhost.localdomain[127.0.0.1]
Oct 27 18:25:29 localhost postfix/smtpd[21390]: 57FB63E42A: client=localhost.localdomain[127.0.0.1]
Oct 27 18:25:29 localhost postfix/cleanup[21383]: 57FB63E42A: message-id=
Oct 27 18:25:29 localhost postfix/qmgr[11383]: 57FB63E42A: from=, size=1029, nrcpt=1 (queue active)
Oct 27 18:25:29 localhost postfix/smtpd[21390]: disconnect from localhost.localdomain[127.0.0.1]
Oct 27 18:25:29 localhost amavis[20761]: (20761-04) Passed, -> , Message-ID: , Hits: -5.899
Oct 27 18:25:29 localhost amavis[20761]: (20761-04) TIMING [total 2465 ms] – SMTP EHLO: 1 (0%), SMTP pre-MAIL: 0 (0%), SMTP pre-DATA-flush: 1
(0%), SMTP DATA: 34 (1%), body hash: 0 (0%), mime_decode: 5 (0%), get-file-type: 6 (0%), decompose_part: 1 (0%), parts: 0 (0%), AV-scan-1: 1
(0%), SA msg read: 1 (0%), SA parse: 1 (0%), SA check: 2360 (96%), fwd-connect: 4 (0%), fwd-mail-from: 1 (0%), fwd-rcpt-to: 1 (0%), write-he
ader: 2 (0%), fwd-data: 0 (0%), fwd-data-end: 41 (2%), fwd-rundown: 1 (0%), unlink-1-files: 2 (0%), rundown: 0 (0%)
Oct 27 18:25:29 localhost postfix/smtp[21384]: E4F413E436: to=, relay=127.0.0.1[127.0.0.1], delay=3, status=sent (2
50 2.6.0 Ok, id=20761-04, from MTA: 250 Ok: queued as 57FB63E42A)
Oct 27 18:25:29 localhost postfix/qmgr[11383]: E4F413E436: removed
Oct 27 18:25:31 localhost postfix/smtpd[21379]: connect from orbinet.bg[212.95.188.7]
Oct 27 18:25:31 localhost postfix/smtp[21417]: 57FB63E42A: to=, relay=none, delay=2, status=bounced (mail for freeb
iemaniac.com loops back to myself)
Oct 27 18:25:31 localhost postfix/cleanup[21383]: F15D53E440: message-id=
Oct 27 18:25:31 localhost postfix/qmgr[11383]: F15D53E440: from=, size=2714, nrcpt=1 (queue active)
Oct 27 18:25:31 localhost postfix/qmgr[11383]: 57FB63E42A: removed
Oct 27 18:25:32 localhost postfix/local[21391]: F15D53E440: to=, relay=local, delay=1, status=sent (delivered to command: /usr/bin/maildrop)
Опитах се да пусна мейл до този адрес от Yahoo, но се получи седното:
Hi. This is the qmail-send program at yahoo.com.
I’m afraid I wasn’t able to deliver your message to the following
addresses.
This is a permanent error; I’ve given up. Sorry it didn’t work out.
:
Sorry. Although I’m listed as a best-preference MX or A for that host,
it isn’t in my control/locals file, so I don’t treat it as local.
(#5.4.6)
— Below this line is a copy of the message.
Return-Path:
Received: (qmail 90414 invoked by uid 60001); 27 Oct 2005 15:31:34
-0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
s=s1024; d=yahoo.com;
h=Message-ID:Received:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding;
b=2aCVQe5NB/9+FGpzBLMKzbN4yoJKyNeQeSrs/wcyTYQM3jrIKzEXO1aZ9+nWedplWX9h6n2mhdJ/EFZc8v7gydFijOgr/CbmbTfC+X7O7siuQ9H490HtL9yIM35Vmod/WP3Xp/oVc8j87TqyuYsbX3P053NyzPP92gv+d8OTyIM=
;
Message-ID:
Received: from [212.116.138.34] by web52710.mail.yahoo.com via HTTP;
Thu, 27 Oct 2005 08:31:34 PDT
Date: Thu, 27 Oct 2005 08:31:34 -0700 (PDT)
From: My Mail
Subject: test
To: cherut@freebiemaniac.com
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
test
Всичко стана ясно след:
dig @ns.theofframp.com freebiemaniac.com axfr
; > DiG 9.2.1 > @ns.theofframp.com freebiemaniac.com axfr
;; global options: printcmd
freebiemaniac.com. 14400 IN SOA ns.theofframp.com. root.dragonfly.theofframp.com. 2005081901 14400 7200 3600000 86400
freebiemaniac.com. 14400 IN MX 0 localhost.freebiemaniac.com.
freebiemaniac.com. 14400 IN NS ns.theofframp.com.
freebiemaniac.com. 14400 IN NS ns2.theofframp.com.
freebiemaniac.com. 14400 IN A 205.214.83.144
http://ftp.freebiemaniac.com. 14400 IN A 205.214.83.144
localhost.freebiemaniac.com. 14400 IN A 127.0.0.1
mail.freebiemaniac.com. 14400 IN CNAME freebiemaniac.com.
http://www.freebiemaniac.com. 14400 IN CNAME freebiemaniac.com.
freebiemaniac.com. 14400 IN SOA ns.theofframp.com. root.dragonfly.theofframp.com. 2005081901 14400 7200 3600000 86400
;; Query time: 235 msec
;; SERVER: 205.214.83.148#53(ns.theofframp.com)
;; WHEN: Thu Oct 27 18:40:25 2005
;; XFR size: 11 records
За да правят този номер с пощата, значи са дали и други координати за контакт. Може би те могат да бъдат използвани? 🙂