カテゴリー
SugiBlog ホームページ制作・システム開発|大阪

Emotet 感染の被害が拡大しています

少し前からネット上でも話題となっていますが、Emotet(エモテット)というマルウェアの感染被害が拡大しています。
私の会社でも感染した取引先数社からメールが届いています。

感染してしまうと被害は甚大です。
自身のメールアカウント情報と連絡先、メール本文等の情報を盗み取られてしまいます。
そして感染を拡大するため、連絡先へとマルウェアを含んだメールを送信します。
更には他のマルウェアを呼び込んだり、インターネットバンキングのログイン情報なども盗まれる可能性もあります。
続きを読む…»

0
223 views

Procmail 本文を取得する

procmailを使って、本文を変数に格納します。

procmailフラグ「b」…メールの本文をアクションに渡す

:0b
{
    BODY = `sed -e ' 1,/^$/ d'`
}

以上で変数$BODYに本文が格納されます。

参考URL: http://jo1upk.blogdns.net/linux/?%E3%82%BD%E3%83%95%E3%83%88%2Fprocmail%2Fformail

0
1,367 views

迷惑メール調査に便利

アグスネット株式会社が運営しているaguse.jp
ウェブやメールのSPAM調査ができます。
http://www.aguse.jp/

0
1,134 views

rblsmtpd [ucspi-tcp]

ucspi-tcpパッケージのrblsmtpdのオプション紹介

rblsmtpdはRBL(Realtime Blackhole List)データベースを利用して
スパムメール送信者であるかを判断するプログラムです。

オプション

オプション 説明
-a address addressをアンチRBLデータベースとして利用
-b アドレスがRBLに掲載されている場合、エラーコード533553を返す
-B アドレスがRBLに掲載されている場合、エラーコード451エラーコードを返す(デフォルト)
-c RBLの検索に失敗した場合に接続を拒否
-r address addressをRBLデータベースとして利用
-t n n秒のタイムアウト値を設定

エラーコード533:STMPサーバが送信を拒否
エラーコード553:STMPサーバが送信を拒否
エラーコード451:要求された処理の実行中にエラーが発生したため、処理に失敗。(サーバ側のエラー)
※実際にはデフォルトで553が返されていました。→公式サイトで確認すると553で、私が参考にした書籍が533となっていました。
http://cr.yp.to/ucspi-tcp/rblsmtpd.html [英語]
続きを読む…»

0
2,062 views

Procmail レシピTips

Procmailにてレベルを定義し振り分けをおこなう方法と
ORによる条件判定の方法。

LEVEL=2

レベル2のとき適用

:0
* $LEVEL ?? 2
{
    # 逆引きできないホストを経由したメールの場合
    :0Hfw
    * ^Received: .*from.*unknown
    | formail -I "X-Spam-Flag: True"
}

続きを読む…»

0
1,885 views

エンベロープ【envelope】

エンベロープ(封筒)とは、電子メールメッセージの配送の際にメール本体に付加されるデータで、送信者と宛先の2つあります。
これはメールヘッダーに付加される情報とは異なり、実際の配送に使われる情報です。

送信者はMAIL FROM:、宛先はRCPT TO:となります。
ここに設定される情報は通常、メーラーでは見れないが、
メールヘッダーのReturn-Path:にMAIL FROM:の内容が、Received:にRCPT TO:の内容が記録されていることがあります。
エンベロープの送信者・宛先はメッセージの配送に使われる実際の送信者・宛先であり、ヘッダーに書かれているものとは異なる場合がある。つまりいくらでも詐称することが可能ということである。

0
1,348 views

procmail 送信元の取得

送信元メールアドレスの取得が不完全だったので、訂正します。
確かな情報を得るため、ヘッダーからではなく、エンベロープから取得するように。
オプションもいらないと思います。

訂正前

#送信元アドレスを変数$FROMに格納
#sedコマンドで表示名、スペース、<>を除去(無効)
:0fwH
* ^From: \/.*
{
    FROM = $MATCH
    #FROM = `echo $FROM | sed s/\".*\"//`
    #FROM = `echo $FROM | sed s/[[:space:]]//g`
    #FROM = `echo $FROM | sed s/\\<//g | sed s/\\>//g`
}

訂正後
※[]の中は^・半角スペース・タブです。

#送信元アドレスを変数$FROMに格納
:0
*$ ! ^From *\/[^     ]+
{
    FROM = `formail -x From:`
}
:0E
{
    FROM = $MATCH
}

Reply-To:・Sender:も取得する場合

