Matasanoはどのようにハッキングされましたか?


10

から:http : //seclists.org/fulldisclosure/2009/Jul/0388.html

http://news.ycombinator.com/item?id=723798の投稿から私がそれを最もよく理解している場合、Matasanoの連中はsshdをインターネットからアクセスできるようにしました-これに対する提案された解決策(プログラミングの観点から)?


ログが真である場合、それは公開されたサービスの構成の問題であり、プログラミングとは何の関係もありません。
blowdart 2009

回答:


34

Matasanoはどのようにハッキングされましたか?

投稿の情報から完全開示への回答は不可能です。しかし、彼らは少しの情報を与えるので、推測することは常に興味深いです-

#./th3_f1n4l_s0lut10n www.matasano.com
[-] 69.61.87.163:22に接続しています。
[/]有効な非rootユーザーを探しています.. adam
******** R3D4CT3D h4h4h4h4 ********

彼らは、th3_f1n41_s01ut10nsashポートに接続するMatasanoのサーバーに対してバイナリ「」を実行します。何らかの未知の方法で有効な非rootユーザーを見つけ、残りの出力は編集されます。

#./th3_f1n4l_s0lut10n -u adam -t 3 www.matasano.com
[*] 209.112.118.10:3338上のコネクトバックリスナー。
[!] SSH2_MSG_SERVICE_ACCEPT [OpenSSH_4.5p1、OpenSSL 0.9.8g 2007年10月19日] 

見つかったユーザー名を使用してバイナリが再度実行されます。このユーザー名は、ログインしてサーバーにポート3338で接続します(名前が登録されていないことを願っています...)。

adam_at_www:〜$ uname -a
Linux www 2.6.20.1-1-686#1 SMP Sun Mar 4 12:44:55 UTC 2007 i686 GNU / Linux
**** h4h4h4hh4h4h4 l3tz us3 m0r3!0D4Y!H4H4H4H4H4H4H4 ****

彼らは、このカーネルに対してゼロデイがあることを示唆している可能性があります。これは、この会社の在庫を考えるとかなり古いものです。

adam_at_www:〜$ cd / tmp
*********** B0R1NG ***********
root_at_www:〜#cat / etc / shadow 

おっと-突然、ユーザーがrootになりました。/ tmpにローカル特権エスカレーションエクスプロイトがあり、参照されている0日である可能性があります。

したがって、ここでは少なくとも2つのエクスプロイトが行われています。システムで有効な非rootユーザーを取得するOpenSSHエクスプロイトと、そのユーザーとしてログインしてから、ローカル権限の昇格です。

OpenSSHには、バージョン4.5以降、いくつかの既知のセキュリティ問題があることを考慮してください。

以下からのOpenSSHのセキュリティページ

  • バージョン5.2以前のOpenSSHは、CPNI-957037「SSHに対する平文回復攻撃」で説明されているプロトコルの脆弱性に対して脆弱です。ただし、入手できる情報が限られているため、この攻撃はほとんどの状況で実行不可能であるように見えます。詳細については、cbc.advアドバイザリとOpenSSH 5.2リリースノートを参照してください。
  • OpenSSH 4.9以降は~/.ssh/rc、sshd_config(5)ForceCommandディレクティブでコマンドがオーバーライドされたセッションでは実行されません。これは文書化されていますが、安全ではない動作です(OpenSSH 4.9リリースノートで説明)。
  • OpenSSH 4.7以降のリリースノートで説明されているように、(意図的なリソースの枯渇などにより)信頼できないCookieの生成に失敗した場合、OpenSSH 4.7以降は信頼できるX11認証Cookieの作成にフォールバックしません。

私はこの古いLinuxカーネルと古いSSHデーモンがそれらのためにしたと思います。また、インターネットで利用できるwwwサーバー上で実行されていました。これは私の意見ではかなり自信のあることです。侵入した人々は明らかに彼らを当惑させたがっていました。

これらの攻撃を防ぐ方法は?

