web-dev-qa-db-ja.com

スパムメールを送信するファイルの特定

クライアントwordpressウェブサイトの1つから費やされたスパムメールの原因を特定しようとしています。フォルダーを識別できますが、ファイルを識別できません。

Exim設定のlog_selectorに次を追加しました+address_rewrite +all_parents +arguments +connection_reject +delay_delivery +delivery_size +dnslist_defer +incoming_interface +incoming_port +lost_incoming_connection +queue_run +received_recipients +received_sender +retry_defer +sender_on_delivery +size_reject +skip_delivery +smtp_confirmation +smtp_connection +smtp_protocol_error +smtp_syntax_error +subject +tls_cipher +tls_peerdn

そして、grep cwd /var/log/exim_mainlog | grep -v /var/spool | awk -F"cwd=" '{print $2}' | awk '{print $1}' | sort | uniq -c | sort -nを実行します

これにより、どのフォルダがスパムを送信しているかがわかります。そのうちの1つは無効になったYoastプラグインで、これを更新して1つの問題を解決しました。ただし、Webサイトのカスタムプラグインは、1日に数10万件のスパムを送信していることも確認されています。

ディレクトリ内の各ファイルでgrep "file-name.php" /home/account-name/access-logs/domain.co.uk | awk '{print $1}' | sort -n | uniq -c | sort -nを実行しようとしましたが、結果が返されたのは1つだけで、これはexim_mainlogが表示する予想74,000のような、異なるIPによる少数の単一アクセスのみを示しました。

プラグインはマンドリルを使用してメールを送信する必要があり、引き継ぐ前に第三者によって作成されているため、スクリプトのデバッグには非常に長い時間がかかり、現在複数のブラックリストでサーバーをブラックリストに登録しています。

現時点では、少なくとも共有IP上の他のサイトをクリアできるように、サイトを独自のIPアドレスに交換しますが、問題の原因となっている問題のファイルを見つける必要があります。

問題のサーバーはcentos 5.xです。WHMとCpanelを実行していると思います

1
Chris Morris

https://github.com/mikestowe/Malicious-Code-Scanner から悪意のあるコードスキャナーを実行して、ハッキングの主な原因を検出することで、最終的にハッキングを発見しました。これにより、ハッキングされたファイルがphpとして実行される文字列を送信するポストリクエストを許可するように変更されたすべてのハエの90%が検出されました。

次に、未処理のアクセスログでcat example.co.uk | cut -d\" -f2 | awk '{print $1 " " $2}' | cut -d? -f1 | sort | uniq -c | sort -nを実行して、投稿要求が頻繁に送信されたファイルを見つけて、正しく検出されなかったファイルを追跡しました。

1
Chris Morris

PHPでは、mail()関数を使用して電子メールを送信します。

Linuxでは、wordpressがインストールされているルートフォルダー(おそらくドキュメントルート)に移動し、次のように入力します。

grep mail\( *.php

次に、フォルダー内のすべてのphpファイルを検索して、メールに一致するものを探します(そして、左端にリストされているファイル名は、一致するファイルです。メール機能が見つからない場合は、他のフォルダーに変更する必要があります。

1
Mike