#送信元アドレスを変数$FROMに格納
:0
*$ ! ^Reply-To: *\/[^  ].*
*$ ! ^Sender: *\/[^    ].*
*$ ! ^From *\/[^       ]+
{
    FROM = `formail -x From:`
}
:0E
{
    FROM = $MATCH
}

ドメインを取得する場合(@を含む)

:0
*$ ^From *\/[^     ]+
{
    # @以前を除去
    DOMAIN = `echo "$MATCH" | sed s/.*@/@/g`
}
0
2,349 views

procmailエラー

maillogにprocmailのエラーが出ていたのでメモ

エラー

procmail: Extraneous filter-flag ignored

原因

:0fwH
/dev/null

続きを読む…»

0
2,715 views

ブラックリストの作り方

環境:qmail+vpopmail+procmail

procmailを利用してブラックリストを作成します。
まず、適当なディレクトリに空のファイルを作成します。
(ここでは/usr/tmp/.blacklistとしています)

メールアドレスをブラックリストに追加するには、
件名に追加したいメールアドレス、本文に1行でパスワード(pw=00000000の形式)を
入力し、bl@example.jp宛に送信するようにしています。
送信元アドレスも指定されたドメインからのみに指定しています。

#/home/vpopmail/domains/example/bl/.procmailrc

SHELL=/bin/sh #ファイルに書き込むため必須
PATH=/bin:/usr/bin:/usr/local/bin
HOME=/home/vpopmail/domains/example/bl
MAILDIR=$HOME/Maildir
DEFAULT=$HOME/Maildir/
#LOGFILE=$MAILDIR/procmail.log
LOCKFILE=$MAILDIR/procmail.lock

# ブラックリストファイルのパス
BLACKLIST=/usr/tmp/.blacklist

# 送信元アドレスを判断
:0H
* ! ^From: .*@example.jp
/dev/null

# 本文中のパスワードをチェック
:0B
* ! ^(pw|Pw|pW|PW)=00000000
/dev/null

# 件名の有無をチェック([]内は^・半角スペース・タブ)
:0
*$ ! ^Subject: *\/[^ ].*
{
	ADDBL = `formail -x Subject:`
}

# 件名を変数に格納
:0E
{
	ADDBL = $MATCH
}

# 送信されたアドレスが既にブラックリストにあるかチェック
:0
* ? test -s $BLACKLIST
* ? echo "$ADDBL" | fgrep -iqwf $BLACKLIST
/dev/null

# ブラックリストに未登録なら追加
:0E
| echo $ADDBL >> $BLACKLIST && echo >> $BLACKLIST
# 色んなところで紹介されているのは、1行ずつ開けて登録するようになっているが
# 行が開いていなくても改行されていればいけるようなので以下でも可
| echo $ADDBL >> $BLACKLIST

続きを読む…»

0
2,776 views

PROCMAILレシピ2

レシピを共有化できないかと模索していたら、見つかったので記しておきます。

適当なディレクトリ(ここではetc)に共有するレシピを作成します。

#/etc/procmailrc
#環境変数の設定
PATH=/usr/bin:/usr/local/bin
MAILDIR=$HOME/Maildir
DEFAULT=$HOME/Maildir/
#LOGFILE=$MAILDIR/procmail.log #省略するとログを記録しない
LOCKFILE=$MAILDIR/procmail.lock

#空のヘッダーを削除
:0Hfw
| formail -z

#日本語メールのみ受け付ける
:0Hfw
* ! ^Content-Type: .*(iso-2022-jp|multipart/mixed;)
* ! ^Subject: .*(iso-2022-jp|utf-8|euc-jp|shift_jis)
* ! ^FROM_DAEMON
| formail -I "X-Spam-Flag: YES"
:0Hfw
* ^Content-Type: .*(US-ASC|iso-8859-1)
| formail -I "X-Spam-Flag: YES"

#容量制限:60MBまで
:0Hfw
* > 60000000
| formail -I "X-Spam-Flag: YES"

#よくあるスパムメールを除去
:0Hfw
* ^From: .*<(_|-)
| formail -I "X-Spam-Flag: YES"

#Fromがないもの
:0Hfw
* ! ^From: .*
| formail -I "X-Spam-Flag: YES"

#アドレス詐称対策
#Message-IDがなく宛先と送信元が自分自身のアドレスなら
#返す先がないので削除
:0Hfw
* ! ^Message-ID: .*
* $ ^To: .*$ME.*
* $ ^From: .*$ME.*
| formail -I "X-Spam-Flag: YES"

#送信元メールサーバーのDNS名前解決ができないとき
:0Hfw
* ^Received: .*from unknown
| formail -I "X-Spam-Flag: YES"

続きを読む…»

0
2,172 views