セキュリティで保護されていないMySQL 'root' @ 'localhost'アカウントにリモートアクセスしますか?


8

少し背景:PBXシステムがハッキングされたところです。サーバー自体は安全なようです(ログに記録された無許可のコンソールアクセス-SSHなど)。しかし、どういうわけかハッカーは新しい管理ユーザーをPBXソフトウェア(FreePBX、MySQLに支えられている)に挿入できました。Apacheログは、ハッカーがWebインターフェース(またはWebインターフェースのエクスプロイト)を使用せずにユーザーを追加したことを示しています。

その後、MySQLがrootパスワードなしで実行されており(!!)、外部IPアドレスに公然とバインドされていることを発見しました(明らかに、これをロックしました)。ただし、MySQLで唯一のルートレベルのユーザーは'root'@'localhost'およびであり'root'@'127.0.0.1'、どちらもローカルでのみアクセス可能である必要があります。

だから、私の質問はこれです:

MySQLへの接続をスプーフィングして、リモートIPアドレスから 'root' @ 'localhost'ユーザーへの接続を許可し、ローカルで他のエクスプロイトを実行する方法はありますか?

参考までに、ボックスはMysql 5.0.95を実行するCentos 5(Linux 2.6.10)です。


ServerFaultに適しています-ここではトピック外です。
kapa

私は確信が持てませんでした-私の個人的な感じは、サーバーの構成/管理の問題ではなく、MySQLの潜在的なバグを悪用しようとすることよりも、ここにうまく収まる可能性があるということでした。人々が私がこれについて間違ったサイト/セクションにいると思った場合の謝罪。
TFk

2
実際には、おそらくsecurity.stackexchange.comに

1
「唯一のrootレベルのユーザーはroot @ localhostでした」と言いましたが、他のユーザーがいましたか?レコードを追加するのにルートレベルのユーザーは必要ありません。また、このようなFreePBXの脆弱性を探す必要があります。
マーカスアダムス

あなたのリンクのエクスプロイトは私のFreePBXバージョンでパッチされていますが、はい、私はFreePBXの脆弱性が最も可能性の高いエントリポイントであることに同意します。 。他のユーザーとの良い点-dbの他のユーザーはアスタリスクで、(デフォルトではない)パスワードを持っています。これがエントリポイントであった場合、これは(おそらくリリースされていない)FreePBXの脆弱性を再び指します。「ルートパスワードなし」は、文書化されていない新しいFreePBXエクスプロイトと比較して、非常に大きな穴のように見えました。したがって、私の質問/投稿。
TFk

回答:


1

番号。

MySQLは、ローカルシステムからアクセスしていない場合、localhostまたは127.0.0.1host仕様でユーザーにログインすることはありません。これは認証バイパスの脆弱性、CVE 2012-2122もカバーすることに注意してください。パスワードの比較はだまされるかもしれませんが、ホストの比較はそうではありません。

送信元ホストのチェックを「だます」ために、システム上でプロキシする必要があります。phpmyadminのようなもの、またはMySQL TCPポートの前で実行されているHAProxyのようなロードバランサーが思い浮かびます。


それは私が疑ったことです、つまり、空白のrootパスワードが悪いので、それはおそらくエクスプロイトではなかったのです。情報を得た意見を得るために常に良い-どうもありがとう。
TFk '19

2

名前rootはデフォルトで作成され、非常によく知られています。リテラル値rootは、MySQL特権システムでは重要ではありません。したがって、ユーザー名を続ける必要はありませんroot

rootユーザー名を別の名前に変更して、外部の世界が簡単に識別(推測)できないようにする必要があります。これにより、ハッキングの試行が減少します。

たとえば、root@ としてlocalhost知られているユーザーがいて、ハッカーが接続しようとする場合は、セキュリティを高めるためにadmin_db_name@のような特定のユーザーに変更する必要がありますlocalhost

Aborted_connects定期的に呼び出されるステータス変数を監視しRefusedて、MySQLサーバーへの接続を確認しますFlush status;。コマンドの後は0になり、それ以上増加しないでください。

「Aborted_connects」のようなステータスを表示します。


2

「何が不正アクセスをログに記録しない」ログインattempsに失敗含めますか?そうでない場合は、CVE 2012-2122である可能性があります。

[...] memcmp関数の特定の実装を備えた特定の環境で実行する場合、(MySQL)はリモートの攻撃者が同じ不正なパスワードで繰り返し認証することで認証をバイパスし、不適切なチェックによりトークンの比較が成功する原因となります戻り値。


「ログに記録された不正なアクセスがない」というのは、あいまいなほどあいまいでした。つまり、攻撃者がサーバーへのコンソールアクセス(SSH経由など)を取得できなかったことを意味します。また、Centosビルドは影響を受けないようですが(< community.rapid7.com/community/metasploit/blog/2012/06/11/…)、確かに私が探していたようなものです。
TFk
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.