Linux

ps aux 輸出中的 psbin/bash su

  • November 6, 2013

我有一個共享伺服器(由 bitnami 提供支持的 amazon ec2 micro)和一個 Web 應用程序(Wordpress),它最近表現出低性能(流量和使用量相對穩定)。我看到的 apache2/logs/access.log 中唯一可疑的行是形式

$ tail --lines=1000 /opt/bitnami/apache2/logs/access_log
93.120.84.31 - - [06/Nov/2013:03:02:54 +0000] "POST /cgi-bin/php-cgi?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%6E HTTP/1.1" 504 249

並在ps aux輸出

daemon   29369  0.0  0.2  17688  1500 ?        S    10:52   0:00 /bin/bash ./su 57.54
daemon   29377 30.5  0.0   1780   544 ?        R    10:52   3:14 ./ps 57.54 22

這些過程是什麼,如果這是一個

$$ known $$漏洞利用/漏洞,我該如何關閉它?我用Google搜尋了這個提及,但無法確定這是否適用於我的情況。 如果這個問題屬於其他 SE 網站,請在適當的地方幫我提問。

提前謝謝了!


更新

遵循@Ladadadada 的提示,結果如下。沒錯,就是入侵。伺服器停止,從每周備份重新啟動(所有數據庫和其他東西都在單獨的驅動器上,我希望沒有受到損害)並受到監控。 所有關於正在發生的事情以及如何在未來防止這種情況的建議都值得讚賞。

對於ps過程:

$ sudo ls -l /proc/30633/fd
total 0
lr-x------ 1 daemon daemon 64 2013-11-06 13:05 0 -> /dev/null
l-wx------ 1 daemon daemon 64 2013-11-06 13:05 1 -> pipe:[2010646]
l-wx------ 1 daemon daemon 64 2013-11-06 13:05 2 -> pipe:[1918347]
lr-x------ 1 daemon daemon 64 2013-11-06 13:05 255 -> /tmp/.ssh_auth/.b/.ssh_auth/.b/su
lr-x------ 1 daemon daemon 64 2013-11-06 13:05 3 -> /opt/bitnami/apache2/cgi-bin/php-cgi

對於/bin/bash su過程

$ sudo ls -l /proc/30641/fd | more
total 0
lr-x------ 1 daemon daemon 64 2013-11-06 13:04 0 -> /dev/null
l-wx------ 1 daemon daemon 64 2013-11-06 13:04 1 -> pipe:[2010646]
lrwx------ 1 daemon daemon 64 2013-11-06 13:04 10 -> socket:[5538939]
lrwx------ 1 daemon daemon 64 2013-11-06 13:04 100 -> socket:[5539029]
lrwx------ 1 daemon daemon 64 2013-11-06 13:04 101 -> socket:[5539030]
lr-x------ 1 daemon daemon 64 2013-11-06 13:04 3 -> /opt/bitnami/apache2/cgi-bin/php-cgi

還有很多。臨時文件夾的內容:

/tmp/.ssh_auth/.b/.ssh_auth/.b$ ll
total 1848
drwxr-xr-x 2 daemon daemon    4096 2013-11-06 13:04 ./
drwxr-xr-x 3 daemon daemon    4096 2013-11-06 01:34 ../
-rw-r--r-- 1 daemon daemon       0 2013-11-06 13:04 246.120.pscan.22
-rw-r--r-- 1 daemon daemon       0 2013-11-06 03:42 .a
-rwxr-xr-x 1 daemon daemon 1384518 2005-06-05 20:24 brute*
-rwxr-xr-x 1 daemon daemon    1161 2013-03-13 20:22 dns-pool*
-rwxr-xr-x 1 daemon daemon      73 2013-11-05 04:14 pass.txt*
-rwxr-xr-x 1 daemon daemon     154 2013-11-05 04:13 print*
-rwxr-xr-x 1 daemon daemon   16071 2012-08-12 16:19 ps*
-rwxr-xr-x 1 daemon daemon  453972 2011-03-21 15:15 ss*
-rwxr-xr-x 1 daemon daemon     520 2013-11-06 01:33 su*

更新 2

實例關閉後,亞馬遜瞬間獲勝:

Hello,
We have detected that your instance(s):
i-xxxxxxxx
have been behaving in the following way that is against our AWS Customer Agreement:
Port Scanning

訪問日誌中的那個長字元串是 URL 編碼並解碼為:

-d allow_url_include=on -d safe_mode=off -d suhosin.simulation=on -d disable_functions="" -d open_basedir=none -d auto_prepend_file=php://input -d cgi.force_redirect=0 -d cgi.redirect_status_env=0

在我看來,它傳遞了一堆選項來php-cgi關閉所有安全功能,例如禁止包括 URL、禁止某些功能和安全模式。它還允許在 STDIN 上傳遞 PHP 程式碼,這可能允許攻擊者簡單地提供要作為 POST 參數執行的程式碼。

這幾乎可以肯定是惡意的。

這種情況下的漏洞可能php-cgi位於 Web 可訪問目錄中和/或可以直接請求。


輸出中的兩行ps也很可疑。您可以通過查看文件系統來進一步調查它們/proc

sudo ls -l /proc/29377/fd

或者通過strace在 PID 上使用:

sudo strace -f -p 29377 -s400

輸出strace可能非常大且難以閱讀,但在其中發現任何垃圾郵件或網路連接嘗試應該不會太難。您可以使用-e trace=file或之類的選項來限制輸出-e trace=file,network


一旦您確定它惡意的並且您知道它們是如何進入的,您應該按照此問題中的說明進行事後清理。僅僅刪除您找到的文件是不夠的,因為攻擊者可以採取任何措施將自己隱藏在系統中。

引用自:https://serverfault.com/questions/551055