Още спам

След случайно появяване на е-майл адреса ми на уеб-страницата на популярен ежедневник, спамерите не закъсняха. Първите бяха София Ехо (sofiaecho.com) – получих тяхна новина. Със стандартния текст отдолу да се отпиша от списъка им, ако не го желая.

Пратих им в отговор стандартния си текст, че аз не съм се записвал в него, така че да ме отпишат сами. В края на краищата, е-майл адресът ми е частна собственост. Това да му пращат нежелани е-майли е все едно да нахлуят в къщата ми, или да хвърлят в нея през прозорците нежелани предмети. Ако ще са културни, няма да настояват да го правят. (Всъщност, ако наистина бяха културни, нямаше изобщо да го правят, ама очевидно не става дума за това.)

Да видим какви ще излязат в крайна сметка.

10 thoughts on “Още спам

  1. RaynerApe

    Честито, колега блогър. С това свое дейние вие предоставихте на спамерите доказателство, че вашият e-mail адрес е активен, а не изоставен. Той ще бъде преместен от общия списък към по-скъпо продаваният списък. Надявам се, няма да възразите предстоящите реклами. Спамерите ще са ви благодарни, предполагам, ако продължите да доказвате активността на акаунта с обратни писма.

    Reply
  2. Дончо

    Познавайки Григор, не мисля че като ударим една черта спамерите ще са много благодарни нему :).
    Особено като вземат да получават 10,000 писма с еднакъв текст.

    Пейо имаше добра идея, може би не е зле да се започне с реализацията и.

    Reply
  3. Григор Post author

    Пояснение на коментара на Дончо:

    Спамерите (ако са български) първият път получават 1 брой умерено учтиво писмо като описаното. При втория си спам получават 10 броя, при третия – 100, и т.н. Досега нито веднъж не ми се е налагало да стигам до 100 000 броя… 🙂

    За чуждестранните имам други средства за действие. Напоследък особено ми хареса идеята да изровя всички активни е-майли на спамера (най-вече тези, които той не би искал да са известни), и да ги запиша във всички спам списъци, на които попадна. Мислил съм и за идеята да подпомогна малко процеса, като им пратя няколкостотин хиляди е-майла със случайно генерирани хедъри и съдържание, но засега не съм го правил. Тъй де, отворени проксита по света достатъчно.

    А коя точно от идеите на Пейо имаш предвид? Спомням си за повече от една (но не помня кои бяха в блога му, и кои просто ми е споменавал).

    Reply
  4. Дончо

    Имах впредвид идеята за евристична генерация на фалшиви отговори на заинтересован човек, така че да се хванат и да свършат малко “истинска” работа, а след това да получат “User unknown”…

    Reply
  5. Григор Post author

    Мда, тази беше наистина добра! 🙂

    Горещо одобрявам. И ако ми остане поне малко време, с удоволствие бих работил за реализирането й.

    Reply
  6. Явор Атанасов

    Спомням си, че веднъж беше споменал за системата за отговор 1-10-100-1000-10000 и т.н. Може ли да помоля за скриптчето дето го прави? Обещавам тържествено да бъде използвано само срещу спамери.

    Reply
  7. Григор Post author

    Скриптчето е уникум на грозотата и некадърността в програмирането, но нямам време да го оправя като хората. За момента дори ми се налага да помня от кой спамер по колко спама съм получавал досега – скриптът не го записва (а е страшно лесно да се направи). Но както и да е, ето ти го.

    Състои се от две части. Първата е обща, и пуска нещата. Втората е специфична за всеки спамер – правя я от тази за някой предишен, при нужда. Абе, с една дума, механизацията е твърде хилава…

    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.”

    Нещата биха могли да се подобрят допълнително, в няколко насоки:

    – да помни за кой спамер до колко спама и отговора е стигано
    – събджектите и текстовете на съобщенията да бъдат подбирани от база с по няколко десетки, за да е малко по-трудно на получателите да ги отфилтрират автоматично. (Ако измисля как получателят да разбира кой адрес да отпише, без да може да филтрира по него, ще е добра идея същото да става и с други елементи на хедъра. Пък и, като се замисля, нужно ли му е да знае? Да отпише всички, ако иска потокът да спре…)

    Големият проблем тук е, че работи само срещу спамери, които са дали е-майл адрес. Ако работеше срещу всички, нямаше цена да има. 🙂

    Reply
  8. Явор Атанасов

    Благодаря!
    Ще се помъча да откажа някой спамер сега 🙂

    Reply
  9. Явор Атанасов

    Интересен момент. Реших да използвам скрипта срещу 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

    Reply
  10. Григор Post author

    За да правят този номер с пощата, значи са дали и други координати за контакт. Може би те могат да бъдат използвани? 🙂

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *