サーバーで数日前にスパムの乱用を受信しました。念のため、SMTPポートをブロックして調査を開始しました。実行中のPerlプロセスを見つけました。使用していたスクリプトは削除されましたが、その内容は/proc/PID/fd/3
で見つかりました。ここにそのmd5があります:
server:~# md5sum spam_scipt
c97b6d65fe2e928f190ca4a8cf23747c spam_scipt
そのPerlスクリプトは、私のサーバーからスパムを送信するために使用されました。ドメイン生成アルゴリズムを使用して、スパムプロセスのステータスが送信されるドロップゾーンのURLを生成します。現時点で生成されているリンクを確認するために、スクリプトを変更しました。
server:~# Perl spam_scipt
wget version is 11
Set browser wget
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
Runned postfix found, use /usr/sbin/sendmail
Probe Host redacted.info
Go https://ibkxluxisp.redacted.info:1905//b/index.php?id=5cb885d577c7bbacdae44dd9f7f86b641ad60d58b1b9df07b97953a70376ec47&check=1
Generate Host ibkxluxisp.redacted.info:1905
https://ibkxluxisp.redacted.info:1905//b/index.php?id=5fb58ad575c14b08785ae5255ffbf83c9f561d18e961b2eb96dc5a058a41&version=18&sent=0&user=584e6388c671f38756eac21cec
そして2回目の試み:
server:~# Perl spam_scipt
wget version is 11
Set browser wget
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
Runned postfix found, use /usr/sbin/sendmail
Probe Host redacted.info
Go https://wodhvqubux.redacted.info:1905//b/index.php?id=5cb186d575c44b1e5174c7c111636063b338bc3ef4d46e4533036eded038a7&check=1
Generate Host wodhvqubux.redacted.info:1905
https://wodhvqubux.redacted.info:1905//b/index.php?id=5a497fe86dde12da162b6460bb8cd215966679ad7bf97338b9b6c2e741fe&version=18&sent=0&user=544c648ace7ff7834db9fadf36bdserver:~# ;
現在、サブドメインのみが変更されています。したがって、単純なpingの後で、ドロップゾーンのIPアドレスを取得します。
server:~# ping vodhvqubux.redacted.info
PING vodhvqubux.redacted.info (94.23.208.20) 56(84) bytes of data.
64 bytes from ns207415.ovh.net (94.23.208.20): icmp_seq=1 ttl=59 time=4.02 ms
^C
--- vodhvqubux.redacted.info ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 4.026/4.026/4.026/0.000 ms
これらの犯罪者はすでに同じIPアドレスで公開されています: http://forum.spamcop.net/forums/lofiversion/index.php/t12096.html http://www.jaguarpc.com /forums/general-hosting-network-support/26972-could-need-some-help-compromised-system-cannot-find-door.html
パスワードを知らなくても、ルートアクセスを使用してアップロードスクリプトを実行する方法がわかりません。そのPerlプロセスの環境は次のとおりです。
Shell=/bin/bash
SSH_CLIENT=xx.xx.xx.xx.xx 60480 220
USER=root
MAIL=/var/mail/root
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
PWD=/tmp
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=xxx.xxx.xxx.xxx 60480 xx.xx.xx.xx 220
_=/usr/bin/Nohup
OLDPWD=/root
多分それは役立ちます。すべてのソフトウェアをアップグレードし、サーバーを再起動しましたが、それは再び起こりました。また、access.log
にはsshログインのログはありません。
Perlスクリプト http://www.sendspace.com/file/xfrqtt
OVH DCからIPへの悪用を手助けすることはできますか?犯罪者のWebサイトは完璧に機能します。
サーバーがに感染しています。 クレンジングする必要があります。 fireを使用します。
ルートキットの主な機能は、目立たない場所に自分自身をインストールし、再起動やアップグレードに抵抗するために必要なものをすべて遮断することです。たとえば、カーネル自体にコードを追加し、システムコールをHijackが読み取り、カーネルファイルがアップグレードされた場合に自動的に再感染するようにします。
したがって、救いへの道は、システムを最初から完全に再インストールすることです。パーティションの再構築、ハードディスクのフォーマット、OSインストールCD/DVDの起動。 確実にする唯一の方法です 。
(実際には考えられ、ラボの条件で実証されていますが、一部のルートキットはマザーボードのファームウェア、またはキーボードを含む一部の周辺機器のファームウェアにインストールできます-そのようなファームウェアがソフトウェアから再フラッシュできる限り、理論的に脆弱ですサーバーがその深さまで侵害された可能性はかなり低いので、完全な再インストールで十分である可能性があります-実際の葬式火葬にエスカレートする必要はありません。)
トムが言ったように、あなたはルートキットを持っています。システムが危険にさらされています。既知の安全なファイルを使用して、最初からやり直す必要があります。システムユーティリティを信頼することはできず、ログを信頼することもできません。彼らがあなたのシステムに侵入しようとしたときに興味深いものを記録しなかったという意味ではありません(しかし、彼らのトラックをカバーしました)。ライブCDで起動し、データ(実行可能ファイルやスクリプトではなく)またはセキュリティ関連ファイル(/ etc/passwdやssh-keysなど)の読み取り専用バックアップを作成し、OSを再フォーマットして再インストールします。
私はそれがopensshの欠陥であることを心から疑っています(もしこれがあなたのサーバーだけでなく、世界中の何百万ものサーバーで起こっているとしたら)。これは、サーバー固有のセキュリティ上の欠陥である可能性が高いです。
たぶん、あなた(またはあなたのユーザーの1人)がパスワードを再利用していて、誰かがその方法でパスワードを傍受した可能性があります。たぶん、一部のユーザーがブルートフォースできる脆弱なパスワードを持っている(たとえば、一般的なパスワードディクショナリリストにある、またはディクショナリの単語と数字のような基本的なものである)か、悪意のあるユーザーにアカウントを与えました。たぶん、誰かがssh秘密鍵を保護する強力なパスフレーズを持たず、誰かがコピーを手に入れました。したがって、すべてのパスフレーズを変更し、承認済みの公開鍵を受け入れます。
または、悪意のあるアプリケーション/スクリプトまたは重大なセキュリティホールのあるアプリケーション/スクリプトをインストールした可能性があります。
Fail2ban(頻繁に失敗するログイン試行が遅くなる/ブロックされる)/ SELinuxまたはAppArmor(ユーザーに最小限のアクセス許可を与えるアクセス制御)/ tripwireまたはOSSEC(整合性チェックファイル)などの予防的なセキュリティ対策をインストールして、さらなる攻撃のリスクを減らします。攻撃されたときは、少なくともすぐに通知します。