mysql-slow-logsを参照して、潜在的な最適化を確認していましたが、その中に奇妙なスキーマがあることに気づきました(以下を参照)。
SELECT password, type FROM accounts AS a JOIN sys_users AS s ON (a.id = s.account_id) WHERE s.login='**DICTIONARY_USER_NAME_HERE**' AND (SELECT count(*) FROM hosting AS h WHERE h.sys_user_id = s.id) = 0 AND (SELECT count(*) FROM web_users AS w WHERE w.sys_user_id = s.id) = 0 AND (SELECT count(*) FROM ftp_users AS f WHERE f.sys_user_id = s.id) = 0;
さらに恐ろしいのは、これらのクエリがadmin @ localhost(Plesk MySQLユーザーに指定されている)から実行されることです。
チェックインしましたが、Pleskはパスワードの一部をプレーンテキストで保存しているようです。これらのクエリは、ログインを推測するための明白な辞書メソッドであるため、mysqlはプレーンテキストのパスワードで応答します。
要約すると
- admin@localhostと呼ばれるクエリ
- プレーンテキストのパスワードをplesks
攻撃のベクトルが何であるかはわかりませんが、いくつかのことを考慮に入れると、次のようになります。
- 攻撃者は管理者のパスワードを使用しなくなりました。そうしないと、辞書の代わりに正確なクエリを実行できます。
- 攻撃者は明らかにssh/リモートmysqlの実行を行っていません
- 異なるOS、異なる構成で実行され、コンテンツ(Webサイト/アプリまたは攻撃の可能性のあるベクトルとなる可能性のあるもの)が含まれているサーバーの両方で観察したので、おそらくpleskの障害です。
- 最も可能性が高いのは、攻撃者(この場合はボット)がPleskのセキュリティで保護されていないスクリプト(ログインを必要とせずにそのようなクエリを許可するスクリプト)を介してクエリを実行していることです。
今、私は完全に間違って状況を誤解している可能性があり、それはある種の完全に正常なPleskアクションです(私は疑っています)また奇妙なのは、この脆弱性についてGoogleで何も見つからなかったことです
いくつかの技術/ソフトの背景:
- VPS
- 1xCentOS 5 / 1xDebian(両方ともx64)
- PleskPanelv。10.4.4
誰かがその問題/攻撃に遭遇したこと、そしておそらく攻撃者を防ぐための何らかの解決策に遭遇したことを誰かが確認できれば、私は非常に素晴らしいでしょう-彼は最終的にログインを推測するかもしれませんが、まだそれを取得していません。
v。11へのアップグレードは今のところ議論の余地があります-VPSプロバイダーはまだそれを行うことができないと言いました、私はプロジェクトを他のVPSに移動することはできません、または少なくともそれほど速くはありません
よろしくお願いします、アダム