これは予防的な管理によって防止できた可能性があります。インターネットに直接接続するサービスにパッチを適用し、どこからでも接続できるようにするのではなく、接続できる人の数を制限します。このエピソードは、セキュリティで保護されたシステム管理が困難であり、ITがパッチを適用するための時間を提供するためにビジネスからの献身を必要とするという教訓をさらに複雑にします。

完全なアプローチを使用するのが最適です。公開鍵認証、sshデーモンでのホワイトリスト、2要素認証、IP制限、および/またはすべてをVPNの背後に置くことは、それをロックダウンするための可能なルートです。

明日仕事で何をするかわかってると思います。:)


2
OpenSSH経由でログインするには、有効な公開鍵が必要です。だまされやすいわけではありませんが、役立ちます。良いポストところで。
Andrioid 2009

良い点、追加:)
Cawflands 2009

1
OpenSSHバージョン文字列は、さまざまなLinuxバージョンのバックポート修正により、脆弱性にパッチが適用されているかどうかについて、信頼できるガイドとはほど遠いことを指摘する価値があります。また、ここでのバグはどれも、かなり深刻な他の違反者がいなくてもユーザーがログインできるようにはなりません。
Cian、

3

人々はその上でFUDを作成するのが好きですが、ユーザーadamがすでにそこにいることを知っていて、パスワードも知っていたようです(ブルートフォースまたはその他の方法で)。しかし、彼らはかっこよく見え、この大騒ぎをいたるところに作りたがっています。

もう1つ興味深いのは、ユーザーadamが1年以上そのボックスにログインしていないことです。

(lastlogの出力)

 adam             pts/1    ool-4350ab48.dyn Sat Jul 26 20:45:18 -0400 2008

そのため、彼はおそらくそのパスワード(おそらく不正なパスワード)をしばらく保持していました。

* SSH経由でユーザー名を見つけるツールが本当にあれば、他のすべてのユーザーを使用してリモートアクセスを取得できた可能性がありますが、そのボックスでは最も一般的なユーザー名を使用しました(簡単に推測できます)。


2

プログラミングの観点からなぜこれを試して解決するのですか?

代わりに、スマートサーバー管理者の観点から解決する必要があります。ホワイトリストの使用など、投稿したリンクのコメントにはいくつかの素晴らしい提案があります。

ここでも追加したいと思います。あなたがここで質問しているので、あなたはおそらくセキュリティの専門家ではないでしょう。これは本当にプログラミングの問題ではありません。


1つの提案はホワイトリストでしたか?

これはまだプログラミングの問題ではなく、構成の問題です
blowdart '26 / 07/26


@Sneakyness私は決してセキュリティの専門家ではありません-しかし、指摘してくれてありがとう-私はこれらの質問をするので、学ぶことができます-そして、私が知りたいことについて書くことを妨げようとしてくれてありがとう-かどうかこれはプログラミングの問題か、プログラミングの問題ではない-答えるのはセキュリティの専門家に任せる-あなたが含まれる(私はあなたがあなたの教育のコメントに基づいていると仮定している)
user14898

2

ソフトウェアをゼロデイ攻撃から保護します...これは不可能です。

多分1つの良いアプローチは、あなたのソフトウェアがハッキングできないと主張することです。Oracle 10にはこの主張があり、翌日には9つの新しい穴が発見されました。現在は非常に安全です。

おそらく、ハッカーは完全に優れたソフトウェアの設定を悪用しました


私たちはこれがゼロ日でさえあったと思いますか?
Josh Brower、

2

そのマシンでシェルを使用しているユーザーが非常に多かったように思えます。それは彼らが確かに所有された方法です、他のすべては気を散らすことを意図した赤いニシンです。そのうちの1人は、おそらく他のシェルマシンでsshクライアントをバックドアしてしまい、ゲームオーバーとなりました。すべての人にシェルアカウントを与え、sshdの世界にアクセスできるようにするのは、怠惰で愚かです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.